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

Disassembly:
mov ecx, dword [0x7762b4]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0xb8]
cmp eax, dword [ecx + 8]
jbe 0x50a438
sub esp, 0x138
mov eax, dword [esp + 0x14c]
mov dword [esp], eax
mov ecx, dword [esp + 0x150]
mov dword [esp + 4], ecx
call sym.encoding_binary.intDataSize
mov eax, dword [esp + 8]
test eax, eax
jne 0x5091f6
mov eax, dword [esp + 0x150]
mov edx, dword [esp + 0x14c]
jmp 0x509a99
mov dword [esp + 0x30], eax
lea ecx, [0x5c2c00]
mov dword [esp], ecx
mov dword [esp + 4], eax
call sym.runtime.makeslice
mov eax, dword [esp + 0xc]
mov dword [esp + 0x11c], eax
mov ecx, dword [esp + 0x13c]
mov dword [esp], ecx
mov edx, dword [esp + 0x140]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov ebx, dword [esp + 0x30]
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], ebx
mov dword [esp + 0x14], ebx
call sym.io.ReadAtLeast
mov eax, dword [esp + 0x1c]
test eax, eax
jne 0x509a78
mov edx, dword [esp + 0x14c]
test edx, edx
je 0x509a6d
mov ebx, dword [edx + 8]
cmp ebx, 0x6d448d5d
ja 0x5096ad
cmp ebx, 0x38dfc0a9
ja 0x509448
cmp ebx, 0x2de60e3b
ja 0x50931a
cmp ebx, 0x252f926b
je 0x5092c7
cmp ebx, 0x2de60e3b
jne 0x509a6d
lea ebx, [0x5bd680]
cmp edx, ebx
jne 0x509a6d
mov ebx, dword [esp + 0x150]
mov ecx, dword [ebx + 4]
mov ebp, dword [ebx]
mov esi, dword [esp + 0x30]
mov edi, dword [esp + 0x11c]
xor eax, eax
jmp 0x50a41b
lea ebx, [0x5bd980]
cmp edx, ebx
jne 0x509a6d
mov ebx, dword [esp + 0x150]
mov ebp, dword [ebx]
mov dword [esp + 0xf0], ebp
mov esi, dword [ebx + 4]
mov dword [esp + 0x54], esi
mov edi, dword [esp + 0x148]
mov eax, dword [esp + 0x144]
mov ecx, dword [esp + 0x11c]
mov dword [esp + 0x8c], eax
xor eax, eax
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x8c]
jmp 0x50a3dd
cmp ebx, 0x2e74d42b
je 0x5093e7
cmp ebx, 0x338a7ec0
je 0x50938d
cmp ebx, 0x38dfc0a9
jne 0x509a6d
lea ebx, [0x5bd780]
cmp edx, ebx
jne 0x509a6d
mov ebx, dword [esp + 0x150]
mov ebp, dword [ebx]
mov dword [esp + 0x104], ebp
mov esi, dword [ebx + 4]
mov dword [esp + 0x68], esi
mov edi, dword [esp + 0x148]
mov eax, dword [esp + 0x144]
mov ecx, dword [esp + 0x11c]
mov dword [esp + 0x94], eax
xor eax, eax
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x94]
jmp 0x50a310
lea eax, [0x5b9f00]
cmp edx, eax
jne 0x509a6d
mov eax, dword [esp + 0x144]
mov ecx, dword [eax + 0x24]
mov edx, dword [esp + 0x148]
mov dword [esp], edx
mov ebx, dword [esp + 0x11c]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x30]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ebx
call ecx
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x150]
mov dword [ecx], eax
mov eax, ecx
mov edx, dword [esp + 0x14c]
mov ecx, dword [esp + 0x30]
jmp 0x509a91
lea eax, [0x5b9f40]
cmp edx, eax
jne 0x509a6d
mov eax, dword [esp + 0x144]
mov ecx, dword [eax + 0x28]
mov edx, dword [esp + 0x148]
mov dword [esp], edx
mov ebx, dword [esp + 0x11c]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x30]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ebx
call ecx
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x150]
mov dword [edx], eax
mov dword [edx + 4], ecx
mov eax, edx
mov edx, dword [esp + 0x14c]
mov ecx, dword [esp + 0x30]
jmp 0x509a91
cmp ebx, 0x4f3c6e38
ja 0x50956b
cmp ebx, 0x4072c7d5
je 0x509501
cmp ebx, 0x49163278
je 0x5094a0
cmp ebx, 0x4f3c6e38
jne 0x509a6d
lea ebx, [0x5bd9c0]
cmp edx, ebx
jne 0x509a6d
mov ebx, dword [esp + 0x150]
mov ecx, dword [ebx + 4]
mov ebp, dword [ebx]
mov esi, dword [esp + 0x30]
mov edi, dword [esp + 0x11c]
xor eax, eax
jmp 0x50a26d
lea eax, [0x5b9f80]
cmp edx, eax
jne 0x509a6d
mov eax, dword [esp + 0x144]
mov ecx, dword [eax + 0x28]
mov edx, dword [esp + 0x148]
mov dword [esp], edx
mov ebx, dword [esp + 0x11c]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x30]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ebx
call ecx
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x150]
mov dword [edx], eax
mov dword [edx + 4], ecx
mov eax, edx
mov edx, dword [esp + 0x14c]
mov ecx, dword [esp + 0x30]
jmp 0x509a91
lea eax, [0x5ba100]
cmp edx, eax
jne 0x509a6d
mov eax, dword [esp + 0x144]
mov ecx, dword [eax + 0x24]
mov edx, dword [esp + 0x148]
mov dword [esp], edx
mov ebx, dword [esp + 0x11c]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x30]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ebx
call ecx
mov eax, dword [esp + 0x10]
mov dword [esp + 0x88], eax
movss xmm0, dword [esp + 0x88]
mov eax, dword [esp + 0x150]
movss dword [eax], xmm0
mov edx, dword [esp + 0x14c]
mov ecx, dword [esp + 0x30]
jmp 0x509a91
cmp ebx, 0x62de383d
je 0x509653
cmp ebx, 0x6d0f0857
jne 0x5095d2
lea ebx, [0x5bd800]
cmp edx, ebx
jne 0x509a6d
mov ebx, dword [esp + 0x150]
mov ebp, dword [ebx]
mov dword [esp + 0xfc], ebp
mov esi, dword [ebx + 4]
mov dword [esp + 0x60], esi
mov edi, dword [esp + 0x144]
mov eax, dword [esp + 0x148]
mov ecx, dword [esp + 0x11c]
mov dword [esp + 0x9c], eax
xor eax, eax
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x9c]
jmp 0x50a21f
cmp ebx, 0x6d448d5d
jne 0x509a6d
lea eax, [0x5ba140]
cmp edx, eax
jne 0x509a6d
mov eax, dword [esp + 0x144]
mov ecx, dword [eax + 0x28]
mov edx, dword [esp + 0x148]
mov dword [esp], edx
mov ebx, dword [esp + 0x11c]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x30]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ebx
call ecx
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x80], eax
mov dword [esp + 0x84], ecx
movsd xmm0, qword [esp + 0x80]
mov eax, dword [esp + 0x150]
movsd qword [eax], xmm0
mov edx, dword [esp + 0x14c]
mov ecx, dword [esp + 0x30]
jmp 0x509a91
lea eax, [0x5b9ec0]
cmp edx, eax
jne 0x509a6d
mov eax, dword [esp + 0x144]
mov ecx, dword [eax + 0x24]
mov edx, dword [esp + 0x148]
mov dword [esp], edx
mov ebx, dword [esp + 0x11c]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x30]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ebx
call ecx
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x150]
mov dword [ecx], eax
mov eax, ecx
mov edx, dword [esp + 0x14c]
mov ecx, dword [esp + 0x30]
jmp 0x509a91
cmp ebx, 0x889ce7f8
ja 0x5098b0
cmp ebx, 0x7e440822
ja 0x50977f
cmp ebx, 0x70800450
jne 0x509720
lea ebx, [0x5bd940]
cmp edx, ebx
jne 0x509a6d
mov ebx, dword [esp + 0x150]
mov ebp, dword [ebx]
mov dword [esp + 0xf4], ebp
mov esi, dword [ebx + 4]
mov dword [esp + 0x58], esi
mov edi, dword [esp + 0x148]
mov eax, dword [esp + 0x144]
mov ecx, dword [esp + 0x11c]
mov dword [esp + 0xa4], eax
xor eax, eax
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xa4]
jmp 0x50a14d
cmp ebx, 0x7e440822
jne 0x509a6d
lea ebx, [0x5bd700]
cmp edx, ebx
jne 0x509a6d
mov ebx, dword [esp + 0x150]
mov ebp, dword [ebx]
mov dword [esp + 0x10c], ebp
mov esi, dword [ebx + 4]
mov dword [esp + 0x70], esi
mov edi, dword [esp + 0x148]
mov eax, dword [esp + 0x144]
mov ecx, dword [esp + 0x11c]
mov dword [esp + 0xac], eax
xor eax, eax
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0xac]
jmp 0x50a089
cmp ebx, 0x81044065
je 0x50984e
cmp ebx, 0x854f63b7
jne 0x5097e6
lea ebx, [0x5bd840]
cmp edx, ebx
jne 0x509a6d
mov ebx, dword [esp + 0x150]
mov ebp, dword [ebx]
mov dword [esp + 0xf8], ebp
mov esi, dword [ebx + 4]
mov dword [esp + 0x5c], esi
mov edi, dword [esp + 0x144]
mov eax, dword [esp + 0x148]
mov ecx, dword [esp + 0x11c]
mov dword [esp + 0xb4], eax
xor eax, eax
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
jmp 0x509fce
cmp ebx, 0x889ce7f8
jne 0x509a6d
lea eax, [0x5b9e80]
cmp edx, eax
jne 0x509a6d
mov eax, dword [esp + 0x144]
mov ecx, dword [eax + 0x20]
mov edx, dword [esp + 0x148]
mov dword [esp], edx
mov ebx, dword [esp + 0x11c]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x30]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ebx
call ecx
movzx eax, word [esp + 0x10]
mov ecx, dword [esp + 0x150]
mov word [ecx], ax
mov eax, ecx
mov edx, dword [esp + 0x14c]
mov ecx, dword [esp + 0x30]
jmp 0x509a91
lea eax, [0x5bd6c0]
cmp edx, eax
jne 0x509a6d
mov eax, dword [esp + 0x150]
mov ecx, dword [eax + 4]
mov ebx, dword [esp + 0x30]
cmp ecx, ebx
jle 0x509872
mov ecx, ebx
jmp 0x509878
mov ebx, ecx
mov ecx, dword [esp + 0x30]
mov ebp, dword [eax]
mov esi, dword [esp + 0x11c]
cmp ebp, esi
je 0x509a91
mov dword [esp], ebp
mov dword [esp + 4], esi
mov dword [esp + 8], ebx
call sym.runtime.memmove
mov eax, dword [esp + 0x150]
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x14c]
jmp 0x509a91
cmp ebx, 0xd6631a7c
ja 0x5099b3
cmp ebx, 0x9ae5bb3b
jne 0x509917
lea ebx, [0x5bd740]
cmp edx, ebx
jne 0x509a6d
mov ebx, dword [esp + 0x150]
mov ebp, dword [ebx]
mov dword [esp + 0x108], ebp
mov esi, dword [ebx + 4]
mov dword [esp + 0x6c], esi
mov edi, dword [esp + 0x148]
mov eax, dword [esp + 0x144]
mov ecx, dword [esp + 0x11c]
mov dword [esp + 0xbc], eax
xor eax, eax
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0xbc]
jmp 0x509efd
cmp ebx, 0xc3230e0b
jne 0x50997b
lea eax, [0x5b9e40]
cmp edx, eax
jne 0x509a6d
mov eax, dword [esp + 0x144]
mov ecx, dword [eax + 0x20]
mov edx, dword [esp + 0x148]
mov dword [esp], edx
mov ebx, dword [esp + 0x11c]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x30]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ebx
call ecx
movzx eax, word [esp + 0x10]
mov ecx, dword [esp + 0x150]
mov word [ecx], ax
mov eax, ecx
mov edx, dword [esp + 0x14c]
mov ecx, dword [esp + 0x30]
jmp 0x509a91
cmp ebx, 0xd6631a7c
jne 0x509a6d
lea eax, [0x5b9dc0]
cmp edx, eax
jne 0x509a6d
mov ecx, dword [esp + 0x11c]
movzx ecx, byte [ecx]
mov ebx, dword [esp + 0x150]
mov byte [ebx], cl
mov eax, ebx
mov ecx, dword [esp + 0x30]
jmp 0x509a91
cmp ebx, 0xd83fe3b3
jne 0x509a0e
lea ebx, [0x5bd7c0]
cmp edx, ebx
jne 0x509a6d
mov ebx, dword [esp + 0x150]
mov ebp, dword [ebx]
mov dword [esp + 0x100], ebp
mov esi, dword [ebx + 4]
mov dword [esp + 0x64], esi
mov edi, dword [esp + 0x148]
mov eax, dword [esp + 0x144]
mov ecx, dword [esp + 0x11c]
mov dword [esp + 0xc4], eax
xor eax, eax
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0xc4]
jmp 0x509e42
cmp ebx, 0xf3b50de0
jne 0x509a3b
lea eax, [0x5b9e00]
cmp edx, eax
jne 0x509a6d
mov ecx, dword [esp + 0x11c]
movzx ecx, byte [ecx]
mov ebx, dword [esp + 0x150]
mov byte [ebx], cl
mov eax, ebx
mov ecx, dword [esp + 0x30]
jmp 0x509a91
cmp ebx, 0xfcd60fce
jne 0x509a6d
lea eax, [0x5ba180]
cmp edx, eax
jne 0x509a6d
mov ecx, dword [esp + 0x11c]
movzx ecx, byte [ecx]
test cl, cl
setne cl
mov ebx, dword [esp + 0x150]
mov byte [ebx], cl
mov eax, ebx
mov ecx, dword [esp + 0x30]
jmp 0x509a91
mov eax, dword [esp + 0x150]
xor ecx, ecx
jmp 0x509a91
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x154], eax
mov dword [esp + 0x158], ecx
add esp, 0x138
ret
test ecx, ecx
jne 0x509d9e
test edx, edx
je 0x509ade
mov dword [esp + 0xe0], edx
mov dword [esp + 0xe4], eax
mov ecx, dword [esp + 0xe0]
test ecx, ecx
je 0x509ad6
movzx ebx, byte [ecx + 0xf]
nop
mov ebp, ebx
and ebx, 0x1f
xchg ebp, eax
test al, 0x20
xchg ebp, eax
jne 0x509acd
or ebx, 0x80
mov ebp, dword [esp + 0xe4]
jmp 0x509ae4
xor ebx, ebx
xor ecx, ecx
xor ebp, ebp
jmp 0x509ae4
xor ebx, ebx
xor ecx, ecx
xor ebp, ebp
mov esi, ebx
and ebx, 0x1f
nop
cmp ebx, 0x16
je 0x509b4e
cmp ebx, 0x17
je 0x509afe
mov ebx, 0xffffffff
jmp 0x509bb8
mov dword [esp + 0xd0], esi
mov dword [esp + 0xd8], ebp
mov dword [esp + 0xd4], ecx
mov dword [esp], ecx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call sym.encoding_binary.dataSize
mov eax, dword [esp + 0xc]
mov edx, dword [esp + 0x14c]
mov ebx, eax
mov esi, dword [esp + 0xd0]
mov ecx, dword [esp + 0xd4]
mov ebp, dword [esp + 0xd8]
mov eax, dword [esp + 0x150]
jmp 0x509bb8
mov dword [esp], ecx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call sym.reflect.Value.Elem
mov eax, dword [esp + 0xc]
mov dword [esp + 0x118], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x11c], ecx
mov edx, dword [esp + 0x14]
mov dword [esp + 0xd0], edx
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call sym.encoding_binary.dataSize
mov eax, dword [esp + 0xc]
mov edx, dword [esp + 0x14c]
mov ebx, eax
mov esi, dword [esp + 0xd0]
mov ecx, dword [esp + 0x118]
mov ebp, dword [esp + 0x11c]
mov eax, dword [esp + 0x150]
test ebx, ebx
jge 0x509c88
mov dword [esp + 0xe8], edx
mov dword [esp + 0xec], eax
mov eax, dword [esp + 0xe8]
test eax, eax
je 0x509be1
lea ecx, [0x636568]
jmp 0x509be5
xor ecx, ecx
xor eax, eax
mov ecx, dword [ecx + 0x80]
mov dword [esp], eax
call ecx
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov dword [esp], 0
lea edx, [0x5f5353]
mov dword [esp + 4], edx
mov dword [esp + 8], 0x1a
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
call sym.runtime.concatstring2
mov eax, dword [esp + 0x18]
mov dword [esp + 0x28], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0xdc], ecx
lea edx, [0x5c8840]
mov dword [esp], edx
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x28]
mov dword [eax + 4], ecx
mov ecx, dword [0x776370]
test ecx, ecx
jne 0x509c5d
mov ecx, dword [esp + 0xdc]
jmp 0x509c6b
call sym.runtime.gcWriteBarrier1
mov ecx, dword [esp + 0xdc]
mov dword [edi], ecx
mov dword [eax], ecx
lea ecx, [0x634be0]
mov dword [esp + 0x154], ecx
mov dword [esp + 0x158], eax
add esp, 0x138
ret
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x24], esi
mov dword [esp + 0xd8], ebp
mov dword [esp + 0xd4], ecx
lea eax, [0x5c2c00]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ebx
call sym.runtime.makeslice
mov eax, dword [esp + 0xc]
mov dword [esp + 0x11c], eax
lea edi, [esp + 0x120]
xor eax, eax
call fcn.0046ac5a
mov eax, dword [esp + 0x144]
mov dword [esp + 0x120], eax
mov eax, dword [esp + 0x148]
mov dword [esp + 0x124], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x12c], eax
mov dword [esp + 0x130], eax
mov ecx, dword [esp + 0x11c]
mov dword [esp + 0x128], ecx
mov edx, dword [esp + 0x13c]
mov dword [esp], edx
mov edx, dword [esp + 0x140]
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], eax
call sym.io.ReadAtLeast
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x509d54
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x154], eax
mov dword [esp + 0x158], ecx
add esp, 0x138
ret
lea eax, [esp + 0x120]
mov dword [esp], eax
mov eax, dword [esp + 0xd4]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xd8]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0xc], eax
call sym.encoding_binary._decoder_.value
mov dword [esp + 0x154], 0
mov dword [esp + 0x158], 0
add esp, 0x138
ret
mov dword [esp + 0x154], 0
mov dword [esp + 0x158], 0
add esp, 0x138
ret
mov ebp, dword [eax + 0x24]
mov dword [esp], edi
sub edx, ebx
mov dword [esp + 0xcc], edx
neg edx
sar edx, 0x1f
and ebx, edx
lea edx, [ebx + ecx]
mov dword [esp + 4], edx
mov edx, dword [esp + 0xcc]
mov dword [esp + 8], edx
mov dword [esp + 0xc], edx
call ebp
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x44]
mov ebp, dword [esp + 0x100]
mov dword [ebp + ecx*4], eax
lea eax, [ecx + 1]
mov ecx, dword [esp + 0x64]
mov edx, dword [esp + 0x148]
mov ebx, dword [esp + 0x144]
mov esi, dword [esp + 0x11c]
mov edi, dword [esp + 0x30]
mov ecx, esi
mov edx, dword [esp + 0x14c]
mov ebx, dword [esp + 0x150]
mov esi, dword [esp + 0x64]
mov edi, dword [esp + 0x148]
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x144]
mov ebx, dword [esp + 0x44]
cmp ebx, esi
jge 0x509e5b
shl ebx, 2
mov edx, dword [esp + 0x30]
cmp edx, ebx
jae 0x509dbb
jmp 0x509e6b
mov eax, dword [esp + 0x150]
mov ecx, dword [esp + 0x30]
jmp 0x509a91
mov eax, ebx
mov ecx, edx
call sym.runtime.panicSliceB
mov ebp, dword [eax + 0x20]
mov dword [esp], edi
sub edx, ebx
mov dword [esp + 0xcc], edx
neg edx
sar edx, 0x1f
and ebx, edx
lea edx, [ebx + ecx]
mov dword [esp + 4], edx
mov edx, dword [esp + 0xcc]
mov dword [esp + 8], edx
mov dword [esp + 0xc], edx
call ebp
movzx eax, word [esp + 0x10]
mov ecx, dword [esp + 0x4c]
mov ebp, dword [esp + 0x108]
mov word [ebp + ecx*2], ax
lea eax, [ecx + 1]
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x148]
mov ebx, dword [esp + 0x144]
mov esi, dword [esp + 0x11c]
mov edi, dword [esp + 0x30]
mov ecx, esi
mov edx, dword [esp + 0x14c]
mov ebx, dword [esp + 0x150]
mov esi, dword [esp + 0x6c]
mov edi, dword [esp + 0x148]
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x144]
mov ebx, dword [esp + 0x4c]
cmp ebx, esi
jge 0x509f15
shl ebx, 1
mov edx, dword [esp + 0x30]
cmp edx, ebx
jae 0x509e74
jmp 0x509f25
mov eax, dword [esp + 0x150]
mov ecx, dword [esp + 0x30]
jmp 0x509a91
mov eax, ebx
mov ecx, edx
call sym.runtime.panicSliceB
mov esi, dword [esp + 0x3c]
lea ebp, [ebp + esi*8]
mov dword [esp + 0x114], ebp
mov edi, dword [edi + 0x28]
mov dword [esp], eax
sub edx, ebx
mov dword [esp + 0xcc], edx
neg edx
sar edx, 0x1f
and ebx, edx
lea edx, [ebx + ecx]
mov dword [esp + 4], edx
mov edx, dword [esp + 0xcc]
mov dword [esp + 8], edx
mov dword [esp + 0xc], edx
call edi
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x114]
mov dword [edx], eax
mov dword [edx + 4], ecx
mov eax, dword [esp + 0x3c]
inc eax
mov ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0x144]
mov ebx, dword [esp + 0x148]
mov ebp, dword [esp + 0xf8]
mov esi, dword [esp + 0x11c]
mov edi, dword [esp + 0x30]
mov ecx, esi
mov edx, dword [esp + 0x14c]
mov ebx, dword [esp + 0x150]
mov esi, dword [esp + 0x5c]
mov edi, dword [esp + 0x144]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x148]
mov ebx, dword [esp + 0x3c]
cmp ebx, esi
jge 0x509fe7
shl ebx, 3
mov edx, dword [esp + 0x30]
cmp edx, ebx
jae 0x509f2e
jmp 0x509ff7
mov eax, dword [esp + 0x150]
mov ecx, dword [esp + 0x30]
jmp 0x509a91
mov eax, ebx
mov ecx, edx
call sym.runtime.panicSliceB
mov ebp, dword [eax + 0x20]
mov dword [esp], edi
sub edx, ebx
mov dword [esp + 0xcc], edx
neg edx
sar edx, 0x1f
and ebx, edx
lea edx, [ebx + ecx]
mov dword [esp + 4], edx
mov edx, dword [esp + 0xcc]
mov dword [esp + 8], edx
mov dword [esp + 0xc], edx
call ebp
movzx eax, word [esp + 0x10]
mov ecx, dword [esp + 0x50]
mov ebp, dword [esp + 0x10c]
mov word [ebp + ecx*2], ax
lea eax, [ecx + 1]
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x148]
mov ebx, dword [esp + 0x144]
mov esi, dword [esp + 0x11c]
mov edi, dword [esp + 0x30]
mov ecx, esi
mov edx, dword [esp + 0x14c]
mov ebx, dword [esp + 0x150]
mov esi, dword [esp + 0x70]
mov edi, dword [esp + 0x148]
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x144]
mov ebx, dword [esp + 0x50]
cmp ebx, esi
jge 0x50a0a1
shl ebx, 1
mov edx, dword [esp + 0x30]
cmp edx, ebx
jae 0x50a000
jmp 0x50a0b1
mov eax, dword [esp + 0x150]
mov ecx, dword [esp + 0x30]
jmp 0x509a91
mov eax, ebx
mov ecx, edx
call sym.runtime.panicSliceB
mov ebp, dword [eax + 0x24]
mov dword [esp], edi
sub edx, ebx
mov dword [esp + 0xcc], edx
neg edx
sar edx, 0x1f
and ebx, edx
lea edx, [ebx + ecx]
mov dword [esp + 4], edx
mov edx, dword [esp + 0xcc]
mov dword [esp + 8], edx
mov dword [esp + 0xc], edx
call ebp
mov eax, dword [esp + 0x10]
mov dword [esp + 0x7c], eax
movss xmm0, dword [esp + 0x7c]
mov eax, dword [esp + 0x38]
lea ecx, [eax + 1]
mov ebp, dword [esp + 0xf4]
movss dword [ebp + eax*4], xmm0
mov eax, dword [esp + 0x58]
mov edx, dword [esp + 0x148]
mov ebx, dword [esp + 0x144]
mov esi, dword [esp + 0x11c]
mov edi, dword [esp + 0x30]
mov eax, ebx
mov edx, dword [esp + 0x14c]
mov ebx, dword [esp + 0x150]
mov esi, dword [esp + 0x58]
mov edi, dword [esp + 0x148]
mov dword [esp + 0x38], ecx
mov ecx, dword [esp + 0x11c]
mov ebx, dword [esp + 0x38]
cmp ebx, esi
jge 0x50a166
shl ebx, 2
mov edx, dword [esp + 0x30]
cmp edx, ebx
jae 0x50a0ba
jmp 0x50a176
mov eax, dword [esp + 0x150]
mov ecx, dword [esp + 0x30]
jmp 0x509a91
mov eax, ebx
mov ecx, edx
call sym.runtime.panicSliceB
mov esi, dword [esp + 0x40]
lea ebp, [ebp + esi*8]
mov dword [esp + 0x110], ebp
mov edi, dword [edi + 0x28]
mov dword [esp], eax
sub edx, ebx
mov dword [esp + 0xcc], edx
neg edx
sar edx, 0x1f
and ebx, edx
lea edx, [ebx + ecx]
mov dword [esp + 4], edx
mov edx, dword [esp + 0xcc]
mov dword [esp + 8], edx
mov dword [esp + 0xc], edx
call edi
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x110]
mov dword [edx], eax
mov dword [edx + 4], ecx
mov eax, dword [esp + 0x40]
inc eax
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x144]
mov ebx, dword [esp + 0x148]
mov ebp, dword [esp + 0xfc]
mov esi, dword [esp + 0x11c]
mov edi, dword [esp + 0x30]
mov ecx, esi
mov edx, dword [esp + 0x14c]
mov ebx, dword [esp + 0x150]
mov esi, dword [esp + 0x60]
mov edi, dword [esp + 0x144]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x148]
mov ebx, dword [esp + 0x40]
cmp ebx, esi
jge 0x50a238
shl ebx, 3
mov edx, dword [esp + 0x30]
cmp edx, ebx
jae 0x50a17f
jmp 0x50a248
mov eax, dword [esp + 0x150]
mov ecx, dword [esp + 0x30]
jmp 0x509a91
mov eax, ebx
mov ecx, edx
call sym.runtime.panicSliceB
lea edx, [eax + 1]
test bl, bl
setne bl
mov byte [ebp + eax], bl
mov ebx, dword [esp + 0x150]
mov eax, edx
mov edx, dword [esp + 0x14c]
cmp eax, esi
jge 0x50a27b
movzx ebx, byte [eax + edi]
cmp eax, ecx
jb 0x50a251
jmp 0x50a284
mov eax, ebx
mov ecx, esi
jmp 0x509a91
call sym.runtime.panicIndex
mov ebp, dword [eax + 0x24]
mov dword [esp], edi
sub edx, ebx
mov dword [esp + 0xcc], edx
neg edx
sar edx, 0x1f
and ebx, edx
lea edx, [ebx + ecx]
mov dword [esp + 4], edx
mov edx, dword [esp + 0xcc]
mov dword [esp + 8], edx
mov dword [esp + 0xc], edx
call ebp
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x48]
mov ebp, dword [esp + 0x104]
mov dword [ebp + ecx*4], eax
lea eax, [ecx + 1]
mov ecx, dword [esp + 0x68]
mov edx, dword [esp + 0x148]
mov ebx, dword [esp + 0x144]
mov esi, dword [esp + 0x11c]
mov edi, dword [esp + 0x30]
mov ecx, esi
mov edx, dword [esp + 0x14c]
mov ebx, dword [esp + 0x150]
mov esi, dword [esp + 0x68]
mov edi, dword [esp + 0x148]
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x144]
mov ebx, dword [esp + 0x48]
cmp ebx, esi
jge 0x50a329
shl ebx, 2
mov edx, dword [esp + 0x30]
cmp edx, ebx
jae 0x50a289
jmp 0x50a339
mov eax, dword [esp + 0x150]
mov ecx, dword [esp + 0x30]
jmp 0x509a91
mov eax, ebx
mov ecx, edx
call sym.runtime.panicSliceB
mov ebp, dword [eax + 0x28]
mov dword [esp], edi
sub edx, ebx
mov dword [esp + 0xcc], edx
neg edx
sar edx, 0x1f
and ebx, edx
lea edx, [ebx + ecx]
mov dword [esp + 4], edx
mov edx, dword [esp + 0xcc]
mov dword [esp + 8], edx
mov dword [esp + 0xc], edx
call ebp
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x74], eax
mov dword [esp + 0x78], ecx
movsd xmm0, qword [esp + 0x74]
mov eax, dword [esp + 0x34]
lea ecx, [eax + 1]
mov ebp, dword [esp + 0xf0]
movsd qword [ebp + eax*8], xmm0
mov eax, dword [esp + 0x54]
mov edx, dword [esp + 0x148]
mov ebx, dword [esp + 0x144]
mov esi, dword [esp + 0x11c]
mov edi, dword [esp + 0x30]
mov eax, ebx
mov edx, dword [esp + 0x14c]
mov ebx, dword [esp + 0x150]
mov esi, dword [esp + 0x54]
mov edi, dword [esp + 0x148]
mov dword [esp + 0x34], ecx
mov ecx, dword [esp + 0x11c]
mov ebx, dword [esp + 0x34]
cmp ebx, esi
jge 0x50a3f6
shl ebx, 3
mov edx, dword [esp + 0x30]
cmp edx, ebx
jae 0x50a342
jmp 0x50a406
mov eax, dword [esp + 0x150]
mov ecx, dword [esp + 0x30]
jmp 0x509a91
mov eax, ebx
mov ecx, edx
call sym.runtime.panicSliceB
mov byte [ebp + eax], bl
inc eax
mov ebx, dword [esp + 0x150]
cmp eax, esi
jge 0x50a429
movzx ebx, byte [eax + edi]
cmp eax, ecx
jb 0x50a40f
jmp 0x50a432
mov eax, ebx
mov ecx, esi
jmp 0x509a91
call sym.runtime.panicIndex
nop
call sym.runtime.morestack_noctxt
jmp sym.encoding_binary.Read