Function at 0x40b930
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4830f9
mov eax, dword fs:[0]
push eax
sub esp, 0xd0
mov eax, dword [0x49f440]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x74], edx
mov esi, ecx
mov dword [ebp - 0x6c], esi
mov eax, dword [esi + 0x4c]
xor edi, edi
mov ecx, dword [esi + 0x50]
sub ecx, eax
mov dword [ebp - 0x78], eax
mov eax, 0x2aaaaaab
imul ecx
mov eax, edi
sar edx, 1
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
sub ecx, dword [esi + 0x18]
sub ecx, 1
cmovns eax, ecx
test eax, eax
je 0x40ba94
push edi
push dword [0x4a028c]
lea eax, [ebp - 0x58]
mov ecx, esi
push eax
call fcn.00412640
mov edx, eax
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x98]
call fcn.004021d0
push eax
push edi
mov byte [ebp - 4], 1
mov ecx, esi
push dword [0x4a028c]
call fcn.00412750
mov byte [ebp - 4], 0
mov ecx, dword [ebp - 0x84]
cmp ecx, 0xf
jbe 0x40ba0c
mov edx, dword [ebp - 0x98]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40ba02
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40c022
push ecx
push edx
call fcn.00480e43
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x44]
mov dword [ebp - 0x88], 0
mov dword [ebp - 0x84], 0xf
mov byte [ebp - 0x98], 0
cmp ecx, 0xf
jbe 0x40ba62
mov edx, dword [ebp - 0x58]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40ba58
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40c022
push ecx
push edx
call fcn.00480e43
add esp, 8
mov eax, dword [esi + 0x4c]
inc edi
mov ecx, dword [esi + 0x50]
sub ecx, eax
mov dword [ebp - 0x78], eax
mov eax, 0x2aaaaaab
imul ecx
mov eax, 0
sar edx, 1
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
sub ecx, dword [esi + 0x18]
sub ecx, 1
cmovns eax, ecx
cmp edi, eax
jb 0x40b995
xorps xmm0, xmm0
mov dword [ebp - 0x44], 0
xor edx, edx
movq qword [ebp - 0x4c], xmm0
xor eax, eax
mov dword [ebp - 0x68], edx
xor edi, edi
mov dword [ebp - 0x4c], edx
mov dword [ebp - 0x48], edi
mov dword [ebp - 0x9c], eax
mov dword [ebp - 0x44], eax
mov dword [ebp - 4], 2
mov ecx, dword [esi + 0x50]
sub ecx, dword [ebp - 0x78]
mov dword [ebp - 0xb8], eax
mov dword [ebp - 0x64], eax
mov eax, 0x2aaaaaab
imul ecx
mov eax, edi
sar edx, 1
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
sub ecx, dword [esi + 0x18]
sub ecx, 1
cmovns eax, ecx
test eax, eax
je 0x40be48
xor ecx, ecx
push ecx
push dword [0x4a028c]
lea eax, [ebp - 0x40]
mov ecx, esi
push eax
call fcn.00412640
cmp dword [ebp - 0x68], edi
mov eax, dword [ebp - 0x64]
cmovne edi, dword [ebp - 0x68]
mov byte [ebp - 4], 3
mov ecx, dword [esi + 0x50]
sub ecx, dword [esi + 0x4c]
mov dword [ebp - 0x5c], eax
mov eax, 0x2aaaaaab
imul ecx
mov eax, 0
mov dword [ebp - 0x78], edi
sar edx, 1
mov ecx, edx
mov dword [ebp - 0x48], edi
shr ecx, 0x1f
add ecx, edx
sub ecx, dword [esi + 0x18]
sub ecx, 1
cmovns eax, ecx
cmp dword [ebp - 0x64], eax
jae 0x40bcb5
mov ecx, dword [ebp - 0x5c]
nop
push ecx
push dword [0x4a028c]
lea eax, [ebp - 0xb4]
mov ecx, esi
push eax
call fcn.00412640
mov edi, eax
push dword [ebp - 0x64]
mov byte [ebp - 4], 4
lea eax, [ebp - 0x98]
push dword [0x4a028c]
mov ecx, esi
push eax
call fcn.00412640
cmp dword [edi + 0x14], 0xf
mov ecx, dword [edi + 0x10]
jbe 0x40bb8d
mov edi, dword [edi]
cmp dword [eax + 0x14], 0xf
mov edx, dword [eax + 0x10]
jbe 0x40bb98
mov eax, dword [eax]
push ecx
push edi
mov ecx, eax
call fcn.00416410
mov ecx, dword [ebp - 0x84]
add esp, 8
mov byte [ebp - 0x6d], al
cmp ecx, 0xf
jbe 0x40bbe1
mov edx, dword [ebp - 0x98]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40bbd7
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40c022
push ecx
push edx
call fcn.00480e43
add esp, 8
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0xa0]
mov dword [ebp - 0x88], 0
mov dword [ebp - 0x84], 0xf
mov byte [ebp - 0x98], 0
cmp ecx, 0xf
jbe 0x40bc3a
mov edx, dword [ebp - 0xb4]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40bc30
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40c022
push ecx
push edx
call fcn.00480e43
add esp, 8
cmp byte [ebp - 0x6d], 0
mov edi, dword [ebp - 0x78]
je 0x40bc77
cmp edi, dword [ebp - 0x9c]
je 0x40bc5b
mov eax, dword [ebp - 0x5c]
mov dword [edi], eax
add edi, 4
mov dword [ebp - 0x78], edi
mov dword [ebp - 0x48], edi
jmp 0x40bc7a
lea eax, [ebp - 0x5c]
push eax
push edi
lea ecx, [ebp - 0x4c]
call fcn.004162b0
mov eax, dword [ebp - 0x44]
mov edi, dword [ebp - 0x48]
mov dword [ebp - 0x9c], eax
mov dword [ebp - 0x78], edi
mov eax, dword [ebp - 0x5c]
mov ecx, dword [esi + 0x50]
inc eax
sub ecx, dword [esi + 0x4c]
mov dword [ebp - 0x5c], eax
mov eax, 0x2aaaaaab
imul ecx
mov eax, 0
sar edx, 1
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
sub ecx, dword [esi + 0x18]
sub ecx, 1
cmovns eax, ecx
mov ecx, dword [ebp - 0x5c]
cmp ecx, eax
jb 0x40bb50
mov ecx, dword [ebp - 0x4c]
mov dword [ebp - 0x68], ecx
jmp 0x40bcb8
mov ecx, dword [ebp - 0x68]
mov eax, edi
mov edx, edi
sub eax, ecx
sar eax, 2
push esi
push eax
call fcn.004157b0
mov edx, dword [ebp - 0x68]
mov eax, edi
lea ecx, [edx + 4]
sub eax, ecx
push eax
push ecx
push edx
call sub.VCRUNTIME140.dll_memmove
mov eax, dword [ebp - 0x68]
sub edi, 4
add esp, 0x14
mov dword [ebp - 0x78], edi
mov dword [ebp - 0x48], edi
cmp edi, eax
je 0x40bd22
mov ecx, edi
mov esi, eax
lea eax, [edi - 4]
add ecx, 0xfffffffc
cmp eax, esi
je 0x40bd13
mov edi, eax
nop dword [eax]
mov edx, dword [ecx]
add eax, 0xfffffffc
cmp dword [edi - 4], edx
jge 0x40bd0d
dec edx
mov dword [ecx], edx
mov edi, eax
cmp eax, esi
jne 0x40bd00
mov edi, ecx
cmp ecx, esi
jne 0x40bcf1
mov esi, dword [ebp - 0x6c]
mov edi, dword [ebp - 0x78]
mov eax, dword [ebp - 0x68]
mov edx, edi
xor ecx, ecx
sub edx, eax
mov dword [ebp - 0x5c], ecx
sar edx, 2
mov dword [ebp - 0x60], edx
test edx, edx
je 0x40bdde
add dword [ebp - 0xb8], edx
nop
mov edx, dword [eax + ecx*4]
xor ecx, ecx
mov eax, dword [esi + 0x18]
add eax, 1
cmovns ecx, eax
lea eax, [ecx + edx]
lea ecx, [eax + eax*2]
mov eax, dword [esi + 0x4c]
lea edi, [eax + ecx*4]
mov eax, dword [esi + 0x50]
mov dword [ebp - 0xc0], edi
add edi, 0xc
mov dword [ebp - 0x80], eax
cmp edi, eax
je 0x40bdb2
mov esi, dword [ebp - 0xc0]
cmp esi, edi
je 0x40bda5
mov ecx, esi
call fcn.00410850
mov eax, dword [edi]
mov dword [esi], eax
mov eax, dword [edi + 4]
mov dword [esi + 4], eax
mov eax, dword [edi + 8]
mov dword [esi + 8], eax
mov eax, dword [ebp - 0x80]
mov dword [edi], 0
mov dword [edi + 4], 0
mov dword [edi + 8], 0
add edi, 0xc
add esi, 0xc
cmp edi, eax
jne 0x40bd73
mov esi, dword [ebp - 0x6c]
mov ecx, dword [esi + 0x50]
sub ecx, 0xc
call fcn.00410850
add dword [esi + 0x50], 0xfffffff4
mov ecx, esi
call fcn.00405710
mov ecx, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x68]
inc ecx
mov dword [ebp - 0x5c], ecx
cmp ecx, dword [ebp - 0x60]
jb 0x40bd40
mov edi, dword [ebp - 0x78]
mov byte [ebp - 4], 2
mov ecx, dword [ebp - 0x2c]
cmp ecx, 0xf
jbe 0x40be16
mov edx, dword [ebp - 0x40]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40be0c
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40c022
push ecx
push edx
call fcn.00480e43
add esp, 8
mov ecx, dword [esi + 0x50]
mov eax, 0x2aaaaaab
sub ecx, dword [esi + 0x4c]
inc dword [ebp - 0x64]
imul ecx
mov eax, 0
sar edx, 1
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
sub ecx, dword [esi + 0x18]
sub ecx, 1
cmovns eax, ecx
mov ecx, dword [ebp - 0x64]
cmp ecx, eax
jb 0x40baf6
mov eax, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
lea ecx, [ebp - 0x40]
mov edx, dword [ebp - 0xb8]
mov dword [ebp - 0x80], eax
call fcn.00401880
push eax
mov edx, str.Removed
mov byte [ebp - 4], 5
lea ecx, [ebp - 0xb4]
call fcn.004113d0
mov ecx, eax
add esp, 4
mov dword [ebp - 0x60], ecx
mov byte [ebp - 4], 6
mov edi, dword [ecx + 0x14]
mov eax, edi
mov edx, dword [ecx + 0x10]
sub eax, edx
cmp eax, 0x18
jb 0x40beb9
lea eax, [edx + 0x18]
mov dword [ecx + 0x10], eax
mov eax, ecx
cmp edi, 0xf
jbe 0x40be9d
mov eax, dword [ecx]
push 0x18
lea edi, [eax + edx]
push str._duplicates_from_the_csv
push edi
call sub.VCRUNTIME140.dll_memmove
mov eax, dword [ebp - 0x60]
add esp, 0xc
mov byte [edi + 0x18], 0
jmp 0x40bece
push 0x18
push str._duplicates_from_the_csv
mov byte [ebp - 0x60], 0
push dword [ebp - 0x60]
push 0x18
call fcn.004141c0
mov dword [ebp - 0x88], 0
xorps xmm0, xmm0
movups xmmword [ebp - 0x98], xmm0
mov dword [ebp - 0x84], 0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x98], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x88], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov ecx, dword [ebp - 0x80]
lea edx, [ebp - 0x98]
mov byte [ebp - 4], 7
cmp dword [ebp - 0x84], 0xf
push dword [ebp - 0x88]
cmova edx, dword [ebp - 0x98]
call fcn.00415610
add esp, 4
mov ecx, eax
push 0x411780
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
mov byte [ebp - 4], 6
mov ecx, dword [ebp - 0x84]
cmp ecx, 0xf
jbe 0x40bf88
mov edx, dword [ebp - 0x98]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40bf7e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40c022
push ecx
push edx
call fcn.00480e43
add esp, 8
mov byte [ebp - 4], 5
mov ecx, dword [ebp - 0xa0]
mov dword [ebp - 0x88], 0
mov dword [ebp - 0x84], 0xf
mov byte [ebp - 0x98], 0
cmp ecx, 0xf
jbe 0x40bfdd
mov edx, dword [ebp - 0xb4]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40bfd3
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40c022
push ecx
push edx
call fcn.00480e43
add esp, 8
mov byte [ebp - 4], 2
mov ecx, dword [ebp - 0x2c]
mov dword [ebp - 0xa4], 0
mov dword [ebp - 0xa0], 0xf
mov byte [ebp - 0xb4], 0
cmp ecx, 0xf
jbe 0x40c032
mov edx, dword [ebp - 0x40]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40c028
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x40c028
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.00480e43
add esp, 8
mov ecx, dword [esi + 0x50]
mov eax, 0x2aaaaaab
sub ecx, dword [esi + 0x4c]
xor edi, edi
imul ecx
mov eax, edi
mov dword [ebp - 0x5c], edi
sar edx, 1
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
sub ecx, dword [esi + 0x18]
sub ecx, 1
cmovns eax, ecx
test eax, eax
je 0x40c6fa
mov eax, dword [ebp - 0x74]
add eax, 4
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x80], eax
nop dword [eax]
push edi
push dword [0x4a0290]
lea eax, [ebp - 0x28]
mov ecx, esi
push eax
call fcn.00412640
mov byte [ebp - 4], 8
lea eax, [ebp - 0x28]
cmp dword [ebp - 0x14], 0xf
mov edx, 0x811c9dc5
mov edi, dword [ebp - 0x18]
cmova eax, dword [ebp - 0x28]
xor ecx, ecx
test edi, edi
je 0x40c0b5
mov esi, eax
movzx eax, byte [esi + ecx]
inc ecx
xor eax, edx
imul edx, eax, 0x1000193
cmp ecx, edi
jb 0x40c0a1
mov esi, dword [ebp - 0x6c]
mov ecx, dword [ebp - 0x74]
lea eax, [ebp - 0x28]
push edx
push eax
lea eax, [ebp - 0xcc]
push eax
call fcn.00413630
mov eax, dword [eax + 4]
test eax, eax
je 0x40c0d5
mov ecx, dword [ebp - 0x64]
jmp 0x40c0dd
mov ecx, dword [ebp - 0x80]
mov dword [ebp - 0x64], ecx
mov eax, dword [ecx]
cmp eax, dword [ecx]
je 0x40c14d
cmp dword [ebp - 0x14], 0xf
lea eax, [ebp - 0x28]
mov edx, 0x811c9dc5
cmova eax, dword [ebp - 0x28]
xor ecx, ecx
test edi, edi
je 0x40c114
mov esi, eax
nop dword [eax]
movzx eax, byte [esi + ecx]
inc ecx
xor eax, edx
imul edx, eax, 0x1000193
cmp ecx, edi
jb 0x40c100
mov esi, dword [ebp - 0x6c]
mov ecx, dword [ebp - 0x74]
lea eax, [ebp - 0x28]
push edx
push eax
lea eax, [ebp - 0xc4]
push eax
call fcn.00413630
mov eax, dword [ebp - 0xc0]
test eax, eax
je 0x40c72c
mov edi, dword [ebp - 0x5c]
add eax, 0x20
push eax
push edi
push dword [0x4a0290]
mov ecx, esi
call fcn.00412750
jmp 0x40c150
mov edi, dword [ebp - 0x5c]
push edi
push dword [0x4a0298]
lea eax, [ebp - 0x40]
mov ecx, esi
push eax
call fcn.00412640
mov edi, eax
lea eax, [ebp - 0x28]
cmp eax, edi
je 0x40c1d3
mov ecx, dword [ebp - 0x14]
cmp ecx, 0xf
jbe 0x40c19f
mov edx, dword [ebp - 0x28]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40c195
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40c022
push ecx
push edx
call fcn.00480e43
add esp, 8
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
movups xmm0, xmmword [edi]
movups xmmword [ebp - 0x28], xmm0
movq xmm0, qword [edi + 0x10]
movq qword [ebp - 0x18], xmm0
mov dword [edi + 0x10], 0
mov dword [edi + 0x14], 0xf
mov byte [edi], 0
mov ecx, dword [ebp - 0x2c]
cmp ecx, 0xf
jbe 0x40c207
mov edx, dword [ebp - 0x40]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40c1fd
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40c022
push ecx
push edx
call fcn.00480e43
add esp, 8
cmp dword [ebp - 0x14], 0xf
lea eax, [ebp - 0x28]
mov edi, dword [ebp - 0x18]
mov edx, 0x811c9dc5
cmova eax, dword [ebp - 0x28]
xor ecx, ecx
test edi, edi
je 0x40c236
mov esi, eax
movzx eax, byte [esi + ecx]
inc ecx
xor eax, edx
imul edx, eax, 0x1000193
cmp ecx, edi
jb 0x40c222
mov esi, dword [ebp - 0x6c]
mov ecx, dword [ebp - 0x74]
lea eax, [ebp - 0x28]
push edx
push eax
lea eax, [ebp - 0xd4]
push eax
call fcn.00413630
mov eax, dword [eax + 4]
test eax, eax
je 0x40c2ba
mov ecx, dword [ebp - 0x64]
cmp eax, dword [ecx]
je 0x40c2ba
cmp dword [ebp - 0x14], 0xf
lea eax, [ebp - 0x28]
mov edx, 0x811c9dc5
cmova eax, dword [ebp - 0x28]
xor ecx, ecx
test edi, edi
je 0x40c284
mov esi, eax
movzx eax, byte [esi + ecx]
inc ecx
xor eax, edx
imul edx, eax, 0x1000193
cmp ecx, edi
jb 0x40c270
mov esi, dword [ebp - 0x6c]
mov ecx, dword [ebp - 0x74]
lea eax, [ebp - 0x28]
push edx
push eax
lea eax, [ebp - 0xbc]
push eax
call fcn.00413630
mov eax, dword [ebp - 0xb8]
test eax, eax
je 0x40c72c
add eax, 0x20
mov ecx, esi
push eax
push dword [ebp - 0x5c]
push dword [0x4a0298]
call fcn.00412750
push dword [ebp - 0x5c]
lea eax, [ebp - 0x40]
mov ecx, esi
push dword [0x4a0294]
push eax
call fcn.00412640
mov edi, eax
lea eax, [ebp - 0x28]
cmp eax, edi
je 0x40c33f
mov ecx, dword [ebp - 0x14]
cmp ecx, 0xf
jbe 0x40c30b
mov edx, dword [ebp - 0x28]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40c301
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40c022
push ecx
push edx
call fcn.00480e43
add esp, 8
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
movups xmm0, xmmword [edi]
movups xmmword [ebp - 0x28], xmm0
movq xmm0, qword [edi + 0x10]
movq qword [ebp - 0x18], xmm0
mov dword [edi + 0x10], 0
mov dword [edi + 0x14], 0xf
mov byte [edi], 0
mov ecx, dword [ebp - 0x2c]
cmp ecx, 0xf
jbe 0x40c373
mov edx, dword [ebp - 0x40]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40c369
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40c022
push ecx
push edx
call fcn.00480e43
add esp, 8
cmp dword [ebp - 0x14], 0xf
lea eax, [ebp - 0x28]
mov edi, dword [ebp - 0x18]
mov edx, 0x811c9dc5
cmova eax, dword [ebp - 0x28]
xor ecx, ecx
test edi, edi
je 0x40c3a4
mov esi, eax
nop
movzx eax, byte [esi + ecx]
inc ecx
xor eax, edx
imul edx, eax, 0x1000193
cmp ecx, edi
jb 0x40c390
mov esi, dword [ebp - 0x6c]
mov ecx, dword [ebp - 0x74]
lea eax, [ebp - 0x28]
push edx
push eax
lea eax, [ebp - 0xdc]
push eax
call fcn.00413630
mov eax, dword [eax + 4]
test eax, eax
je 0x40c424
mov ecx, dword [ebp - 0x64]
cmp eax, dword [ecx]
je 0x40c424
cmp dword [ebp - 0x14], 0xf
lea eax, [ebp - 0x28]
mov edx, 0x811c9dc5
cmova eax, dword [ebp - 0x28]
xor ecx, ecx
test edi, edi
je 0x40c3f4
mov esi, eax
nop
movzx eax, byte [esi + ecx]
inc ecx
xor eax, edx
imul edx, eax, 0x1000193
cmp ecx, edi
jb 0x40c3e0
mov esi, dword [ebp - 0x6c]
mov ecx, dword [ebp - 0x74]
lea eax, [ebp - 0x28]
push edx
push eax
lea eax, [ebp - 0x7c]
push eax
call fcn.00413630
mov eax, dword [ebp - 0x78]
test eax, eax
je 0x40c72c
add eax, 0x20
mov ecx, esi
push eax
push dword [ebp - 0x5c]
push dword [0x4a0294]
call fcn.00412750
push dword [ebp - 0x5c]
lea eax, [ebp - 0x40]
mov ecx, esi
push dword [0x4a02a4]
push eax
call fcn.00412640
mov edx, eax
mov byte [ebp - 4], 9
lea ecx, [ebp - 0xb4]
call fcn.00402850
mov edi, eax
lea eax, [ebp - 0x28]
cmp eax, edi
je 0x40c4ba
mov ecx, dword [ebp - 0x14]
cmp ecx, 0xf
jbe 0x40c486
mov edx, dword [ebp - 0x28]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40c47c
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40c022
push ecx
push edx
call fcn.00480e43
add esp, 8
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
movups xmm0, xmmword [edi]
movups xmmword [ebp - 0x28], xmm0
movq xmm0, qword [edi + 0x10]
movq qword [ebp - 0x18], xmm0
mov dword [edi + 0x10], 0
mov dword [edi + 0x14], 0xf
mov byte [edi], 0
mov ecx, dword [ebp - 0xa0]
cmp ecx, 0xf
jbe 0x40c4f4
mov edx, dword [ebp - 0xb4]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40c4ea
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40c022
push ecx
push edx
call fcn.00480e43
add esp, 8
mov byte [ebp - 4], 8
mov ecx, dword [ebp - 0x2c]
mov dword [ebp - 0xa4], 0
mov dword [ebp - 0xa0], 0xf
mov byte [ebp - 0xb4], 0
cmp ecx, 0xf
jbe 0x40c547
mov edx, dword [ebp - 0x40]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40c53d
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40c022
push ecx
push edx
call fcn.00480e43
add esp, 8
mov edi, dword [ebp - 0x5c]
lea eax, [ebp - 0x28]
push eax
push edi
push dword [0x4a02a4]
mov ecx, esi
call fcn.00412750
push edi
push dword [0x4a02a8]
lea eax, [ebp - 0x40]
mov ecx, esi
push eax
call fcn.00412640
mov edx, eax
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0xb4]
call fcn.00402850
mov edi, eax
lea eax, [ebp - 0x28]
cmp eax, edi
je 0x40c5f0
mov ecx, dword [ebp - 0x14]
cmp ecx, 0xf
jbe 0x40c5bc
mov edx, dword [ebp - 0x28]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40c5b2
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40c022
push ecx
push edx
call fcn.00480e43
add esp, 8
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
movups xmm0, xmmword [edi]
movups xmmword [ebp - 0x28], xmm0
movq xmm0, qword [edi + 0x10]
movq qword [ebp - 0x18], xmm0
mov dword [edi + 0x10], 0
mov dword [edi + 0x14], 0xf
mov byte [edi], 0
mov ecx, dword [ebp - 0xa0]
cmp ecx, 0xf
jbe 0x40c62a
mov edx, dword [ebp - 0xb4]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40c620
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40c022
push ecx
push edx
call fcn.00480e43
add esp, 8
mov byte [ebp - 4], 8
mov ecx, dword [ebp - 0x2c]
mov dword [ebp - 0xa4], 0
mov dword [ebp - 0xa0], 0xf
mov byte [ebp - 0xb4], 0
cmp ecx, 0xf
jbe 0x40c67d
mov edx, dword [ebp - 0x40]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40c673
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40c022
push ecx
push edx
call fcn.00480e43
add esp, 8
mov edi, dword [ebp - 0x5c]
lea eax, [ebp - 0x28]
push eax
push edi
push dword [0x4a02a8]
mov ecx, esi
call fcn.00412750
mov byte [ebp - 4], 2
mov ecx, dword [ebp - 0x14]
cmp ecx, 0xf
jbe 0x40c6ca
mov edx, dword [ebp - 0x28]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40c6c0
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40c022
push ecx
push edx
call fcn.00480e43
add esp, 8
mov ecx, dword [esi + 0x50]
mov eax, 0x2aaaaaab
sub ecx, dword [esi + 0x4c]
inc edi
imul ecx
mov eax, 0
mov dword [ebp - 0x5c], edi
sar edx, 1
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
sub ecx, dword [esi + 0x18]
sub ecx, 1
cmovns eax, ecx
cmp edi, eax
jb 0x40c070
mov ecx, dword [ebp - 0x68]
test ecx, ecx
je 0x40c741
mov edx, dword [ebp - 0x9c]
mov eax, ecx
sub edx, ecx
and edx, 0xfffffffc
cmp edx, 0x1000
jb 0x40c737
mov ecx, dword [eax - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x40c737
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push str.invalid_unordered_map_K__T__key
call dword [sym.imp.MSVCP140.dll_void___cdecl_std::_Xout_of_range_char_const__]
push edx
push ecx
call fcn.00480e43
add esp, 8
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.00480a9f
mov esp, ebp
pop ebp
ret