Function at 0x101bb240
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10242552
mov eax, dword fs:[0]
push eax
sub esp, 0x138
mov eax, dword [0x102ff008]
xor eax, ebp
mov dword [ebp - 0x10], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x68], 0
mov ecx, 0x10382325
call fcn.102317b0
xor eax, eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], eax
lea ecx, [ebp - 0x20]
call fcn.100a00b0
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x20]
push ecx
call fcn.101bbae0
add esp, 4
movzx edx, al
test edx, edx
jne 0x101bb2e0
mov eax, dword [ebp + 8]
mov dword [eax], 0
mov ecx, dword [ebp + 8]
mov dword [ecx + 4], 0
mov edx, dword [ebp + 8]
mov dword [edx + 8], 0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x20]
call fcn.1009ffd0
mov eax, dword [ebp + 8]
jmp 0x101bb69a
lea eax, [ebp - 0x20]
mov dword [ebp - 0x80], eax
mov ecx, dword [ebp - 0x80]
mov edx, dword [ecx + 4]
mov dword [ebp - 0x64], edx
mov eax, dword [ebp - 0x80]
mov ecx, dword [eax + 8]
mov dword [ebp - 0xb0], ecx
jmp 0x101bb306
mov edx, dword [ebp - 0x64]
add edx, 0xc
mov dword [ebp - 0x64], edx
mov eax, dword [ebp - 0x64]
cmp eax, dword [ebp - 0xb0]
je 0x101bb66b
mov ecx, dword [ebp - 0x64]
mov dword [ebp - 0x70], ecx
lea ecx, [ebp - 0x40]
call fcn.1003d4c0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x5c]
call fcn.100a05a0
mov byte [ebp - 4], 2
mov edx, dword [ebp - 0x70]
cmp dword [edx], 0
jne 0x101bb378
lea ecx, [ebp - 0x100]
call fcn.1003d4c0
mov eax, dword [ebp - 0x68]
or eax, 1
mov dword [ebp - 0x68], eax
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x5c]
call fcn.100a03b0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x40]
call fcn.1003d310
lea ecx, [ebp - 0x100]
mov dword [ebp - 0x84], ecx
jmp 0x101bb51c
mov edx, dword [ebp - 0x70]
mov eax, dword [edx]
movzx ecx, word [eax + 0x2c]
sar ecx, 1
mov dword [ebp - 0xc0], ecx
mov edx, dword [ebp - 0x70]
mov eax, dword [edx]
mov ecx, dword [eax + 0x30]
mov dword [ebp - 0xc4], ecx
lea edx, [ebp - 0x128]
mov dword [ebp - 0xbc], edx
movzx eax, byte [ebp - 0x71]
push eax
mov ecx, dword [ebp - 0xbc]
call fcn.100a3d70
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0xc0]
push ecx
mov edx, dword [ebp - 0xc4]
push edx
lea ecx, [ebp - 0x128]
call fcn.100a3dd0
mov byte [ebp - 4], 2
lea eax, [ebp - 0x128]
mov dword [ebp - 0xa0], eax
mov ecx, dword [ebp - 0xa0]
push ecx
lea ecx, [ebp - 0x5c]
call fcn.100a0480
lea ecx, [ebp - 0x128]
call fcn.100a03b0
lea edx, [ebp - 0x72]
mov dword [ebp - 0xa4], edx
mov eax, dword [ebp - 0xa4]
push eax
sub esp, 0xc
mov ecx, esp
mov dword [ebp - 0xcc], esp
push ecx
lea ecx, [ebp - 0x5c]
call fcn.100a0200
sub esp, 0xc
mov edx, esp
mov dword [ebp - 0xe0], esp
push edx
lea ecx, [ebp - 0x5c]
call fcn.100a02e0
lea ecx, [ebp - 0x144]
call fcn.100a2410
mov dword [ebp - 0xa8], eax
mov eax, dword [ebp - 0xa8]
mov dword [ebp - 0xac], eax
mov ecx, dword [ebp - 0xac]
push ecx
lea ecx, [ebp - 0x40]
call fcn.1006ad40
lea ecx, [ebp - 0x144]
call fcn.1003d310
mov edx, dword [sym.imp.ucrtbased.dll_tolower]
push edx
sub esp, 0xc
mov eax, esp
mov dword [ebp - 0xe4], esp
push eax
lea ecx, [ebp - 0x40]
call fcn.100a08b0
sub esp, 0xc
mov ecx, esp
mov dword [ebp - 0xc8], esp
push ecx
lea ecx, [ebp - 0x40]
call fcn.100a07d0
sub esp, 0xc
mov edx, esp
mov dword [ebp - 0xdc], esp
push edx
lea ecx, [ebp - 0x40]
call fcn.100a08b0
lea eax, [ebp - 0x10c]
push eax
call fcn.100a2610
add esp, 0x2c
mov dword [ebp - 0xd0], eax
push 3
lea ecx, [ebp - 0x24]
call dword [sym.imp.MSVCP140D.dll_public:_void___thiscall_std::_Lockit::constructor_int_]
lea ecx, [ebp - 0x10c]
call fcn.100343b0
lea ecx, [ebp - 0x24]
call dword [sym.imp.MSVCP140D.dll_public:_void___thiscall_std::_Lockit::destructor_void_]
lea ecx, [ebp - 0x40]
push ecx
lea ecx, [ebp - 0x100]
call fcn.1004d090
mov edx, dword [ebp - 0x68]
or edx, 1
mov dword [ebp - 0x68], edx
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x5c]
call fcn.100a03b0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x40]
call fcn.1003d310
lea eax, [ebp - 0x100]
mov dword [ebp - 0x84], eax
mov ecx, dword [ebp - 0x84]
mov dword [ebp - 0x88], ecx
mov edx, dword [ebp - 0xd4]
mov dword [ebp - 0x94], edx
mov eax, dword [ebp - 0x88]
mov ecx, dword [eax + 0x14]
mov dword [ebp - 0x94], ecx
mov edx, dword [ebp - 0xd8]
mov dword [ebp - 0x98], edx
mov eax, dword [ebp - 0x88]
mov dword [ebp - 0x78], eax
mov ecx, dword [ebp - 0x78]
add ecx, 4
mov dword [ebp - 0x90], ecx
mov edx, dword [ebp - 0x78]
cmp dword [edx + 0x18], 0x10
jb 0x101bb579
mov dword [ebp - 0x8c], 1
jmp 0x101bb583
mov dword [ebp - 0x8c], 0
mov al, byte [ebp - 0x8c]
mov byte [ebp - 0x5d], al
movzx ecx, byte [ebp - 0x5d]
test ecx, ecx
je 0x101bb5ac
mov edx, dword [ebp - 0x78]
mov eax, dword [edx + 4]
mov dword [ebp - 0xb4], eax
mov ecx, dword [ebp - 0xb4]
mov dword [ebp - 0x90], ecx
mov edx, dword [ebp - 0x90]
mov dword [ebp - 0xb8], edx
mov eax, dword [ebp - 0xb8]
mov dword [ebp - 0x98], eax
mov dword [ebp - 0x7c], 0x811c9dc5
mov dword [ebp - 0x6c], 0
jmp 0x101bb5dd
mov ecx, dword [ebp - 0x6c]
add ecx, 1
mov dword [ebp - 0x6c], ecx
mov edx, dword [ebp - 0x6c]
cmp edx, dword [ebp - 0x94]
jae 0x101bb602
mov eax, dword [ebp - 0x98]
add eax, dword [ebp - 0x6c]
movzx ecx, byte [eax]
xor ecx, dword [ebp - 0x7c]
imul edx, ecx, 0x1000193
mov dword [ebp - 0x7c], edx
jmp 0x101bb5d4
mov eax, dword [ebp - 0x7c]
cmp eax, dword [ebp + 0xc]
jne 0x101bb616
mov dword [ebp - 0x9c], 1
jmp 0x101bb620
mov dword [ebp - 0x9c], 0
mov cl, byte [ebp - 0x9c]
mov byte [ebp - 0x5e], cl
lea ecx, [ebp - 0x100]
call fcn.1003d310
movzx edx, byte [ebp - 0x5e]
test edx, edx
je 0x101bb666
mov eax, dword [ebp - 0x70]
mov ecx, dword [ebp + 8]
mov edx, dword [eax]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov eax, dword [eax + 8]
mov dword [ecx + 8], eax
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x20]
call fcn.1009ffd0
mov eax, dword [ebp + 8]
jmp 0x101bb69a
jmp 0x101bb2fd
mov ecx, dword [ebp + 8]
mov dword [ecx], 0
mov edx, dword [ebp + 8]
mov dword [edx + 4], 0
mov eax, dword [ebp + 8]
mov dword [eax + 8], 0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x20]
call fcn.1009ffd0
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.10169cb0
mov esp, ebp
pop ebp
ret