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

Disassembly:
mov ecx, dword [0x5ef9b4]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0x32c]
cmp eax, dword [ecx + 8]
jbe 0x4be73b
sub esp, 0x3ac
nop
lea eax, [0x4f5a80]
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 [0x5efab0]
test edx, edx
jne 0x4bc170
mov edx, dword [esp + 0x3b4]
jmp 0x4bc17e
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, [0x4e8180]
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 0x4bcbe5
mov eax, dword [esp + 0x318]
cmp byte [eax], 0x7f
jne 0x4bc22f
cmp byte [eax + 1], 0x45
jne 0x4bc22f
cmp byte [eax + 2], 0x4c
jne 0x4bc22f
cmp byte [eax + 3], 0x46
je 0x4bc2cb
lea eax, [0x4f45a0]
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, [0x5074ce]
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, [0x4e5da0]
mov edx, dword [esp + 0x314]
mov dword [edx + 0x10], ecx
mov ecx, dword [0x5efab0]
test ecx, ecx
je 0x4bc2a2
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, [0x531120]
mov dword [esp + 0x3bc], eax
mov dword [esp + 0x3c0], edx
add esp, 0x3ac
ret
lea eax, [0x4f90c0]
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 0x4bc302
cmp dl, 2
jne 0x4bcb7e
movzx edx, byte [ecx + 5]
mov byte [eax + 1], dl
movzx edx, dl
cmp dl, 1
jne 0x4bc325
lea edx, [0x5315ec]
mov dword [eax + 8], edx
lea edx, [0x5ef880]
mov dword [eax + 0xc], edx
jmp 0x4bc340
cmp dl, 2
jne 0x4bcb16
lea edx, [0x531618]
mov dword [eax + 8], edx
lea edx, [0x5ef880]
mov dword [eax + 0xc], edx
movzx edx, byte [ecx + 6]
mov byte [eax + 2], dl
movzx edx, dl
cmp dl, 1
jne 0x4bcaae
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 0x4bc54a
cmp cl, 2
je 0x4bc399
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 0x4bc645
lea edi, [esp + 0x2a8]
xor eax, eax
call fcn.00460190
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, [0x531134]
mov dword [esp], esi
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ebp
lea ebx, [0x4e4560]
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 0x4bc522
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 0x4bc4b4
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 0x4bc645
mov dword [esp + 0xa8], eax
lea eax, [0x4f45a0]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov dword [eax + 0xc], 0x16
lea ecx, [0x509c9f]
mov dword [eax + 8], ecx
lea ecx, [0x4ee9e0]
mov dword [eax + 0x10], ecx
mov ecx, dword [esp + 0xa8]
movzx ecx, cl
lea edx, [0x5bfbc0]
lea ecx, [edx + ecx*8]
mov dword [eax + 0x14], ecx
mov dword [esp + 0x3b8], 0
lea ecx, [0x531120]
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.00460193
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, [0x531134]
mov dword [esp], esi
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ebp
lea ebx, [0x4e4520]
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 0x4bca86
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 0x4bca18
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 0x4bc987
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x60], edx
test edx, edx
jl 0x4bc8f6
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 0x4bc71d
test ebx, ebx
jne 0x4bc694
mov esi, dword [esp + 0x38]
jmp 0x4bc7be
lea eax, [0x4f45a0]
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, [0x50c595]
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, [0x4e9f00]
mov edx, dword [esp + 0x314]
mov dword [edx + 0x10], ecx
mov ecx, dword [0x5efab0]
test ecx, ecx
je 0x4bc6f4
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, [0x531120]
mov dword [esp + 0x3bc], eax
mov dword [esp + 0x3c0], edx
add esp, 0x3ac
ret
test ebx, ebx
jle 0x4bc7ba
mov esi, dword [esp + 0x38]
cmp esi, ebx
jl 0x4bc7be
lea eax, [0x4f45a0]
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, [0x508f55]
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, [0x4e9f00]
mov edx, dword [esp + 0x314]
mov dword [edx + 0x10], ecx
mov ecx, dword [0x5efab0]
test ecx, ecx
je 0x4bc791
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, [0x531120]
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 0x4bc7dd
mov esi, 0x20
mov esi, 0x28
mov dword [esp + 0x28], esi
mov esi, 0x20
jmp 0x4bc803
xchg esi, eax
cmp al, 2
xchg esi, eax
jne 0x4bc7f9
mov esi, 0x38
mov esi, 0x40
mov dword [esp + 0x28], esi
mov esi, 0x38
jmp 0x4bc803
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 0x4bc8a6
mov ebx, dword [esp + 0x68]
cmp ebx, esi
jge 0x4bc8a6
lea eax, [0x4f45a0]
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, [0x5095be]
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, [0x4e9f00]
mov edx, dword [esp + 0x314]
mov dword [edx + 0x10], ecx
mov ecx, dword [0x5efab0]
test ecx, ecx
je 0x4bc87d
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, [0x531120]
mov dword [esp + 0x3bc], eax
mov dword [esp + 0x3c0], edx
add esp, 0x3ac
ret
mov dword [esp + 0x64], ebp
lea eax, [0x4f0000]
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 [0x5efab0]
test ebx, ebx
je 0x4bc8ec
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 0x4bcc19
lea eax, [0x4f45a0]
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, [0x506650]
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, [0x4e9fc0]
mov edx, dword [esp + 0x314]
mov dword [edx + 0x10], ecx
mov ecx, dword [0x5efab0]
test ecx, ecx
je 0x4bc95e
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, [0x531120]
mov dword [esp + 0x3bc], eax
mov dword [esp + 0x3c0], edx
add esp, 0x3ac
ret
lea eax, [0x4f45a0]
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, [0x506643]
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, [0x4e9fc0]
mov edx, dword [esp + 0x314]
mov dword [edx + 0x10], ecx
mov ecx, dword [0x5efab0]
test ecx, ecx
je 0x4bc9ef
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, [0x531120]
mov dword [esp + 0x3bc], eax
mov dword [esp + 0x3c0], edx
add esp, 0x3ac
ret
mov dword [esp + 0xa8], eax
lea eax, [0x4f45a0]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov dword [eax + 0xc], 0x16
lea ecx, [0x509c9f]
mov dword [eax + 8], ecx
lea ecx, [0x4ee9e0]
mov dword [eax + 0x10], ecx
mov ecx, dword [esp + 0xa8]
movzx ecx, cl
lea edx, [0x5bfbc0]
lea ecx, [edx + ecx*8]
mov dword [eax + 0x14], ecx
mov dword [esp + 0x3b8], 0
lea ecx, [0x531120]
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, [0x4f45a0]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov dword [eax + 0xc], 0x13
lea ecx, [0x50892d]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x308]
movzx ecx, byte [ecx + 2]
lea edx, [0x4ee9e0]
mov dword [eax + 0x10], edx
lea edx, [0x5bfbc0]
lea ecx, [edx + ecx*8]
mov dword [eax + 0x14], ecx
mov dword [esp + 0x3b8], 0
lea ecx, [0x531120]
mov dword [esp + 0x3bc], ecx
mov dword [esp + 0x3c0], eax
add esp, 0x3ac
ret
lea eax, [0x4f45a0]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov dword [eax + 0xc], 0x19
lea ecx, [0x50afb8]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x308]
movzx ecx, byte [ecx + 1]
lea edx, [0x4ee980]
mov dword [eax + 0x10], edx
lea edx, [0x5bfbc0]
lea ecx, [edx + ecx*8]
mov dword [eax + 0x14], ecx
mov dword [esp + 0x3b8], 0
lea ecx, [0x531120]
mov dword [esp + 0x3bc], ecx
mov dword [esp + 0x3c0], eax
add esp, 0x3ac
ret
lea eax, [0x4f45a0]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov dword [eax + 0xc], 0x11
lea ecx, [0x507a99]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x308]
movzx ecx, byte [ecx]
lea edx, [0x4ee8c0]
mov dword [eax + 0x10], edx
lea edx, [0x5bfbc0]
lea ecx, [edx + ecx*8]
mov dword [eax + 0x14], ecx
mov dword [esp + 0x3b8], 0
lea ecx, [0x531120]
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 0x4bd252
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 0x4bcc9b
mov dword [ebp + 0x10], ebx
mov dword [ebp + 0x14], edx
lea eax, [0x4f6d60]
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 0x4bce25
cmp cl, 2
jne 0x4bcf58
lea edi, [esp + 0x1b8]
xor eax, eax
call fcn.00460192
mov ecx, dword [esp + 0x308]
mov edx, dword [ecx + 8]
mov ebx, dword [ecx + 0xc]
lea ebp, [0x531134]
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, [0x4e45e0]
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 0x4bd0bc
lea edi, [esp + 0x180]
xor eax, eax
call fcn.00460192
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.00460624
mov eax, dword [esp + 0x308]
mov edx, dword [esp + 0x300]
jmp 0x4bcf58
lea edi, [esp + 0xdc]
xor eax, eax
call fcn.00460198
mov ecx, dword [esp + 0x308]
mov edx, dword [ecx + 8]
mov ebx, dword [ecx + 0xc]
lea ebp, [0x531134]
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, [0x4e45a0]
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 0x4bd22a
lea edi, [esp + 0x1f0]
xor eax, eax
call fcn.00460192
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.00460624
mov eax, dword [esp + 0x308]
mov edx, dword [esp + 0x300]
mov ecx, dword [edx + 0xc]
test ecx, ecx
jl 0x4bd187
mov ebx, dword [edx + 0x24]
test ebx, ebx
jl 0x4bd0e4
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 0x4bcfaf
add esi, ebp
adc ebx, ecx
jmp 0x4bcfb9
mov ebx, 0x7fffffff
mov esi, 0xffffffff
mov dword [esp + 0x50], esi
mov dword [esp + 0x58], ebx
lea eax, [0x4f5a80]
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 [0x5efab0]
test edx, edx
jne 0x4bcfef
mov edx, dword [esp + 0x3b4]
jmp 0x4bcffd
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 [0x5efab0]
test ebx, ebx
jne 0x4bd03b
mov ebx, dword [esp + 0x300]
jmp 0x4bd04f
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, [0x531058]
mov dword [ebx + 0x38], ebp
mov esi, dword [0x5efab0]
test esi, esi
je 0x4bd072
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 0x4be731
mov eax, dword [0x5efab0]
mov edi, dword [esi + 0x28]
test eax, eax
je 0x4bcc0d
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 0x4bcc0d
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, [0x4f45a0]
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, [0x50d30e]
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, [0x4ea180]
mov edx, dword [esp + 0x314]
mov dword [edx + 0x10], ecx
mov ecx, dword [0x5efab0]
test ecx, ecx
je 0x4bd15e
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, [0x531120]
mov dword [esp + 0x3bc], eax
mov dword [esp + 0x3c0], edx
add esp, 0x3ac
ret
lea eax, [0x4f45a0]
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, [0x50c5b2]
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, [0x4ea180]
mov edx, dword [esp + 0x314]
mov dword [edx + 0x10], ecx
mov ecx, dword [0x5efab0]
test ecx, ecx
je 0x4bd201
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, [0x531120]
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 0x4bd659
mov edx, dword [esp + 0x44]
test edx, edx
jne 0x4bd648
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 0x4bd2d0
mov dword [edx + 0x10], ebx
mov dword [edx + 0x14], esi
movzx ecx, byte [eax]
cmp cl, 1
je 0x4bd392
cmp cl, 2
je 0x4bd2ec
xor ecx, ecx
xor ebx, ebx
xor ebp, ebp
jmp 0x4bd40f
lea edi, [esp + 0x268]
xor eax, eax
call fcn.00460190
mov ecx, dword [esp + 0x308]
mov ebx, dword [ecx + 8]
mov ebp, dword [ecx + 0xc]
lea esi, [0x531134]
mov dword [esp], esi
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ebp
lea ebx, [0x4e4660]
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 0x4bd36a
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 0x4bd40f
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.00460196
mov ecx, dword [esp + 0x308]
mov ebx, dword [ecx + 8]
mov ebp, dword [ecx + 0xc]
lea esi, [0x531134]
mov dword [esp], esi
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ebp
lea ebx, [0x4e4620]
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 0x4bd620
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 0x4bd586
cmp ebx, 0xff00
jl 0x4bd4e6
mov ecx, dword [esp + 0x38]
cmp ecx, 0xffff
jne 0x4bd4df
cmp ebp, 0xff00
jge 0x4bd668
mov dword [esp + 0x9c], ebp
lea eax, [0x4f45a0]
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, [0x50f045]
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, [0x4e9f00]
mov edx, dword [esp + 0x314]
mov dword [edx + 0x10], ecx
mov ecx, dword [0x5efab0]
test ecx, ecx
je 0x4bd4b6
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, [0x531120]
mov dword [esp + 0x3bc], eax
mov dword [esp + 0x3c0], edx
add esp, 0x3ac
ret
mov ebp, ecx
jmp 0x4bd668
mov dword [esp + 0x98], ebx
lea eax, [0x4f45a0]
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, [0x50e87a]
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, [0x4e9f00]
mov edx, dword [esp + 0x314]
mov dword [edx + 0x10], ecx
mov ecx, dword [0x5efab0]
test ecx, ecx
je 0x4bd55d
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, [0x531120]
mov dword [esp + 0x3bc], eax
mov dword [esp + 0x3c0], edx
add esp, 0x3ac
ret
mov dword [esp + 0x2c], ecx
lea eax, [0x4f45a0]
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, [0x50dd4f]
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, [0x4eeb60]
mov edx, dword [esp + 0x314]
mov dword [edx + 0x10], ecx
mov ecx, dword [0x5efab0]
test ecx, ecx
je 0x4bd5f7
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, [0x531120]
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 0x4bd668
mov edx, dword [esp + 0x2ec]
mov ebx, dword [esp + 0x44]
mov ebp, dword [esp + 0x38]
mov dword [esp + 0x38], ebp
test ebx, ebx
jle 0x4bd70d
mov ecx, dword [esp + 0x48]
mov esi, dword [esp + 0x28]
cmp ecx, esi
jge 0x4bd70d
lea eax, [0x4f45a0]
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, [0x5095d3]
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, [0x4e9f00]
mov edx, dword [esp + 0x314]
mov dword [edx + 0x10], ecx
mov ecx, dword [0x5efab0]
test ecx, ecx
je 0x4bd6e4
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, [0x531120]
mov dword [esp + 0x3bc], eax
mov dword [esp + 0x3c0], edx
add esp, 0x3ac
ret
mov dword [esp + 0x44], ebx
lea eax, [0x4f4720]
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 0x4bd7c9
lea eax, [0x4f45a0]
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, [0x507aaa]
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, [0x4e9f00]
mov edx, dword [esp + 0x314]
mov dword [edx + 0x10], ecx
mov ecx, dword [0x5efab0]
test ecx, ecx
je 0x4bd7a0
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, [0x531120]
mov dword [esp + 0x3bc], eax
mov dword [esp + 0x3c0], edx
add esp, 0x3ac
ret
mov dword [esp + 0x90], eax
lea ecx, [0x4f4720]
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 [0x5efab0]
test ebx, ebx
je 0x4bd81d
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, [0x4ea080]
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 0x4bd86b
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 0x4be318
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 0x4bd901
mov dword [ebp + 0x10], edx
mov dword [ebp + 0x14], ecx
lea eax, [0x4f9ac0]
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 0x4bdb5f
cmp cl, 2
je 0x4bd949
mov ebx, dword [esp + 0x80]
mov ecx, dword [esp + 0x7c]
mov ebp, dword [esp + 0x304]
jmp 0x4bdd56
lea edi, [esp + 0x228]
xor eax, eax
call fcn.00460190
mov ecx, dword [esp + 0x308]
mov edx, dword [ecx + 8]
mov ebx, dword [ecx + 0xc]
lea ebp, [0x531134]
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, [0x4e4660]
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 0x4be132
mov ecx, dword [esp + 0x7c]
inc ecx
mov edx, dword [esp + 0x228]
mov ebx, dword [esp + 0x80]
cmp ebx, ecx
jb 0x4bd9c6
mov eax, dword [esp + 0x304]
jmp 0x4bda0b
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, [0x4ea080]
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.0046018e
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 [0x5efab0]
test ecx, ecx
je 0x4bdb33
mov dword [esp + 0x310], edx
mov dword [esp + 0x98], ebx
lea eax, [0x4fcf40]
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.004605fc
mov eax, dword [esp + 0x308]
mov ecx, dword [esp + 0x7c]
mov ebp, edx
mov edx, dword [esp + 0x2fc]
jmp 0x4bdd56
lea edi, [esp + 0xfc]
xor eax, eax
call fcn.00460196
mov ecx, dword [esp + 0x308]
mov edx, dword [ecx + 8]
mov ebx, dword [ecx + 0xc]
lea ebp, [0x531134]
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, [0x4e4620]
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 0x4be2f0
mov ecx, dword [esp + 0x7c]
inc ecx
mov edx, dword [esp + 0xfc]
mov ebx, dword [esp + 0x80]
cmp ebx, ecx
jb 0x4bdbdc
mov eax, dword [esp + 0x304]
jmp 0x4bdc21
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, [0x4ea080]
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.0046018e
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 [0x5efab0]
test ecx, ecx
je 0x4bdd2f
mov dword [esp + 0x310], edx
mov dword [esp + 0x94], ebx
lea eax, [0x4fcf40]
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.004605fc
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 0x4be24d
mov edi, dword [edx + 0x44]
test edi, edi
jl 0x4be1aa
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 0x4bddbf
add ebx, ecx
adc edi, esi
jmp 0x4bddc9
mov edi, 0x7fffffff
mov ebx, 0xffffffff
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x54], edi
lea eax, [0x4f5a80]
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 [0x5efab0]
test edx, edx
jne 0x4bddff
mov edx, dword [esp + 0x3b4]
jmp 0x4bde0d
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 [0x5efab0]
test ebx, ebx
jne 0x4bde4b
mov ebx, dword [esp + 0x2fc]
jmp 0x4bde5f
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 0x4bdea8
lea ebp, [0x531058]
mov dword [ebx + 0x48], ebp
mov esi, dword [0x5efab0]
test esi, esi
je 0x4bde8d
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 0x4be083
mov ebp, dword [esp + 0x308]
movzx esi, byte [ebp]
xchg esi, eax
cmp al, 1
xchg esi, eax
je 0x4bdfa2
xchg esi, eax
cmp al, 2
xchg esi, eax
jne 0x4be083
lea edi, [esp + 0xc4]
xor eax, eax
call fcn.0046019a
mov ecx, dword [ebx + 0x50]
mov edx, dword [ebp + 8]
mov esi, dword [ebp + 0xc]
lea ebp, [0x531134]
mov dword [esp], ebp
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], esi
lea ecx, [0x4e43a0]
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 0x4be15a
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, [0x4e43a0]
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 0x4be083
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, [0x531134]
mov dword [esp], esi
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
lea eax, [0x4e4360]
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 0x4be182
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, [0x4e4360]
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 0x4be103
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], esi
mov dword [esp + 0xc], 1
lea eax, [0x4f4720]
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 [0x5efab0]
test eax, eax
je 0x4be0e0
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 [0x5efab0]
test esi, esi
je 0x4bd84b
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 0x4bd84b
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, [0x4f45a0]
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, [0x508f69]
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, [0x4e9fc0]
mov edx, dword [esp + 0x314]
mov dword [edx + 0x10], ecx
mov ecx, dword [0x5efab0]
test ecx, ecx
je 0x4be224
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, [0x531120]
mov dword [esp + 0x3bc], eax
mov dword [esp + 0x3c0], edx
add esp, 0x3ac
ret
lea eax, [0x4f45a0]
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, [0x509cb5]
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, [0x4e9fc0]
mov edx, dword [esp + 0x314]
mov dword [edx + 0x10], ecx
mov ecx, dword [0x5efab0]
test ecx, ecx
je 0x4be2c7
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, [0x531120]
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 0x4be4ba
mov ebp, dword [esp + 0x38]
test ebp, ebp
je 0x4be496
cmp ebp, ecx
jae 0x4be72a
mov ecx, dword [edx + 0x1c]
mov ecx, dword [ecx + ebp*4]
cmp dword [ecx + 8], 3
je 0x4be405
mov dword [esp + 0x2f4], ecx
lea eax, [0x4f45a0]
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, [0x50f2b8]
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, [0x4eeb60]
mov edx, dword [esp + 0x314]
mov dword [edx + 0x10], ecx
mov ecx, dword [0x5efab0]
test ecx, ecx
je 0x4be3dc
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, [0x531120]
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 0x4be46e
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 0x4be50c
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 0x4be629
mov eax, dword [ebx + edx*4]
mov ebx, dword [esp + 0x7c]
cmp ebx, edx
jbe 0x4be721
mov ecx, dword [ecx + edx*4]
test ecx, ecx
jl 0x4be535
cmp esi, ecx
jg 0x4be54d
xor ecx, ecx
xor ecx, ecx
mov byte [esp + 0x26], cl
xor ecx, ecx
mov dword [esp + 0x2e8], ecx
xor ecx, ecx
jmp 0x4be5e4
mov dword [esp + 0xa8], ecx
jmp 0x4be659
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 0x4be5e4
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 [0x5efab0]
test ecx, ecx
je 0x4be60f
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 0x4be4de
jmp 0x4be66e
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 0x4be5d1
movzx ebx, byte [edi + ecx]
test bl, bl
jne 0x4be654
jmp 0x4be559
lea eax, [0x4f45a0]
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, [0x509ccb]
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, [0x4ea080]
mov edx, dword [esp + 0x314]
mov dword [edx + 0x10], ecx
mov ecx, dword [0x5efab0]
test ecx, ecx
je 0x4be6f8
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, [0x531120]
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