Function at 0x4b72a0
Capabilities:
Enumerate pe sections
Resolve function by parsing pe exports

Disassembly:
mov ecx, dword [0x5e3958]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0x32c]
cmp eax, dword [ecx + 8]
jbe 0x4b98bb
sub esp, 0x3ac
nop
lea eax, [0x4ee240]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x3b0]
mov dword [eax], ecx
mov edx, dword [0x5e3a60]
test edx, edx
jne 0x4b72f0
mov edx, dword [esp + 0x3b4]
jmp 0x4b72fe
call sym.runtime.gcWriteBarrier1
mov edx, dword [esp + 0x3b4]
mov dword [edi], edx
mov dword [esp + 0x2ec], 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, [0x4e0bc0]
mov dword [esp], ecx
call sym.runtime.newobject
mov eax, dword [esp + 0x3b0]
mov eax, dword [eax + 0x10]
mov ecx, dword [esp + 4]
mov dword [esp + 0x318], ecx
mov edx, dword [esp + 0x3b4]
mov dword [esp], edx
mov dword [esp + 8], 0x10
mov dword [esp + 0xc], 0x10
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
call eax
mov eax, dword [esp + 0x1c]
test eax, eax
jne 0x4b7d65
mov eax, dword [esp + 0x318]
cmp byte [eax], 0x7f
jne 0x4b73af
cmp byte [eax + 1], 0x45
jne 0x4b73af
cmp byte [eax + 2], 0x4c
jne 0x4b73af
cmp byte [eax + 3], 0x46
je 0x4b744b
lea eax, [0x4ecbe0]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov dword [esp + 0x314], eax
mov dword [eax + 0xc], 0x10
lea ecx, [0x4ff4dd]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x318]
mov dword [esp], ecx
mov dword [esp + 4], 4
mov dword [esp + 8], 0x10
call sym.runtime.convTslice
mov eax, dword [esp + 0xc]
lea ecx, [0x4de960]
mov edx, dword [esp + 0x314]
mov dword [edx + 0x10], ecx
mov ecx, dword [0x5e3a60]
test ecx, ecx
je 0x4b7422
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 + 0x3b8], 0
lea eax, [0x528360]
mov dword [esp + 0x3bc], eax
mov dword [esp + 0x3c0], edx
add esp, 0x3ac
ret
lea eax, [0x4f1620]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov dword [esp + 0x308], eax
mov ecx, dword [esp + 0x318]
movzx edx, byte [ecx + 4]
mov byte [eax], dl
movzx edx, dl
cmp dl, 1
je 0x4b7482
cmp dl, 2
jne 0x4b7cfe
movzx edx, byte [ecx + 5]
mov byte [eax + 1], dl
movzx edx, dl
cmp dl, 1
jne 0x4b74a5
lea edx, [0x528854]
mov dword [eax + 8], edx
lea edx, [0x5e3820]
mov dword [eax + 0xc], edx
jmp 0x4b74c0
cmp dl, 2
jne 0x4b7c96
lea edx, [0x528880]
mov dword [eax + 8], edx
lea edx, [0x5e3820]
mov dword [eax + 0xc], edx
movzx edx, byte [ecx + 6]
mov byte [eax + 2], dl
movzx edx, dl
cmp dl, 1
jne 0x4b7c2e
movzx edx, byte [ecx + 7]
mov byte [eax + 3], dl
movzx ecx, byte [ecx + 8]
mov byte [eax + 4], cl
movzx ecx, byte [eax]
cmp cl, 1
je 0x4b76ca
cmp cl, 2
je 0x4b7519
xor edi, edi
xor esi, esi
xor edx, edx
xor ecx, ecx
xor ebx, ebx
xor ebp, ebp
xor edx, edx
mov dword [esp + 0x68], edx
xor ecx, ecx
mov dword [esp + 0x38], ecx
xor ecx, ecx
mov dword [esp + 0x48], ecx
xor edx, edx
xor ecx, ecx
jmp 0x4b77c5
lea edi, [esp + 0x2a8]
xor eax, eax
call fcn.004600b0
mov ecx, dword [esp + 0x2ec]
mov edx, dword [ecx + 8]
mov ebx, dword [ecx + 0xc]
nop
mov dword [ecx + 0x10], edx
mov dword [ecx + 0x14], ebx
mov edx, dword [esp + 0x308]
mov ebx, dword [edx + 8]
mov ebp, dword [edx + 0xc]
lea esi, [0x528374]
mov dword [esp], esi
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ebp
lea ebx, [0x4dd0a0]
mov dword [esp + 0x10], ebx
lea ebx, [esp + 0x2a8]
mov dword [esp + 0x14], ebx
call sym.encoding_binary.Read
mov ecx, dword [esp + 0x18]
test ecx, ecx
jne 0x4b76a2
movzx eax, word [esp + 0x2b8]
mov ecx, dword [esp + 0x308]
mov word [ecx + 0x10], ax
movzx eax, word [esp + 0x2ba]
mov word [ecx + 0x12], ax
mov eax, dword [esp + 0x2c0]
mov edx, dword [esp + 0x2c4]
mov dword [ecx + 0x14], eax
mov dword [ecx + 0x18], edx
mov eax, dword [esp + 0x2bc]
cmp byte [ecx + 2], al
jne 0x4b7634
mov eax, dword [esp + 0x2c8]
mov dword [esp + 0x5c], eax
mov edx, dword [esp + 0x2cc]
movzx ebx, word [esp + 0x2de]
movzx ebp, word [esp + 0x2e0]
mov esi, dword [esp + 0x2d0]
mov edi, dword [esp + 0x2d4]
movzx ecx, word [esp + 0x2e2]
movzx eax, word [esp + 0x2e4]
mov dword [esp + 0xac], eax
movzx eax, word [esp + 0x2e6]
mov dword [esp + 0x68], ebx
mov dword [esp + 0x38], eax
mov dword [esp + 0x48], ecx
mov eax, dword [esp + 0x308]
mov ecx, dword [esp + 0x5c]
mov ebx, dword [esp + 0xac]
jmp 0x4b77c5
mov dword [esp + 0xa8], eax
lea eax, [0x4ecbe0]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov dword [eax + 0xc], 0x16
lea ecx, [0x501caf]
mov dword [eax + 8], ecx
lea ecx, [0x4e7220]
mov dword [eax + 0x10], ecx
mov ecx, dword [esp + 0xa8]
movzx ecx, cl
lea edx, [0x5b3bc0]
lea ecx, [edx + ecx*8]
mov dword [eax + 0x14], ecx
mov dword [esp + 0x3b8], 0
lea ecx, [0x528360]
mov dword [esp + 0x3bc], ecx
mov dword [esp + 0x3c0], eax
add esp, 0x3ac
ret
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x3b8], 0
mov dword [esp + 0x3bc], eax
mov dword [esp + 0x3c0], ecx
add esp, 0x3ac
ret
lea edi, [esp + 0x14c]
xor eax, eax
call fcn.004600b3
mov ecx, dword [esp + 0x2ec]
mov edx, dword [ecx + 8]
mov ebx, dword [ecx + 0xc]
nop
mov dword [ecx + 0x10], edx
mov dword [ecx + 0x14], ebx
mov edx, dword [esp + 0x308]
mov ebx, dword [edx + 8]
mov ebp, dword [edx + 0xc]
lea esi, [0x528374]
mov dword [esp], esi
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ebp
lea ebx, [0x4dd060]
mov dword [esp + 0x10], ebx
lea ebx, [esp + 0x14c]
mov dword [esp + 0x14], ebx
call sym.encoding_binary.Read
mov ecx, dword [esp + 0x18]
test ecx, ecx
jne 0x4b7c06
movzx eax, word [esp + 0x15c]
mov ecx, dword [esp + 0x308]
mov word [ecx + 0x10], ax
movzx eax, word [esp + 0x15e]
mov word [ecx + 0x12], ax
mov eax, dword [esp + 0x164]
mov dword [ecx + 0x14], eax
mov dword [ecx + 0x18], 0
mov eax, dword [esp + 0x160]
cmp byte [ecx + 2], al
jne 0x4b7b98
mov eax, dword [esp + 0x168]
movzx ebx, word [esp + 0x176]
movzx ebp, word [esp + 0x178]
mov esi, dword [esp + 0x16c]
movzx edx, word [esp + 0x17a]
movzx edi, word [esp + 0x17c]
movzx ecx, word [esp + 0x17e]
mov dword [esp + 0x68], ebx
mov dword [esp + 0x38], ecx
mov dword [esp + 0x48], edx
xor edx, edx
mov ecx, eax
mov ebx, edi
mov eax, dword [esp + 0x308]
xor edi, edi
mov dword [esp + 0x3c], esi
mov dword [esp + 0x40], edi
test edi, edi
jl 0x4b7b07
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x60], edx
test edx, edx
jl 0x4b7a76
mov dword [esp + 0x44], ebx
test edi, edi
xchg edi, ebx
sete bl
xchg edi, ebx
test esi, esi
xchg esi, ebx
sete bl
xchg esi, ebx
and esi, edi
xchg esi, eax
test al, al
xchg esi, eax
je 0x4b789d
test ebx, ebx
jne 0x4b7814
mov esi, dword [esp + 0x38]
jmp 0x4b793e
lea eax, [0x4ecbe0]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov dword [esp + 0x314], eax
mov dword [eax + 0xc], 0x1d
lea ecx, [0x504572]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x44]
mov dword [esp], ecx
call sym.runtime.convT32
mov eax, dword [esp + 4]
lea ecx, [0x4e2940]
mov edx, dword [esp + 0x314]
mov dword [edx + 0x10], ecx
mov ecx, dword [0x5e3a60]
test ecx, ecx
je 0x4b7874
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 + 0x3b8], 0
lea eax, [0x528360]
mov dword [esp + 0x3bc], eax
mov dword [esp + 0x3c0], edx
add esp, 0x3ac
ret
test ebx, ebx
jle 0x4b793a
mov esi, dword [esp + 0x38]
cmp esi, ebx
jl 0x4b793e
lea eax, [0x4ecbe0]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov dword [esp + 0x314], eax
mov dword [eax + 0xc], 0x14
lea ecx, [0x500f50]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x38]
mov dword [esp], ecx
call sym.runtime.convT32
mov eax, dword [esp + 4]
lea ecx, [0x4e2940]
mov edx, dword [esp + 0x314]
mov dword [edx + 0x10], ecx
mov ecx, dword [0x5e3a60]
test ecx, ecx
je 0x4b7911
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 + 0x3b8], 0
lea eax, [0x528360]
mov dword [esp + 0x3bc], eax
mov dword [esp + 0x3c0], edx
add esp, 0x3ac
ret
mov esi, dword [esp + 0x38]
movzx esi, byte [eax]
xchg esi, eax
cmp al, 1
xchg esi, eax
jne 0x4b795d
mov esi, 0x20
mov esi, 0x28
mov dword [esp + 0x28], esi
mov esi, 0x20
jmp 0x4b7983
xchg esi, eax
cmp al, 2
xchg esi, eax
jne 0x4b7979
mov esi, 0x38
mov esi, 0x40
mov dword [esp + 0x28], esi
mov esi, 0x38
jmp 0x4b7983
xor esi, esi
xor esi, esi
mov dword [esp + 0x28], esi
xor esi, esi
xchg edi, eax
mov byte [esp + 0x27], al
xchg edi, eax
test ebp, ebp
jle 0x4b7a26
mov ebx, dword [esp + 0x68]
cmp ebx, esi
jge 0x4b7a26
lea eax, [0x4ecbe0]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov dword [esp + 0x314], eax
mov dword [eax + 0xc], 0x15
lea ecx, [0x5015ce]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x68]
mov dword [esp], ecx
call sym.runtime.convT32
mov eax, dword [esp + 4]
lea ecx, [0x4e2940]
mov edx, dword [esp + 0x314]
mov dword [edx + 0x10], ecx
mov ecx, dword [0x5e3a60]
test ecx, ecx
je 0x4b79fd
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 + 0x3b8], 0
lea eax, [0x528360]
mov dword [esp + 0x3bc], eax
mov dword [esp + 0x3c0], edx
add esp, 0x3ac
ret
mov dword [esp + 0x64], ebp
lea eax, [0x4e87e0]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], ebp
call sym.runtime.makeslice
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x64]
mov edx, dword [esp + 0x308]
mov dword [edx + 0x2c], ecx
mov dword [edx + 0x30], ecx
mov ebx, dword [0x5e3a60]
test ebx, ebx
je 0x4b7a6c
call sym.runtime.gcWriteBarrier2
mov dword [edi], eax
mov ebx, dword [edx + 0x28]
mov dword [edi + 4], ebx
mov dword [edx + 0x28], eax
xor eax, eax
jmp 0x4b7d99
lea eax, [0x4ecbe0]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov dword [esp + 0x314], eax
mov dword [eax + 0xc], 0xd
lea ecx, [0x4fe6b9]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x60]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x5c]
mov dword [esp], ecx
call sym.runtime.convT64
mov eax, dword [esp + 8]
lea ecx, [0x4e2a00]
mov edx, dword [esp + 0x314]
mov dword [edx + 0x10], ecx
mov ecx, dword [0x5e3a60]
test ecx, ecx
je 0x4b7ade
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 + 0x3b8], 0
lea eax, [0x528360]
mov dword [esp + 0x3bc], eax
mov dword [esp + 0x3c0], edx
add esp, 0x3ac
ret
lea eax, [0x4ecbe0]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov dword [esp + 0x314], eax
mov dword [eax + 0xc], 0xd
lea ecx, [0x4fe6ac]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x40]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x3c]
mov dword [esp], ecx
call sym.runtime.convT64
mov eax, dword [esp + 8]
lea ecx, [0x4e2a00]
mov edx, dword [esp + 0x314]
mov dword [edx + 0x10], ecx
mov ecx, dword [0x5e3a60]
test ecx, ecx
je 0x4b7b6f
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 + 0x3b8], 0
lea eax, [0x528360]
mov dword [esp + 0x3bc], eax
mov dword [esp + 0x3c0], edx
add esp, 0x3ac
ret
mov dword [esp + 0xa8], eax
lea eax, [0x4ecbe0]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov dword [eax + 0xc], 0x16
lea ecx, [0x501caf]
mov dword [eax + 8], ecx
lea ecx, [0x4e7220]
mov dword [eax + 0x10], ecx
mov ecx, dword [esp + 0xa8]
movzx ecx, cl
lea edx, [0x5b3bc0]
lea ecx, [edx + ecx*8]
mov dword [eax + 0x14], ecx
mov dword [esp + 0x3b8], 0
lea ecx, [0x528360]
mov dword [esp + 0x3bc], ecx
mov dword [esp + 0x3c0], eax
add esp, 0x3ac
ret
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x3b8], 0
mov dword [esp + 0x3bc], eax
mov dword [esp + 0x3c0], ecx
add esp, 0x3ac
ret
lea eax, [0x4ecbe0]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov dword [eax + 0xc], 0x13
lea ecx, [0x50093c]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x308]
movzx ecx, byte [ecx + 2]
lea edx, [0x4e7220]
mov dword [eax + 0x10], edx
lea edx, [0x5b3bc0]
lea ecx, [edx + ecx*8]
mov dword [eax + 0x14], ecx
mov dword [esp + 0x3b8], 0
lea ecx, [0x528360]
mov dword [esp + 0x3bc], ecx
mov dword [esp + 0x3c0], eax
add esp, 0x3ac
ret
lea eax, [0x4ecbe0]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov dword [eax + 0xc], 0x19
lea ecx, [0x502f98]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x308]
movzx ecx, byte [ecx + 1]
lea edx, [0x4e71c0]
mov dword [eax + 0x10], edx
lea edx, [0x5b3bc0]
lea ecx, [edx + ecx*8]
mov dword [eax + 0x14], ecx
mov dword [esp + 0x3b8], 0
lea ecx, [0x528360]
mov dword [esp + 0x3bc], ecx
mov dword [esp + 0x3c0], eax
add esp, 0x3ac
ret
lea eax, [0x4ecbe0]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov dword [eax + 0xc], 0x11
lea ecx, [0x4ffaa8]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x308]
movzx ecx, byte [ecx]
lea edx, [0x4e7100]
mov dword [eax + 0x10], edx
lea edx, [0x5b3bc0]
lea ecx, [edx + ecx*8]
mov dword [eax + 0x14], ecx
mov dword [esp + 0x3b8], 0
lea ecx, [0x528360]
mov dword [esp + 0x3bc], ecx
mov dword [esp + 0x3c0], eax
add esp, 0x3ac
ret
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x3b8], 0
mov dword [esp + 0x3bc], eax
mov dword [esp + 0x3c0], ecx
add esp, 0x3ac
ret
mov dword [edi + ebp*4], ebx
lea eax, [ebp + 1]
mov ecx, dword [esp + 0x64]
mov edx, esi
cmp eax, ecx
jge 0x4b83d2
mov dword [esp + 0x8c], eax
mov ebx, eax
sar ebx, 0x1f
mov ebp, dword [esp + 0x68]
mov edi, eax
mul ebp
imul ebx, ebp
add edx, ebx
sar ebp, 0x1f
imul ebp, edi
add edx, ebp
mov ebp, dword [esp + 0x2ec]
mov ebx, dword [ebp + 8]
mov dword [esp + 0xa8], ebx
mov ecx, dword [ebp + 0xc]
nop
mov edi, dword [esp + 0x5c]
add eax, edi
mov dword [esp + 0x70], eax
mov edi, dword [esp + 0x60]
adc edx, edi
mov dword [esp + 0x78], edx
add ebx, eax
adc edx, ecx
cmp ecx, edx
sete cl
xchg edi, ebx
setg bl
xchg edi, ebx
mov esi, dword [esp + 0xa8]
cmp ebx, esi
xchg esi, ebx
setb bl
xchg esi, ebx
and ecx, esi
or edi, ecx
xchg edi, eax
test al, al
xchg edi, eax
jne 0x4b7e1b
mov dword [ebp + 0x10], ebx
mov dword [ebp + 0x14], edx
lea eax, [0x4ef520]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 0x308]
movzx ecx, byte [eax]
mov edx, dword [esp + 4]
mov dword [esp + 0x300], edx
cmp cl, 1
je 0x4b7fa5
cmp cl, 2
jne 0x4b80d8
lea edi, [esp + 0x1b8]
xor eax, eax
call fcn.004600b2
mov ecx, dword [esp + 0x308]
mov edx, dword [ecx + 8]
mov ebx, dword [ecx + 0xc]
lea ebp, [0x528374]
mov dword [esp], ebp
mov esi, dword [esp + 0x2ec]
mov dword [esp + 4], esi
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebx
lea edx, [0x4dd120]
mov dword [esp + 0x10], edx
lea ebx, [esp + 0x1b8]
mov dword [esp + 0x14], ebx
call sym.encoding_binary.Read
mov ecx, dword [esp + 0x18]
test ecx, ecx
jne 0x4b823c
lea edi, [esp + 0x180]
xor eax, eax
call fcn.004600b2
mov ecx, dword [esp + 0x1b8]
mov dword [esp + 0x180], ecx
mov ecx, dword [esp + 0x1bc]
mov dword [esp + 0x184], ecx
mov ecx, dword [esp + 0x1c0]
mov edx, dword [esp + 0x1c4]
mov dword [esp + 0x188], ecx
mov dword [esp + 0x18c], edx
mov ecx, dword [esp + 0x1c8]
mov edx, dword [esp + 0x1cc]
mov dword [esp + 0x190], ecx
mov dword [esp + 0x194], edx
mov ecx, dword [esp + 0x1d0]
mov edx, dword [esp + 0x1d4]
mov dword [esp + 0x198], ecx
mov dword [esp + 0x19c], edx
mov ecx, dword [esp + 0x1d8]
mov edx, dword [esp + 0x1dc]
mov dword [esp + 0x1a0], ecx
mov dword [esp + 0x1a4], edx
mov ecx, dword [esp + 0x1e0]
mov edx, dword [esp + 0x1e4]
mov dword [esp + 0x1a8], ecx
mov dword [esp + 0x1ac], edx
mov ecx, dword [esp + 0x1e8]
mov edx, dword [esp + 0x1ec]
mov dword [esp + 0x1b0], ecx
mov dword [esp + 0x1b4], edx
mov edi, dword [esp + 0x300]
lea esi, [esp + 0x180]
call fcn.00460544
mov eax, dword [esp + 0x308]
mov edx, dword [esp + 0x300]
jmp 0x4b80d8
lea edi, [esp + 0xdc]
xor eax, eax
call fcn.004600b8
mov ecx, dword [esp + 0x308]
mov edx, dword [ecx + 8]
mov ebx, dword [ecx + 0xc]
lea ebp, [0x528374]
mov dword [esp], ebp
mov esi, dword [esp + 0x2ec]
mov dword [esp + 4], esi
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebx
lea edx, [0x4dd0e0]
mov dword [esp + 0x10], edx
lea ebx, [esp + 0xdc]
mov dword [esp + 0x14], ebx
call sym.encoding_binary.Read
mov ecx, dword [esp + 0x18]
test ecx, ecx
jne 0x4b83aa
lea edi, [esp + 0x1f0]
xor eax, eax
call fcn.004600b2
mov ecx, dword [esp + 0xdc]
mov dword [esp + 0x1f0], ecx
mov ecx, dword [esp + 0xf4]
mov dword [esp + 0x1f4], ecx
mov ecx, dword [esp + 0xe0]
mov dword [esp + 0x1f8], ecx
mov ecx, dword [esp + 0xe4]
mov dword [esp + 0x200], ecx
mov dword [esp + 0x204], 0
mov ecx, dword [esp + 0xe8]
mov dword [esp + 0x208], ecx
mov dword [esp + 0x20c], 0
mov ecx, dword [esp + 0xec]
mov dword [esp + 0x210], ecx
mov dword [esp + 0x214], 0
mov ecx, dword [esp + 0xf0]
mov dword [esp + 0x218], ecx
mov dword [esp + 0x21c], 0
mov ecx, dword [esp + 0xf8]
mov dword [esp + 0x220], ecx
mov dword [esp + 0x224], 0
mov edi, dword [esp + 0x300]
lea esi, [esp + 0x1f0]
call fcn.00460544
mov eax, dword [esp + 0x308]
mov edx, dword [esp + 0x300]
mov ecx, dword [edx + 0xc]
test ecx, ecx
jl 0x4b8307
mov ebx, dword [edx + 0x24]
test ebx, ebx
jl 0x4b8264
mov dword [esp + 0xa8], ecx
mov ebp, dword [edx + 8]
mov dword [esp + 0xa4], ebp
mov esi, dword [edx + 0x20]
mov edi, 0xffffffff
sub edi, esi
mov eax, 0x7fffffff
sbb eax, ebx
cmp ecx, eax
sete al
setl dl
cmp edi, ebp
xchg edi, ebx
setae bl
xchg edi, ebx
and eax, edi
or edx, eax
test dl, dl
je 0x4b812f
add esi, ebp
adc ebx, ecx
jmp 0x4b8139
mov ebx, 0x7fffffff
mov esi, 0xffffffff
mov dword [esp + 0x50], esi
mov dword [esp + 0x58], ebx
lea eax, [0x4ee240]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x3b0]
mov dword [eax], ecx
mov edx, dword [0x5e3a60]
test edx, edx
jne 0x4b816f
mov edx, dword [esp + 0x3b4]
jmp 0x4b817d
call sym.runtime.gcWriteBarrier1
mov edx, dword [esp + 0x3b4]
mov dword [edi], edx
mov dword [eax + 4], edx
mov ebx, dword [esp + 0xa4]
mov dword [eax + 8], ebx
mov ebp, dword [esp + 0xa8]
mov dword [eax + 0xc], ebp
mov dword [eax + 0x10], ebx
mov dword [eax + 0x14], ebp
mov ebx, dword [esp + 0x50]
mov dword [eax + 0x18], ebx
mov ebx, dword [esp + 0x58]
mov dword [eax + 0x1c], ebx
mov ebx, dword [0x5e3a60]
test ebx, ebx
jne 0x4b81bb
mov ebx, dword [esp + 0x300]
jmp 0x4b81cf
call sym.runtime.gcWriteBarrier2
mov dword [edi], eax
mov ebx, dword [esp + 0x300]
mov ebp, dword [ebx + 0x40]
mov dword [edi + 4], ebp
mov dword [ebx + 0x40], eax
lea ebp, [0x5282c0]
mov dword [ebx + 0x38], ebp
mov esi, dword [0x5e3a60]
test esi, esi
je 0x4b81f2
call sym.runtime.gcWriteBarrier2
mov dword [edi], eax
mov esi, dword [ebx + 0x3c]
mov dword [edi + 4], esi
mov dword [ebx + 0x3c], eax
mov esi, dword [esp + 0x308]
mov eax, dword [esi + 0x2c]
mov ebp, dword [esp + 0x8c]
cmp ebp, eax
jae 0x4b98b1
mov eax, dword [0x5e3a60]
mov edi, dword [esi + 0x28]
test eax, eax
je 0x4b7d8d
mov eax, edi
call sym.runtime.gcWriteBarrier2
mov dword [edi], ebx
mov edx, dword [eax + ebp*4]
mov dword [edi + 4], edx
mov edx, dword [esp + 0x3b4]
mov edi, eax
jmp 0x4b7d8d
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x3b8], 0
mov dword [esp + 0x3bc], eax
mov dword [esp + 0x3c0], ecx
add esp, 0x3ac
ret
lea eax, [0x4ecbe0]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov dword [esp + 0x314], eax
mov ecx, dword [esp + 0x70]
mov dword [eax], ecx
mov ecx, dword [esp + 0x78]
mov dword [eax + 4], ecx
mov dword [eax + 0xc], 0x20
lea ecx, [0x5052eb]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x300]
mov edx, dword [ecx + 0x20]
mov ecx, dword [ecx + 0x24]
mov dword [esp + 4], ecx
mov dword [esp], edx
call sym.runtime.convT64
mov eax, dword [esp + 8]
lea ecx, [0x4e2bc0]
mov edx, dword [esp + 0x314]
mov dword [edx + 0x10], ecx
mov ecx, dword [0x5e3a60]
test ecx, ecx
je 0x4b82de
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 + 0x3b8], 0
lea eax, [0x528360]
mov dword [esp + 0x3bc], eax
mov dword [esp + 0x3c0], edx
add esp, 0x3ac
ret
lea eax, [0x4ecbe0]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov dword [esp + 0x314], eax
mov ecx, dword [esp + 0x70]
mov dword [eax], ecx
mov ecx, dword [esp + 0x78]
mov dword [eax + 4], ecx
mov dword [eax + 0xc], 0x1d
lea ecx, [0x50458f]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x300]
mov edx, dword [ecx + 8]
mov ecx, dword [ecx + 0xc]
mov dword [esp + 4], ecx
mov dword [esp], edx
call sym.runtime.convT64
mov eax, dword [esp + 8]
lea ecx, [0x4e2bc0]
mov edx, dword [esp + 0x314]
mov dword [edx + 0x10], ecx
mov ecx, dword [0x5e3a60]
test ecx, ecx
je 0x4b8381
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 + 0x3b8], 0
lea eax, [0x528360]
mov dword [esp + 0x3bc], eax
mov dword [esp + 0x3c0], edx
add esp, 0x3ac
ret
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x3b8], 0
mov dword [esp + 0x3bc], eax
mov dword [esp + 0x3c0], ecx
add esp, 0x3ac
ret
mov ecx, dword [esp + 0x40]
test ecx, ecx
setg bl
mov ebp, dword [esp + 0x3c]
test ebp, ebp
xchg esi, ebx
seta bl
xchg esi, ebx
mov eax, edx
movzx edx, byte [esp + 0x27]
and esi, edx
or esi, ebx
xchg esi, eax
test al, al
xchg esi, eax
je 0x4b87d9
mov edx, dword [esp + 0x44]
test edx, edx
jne 0x4b87c8
mov edx, dword [esp + 0x2ec]
mov ebx, dword [edx + 8]
mov esi, dword [edx + 0xc]
mov dword [esp + 0xa0], esi
nop
mov edi, ebx
add ebx, ebp
adc esi, ecx
mov ecx, dword [esp + 0xa0]
cmp ecx, esi
sete cl
xchg ebp, ebx
setg bl
xchg ebp, ebx
cmp ebx, edi
xchg edi, ebx
setb bl
xchg edi, ebx
and ecx, edi
or ebp, ecx
xchg ebp, eax
test al, al
xchg ebp, eax
jne 0x4b8450
mov dword [edx + 0x10], ebx
mov dword [edx + 0x14], esi
movzx ecx, byte [eax]
cmp cl, 1
je 0x4b8512
cmp cl, 2
je 0x4b846c
xor ecx, ecx
xor ebx, ebx
xor ebp, ebp
jmp 0x4b858f
lea edi, [esp + 0x268]
xor eax, eax
call fcn.004600b0
mov ecx, dword [esp + 0x308]
mov ebx, dword [ecx + 8]
mov ebp, dword [ecx + 0xc]
lea esi, [0x528374]
mov dword [esp], esi
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ebp
lea ebx, [0x4dd1a0]
mov dword [esp + 0x10], ebx
lea ebp, [esp + 0x268]
mov dword [esp + 0x14], ebp
call sym.encoding_binary.Read
mov ecx, dword [esp + 0x18]
test ecx, ecx
jne 0x4b84ea
mov eax, dword [esp + 0x288]
mov ecx, dword [esp + 0x26c]
mov edx, dword [esp + 0x290]
mov ebx, eax
mov ebp, edx
mov eax, dword [esp + 0x308]
mov edx, dword [esp + 0x2ec]
jmp 0x4b858f
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x3b8], 0
mov dword [esp + 0x3bc], eax
mov dword [esp + 0x3c0], ecx
add esp, 0x3ac
ret
lea edi, [esp + 0x124]
xor eax, eax
call fcn.004600b6
mov ecx, dword [esp + 0x308]
mov ebx, dword [ecx + 8]
mov ebp, dword [ecx + 0xc]
lea esi, [0x528374]
mov dword [esp], esi
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ebp
lea ebx, [0x4dd160]
mov dword [esp + 0x10], ebx
lea ebp, [esp + 0x124]
mov dword [esp + 0x14], ebp
call sym.encoding_binary.Read
mov ecx, dword [esp + 0x18]
test ecx, ecx
jne 0x4b87a0
mov eax, dword [esp + 0x138]
mov ecx, dword [esp + 0x128]
mov edx, dword [esp + 0x13c]
mov ebx, eax
mov ebp, edx
mov eax, dword [esp + 0x308]
mov edx, dword [esp + 0x2ec]
test ecx, ecx
jne 0x4b8706
cmp ebx, 0xff00
jl 0x4b8666
mov ecx, dword [esp + 0x38]
cmp ecx, 0xffff
jne 0x4b865f
cmp ebp, 0xff00
jge 0x4b87e8
mov dword [esp + 0x9c], ebp
lea eax, [0x4ecbe0]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov dword [esp + 0x314], eax
mov ecx, dword [esp + 0x3c]
mov dword [eax], ecx
mov ecx, dword [esp + 0x40]
mov dword [eax + 4], ecx
mov dword [eax + 0xc], 0x29
lea ecx, [0x506fdb]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x9c]
mov dword [esp], ecx
call sym.runtime.convT32
mov eax, dword [esp + 4]
lea ecx, [0x4e2940]
mov edx, dword [esp + 0x314]
mov dword [edx + 0x10], ecx
mov ecx, dword [0x5e3a60]
test ecx, ecx
je 0x4b8636
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 + 0x3b8], 0
lea eax, [0x528360]
mov dword [esp + 0x3bc], eax
mov dword [esp + 0x3c0], edx
add esp, 0x3ac
ret
mov ebp, ecx
jmp 0x4b87e8
mov dword [esp + 0x98], ebx
lea eax, [0x4ecbe0]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov dword [esp + 0x314], eax
mov ecx, dword [esp + 0x3c]
mov dword [eax], ecx
mov ecx, dword [esp + 0x40]
mov dword [eax + 4], ecx
mov dword [eax + 0xc], 0x26
lea ecx, [0x506810]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x98]
mov dword [esp], ecx
call sym.runtime.convT32
mov eax, dword [esp + 4]
lea ecx, [0x4e2940]
mov edx, dword [esp + 0x314]
mov dword [edx + 0x10], ecx
mov ecx, dword [0x5e3a60]
test ecx, ecx
je 0x4b86dd
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 + 0x3b8], 0
lea eax, [0x528360]
mov dword [esp + 0x3bc], eax
mov dword [esp + 0x3c0], edx
add esp, 0x3ac
ret
mov dword [esp + 0x2c], ecx
lea eax, [0x4ecbe0]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov dword [esp + 0x314], eax
mov ecx, dword [esp + 0x3c]
mov dword [eax], ecx
mov ecx, dword [esp + 0x40]
mov dword [eax + 4], ecx
mov dword [eax + 0xc], 0x23
lea ecx, [0x505d2c]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x2c]
mov dword [esp], ecx
call sym.runtime.convT32
mov eax, dword [esp + 4]
lea ecx, [0x4e73a0]
mov edx, dword [esp + 0x314]
mov dword [edx + 0x10], ecx
mov ecx, dword [0x5e3a60]
test ecx, ecx
je 0x4b8777
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 + 0x3b8], 0
lea eax, [0x528360]
mov dword [esp + 0x3bc], eax
mov dword [esp + 0x3c0], edx
add esp, 0x3ac
ret
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x3b8], 0
mov dword [esp + 0x3bc], eax
mov dword [esp + 0x3c0], ecx
add esp, 0x3ac
ret
mov edx, dword [esp + 0x2ec]
mov ebx, dword [esp + 0x44]
mov ebp, dword [esp + 0x38]
jmp 0x4b87e8
mov edx, dword [esp + 0x2ec]
mov ebx, dword [esp + 0x44]
mov ebp, dword [esp + 0x38]
mov dword [esp + 0x38], ebp
test ebx, ebx
jle 0x4b888d
mov ecx, dword [esp + 0x48]
mov esi, dword [esp + 0x28]
cmp ecx, esi
jge 0x4b888d
lea eax, [0x4ecbe0]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov dword [esp + 0x314], eax
mov dword [eax + 0xc], 0x15
lea ecx, [0x5015e3]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x48]
mov dword [esp], ecx
call sym.runtime.convT32
mov eax, dword [esp + 4]
lea ecx, [0x4e2940]
mov edx, dword [esp + 0x314]
mov dword [edx + 0x10], ecx
mov ecx, dword [0x5e3a60]
test ecx, ecx
je 0x4b8864
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 + 0x3b8], 0
lea eax, [0x528360]
mov dword [esp + 0x3bc], eax
mov dword [esp + 0x3c0], edx
add esp, 0x3ac
ret
mov dword [esp + 0x44], ebx
lea eax, [0x4ecd60]
mov dword [esp], eax
mov dword [esp + 4], 0
mov ecx, ebx
sar ebx, 0x1f
mov dword [esp + 0xc], ebx
mov dword [esp + 8], ecx
call sym.internal_saferio.SliceCap
mov eax, dword [esp + 0x10]
test eax, eax
jge 0x4b8949
lea eax, [0x4ecbe0]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov dword [esp + 0x314], eax
mov dword [eax + 0xc], 0x11
lea ecx, [0x4ffab9]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x44]
mov dword [esp], ecx
call sym.runtime.convT32
mov eax, dword [esp + 4]
lea ecx, [0x4e2940]
mov edx, dword [esp + 0x314]
mov dword [edx + 0x10], ecx
mov ecx, dword [0x5e3a60]
test ecx, ecx
je 0x4b8920
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 + 0x3b8], 0
lea eax, [0x528360]
mov dword [esp + 0x3bc], eax
mov dword [esp + 0x3c0], edx
add esp, 0x3ac
ret
mov dword [esp + 0x90], eax
lea ecx, [0x4ecd60]
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 + 0x308]
mov dword [ecx + 0x20], 0
mov edx, dword [esp + 0x90]
mov dword [ecx + 0x24], edx
mov ebx, dword [0x5e3a60]
test ebx, ebx
je 0x4b899d
call sym.runtime.gcWriteBarrier2
mov dword [edi], eax
mov ebx, dword [ecx + 0x1c]
mov dword [edi + 4], ebx
mov dword [ecx + 0x1c], eax
lea eax, [0x4e2ac0]
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], edx
call sym.runtime.makeslice
mov eax, dword [esp + 0xc]
xor ecx, ecx
mov edx, dword [esp + 0x90]
xor ebx, ebx
jmp 0x4b89eb
mov dword [eax + edi*4 - 4], ebx
mov esi, dword [esp + 0x88]
inc esi
mov ecx, esi
mov edx, dword [esp + 0x80]
mov eax, dword [esp + 0x304]
mov ebx, dword [esp + 0x7c]
mov dword [esp + 0x7c], ebx
mov dword [esp + 0x304], eax
mov ebp, dword [esp + 0x44]
cmp ecx, ebp
jge 0x4b9498
mov dword [esp + 0x88], ecx
mov dword [esp + 0x80], edx
mov esi, ecx
sar ecx, 0x1f
mov eax, esi
mov ebp, dword [esp + 0x48]
mul ebp
imul ecx, ebp
add ecx, edx
sar ebp, 0x1f
imul ebp, esi
add ecx, ebp
mov ebp, dword [esp + 0x2ec]
mov edx, dword [ebp + 8]
mov dword [esp + 0xa8], edx
mov esi, dword [ebp + 0xc]
nop
mov ebx, dword [esp + 0x3c]
add eax, ebx
mov dword [esp + 0x6c], eax
mov ebx, dword [esp + 0x40]
adc ecx, ebx
mov dword [esp + 0x74], ecx
add edx, eax
adc ecx, esi
cmp esi, ecx
xchg esi, ebx
sete bl
xchg esi, ebx
setg bl
mov edi, dword [esp + 0xa8]
cmp edx, edi
xchg edi, ebx
setb bl
xchg edi, ebx
and esi, edi
or ebx, esi
test bl, bl
jne 0x4b8a81
mov dword [ebp + 0x10], edx
mov dword [ebp + 0x14], ecx
lea eax, [0x4f2020]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 0x308]
movzx ecx, byte [eax]
mov edx, dword [esp + 4]
mov dword [esp + 0x2fc], edx
cmp cl, 1
je 0x4b8cdf
cmp cl, 2
je 0x4b8ac9
mov ebx, dword [esp + 0x80]
mov ecx, dword [esp + 0x7c]
mov ebp, dword [esp + 0x304]
jmp 0x4b8ed6
lea edi, [esp + 0x228]
xor eax, eax
call fcn.004600b0
mov ecx, dword [esp + 0x308]
mov edx, dword [ecx + 8]
mov ebx, dword [ecx + 0xc]
lea ebp, [0x528374]
mov dword [esp], ebp
mov esi, dword [esp + 0x2ec]
mov dword [esp + 4], esi
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebx
lea edx, [0x4dd1a0]
mov dword [esp + 0x10], edx
lea ebx, [esp + 0x228]
mov dword [esp + 0x14], ebx
call sym.encoding_binary.Read
mov ecx, dword [esp + 0x18]
test ecx, ecx
jne 0x4b92b2
mov ecx, dword [esp + 0x7c]
inc ecx
mov edx, dword [esp + 0x228]
mov ebx, dword [esp + 0x80]
cmp ebx, ecx
jb 0x4b8b46
mov eax, dword [esp + 0x304]
jmp 0x4b8b8b
mov dword [esp + 0xa8], edx
mov eax, dword [esp + 0x304]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
lea eax, [0x4e2ac0]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, edx
mov edx, dword [esp + 0xa8]
mov dword [esp + 0x7c], ecx
mov dword [eax + ecx*4 - 4], edx
lea edi, [esp + 0x31c]
mov edx, eax
xor eax, eax
call fcn.004600ae
mov ecx, dword [esp + 0x22c]
mov dword [esp + 0x324], ecx
mov ecx, dword [esp + 0x230]
mov dword [esp + 0x328], ecx
mov ecx, dword [esp + 0x240]
mov ebp, dword [esp + 0x244]
mov dword [esp + 0x334], ecx
mov dword [esp + 0x338], ebp
mov ecx, dword [esp + 0x248]
mov ebp, dword [esp + 0x24c]
mov dword [esp + 0x35c], ecx
mov dword [esp + 0x360], ebp
mov ecx, dword [esp + 0x238]
mov ebp, dword [esp + 0x23c]
mov dword [esp + 0x32c], ecx
mov dword [esp + 0x330], ebp
mov ecx, dword [esp + 0x250]
mov dword [esp + 0x344], ecx
mov ecx, dword [esp + 0x254]
mov dword [esp + 0x348], ecx
mov ecx, dword [esp + 0x258]
mov ebp, dword [esp + 0x25c]
mov dword [esp + 0x34c], ecx
mov dword [esp + 0x350], ebp
mov ecx, dword [esp + 0x260]
mov ebp, dword [esp + 0x264]
mov dword [esp + 0x354], ecx
mov dword [esp + 0x358], ebp
mov ecx, dword [0x5e3a60]
test ecx, ecx
je 0x4b8cb3
mov dword [esp + 0x310], edx
mov dword [esp + 0x98], ebx
lea eax, [0x4f5400]
mov dword [esp], eax
mov eax, dword [esp + 0x2fc]
mov dword [esp + 4], eax
lea ecx, [esp + 0x31c]
mov dword [esp + 8], ecx
call sym.runtime.wbMove
xor eax, eax
mov edx, dword [esp + 0x310]
mov ebx, dword [esp + 0x98]
mov edi, dword [esp + 0x2fc]
lea esi, [esp + 0x31c]
call fcn.0046051c
mov eax, dword [esp + 0x308]
mov ecx, dword [esp + 0x7c]
mov ebp, edx
mov edx, dword [esp + 0x2fc]
jmp 0x4b8ed6
lea edi, [esp + 0xfc]
xor eax, eax
call fcn.004600b6
mov ecx, dword [esp + 0x308]
mov edx, dword [ecx + 8]
mov ebx, dword [ecx + 0xc]
lea ebp, [0x528374]
mov dword [esp], ebp
mov esi, dword [esp + 0x2ec]
mov dword [esp + 4], esi
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebx
lea edx, [0x4dd160]
mov dword [esp + 0x10], edx
lea ebx, [esp + 0xfc]
mov dword [esp + 0x14], ebx
call sym.encoding_binary.Read
mov ecx, dword [esp + 0x18]
test ecx, ecx
jne 0x4b9470
mov ecx, dword [esp + 0x7c]
inc ecx
mov edx, dword [esp + 0xfc]
mov ebx, dword [esp + 0x80]
cmp ebx, ecx
jb 0x4b8d5c
mov eax, dword [esp + 0x304]
jmp 0x4b8da1
mov dword [esp + 0xa8], edx
mov eax, dword [esp + 0x304]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
lea eax, [0x4e2ac0]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, edx
mov edx, dword [esp + 0xa8]
mov dword [esp + 0x7c], ecx
mov dword [eax + ecx*4 - 4], edx
lea edi, [esp + 0x364]
mov edx, eax
xor eax, eax
call fcn.004600ae
mov ecx, dword [esp + 0x100]
mov dword [esp + 0x36c], ecx
mov ecx, dword [esp + 0x104]
mov dword [esp + 0x370], ecx
mov ecx, dword [esp + 0x108]
mov dword [esp + 0x374], ecx
mov ecx, dword [esp + 0x10c]
mov dword [esp + 0x37c], ecx
mov dword [esp + 0x380], 0
mov ecx, dword [esp + 0x110]
mov dword [esp + 0x3a4], ecx
mov dword [esp + 0x3a8], 0
mov ecx, dword [esp + 0x114]
mov dword [esp + 0x38c], ecx
mov ecx, dword [esp + 0x118]
mov dword [esp + 0x390], ecx
mov ecx, dword [esp + 0x11c]
mov dword [esp + 0x394], ecx
mov dword [esp + 0x398], 0
mov ecx, dword [esp + 0x120]
mov dword [esp + 0x39c], ecx
mov dword [esp + 0x3a0], 0
mov ecx, dword [0x5e3a60]
test ecx, ecx
je 0x4b8eaf
mov dword [esp + 0x310], edx
mov dword [esp + 0x94], ebx
lea eax, [0x4f5400]
mov dword [esp], eax
mov eax, dword [esp + 0x2fc]
mov dword [esp + 4], eax
lea ecx, [esp + 0x364]
mov dword [esp + 8], ecx
call sym.runtime.wbMove
xor eax, eax
mov edx, dword [esp + 0x310]
mov ebx, dword [esp + 0x94]
mov edi, dword [esp + 0x2fc]
lea esi, [esp + 0x364]
call fcn.0046051c
mov eax, dword [esp + 0x308]
mov ecx, dword [esp + 0x7c]
mov ebp, edx
mov edx, dword [esp + 0x2fc]
mov esi, dword [edx + 0x1c]
test esi, esi
jl 0x4b93cd
mov edi, dword [edx + 0x44]
test edi, edi
jl 0x4b932a
mov dword [esp + 0xa8], esi
mov dword [esp + 0x80], ebx
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x304], ebp
mov ecx, dword [edx + 0x18]
mov dword [esp + 0xa4], ecx
mov ebx, dword [edx + 0x40]
mov ebp, 0xffffffff
sub ebp, ebx
mov eax, 0x7fffffff
sbb eax, edi
cmp esi, eax
sete al
setl dl
cmp ebp, ecx
xchg ebp, ebx
setae bl
xchg ebp, ebx
and eax, ebp
or edx, eax
test dl, dl
je 0x4b8f3f
add ebx, ecx
adc edi, esi
jmp 0x4b8f49
mov edi, 0x7fffffff
mov ebx, 0xffffffff
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x54], edi
lea eax, [0x4ee240]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x3b0]
mov dword [eax], ecx
mov edx, dword [0x5e3a60]
test edx, edx
jne 0x4b8f7f
mov edx, dword [esp + 0x3b4]
jmp 0x4b8f8d
call sym.runtime.gcWriteBarrier1
mov edx, dword [esp + 0x3b4]
mov dword [edi], edx
mov dword [eax + 4], edx
mov ebx, dword [esp + 0xa4]
mov dword [eax + 8], ebx
mov ebp, dword [esp + 0xa8]
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 + 0x54]
mov dword [eax + 0x1c], ebx
mov ebx, dword [0x5e3a60]
test ebx, ebx
jne 0x4b8fcb
mov ebx, dword [esp + 0x2fc]
jmp 0x4b8fdf
call sym.runtime.gcWriteBarrier2
mov dword [edi], eax
mov ebx, dword [esp + 0x2fc]
mov ebp, dword [ebx + 0x50]
mov dword [edi + 4], ebp
mov dword [ebx + 0x50], eax
mov ebp, dword [ebx + 0xc]
test ebp, 0x800
jne 0x4b9028
lea ebp, [0x5282c0]
mov dword [ebx + 0x48], ebp
mov esi, dword [0x5e3a60]
test esi, esi
je 0x4b900d
call sym.runtime.gcWriteBarrier2
mov dword [edi], eax
mov esi, dword [ebx + 0x4c]
mov dword [edi + 4], esi
mov dword [ebx + 0x4c], eax
mov esi, dword [ebx + 0x40]
mov edi, dword [ebx + 0x44]
mov dword [ebx + 0x20], esi
mov dword [ebx + 0x24], edi
mov ebp, dword [esp + 0x308]
jmp 0x4b9203
mov ebp, dword [esp + 0x308]
movzx esi, byte [ebp]
xchg esi, eax
cmp al, 1
xchg esi, eax
je 0x4b9122
xchg esi, eax
cmp al, 2
xchg esi, eax
jne 0x4b9203
lea edi, [esp + 0xc4]
xor eax, eax
call fcn.004600ba
mov ecx, dword [ebx + 0x50]
mov edx, dword [ebp + 8]
mov esi, dword [ebp + 0xc]
lea ebp, [0x528374]
mov dword [esp], ebp
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], esi
lea ecx, [0x4dcee0]
mov dword [esp + 0x10], ecx
lea edx, [esp + 0xc4]
mov dword [esp + 0x14], edx
call sym.encoding_binary.Read
mov ecx, dword [esp + 0x18]
test ecx, ecx
jne 0x4b92da
mov eax, dword [esp + 0xc4]
mov ecx, dword [esp + 0x2fc]
mov dword [ecx + 0x54], eax
mov eax, dword [esp + 0xcc]
mov edx, dword [esp + 0xd0]
mov dword [ecx + 0x20], eax
mov dword [ecx + 0x24], edx
mov eax, dword [esp + 0xd4]
mov edx, dword [esp + 0xd8]
mov dword [ecx + 0x30], eax
mov dword [ecx + 0x34], edx
lea eax, [0x4dcee0]
mov dword [esp], eax
lea edx, [esp + 0xc4]
mov dword [esp + 4], edx
call sym.encoding_binary.Size
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x2fc]
mov dword [ecx + 0x58], eax
sar eax, 0x1f
mov dword [ecx + 0x5c], eax
mov ecx, dword [esp + 0x3b0]
mov edx, dword [esp + 0x3b4]
mov ebx, dword [esp + 0x2fc]
mov ebp, dword [esp + 0x308]
jmp 0x4b9203
mov dword [esp + 0xb8], 0
mov dword [esp + 0xbc], 0
mov dword [esp + 0xc0], 0
mov eax, dword [ebx + 0x50]
mov ecx, dword [ebp + 8]
mov edx, dword [ebp + 0xc]
lea esi, [0x528374]
mov dword [esp], esi
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
lea eax, [0x4dcea0]
mov dword [esp + 0x10], eax
lea ecx, [esp + 0xb8]
mov dword [esp + 0x14], ecx
call sym.encoding_binary.Read
mov eax, dword [esp + 0x18]
test eax, eax
jne 0x4b9302
mov eax, dword [esp + 0xb8]
mov ecx, dword [esp + 0x2fc]
mov dword [ecx + 0x54], eax
mov eax, dword [esp + 0xbc]
mov dword [ecx + 0x20], eax
mov dword [ecx + 0x24], 0
mov eax, dword [esp + 0xc0]
mov dword [ecx + 0x30], eax
mov dword [ecx + 0x34], 0
lea eax, [0x4dcea0]
mov dword [esp], eax
lea edx, [esp + 0xb8]
mov dword [esp + 4], edx
call sym.encoding_binary.Size
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x2fc]
mov dword [ecx + 0x58], eax
sar eax, 0x1f
mov dword [ecx + 0x5c], eax
mov ecx, dword [esp + 0x3b0]
mov edx, dword [esp + 0x3b4]
mov ebx, dword [esp + 0x2fc]
mov ebp, dword [esp + 0x308]
mov esi, dword [ebp + 0x24]
mov edi, dword [ebp + 0x20]
inc edi
mov eax, dword [ebp + 0x1c]
cmp esi, edi
jae 0x4b9283
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], esi
mov dword [esp + 0xc], 1
lea eax, [0x4ecd60]
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 + 0x308]
mov dword [ebx + 0x24], eax
mov eax, dword [0x5e3a60]
test eax, eax
je 0x4b9260
call sym.runtime.gcWriteBarrier2
mov dword [edi], ecx
mov ebp, dword [ebx + 0x1c]
mov dword [edi + 4], ebp
mov dword [ebx + 0x1c], ecx
mov ebx, dword [esp + 0x2fc]
mov ebp, dword [esp + 0x308]
mov edi, edx
mov eax, ecx
mov ecx, dword [esp + 0x3b0]
mov edx, dword [esp + 0x3b4]
mov dword [ebp + 0x20], edi
mov esi, dword [0x5e3a60]
test esi, esi
je 0x4b89cb
mov esi, edi
call sym.runtime.gcWriteBarrier2
mov dword [edi], ebx
mov edx, dword [eax + esi*4 - 4]
mov dword [edi + 4], edx
mov edx, dword [esp + 0x3b4]
mov edi, esi
jmp 0x4b89cb
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x3b8], 0
mov dword [esp + 0x3bc], eax
mov dword [esp + 0x3c0], ecx
add esp, 0x3ac
ret
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x3b8], 0
mov dword [esp + 0x3bc], eax
mov dword [esp + 0x3c0], ecx
add esp, 0x3ac
ret
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x3b8], 0
mov dword [esp + 0x3bc], eax
mov dword [esp + 0x3c0], ecx
add esp, 0x3ac
ret
lea eax, [0x4ecbe0]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov dword [esp + 0x314], eax
mov ecx, dword [esp + 0x6c]
mov dword [eax], ecx
mov ecx, dword [esp + 0x74]
mov dword [eax + 4], ecx
mov dword [eax + 0xc], 0x14
lea ecx, [0x500f64]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x2fc]
mov edx, dword [ecx + 0x40]
mov ecx, dword [ecx + 0x44]
mov dword [esp + 4], ecx
mov dword [esp], edx
call sym.runtime.convT64
mov eax, dword [esp + 8]
lea ecx, [0x4e2a00]
mov edx, dword [esp + 0x314]
mov dword [edx + 0x10], ecx
mov ecx, dword [0x5e3a60]
test ecx, ecx
je 0x4b93a4
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 + 0x3b8], 0
lea eax, [0x528360]
mov dword [esp + 0x3bc], eax
mov dword [esp + 0x3c0], edx
add esp, 0x3ac
ret
lea eax, [0x4ecbe0]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov dword [esp + 0x314], eax
mov ecx, dword [esp + 0x6c]
mov dword [eax], ecx
mov ecx, dword [esp + 0x74]
mov dword [eax + 4], ecx
mov dword [eax + 0xc], 0x16
lea ecx, [0x501cc5]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x2fc]
mov edx, dword [ecx + 0x18]
mov ecx, dword [ecx + 0x1c]
mov dword [esp + 4], ecx
mov dword [esp], edx
call sym.runtime.convT64
mov eax, dword [esp + 8]
lea ecx, [0x4e2a00]
mov edx, dword [esp + 0x314]
mov dword [edx + 0x10], ecx
mov ecx, dword [0x5e3a60]
test ecx, ecx
je 0x4b9447
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 + 0x3b8], 0
lea eax, [0x528360]
mov dword [esp + 0x3bc], eax
mov dword [esp + 0x3c0], edx
add esp, 0x3ac
ret
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x3b8], 0
mov dword [esp + 0x3bc], eax
mov dword [esp + 0x3c0], ecx
add esp, 0x3ac
ret
mov edx, dword [esp + 0x308]
mov ecx, dword [edx + 0x20]
test ecx, ecx
je 0x4b963a
mov ebp, dword [esp + 0x38]
test ebp, ebp
je 0x4b9616
cmp ebp, ecx
jae 0x4b98aa
mov ecx, dword [edx + 0x1c]
mov ecx, dword [ecx + ebp*4]
cmp dword [ecx + 8], 3
je 0x4b9585
mov dword [esp + 0x2f4], ecx
lea eax, [0x4ecbe0]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov dword [esp + 0x314], eax
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0x38]
imul ecx, edx
mov edx, ecx
sar ecx, 0x1f
mov ebx, dword [esp + 0x3c]
add edx, ebx
mov dword [eax], edx
mov edx, dword [esp + 0x40]
adc edx, ecx
mov dword [eax + 4], edx
mov dword [eax + 0xc], 0x2a
lea ecx, [0x50724e]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x2f4]
mov ecx, dword [ecx + 8]
mov dword [esp], ecx
call sym.runtime.convT32
mov eax, dword [esp + 4]
lea ecx, [0x4e73a0]
mov edx, dword [esp + 0x314]
mov dword [edx + 0x10], ecx
mov ecx, dword [0x5e3a60]
test ecx, ecx
je 0x4b955c
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 + 0x3b8], 0
lea eax, [0x528360]
mov dword [esp + 0x3bc], eax
mov dword [esp + 0x3c0], edx
add esp, 0x3ac
ret
mov dword [esp], ecx
call sym.debug_elf._Section_.Data
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x4b95ee
mov edx, dword [esp + 0x308]
mov ebx, dword [edx + 0x1c]
mov dword [esp + 0x30c], ebx
mov ebp, dword [edx + 0x20]
mov dword [esp + 0xac], ebp
mov esi, dword [esp + 8]
mov dword [esp + 0x30], esi
mov edi, dword [esp + 4]
mov dword [esp + 0x2f0], edi
mov eax, dword [esp + 0xc]
mov dword [esp + 0x34], eax
mov ecx, dword [esp + 0x304]
mov dword [esp + 0xb0], eax
xor eax, eax
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0xb0]
jmp 0x4b968c
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x3b8], 0
mov dword [esp + 0x3bc], eax
mov dword [esp + 0x3c0], ecx
add esp, 0x3ac
ret
mov dword [esp + 0x3b8], edx
mov dword [esp + 0x3bc], 0
mov dword [esp + 0x3c0], 0
add esp, 0x3ac
ret
mov dword [esp + 0x3b8], edx
mov dword [esp + 0x3bc], 0
mov dword [esp + 0x3c0], 0
add esp, 0x3ac
ret
lea eax, [edx + 1]
mov edx, dword [esp + 0x304]
mov edi, dword [esp + 0x30c]
mov ecx, edx
mov edx, dword [esp + 0x308]
mov ebx, edi
mov edi, dword [esp + 0x2f0]
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x34]
mov edx, dword [esp + 0x84]
cmp edx, ebp
jge 0x4b97a9
mov eax, dword [ebx + edx*4]
mov ebx, dword [esp + 0x7c]
cmp ebx, edx
jbe 0x4b98a1
mov ecx, dword [ecx + edx*4]
test ecx, ecx
jl 0x4b96b5
cmp esi, ecx
jg 0x4b96cd
xor ecx, ecx
xor ecx, ecx
mov byte [esp + 0x26], cl
xor ecx, ecx
mov dword [esp + 0x2e8], ecx
xor ecx, ecx
jmp 0x4b9764
mov dword [esp + 0xa8], ecx
jmp 0x4b97d9
mov dword [esp + 0x2f8], eax
mov dword [esp], 0
mov eax, dword [esp + 0x34]
mov edx, dword [esp + 0xa8]
sub eax, edx
neg eax
sar eax, 0x1f
and eax, edx
add eax, edi
mov dword [esp + 4], eax
sub ecx, edx
mov dword [esp + 8], ecx
call sym.runtime.slicebytetostring
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x84]
mov ebx, dword [esp + 0x7c]
mov ebp, dword [esp + 0xac]
mov esi, dword [esp + 0x30]
mov edi, dword [esp + 0x2f0]
mov edx, 1
mov byte [esp + 0x26], dl
mov dword [esp + 0x2e8], eax
mov eax, dword [esp + 0x2f8]
mov edx, dword [esp + 0x84]
jmp 0x4b9764
xor ecx, ecx
xor ecx, ecx
mov byte [esp + 0x26], cl
xor ecx, ecx
mov dword [esp + 0x2e8], ecx
xor ecx, ecx
mov dword [eax + 4], ecx
mov ecx, dword [0x5e3a60]
test ecx, ecx
je 0x4b978f
call sym.runtime.gcWriteBarrier2
mov esi, dword [esp + 0x2e8]
mov dword [edi], esi
mov ecx, dword [eax]
mov dword [edi + 4], ecx
mov esi, dword [esp + 0x30]
mov edi, dword [esp + 0x2f0]
mov edi, dword [esp + 0x2e8]
mov dword [eax], edi
movzx edi, byte [esp + 0x26]
xchg edi, eax
test al, al
xchg edi, eax
jne 0x4b965e
jmp 0x4b97ee
mov eax, dword [esp + 0x308]
mov dword [esp + 0x3b8], eax
mov dword [esp + 0x3bc], 0
mov dword [esp + 0x3c0], 0
add esp, 0x3ac
ret
inc ecx
mov ebx, dword [esp + 0x7c]
cmp ecx, esi
jge 0x4b9751
movzx ebx, byte [edi + ecx]
test bl, bl
jne 0x4b97d4
jmp 0x4b96d9
lea eax, [0x4ecbe0]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov dword [esp + 0x314], eax
mov ecx, dword [esp + 0x84]
mov edx, dword [esp + 0x48]
imul edx, ecx
mov ebx, edx
sar edx, 0x1f
mov ebp, dword [esp + 0x3c]
add ebx, ebp
mov dword [eax], ebx
mov ebx, dword [esp + 0x40]
adc ebx, edx
mov dword [eax + 4], ebx
mov dword [eax + 0xc], 0x16
lea edx, [0x501cdb]
mov dword [eax + 8], edx
mov edx, dword [esp + 0x304]
mov ecx, dword [edx + ecx*4]
mov dword [esp], ecx
call sym.runtime.convT32
mov eax, dword [esp + 4]
lea ecx, [0x4e2ac0]
mov edx, dword [esp + 0x314]
mov dword [edx + 0x10], ecx
mov ecx, dword [0x5e3a60]
test ecx, ecx
je 0x4b9878
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 + 0x3b8], 0
lea eax, [0x528360]
mov dword [esp + 0x3bc], eax
mov dword [esp + 0x3c0], edx
add esp, 0x3ac
ret
mov eax, edx
mov ecx, ebx
call sym.runtime.panicIndex
mov eax, ebp
call sym.runtime.panicIndex
mov ecx, eax
mov eax, ebp
call sym.runtime.panicIndex
nop
call sym.runtime.morestack_noctxt
jmp sym.debug_elf.NewFile