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

Disassembly:
mov ecx, dword [0x776294]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0xb8]
cmp eax, dword [ecx + 8]
jbe 0x50a118
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 0x508ed6
mov eax, dword [esp + 0x150]
mov edx, dword [esp + 0x14c]
jmp 0x509779
mov dword [esp + 0x30], eax
lea ecx, [0x5c2bc0]
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 0x509758
mov edx, dword [esp + 0x14c]
test edx, edx
je 0x50974d
mov ebx, dword [edx + 8]
cmp ebx, 0x6d448d5d
ja 0x50938d
cmp ebx, 0x38dfc0a9
ja 0x509128
cmp ebx, 0x2de60e3b
ja 0x508ffa
cmp ebx, 0x252f926b
je 0x508fa7
cmp ebx, 0x2de60e3b
jne 0x50974d
lea ebx, [0x5bd640]
cmp edx, ebx
jne 0x50974d
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 0x50a0fb
lea ebx, [0x5bd940]
cmp edx, ebx
jne 0x50974d
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 0x50a0bd
cmp ebx, 0x2e74d42b
je 0x5090c7
cmp ebx, 0x338a7ec0
je 0x50906d
cmp ebx, 0x38dfc0a9
jne 0x50974d
lea ebx, [0x5bd740]
cmp edx, ebx
jne 0x50974d
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 0x509ff0
lea eax, [0x5b9ec0]
cmp edx, eax
jne 0x50974d
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 0x509771
lea eax, [0x5b9f00]
cmp edx, eax
jne 0x50974d
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 0x509771
cmp ebx, 0x4f3c6e38
ja 0x50924b
cmp ebx, 0x4072c7d5
je 0x5091e1
cmp ebx, 0x49163278
je 0x509180
cmp ebx, 0x4f3c6e38
jne 0x50974d
lea ebx, [0x5bd980]
cmp edx, ebx
jne 0x50974d
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 0x509f4d
lea eax, [0x5b9f40]
cmp edx, eax
jne 0x50974d
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 0x509771
lea eax, [0x5ba0c0]
cmp edx, eax
jne 0x50974d
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 0x509771
cmp ebx, 0x62de383d
je 0x509333
cmp ebx, 0x6d0f0857
jne 0x5092b2
lea ebx, [0x5bd7c0]
cmp edx, ebx
jne 0x50974d
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 0x509eff
cmp ebx, 0x6d448d5d
jne 0x50974d
lea eax, [0x5ba100]
cmp edx, eax
jne 0x50974d
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 0x509771
lea eax, [0x5b9e80]
cmp edx, eax
jne 0x50974d
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 0x509771
cmp ebx, 0x889ce7f8
ja 0x509590
cmp ebx, 0x7e440822
ja 0x50945f
cmp ebx, 0x70800450
jne 0x509400
lea ebx, [0x5bd900]
cmp edx, ebx
jne 0x50974d
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 0x509e2d
cmp ebx, 0x7e440822
jne 0x50974d
lea ebx, [0x5bd6c0]
cmp edx, ebx
jne 0x50974d
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 0x509d69
cmp ebx, 0x81044065
je 0x50952e
cmp ebx, 0x854f63b7
jne 0x5094c6
lea ebx, [0x5bd800]
cmp edx, ebx
jne 0x50974d
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 0x509cae
cmp ebx, 0x889ce7f8
jne 0x50974d
lea eax, [0x5b9e40]
cmp edx, eax
jne 0x50974d
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 0x509771
lea eax, [0x5bd680]
cmp edx, eax
jne 0x50974d
mov eax, dword [esp + 0x150]
mov ecx, dword [eax + 4]
mov ebx, dword [esp + 0x30]
cmp ecx, ebx
jle 0x509552
mov ecx, ebx
jmp 0x509558
mov ebx, ecx
mov ecx, dword [esp + 0x30]
mov ebp, dword [eax]
mov esi, dword [esp + 0x11c]
cmp ebp, esi
je 0x509771
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 0x509771
cmp ebx, 0xd6631a7c
ja 0x509693
cmp ebx, 0x9ae5bb3b
jne 0x5095f7
lea ebx, [0x5bd700]
cmp edx, ebx
jne 0x50974d
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 0x509bdd
cmp ebx, 0xc3230e0b
jne 0x50965b
lea eax, [0x5b9e00]
cmp edx, eax
jne 0x50974d
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 0x509771
cmp ebx, 0xd6631a7c
jne 0x50974d
lea eax, [0x5b9d80]
cmp edx, eax
jne 0x50974d
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 0x509771
cmp ebx, 0xd83fe3b3
jne 0x5096ee
lea ebx, [0x5bd780]
cmp edx, ebx
jne 0x50974d
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 0x509b22
cmp ebx, 0xf3b50de0
jne 0x50971b
lea eax, [0x5b9dc0]
cmp edx, eax
jne 0x50974d
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 0x509771
cmp ebx, 0xfcd60fce
jne 0x50974d
lea eax, [0x5ba140]
cmp edx, eax
jne 0x50974d
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 0x509771
mov eax, dword [esp + 0x150]
xor ecx, ecx
jmp 0x509771
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x154], eax
mov dword [esp + 0x158], ecx
add esp, 0x138
ret
test ecx, ecx
jne 0x509a7e
test edx, edx
je 0x5097be
mov dword [esp + 0xe0], edx
mov dword [esp + 0xe4], eax
mov ecx, dword [esp + 0xe0]
test ecx, ecx
je 0x5097b6
movzx ebx, byte [ecx + 0xf]
nop
mov ebp, ebx
and ebx, 0x1f
xchg ebp, eax
test al, 0x20
xchg ebp, eax
jne 0x5097ad
or ebx, 0x80
mov ebp, dword [esp + 0xe4]
jmp 0x5097c4
xor ebx, ebx
xor ecx, ecx
xor ebp, ebp
jmp 0x5097c4
xor ebx, ebx
xor ecx, ecx
xor ebp, ebp
mov esi, ebx
and ebx, 0x1f
nop
cmp ebx, 0x16
je 0x50982e
cmp ebx, 0x17
je 0x5097de
mov ebx, 0xffffffff
jmp 0x509898
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 0x509898
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 0x509968
mov dword [esp + 0xe8], edx
mov dword [esp + 0xec], eax
mov eax, dword [esp + 0xe8]
test eax, eax
je 0x5098c1
lea ecx, [0x63641c]
jmp 0x5098c5
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, [0x5f52ac]
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, [0x5c87a0]
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 [0x776350]
test ecx, ecx
jne 0x50993d
mov ecx, dword [esp + 0xdc]
jmp 0x50994b
call sym.runtime.gcWriteBarrier1
mov ecx, dword [esp + 0xdc]
mov dword [edi], ecx
mov dword [eax], ecx
lea ecx, [0x634a90]
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, [0x5c2bc0]
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.0046ab9a
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 0x509a34
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 0x509b3b
shl ebx, 2
mov edx, dword [esp + 0x30]
cmp edx, ebx
jae 0x509a9b
jmp 0x509b4b
mov eax, dword [esp + 0x150]
mov ecx, dword [esp + 0x30]
jmp 0x509771
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 0x509bf5
shl ebx, 1
mov edx, dword [esp + 0x30]
cmp edx, ebx
jae 0x509b54
jmp 0x509c05
mov eax, dword [esp + 0x150]
mov ecx, dword [esp + 0x30]
jmp 0x509771
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 0x509cc7
shl ebx, 3
mov edx, dword [esp + 0x30]
cmp edx, ebx
jae 0x509c0e
jmp 0x509cd7
mov eax, dword [esp + 0x150]
mov ecx, dword [esp + 0x30]
jmp 0x509771
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 0x509d81
shl ebx, 1
mov edx, dword [esp + 0x30]
cmp edx, ebx
jae 0x509ce0
jmp 0x509d91
mov eax, dword [esp + 0x150]
mov ecx, dword [esp + 0x30]
jmp 0x509771
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 0x509e46
shl ebx, 2
mov edx, dword [esp + 0x30]
cmp edx, ebx
jae 0x509d9a
jmp 0x509e56
mov eax, dword [esp + 0x150]
mov ecx, dword [esp + 0x30]
jmp 0x509771
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 0x509f18
shl ebx, 3
mov edx, dword [esp + 0x30]
cmp edx, ebx
jae 0x509e5f
jmp 0x509f28
mov eax, dword [esp + 0x150]
mov ecx, dword [esp + 0x30]
jmp 0x509771
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 0x509f5b
movzx ebx, byte [eax + edi]
cmp eax, ecx
jb 0x509f31
jmp 0x509f64
mov eax, ebx
mov ecx, esi
jmp 0x509771
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 0x50a009
shl ebx, 2
mov edx, dword [esp + 0x30]
cmp edx, ebx
jae 0x509f69
jmp 0x50a019
mov eax, dword [esp + 0x150]
mov ecx, dword [esp + 0x30]
jmp 0x509771
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 0x50a0d6
shl ebx, 3
mov edx, dword [esp + 0x30]
cmp edx, ebx
jae 0x50a022
jmp 0x50a0e6
mov eax, dword [esp + 0x150]
mov ecx, dword [esp + 0x30]
jmp 0x509771
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 0x50a109
movzx ebx, byte [eax + edi]
cmp eax, ecx
jb 0x50a0ef
jmp 0x50a112
mov eax, ebx
mov ecx, esi
jmp 0x509771
call sym.runtime.panicIndex
nop
call sym.runtime.morestack_noctxt
jmp sym.encoding_binary.Read