Function at 0x180020790
Capabilities:
Hash data using fnv

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x188
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x100], 0xfffffffffffffffe
mov r14, r9
mov edi, r8d
mov esi, edx
mov r12, rcx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov rbx, rax
lea r15, [rbp - 8]
mov rcx, r15
mov rdx, r12
call fcn.18001eed0
lea rdx, str.SOUP_
lea r12, [rbp + 0x68]
mov rcx, r12
call fcn.1800221f0
xorps xmm0, xmm0
movaps xmmword [rbp + 0x90], xmm0
mov qword [rbp + 0xa0], 0
mov qword [rbp + 0xa8], 7
xor ecx, ecx
mov edx, 0x23
call fcn.180022fa0
cdqe
lea r13, str.ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789
movsx r9d, byte [rax + r13]
mov rax, qword [rbp + 0xa0]
mov rcx, qword [rbp + 0xa8]
cmp rax, rcx
jae 0x180020855
lea rdx, [rax + 1]
mov qword [rbp + 0xa0], rdx
cmp rcx, 8
jb 0x180020868
mov rcx, qword [rbp + 0x90]
jmp 0x18002086f
lea rcx, [rbp + 0x90]
mov edx, 1
call fcn.18001e240
jmp 0x18002087b
lea rcx, [rbp + 0x90]
mov word [rcx + rax*2], r9w
mov word [rcx + rax*2 + 2], 0
xor ecx, ecx
mov edx, 0x23
call fcn.180022fa0
cdqe
movsx r9d, byte [rax + r13]
mov rax, qword [rbp + 0xa0]
mov rcx, qword [rbp + 0xa8]
cmp rax, rcx
jae 0x1800208bb
lea rdx, [rax + 1]
mov qword [rbp + 0xa0], rdx
cmp rcx, 8
jb 0x1800208ce
mov rcx, qword [rbp + 0x90]
jmp 0x1800208d5
lea rcx, [rbp + 0x90]
mov edx, 1
call fcn.18001e240
jmp 0x1800208e1
lea rcx, [rbp + 0x90]
mov word [rcx + rax*2], r9w
mov word [rcx + rax*2 + 2], 0
xor ecx, ecx
mov edx, 0x23
call fcn.180022fa0
cdqe
movsx r9d, byte [rax + r13]
mov rax, qword [rbp + 0xa0]
mov rcx, qword [rbp + 0xa8]
cmp rax, rcx
jae 0x180020921
lea rdx, [rax + 1]
mov qword [rbp + 0xa0], rdx
cmp rcx, 8
jb 0x180020934
mov rcx, qword [rbp + 0x90]
jmp 0x18002093b
lea rcx, [rbp + 0x90]
mov edx, 1
call fcn.18001e240
jmp 0x180020947
lea rcx, [rbp + 0x90]
mov word [rcx + rax*2], r9w
mov word [rcx + rax*2 + 2], 0
xor ecx, ecx
mov edx, 0x23
call fcn.180022fa0
cdqe
movsx r9d, byte [rax + r13]
mov rax, qword [rbp + 0xa0]
mov rcx, qword [rbp + 0xa8]
cmp rax, rcx
jae 0x180020987
lea rdx, [rax + 1]
mov qword [rbp + 0xa0], rdx
cmp rcx, 8
jb 0x18002099a
mov rcx, qword [rbp + 0x90]
jmp 0x1800209a1
lea rcx, [rbp + 0x90]
mov edx, 1
call fcn.18001e240
jmp 0x1800209ad
lea rcx, [rbp + 0x90]
mov word [rcx + rax*2], r9w
mov word [rcx + rax*2 + 2], 0
xor ecx, ecx
mov edx, 0x23
call fcn.180022fa0
cdqe
movsx r9d, byte [rax + r13]
mov rcx, qword [rbp + 0xa0]
mov rax, qword [rbp + 0xa8]
cmp rcx, rax
jae 0x1800209ed
lea r8, [rcx + 1]
mov qword [rbp + 0xa0], r8
cmp rax, 8
jb 0x180020a1b
mov rdx, qword [rbp + 0x90]
jmp 0x180020a22
lea rcx, [rbp + 0x90]
mov edx, 1
call fcn.18001e240
mov r8, qword [rbp + 0xa0]
mov rax, qword [rbp + 0xa8]
cmp rax, 8
jae 0x180020a34
lea r9, [rbp + 0x90]
jmp 0x180020a3b
lea rdx, [rbp + 0x90]
mov word [rdx + rcx*2], r9w
mov word [rdx + rcx*2 + 2], 0
cmp rax, 8
jb 0x180020a12
mov r9, qword [rbp + 0x90]
mov rax, qword [rbp + 0x78]
mov rcx, qword [rbp + 0x80]
mov rdx, rcx
sub rdx, rax
cmp rdx, r8
jae 0x180020a71
mov qword [rsp + 0x20], r8
lea rcx, [rbp + 0x68]
mov rdx, r8
call fcn.18001e3f0
mov rax, qword [rbp + 0xa8]
cmp rax, 8
jae 0x180020aa6
jmp 0x180020ae5
lea r13, [rax + r8]
mov qword [rbp + 0x78], r13
cmp rcx, 8
jb 0x180020a83
mov r12, qword [rbp + 0x68]
lea rcx, [r12 + rax*2]
add r8, r8
mov rdx, r9
call fcn.180049d60
mov word [r12 + r13*2], 0
mov rax, qword [rbp + 0xa8]
cmp rax, 8
jb 0x180020ae5
mov rcx, qword [rbp + 0x90]
lea rdx, [rax + rax]
add rdx, 2
cmp rdx, 0x1000
jb 0x180020ae0
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x180020e21
add rax, rax
add rax, 0x29
mov rdx, rax
mov rcx, r8
call fcn.180023b20
xorps xmm0, xmm0
movups xmmword [rbp + 0x58], xmm0
movups xmmword [rbp + 0x48], xmm0
movups xmmword [rbp + 0x38], xmm0
movabs rax, 0x300000050
mov qword [rbp + 0x18], rax
lea rax, [0x180020010]
mov qword [rbp + 0x20], rax
mov qword [rbp + 0x28], 0
mov qword [rbp + 0x30], rbx
mov edx, 0x7f00
xor ecx, ecx
call qword [sym.imp.USER32.dll_LoadCursorA]
mov qword [rbp + 0x40], rax
cmp qword [rbp + 0x10], 8
jb 0x180020b35
mov r15, qword [rbp - 8]
mov qword [rbp + 0x50], r15
cmp qword [rbp + 0x80], 8
jb 0x180020b49
mov rax, qword [rbp + 0x68]
jmp 0x180020b4d
lea rax, [rbp + 0x68]
mov qword [rbp + 0x58], rax
mov qword [rbp + 0x38], r14
mov qword [rbp + 0x60], r14
lea rcx, [rbp + 0x18]
call qword [sym.imp.USER32.dll_RegisterClassExW]
mov r8, qword [rbp + 0x50]
mov rdx, qword [rbp + 0x58]
mov qword [rsp + 0x50], rbx
xorps xmm0, xmm0
movups xmmword [rsp + 0x40], xmm0
mov dword [rsp + 0x38], edi
mov dword [rsp + 0x30], esi
mov qword [rsp + 0x58], 0
mov dword [rsp + 0x28], 0x80000000
mov dword [rsp + 0x20], 0x80000000
xor ecx, ecx
mov r9d, 0x80000000
call qword [sym.imp.USER32.dll_CreateWindowExW]
mov qword [rbp + 0x88], rax
mov rcx, rax
mov edx, 0xfffffff0
xor r8d, r8d
call qword [sym.imp.USER32.dll_SetWindowLongA]
xorps xmm0, xmm0
movaps xmmword [rbp + 0xa0], xmm0
movaps xmmword [rbp + 0x90], xmm0
mov byte [rbp + 0xb0], 0
movups xmmword [rbp + 0xb8], xmm0
movups xmmword [rbp + 0xc8], xmm0
movups xmmword [rbp + 0xd8], xmm0
movups xmmword [rbp + 0xe8], xmm0
lea rcx, [0x180067c88]
lea rdx, [rbp - 0x18]
lea r8, [rbp + 0x88]
lea r9, [rbp + 0x90]
call fcn.180022300
mov rcx, qword [rbp + 0xc8]
test rcx, rcx
je 0x180020c66
mov rdx, qword [rbp + 0xd8]
sub rdx, rcx
cmp rdx, 0x1000
jb 0x180020c4c
mov rax, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, rax
cmp rcx, 0x20
jae 0x180020e1c
add rdx, 0x27
mov rcx, rax
lea rsi, [rbp + 0xc8]
call fcn.180023b20
xorps xmm0, xmm0
movups xmmword [rsi], xmm0
mov qword [rsi + 0x10], 0
mov rax, qword [rbp + 0x98]
test rax, rax
je 0x180020c7b
mov rcx, qword [rbp + 0x90]
call rax
mov rbx, qword [rbp + 0x88]
mov rcx, rbx
mov edx, 5
call qword [sym.imp.USER32.dll_ShowWindow]
movzx eax, bl
movabs rcx, 0xcbf29ce484222325
xor rcx, rax
movabs rax, 0x100000001b3
imul rcx, rax
movzx edx, bh
xor rdx, rcx
imul rdx, rax
mov ecx, ebx
shr ecx, 0x10
movzx ecx, cl
xor rcx, rdx
imul rcx, rax
mov edx, ebx
shr edx, 0x18
xor rdx, rcx
imul rdx, rax
mov rcx, rbx
shr rcx, 0x20
movzx ecx, cl
xor rcx, rdx
imul rcx, rax
mov rdx, rbx
shr rdx, 0x28
movzx edx, dl
xor rdx, rcx
imul rdx, rax
mov rcx, rbx
shr rcx, 0x30
movzx r8d, cl
xor r8, rdx
imul r8, rax
mov rcx, rbx
shr rcx, 0x38
xor rcx, r8
imul rcx, rax
and rcx, qword [0x180067cb8]
mov rdx, qword [0x180067ca0]
mov rax, rcx
shl rax, 4
mov rax, qword [rdx + rax + 8]
cmp rax, qword [0x180067c90]
je 0x180020e10
cmp rbx, qword [rax + 0x10]
je 0x180020d63
add rcx, rcx
mov rcx, qword [rdx + rcx*8]
nop dword [rax]
cmp rax, rcx
je 0x180020e10
mov rax, qword [rax + 8]
cmp rbx, qword [rax + 0x10]
jne 0x180020d50
lea rcx, [0x180022160]
mov qword [rax + 0x78], rcx
mov rax, qword [rbp + 0x80]
cmp rax, 8
jb 0x180020db7
mov rcx, qword [rbp + 0x68]
lea rdx, [rax + rax]
add rdx, 2
cmp rdx, 0x1000
jb 0x180020db2
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x180020e26
add rax, rax
add rax, 0x29
mov rdx, rax
mov rcx, r8
call fcn.180023b20
mov rax, qword [rbp + 0x10]
cmp rax, 8
jb 0x180020df9
mov rcx, qword [rbp - 8]
lea rdx, [rax + rax]
add rdx, 2
cmp rdx, 0x1000
jb 0x180020df4
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x180020e2b
add rax, rax
add rax, 0x29
mov rdx, rax
mov rcx, r8
call fcn.180023b20
mov rax, rbx
add rsp, 0x188
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
lea rcx, str.invalid_unordered_map_K__T__key
call fcn.180024aa4
call fcn.18002c5dc
call fcn.18002c5dc
call fcn.18002c5dc
call fcn.18002c5dc
int3