Function at 0x4f0e70
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov ecx, dword [0x65260c]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0x22c]
cmp eax, dword [ecx + 8]
jbe 0x4f33be
sub esp, 0x2ac
lea eax, [0x526520]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov dword [esp + 0x26c], eax
nop
lea ecx, [0x523020]
mov dword [esp], ecx
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x2b0]
mov dword [eax], ecx
mov edx, dword [0x6526b0]
test edx, edx
jne 0x4f0ed9
mov edx, dword [esp + 0x2b4]
jmp 0x4f0ee7
call sym.runtime.gcWriteBarrier1
mov edx, dword [esp + 0x2b4]
mov dword [edi], edx
mov dword [esp + 0x248], eax
mov dword [eax + 4], edx
mov dword [eax + 8], 0
mov dword [eax + 0xc], 0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0
mov dword [eax + 0x18], 0xffffffff
mov dword [eax + 0x1c], 0x7fffffff
mov dword [eax + 0x20], 0xffffffff
mov dword [eax + 0x24], 0x7fffffff
lea ecx, [0x5134e0]
mov dword [esp], ecx
call sym.runtime.newobject
mov eax, dword [esp + 0x2b0]
mov ecx, dword [eax + 0x10]
mov edx, dword [esp + 4]
mov dword [esp + 0x2a8], edx
mov ebx, dword [esp + 0x2b4]
mov dword [esp], ebx
mov dword [esp + 8], 4
mov dword [esp + 0xc], 4
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0
call ecx
mov eax, dword [esp + 0x1c]
test eax, eax
jne 0x4f13d3
mov eax, dword [esp + 0x2a8]
movzx ecx, byte [eax + 3]
movzx edx, byte [eax + 2]
mov ebx, edx
shl edx, 8
or edx, ecx
movzx ebp, byte [eax + 1]
mov esi, ebp
shl ebp, 0x10
or edx, ebp
movzx eax, byte [eax]
mov ebp, eax
shl eax, 0x18
or eax, edx
mov edx, eax
and eax, 0xfffffffe
shl esi, 8
or ebp, esi
shl ebx, 0x10
or ebp, ebx
shl ecx, 0x18
nop
nop
or ecx, ebp
cmp eax, 0xfeedface
jne 0x4f0ffd
lea eax, [0x55ee38]
mov ecx, dword [esp + 0x26c]
mov dword [ecx + 0x1c], eax
mov eax, dword [0x6526b0]
test eax, eax
je 0x4f0ff0
mov eax, dword [ecx + 0x20]
call sym.runtime.gcWriteBarrier1
mov dword [edi], eax
lea eax, [0x6524e0]
mov dword [ecx + 0x20], eax
mov dword [ecx], edx
jmp 0x4f103f
mov eax, ecx
and ecx, 0xfffffffe
cmp ecx, 0xfeedface
jne 0x4f137d
lea ecx, [0x55ee0c]
mov edx, dword [esp + 0x26c]
mov dword [edx + 0x1c], ecx
mov ecx, dword [0x6526b0]
test ecx, ecx
je 0x4f1032
mov ecx, dword [edx + 0x20]
call sym.runtime.gcWriteBarrier1
mov dword [edi], ecx
lea ecx, [0x6524e0]
mov dword [edx + 0x20], ecx
mov dword [edx], eax
mov ecx, edx
mov eax, dword [ecx + 0x1c]
mov edx, dword [ecx + 0x20]
lea ebx, [0x55e958]
mov dword [esp], ebx
mov ebx, dword [esp + 0x248]
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
lea eax, [0x50fe00]
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], ecx
call sym.encoding_binary.Read
mov eax, dword [esp + 0x18]
test eax, eax
jne 0x4f1359
mov eax, dword [esp + 0x26c]
cmp dword [eax], 0xfeedfacf
jne 0x4f1096
mov ecx, 0x20
jmp 0x4f109b
mov ecx, 0x1c
mov dword [esp + 0x16c], ecx
mov edx, dword [eax + 0x14]
mov ebx, dword [esp + 0x2b0]
mov dword [esp], ebx
mov ebp, dword [esp + 0x2b4]
mov dword [esp + 4], ebp
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], 0
call sym.internal_saferio.ReadDataAt
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x20]
test eax, eax
jne 0x4f1335
mov dword [esp + 0x210], edx
mov dword [esp + 0x218], ebx
mov dword [esp + 0x274], ecx
xor eax, eax
test al, al
je 0x4f1113
mov eax, dword [esp + 0x26c]
jmp 0x4f1126
mov eax, dword [esp + 0x26c]
mov ebp, dword [eax + 0x10]
mov esi, ebp
sar ebp, 0x1f
test ebp, ebp
je 0x4f1130
mov ebp, 0xffffffff
jmp 0x4f1221
mov dword [esp + 0x23c], esi
mov dword [esp], 0xffffffff
mov dword [esp + 4], 0xffffffff
mov dword [esp + 8], 8
mov dword [esp + 0xc], 0
call sym.runtime.uint64div
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x23c]
cmp dword [esp + 0x10], ecx
setb dl
test eax, eax
sete al
and edx, eax
test dl, dl
je 0x4f119e
mov eax, dword [esp + 0x26c]
mov ecx, dword [esp + 0x274]
mov edx, dword [esp + 0x210]
mov ebx, dword [esp + 0x218]
mov ebp, 0xffffffff
jmp 0x4f1221
mov eax, ecx
shr ecx, 0x1d
mov edx, eax
shl eax, 3
test ecx, ecx
seta cl
sete bl
cmp eax, 0xa00000
seta al
and ebx, eax
or ebx, ecx
test bl, bl
je 0x4f1203
mov dword [esp], 0xa00000
mov dword [esp + 4], 0
mov dword [esp + 8], 8
mov dword [esp + 0xc], 0
call sym.runtime.uint64div
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
test ecx, ecx
sete cl
test eax, eax
sete dl
and ecx, edx
test cl, cl
je 0x4f1201
mov eax, 1
mov edx, eax
mov eax, dword [esp + 0x26c]
mov ecx, dword [esp + 0x274]
mov ebx, dword [esp + 0x218]
mov ebp, edx
mov edx, dword [esp + 0x210]
test ebp, ebp
jl 0x4f12cf
mov dword [esp + 0x40], ebp
lea eax, [0x518b20]
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], ebp
call sym.runtime.makeslice
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x26c]
mov dword [ecx + 0x28], 0
mov edx, dword [esp + 0x40]
mov dword [ecx + 0x2c], edx
mov edx, dword [0x6526b0]
test edx, edx
je 0x4f1277
call sym.runtime.gcWriteBarrier2
mov dword [edi], eax
mov edx, dword [ecx + 0x24]
mov dword [edi + 4], edx
mov dword [ecx + 0x24], eax
mov eax, dword [ecx + 0x1c]
mov dword [esp + 0x21c], eax
mov ebp, dword [ecx + 0x20]
mov dword [esp + 0x278], ebp
mov esi, dword [esp + 0x16c]
mov edx, dword [esp + 0x210]
mov ebx, dword [esp + 0x218]
mov edi, dword [esp + 0x274]
mov dword [esp + 0x220], eax
xor eax, eax
mov dword [esp + 0x17c], eax
xor eax, eax
mov dword [esp + 0x170], eax
mov eax, dword [esp + 0x220]
jmp 0x4f1442
lea eax, [0x520140]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x16c]
mov dword [eax], ecx
mov dword [eax + 4], 0
mov dword [eax + 0xc], 0x16
lea ecx, [0x535fb3]
mov dword [eax + 8], ecx
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0
mov dword [esp + 0x2b8], 0
lea ecx, [0x55e9bc]
mov dword [esp + 0x2bc], ecx
mov dword [esp + 0x2c0], eax
add esp, 0x2ac
ret
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x2b8], 0
mov dword [esp + 0x2bc], eax
mov dword [esp + 0x2c0], ecx
add esp, 0x2ac
ret
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x2b8], 0
mov dword [esp + 0x2bc], eax
mov dword [esp + 0x2c0], ecx
add esp, 0x2ac
ret
lea eax, [0x520140]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov dword [eax + 0xc], 0x14
lea ecx, [0x535221]
mov dword [eax + 8], ecx
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0
mov dword [esp + 0x2b8], 0
lea ecx, [0x55e9bc]
mov dword [esp + 0x2bc], ecx
mov dword [esp + 0x2c0], eax
add esp, 0x2ac
ret
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x2b8], 0
mov dword [esp + 0x2bc], eax
mov dword [esp + 0x2c0], ecx
add esp, 0x2ac
ret
mov eax, dword [esp + 0x17c]
inc eax
mov ebx, dword [esp + 0x26c]
mov esi, dword [esp + 0x278]
mov edi, dword [esp + 0x21c]
mov ecx, ebx
mov ebp, esi
mov dword [esp + 0x17c], eax
mov edi, dword [esp + 0x288]
mov ebx, dword [esp + 0x238]
mov edx, dword [esp + 0x210]
mov esi, dword [esp + 0x16c]
mov eax, dword [esp + 0x21c]
mov dword [esp + 0x16c], esi
mov esi, dword [esp + 0x17c]
cmp dword [ecx + 0x10], esi
jbe 0x4f2e28
cmp edx, 8
jl 0x4f2dbf
mov dword [esp + 0x274], edi
mov dword [esp + 0x218], ebx
mov dword [esp + 0x210], edx
mov ecx, dword [eax + 0x24]
mov dword [esp], ebp
mov dword [esp + 4], edi
mov dword [esp + 8], 4
mov dword [esp + 0xc], ebx
call ecx
mov eax, dword [esp + 0x21c]
mov ecx, dword [eax + 0x24]
mov edx, dword [esp + 0x218]
lea ebx, [edx - 4]
mov ebp, dword [esp + 0x274]
lea esi, [ebp + 4]
mov edi, dword [esp + 0x10]
mov dword [esp + 0x23c], edi
mov eax, dword [esp + 0x278]
mov dword [esp], eax
mov dword [esp + 4], esi
mov dword [esp + 8], 4
mov dword [esp + 0xc], ebx
call ecx
mov eax, dword [esp + 0x10]
cmp eax, 8
jb 0x4f2d56
mov ecx, dword [esp + 0x210]
cmp ecx, eax
jb 0x4f2d56
mov dword [esp + 0x4c], eax
mov edx, dword [esp + 0x218]
mov ebx, edx
sub edx, eax
mov dword [esp + 0x238], edx
neg edx
sar edx, 0x1f
and edx, eax
mov esi, dword [esp + 0x274]
add edx, esi
mov dword [esp + 0x288], edx
sub ecx, eax
mov dword [esp + 0x210], ecx
mov ecx, dword [esp + 0x16c]
add ecx, eax
mov dword [esp + 0x16c], ecx
mov ecx, dword [esp + 0x170]
adc ecx, 0
mov dword [esp + 0x170], ecx
mov ecx, dword [esp + 0x23c]
cmp ecx, 0xb
ja 0x4f1e68
cmp ecx, 1
je 0x4f1bf6
cmp ecx, 2
je 0x4f1919
cmp ecx, 0xb
jne 0x4f1e86
lea edi, [esp + 0x180]
xor eax, eax
call fcn.00463e3c
nop
lea ecx, [0x51e640]
mov dword [esp], ecx
call sym.runtime.newobject
mov ecx, dword [esp + 4]
mov edx, dword [esp + 0x4c]
mov dword [ecx + 4], edx
mov ebx, dword [esp + 0x218]
mov dword [ecx + 8], ebx
mov ebp, dword [0x6526b0]
test ebp, ebp
jne 0x4f15b7
mov eax, dword [esp + 0x274]
jmp 0x4f15c5
call sym.runtime.gcWriteBarrier1
mov eax, dword [esp + 0x274]
mov dword [edi], eax
mov dword [ecx], eax
mov dword [ecx + 0xc], 0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0xffffffff
lea edx, [0x55e96c]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x21c]
mov dword [esp + 8], ecx
mov ebx, dword [esp + 0x278]
mov dword [esp + 0xc], ebx
lea ebp, [0x50fd00]
mov dword [esp + 0x10], ebp
lea esi, [esp + 0x180]
mov dword [esp + 0x14], esi
call sym.encoding_binary.Read
mov eax, dword [esp + 0x18]
test eax, eax
jne 0x4f2ad4
mov eax, dword [esp + 0x26c]
mov ecx, dword [eax + 0x3c]
test ecx, ecx
je 0x4f2a6b
mov edx, dword [esp + 0x198]
mov ecx, dword [ecx + 0x28]
mov dword [esp + 0x234], ecx
cmp edx, ecx
ja 0x4f2923
mov ebx, dword [esp + 0x19c]
add edx, ebx
cmp ecx, edx
jb 0x4f27d4
mov eax, dword [esp + 0x1bc]
mov ecx, eax
shl eax, 2
shr ecx, 0x1e
mov edx, dword [esp + 0x1b8]
mov ebx, dword [esp + 0x2b0]
mov dword [esp], ebx
mov ebp, dword [esp + 0x2b4]
mov dword [esp + 4], ebp
mov dword [esp + 8], eax
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], 0
call sym.internal_saferio.ReadDataAt
mov eax, dword [esp + 0x24]
test eax, eax
jne 0x4f27b0
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x20c], eax
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x214], ecx
mov edx, dword [esp + 0x1bc]
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x270], ebx
lea ebp, [0x5154e0]
mov dword [esp], ebp
mov dword [esp + 4], edx
mov dword [esp + 8], edx
call sym.runtime.makeslice
mov eax, dword [esp + 0xc]
mov dword [esp + 0x284], eax
mov ecx, dword [esp + 0x1bc]
mov dword [esp + 0x23c], ecx
lea edx, [0x51e640]
mov dword [esp], edx
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x20c]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x214]
mov dword [eax + 8], ecx
mov ecx, dword [0x6526b0]
test ecx, ecx
jne 0x4f1741
mov ecx, dword [esp + 0x270]
jmp 0x4f174f
call sym.runtime.gcWriteBarrier1
mov ecx, dword [esp + 0x270]
mov dword [edi], ecx
mov dword [eax], ecx
mov dword [eax + 0xc], 0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xffffffff
mov ecx, dword [esp + 0x284]
mov dword [esp + 0x28c], ecx
mov edx, dword [esp + 0x23c]
mov dword [esp + 0x290], edx
mov dword [esp + 0x294], edx
lea ebx, [0x55e96c]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov eax, dword [esp + 0x21c]
mov dword [esp + 8], eax
mov ebp, dword [esp + 0x278]
mov dword [esp + 0xc], ebp
lea esi, [0x511280]
mov dword [esp + 0x10], esi
lea edi, [esp + 0x28c]
mov dword [esp + 0x14], edi
call sym.encoding_binary.Read
mov eax, dword [esp + 0x18]
test eax, eax
jne 0x4f278c
lea eax, [0x5227a0]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x4c]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x218]
mov dword [eax + 8], ecx
mov ecx, dword [0x6526b0]
test ecx, ecx
jne 0x4f1808
mov ecx, dword [esp + 0x274]
jmp 0x4f1816
call sym.runtime.gcWriteBarrier1
mov ecx, dword [esp + 0x274]
mov dword [edi], ecx
mov dword [eax], ecx
lea edi, [eax + 0xc]
lea esi, [esp + 0x180]
call fcn.00464298
mov ecx, dword [esp + 0x23c]
mov dword [eax + 0x60], ecx
mov dword [eax + 0x64], ecx
mov ecx, dword [0x6526b0]
test ecx, ecx
jne 0x4f1847
mov ecx, dword [esp + 0x284]
jmp 0x4f185b
call sym.runtime.gcWriteBarrier2
mov ecx, dword [esp + 0x284]
mov dword [edi], ecx
mov edx, dword [eax + 0x5c]
mov dword [edi + 4], edx
mov dword [eax + 0x5c], ecx
mov ecx, dword [esp + 0x26c]
mov edx, dword [ecx + 0x2c]
mov ebx, dword [ecx + 0x28]
inc ebx
mov ebp, dword [ecx + 0x24]
cmp edx, ebx
jae 0x4f18de
mov dword [esp + 0x250], eax
mov dword [esp], ebp
mov dword [esp + 4], ebx
mov dword [esp + 8], edx
mov dword [esp + 0xc], 1
lea eax, [0x518b20]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x26c]
mov dword [ebx + 0x2c], eax
mov eax, dword [0x6526b0]
test eax, eax
je 0x4f18c9
call sym.runtime.gcWriteBarrier2
mov dword [edi], ecx
mov eax, dword [ebx + 0x24]
mov dword [edi + 4], eax
mov dword [ebx + 0x24], ecx
mov eax, dword [esp + 0x250]
mov ebx, edx
mov ebp, ecx
mov ecx, dword [esp + 0x26c]
mov dword [ecx + 0x28], ebx
lea edx, [ebp + ebx*8 - 8]
lea esi, [0x55ea20]
mov dword [edx], esi
mov edx, dword [0x6526b0]
lea ebx, [ebp + ebx*8 - 4]
test edx, edx
je 0x4f190d
call sym.runtime.gcWriteBarrier3
mov dword [edi], eax
mov edx, dword [ebx]
mov dword [edi + 4], edx
mov edx, dword [ecx + 0x40]
mov dword [edi + 8], edx
mov dword [ebx], eax
mov dword [ecx + 0x40], eax
xor eax, eax
jmp 0x4f2627
lea edi, [esp + 0x1d0]
xor eax, eax
call fcn.00463e4a
nop
lea ecx, [0x51e640]
mov dword [esp], ecx
call sym.runtime.newobject
mov ecx, dword [esp + 4]
mov edx, dword [esp + 0x4c]
mov dword [ecx + 4], edx
mov ebx, dword [esp + 0x218]
mov dword [ecx + 8], ebx
mov ebp, dword [0x6526b0]
test ebp, ebp
jne 0x4f195e
mov eax, dword [esp + 0x274]
jmp 0x4f196c
call sym.runtime.gcWriteBarrier1
mov eax, dword [esp + 0x274]
mov dword [edi], eax
mov dword [ecx], eax
mov dword [ecx + 0xc], 0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0xffffffff
lea edx, [0x55e96c]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x21c]
mov dword [esp + 8], ecx
mov ebx, dword [esp + 0x278]
mov dword [esp + 0xc], ebx
lea ebp, [0x50fc80]
mov dword [esp + 0x10], ebp
lea esi, [esp + 0x1d0]
mov dword [esp + 0x14], esi
call sym.encoding_binary.Read
mov eax, dword [esp + 0x18]
test eax, eax
jne 0x4f2b64
mov eax, dword [esp + 0x1e4]
mov ecx, dword [esp + 0x1e0]
mov edx, dword [esp + 0x2b0]
mov dword [esp], edx
mov ebx, dword [esp + 0x2b4]
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], 0
call sym.internal_saferio.ReadDataAt
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x20]
test eax, eax
jne 0x4f2b40
mov dword [esp + 0x48], ebx
mov dword [esp + 0x44], edx
mov dword [esp + 0x24c], ecx
mov ebp, dword [esp + 0x26c]
cmp dword [ebp], 0xfeedfacf
jne 0x4f1a4a
mov eax, 0x10
jmp 0x4f1a4f
mov eax, 0xc
mov ecx, dword [esp + 0x1dc]
mov edx, eax
mov eax, ecx
mov ebx, edx
mul edx
sar ebx, 0x1f
imul ecx, ebx
add ecx, edx
mov edx, dword [esp + 0x1d8]
mov ebx, dword [esp + 0x2b0]
mov dword [esp], ebx
mov ebp, dword [esp + 0x2b4]
mov dword [esp + 4], ebp
mov dword [esp + 8], eax
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], 0
call sym.internal_saferio.ReadDataAt
mov ecx, dword [esp + 0x24]
test ecx, ecx
jne 0x4f2b1c
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
mov ebx, dword [esp + 0x26c]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
mov eax, dword [esp + 0x24c]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x274]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x218]
mov dword [esp + 0x24], eax
lea eax, [esp + 0x1d0]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x16c]
mov dword [esp + 0x2c], eax
mov ecx, dword [esp + 0x170]
mov dword [esp + 0x30], ecx
call sym.debug_macho._File_.parseSymtab
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x34]
test eax, eax
jne 0x4f2af8
mov eax, dword [esp + 0x26c]
mov edx, dword [eax + 0x2c]
mov ebx, dword [eax + 0x28]
inc ebx
mov ebp, dword [eax + 0x24]
cmp edx, ebx
jae 0x4f1bb3
mov dword [esp + 0x254], ecx
mov dword [esp], ebp
mov dword [esp + 4], ebx
mov dword [esp + 8], edx
mov dword [esp + 0xc], 1
lea eax, [0x518b20]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x26c]
mov dword [ebx + 0x2c], eax
mov eax, dword [0x6526b0]
test eax, eax
je 0x4f1ba3
call sym.runtime.gcWriteBarrier2
mov dword [edi], ecx
mov eax, dword [ebx + 0x24]
mov dword [edi + 4], eax
mov dword [ebx + 0x24], ecx
mov eax, ebx
mov ebx, edx
mov ebp, ecx
mov ecx, dword [esp + 0x254]
mov dword [eax + 0x28], ebx
lea edx, [ebp + ebx*8 - 8]
lea esi, [0x55ea0c]
mov dword [edx], esi
mov edx, dword [0x6526b0]
lea ebx, [ebp + ebx*8 - 4]
test edx, edx
je 0x4f1be2
call sym.runtime.gcWriteBarrier3
mov dword [edi], ecx
mov edx, dword [ebx]
mov dword [edi + 4], edx
mov edx, dword [eax + 0x3c]
mov dword [edi + 8], edx
mov dword [ebx], ecx
mov dword [eax + 0x3c], ecx
mov ecx, eax
lea esi, [0x55ea20]
xor eax, eax
jmp 0x4f2627
lea edi, [esp + 0x12c]
xor eax, eax
call fcn.00463e42
nop
lea ecx, [0x51e640]
mov dword [esp], ecx
call sym.runtime.newobject
mov ecx, dword [esp + 4]
mov edx, dword [esp + 0x4c]
mov dword [ecx + 4], edx
mov ebx, dword [esp + 0x218]
mov dword [ecx + 8], ebx
mov ebp, dword [0x6526b0]
test ebp, ebp
jne 0x4f1c3b
mov eax, dword [esp + 0x274]
jmp 0x4f1c49
call sym.runtime.gcWriteBarrier1
mov eax, dword [esp + 0x274]
mov dword [edi], eax
mov dword [esp + 0x244], ecx
mov dword [ecx], eax
mov dword [ecx + 0xc], 0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0xffffffff
lea edx, [0x55e96c]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov ebx, dword [esp + 0x21c]
mov dword [esp + 8], ebx
mov ebp, dword [esp + 0x278]
mov dword [esp + 0xc], ebp
lea esi, [0x50ffc0]
mov dword [esp + 0x10], esi
lea edi, [esp + 0x12c]
mov dword [esp + 0x14], edi
call sym.encoding_binary.Read
mov eax, dword [esp + 0x18]
test eax, eax
jne 0x4f2b88
lea eax, [0x525b20]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x4c]
mov dword [eax + 4], ecx
mov edx, dword [esp + 0x218]
mov dword [eax + 8], edx
mov edx, dword [0x6526b0]
test edx, edx
jne 0x4f1ce6
mov edx, dword [esp + 0x274]
jmp 0x4f1cf4
call sym.runtime.gcWriteBarrier1
mov edx, dword [esp + 0x274]
mov dword [edi], edx
mov dword [esp + 0x260], eax
mov dword [eax], edx
mov dword [eax + 0xc], 1
mov dword [eax + 0x10], ecx
lea ecx, [esp + 0x134]
mov dword [esp], ecx
mov dword [esp + 4], 0x10
mov dword [esp + 8], 0x10
call sym.debug_macho.cstring
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x260]
mov dword [edx + 0x18], eax
mov eax, dword [0x6526b0]
test eax, eax
je 0x4f1d4f
call sym.runtime.gcWriteBarrier2
mov dword [edi], ecx
mov ebx, dword [edx + 0x14]
mov dword [edi + 4], ebx
mov dword [edx + 0x14], ecx
mov ecx, dword [esp + 0x144]
mov dword [edx + 0x1c], ecx
mov dword [edx + 0x20], 0
mov ecx, dword [esp + 0x148]
mov dword [edx + 0x24], ecx
mov dword [edx + 0x28], 0
mov ecx, dword [esp + 0x14c]
mov dword [edx + 0x2c], ecx
mov dword [edx + 0x30], 0
mov ecx, dword [esp + 0x150]
mov dword [edx + 0x34], ecx
mov dword [edx + 0x38], 0
mov ecx, dword [esp + 0x154]
mov dword [edx + 0x3c], ecx
mov ecx, dword [esp + 0x158]
mov dword [edx + 0x40], ecx
mov ecx, dword [esp + 0x15c]
mov dword [edx + 0x44], ecx
mov ecx, dword [esp + 0x160]
mov dword [edx + 0x48], ecx
mov ecx, dword [esp + 0x26c]
mov ebx, dword [ecx + 0x2c]
mov ebp, dword [ecx + 0x28]
inc ebp
mov esi, dword [ecx + 0x24]
cmp ebx, ebp
jae 0x4f1e32
mov dword [esp], esi
mov dword [esp + 4], ebp
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
lea eax, [0x518b20]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x26c]
mov dword [ebx + 0x2c], eax
mov eax, dword [0x6526b0]
test eax, eax
je 0x4f1e22
call sym.runtime.gcWriteBarrier2
mov dword [edi], ecx
mov ebp, dword [ebx + 0x24]
mov dword [edi + 4], ebp
mov dword [ebx + 0x24], ecx
mov ebp, edx
mov esi, ecx
mov ecx, ebx
mov edx, dword [esp + 0x260]
mov dword [ecx + 0x28], ebp
lea ebx, [esi + ebp*8 - 8]
mov eax, ecx
lea ecx, [0x55e8a4]
mov dword [ebx], ecx
mov ebx, dword [0x6526b0]
lea ebp, [esi + ebp*8 - 4]
test ebx, ebx
je 0x4f1e5e
call sym.runtime.gcWriteBarrier2
mov dword [edi], edx
mov ebx, dword [ebp]
mov dword [edi + 4], ebx
mov dword [ebp], edx
xor ebx, ebx
jmp 0x4f31c3
cmp ecx, 0xc
je 0x4f23ef
cmp ecx, 0x19
je 0x4f2171
cmp ecx, 0x8000001c
je 0x4f1f4d
mov dword [esp], esi
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
call sym.runtime.convTslice
mov eax, dword [esp + 0x26c]
mov ecx, dword [eax + 0x2c]
mov edx, dword [eax + 0x28]
inc edx
mov ebx, dword [eax + 0x24]
mov ebp, dword [esp + 0xc]
cmp ecx, edx
jae 0x4f1f13
mov dword [esp + 0x284], ebp
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x518b20]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x26c]
mov dword [ebx + 0x2c], eax
mov eax, dword [0x6526b0]
test eax, eax
je 0x4f1f05
call sym.runtime.gcWriteBarrier2
mov dword [edi], ecx
mov eax, dword [ebx + 0x24]
mov dword [edi + 4], eax
mov dword [ebx + 0x24], ecx
mov eax, ebx
mov ebp, dword [esp + 0x284]
mov ebx, ecx
mov dword [eax + 0x28], edx
lea ecx, [ebx + edx*8 - 8]
lea esi, [0x55e9d0]
mov dword [ecx], esi
mov ecx, dword [0x6526b0]
lea edx, [ebx + edx*8 - 4]
test ecx, ecx
je 0x4f1f3c
call sym.runtime.gcWriteBarrier2
mov dword [edi], ebp
mov ecx, dword [edx]
mov dword [edi + 4], ecx
mov dword [edx], ebp
mov ecx, eax
lea esi, [0x55ea20]
xor eax, eax
jmp 0x4f2627
mov dword [esp + 0x200], 0
mov dword [esp + 0x204], 0
mov dword [esp + 0x208], 0
nop
lea eax, [0x51e640]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x4c]
mov dword [eax + 4], ecx
mov edx, dword [esp + 0x218]
mov dword [eax + 8], edx
mov ebx, dword [0x6526b0]
test ebx, ebx
jne 0x4f1fa5
mov ebx, dword [esp + 0x274]
jmp 0x4f1fb3
call sym.runtime.gcWriteBarrier1
mov ebx, dword [esp + 0x274]
mov dword [edi], ebx
mov dword [eax], ebx
mov dword [eax + 0xc], 0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xffffffff
lea ecx, [0x55e96c]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov eax, dword [esp + 0x21c]
mov dword [esp + 8], eax
mov edx, dword [esp + 0x278]
mov dword [esp + 0xc], edx
lea ebp, [0x50ff00]
mov dword [esp + 0x10], ebp
lea esi, [esp + 0x200]
mov dword [esp + 0x14], esi
call sym.encoding_binary.Read
mov eax, dword [esp + 0x18]
test eax, eax
jne 0x4f2c4b
lea eax, [0x520e40]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 0x208]
mov ecx, dword [esp + 0x4c]
cmp eax, ecx
jae 0x4f2bac
mov edx, dword [esp + 4]
mov dword [esp + 0x268], edx
mov ebx, dword [esp + 0x218]
sub ebx, eax
mov esi, ebx
neg ebx
sar ebx, 0x1f
and ebx, eax
mov edi, dword [esp + 0x274]
add ebx, edi
mov dword [esp], ebx
sub ecx, eax
mov dword [esp + 4], ecx
mov dword [esp + 8], esi
call sym.debug_macho.cstring
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x268]
mov dword [edx + 0x10], eax
mov eax, dword [0x6526b0]
test eax, eax
jne 0x4f2091
mov eax, dword [esp + 0x274]
jmp 0x4f20ad
call sym.runtime.gcWriteBarrier4
mov dword [edi], ecx
mov eax, dword [edx + 0xc]
mov dword [edi + 4], eax
mov eax, dword [esp + 0x274]
mov dword [edi + 8], eax
mov ebx, dword [edx]
mov dword [edi + 0xc], ebx
mov dword [edx + 0xc], ecx
mov ecx, dword [esp + 0x4c]
mov dword [edx + 4], ecx
mov ecx, dword [esp + 0x218]
mov dword [edx + 8], ecx
mov dword [edx], eax
mov eax, dword [esp + 0x26c]
mov ecx, dword [eax + 0x2c]
mov ebx, dword [eax + 0x28]
inc ebx
mov ebp, dword [eax + 0x24]
cmp ecx, ebx
jae 0x4f2137
mov dword [esp], ebp
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x518b20]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x26c]
mov dword [ebx + 0x2c], eax
mov eax, dword [0x6526b0]
test eax, eax
je 0x4f2127
call sym.runtime.gcWriteBarrier2
mov dword [edi], ecx
mov eax, dword [ebx + 0x24]
mov dword [edi + 4], eax
mov dword [ebx + 0x24], ecx
mov eax, ebx
mov ebx, edx
mov ebp, ecx
mov edx, dword [esp + 0x268]
mov dword [eax + 0x28], ebx
lea ecx, [ebp + ebx*8 - 8]
lea esi, [0x55e9e4]
mov dword [ecx], esi
mov ecx, dword [0x6526b0]
lea ebx, [ebp + ebx*8 - 4]
test ecx, ecx
je 0x4f2160
call sym.runtime.gcWriteBarrier2
mov dword [edi], edx
mov ecx, dword [ebx]
mov dword [edi + 4], ecx
mov dword [ebx], edx
mov ecx, eax
lea esi, [0x55ea20]
xor eax, eax
jmp 0x4f2627
lea edi, [esp + 0xe4]
xor eax, eax
call fcn.00463e3e
nop
lea ecx, [0x51e640]
mov dword [esp], ecx
call sym.runtime.newobject
mov ecx, dword [esp + 4]
mov edx, dword [esp + 0x4c]
mov dword [ecx + 4], edx
mov ebx, dword [esp + 0x218]
mov dword [ecx + 8], ebx
mov ebp, dword [0x6526b0]
test ebp, ebp
jne 0x4f21b6
mov eax, dword [esp + 0x274]
jmp 0x4f21c4
call sym.runtime.gcWriteBarrier1
mov eax, dword [esp + 0x274]
mov dword [edi], eax
mov dword [esp + 0x240], ecx
mov dword [ecx], eax
mov dword [ecx + 0xc], 0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0xffffffff
lea edx, [0x55e96c]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov ebx, dword [esp + 0x21c]
mov dword [esp + 8], ebx
mov ebp, dword [esp + 0x278]
mov dword [esp + 0xc], ebp
lea esi, [0x510000]
mov dword [esp + 0x10], esi
lea edi, [esp + 0xe4]
mov dword [esp + 0x14], edi
call sym.encoding_binary.Read
mov eax, dword [esp + 0x18]
test eax, eax
jne 0x4f2c6f
lea eax, [0x525b20]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x4c]
mov dword [eax + 4], ecx
mov edx, dword [esp + 0x218]
mov dword [eax + 8], edx
mov edx, dword [0x6526b0]
test edx, edx
jne 0x4f2261
mov edx, dword [esp + 0x274]
jmp 0x4f226f
call sym.runtime.gcWriteBarrier1
mov edx, dword [esp + 0x274]
mov dword [edi], edx
mov dword [esp + 0x260], eax
mov dword [eax], edx
mov dword [eax + 0xc], 0x19
mov dword [eax + 0x10], ecx
lea ecx, [esp + 0xec]
mov dword [esp], ecx
mov dword [esp + 4], 0x10
mov dword [esp + 8], 0x10
call sym.debug_macho.cstring
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x260]
mov dword [edx + 0x18], eax
mov eax, dword [0x6526b0]
test eax, eax
je 0x4f22ca
call sym.runtime.gcWriteBarrier2
mov dword [edi], ecx
mov ebx, dword [edx + 0x14]
mov dword [edi + 4], ebx
mov dword [edx + 0x14], ecx
mov ecx, dword [esp + 0xfc]
mov ebx, dword [esp + 0x100]
mov dword [edx + 0x1c], ecx
mov dword [edx + 0x20], ebx
mov ecx, dword [esp + 0x104]
mov ebx, dword [esp + 0x108]
mov dword [edx + 0x24], ecx
mov dword [edx + 0x28], ebx
mov ecx, dword [esp + 0x10c]
mov ebx, dword [esp + 0x110]
mov dword [edx + 0x2c], ecx
mov dword [edx + 0x30], ebx
mov ecx, dword [esp + 0x114]
mov ebx, dword [esp + 0x118]
mov dword [edx + 0x34], ecx
mov dword [edx + 0x38], ebx
mov ecx, dword [esp + 0x11c]
mov dword [edx + 0x3c], ecx
mov ecx, dword [esp + 0x120]
mov dword [edx + 0x40], ecx
mov ecx, dword [esp + 0x124]
mov dword [edx + 0x44], ecx
mov ecx, dword [esp + 0x128]
mov dword [edx + 0x48], ecx
mov ecx, dword [esp + 0x26c]
mov ebx, dword [ecx + 0x2c]
mov ebp, dword [ecx + 0x28]
inc ebp
mov esi, dword [ecx + 0x24]
cmp ebx, ebp
jae 0x4f23b9
mov dword [esp], esi
mov dword [esp + 4], ebp
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
lea eax, [0x518b20]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x26c]
mov dword [ebx + 0x2c], eax
mov eax, dword [0x6526b0]
test eax, eax
je 0x4f23a9
call sym.runtime.gcWriteBarrier2
mov dword [edi], ecx
mov ebp, dword [ebx + 0x24]
mov dword [edi + 4], ebp
mov dword [ebx + 0x24], ecx
mov ebp, edx
mov esi, ecx
mov ecx, ebx
mov edx, dword [esp + 0x260]
mov dword [ecx + 0x28], ebp
lea ebx, [esi + ebp*8 - 8]
mov eax, ecx
lea ecx, [0x55e8a4]
mov dword [ebx], ecx
mov ebx, dword [0x6526b0]
lea ebp, [esi + ebp*8 - 4]
test ebx, ebx
je 0x4f23e5
call sym.runtime.gcWriteBarrier2
mov dword [edi], edx
mov ebx, dword [ebp]
mov dword [edi + 4], ebx
mov dword [ebp], edx
xor ebx, ebx
jmp 0x4f2fbc
lea edi, [esp + 0x1e8]
xor eax, eax
call fcn.00463e4a
nop
lea ecx, [0x51e640]
mov dword [esp], ecx
call sym.runtime.newobject
mov ecx, dword [esp + 4]
mov edx, dword [esp + 0x4c]
mov dword [ecx + 4], edx
mov ebx, dword [esp + 0x218]
mov dword [ecx + 8], ebx
mov ebp, dword [0x6526b0]
test ebp, ebp
jne 0x4f2434
mov eax, dword [esp + 0x274]
jmp 0x4f2442
call sym.runtime.gcWriteBarrier1
mov eax, dword [esp + 0x274]
mov dword [edi], eax
mov dword [ecx], eax
mov dword [ecx + 0xc], 0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0xffffffff
lea edx, [0x55e96c]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x21c]
mov dword [esp + 8], ecx
mov ebx, dword [esp + 0x278]
mov dword [esp + 0xc], ebx
lea ebp, [0x50fe40]
mov dword [esp + 0x10], ebp
lea esi, [esp + 0x1e8]
mov dword [esp + 0x14], esi
call sym.encoding_binary.Read
mov eax, dword [esp + 0x18]
test eax, eax
jne 0x4f2d32
lea eax, [0x5259e0]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 0x1f0]
mov ecx, dword [esp + 0x4c]
cmp eax, ecx
jae 0x4f2c93
mov edx, dword [esp + 4]
mov dword [esp + 0x264], edx
mov ebx, dword [esp + 0x218]
sub ebx, eax
mov esi, ebx
neg ebx
sar ebx, 0x1f
and ebx, eax
mov edi, dword [esp + 0x274]
add ebx, edi
mov dword [esp], ebx
sub ecx, eax
mov dword [esp + 4], ecx
mov dword [esp + 8], esi
call sym.debug_macho.cstring
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x264]
mov dword [edx + 0x10], eax
mov eax, dword [0x6526b0]
test eax, eax
je 0x4f2524
call sym.runtime.gcWriteBarrier2
mov dword [edi], ecx
mov eax, dword [edx + 0xc]
mov dword [edi + 4], eax
mov dword [edx + 0xc], ecx
mov eax, dword [esp + 0x1f4]
mov dword [edx + 0x14], eax
mov eax, dword [esp + 0x1f8]
mov dword [edx + 0x18], eax
mov eax, dword [esp + 0x1fc]
mov dword [edx + 0x1c], eax
mov eax, dword [esp + 0x4c]
mov dword [edx + 4], eax
mov eax, dword [esp + 0x218]
mov dword [edx + 8], eax
mov eax, dword [0x6526b0]
test eax, eax
jne 0x4f2569
mov eax, dword [esp + 0x274]
jmp 0x4f257c
call sym.runtime.gcWriteBarrier2
mov eax, dword [esp + 0x274]
mov dword [edi], eax
mov ecx, dword [edx]
mov dword [edi + 4], ecx
mov dword [edx], eax
mov eax, dword [esp + 0x26c]
mov ecx, dword [eax + 0x2c]
mov ebx, dword [eax + 0x28]
inc ebx
mov ebp, dword [eax + 0x24]
cmp ecx, ebx
jae 0x4f25f2
mov dword [esp], ebp
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x518b20]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x26c]
mov dword [ebx + 0x2c], eax
mov eax, dword [0x6526b0]
test eax, eax
je 0x4f25e2
call sym.runtime.gcWriteBarrier2
mov dword [edi], ecx
mov eax, dword [ebx + 0x24]
mov dword [edi + 4], eax
mov dword [ebx + 0x24], ecx
mov eax, ebx
mov ebx, edx
mov ebp, ecx
mov edx, dword [esp + 0x264]
mov dword [eax + 0x28], ebx
lea ecx, [ebp + ebx*8 - 8]
lea esi, [0x55e9f8]
mov dword [ecx], esi
mov ecx, dword [0x6526b0]
lea ebx, [ebp + ebx*8 - 4]
test ecx, ecx
je 0x4f261b
call sym.runtime.gcWriteBarrier2
mov dword [edi], edx
mov ecx, dword [ebx]
mov dword [edi + 4], ecx
mov dword [ebx], edx
mov ecx, eax
lea esi, [0x55ea20]
xor eax, eax
test eax, eax
jne 0x4f2644
mov ecx, dword [esp + 0x2b0]
mov edx, dword [esp + 0x2b4]
lea ebp, [0x55e868]
jmp 0x4f13f7
mov dword [esp + 0x260], eax
mov edx, dword [eax + 0x30]
test edx, edx
jl 0x4f2ef5
mov ebx, dword [eax + 0x38]
test ebx, ebx
jl 0x4f2e4c
mov dword [esp + 0x23c], ebx
mov dword [esp + 0x230], edx
mov ebp, dword [eax + 0x2c]
mov dword [esp + 0x22c], ebp
mov edi, dword [eax + 0x34]
mov dword [esp + 0x228], edi
mov esi, 0xffffffff
sub esi, edi
mov ecx, 0x7fffffff
sbb ecx, ebx
cmp edx, ecx
sete cl
setl al
cmp esi, ebp
xchg esi, ebx
setae bl
xchg esi, ebx
and esi, ecx
or esi, eax
xchg esi, eax
test al, al
xchg esi, eax
je 0x4f26b2
add ebp, edi
adc ebx, edx
jmp 0x4f26bc
mov ebx, 0x7fffffff
mov ebp, 0xffffffff
mov dword [esp + 0x164], ebp
mov dword [esp + 0x168], ebx
lea eax, [0x523020]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x2b0]
mov dword [eax], ecx
mov edx, dword [0x6526b0]
test edx, edx
jne 0x4f26f8
mov edx, dword [esp + 0x2b4]
jmp 0x4f2706
call sym.runtime.gcWriteBarrier1
mov edx, dword [esp + 0x2b4]
mov dword [edi], edx
mov dword [eax + 4], edx
mov ebx, dword [esp + 0x22c]
mov dword [eax + 8], ebx
mov ebp, dword [esp + 0x230]
mov dword [eax + 0xc], ebp
mov dword [eax + 0x10], ebx
mov dword [eax + 0x14], ebp
mov ebx, dword [esp + 0x164]
mov dword [eax + 0x18], ebx
mov ebx, dword [esp + 0x168]
mov dword [eax + 0x1c], ebx
mov ebx, dword [esp + 0x228]
mov dword [eax + 0x20], ebx
mov ebx, dword [esp + 0x23c]
mov dword [eax + 0x24], ebx
mov ebx, dword [0x6526b0]
test ebx, ebx
jne 0x4f275e
mov ebx, dword [esp + 0x260]
jmp 0x4f2778
call sym.runtime.gcWriteBarrier3
mov dword [edi], eax
mov ebx, dword [esp + 0x260]
mov ebp, dword [ebx + 0x54]
mov dword [edi + 4], ebp
mov ebp, dword [ebx + 0x50]
mov dword [edi + 8], ebp
mov dword [ebx + 0x54], eax
lea ebp, [0x55e868]
mov dword [ebx + 0x4c], ebp
mov dword [ebx + 0x50], eax
jmp 0x4f13f7
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x2b8], 0
mov dword [esp + 0x2bc], eax
mov dword [esp + 0x2c0], ecx
add esp, 0x2ac
ret
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x2b8], 0
mov dword [esp + 0x2bc], eax
mov dword [esp + 0x2c0], ecx
add esp, 0x2ac
ret
mov dword [esp + 0x298], 0
mov dword [esp + 0x29c], 0
mov dword [esp + 0x2a0], 0
mov dword [esp + 0x2a4], 0
mov eax, dword [esp + 0x19c]
add eax, dword [esp + 0x198]
mov dword [esp], eax
call sym.runtime.convT32
mov eax, dword [esp + 4]
lea ecx, [0x5154e0]
mov dword [esp + 0x298], ecx
mov dword [esp + 0x29c], eax
mov eax, dword [esp + 0x234]
mov dword [esp], eax
call sym.runtime.convT32
mov eax, dword [esp + 4]
lea ecx, [0x5155a0]
mov dword [esp + 0x2a0], ecx
mov dword [esp + 0x2a4], eax
lea eax, [0x53d871]
mov dword [esp], eax
mov dword [esp + 4], 0x75
lea eax, [esp + 0x298]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call sym.fmt.Sprintf
mov eax, dword [esp + 0x18]
mov dword [esp + 0x238], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x280], ecx
lea edx, [0x520140]
mov dword [esp], edx
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x16c]
mov dword [eax], ecx
mov ecx, dword [esp + 0x170]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x238]
mov dword [eax + 0xc], ecx
mov ecx, dword [0x6526b0]
test ecx, ecx
jne 0x4f28de
mov ecx, dword [esp + 0x280]
jmp 0x4f28ec
call sym.runtime.gcWriteBarrier1
mov ecx, dword [esp + 0x280]
mov dword [edi], ecx
mov dword [eax + 8], ecx
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0
mov dword [esp + 0x2b8], 0
lea ecx, [0x55e9bc]
mov dword [esp + 0x2bc], ecx
mov dword [esp + 0x2c0], eax
add esp, 0x2ac
ret
mov dword [esp + 0x298], 0
mov dword [esp + 0x29c], 0
mov dword [esp + 0x2a0], 0
mov dword [esp + 0x2a4], 0
mov eax, dword [esp + 0x198]
mov dword [esp], eax
call sym.runtime.convT32
mov eax, dword [esp + 4]
lea ecx, [0x5154e0]
mov dword [esp + 0x298], ecx
mov dword [esp + 0x29c], eax
mov eax, dword [esp + 0x234]
mov dword [esp], eax
call sym.runtime.convT32
mov eax, dword [esp + 4]
lea ecx, [0x5155a0]
mov dword [esp + 0x2a0], ecx
mov dword [esp + 0x2a4], eax
lea eax, [0x53d7a6]
mov dword [esp], eax
mov dword [esp + 4], 0x65
lea eax, [esp + 0x298]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call sym.fmt.Sprintf
mov eax, dword [esp + 0x18]
mov dword [esp + 0x238], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x280], ecx
lea edx, [0x520140]
mov dword [esp], edx
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x16c]
mov dword [eax], ecx
mov ecx, dword [esp + 0x170]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x238]
mov dword [eax + 0xc], ecx
mov ecx, dword [0x6526b0]
test ecx, ecx
jne 0x4f2a26
mov ecx, dword [esp + 0x280]
jmp 0x4f2a34
call sym.runtime.gcWriteBarrier1
mov ecx, dword [esp + 0x280]
mov dword [edi], ecx
mov dword [eax + 8], ecx
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0
mov dword [esp + 0x2b8], 0
lea ecx, [0x55e9bc]
mov dword [esp + 0x2bc], ecx
mov dword [esp + 0x2c0], eax
add esp, 0x2ac
ret
lea eax, [0x520140]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x16c]
mov dword [eax], ecx
mov ecx, dword [esp + 0x170]
mov dword [eax + 4], ecx
mov dword [eax + 0xc], 0x3a
lea ecx, [0x53ceee]
mov dword [eax + 8], ecx
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0
mov dword [esp + 0x2b8], 0
lea ecx, [0x55e9bc]
mov dword [esp + 0x2bc], ecx
mov dword [esp + 0x2c0], eax
add esp, 0x2ac
ret
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x2b8], 0
mov dword [esp + 0x2bc], eax
mov dword [esp + 0x2c0], ecx
add esp, 0x2ac
ret
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x2b8], 0
mov dword [esp + 0x2bc], eax
mov dword [esp + 0x2c0], ecx
add esp, 0x2ac
ret
mov eax, dword [esp + 0x28]
mov dword [esp + 0x2b8], 0
mov dword [esp + 0x2bc], ecx
mov dword [esp + 0x2c0], eax
add esp, 0x2ac
ret
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x2b8], 0
mov dword [esp + 0x2bc], eax
mov dword [esp + 0x2c0], ecx
add esp, 0x2ac
ret
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x2b8], 0
mov dword [esp + 0x2bc], eax
mov dword [esp + 0x2c0], ecx
add esp, 0x2ac
ret
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x2b8], 0
mov dword [esp + 0x2bc], eax
mov dword [esp + 0x2c0], ecx
add esp, 0x2ac
ret
lea eax, [0x520140]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov dword [esp + 0x27c], eax
mov ecx, dword [esp + 0x16c]
mov dword [eax], ecx
mov ecx, dword [esp + 0x170]
mov dword [eax + 4], ecx
mov dword [eax + 0xc], 0x1d
lea ecx, [0x538781]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x208]
mov dword [esp], ecx
call sym.runtime.convT32
mov eax, dword [esp + 4]
lea ecx, [0x5154e0]
mov edx, dword [esp + 0x27c]
mov dword [edx + 0x10], ecx
mov ecx, dword [0x6526b0]
test ecx, ecx
je 0x4f2c22
call sym.runtime.gcWriteBarrier2
mov dword [edi], eax
mov ecx, dword [edx + 0x14]
mov dword [edi + 4], ecx
mov dword [edx + 0x14], eax
mov dword [esp + 0x2b8], 0
lea eax, [0x55e9bc]
mov dword [esp + 0x2bc], eax
mov dword [esp + 0x2c0], edx
add esp, 0x2ac
ret
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x2b8], 0
mov dword [esp + 0x2bc], eax
mov dword [esp + 0x2c0], ecx
add esp, 0x2ac
ret
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x2b8], 0
mov dword [esp + 0x2bc], eax
mov dword [esp + 0x2c0], ecx
add esp, 0x2ac
ret
lea eax, [0x520140]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov dword [esp + 0x27c], eax
mov ecx, dword [esp + 0x16c]
mov dword [eax], ecx
mov ecx, dword [esp + 0x170]
mov dword [eax + 4], ecx
mov dword [eax + 0xc], 0x27
lea ecx, [0x53ac98]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x1f0]
mov dword [esp], ecx
call sym.runtime.convT32
mov eax, dword [esp + 4]
lea ecx, [0x5154e0]
mov edx, dword [esp + 0x27c]
mov dword [edx + 0x10], ecx
mov ecx, dword [0x6526b0]
test ecx, ecx
je 0x4f2d09
call sym.runtime.gcWriteBarrier2
mov dword [edi], eax
mov ecx, dword [edx + 0x14]
mov dword [edi + 4], ecx
mov dword [edx + 0x14], eax
mov dword [esp + 0x2b8], 0
lea eax, [0x55e9bc]
mov dword [esp + 0x2bc], eax
mov dword [esp + 0x2c0], edx
add esp, 0x2ac
ret
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x2b8], 0
mov dword [esp + 0x2bc], eax
mov dword [esp + 0x2c0], ecx
add esp, 0x2ac
ret
lea eax, [0x520140]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x16c]
mov dword [eax], ecx
mov ecx, dword [esp + 0x170]
mov dword [eax + 4], ecx
mov dword [eax + 0xc], 0x1a
lea ecx, [0x537909]
mov dword [eax + 8], ecx
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0
mov dword [esp + 0x2b8], 0
lea ecx, [0x55e9bc]
mov dword [esp + 0x2bc], ecx
mov dword [esp + 0x2c0], eax
add esp, 0x2ac
ret
lea eax, [0x520140]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x16c]
mov dword [eax], ecx
mov ecx, dword [esp + 0x170]
mov dword [eax + 4], ecx
mov dword [eax + 0xc], 0x17
lea ecx, [0x536739]
mov dword [eax + 8], ecx
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0
mov dword [esp + 0x2b8], 0
lea ecx, [0x55e9bc]
mov dword [esp + 0x2bc], ecx
mov dword [esp + 0x2c0], eax
add esp, 0x2ac
ret
mov dword [esp + 0x2b8], ecx
mov dword [esp + 0x2bc], 0
mov dword [esp + 0x2c0], 0
add esp, 0x2ac
ret
lea eax, [0x520140]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov dword [esp + 0x27c], eax
mov ecx, dword [esp + 0x16c]
mov dword [eax], ecx
mov ecx, dword [esp + 0x170]
mov dword [eax + 4], ecx
mov dword [eax + 0xc], 0x19
lea ecx, [0x537345]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x260]
mov edx, dword [ecx + 0x34]
mov ecx, dword [ecx + 0x38]
mov dword [esp], edx
mov dword [esp + 4], ecx
call sym.runtime.convT64
mov eax, dword [esp + 8]
lea ecx, [0x515560]
mov edx, dword [esp + 0x27c]
mov dword [edx + 0x10], ecx
mov ecx, dword [0x6526b0]
test ecx, ecx
je 0x4f2ecc
call sym.runtime.gcWriteBarrier2
mov dword [edi], eax
mov ecx, dword [edx + 0x14]
mov dword [edi + 4], ecx
mov dword [edx + 0x14], eax
mov dword [esp + 0x2b8], 0
lea eax, [0x55e9bc]
mov dword [esp + 0x2bc], eax
mov dword [esp + 0x2c0], edx
add esp, 0x2ac
ret
lea eax, [0x520140]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov dword [esp + 0x27c], eax
mov ecx, dword [esp + 0x16c]
mov dword [eax], ecx
mov ecx, dword [esp + 0x170]
mov dword [eax + 4], ecx
mov dword [eax + 0xc], 0x16
lea ecx, [0x535e27]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x260]
mov edx, dword [ecx + 0x2c]
mov ecx, dword [ecx + 0x30]
mov dword [esp], edx
mov dword [esp + 4], ecx
call sym.runtime.convT64
mov eax, dword [esp + 8]
lea ecx, [0x515560]
mov edx, dword [esp + 0x27c]
mov dword [edx + 0x10], ecx
mov ecx, dword [0x6526b0]
test ecx, ecx
je 0x4f2f75
call sym.runtime.gcWriteBarrier2
mov dword [edi], eax
mov ecx, dword [edx + 0x14]
mov dword [edi + 4], ecx
mov dword [edx + 0x14], eax
mov dword [esp + 0x2b8], 0
lea eax, [0x55e9bc]
mov dword [esp + 0x2bc], eax
mov dword [esp + 0x2c0], edx
add esp, 0x2ac
ret
mov ebp, dword [esp + 0x174]
lea ebx, [ebp + 1]
mov eax, dword [esp + 0x26c]
lea ecx, [0x55e8a4]
mov edx, dword [esp + 0x260]
cmp dword [edx + 0x44], ebx
jle 0x4f3196
mov dword [esp + 0x174], ebx
lea edi, [esp + 0x50]
xor eax, eax
call fcn.00463e3c
lea ecx, [0x55e96c]
mov dword [esp], ecx
mov edx, dword [esp + 0x240]
mov dword [esp + 4], edx
mov ebx, dword [esp + 0x21c]
mov dword [esp + 8], ebx
mov ebp, dword [esp + 0x278]
mov dword [esp + 0xc], ebp
lea esi, [0x50ff80]
mov dword [esp + 0x10], esi
lea esi, [esp + 0x50]
mov dword [esp + 0x14], esi
call sym.encoding_binary.Read
mov ecx, dword [esp + 0x18]
test ecx, ecx
jne 0x4f3172
lea eax, [0x523920]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov dword [esp + 0x258], eax
lea ecx, [esp + 0x50]
mov dword [esp], ecx
mov dword [esp + 4], 0x10
mov dword [esp + 8], 0x10
call sym.debug_macho.cstring
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x258]
mov dword [edx + 4], eax
mov eax, dword [0x6526b0]
test eax, eax
je 0x4f3081
call sym.runtime.gcWriteBarrier2
mov dword [edi], ecx
mov eax, dword [edx]
mov dword [edi + 4], eax
mov dword [edx], ecx
lea eax, [esp + 0x60]
mov dword [esp], eax
mov dword [esp + 4], 0x10
mov dword [esp + 8], 0x10
call sym.debug_macho.cstring
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x258]
mov dword [edx + 0xc], eax
mov eax, dword [0x6526b0]
test eax, eax
je 0x4f30c8
call sym.runtime.gcWriteBarrier2
mov dword [edi], ecx
mov eax, dword [edx + 8]
mov dword [edi + 4], eax
mov dword [edx + 8], ecx
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x74]
mov dword [edx + 0x10], eax
mov dword [edx + 0x14], ecx
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x7c]
mov dword [edx + 0x18], eax
mov dword [edx + 0x1c], ecx
mov eax, dword [esp + 0x80]
mov dword [edx + 0x20], eax
mov eax, dword [esp + 0x84]
mov dword [edx + 0x24], eax
mov eax, dword [esp + 0x88]
mov dword [edx + 0x28], eax
mov eax, dword [esp + 0x8c]
mov dword [edx + 0x2c], eax
mov eax, dword [esp + 0x90]
mov dword [edx + 0x30], eax
mov eax, dword [esp + 0x26c]
mov dword [esp], eax
mov dword [esp + 4], edx
mov ecx, dword [esp + 0x2b0]
mov dword [esp + 8], ecx
mov edx, dword [esp + 0x2b4]
mov dword [esp + 0xc], edx
call sym.debug_macho._File_.pushSection
mov eax, dword [esp + 0x10]
test eax, eax
je 0x4f2f9e
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x2b8], 0
mov dword [esp + 0x2bc], eax
mov dword [esp + 0x2c0], ecx
add esp, 0x2ac
ret
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x2b8], 0
mov dword [esp + 0x2bc], ecx
mov dword [esp + 0x2c0], eax
add esp, 0x2ac
ret
mov ecx, eax
lea esi, [0x55ea20]
mov eax, edx
jmp 0x4f2627
mov ebp, dword [esp + 0x178]
lea ebx, [ebp + 1]
mov eax, dword [esp + 0x26c]
lea ecx, [0x55e8a4]
mov edx, dword [esp + 0x260]
cmp dword [edx + 0x44], ebx
jle 0x4f33af
mov dword [esp + 0x178], ebx
lea edi, [esp + 0xa0]
xor eax, eax
call fcn.00463e3f
lea ecx, [0x55e96c]
mov dword [esp], ecx
mov edx, dword [esp + 0x244]
mov dword [esp + 4], edx
mov ebx, dword [esp + 0x21c]
mov dword [esp + 8], ebx
mov ebp, dword [esp + 0x278]
mov dword [esp + 0xc], ebp
lea esi, [0x50ff40]
mov dword [esp + 0x10], esi
lea esi, [esp + 0xa0]
mov dword [esp + 0x14], esi
call sym.encoding_binary.Read
mov ecx, dword [esp + 0x18]
test ecx, ecx
jne 0x4f338b
lea eax, [0x523920]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov dword [esp + 0x25c], eax
lea ecx, [esp + 0xa0]
mov dword [esp], ecx
mov dword [esp + 4], 0x10
mov dword [esp + 8], 0x10
call sym.debug_macho.cstring
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x25c]
mov dword [edx + 4], eax
mov eax, dword [0x6526b0]
test eax, eax
je 0x4f3291
call sym.runtime.gcWriteBarrier2
mov dword [edi], ecx
mov eax, dword [edx]
mov dword [edi + 4], eax
mov dword [edx], ecx
lea eax, [esp + 0xb0]
mov dword [esp], eax
mov dword [esp + 4], 0x10
mov dword [esp + 8], 0x10
call sym.debug_macho.cstring
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x25c]
mov dword [edx + 0xc], eax
mov eax, dword [0x6526b0]
test eax, eax
je 0x4f32db
call sym.runtime.gcWriteBarrier2
mov dword [edi], ecx
mov eax, dword [edx + 8]
mov dword [edi + 4], eax
mov dword [edx + 8], ecx
mov eax, dword [esp + 0xc0]
mov dword [edx + 0x10], eax
mov dword [edx + 0x14], 0
mov eax, dword [esp + 0xc4]
mov dword [edx + 0x18], eax
mov dword [edx + 0x1c], 0
mov eax, dword [esp + 0xc8]
mov dword [edx + 0x20], eax
mov eax, dword [esp + 0xcc]
mov dword [edx + 0x24], eax
mov eax, dword [esp + 0xd0]
mov dword [edx + 0x28], eax
mov eax, dword [esp + 0xd4]
mov dword [edx + 0x2c], eax
mov eax, dword [esp + 0xd8]
mov dword [edx + 0x30], eax
mov eax, dword [esp + 0x26c]
mov dword [esp], eax
mov dword [esp + 4], edx
mov ecx, dword [esp + 0x2b0]
mov dword [esp + 8], ecx
mov edx, dword [esp + 0x2b4]
mov dword [esp + 0xc], edx
call sym.debug_macho._File_.pushSection
mov eax, dword [esp + 0x10]
test eax, eax
je 0x4f31a5
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x2b8], 0
mov dword [esp + 0x2bc], eax
mov dword [esp + 0x2c0], ecx
add esp, 0x2ac
ret
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x2b8], 0
mov dword [esp + 0x2bc], ecx
mov dword [esp + 0x2c0], eax
add esp, 0x2ac
ret
mov ecx, eax
lea esi, [0x55ea20]
mov eax, edx
jmp 0x4f2627
call sym.runtime.morestack_noctxt
jmp sym.debug_macho.NewFile