/
SimpleVarArgs.asm
158 lines (150 loc) · 7.2 KB
/
SimpleVarArgs.asm
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
Dump of file SimpleVarArgs.obj
File Type: COFF OBJECT
varargs:
0000000000000000: A9BD0FE2 stp x2,x3,[sp,#-0x30]!
0000000000000004: A90117E4 stp x4,x5,[sp,#0x10]
0000000000000008: A9021FE6 stp x6,x7,[sp,#0x20]
000000000000000C: A9BC7BFD stp fp,lr,[sp,#-0x40]!
0000000000000010: 910003FD mov fp,sp
0000000000000014: F9001BE0 str x0,[sp,#0x30]
0000000000000018: B90013E1 str w1,[sp,#0x10]
000000000000001C: 910103E8 add x8,sp,#0x40
0000000000000020: F9000FE8 str x8,[sp,#0x18]
0000000000000024: D2800009 mov x9,#0
0000000000000028: F9400FE8 ldr x8,[sp,#0x18]
000000000000002C: CB080128 sub x8,x9,x8
0000000000000030: 92400908 and x8,x8,#7
0000000000000034: 91002109 add x9,x8,#8
0000000000000038: F9400FE8 ldr x8,[sp,#0x18]
000000000000003C: 8B090108 add x8,x8,x9
0000000000000040: F9000FE8 str x8,[sp,#0x18]
0000000000000044: F9400FE8 ldr x8,[sp,#0x18]
0000000000000048: D1002108 sub x8,x8,#8
000000000000004C: 910083E9 add x9,sp,#0x20
0000000000000050: F9400108 ldr x8,[x8]
0000000000000054: F9000128 str x8,[x9]
0000000000000058: FD4013F0 ldr d16,[sp,#0x20]
000000000000005C: FD0017F0 str d16,[sp,#0x28]
0000000000000060: F94017E1 ldr x1,[sp,#0x28]
0000000000000064: 90000008 adrp x8,$SG6752
0000000000000068: 91000100 add x0,x8,$SG6752
000000000000006C: 94000000 bl printf
0000000000000070: D2800008 mov x8,#0
0000000000000074: F9000FE8 str x8,[sp,#0x18]
0000000000000078: A8C47BFD ldp fp,lr,[sp],#0x40
000000000000007C: 9100C3FF add sp,sp,#0x30
0000000000000080: D65F03C0 ret
0000000000000084: 00000000
call_S_D:
0000000000000088: A9BD7BFD stp fp,lr,[sp,#-0x30]!
000000000000008C: 910003FD mov fp,sp
0000000000000090: 1E671010 fmov d16,#24
0000000000000094: FD000BF0 str d16,[sp,#0x10]
0000000000000098: F9400BE2 ldr x2,[sp,#0x10]
000000000000009C: 52824681 mov w1,#0x1234
00000000000000A0: 910063E0 add x0,sp,#0x18
00000000000000A4: 94000000 bl varargs
00000000000000A8: A8C37BFD ldp fp,lr,[sp],#0x30
00000000000000AC: D65F03C0 ret
call_S_FFF:
00000000000000B0: A9BD7BFD stp fp,lr,[sp,#-0x30]!
00000000000000B4: 910003FD mov fp,sp
00000000000000B8: 1C0001D0 ldr s16,$LN3
00000000000000BC: BD0013F0 str s16,[sp,#0x10]
00000000000000C0: 1E271010 fmov s16,#24
00000000000000C4: BD0017F0 str s16,[sp,#0x14]
00000000000000C8: 1E251010 fmov s16,#12
00000000000000CC: BD001BF0 str s16,[sp,#0x18]
00000000000000D0: B9401BE3 ldr w3,[sp,#0x18]
00000000000000D4: F9400BE2 ldr x2,[sp,#0x10]
00000000000000D8: 528ACF01 mov w1,#0x5678
00000000000000DC: 910083E0 add x0,sp,#0x20
00000000000000E0: 94000000 bl varargs
00000000000000E4: A8C37BFD ldp fp,lr,[sp],#0x30
00000000000000E8: D65F03C0 ret
00000000000000EC: D503201F nop
$LN3:
00000000000000F0: 449A5000
00000000000000F4: 00000000
call_S_DDD:
00000000000000F8: A9BA7BFD stp fp,lr,[sp,#-0x60]!
00000000000000FC: 910003FD mov fp,sp
0000000000000100: 5C000250 ldr d16,$LN3
0000000000000104: FD0013F0 str d16,[sp,#0x20]
0000000000000108: 1E671010 fmov d16,#24
000000000000010C: FD0017F0 str d16,[sp,#0x28]
0000000000000110: 1E651010 fmov d16,#12
0000000000000114: FD001BF0 str d16,[sp,#0x30]
0000000000000118: FD401BF0 ldr d16,[sp,#0x30]
000000000000011C: FD002BF0 str d16,[sp,#0x50]
0000000000000120: FD4017F0 ldr d16,[sp,#0x28]
0000000000000124: FD0027F0 str d16,[sp,#0x48]
0000000000000128: FD4013F0 ldr d16,[sp,#0x20]
000000000000012C: FD0023F0 str d16,[sp,#0x40]
0000000000000130: 910103E2 add x2,sp,#0x40
0000000000000134: 528ACF01 mov w1,#0x5678
0000000000000138: 910043E0 add x0,sp,#0x10
000000000000013C: 94000000 bl varargs
0000000000000140: A8C67BFD ldp fp,lr,[sp],#0x60
0000000000000144: D65F03C0 ret
$LN3:
0000000000000148: 00000000
000000000000014C: 40934A00
main:
0000000000000150: 52800000 mov w0,#0
0000000000000154: D65F03C0 ret
__local_stdio_printf_options:
0000000000000000: 90000008 adrp x8,?_OptionsStorage@?1??__local_stdio_printf_options@@9@9
0000000000000004: 91000100 add x0,x8,?_OptionsStorage@?1??__local_stdio_printf_options@@9@9
0000000000000008: D65F03C0 ret
_vfprintf_l:
0000000000000000: A9BD7BFD stp fp,lr,[sp,#-0x30]!
0000000000000004: 910003FD mov fp,sp
0000000000000008: F90017E0 str x0,[sp,#0x28]
000000000000000C: F90013E1 str x1,[sp,#0x20]
0000000000000010: F9000FE2 str x2,[sp,#0x18]
0000000000000014: F9000BE3 str x3,[sp,#0x10]
0000000000000018: 94000000 bl __local_stdio_printf_options
000000000000001C: F9400BE4 ldr x4,[sp,#0x10]
0000000000000020: F9400FE3 ldr x3,[sp,#0x18]
0000000000000024: F94013E2 ldr x2,[sp,#0x20]
0000000000000028: F94017E1 ldr x1,[sp,#0x28]
000000000000002C: F9400000 ldr x0,[x0]
0000000000000030: 94000000 bl __stdio_common_vfprintf
0000000000000034: 2A0003E0 mov w0,w0
0000000000000038: 2A0003E0 mov w0,w0
000000000000003C: A8C37BFD ldp fp,lr,[sp],#0x30
0000000000000040: D65F03C0 ret
printf:
0000000000000000: D10103FF sub sp,sp,#0x40
0000000000000004: A9008BE1 stp x1,x2,[sp,#8]
0000000000000008: A90193E3 stp x3,x4,[sp,#0x18]
000000000000000C: A9029BE5 stp x5,x6,[sp,#0x28]
0000000000000010: F9001FE7 str x7,[sp,#0x38]
0000000000000014: A9BD7BFD stp fp,lr,[sp,#-0x30]!
0000000000000018: 910003FD mov fp,sp
000000000000001C: F90013E0 str x0,[sp,#0x20]
0000000000000020: 9100E3E8 add x8,sp,#0x38
0000000000000024: F9000FE8 str x8,[sp,#0x18]
0000000000000028: 52800020 mov w0,#1
000000000000002C: 94000000 bl __acrt_iob_func
0000000000000030: F9400FE3 ldr x3,[sp,#0x18]
0000000000000034: D2800002 mov x2,#0
0000000000000038: F94013E1 ldr x1,[sp,#0x20]
000000000000003C: 94000000 bl _vfprintf_l
0000000000000040: 2A0003E0 mov w0,w0
0000000000000044: B90013E0 str w0,[sp,#0x10]
0000000000000048: D2800008 mov x8,#0
000000000000004C: F9000FE8 str x8,[sp,#0x18]
0000000000000050: B94013E0 ldr w0,[sp,#0x10]
0000000000000054: A8C37BFD ldp fp,lr,[sp],#0x30
0000000000000058: 910103FF add sp,sp,#0x40
000000000000005C: D65F03C0 ret
Summary
68 .chks64
3 .data
A0 .debug$S
2F .drectve
30 .pdata
208 .text$mn
20 .xdata