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

Disassembly:
mov ecx, dword [0x72f2ac]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0x22c]
cmp eax, dword [ecx + 8]
jbe 0x552c5e
sub esp, 0x2ac
lea eax, [0x592940]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov dword [esp + 0x26c], eax
nop
lea ecx, [0x58e620]
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 [0x72f350]
test edx, edx
jne 0x550779
mov edx, dword [esp + 0x2b4]
jmp 0x550787
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, [0x579d60]
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 0x550c73
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 0x55089d
lea eax, [0x5e5f38]
mov ecx, dword [esp + 0x26c]
mov dword [ecx + 0x1c], eax
mov eax, dword [0x72f350]
test eax, eax
je 0x550890
mov eax, dword [ecx + 0x20]
call sym.runtime.gcWriteBarrier1
mov dword [edi], eax
lea eax, [0x72f180]
mov dword [ecx + 0x20], eax
mov dword [ecx], edx
jmp 0x5508df
mov eax, ecx
and ecx, 0xfffffffe
cmp ecx, 0xfeedface
jne 0x550c1d
lea ecx, [0x5e5f0c]
mov edx, dword [esp + 0x26c]
mov dword [edx + 0x1c], ecx
mov ecx, dword [0x72f350]
test ecx, ecx
je 0x5508d2
mov ecx, dword [edx + 0x20]
call sym.runtime.gcWriteBarrier1
mov dword [edi], ecx
lea ecx, [0x72f180]
mov dword [edx + 0x20], ecx
mov dword [edx], eax
mov ecx, edx
mov eax, dword [ecx + 0x1c]
mov edx, dword [ecx + 0x20]
lea ebx, [0x5e5480]
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, [0x575fe0]
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], ecx
call sym.encoding_binary.Read
mov eax, dword [esp + 0x18]
test eax, eax
jne 0x550bf9
mov eax, dword [esp + 0x26c]
cmp dword [eax], 0xfeedfacf
jne 0x550936
mov ecx, 0x20
jmp 0x55093b
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 0x550bd5
mov dword [esp + 0x210], edx
mov dword [esp + 0x218], ebx
mov dword [esp + 0x274], ecx
xor eax, eax
test al, al
je 0x5509b3
mov eax, dword [esp + 0x26c]
jmp 0x5509c6
mov eax, dword [esp + 0x26c]
mov ebp, dword [eax + 0x10]
mov esi, ebp
sar ebp, 0x1f
test ebp, ebp
je 0x5509d0
mov ebp, 0xffffffff
jmp 0x550ac1
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 0x550a3e
mov eax, dword [esp + 0x26c]
mov ecx, dword [esp + 0x274]
mov edx, dword [esp + 0x210]
mov ebx, dword [esp + 0x218]
mov ebp, 0xffffffff
jmp 0x550ac1
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 0x550aa3
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 0x550aa1
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 0x550b6f
mov dword [esp + 0x40], ebp
lea eax, [0x5808a0]
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 [0x72f350]
test edx, edx
je 0x550b17
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 0x550ce2
lea eax, [0x58b040]
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, [0x5b3316]
mov dword [eax + 8], ecx
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0
mov dword [esp + 0x2b8], 0
lea ecx, [0x5e54e4]
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, [0x58b040]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov dword [eax + 0xc], 0x14
lea ecx, [0x5b2499]
mov dword [eax + 8], ecx
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0
mov dword [esp + 0x2b8], 0
lea ecx, [0x5e54e4]
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 0x5526c8
cmp edx, 8
jl 0x55265f
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 0x5525f6
mov ecx, dword [esp + 0x210]
cmp ecx, eax
jb 0x5525f6
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 0x551708
cmp ecx, 1
je 0x551496
cmp ecx, 2
je 0x5511b9
cmp ecx, 0xb
jne 0x551726
lea edi, [esp + 0x180]
xor eax, eax
call fcn.0046481c
nop
lea ecx, [0x58a840]
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 [0x72f350]
test ebp, ebp
jne 0x550e57
mov eax, dword [esp + 0x274]
jmp 0x550e65
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, [0x5e5494]
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, [0x575ee0]
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 0x552374
mov eax, dword [esp + 0x26c]
mov ecx, dword [eax + 0x3c]
test ecx, ecx
je 0x55230b
mov edx, dword [esp + 0x198]
mov ecx, dword [ecx + 0x28]
mov dword [esp + 0x234], ecx
cmp edx, ecx
ja 0x5521c3
mov ebx, dword [esp + 0x19c]
add edx, ebx
cmp ecx, edx
jb 0x552074
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 0x552050
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, [0x57c280]
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, [0x58a840]
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 [0x72f350]
test ecx, ecx
jne 0x550fe1
mov ecx, dword [esp + 0x270]
jmp 0x550fef
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, [0x5e5494]
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, [0x5776a0]
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 0x55202c
lea eax, [0x58daa0]
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 [0x72f350]
test ecx, ecx
jne 0x5510a8
mov ecx, dword [esp + 0x274]
jmp 0x5510b6
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.00464c78
mov ecx, dword [esp + 0x23c]
mov dword [eax + 0x60], ecx
mov dword [eax + 0x64], ecx
mov ecx, dword [0x72f350]
test ecx, ecx
jne 0x5510e7
mov ecx, dword [esp + 0x284]
jmp 0x5510fb
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 0x55117e
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, [0x5808a0]
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 [0x72f350]
test eax, eax
je 0x551169
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, [0x5e5548]
mov dword [edx], esi
mov edx, dword [0x72f350]
lea ebx, [ebp + ebx*8 - 4]
test edx, edx
je 0x5511ad
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 0x551ec7
lea edi, [esp + 0x1d0]
xor eax, eax
call fcn.0046482a
nop
lea ecx, [0x58a840]
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 [0x72f350]
test ebp, ebp
jne 0x5511fe
mov eax, dword [esp + 0x274]
jmp 0x55120c
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, [0x5e5494]
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, [0x575e60]
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 0x552404
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 0x5523e0
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 0x5512ea
mov eax, 0x10
jmp 0x5512ef
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 0x5523bc
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 0x552398
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 0x551453
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, [0x5808a0]
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 [0x72f350]
test eax, eax
je 0x551443
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, [0x5e5534]
mov dword [edx], esi
mov edx, dword [0x72f350]
lea ebx, [ebp + ebx*8 - 4]
test edx, edx
je 0x551482
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, [0x5e5548]
xor eax, eax
jmp 0x551ec7
lea edi, [esp + 0x12c]
xor eax, eax
call fcn.00464822
nop
lea ecx, [0x58a840]
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 [0x72f350]
test ebp, ebp
jne 0x5514db
mov eax, dword [esp + 0x274]
jmp 0x5514e9
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, [0x5e5494]
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, [0x5761a0]
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 0x552428
lea eax, [0x591c20]
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 [0x72f350]
test edx, edx
jne 0x551586
mov edx, dword [esp + 0x274]
jmp 0x551594
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 [0x72f350]
test eax, eax
je 0x5515ef
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 0x5516d2
mov dword [esp], esi
mov dword [esp + 4], ebp
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
lea eax, [0x5808a0]
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 [0x72f350]
test eax, eax
je 0x5516c2
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, [0x5e5390]
mov dword [ebx], ecx
mov ebx, dword [0x72f350]
lea ebp, [esi + ebp*8 - 4]
test ebx, ebx
je 0x5516fe
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 0x552a63
cmp ecx, 0xc
je 0x551c8f
cmp ecx, 0x19
je 0x551a11
cmp ecx, 0x8000001c
je 0x5517ed
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 0x5517b3
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, [0x5808a0]
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 [0x72f350]
test eax, eax
je 0x5517a5
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, [0x5e54f8]
mov dword [ecx], esi
mov ecx, dword [0x72f350]
lea edx, [ebx + edx*8 - 4]
test ecx, ecx
je 0x5517dc
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, [0x5e5548]
xor eax, eax
jmp 0x551ec7
mov dword [esp + 0x200], 0
mov dword [esp + 0x204], 0
mov dword [esp + 0x208], 0
nop
lea eax, [0x58a840]
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 [0x72f350]
test ebx, ebx
jne 0x551845
mov ebx, dword [esp + 0x274]
jmp 0x551853
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, [0x5e5494]
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, [0x5760e0]
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 0x5524eb
lea eax, [0x58be40]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 0x208]
mov ecx, dword [esp + 0x4c]
cmp eax, ecx
jae 0x55244c
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 [0x72f350]
test eax, eax
jne 0x551931
mov eax, dword [esp + 0x274]
jmp 0x55194d
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 0x5519d7
mov dword [esp], ebp
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x5808a0]
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 [0x72f350]
test eax, eax
je 0x5519c7
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, [0x5e550c]
mov dword [ecx], esi
mov ecx, dword [0x72f350]
lea ebx, [ebp + ebx*8 - 4]
test ecx, ecx
je 0x551a00
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, [0x5e5548]
xor eax, eax
jmp 0x551ec7
lea edi, [esp + 0xe4]
xor eax, eax
call fcn.0046481e
nop
lea ecx, [0x58a840]
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 [0x72f350]
test ebp, ebp
jne 0x551a56
mov eax, dword [esp + 0x274]
jmp 0x551a64
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, [0x5e5494]
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, [0x5761e0]
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 0x55250f
lea eax, [0x591c20]
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 [0x72f350]
test edx, edx
jne 0x551b01
mov edx, dword [esp + 0x274]
jmp 0x551b0f
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 [0x72f350]
test eax, eax
je 0x551b6a
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 0x551c59
mov dword [esp], esi
mov dword [esp + 4], ebp
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
lea eax, [0x5808a0]
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 [0x72f350]
test eax, eax
je 0x551c49
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, [0x5e5390]
mov dword [ebx], ecx
mov ebx, dword [0x72f350]
lea ebp, [esi + ebp*8 - 4]
test ebx, ebx
je 0x551c85
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 0x55285c
lea edi, [esp + 0x1e8]
xor eax, eax
call fcn.0046482a
nop
lea ecx, [0x58a840]
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 [0x72f350]
test ebp, ebp
jne 0x551cd4
mov eax, dword [esp + 0x274]
jmp 0x551ce2
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, [0x5e5494]
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, [0x576020]
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 0x5525d2
lea eax, [0x5919a0]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 0x1f0]
mov ecx, dword [esp + 0x4c]
cmp eax, ecx
jae 0x552533
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 [0x72f350]
test eax, eax
je 0x551dc4
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 [0x72f350]
test eax, eax
jne 0x551e09
mov eax, dword [esp + 0x274]
jmp 0x551e1c
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 0x551e92
mov dword [esp], ebp
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x5808a0]
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 [0x72f350]
test eax, eax
je 0x551e82
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, [0x5e5520]
mov dword [ecx], esi
mov ecx, dword [0x72f350]
lea ebx, [ebp + ebx*8 - 4]
test ecx, ecx
je 0x551ebb
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, [0x5e5548]
xor eax, eax
test eax, eax
jne 0x551ee4
mov ecx, dword [esp + 0x2b0]
mov edx, dword [esp + 0x2b4]
lea ebp, [0x5e5318]
jmp 0x550c97
mov dword [esp + 0x260], eax
mov edx, dword [eax + 0x30]
test edx, edx
jl 0x552795
mov ebx, dword [eax + 0x38]
test ebx, ebx
jl 0x5526ec
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 0x551f52
add ebp, edi
adc ebx, edx
jmp 0x551f5c
mov ebx, 0x7fffffff
mov ebp, 0xffffffff
mov dword [esp + 0x164], ebp
mov dword [esp + 0x168], ebx
lea eax, [0x58e620]
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 [0x72f350]
test edx, edx
jne 0x551f98
mov edx, dword [esp + 0x2b4]
jmp 0x551fa6
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 [0x72f350]
test ebx, ebx
jne 0x551ffe
mov ebx, dword [esp + 0x260]
jmp 0x552018
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, [0x5e5318]
mov dword [ebx + 0x4c], ebp
mov dword [ebx + 0x50], eax
jmp 0x550c97
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, [0x57c280]
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, [0x57c340]
mov dword [esp + 0x2a0], ecx
mov dword [esp + 0x2a4], eax
lea eax, [0x5badf2]
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, [0x58b040]
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 [0x72f350]
test ecx, ecx
jne 0x55217e
mov ecx, dword [esp + 0x280]
jmp 0x55218c
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, [0x5e54e4]
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, [0x57c280]
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, [0x57c340]
mov dword [esp + 0x2a0], ecx
mov dword [esp + 0x2a4], eax
lea eax, [0x5bad27]
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, [0x58b040]
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 [0x72f350]
test ecx, ecx
jne 0x5522c6
mov ecx, dword [esp + 0x280]
jmp 0x5522d4
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, [0x5e54e4]
mov dword [esp + 0x2bc], ecx
mov dword [esp + 0x2c0], eax
add esp, 0x2ac
ret
lea eax, [0x58b040]
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, [0x5ba4a7]
mov dword [eax + 8], ecx
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0
mov dword [esp + 0x2b8], 0
lea ecx, [0x5e54e4]
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, [0x58b040]
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, [0x5b5bc1]
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, [0x57c280]
mov edx, dword [esp + 0x27c]
mov dword [edx + 0x10], ecx
mov ecx, dword [0x72f350]
test ecx, ecx
je 0x5524c2
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, [0x5e54e4]
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, [0x58b040]
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, [0x5b8286]
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, [0x57c280]
mov edx, dword [esp + 0x27c]
mov dword [edx + 0x10], ecx
mov ecx, dword [0x72f350]
test ecx, ecx
je 0x5525a9
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, [0x5e54e4]
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, [0x58b040]
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, [0x5b4d2e]
mov dword [eax + 8], ecx
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0
mov dword [esp + 0x2b8], 0
lea ecx, [0x5e54e4]
mov dword [esp + 0x2bc], ecx
mov dword [esp + 0x2c0], eax
add esp, 0x2ac
ret
lea eax, [0x58b040]
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, [0x5b3ae1]
mov dword [eax + 8], ecx
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0
mov dword [esp + 0x2b8], 0
lea ecx, [0x5e54e4]
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, [0x58b040]
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, [0x5b4736]
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, [0x57c300]
mov edx, dword [esp + 0x27c]
mov dword [edx + 0x10], ecx
mov ecx, dword [0x72f350]
test ecx, ecx
je 0x55276c
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, [0x5e54e4]
mov dword [esp + 0x2bc], eax
mov dword [esp + 0x2c0], edx
add esp, 0x2ac
ret
lea eax, [0x58b040]
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, [0x5b318a]
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, [0x57c300]
mov edx, dword [esp + 0x27c]
mov dword [edx + 0x10], ecx
mov ecx, dword [0x72f350]
test ecx, ecx
je 0x552815
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, [0x5e54e4]
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, [0x5e5390]
mov edx, dword [esp + 0x260]
cmp dword [edx + 0x44], ebx
jle 0x552a36
mov dword [esp + 0x174], ebx
lea edi, [esp + 0x50]
xor eax, eax
call fcn.0046481c
lea ecx, [0x5e5494]
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, [0x576160]
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 0x552a12
lea eax, [0x58f020]
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 [0x72f350]
test eax, eax
je 0x552921
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 [0x72f350]
test eax, eax
je 0x552968
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 0x55283e
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, [0x5e5548]
mov eax, edx
jmp 0x551ec7
mov ebp, dword [esp + 0x178]
lea ebx, [ebp + 1]
mov eax, dword [esp + 0x26c]
lea ecx, [0x5e5390]
mov edx, dword [esp + 0x260]
cmp dword [edx + 0x44], ebx
jle 0x552c4f
mov dword [esp + 0x178], ebx
lea edi, [esp + 0xa0]
xor eax, eax
call fcn.0046481f
lea ecx, [0x5e5494]
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, [0x576120]
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 0x552c2b
lea eax, [0x58f020]
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 [0x72f350]
test eax, eax
je 0x552b31
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 [0x72f350]
test eax, eax
je 0x552b7b
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 0x552a45
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, [0x5e5548]
mov eax, edx
jmp 0x551ec7
call sym.runtime.morestack_noctxt
jmp sym.debug_macho.NewFile