Function at 0x4f7890
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x507a46
mov eax, dword fs:[0]
push eax
sub esp, 0x260
mov eax, dword [0x5582e0]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edx, dword [ebp + 8]
mov ecx, dword [ebp + 0x10]
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x21c], edx
mov dword [ebp - 0x218], 0
mov dword [ebp - 0x22c], ecx
mov ecx, dword [ebp + 0x14]
mov dword [ebp - 0x244], edx
mov dword [ebp - 0x238], eax
mov dword [ebp - 0x248], ecx
mov dword [edx], 0
mov dword [edx + 4], 0
mov dword [edx + 8], 0
mov ecx, dword [eax]
xor edi, edi
mov eax, dword [eax + 4]
mov dword [ebp - 4], 0
mov dword [ebp - 0x218], 1
mov dword [ebp - 0x224], edi
sub eax, ecx
je 0x4f8ee2
mov eax, dword [ebp - 0x24c]
mov dword [ebp - 0x23c], eax
mov eax, dword [ebp - 0x250]
mov dword [ebp - 0x230], eax
xorps xmm0, xmm0
mov dword [ebp - 0x78], 0
movups xmmword [ebp - 0x88], xmm0
mov dword [ebp - 0x74], 0xf
mov byte [ebp - 0x88], 0
movups xmmword [ebp - 0x104], xmm0
mov dword [ebp - 4], 1
mov dword [ebp - 0xf4], 0
mov dword [ebp - 0xf0], 0xf
mov byte [ebp - 0x104], 0
mov al, byte [ecx + edi]
mov ecx, 0x55f1c0
mov byte [ebp - 0x214], al
movzx eax, al
xor eax, 0x811c9dc5
mov byte [ebp - 4], 2
imul esi, eax, 0x1000193
lea eax, [ebp - 0x214]
push esi
push eax
lea eax, [ebp - 0x26c]
push eax
call fcn.00421370
mov eax, dword [eax + 4]
test eax, eax
je 0x4f7a15
cmp eax, dword [0x55f1c4]
je 0x4f7a15
mov al, byte [ebp - 0x214]
mov ecx, 0x55f1c0
mov byte [ebp - 0x214], al
lea eax, [ebp - 0x214]
push esi
push eax
lea eax, [ebp - 0x258]
push eax
call fcn.00421370
mov eax, dword [ebp - 0x254]
test eax, eax
je 0x4f8f0c
mov ecx, dword [eax + 0xc]
mov esi, dword [eax + 0x10]
mov dword [ebp - 0x230], ecx
mov dword [ebp - 0x23c], esi
jmp 0x4f7a1b
mov esi, dword [ebp - 0x23c]
cmp dword [ebp - 0x230], 0
je 0x4f8c4f
mov ecx, esi
mov dword [ebp - 0x30], 0
xorps xmm0, xmm0
mov dword [ebp - 0x2c], 0
movups xmmword [ebp - 0x40], xmm0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4f7a42
sub ecx, edx
push ecx
push esi
lea ecx, [ebp - 0x40]
call fcn.00421070
xorps xmm0, xmm0
mov dword [ebp - 0x5c], 0xf
xor eax, eax
movups xmmword [ebp - 0x70], xmm0
mov dword [ebp - 0x60], eax
mov byte [ebp - 0x70], al
cmp dword [ebp - 0x2c], 0x10
lea edi, [ebp - 0x40]
mov eax, dword [ebp - 0x30]
cmovae edi, dword [ebp - 0x40]
mov byte [ebp - 4], 4
cmp eax, 2
jb 0x4f7bc1
dec eax
add eax, edi
sub eax, edi
push eax
push 0x64
push edi
call sub.VCRUNTIME140.dll_memchr
mov esi, eax
add esp, 0xc
test esi, esi
je 0x4f7bbe
movzx eax, byte [esi]
cmp al, 0x64
jne 0x4f7ab4
movzx eax, byte [esi + 1]
cmp al, 0x38
jne 0x4f7ab4
xor eax, eax
jmp 0x4f7ab9
sbb eax, eax
or eax, 1
test eax, eax
je 0x4f7add
mov eax, dword [ebp - 0x30]
inc esi
dec eax
add eax, edi
sub eax, esi
push eax
push 0x64
push esi
call sub.VCRUNTIME140.dll_memchr
mov esi, eax
add esp, 0xc
test esi, esi
jne 0x4f7aa1
jmp 0x4f7bbe
sub esi, edi
cmp esi, 0xffffffff
je 0x4f7bbe
push 2
push 0x543910
lea ecx, [ebp - 0x104]
call fcn.0043f120
cmp dword [ebp - 0x30], esi
lea eax, [ebp - 0x40]
xorps xmm0, xmm0
mov dword [ebp - 0x48], 0
cmovb esi, dword [ebp - 0x30]
lea ecx, [ebp - 0x58]
cmp dword [ebp - 0x2c], 0x10
push esi
cmovae eax, dword [ebp - 0x40]
push eax
movups xmmword [ebp - 0x58], xmm0
mov dword [ebp - 0x44], 0
call fcn.00421070
movups xmm0, xmmword [ebp - 0x58]
mov esi, dword [ebp - 0x218]
mov eax, 0x7fffffff
or esi, 0x10000
movups xmmword [ebp - 0x70], xmm0
mov dword [ebp - 0x218], esi
movq xmm0, qword [ebp - 0x48]
movq qword [ebp - 0x60], xmm0
mov ecx, dword [ebp - 0x60]
sub eax, ecx
cmp eax, 2
jb 0x4f8f16
cmp dword [ebp - 0x5c], 0x10
lea eax, [ebp - 0x70]
push 2
cmovae eax, dword [ebp - 0x70]
push 0x544078
push ecx
push eax
lea eax, [ebp - 0x70]
push eax
push dword [ebp - 0x21c]
lea ecx, [ebp - 0x58]
call fcn.00448260
or esi, 0x20000
mov dword [ebp - 0x218], esi
cmp dword [ebp - 0x44], 0x10
lea eax, [ebp - 0x58]
push dword [ebp - 0x48]
cmovae eax, dword [ebp - 0x58]
lea ecx, [ebp - 0x88]
push eax
mov byte [ebp - 4], 5
call fcn.00431230
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 4
call fcn.0042df30
mov eax, dword [ebp - 0x30]
cmp dword [ebp - 0x2c], 0x10
lea edi, [ebp - 0x40]
cmovae edi, dword [ebp - 0x40]
cmp eax, 3
jb 0x4f7d50
add eax, 0xfffffffe
add eax, edi
sub eax, edi
push eax
push 0x64
push edi
call sub.VCRUNTIME140.dll_memchr
mov esi, eax
add esp, 0xc
test esi, esi
je 0x4f7d4d
movzx eax, byte [esi]
cmp al, 0x64
jne 0x4f7c0d
movzx eax, byte [esi + 1]
cmp al, 0x31
jne 0x4f7c0d
movzx eax, byte [esi + 2]
cmp al, 0x36
jne 0x4f7c0d
xor eax, eax
jmp 0x4f7c12
sbb eax, eax
or eax, 1
test eax, eax
je 0x4f7c38
mov eax, dword [ebp - 0x30]
inc esi
add eax, 0xfffffffe
add eax, edi
sub eax, esi
push eax
push 0x64
push esi
call sub.VCRUNTIME140.dll_memchr
mov esi, eax
add esp, 0xc
test esi, esi
jne 0x4f7bf2
jmp 0x4f7d4d
sub esi, edi
cmp esi, 0xffffffff
je 0x4f7d4d
push 3
push 0x543914
lea ecx, [ebp - 0x104]
call fcn.0043f120
cmp dword [ebp - 0x30], esi
lea eax, [ebp - 0x40]
xorps xmm0, xmm0
mov dword [ebp - 0x48], 0
cmovb esi, dword [ebp - 0x30]
lea ecx, [ebp - 0x58]
cmp dword [ebp - 0x2c], 0x10
push esi
cmovae eax, dword [ebp - 0x40]
push eax
movups xmmword [ebp - 0x58], xmm0
mov dword [ebp - 0x44], 0
call fcn.00421070
mov esi, dword [ebp - 0x218]
mov ecx, dword [ebp - 0x5c]
or esi, 0x40000
mov dword [ebp - 0x218], esi
cmp ecx, 0x10
jb 0x4f7ccc
mov edx, dword [ebp - 0x70]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4f7cc2
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4f8f01
push ecx
push edx
call fcn.00500e09
add esp, 8
movups xmm0, xmmword [ebp - 0x58]
mov eax, 0x7fffffff
movups xmmword [ebp - 0x70], xmm0
movq xmm0, qword [ebp - 0x48]
movq qword [ebp - 0x60], xmm0
mov ecx, dword [ebp - 0x60]
sub eax, ecx
cmp eax, 2
jb 0x4f8f16
cmp dword [ebp - 0x5c], 0x10
lea eax, [ebp - 0x70]
push 2
cmovae eax, dword [ebp - 0x70]
push 0x544078
push ecx
push eax
lea eax, [ebp - 0x70]
push eax
push dword [ebp - 0x21c]
lea ecx, [ebp - 0x58]
call fcn.00448260
or esi, 0x80000
mov dword [ebp - 0x218], esi
cmp dword [ebp - 0x44], 0x10
lea eax, [ebp - 0x58]
push dword [ebp - 0x48]
cmovae eax, dword [ebp - 0x58]
lea ecx, [ebp - 0x88]
push eax
mov byte [ebp - 4], 6
call fcn.00431230
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 4
call fcn.0042df30
mov eax, dword [ebp - 0x30]
cmp dword [ebp - 0x2c], 0x10
lea edi, [ebp - 0x40]
cmovae edi, dword [ebp - 0x40]
cmp eax, 3
jb 0x4f7e85
add eax, 0xfffffffe
add eax, edi
sub eax, edi
push eax
push 0x61
push edi
call sub.VCRUNTIME140.dll_memchr
mov esi, eax
add esp, 0xc
test esi, esi
je 0x4f7e82
movzx eax, byte [esi]
cmp al, 0x61
jne 0x4f7d9c
movzx eax, byte [esi + 1]
cmp al, 0x31
jne 0x4f7d9c
movzx eax, byte [esi + 2]
cmp al, 0x36
jne 0x4f7d9c
xor eax, eax
jmp 0x4f7da1
sbb eax, eax
or eax, 1
test eax, eax
je 0x4f7dc7
mov eax, dword [ebp - 0x30]
inc esi
add eax, 0xfffffffe
add eax, edi
sub eax, esi
push eax
push 0x61
push esi
call sub.VCRUNTIME140.dll_memchr
mov esi, eax
add esp, 0xc
test esi, esi
jne 0x4f7d81
jmp 0x4f7e82
sub esi, edi
cmp esi, 0xffffffff
je 0x4f7e82
push 3
push 0x54407c
lea ecx, [ebp - 0x104]
call fcn.0043f120
cmp dword [ebp - 0x30], esi
lea eax, [ebp - 0x40]
xorps xmm0, xmm0
mov dword [ebp - 0x48], 0
cmovb esi, dword [ebp - 0x30]
lea ecx, [ebp - 0x58]
cmp dword [ebp - 0x2c], 0x10
push esi
cmovae eax, dword [ebp - 0x40]
push eax
movups xmmword [ebp - 0x58], xmm0
mov dword [ebp - 0x44], 0
call fcn.00421070
or dword [ebp - 0x218], 0x2000
mov ecx, dword [ebp - 0x5c]
cmp ecx, 0x10
jb 0x4f7e53
mov edx, dword [ebp - 0x70]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4f7e49
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4f8f01
push ecx
push edx
call fcn.00500e09
add esp, 8
movups xmm1, xmmword [ebp - 0x58]
lea ecx, [ebp - 0x70]
movq xmm0, qword [ebp - 0x48]
movq qword [ebp - 0x60], xmm0
cmp dword [ebp - 0x5c], 0x10
push dword [ebp - 0x60]
movd eax, xmm1
movups xmmword [ebp - 0x70], xmm1
cmovae ecx, eax
push ecx
lea ecx, [ebp - 0x88]
call fcn.00431230
mov eax, dword [ebp - 0x30]
cmp dword [ebp - 0x2c], 0x10
lea edi, [ebp - 0x40]
cmovae edi, dword [ebp - 0x40]
cmp eax, 2
jb 0x4f8005
dec eax
add eax, edi
sub eax, edi
push eax
push 0x70
push edi
call sub.VCRUNTIME140.dll_memchr
mov esi, eax
add esp, 0xc
test esi, esi
je 0x4f8005
movzx eax, byte [esi]
cmp al, 0x70
jne 0x4f7ec7
movzx eax, byte [esi + 1]
cmp al, 0x70
jne 0x4f7ec7
xor eax, eax
jmp 0x4f7ecc
sbb eax, eax
or eax, 1
test eax, eax
je 0x4f7ef0
mov eax, dword [ebp - 0x30]
inc esi
dec eax
add eax, edi
sub eax, esi
push eax
push 0x70
push esi
call sub.VCRUNTIME140.dll_memchr
mov esi, eax
add esp, 0xc
test esi, esi
jne 0x4f7eb4
jmp 0x4f8005
sub esi, edi
cmp esi, 0xffffffff
je 0x4f8005
push 2
push 0x544080
lea ecx, [ebp - 0x104]
call fcn.0043f120
cmp dword [ebp - 0x30], esi
lea eax, [ebp - 0x40]
xorps xmm0, xmm0
mov dword [ebp - 0x48], 0
cmovb esi, dword [ebp - 0x30]
lea ecx, [ebp - 0x58]
cmp dword [ebp - 0x2c], 0x10
push esi
cmovae eax, dword [ebp - 0x40]
push eax
movups xmmword [ebp - 0x58], xmm0
mov dword [ebp - 0x44], 0
call fcn.00421070
mov esi, dword [ebp - 0x218]
mov ecx, dword [ebp - 0x5c]
or esi, 0x8000
mov dword [ebp - 0x218], esi
cmp ecx, 0x10
jb 0x4f7f84
mov edx, dword [ebp - 0x70]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4f7f7a
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4f8f01
push ecx
push edx
call fcn.00500e09
add esp, 8
movups xmm0, xmmword [ebp - 0x58]
mov eax, 0x7fffffff
movups xmmword [ebp - 0x70], xmm0
movq xmm0, qword [ebp - 0x48]
movq qword [ebp - 0x60], xmm0
mov ecx, dword [ebp - 0x60]
sub eax, ecx
cmp eax, 2
jb 0x4f8f16
cmp dword [ebp - 0x5c], 0x10
lea eax, [ebp - 0x70]
push 2
cmovae eax, dword [ebp - 0x70]
push 0x544078
push ecx
push eax
lea eax, [ebp - 0x70]
push eax
push dword [ebp - 0x21c]
lea ecx, [ebp - 0x58]
call fcn.00448260
or esi, 0x4000
mov dword [ebp - 0x218], esi
cmp dword [ebp - 0x44], 0x10
lea eax, [ebp - 0x58]
push dword [ebp - 0x48]
cmovae eax, dword [ebp - 0x58]
lea ecx, [ebp - 0x88]
push eax
mov byte [ebp - 4], 7
call fcn.00431230
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 4
call fcn.0042df30
cmp dword [ebp - 0xf4], 0
jne 0x4f803f
cmp dword [ebp - 0x2c], 0x10
lea eax, [ebp - 0x40]
push dword [ebp - 0x30]
cmovae eax, dword [ebp - 0x40]
lea ecx, [ebp - 0x70]
push eax
call fcn.0043f120
cmp dword [ebp - 0x5c], 0x10
lea eax, [ebp - 0x70]
push dword [ebp - 0x60]
cmovae eax, dword [ebp - 0x70]
lea ecx, [ebp - 0x88]
push eax
call fcn.00431230
mov edx, dword [ebp - 0x230]
mov ecx, dword [ebp - 0x224]
lea edi, [edx - 1]
lea eax, [edi + ecx]
mov dword [ebp - 0x228], edi
mov esi, eax
mov dword [ebp - 0x240], eax
mov dword [ebp - 0x220], eax
cmp esi, ecx
jle 0x4f816e
nop dword [eax]
mov eax, dword [ebp - 0x238]
mov eax, dword [eax]
add eax, esi
push eax
lea eax, [ebp - 0xa0]
push eax
call fcn.004f97a0
add esp, 8
mov ecx, dword [ebp - 0x90]
xor edi, edi
mov byte [ebp - 4], 8
test ecx, ecx
je 0x4f80e8
nop word [eax + eax]
cmp dword [ebp - 0x8c], 0x10
lea ecx, [ebp - 0xa0]
lea esi, [ebp - 0xa0]
cmovae ecx, dword [ebp - 0xa0]
setae dl
test dl, dl
cmovne esi, dword [ebp - 0xa0]
movsx eax, byte [ecx + edi]
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_toupper]
mov byte [esi + edi], al
add esp, 4
mov ecx, dword [ebp - 0x90]
inc edi
cmp edi, ecx
jb 0x4f80a0
mov esi, dword [ebp - 0x220]
cmp dword [ebp - 0x8c], 0x10
lea eax, [ebp - 0xa0]
push ecx
cmovae eax, dword [ebp - 0xa0]
lea ecx, [ebp - 0x88]
push eax
call fcn.00431230
mov ecx, dword [ebp - 0x8c]
mov byte [ebp - 4], 4
cmp ecx, 0x10
jb 0x4f8147
mov edx, dword [ebp - 0xa0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4f813d
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4f8f01
push ecx
push edx
call fcn.00500e09
add esp, 8
mov ecx, dword [ebp - 0x224]
dec esi
mov dword [ebp - 0x220], esi
cmp esi, ecx
jg 0x4f8070
mov eax, dword [ebp - 0x240]
mov edi, dword [ebp - 0x228]
mov edx, dword [ebp - 0x230]
mov esi, dword [ebp - 0x70]
mov dword [ebp - 0x234], esi
je 0x4f8667
mov eax, dword [ebp + 0x18]
sub esp, 0x18
sub edx, edi
mov dword [ebp - 0x240], esp
mov eax, dword [eax]
add eax, ecx
mov ecx, dword [ebp - 0x248]
push edx
mov dword [ecx], eax
lea eax, [ebp - 0x13]
push eax
call fcn.004f6ba0
add esp, 8
lea ecx, [ebp - 0x214]
push ecx
lea ecx, [ebp - 0x13]
push ecx
push eax
lea ecx, [ebp - 0xb8]
call fcn.004f6260
or dword [ebp - 0x218], 6
lea eax, [ebp - 0x8b]
mov byte [ebp - 4], 9
push edi
push eax
call fcn.004f6ba0
add esp, 8
lea ecx, [ebp - 0x214]
push ecx
lea ecx, [ebp - 0x8b]
push ecx
push eax
lea ecx, [ebp - 0x180]
call fcn.004f6260
or dword [ebp - 0x218], 0x18
xorps xmm0, xmm0
mov byte [ebp - 4], 0xa
push 0x20
lea ecx, [ebp - 0x11c]
movups xmmword [ebp - 0x11c], xmm0
call fcn.004311d0
movups xmm0, xmmword [str._expected_length_is]
mov ecx, eax
mov dword [ebp - 0x10c], 0x14
mov dword [ebp - 0x11c], ecx
mov dword [ebp - 0x108], 0x1f
movups xmmword [ecx], xmm0
mov eax, dword [0x5440a4]
mov dword [ecx + 0x10], eax
mov byte [ecx + 0x14], 0
mov ecx, dword [ebp - 0x60]
lea eax, [ebp - 0x70]
sub esp, 0x18
mov byte [ebp - 4], 0xb
cmp dword [ebp - 0x5c], 0x10
mov edi, esp
xorps xmm0, xmm0
cmovae eax, esi
mov dword [ebp - 0x228], eax
movups xmmword [edi], xmm0
mov dword [edi + 0x10], 0
mov dword [edi + 0x14], 0
cmp ecx, 0x7fffffff
ja 0x4f8f16
mov dword [edi + 0x14], 0xf
cmp ecx, 0x10
jae 0x4f829a
push 0x10
push eax
push edi
mov dword [edi + 0x10], ecx
call sub.VCRUNTIME140.dll_memmove
jmp 0x4f82df
mov esi, ecx
or esi, 0xf
cmp esi, 0x7fffffff
jbe 0x4f82ae
mov esi, 0x7fffffff
jmp 0x4f82b9
cmp esi, 0x16
mov eax, 0x16
cmovb esi, eax
lea eax, [esi + 1]
mov ecx, edi
push eax
call fcn.004311d0
mov ecx, eax
mov dword [edi + 0x14], esi
mov eax, dword [ebp - 0x60]
mov dword [edi + 0x10], eax
inc eax
push eax
push dword [ebp - 0x228]
mov dword [edi], ecx
push ecx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
lea eax, [ebp - 0xd4]
push eax
call fcn.004f92f0
add esp, 0x1c
push 8
push str.command
push 0
mov ecx, eax
mov byte [ebp - 4], 0xc
call fcn.004498d0
mov esi, dword [ebp - 0x218]
or esi, 0x20
mov dword [ebp - 0x218], esi
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x1b0], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x1a0], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
lea eax, [ebp - 0x11c]
mov byte [ebp - 4], 0xd
push eax
lea eax, [ebp - 0x1b0]
push eax
push dword [ebp - 0x21c]
lea ecx, [ebp - 0x1c8]
call fcn.004f6d70
or esi, 0x40
mov dword [ebp - 0x218], esi
lea eax, [ebp - 0x180]
mov byte [ebp - 4], 0xe
push eax
lea eax, [ebp - 0x1c8]
push eax
push dword [ebp - 0x21c]
lea ecx, [ebp - 0x58]
call fcn.004f6d70
or esi, 0x80
mov dword [ebp - 0x218], esi
push 0xf
push str._bytes_but_got
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 0xf
call fcn.00431230
or esi, 0x100
mov dword [ebp - 0x218], esi
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x198], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x188], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov ecx, dword [ebp - 0x240]
lea eax, [ebp - 0xb8]
push eax
lea eax, [ebp - 0x198]
mov byte [ebp - 4], 0x10
push eax
push dword [ebp - 0x21c]
call fcn.004f6d70
lea eax, [ebp - 0xec]
or esi, 0x200
push 2
push eax
mov dword [ebp - 0x218], esi
call fcn.004fdc90
mov ecx, dword [ebp - 0xd8]
add esp, 0x20
cmp ecx, 0x10
jb 0x4f8455
mov edx, dword [ebp - 0xec]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4f844b
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4f8f01
push ecx
push edx
call fcn.00500e09
add esp, 8
mov ecx, dword [ebp - 0x184]
mov dword [ebp - 0xdc], 0
mov dword [ebp - 0xd8], 0xf
mov byte [ebp - 0xec], 0
mov byte [ebp - 4], 0xf
cmp ecx, 0x10
jb 0x4f84ae
mov edx, dword [ebp - 0x198]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4f84a4
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4f8f01
push ecx
push edx
call fcn.00500e09
add esp, 8
mov ecx, dword [ebp - 0x44]
mov byte [ebp - 4], 0xe
cmp ecx, 0x10
jb 0x4f84e6
mov edx, dword [ebp - 0x58]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4f84dc
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4f8f01
push ecx
push edx
call fcn.00500e09
add esp, 8
mov ecx, dword [ebp - 0x1b4]
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x44], 0xf
mov byte [ebp - 0x58], 0
mov byte [ebp - 4], 0xd
cmp ecx, 0x10
jb 0x4f8536
mov edx, dword [ebp - 0x1c8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4f852c
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4f8f01
push ecx
push edx
call fcn.00500e09
add esp, 8
mov ecx, dword [ebp - 0x19c]
mov byte [ebp - 4], 0xc
cmp ecx, 0x10
jb 0x4f8574
mov edx, dword [ebp - 0x1b0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4f856a
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4f8f01
push ecx
push edx
call fcn.00500e09
add esp, 8
mov ecx, dword [ebp - 0xc0]
mov byte [ebp - 4], 0xb
cmp ecx, 0x10
jb 0x4f85b2
mov edx, dword [ebp - 0xd4]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4f85a8
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4f8f01
push ecx
push edx
call fcn.00500e09
add esp, 8
mov ecx, dword [ebp - 0x108]
mov dword [ebp - 0xc4], 0
mov dword [ebp - 0xc0], 0xf
mov byte [ebp - 0xd4], 0
mov byte [ebp - 4], 0xa
cmp ecx, 0x10
jb 0x4f860b
mov edx, dword [ebp - 0x11c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4f8601
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4f8f01
push ecx
push edx
call fcn.00500e09
add esp, 8
mov ecx, dword [ebp - 0x16c]
mov byte [ebp - 4], 9
cmp ecx, 0x10
jb 0x4f8649
mov edx, dword [ebp - 0x180]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4f863f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4f8f01
push ecx
push edx
call fcn.00500e09
add esp, 8
mov ecx, dword [ebp - 0xa4]
mov byte [ebp - 4], 4
cmp ecx, 0x10
jb 0x4f8bf7
mov edx, dword [ebp - 0xb8]
jmp 0x4f8bce
cmp dword [ebp - 0x2c], 0x10
lea esi, [ebp - 0x40]
mov edi, dword [ebp - 0x40]
mov dword [ebp - 0x224], eax
setae byte [ebp - 0x214]
mov eax, dword [ebp - 0x30]
cmovae esi, edi
test eax, eax
je 0x4f8b23
push eax
push 0x20
push esi
call sub.VCRUNTIME140.dll_memchr
mov ecx, eax
add esp, 0xc
test ecx, ecx
je 0x4f8b23
sub ecx, esi
cmp ecx, 0xffffffff
je 0x4f8b23
cmp byte [ebp - 0x214], 0
lea eax, [ebp - 0x40]
cmovne eax, edi
mov byte [ecx + eax], 0x5f
lea eax, [ebp - 0x40]
push eax
lea eax, [ebp - 0x264]
mov ecx, 0x55f1a8
push eax
call fcn.004f6a80
mov esi, dword [ebp - 0x25c]
cmp byte [esi + 0xd], 0
jne 0x4f8b23
cmp dword [esi + 0x24], 0x10
lea edx, [esi + 0x10]
jb 0x4f86ef
mov edx, dword [esi + 0x10]
push dword [esi + 0x20]
cmp dword [ebp - 0x2c], 0x10
lea eax, [ebp - 0x40]
push edx
cmovae eax, dword [ebp - 0x40]
push dword [ebp - 0x30]
push eax
call fcn.004f6b10
shr eax, 0x1f
add esp, 0x10
test al, al
jne 0x4f8b23
cmp esi, dword [0x55f1a8]
je 0x4f8b23
mov eax, dword [ebp - 0x238]
mov edx, dword [eax]
mov eax, 0x100
add edx, dword [ebp - 0x224]
cwde
movzx ecx, byte [edx]
movsx ecx, cx
imul ecx, eax
movzx eax, byte [edx - 1]
add cx, ax
movzx eax, cx
push eax
mov dword [ebp - 0x220], eax
lea eax, [ebp - 0x14c]
push eax
call fcn.004f9150
cmp dword [ebp - 0x138], 0x10
lea ecx, [ebp - 0x14c]
mov esi, dword [ebp - 0x14c]
mov edi, dword [ebp - 0x13c]
cmovae ecx, esi
push 0
push 0x50a8fc
push edi
push ecx
mov byte [ebp - 4], 0x11
setae byte [ebp - 0x214]
call fcn.00421570
add esp, 0x18
test al, al
jne 0x4f87c1
cmp byte [ebp - 0x214], 0
lea eax, [ebp - 0x14c]
mov edx, dword [ebp - 0x78]
push edi
cmovne eax, esi
push eax
lea ecx, [edx - 4]
push edx
push ecx
lea ecx, [ebp - 0x88]
call fcn.004f9440
jmp 0x4f8b14
mov eax, dword [ebp - 0x220]
movsx edi, ax
mov eax, dword [ebp - 0x22c]
mov esi, dword [eax]
mov esi, dword [esi]
cmp byte [esi + 0xd], 0
jne 0x4f885c
nop
mov ax, word [esi + 0x10]
lea ecx, [ebp - 0xb8]
mov word [ebp - 0xbc], ax
lea eax, [esi + 0x14]
push eax
call fcn.0042c1f0
movzx eax, word [ebp - 0xbc]
cmp eax, edi
je 0x4f8983
lea ecx, [ebp - 0xb8]
call fcn.0042df30
mov eax, dword [esi + 8]
cmp byte [eax + 0xd], 0
je 0x4f883a
mov eax, dword [esi + 4]
cmp byte [eax + 0xd], 0
jne 0x4f8836
cmp esi, dword [eax + 8]
jne 0x4f8836
mov esi, eax
mov eax, dword [eax + 4]
cmp byte [eax + 0xd], 0
je 0x4f8826
mov esi, eax
jmp 0x4f8850
mov esi, eax
mov ecx, dword [esi]
cmp byte [ecx + 0xd], 0
jne 0x4f8850
mov eax, dword [ecx]
mov esi, ecx
mov ecx, eax
cmp byte [eax + 0xd], 0
je 0x4f8844
cmp byte [esi + 0xd], 0
je 0x4f87e0
mov eax, dword [ebp - 0x22c]
push dword [eax + 4]
lea eax, [ebp - 0x8b]
push eax
call fcn.004f6ba0
add esp, 8
lea ecx, [ebp - 0x214]
push ecx
lea ecx, [ebp - 0x8b]
push ecx
push eax
lea ecx, [ebp - 0x1f8]
call fcn.004f6260
mov esi, dword [ebp - 0x218]
or esi, 0xc00000
mov dword [ebp - 0x218], esi
mov eax, dword [str.Label]
xorps xmm0, xmm0
movups xmmword [ebp - 0x134], xmm0
mov dword [ebp - 0x134], eax
mov al, byte [0x5440bc]
mov dword [ebp - 0x124], 5
mov dword [ebp - 0x120], 0xf
mov byte [ebp - 0x130], al
mov byte [ebp - 0x12f], 0
lea eax, [ebp - 0x1f8]
mov byte [ebp - 4], 0x13
push eax
lea eax, [ebp - 0x134]
push eax
push dword [ebp - 0x21c]
lea ecx, [ebp - 0x1e0]
call fcn.004f6d70
or esi, 0x1000000
mov dword [ebp - 0x218], esi
push 0x50f810
lea eax, [ebp - 0x1e0]
mov byte [ebp - 4], 0x14
push eax
lea eax, [ebp - 0x210]
push eax
call fcn.00420c50
add esp, 0xc
mov ecx, dword [ebp - 0x220]
mov word [ebp - 0x168], cx
lea ecx, [ebp - 0x164]
push eax
call fcn.0042c1a0
mov esi, dword [ebp - 0x22c]
xor edi, edi
mov byte [ebp - 4], 0x16
mov eax, dword [esi]
mov edx, eax
mov dword [ebp - 0x228], eax
mov ecx, dword [eax + 4]
mov dword [ebp - 0x220], ecx
cmp byte [ecx + 0xd], 0
jne 0x4f89a4
mov eax, ecx
mov cx, word [ebp - 0x168]
nop word [eax + eax]
mov dword [ebp - 0x220], eax
cmp word [eax + 0x10], cx
jae 0x4f8993
mov eax, dword [eax + 8]
xor edi, edi
jmp 0x4f899c
lea ecx, [ebp - 0xbc]
call fcn.00443e30
jmp 0x4f8a6e
mov edx, eax
mov edi, 1
mov eax, dword [eax]
cmp byte [eax + 0xd], 0
je 0x4f8970
jmp 0x4f89ab
mov cx, word [ebp - 0x168]
cmp byte [edx + 0xd], 0
jne 0x4f89bb
cmp cx, word [edx + 0x10]
jae 0x4f8a33
cmp dword [esi + 4], 0x5d1745d
je 0x4f8f07
mov dword [ebp - 0x250], esi
push 0x2c
mov byte [ebp - 4], 0x17
mov dword [ebp - 0x24c], 0
call fcn.00500dd9
mov esi, eax
add esp, 4
mov ax, word [ebp - 0x168]
mov word [esi + 0x10], ax
lea ecx, [esi + 0x14]
lea eax, [ebp - 0x164]
push eax
call fcn.0042c1a0
mov eax, dword [ebp - 0x228]
mov ecx, dword [ebp - 0x22c]
push esi
mov dword [esi], eax
push edi
push dword [ebp - 0x220]
mov dword [esi + 4], eax
mov dword [esi + 8], eax
mov word [esi + 0xc], 0
mov dword [ebp - 0x24c], 0
call fcn.004449b0
lea ecx, [ebp - 0x168]
call fcn.00443e30
lea ecx, [ebp - 0x210]
call fcn.0042df30
lea ecx, [ebp - 0x1e0]
call fcn.0042df30
lea ecx, [ebp - 0x134]
call fcn.0042df30
lea ecx, [ebp - 0x1f8]
mov byte [ebp - 4], 0x11
call fcn.0042df30
mov eax, dword [ebp - 0x22c]
mov eax, dword [eax + 4]
dec eax
push eax
lea eax, [ebp - 0x8b]
push eax
call fcn.004f6ba0
add esp, 8
lea ecx, [ebp - 0x214]
push ecx
lea ecx, [ebp - 0x8b]
push ecx
push eax
lea ecx, [ebp - 0xb8]
call fcn.004f6260
or dword [ebp - 0x218], 0x300000
lea eax, [ebp - 0xb8]
mov byte [ebp - 4], 0x18
push eax
lea eax, [ebp - 0x180]
push str.Label
push eax
call fcn.004f63d0
add esp, 0xc
mov edx, eax
cmp dword [edx + 0x14], 0x10
mov byte [ebp - 4], 0x19
jb 0x4f8ad9
mov edx, dword [edx]
mov esi, dword [ebp - 0x78]
mov ecx, edx
add esi, 0xfffffffc
lea edi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4f8ae4
sub ecx, edi
push ecx
push edx
push dword [ebp - 0x78]
lea ecx, [ebp - 0x88]
push esi
call fcn.004f9440
lea ecx, [ebp - 0x180]
call fcn.0042df30
lea ecx, [ebp - 0xb8]
call fcn.0042df30
lea ecx, [ebp - 0x14c]
mov byte [ebp - 4], 4
call fcn.0042df30
cmp dword [ebp - 0x230], 0
je 0x4f8bf7
mov edx, dword [ebp - 0x78]
mov byte [ebp - 0x214], 0xa
cmp edx, 0x7fffffff
je 0x4f8f16
cmp dword [ebp - 0x74], 0x10
lea ecx, [ebp - 0x214]
push 1
push ecx
push edx
lea eax, [ebp - 0x88]
cmovae eax, dword [ebp - 0x88]
lea ecx, [ebp - 0x58]
push eax
lea eax, [ebp - 0x88]
push eax
push dword [ebp - 0x21c]
call fcn.00448260
or dword [ebp - 0x218], 0x400
mov edx, dword [ebp - 0x244]
mov byte [ebp - 4], 0x1a
mov eax, dword [edx + 4]
cmp eax, dword [edx + 8]
je 0x4f8bb3
movups xmm0, xmmword [ebp - 0x58]
mov ecx, 0xf
mov byte [ebp - 0x58], 0
movups xmmword [eax], xmm0
movq xmm0, qword [ebp - 0x48]
movq qword [eax + 0x10], xmm0
add dword [edx + 4], 0x18
jmp 0x4f8bc2
lea ecx, [ebp - 0x58]
push ecx
push eax
mov ecx, edx
call fcn.00446b10
mov ecx, dword [ebp - 0x44]
mov byte [ebp - 4], 4
cmp ecx, 0x10
jb 0x4f8bf7
mov edx, dword [ebp - 0x58]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4f8bed
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4f8f01
push ecx
push edx
call fcn.00500e09
add esp, 8
mov eax, dword [ebp - 0x5c]
mov byte [ebp - 4], 3
cmp eax, 0x10
jb 0x4f8c34
mov edx, dword [ebp - 0x234]
lea ecx, [eax + 1]
mov eax, edx
cmp ecx, 0x1000
jb 0x4f8c2a
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4f8f01
push ecx
push edx
call fcn.00500e09
add esp, 8
mov eax, dword [ebp - 0x2c]
mov byte [ebp - 4], 2
cmp eax, 0x10
jb 0x4f8e45
mov edx, dword [ebp - 0x40]
lea ecx, [eax + 1]
jmp 0x4f8e1d
mov eax, dword [ebp + 0x18]
sub esp, 0x18
mov ecx, dword [ebp - 0x248]
mov eax, dword [eax]
add eax, edi
mov edi, esp
mov dword [ecx], eax
mov eax, dword [ebp - 0x238]
mov eax, dword [eax]
add eax, dword [ebp - 0x224]
push eax
lea eax, [ebp - 0xb8]
push eax
call fcn.004f97a0
sub esp, 0x10
mov byte [ebp - 4], 0x1b
mov esi, esp
mov ecx, eax
mov dword [ebp - 0x234], esi
push 2
push 0x544078
push 0
call fcn.004498d0
xorps xmm0, xmm0
movups xmmword [esi], xmm0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0
movups xmm0, xmmword [eax]
movups xmmword [esi], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [esi + 0x10], xmm0
mov esi, dword [ebp - 0x218]
mov dword [eax + 0x10], 0
or esi, 0x800
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
lea eax, [ebp - 0xec]
push eax
mov dword [ebp - 0x218], esi
call fcn.004f92f0
add esp, 0x1c
push 0xf
push str.unknown_opcode
push 0
mov ecx, eax
mov byte [ebp - 4], 0x1c
call fcn.004498d0
xorps xmm0, xmm0
or esi, 0x1000
movups xmmword [edi], xmm0
mov dword [edi + 0x10], 0
mov dword [edi + 0x14], 0
movups xmm0, xmmword [eax]
push 1
mov dword [ebp - 0x218], esi
movups xmmword [edi], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [edi + 0x10], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
lea eax, [ebp - 0xd4]
push eax
call fcn.004fdc90
mov ecx, dword [ebp - 0xc0]
add esp, 0x20
cmp ecx, 0x10
jb 0x4f8d93
mov edx, dword [ebp - 0xd4]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4f8d89
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4f8f01
push ecx
push edx
call fcn.00500e09
add esp, 8
mov ecx, dword [ebp - 0xd8]
mov dword [ebp - 0xc4], 0
mov dword [ebp - 0xc0], 0xf
mov byte [ebp - 0xd4], 0
mov byte [ebp - 4], 0x1b
cmp ecx, 0x10
jb 0x4f8dec
mov edx, dword [ebp - 0xec]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4f8de2
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4f8f01
push ecx
push edx
call fcn.00500e09
add esp, 8
mov ecx, dword [ebp - 0xa4]
mov dword [ebp - 0xdc], 0
mov dword [ebp - 0xd8], 0xf
mov byte [ebp - 0xec], 0
mov byte [ebp - 4], 2
cmp ecx, 0x10
jb 0x4f8e45
mov edx, dword [ebp - 0xb8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4f8e3b
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4f8f01
push ecx
push edx
call fcn.00500e09
add esp, 8
mov ecx, dword [ebp - 0xf0]
mov byte [ebp - 4], 1
cmp ecx, 0x10
jb 0x4f8e83
mov edx, dword [ebp - 0x104]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4f8e79
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4f8f01
push ecx
push edx
call fcn.00500e09
add esp, 8
mov ecx, dword [ebp - 0x74]
mov byte [ebp - 4], 0
cmp ecx, 0x10
jb 0x4f8eba
mov edx, dword [ebp - 0x88]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4f8eb0
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4f8f01
push ecx
push edx
call fcn.00500e09
add esp, 8
mov eax, dword [ebp - 0x238]
mov edi, dword [ebp - 0x224]
inc edi
mov dword [ebp - 0x224], edi
mov ecx, dword [eax]
mov eax, dword [eax + 4]
sub eax, ecx
cmp edi, eax
jb 0x4f7943
mov edx, dword [ebp - 0x244]
mov eax, edx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00501271
mov esp, ebp
pop ebp
ret 0x14
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
call fcn.00444ba0
push str.invalid_unordered_map_K__T__key
call sub.MSVCP140.dll_void___cdecl_std::_Xout_of_range_char_const__
call fcn.00430f60
int3