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

Disassembly:
mov ecx, dword [0x6dded4]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0x224]
cmp eax, dword [ecx + 8]
jbe 0x527442
sub esp, 0x2a4
lea eax, [0x5667c0]
mov dword [esp], eax
call sym.runtime.newobject
nop
mov eax, dword [esp + 4]
mov dword [esp + 0x264], eax
lea ecx, [0x5608e0]
mov dword [esp], ecx
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x2a8]
mov dword [eax], ecx
mov edx, dword [0x6ddfe0]
test edx, edx
jne 0x5250f9
mov edx, dword [esp + 0x2ac]
jmp 0x525107
call sym.runtime.gcWriteBarrier1
mov edx, dword [esp + 0x2ac]
mov dword [edi], edx
mov dword [esp + 0x240], 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
lea ecx, [0x54e7a0]
mov dword [esp], ecx
call sym.runtime.newobject
mov eax, dword [esp + 0x2a8]
mov ecx, dword [eax + 0x10]
mov edx, dword [esp + 4]
mov dword [esp + 0x284], edx
mov ebx, dword [esp + 0x2ac]
mov dword [esp], ebx
mov dword [esp + 8], 4
mov dword [esp + 0xc], 4
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
call ecx
mov eax, dword [esp + 0x1c]
test eax, eax
jne 0x5254e2
mov eax, dword [esp + 0x284]
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 0x52520f
lea eax, [0x5b8368]
mov ecx, dword [esp + 0x264]
mov dword [ecx + 0x1c], eax
mov eax, dword [0x6ddfe0]
test eax, eax
je 0x525202
mov eax, dword [ecx + 0x20]
call sym.runtime.gcWriteBarrier1
mov dword [edi], eax
lea eax, [0x6ddda0]
mov dword [ecx + 0x20], eax
mov dword [ecx], edx
jmp 0x525251
mov eax, ecx
and ecx, 0xfffffffe
cmp ecx, 0xfeedface
jne 0x52548c
lea ecx, [0x5b833c]
mov edx, dword [esp + 0x264]
mov dword [edx + 0x1c], ecx
mov ecx, dword [0x6ddfe0]
test ecx, ecx
je 0x525244
mov ecx, dword [edx + 0x20]
call sym.runtime.gcWriteBarrier1
mov dword [edi], ecx
lea ecx, [0x6ddda0]
mov dword [edx + 0x20], ecx
mov dword [edx], eax
mov ecx, edx
mov eax, dword [ecx + 0x1c]
mov edx, dword [ecx + 0x20]
lea ebx, [0x5b78fc]
mov dword [esp], ebx
mov ebx, dword [esp + 0x240]
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
lea eax, [0x54aae0]
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], ecx
call sym.encoding_binary.Read
mov eax, dword [esp + 0x18]
test eax, eax
jne 0x525464
mov eax, dword [esp + 0x264]
cmp dword [eax], 0xfeedfacf
jne 0x5252a8
mov ecx, 0x20
jmp 0x5252ad
mov ecx, 0x1c
mov dword [esp + 0x54], ecx
mov edx, dword [eax + 0x14]
mov ebx, dword [esp + 0x2a8]
mov dword [esp], ebx
mov ebp, dword [esp + 0x2ac]
mov dword [esp + 4], ebp
mov dword [esp + 0xc], 0
mov dword [esp + 8], edx
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], ecx
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 0x52543c
mov dword [esp + 0x74], ebx
mov dword [esp + 0x6c], edx
mov dword [esp + 0x26c], ecx
mov eax, dword [esp + 0x264]
mov ecx, dword [eax + 0x10]
lea edx, [0x54a960]
mov dword [esp], edx
mov dword [esp + 4], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], ecx
call sym.internal_saferio.SliceCap
mov eax, dword [esp + 0x10]
test eax, eax
jl 0x5253d9
mov dword [esp + 0x78], eax
lea ecx, [0x555260]
mov dword [esp], ecx
mov dword [esp + 4], 0
mov dword [esp + 8], eax
call sym.runtime.makeslice
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x264]
mov dword [ecx + 0x28], 0
mov edx, dword [esp + 0x78]
mov dword [ecx + 0x2c], edx
mov edx, dword [0x6ddfe0]
test edx, edx
je 0x525393
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 + 0x7c], eax
mov ebp, dword [ecx + 0x20]
mov dword [esp + 0x270], ebp
mov esi, dword [esp + 0x54]
mov edx, dword [esp + 0x6c]
mov ebx, dword [esp + 0x74]
mov edi, dword [esp + 0x26c]
mov dword [esp + 0x90], eax
xor eax, eax
mov dword [esp + 0x64], eax
xor eax, eax
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x90]
jmp 0x525543
lea eax, [0x55f680]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x54]
mov dword [eax], ecx
mov dword [eax + 4], 0
mov dword [eax + 0xc], 0x16
lea ecx, [0x58703a]
mov dword [eax + 8], ecx
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0
mov dword [esp + 0x2b0], 0
lea ecx, [0x5b7960]
mov dword [esp + 0x2b4], ecx
mov dword [esp + 0x2b8], eax
add esp, 0x2a4
ret
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x2b0], 0
mov dword [esp + 0x2b4], eax
mov dword [esp + 0x2b8], ecx
add esp, 0x2a4
ret
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x2b0], 0
mov dword [esp + 0x2b4], eax
mov dword [esp + 0x2b8], ecx
add esp, 0x2a4
ret
lea eax, [0x55f680]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov dword [eax + 0xc], 0x14
lea ecx, [0x5861a7]
mov dword [eax + 8], ecx
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0
mov dword [esp + 0x2b0], 0
lea ecx, [0x5b7960]
mov dword [esp + 0x2b4], ecx
mov dword [esp + 0x2b8], eax
add esp, 0x2a4
ret
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x2b0], 0
mov dword [esp + 0x2b4], eax
mov dword [esp + 0x2b8], ecx
add esp, 0x2a4
ret
mov eax, dword [esp + 0x64]
inc eax
mov ebx, dword [esp + 0x264]
mov esi, dword [esp + 0x270]
mov edi, dword [esp + 0x7c]
mov ecx, ebx
mov ebp, esi
mov dword [esp + 0x64], eax
mov edi, dword [esp + 0x280]
mov ebx, dword [esp + 0x88]
mov edx, dword [esp + 0x6c]
mov esi, dword [esp + 0x54]
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x54], esi
mov esi, dword [esp + 0x64]
cmp dword [ecx + 0x10], esi
jbe 0x526ea2
cmp edx, 8
jl 0x526e3f
mov dword [esp + 0x74], ebx
mov dword [esp + 0x6c], edx
mov dword [esp + 0x26c], edi
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 + 0x7c]
mov ecx, dword [eax + 0x24]
mov edx, dword [esp + 0x74]
lea ebx, [edx - 4]
mov ebp, dword [esp + 0x26c]
lea esi, [ebp + 4]
mov edi, dword [esp + 0x10]
mov dword [esp + 0x8c], edi
mov eax, dword [esp + 0x270]
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 0x526ddc
mov ecx, dword [esp + 0x6c]
cmp ecx, eax
jb 0x526ddc
mov dword [esp + 0x48], eax
mov edx, dword [esp + 0x74]
mov ebx, edx
sub edx, eax
mov dword [esp + 0x88], edx
neg edx
sar edx, 0x1f
and edx, eax
mov esi, dword [esp + 0x26c]
add edx, esi
mov dword [esp + 0x280], edx
sub ecx, eax
mov dword [esp + 0x6c], ecx
mov ecx, dword [esp + 0x54]
add ecx, eax
mov dword [esp + 0x54], ecx
mov ecx, dword [esp + 0x58]
adc ecx, 0
mov dword [esp + 0x58], ecx
mov ecx, dword [esp + 0x8c]
cmp ecx, 0xb
ja 0x525f12
cmp ecx, 1
je 0x525ca9
cmp ecx, 2
je 0x5259db
cmp ecx, 0xb
jne 0x525f30
lea edi, [esp + 0x1e8]
xor eax, eax
call fcn.00460b9c
nop
lea ecx, [0x55ee80]
mov dword [esp], ecx
call sym.runtime.newobject
mov ecx, dword [esp + 4]
mov edx, dword [esp + 0x48]
mov dword [ecx + 4], edx
mov ebx, dword [esp + 0x74]
mov dword [ecx + 8], ebx
mov ebp, dword [0x6ddfe0]
test ebp, ebp
jne 0x52568e
mov eax, dword [esp + 0x26c]
jmp 0x52569c
call sym.runtime.gcWriteBarrier1
mov eax, dword [esp + 0x26c]
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, [0x5b7910]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x7c]
mov dword [esp + 8], ecx
mov ebx, dword [esp + 0x270]
mov dword [esp + 0xc], ebx
lea ebp, [0x54aa20]
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 0x526b42
mov eax, dword [esp + 0x264]
mov ecx, dword [eax + 0x3c]
test ecx, ecx
je 0x526adf
mov edx, dword [esp + 0x200]
mov ecx, dword [ecx + 0x28]
mov dword [esp + 0x84], ecx
cmp ecx, edx
jb 0x52699d
mov ebx, dword [esp + 0x204]
add edx, ebx
cmp ecx, edx
jb 0x526854
mov eax, dword [esp + 0x224]
mov ecx, eax
shl eax, 2
shr ecx, 0x1e
mov edx, dword [esp + 0x220]
mov ebx, dword [esp + 0x2a8]
mov dword [esp], ebx
mov ebp, dword [esp + 0x2ac]
mov dword [esp + 4], ebp
mov dword [esp + 0xc], ecx
mov dword [esp + 8], eax
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], edx
call sym.internal_saferio.ReadDataAt
mov eax, dword [esp + 0x24]
test eax, eax
jne 0x52682c
mov eax, dword [esp + 0x224]
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x68], ecx
mov edx, dword [esp + 0x20]
mov dword [esp + 0x70], edx
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x268], ebx
lea ebp, [0x550dc0]
mov dword [esp], ebp
mov dword [esp + 4], eax
mov dword [esp + 8], eax
call sym.runtime.makeslice
mov eax, dword [esp + 0xc]
mov dword [esp + 0x27c], eax
mov ecx, dword [esp + 0x224]
mov dword [esp + 0x8c], ecx
lea edx, [0x55ee80]
mov dword [esp], edx
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x68]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x70]
mov dword [eax + 8], ecx
mov ecx, dword [0x6ddfe0]
test ecx, ecx
jne 0x525809
mov ecx, dword [esp + 0x268]
jmp 0x525817
call sym.runtime.gcWriteBarrier1
mov ecx, dword [esp + 0x268]
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 + 0x27c]
mov dword [esp + 0x288], ecx
mov edx, dword [esp + 0x8c]
mov dword [esp + 0x28c], edx
mov dword [esp + 0x290], edx
lea ebx, [0x5b7910]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 8], eax
mov ebp, dword [esp + 0x270]
mov dword [esp + 0xc], ebp
lea esi, [0x54c160]
mov dword [esp + 0x10], esi
lea edi, [esp + 0x288]
mov dword [esp + 0x14], edi
call sym.encoding_binary.Read
mov eax, dword [esp + 0x18]
test eax, eax
jne 0x526804
lea eax, [0x5620c0]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x48]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x74]
mov dword [eax + 8], ecx
mov ecx, dword [0x6ddfe0]
test ecx, ecx
jne 0x5258ca
mov ecx, dword [esp + 0x26c]
jmp 0x5258d8
call sym.runtime.gcWriteBarrier1
mov ecx, dword [esp + 0x26c]
mov dword [edi], ecx
mov dword [eax], ecx
lea edi, [eax + 0xc]
lea esi, [esp + 0x1e8]
call fcn.00460ff8
mov ecx, dword [esp + 0x8c]
mov dword [eax + 0x60], ecx
mov dword [eax + 0x64], ecx
mov ecx, dword [0x6ddfe0]
test ecx, ecx
jne 0x525909
mov ecx, dword [esp + 0x27c]
jmp 0x52591d
call sym.runtime.gcWriteBarrier2
mov ecx, dword [esp + 0x27c]
mov dword [edi], ecx
mov edx, dword [eax + 0x5c]
mov dword [edi + 4], edx
mov dword [eax + 0x5c], ecx
mov ecx, dword [esp + 0x264]
mov edx, dword [ecx + 0x2c]
mov ebx, dword [ecx + 0x28]
inc ebx
mov ebp, dword [ecx + 0x24]
cmp edx, ebx
jae 0x5259a0
mov dword [esp + 0x248], eax
mov dword [esp], ebp
mov dword [esp + 4], ebx
mov dword [esp + 8], edx
mov dword [esp + 0xc], 1
lea eax, [0x555260]
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 + 0x264]
mov dword [ebx + 0x2c], eax
mov eax, dword [0x6ddfe0]
test eax, eax
je 0x52598b
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 + 0x248]
mov ebx, edx
mov ebp, ecx
mov ecx, dword [esp + 0x264]
mov dword [ecx + 0x28], ebx
lea edx, [ebp + ebx*8 - 8]
lea esi, [0x5b79c4]
mov dword [edx], esi
mov edx, dword [0x6ddfe0]
lea ebx, [ebp + ebx*8 - 4]
test edx, edx
je 0x5259cf
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 0x5266be
lea edi, [esp + 0xa4]
xor eax, eax
call fcn.00460baa
nop
lea ecx, [0x55ee80]
mov dword [esp], ecx
call sym.runtime.newobject
mov ecx, dword [esp + 4]
mov edx, dword [esp + 0x48]
mov dword [ecx + 4], edx
mov ebx, dword [esp + 0x74]
mov dword [ecx + 8], ebx
mov ebp, dword [0x6ddfe0]
test ebp, ebp
jne 0x525a1d
mov eax, dword [esp + 0x26c]
jmp 0x525a2b
call sym.runtime.gcWriteBarrier1
mov eax, dword [esp + 0x26c]
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, [0x5b7910]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x7c]
mov dword [esp + 8], ecx
mov ebx, dword [esp + 0x270]
mov dword [esp + 0xc], ebx
lea ebp, [0x54a9a0]
mov dword [esp + 0x10], ebp
lea esi, [esp + 0xa4]
mov dword [esp + 0x14], esi
call sym.encoding_binary.Read
mov eax, dword [esp + 0x18]
test eax, eax
jne 0x526be2
mov eax, dword [esp + 0xb8]
mov ecx, dword [esp + 0xb4]
mov edx, dword [esp + 0x2a8]
mov dword [esp], edx
mov ebx, dword [esp + 0x2ac]
mov dword [esp + 4], ebx
mov dword [esp + 0xc], 0
mov dword [esp + 8], eax
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], ecx
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 0x526bba
mov dword [esp + 0x44], ebx
mov dword [esp + 0x40], edx
mov dword [esp + 0x244], ecx
mov ebp, dword [esp + 0x264]
cmp dword [ebp], 0xfeedfacf
jne 0x525b06
mov eax, 0x10
jmp 0x525b0b
mov eax, 0xc
mov ecx, dword [esp + 0xb0]
mov edx, eax
mov eax, ecx
mov ebx, edx
mul edx
sar ebx, 0x1f
imul ecx, ebx
add ecx, edx
mov edx, dword [esp + 0xac]
mov ebx, dword [esp + 0x2a8]
mov dword [esp], ebx
mov ebp, dword [esp + 0x2ac]
mov dword [esp + 4], ebp
mov dword [esp + 0xc], ecx
mov dword [esp + 8], eax
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], edx
call sym.internal_saferio.ReadDataAt
mov ecx, dword [esp + 0x24]
test ecx, ecx
jne 0x526b92
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
mov ebx, dword [esp + 0x264]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
mov eax, dword [esp + 0x244]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x26c]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x74]
mov dword [esp + 0x24], eax
lea eax, [esp + 0xa4]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x58]
mov dword [esp + 0x30], eax
mov ecx, dword [esp + 0x54]
mov dword [esp + 0x2c], ecx
call sym.debug_macho._File_.parseSymtab
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x34]
test eax, eax
jne 0x526b6a
mov eax, dword [esp + 0x264]
mov edx, dword [eax + 0x2c]
mov ebx, dword [eax + 0x28]
inc ebx
mov ebp, dword [eax + 0x24]
cmp edx, ebx
jae 0x525c66
mov dword [esp + 0x24c], ecx
mov dword [esp], ebp
mov dword [esp + 4], ebx
mov dword [esp + 8], edx
mov dword [esp + 0xc], 1
lea eax, [0x555260]
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 + 0x264]
mov dword [ebx + 0x2c], eax
mov eax, dword [0x6ddfe0]
test eax, eax
je 0x525c56
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 + 0x24c]
mov dword [eax + 0x28], ebx
lea edx, [ebp + ebx*8 - 8]
lea esi, [0x5b79b0]
mov dword [edx], esi
mov edx, dword [0x6ddfe0]
lea ebx, [ebp + ebx*8 - 4]
test edx, edx
je 0x525c95
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, [0x5b79c4]
xor eax, eax
jmp 0x5266be
lea edi, [esp + 0xd4]
xor eax, eax
call fcn.00460ba2
nop
lea ecx, [0x55ee80]
mov dword [esp], ecx
call sym.runtime.newobject
mov ecx, dword [esp + 4]
mov edx, dword [esp + 0x48]
mov dword [ecx + 4], edx
mov ebx, dword [esp + 0x74]
mov dword [ecx + 8], ebx
mov ebp, dword [0x6ddfe0]
test ebp, ebp
jne 0x525ceb
mov eax, dword [esp + 0x26c]
jmp 0x525cf9
call sym.runtime.gcWriteBarrier1
mov eax, dword [esp + 0x26c]
mov dword [edi], eax
mov dword [esp + 0x23c], ecx
mov dword [ecx], eax
mov dword [ecx + 0xc], 0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0xffffffff
lea edx, [0x5b7910]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov ebx, dword [esp + 0x7c]
mov dword [esp + 8], ebx
mov ebp, dword [esp + 0x270]
mov dword [esp + 0xc], ebp
lea esi, [0x54ace0]
mov dword [esp + 0x10], esi
lea edi, [esp + 0xd4]
mov dword [esp + 0x14], edi
call sym.encoding_binary.Read
mov eax, dword [esp + 0x18]
test eax, eax
jne 0x526c0a
lea eax, [0x565c80]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x48]
mov dword [eax + 4], ecx
mov edx, dword [esp + 0x74]
mov dword [eax + 8], edx
mov edx, dword [0x6ddfe0]
test edx, edx
jne 0x525d90
mov edx, dword [esp + 0x26c]
jmp 0x525d9e
call sym.runtime.gcWriteBarrier1
mov edx, dword [esp + 0x26c]
mov dword [edi], edx
mov dword [esp + 0x258], eax
mov dword [eax], edx
mov dword [eax + 0xc], 1
mov dword [eax + 0x10], ecx
lea ecx, [esp + 0xdc]
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 + 0x18], eax
mov eax, dword [0x6ddfe0]
test eax, eax
je 0x525df9
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 + 0xec]
mov dword [edx + 0x1c], ecx
mov dword [edx + 0x20], 0
mov ecx, dword [esp + 0xf0]
mov dword [edx + 0x24], ecx
mov dword [edx + 0x28], 0
mov ecx, dword [esp + 0xf4]
mov dword [edx + 0x2c], ecx
mov dword [edx + 0x30], 0
mov ecx, dword [esp + 0xf8]
mov dword [edx + 0x34], ecx
mov dword [edx + 0x38], 0
mov ecx, dword [esp + 0xfc]
mov dword [edx + 0x3c], ecx
mov ecx, dword [esp + 0x100]
mov dword [edx + 0x40], ecx
mov ecx, dword [esp + 0x104]
mov dword [edx + 0x44], ecx
mov ecx, dword [esp + 0x108]
mov dword [edx + 0x48], ecx
mov ecx, dword [esp + 0x264]
mov ebx, dword [ecx + 0x2c]
mov ebp, dword [ecx + 0x28]
inc ebp
mov esi, dword [ecx + 0x24]
cmp ebx, ebp
jae 0x525edc
mov dword [esp], esi
mov dword [esp + 4], ebp
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
lea eax, [0x555260]
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 + 0x264]
mov dword [ebx + 0x2c], eax
mov eax, dword [0x6ddfe0]
test eax, eax
je 0x525ecc
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 + 0x258]
mov dword [ecx + 0x28], ebp
lea ebx, [esi + ebp*8 - 8]
mov eax, ecx
lea ecx, [0x5b79d8]
mov dword [ebx], ecx
mov ebx, dword [0x6ddfe0]
lea ebp, [esi + ebp*8 - 4]
test ebx, ebx
je 0x525f08
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 0x527245
cmp ecx, 0xc
je 0x526492
cmp ecx, 0x19
je 0x52621d
cmp ecx, 0x8000001c
je 0x525ff7
mov dword [esp], esi
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
call sym.runtime.convTslice
mov eax, dword [esp + 0x264]
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 0x525fbd
mov dword [esp + 0x27c], ebp
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x555260]
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 + 0x264]
mov dword [ebx + 0x2c], eax
mov eax, dword [0x6ddfe0]
test eax, eax
je 0x525faf
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 + 0x27c]
mov ebx, ecx
mov dword [eax + 0x28], edx
lea ecx, [ebx + edx*8 - 8]
lea esi, [0x5b7974]
mov dword [ecx], esi
mov ecx, dword [0x6ddfe0]
lea edx, [ebx + edx*8 - 4]
test ecx, ecx
je 0x525fe6
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, [0x5b79c4]
xor eax, eax
jmp 0x5266be
mov dword [esp + 0x98], 0
mov dword [esp + 0x9c], 0
mov dword [esp + 0xa0], 0
nop
lea eax, [0x55ee80]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x48]
mov dword [eax + 4], ecx
mov edx, dword [esp + 0x74]
mov dword [eax + 8], edx
mov ebx, dword [0x6ddfe0]
test ebx, ebx
jne 0x52604c
mov ebx, dword [esp + 0x26c]
jmp 0x52605a
call sym.runtime.gcWriteBarrier1
mov ebx, dword [esp + 0x26c]
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, [0x5b7910]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 8], eax
mov edx, dword [esp + 0x270]
mov dword [esp + 0xc], edx
lea ebp, [0x54ac20]
mov dword [esp + 0x10], ebp
lea esi, [esp + 0x98]
mov dword [esp + 0x14], esi
call sym.encoding_binary.Read
mov eax, dword [esp + 0x18]
test eax, eax
jne 0x526ccb
lea eax, [0x560400]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 0xa0]
mov ecx, dword [esp + 0x48]
cmp eax, ecx
jae 0x526c32
mov edx, dword [esp + 4]
mov dword [esp + 0x260], edx
mov ebx, dword [esp + 0x74]
sub ebx, eax
mov esi, ebx
neg ebx
sar ebx, 0x1f
and ebx, eax
mov edi, dword [esp + 0x26c]
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 + 0x260]
mov dword [edx + 0x10], eax
mov eax, dword [0x6ddfe0]
test eax, eax
je 0x526136
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 + 0x48]
mov dword [edx + 4], eax
mov eax, dword [esp + 0x74]
mov dword [edx + 8], eax
mov eax, dword [0x6ddfe0]
test eax, eax
jne 0x52615a
mov eax, dword [esp + 0x26c]
jmp 0x52616d
call sym.runtime.gcWriteBarrier2
mov eax, dword [esp + 0x26c]
mov dword [edi], eax
mov ecx, dword [edx]
mov dword [edi + 4], ecx
mov dword [edx], eax
mov eax, dword [esp + 0x264]
mov ecx, dword [eax + 0x2c]
mov ebx, dword [eax + 0x28]
inc ebx
mov ebp, dword [eax + 0x24]
cmp ecx, ebx
jae 0x5261e3
mov dword [esp], ebp
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x555260]
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 + 0x264]
mov dword [ebx + 0x2c], eax
mov eax, dword [0x6ddfe0]
test eax, eax
je 0x5261d3
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 + 0x260]
mov dword [eax + 0x28], ebx
lea ecx, [ebp + ebx*8 - 8]
lea esi, [0x5b7988]
mov dword [ecx], esi
mov ecx, dword [0x6ddfe0]
lea ebx, [ebp + ebx*8 - 4]
test ecx, ecx
je 0x52620c
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, [0x5b79c4]
xor eax, eax
jmp 0x5266be
lea edi, [esp + 0x150]
xor eax, eax
call fcn.00460b9e
nop
lea ecx, [0x55ee80]
mov dword [esp], ecx
call sym.runtime.newobject
mov ecx, dword [esp + 4]
mov edx, dword [esp + 0x48]
mov dword [ecx + 4], edx
mov ebx, dword [esp + 0x74]
mov dword [ecx + 8], ebx
mov ebp, dword [0x6ddfe0]
test ebp, ebp
jne 0x52625f
mov eax, dword [esp + 0x26c]
jmp 0x52626d
call sym.runtime.gcWriteBarrier1
mov eax, dword [esp + 0x26c]
mov dword [edi], eax
mov dword [esp + 0x238], ecx
mov dword [ecx], eax
mov dword [ecx + 0xc], 0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0xffffffff
lea edx, [0x5b7910]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov ebx, dword [esp + 0x7c]
mov dword [esp + 8], ebx
mov ebp, dword [esp + 0x270]
mov dword [esp + 0xc], ebp
lea esi, [0x54ad20]
mov dword [esp + 0x10], esi
lea edi, [esp + 0x150]
mov dword [esp + 0x14], edi
call sym.encoding_binary.Read
mov eax, dword [esp + 0x18]
test eax, eax
jne 0x526cf3
lea eax, [0x565c80]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x48]
mov dword [eax + 4], ecx
mov edx, dword [esp + 0x74]
mov dword [eax + 8], edx
mov edx, dword [0x6ddfe0]
test edx, edx
jne 0x526304
mov edx, dword [esp + 0x26c]
jmp 0x526312
call sym.runtime.gcWriteBarrier1
mov edx, dword [esp + 0x26c]
mov dword [edi], edx
mov dword [esp + 0x258], eax
mov dword [eax], edx
mov dword [eax + 0xc], 0x19
mov dword [eax + 0x10], ecx
lea ecx, [esp + 0x158]
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 + 0x18], eax
mov eax, dword [0x6ddfe0]
test eax, eax
je 0x52636d
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 + 0x168]
mov ebx, dword [esp + 0x16c]
mov dword [edx + 0x1c], ecx
mov dword [edx + 0x20], ebx
mov ecx, dword [esp + 0x170]
mov ebx, dword [esp + 0x174]
mov dword [edx + 0x24], ecx
mov dword [edx + 0x28], ebx
mov ecx, dword [esp + 0x178]
mov ebx, dword [esp + 0x17c]
mov dword [edx + 0x2c], ecx
mov dword [edx + 0x30], ebx
mov ecx, dword [esp + 0x180]
mov ebx, dword [esp + 0x184]
mov dword [edx + 0x34], ecx
mov dword [edx + 0x38], ebx
mov ecx, dword [esp + 0x188]
mov dword [edx + 0x3c], ecx
mov ecx, dword [esp + 0x18c]
mov dword [edx + 0x40], ecx
mov ecx, dword [esp + 0x190]
mov dword [edx + 0x44], ecx
mov ecx, dword [esp + 0x194]
mov dword [edx + 0x48], ecx
mov ecx, dword [esp + 0x264]
mov ebx, dword [ecx + 0x2c]
mov ebp, dword [ecx + 0x28]
inc ebp
mov esi, dword [ecx + 0x24]
cmp ebx, ebp
jae 0x52645c
mov dword [esp], esi
mov dword [esp + 4], ebp
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
lea eax, [0x555260]
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 + 0x264]
mov dword [ebx + 0x2c], eax
mov eax, dword [0x6ddfe0]
test eax, eax
je 0x52644c
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 + 0x258]
mov dword [ecx + 0x28], ebp
lea ebx, [esi + ebp*8 - 8]
mov eax, ecx
lea ecx, [0x5b79d8]
mov dword [ebx], ecx
mov ebx, dword [0x6ddfe0]
lea ebp, [esi + ebp*8 - 4]
test ebx, ebx
je 0x526488
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 0x527027
lea edi, [esp + 0xbc]
xor eax, eax
call fcn.00460baa
nop
lea ecx, [0x55ee80]
mov dword [esp], ecx
call sym.runtime.newobject
mov ecx, dword [esp + 4]
mov edx, dword [esp + 0x48]
mov dword [ecx + 4], edx
mov ebx, dword [esp + 0x74]
mov dword [ecx + 8], ebx
mov ebp, dword [0x6ddfe0]
test ebp, ebp
jne 0x5264d4
mov eax, dword [esp + 0x26c]
jmp 0x5264e2
call sym.runtime.gcWriteBarrier1
mov eax, dword [esp + 0x26c]
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, [0x5b7910]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x7c]
mov dword [esp + 8], ecx
mov ebx, dword [esp + 0x270]
mov dword [esp + 0xc], ebx
lea ebp, [0x54aaa0]
mov dword [esp + 0x10], ebp
lea esi, [esp + 0xbc]
mov dword [esp + 0x14], esi
call sym.encoding_binary.Read
mov eax, dword [esp + 0x18]
test eax, eax
jne 0x526db4
lea eax, [0x565a00]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 0xc4]
mov ecx, dword [esp + 0x48]
cmp eax, ecx
jae 0x526d1b
mov edx, dword [esp + 4]
mov dword [esp + 0x25c], edx
mov ebx, dword [esp + 0x74]
sub ebx, eax
mov esi, ebx
neg ebx
sar ebx, 0x1f
and ebx, eax
mov edi, dword [esp + 0x26c]
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 + 0x25c]
mov dword [edx + 0x10], eax
mov eax, dword [0x6ddfe0]
test eax, eax
je 0x5265be
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 + 0xc8]
mov dword [edx + 0x14], eax
mov eax, dword [esp + 0xcc]
mov dword [edx + 0x18], eax
mov eax, dword [esp + 0xd0]
mov dword [edx + 0x1c], eax
mov eax, dword [esp + 0x48]
mov dword [edx + 4], eax
mov eax, dword [esp + 0x74]
mov dword [edx + 8], eax
mov eax, dword [0x6ddfe0]
test eax, eax
jne 0x526600
mov eax, dword [esp + 0x26c]
jmp 0x526613
call sym.runtime.gcWriteBarrier2
mov eax, dword [esp + 0x26c]
mov dword [edi], eax
mov ecx, dword [edx]
mov dword [edi + 4], ecx
mov dword [edx], eax
mov eax, dword [esp + 0x264]
mov ecx, dword [eax + 0x2c]
mov ebx, dword [eax + 0x28]
inc ebx
mov ebp, dword [eax + 0x24]
cmp ecx, ebx
jae 0x526689
mov dword [esp], ebp
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x555260]
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 + 0x264]
mov dword [ebx + 0x2c], eax
mov eax, dword [0x6ddfe0]
test eax, eax
je 0x526679
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 + 0x25c]
mov dword [eax + 0x28], ebx
lea ecx, [ebp + ebx*8 - 8]
lea esi, [0x5b799c]
mov dword [ecx], esi
mov ecx, dword [0x6ddfe0]
lea ebx, [ebp + ebx*8 - 4]
test ecx, ecx
je 0x5266b2
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, [0x5b79c4]
xor eax, eax
test eax, eax
jne 0x5266db
mov ecx, dword [esp + 0x2a8]
mov edx, dword [esp + 0x2ac]
lea ebp, [0x5b77a8]
jmp 0x52550a
mov dword [esp + 0x258], eax
mov edx, dword [eax + 0x30]
test edx, edx
jl 0x526f69
mov ebx, dword [eax + 0x38]
test ebx, ebx
jl 0x526ec6
mov dword [esp + 0x8c], edx
mov ebp, dword [eax + 0x2c]
mov dword [esp + 0x80], ebp
mov edi, dword [eax + 0x34]
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 ecx, esi
or eax, ecx
test al, al
je 0x526739
add edi, ebp
adc ebx, edx
jmp 0x526743
mov ebx, 0x7fffffff
mov edi, 0xffffffff
mov dword [esp + 0x50], ebx
mov dword [esp + 0x4c], edi
lea eax, [0x5608e0]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x2a8]
mov dword [eax], ecx
mov edx, dword [0x6ddfe0]
test edx, edx
jne 0x526779
mov edx, dword [esp + 0x2ac]
jmp 0x526787
call sym.runtime.gcWriteBarrier1
mov edx, dword [esp + 0x2ac]
mov dword [edi], edx
mov dword [eax + 4], edx
mov ebx, dword [esp + 0x80]
mov dword [eax + 8], ebx
mov ebp, dword [esp + 0x8c]
mov dword [eax + 0xc], ebp
mov dword [eax + 0x10], ebx
mov dword [eax + 0x14], ebp
mov ebx, dword [esp + 0x4c]
mov dword [eax + 0x18], ebx
mov ebx, dword [esp + 0x50]
mov dword [eax + 0x1c], ebx
mov ebx, dword [0x6ddfe0]
test ebx, ebx
jne 0x5267c5
mov ebx, dword [esp + 0x258]
jmp 0x5267d9
call sym.runtime.gcWriteBarrier2
mov dword [edi], eax
mov ebx, dword [esp + 0x258]
mov ebp, dword [ebx + 0x54]
mov dword [edi + 4], ebp
mov dword [ebx + 0x54], eax
lea ebp, [0x5b77a8]
mov dword [ebx + 0x4c], ebp
mov esi, dword [0x6ddfe0]
test esi, esi
je 0x5267fc
call sym.runtime.gcWriteBarrier2
mov dword [edi], eax
mov esi, dword [ebx + 0x50]
mov dword [edi + 4], esi
mov dword [ebx + 0x50], eax
jmp 0x52550a
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x2b0], 0
mov dword [esp + 0x2b4], eax
mov dword [esp + 0x2b8], ecx
add esp, 0x2a4
ret
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x2b0], 0
mov dword [esp + 0x2b4], eax
mov dword [esp + 0x2b8], ecx
add esp, 0x2a4
ret
mov dword [esp + 0x294], 0
mov dword [esp + 0x298], 0
mov dword [esp + 0x29c], 0
mov dword [esp + 0x2a0], 0
mov eax, dword [esp + 0x204]
add eax, dword [esp + 0x200]
mov dword [esp], eax
call sym.runtime.convT32
mov eax, dword [esp + 4]
lea ecx, [0x550dc0]
mov dword [esp + 0x294], ecx
mov dword [esp + 0x298], eax
mov eax, dword [esp + 0x84]
mov dword [esp], eax
call sym.runtime.convT32
mov eax, dword [esp + 4]
lea ecx, [0x550c40]
mov dword [esp + 0x29c], ecx
mov dword [esp + 0x2a0], eax
lea eax, [0x58ea47]
mov dword [esp], eax
mov dword [esp + 4], 0x75
lea eax, [esp + 0x294]
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 + 0x88], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x278], ecx
lea edx, [0x55f680]
mov dword [esp], edx
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x54]
mov dword [eax], ecx
mov ecx, dword [esp + 0x58]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x88]
mov dword [eax + 0xc], ecx
mov ecx, dword [0x6ddfe0]
test ecx, ecx
jne 0x526958
mov ecx, dword [esp + 0x278]
jmp 0x526966
call sym.runtime.gcWriteBarrier1
mov ecx, dword [esp + 0x278]
mov dword [edi], ecx
mov dword [eax + 8], ecx
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0
mov dword [esp + 0x2b0], 0
lea ecx, [0x5b7960]
mov dword [esp + 0x2b4], ecx
mov dword [esp + 0x2b8], eax
add esp, 0x2a4
ret
mov dword [esp + 0x294], 0
mov dword [esp + 0x298], 0
mov dword [esp + 0x29c], 0
mov dword [esp + 0x2a0], 0
mov eax, dword [esp + 0x200]
mov dword [esp], eax
call sym.runtime.convT32
mov eax, dword [esp + 4]
lea ecx, [0x550dc0]
mov dword [esp + 0x294], ecx
mov dword [esp + 0x298], eax
mov eax, dword [esp + 0x84]
mov dword [esp], eax
call sym.runtime.convT32
mov eax, dword [esp + 4]
lea ecx, [0x550c40]
mov dword [esp + 0x29c], ecx
mov dword [esp + 0x2a0], eax
lea eax, [0x58e97c]
mov dword [esp], eax
mov dword [esp + 4], 0x65
lea eax, [esp + 0x294]
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 + 0x88], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x278], ecx
lea edx, [0x55f680]
mov dword [esp], edx
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x54]
mov dword [eax], ecx
mov ecx, dword [esp + 0x58]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x88]
mov dword [eax + 0xc], ecx
mov ecx, dword [0x6ddfe0]
test ecx, ecx
jne 0x526a9a
mov ecx, dword [esp + 0x278]
jmp 0x526aa8
call sym.runtime.gcWriteBarrier1
mov ecx, dword [esp + 0x278]
mov dword [edi], ecx
mov dword [eax + 8], ecx
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0
mov dword [esp + 0x2b0], 0
lea ecx, [0x5b7960]
mov dword [esp + 0x2b4], ecx
mov dword [esp + 0x2b8], eax
add esp, 0x2a4
ret
lea eax, [0x55f680]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x54]
mov dword [eax], ecx
mov ecx, dword [esp + 0x58]
mov dword [eax + 4], ecx
mov dword [eax + 0xc], 0x3a
lea ecx, [0x58e16a]
mov dword [eax + 8], ecx
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0
mov dword [esp + 0x2b0], 0
lea ecx, [0x5b7960]
mov dword [esp + 0x2b4], ecx
mov dword [esp + 0x2b8], eax
add esp, 0x2a4
ret
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x2b0], 0
mov dword [esp + 0x2b4], eax
mov dword [esp + 0x2b8], ecx
add esp, 0x2a4
ret
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x2b0], 0
mov dword [esp + 0x2b4], eax
mov dword [esp + 0x2b8], ecx
add esp, 0x2a4
ret
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x2b0], 0
mov dword [esp + 0x2b4], eax
mov dword [esp + 0x2b8], ecx
add esp, 0x2a4
ret
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x2b0], 0
mov dword [esp + 0x2b4], eax
mov dword [esp + 0x2b8], ecx
add esp, 0x2a4
ret
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x2b0], 0
mov dword [esp + 0x2b4], eax
mov dword [esp + 0x2b8], ecx
add esp, 0x2a4
ret
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x2b0], 0
mov dword [esp + 0x2b4], eax
mov dword [esp + 0x2b8], ecx
add esp, 0x2a4
ret
lea eax, [0x55f680]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov dword [esp + 0x274], eax
mov ecx, dword [esp + 0x54]
mov dword [eax], ecx
mov ecx, dword [esp + 0x58]
mov dword [eax + 4], ecx
mov dword [eax + 0xc], 0x1d
lea ecx, [0x5898d1]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0xa0]
mov dword [esp], ecx
call sym.runtime.convT32
mov eax, dword [esp + 4]
lea ecx, [0x550dc0]
mov edx, dword [esp + 0x274]
mov dword [edx + 0x10], ecx
mov ecx, dword [0x6ddfe0]
test ecx, ecx
je 0x526ca2
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 + 0x2b0], 0
lea eax, [0x5b7960]
mov dword [esp + 0x2b4], eax
mov dword [esp + 0x2b8], edx
add esp, 0x2a4
ret
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x2b0], 0
mov dword [esp + 0x2b4], eax
mov dword [esp + 0x2b8], ecx
add esp, 0x2a4
ret
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x2b0], 0
mov dword [esp + 0x2b4], eax
mov dword [esp + 0x2b8], ecx
add esp, 0x2a4
ret
lea eax, [0x55f680]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov dword [esp + 0x274], eax
mov ecx, dword [esp + 0x54]
mov dword [eax], ecx
mov ecx, dword [esp + 0x58]
mov dword [eax + 4], ecx
mov dword [eax + 0xc], 0x27
lea ecx, [0x58bf72]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0xc4]
mov dword [esp], ecx
call sym.runtime.convT32
mov eax, dword [esp + 4]
lea ecx, [0x550dc0]
mov edx, dword [esp + 0x274]
mov dword [edx + 0x10], ecx
mov ecx, dword [0x6ddfe0]
test ecx, ecx
je 0x526d8b
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 + 0x2b0], 0
lea eax, [0x5b7960]
mov dword [esp + 0x2b4], eax
mov dword [esp + 0x2b8], edx
add esp, 0x2a4
ret
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x2b0], 0
mov dword [esp + 0x2b4], eax
mov dword [esp + 0x2b8], ecx
add esp, 0x2a4
ret
lea eax, [0x55f680]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x54]
mov dword [eax], ecx
mov ecx, dword [esp + 0x58]
mov dword [eax + 4], ecx
mov dword [eax + 0xc], 0x1a
lea ecx, [0x588a3e]
mov dword [eax + 8], ecx
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0
mov dword [esp + 0x2b0], 0
lea ecx, [0x5b7960]
mov dword [esp + 0x2b4], ecx
mov dword [esp + 0x2b8], eax
add esp, 0x2a4
ret
lea eax, [0x55f680]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x54]
mov dword [eax], ecx
mov ecx, dword [esp + 0x58]
mov dword [eax + 4], ecx
mov dword [eax + 0xc], 0x17
lea ecx, [0x5877a9]
mov dword [eax + 8], ecx
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0
mov dword [esp + 0x2b0], 0
lea ecx, [0x5b7960]
mov dword [esp + 0x2b4], ecx
mov dword [esp + 0x2b8], eax
add esp, 0x2a4
ret
mov dword [esp + 0x2b0], ecx
mov dword [esp + 0x2b4], 0
mov dword [esp + 0x2b8], 0
add esp, 0x2a4
ret
lea eax, [0x55f680]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov dword [esp + 0x274], eax
mov ecx, dword [esp + 0x54]
mov dword [eax], ecx
mov ecx, dword [esp + 0x58]
mov dword [eax + 4], ecx
mov dword [eax + 0xc], 0x19
lea ecx, [0x588446]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x258]
mov edx, dword [ecx + 0x34]
mov ecx, dword [ecx + 0x38]
mov dword [esp + 4], ecx
mov dword [esp], edx
call sym.runtime.convT64
mov eax, dword [esp + 8]
lea ecx, [0x550ec0]
mov edx, dword [esp + 0x274]
mov dword [edx + 0x10], ecx
mov ecx, dword [0x6ddfe0]
test ecx, ecx
je 0x526f40
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 + 0x2b0], 0
lea eax, [0x5b7960]
mov dword [esp + 0x2b4], eax
mov dword [esp + 0x2b8], edx
add esp, 0x2a4
ret
lea eax, [0x55f680]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov dword [esp + 0x274], eax
mov ecx, dword [esp + 0x54]
mov dword [eax], ecx
mov ecx, dword [esp + 0x58]
mov dword [eax + 4], ecx
mov dword [eax + 0xc], 0x16
lea ecx, [0x586eda]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x258]
mov edx, dword [ecx + 0x2c]
mov ecx, dword [ecx + 0x30]
mov dword [esp + 4], ecx
mov dword [esp], edx
call sym.runtime.convT64
mov eax, dword [esp + 8]
lea ecx, [0x550ec0]
mov edx, dword [esp + 0x274]
mov dword [edx + 0x10], ecx
mov ecx, dword [0x6ddfe0]
test ecx, ecx
je 0x526fe3
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 + 0x2b0], 0
lea eax, [0x5b7960]
mov dword [esp + 0x2b4], eax
mov dword [esp + 0x2b8], edx
add esp, 0x2a4
ret
mov ebp, dword [esp + 0x5c]
lea ebx, [ebp + 1]
mov eax, dword [esp + 0x264]
lea ecx, [0x5b79d8]
mov edx, dword [esp + 0x258]
cmp dword [edx + 0x44], ebx
jle 0x52721b
mov dword [esp + 0x5c], ebx
lea edi, [esp + 0x198]
xor eax, eax
call fcn.00460b9c
lea ecx, [0x5b7910]
mov dword [esp], ecx
mov edx, dword [esp + 0x238]
mov dword [esp + 4], edx
mov ebx, dword [esp + 0x7c]
mov dword [esp + 8], ebx
mov ebp, dword [esp + 0x270]
mov dword [esp + 0xc], ebp
lea esi, [0x54aca0]
mov dword [esp + 0x10], esi
lea esi, [esp + 0x198]
mov dword [esp + 0x14], esi
call sym.encoding_binary.Read
mov ecx, dword [esp + 0x18]
test ecx, ecx
jne 0x5271f3
lea eax, [0x563440]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov dword [esp + 0x250], eax
lea ecx, [esp + 0x198]
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 + 0x250]
mov dword [edx + 4], eax
mov eax, dword [0x6ddfe0]
test eax, eax
je 0x5270ef
call sym.runtime.gcWriteBarrier2
mov dword [edi], ecx
mov eax, dword [edx]
mov dword [edi + 4], eax
mov dword [edx], ecx
lea eax, [esp + 0x1a8]
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 + 0x250]
mov dword [edx + 0xc], eax
mov eax, dword [0x6ddfe0]
test eax, eax
je 0x527139
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 + 0x1b8]
mov ecx, dword [esp + 0x1bc]
mov dword [edx + 0x10], eax
mov dword [edx + 0x14], ecx
mov eax, dword [esp + 0x1c0]
mov ecx, dword [esp + 0x1c4]
mov dword [edx + 0x18], eax
mov dword [edx + 0x1c], ecx
mov eax, dword [esp + 0x1c8]
mov dword [edx + 0x20], eax
mov eax, dword [esp + 0x1cc]
mov dword [edx + 0x24], eax
mov eax, dword [esp + 0x1d0]
mov dword [edx + 0x28], eax
mov eax, dword [esp + 0x1d4]
mov dword [edx + 0x2c], eax
mov eax, dword [esp + 0x1d8]
mov dword [edx + 0x30], eax
mov eax, dword [esp + 0x264]
mov dword [esp], eax
mov dword [esp + 4], edx
mov ecx, dword [esp + 0x2a8]
mov dword [esp + 8], ecx
mov edx, dword [esp + 0x2ac]
mov dword [esp + 0xc], edx
call sym.debug_macho._File_.pushSection
mov eax, dword [esp + 0x10]
test eax, eax
je 0x52700c
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x2b0], 0
mov dword [esp + 0x2b4], eax
mov dword [esp + 0x2b8], ecx
add esp, 0x2a4
ret
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x2b0], 0
mov dword [esp + 0x2b4], eax
mov dword [esp + 0x2b8], ecx
add esp, 0x2a4
ret
mov ecx, eax
lea esi, [0x5b79c4]
mov eax, edx
jmp 0x5266be
mov ebp, dword [esp + 0x60]
lea ebx, [ebp + 1]
mov eax, dword [esp + 0x264]
lea ecx, [0x5b79d8]
mov edx, dword [esp + 0x258]
cmp dword [edx + 0x44], ebx
jle 0x527433
mov dword [esp + 0x60], ebx
lea edi, [esp + 0x10c]
xor eax, eax
call fcn.00460b9f
lea ecx, [0x5b7910]
mov dword [esp], ecx
mov edx, dword [esp + 0x23c]
mov dword [esp + 4], edx
mov ebx, dword [esp + 0x7c]
mov dword [esp + 8], ebx
mov ebp, dword [esp + 0x270]
mov dword [esp + 0xc], ebp
lea esi, [0x54ac60]
mov dword [esp + 0x10], esi
lea esi, [esp + 0x10c]
mov dword [esp + 0x14], esi
call sym.encoding_binary.Read
mov ecx, dword [esp + 0x18]
test ecx, ecx
jne 0x52740b
lea eax, [0x563440]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov dword [esp + 0x254], eax
lea ecx, [esp + 0x10c]
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 + 0x254]
mov dword [edx + 4], eax
mov eax, dword [0x6ddfe0]
test eax, eax
je 0x52730d
call sym.runtime.gcWriteBarrier2
mov dword [edi], ecx
mov eax, dword [edx]
mov dword [edi + 4], eax
mov dword [edx], ecx
lea eax, [esp + 0x11c]
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 + 0x254]
mov dword [edx + 0xc], eax
mov eax, dword [0x6ddfe0]
test eax, eax
je 0x527357
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 + 0x12c]
mov dword [edx + 0x10], eax
mov dword [edx + 0x14], 0
mov eax, dword [esp + 0x130]
mov dword [edx + 0x18], eax
mov dword [edx + 0x1c], 0
mov eax, dword [esp + 0x134]
mov dword [edx + 0x20], eax
mov eax, dword [esp + 0x138]
mov dword [edx + 0x24], eax
mov eax, dword [esp + 0x13c]
mov dword [edx + 0x28], eax
mov eax, dword [esp + 0x140]
mov dword [edx + 0x2c], eax
mov eax, dword [esp + 0x144]
mov dword [edx + 0x30], eax
mov eax, dword [esp + 0x264]
mov dword [esp], eax
mov dword [esp + 4], edx
mov ecx, dword [esp + 0x2a8]
mov dword [esp + 8], ecx
mov edx, dword [esp + 0x2ac]
mov dword [esp + 0xc], edx
call sym.debug_macho._File_.pushSection
mov eax, dword [esp + 0x10]
test eax, eax
je 0x52722a
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x2b0], 0
mov dword [esp + 0x2b4], eax
mov dword [esp + 0x2b8], ecx
add esp, 0x2a4
ret
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x2b0], 0
mov dword [esp + 0x2b4], eax
mov dword [esp + 0x2b8], ecx
add esp, 0x2a4
ret
mov ecx, eax
lea esi, [0x5b79c4]
mov eax, edx
jmp 0x5266be
call sym.runtime.morestack_noctxt
jmp sym.debug_macho.NewFile