Function at 0x1004e970
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1005efa2
mov eax, dword fs:[0]
push eax
sub esp, 0xc0
mov eax, dword [0x10079a30]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, dword [ebp + 0x20]
xor edi, edi
mov eax, dword [ebp + 0x24]
mov dword [ebp - 0x40], esi
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x3c], edi
mov eax, dword [esi]
xorps xmm0, xmm0
mov dword [ebp - 4], edi
movups xmmword [ebp - 0x84], xmm0
mov dword [ebp - 0x74], edi
mov edx, dword [eax*8 + 0x1006ae78]
mov ecx, edx
mov dword [ebp - 0x70], edi
lea eax, [ecx + 1]
mov dword [ebp - 0x38], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1004e9d2
sub ecx, dword [ebp - 0x38]
push ecx
push edx
lea ecx, [ebp - 0x84]
call fcn.10003c60
lea eax, [ebp - 0x84]
mov byte [ebp - 4], 1
push eax
lea eax, [ebp - 0xb4]
push 0x1006b90c
push eax
call fcn.10018bb0
add esp, 0xc
push 1
push 0x1006b908
mov ecx, eax
mov byte [ebp - 4], 2
call fcn.100095e0
mov dword [ebp - 0x18], 0
xorps xmm0, xmm0
movups xmmword [ebp - 0x28], xmm0
mov dword [ebp - 0x14], 0
or edi, 4
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x28], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x18], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov dword [ebp - 0x30], edi
mov dword [ebp - 0x3c], edi
mov ecx, dword [ebp - 0xa0]
mov byte [ebp - 4], 4
cmp ecx, 0x10
jb 0x1004ea94
mov edx, dword [ebp - 0xb4]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1004ea8a
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1004eadc
push ecx
push edx
call fcn.100599e4
add esp, 8
mov dword [ebp - 0xa4], 0
mov dword [ebp - 0xa0], 0xf
mov byte [ebp - 0xb4], 0
mov ecx, dword [ebp - 0x70]
mov byte [ebp - 4], 5
cmp ecx, 0x10
jb 0x1004eaec
mov edx, dword [ebp - 0x84]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1004eae2
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x1004eae2
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.100599e4
add esp, 8
mov eax, dword fs:[0x2c]
mov ecx, dword [0x100b17b8]
mov dword [ebp - 0x74], 0
mov dword [ebp - 0x70], 0xf
mov byte [ebp - 0x84], 0
mov ecx, dword [eax + ecx*4]
mov eax, dword [0x100b165c]
cmp eax, dword [ecx + 4]
jg 0x1004f248
mov eax, dword [esi]
lea ecx, [ebp - 0x38]
shr eax, 0x1f
test al, al
mov dword [ebp - 0x6c], 0xff
lea eax, [ebp - 0x6c]
mov dword [ebp - 0x38], 0
cmove ecx, esi
cmp dword [esi], 0xff
cmovle eax, ecx
lea ecx, [ebp + 8]
mov eax, dword [eax]
mov dword [esi], eax
mov esi, dword [ebp + 0x1c]
cmp esi, 0x10
cmovae ecx, dword [ebp + 8]
mov al, byte [ecx]
test al, al
je 0x1004eb7c
movsx eax, al
xor eax, 0x811c9dc5
imul eax, eax, 0x1000193
push eax
lea eax, [ecx + 1]
push eax
call fcn.1004d960
add esp, 8
jmp 0x1004eb81
mov eax, 0x811c9dc5
cmp dword [0x100b106c], eax
lea ecx, [ebp + 8]
sete byte [ebp - 0x29]
cmp esi, 0x10
cmovae ecx, dword [ebp + 8]
mov al, byte [ecx]
test al, al
je 0x1004ebb8
movsx eax, al
xor eax, 0x811c9dc5
imul eax, eax, 0x1000193
push eax
lea eax, [ecx + 1]
push eax
call fcn.1004d960
add esp, 8
jmp 0x1004ebbd
mov eax, 0x811c9dc5
cmp dword [0x100b1660], eax
mov ecx, dword [0x100b170c]
sete byte [ebp - 0x2a]
cmp byte [ebp - 0x29], 0
je 0x1004ebda
mov eax, str._..._
jmp 0x1004ebe5
cmp dword [ebp - 0x14], 0x10
lea eax, [ebp - 0x28]
cmovae eax, dword [ebp - 0x28]
push dword [ecx + 0x20]
push eax
call fcn.100577e0
cmp byte [ebp - 0x2a], 0
mov esi, eax
movzx ecx, byte [0x100b1074]
mov eax, 1
cmovne ecx, eax
mov dword [ebp - 0x38], esi
mov eax, dword [0x1007971c]
cdq
sub eax, edx
movd xmm1, esi
sar eax, 1
cvtdq2ps xmm1, xmm1
mov byte [0x100b1074], cl
movd xmm2, eax
cvtdq2ps xmm2, xmm2
addss xmm2, dword [0x1007941c]
subss xmm2, dword [0x1006b94c]
movaps xmm0, xmm2
subss xmm0, xmm1
movss xmm1, dword [0x1007942c]
comiss xmm1, xmm0
movss xmm0, dword [0x1006b954]
jbe 0x1004ee98
comiss xmm2, xmm1
jbe 0x1004ee98
movss xmm1, dword [0x10079420]
subss xmm1, xmm0
movss xmm0, dword [0x10079430]
comiss xmm0, xmm1
jbe 0x1004ee98
addss xmm1, dword [0x10066bf0]
comiss xmm1, xmm0
jbe 0x1004ee98
test cl, cl
jne 0x1004ee98
push 1
call fcn.1004f2e0
add esp, 4
test al, al
je 0x1004ee98
cmp byte [ebp - 0x29], 0
jne 0x1004ee9e
cmp byte [ebp - 0x2a], 0
jne 0x1004ef17
cmp dword [ebp + 0x1c], 0x10
lea eax, [ebp + 8]
push 0x811c9dc5
cmovae eax, dword [ebp + 8]
push eax
call fcn.1004d960
mov dword [0x100b106c], eax
add esp, 8
cvttss2si eax, dword [0x100b1070]
mov dword [ebp - 0x64], 0
mov dword [ebp - 0x60], 0
mov dword [ebp - 0x5c], 0
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x50], eax
lea ecx, [ebp - 0xcc]
lea eax, [ebp - 0x50]
mov dword [ebp - 0x4c], 0x64
mov dword [ebp - 0x38], eax
lea eax, [ebp - 0x28]
push eax
mov dword [ebp - 0x48], 0x64
mov dword [ebp - 0x44], 0x64
call fcn.10003e20
mov dword [ebp - 0x34], eax
mov dword [ebp - 4], 9
or edi, 2
mov eax, dword [0x1007971c]
sub esp, 0x10
cdq
sub eax, edx
mov ecx, dword [0x100b170c]
mov edx, dword [ebp - 0x38]
sar eax, 1
movss xmm2, dword [0x10079420]
mov ecx, dword [ecx + 0x20]
subss xmm2, dword [0x1006b954]
movd xmm1, eax
mov eax, esp
cvtdq2ps xmm1, xmm1
push 1
push 0
sub esp, 0x10
mov dword [ebp - 0x3c], edi
mov dword [ebp - 0x30], edi
movd xmm0, esi
addss xmm1, dword [0x1007941c]
cvtdq2ps xmm0, xmm0
subss xmm1, dword [0x1006b94c]
subss xmm1, xmm0
movups xmm0, xmmword [ebp - 0x68]
movups xmmword [eax], xmm0
mov eax, esp
sub esp, 0x18
movups xmm0, xmmword [edx]
mov edx, dword [ebp - 0x34]
movups xmmword [eax], xmm0
mov eax, esp
xorps xmm0, xmm0
push ecx
sub esp, 8
movups xmmword [eax], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0
movups xmm0, xmmword [edx]
movups xmmword [eax], xmm0
movq xmm0, qword [edx + 0x10]
movq qword [eax + 0x10], xmm0
mov dword [edx + 0x10], 0
mov dword [edx + 0x14], 0xf
mov byte [edx], 0
mov ecx, dword [0x100b170c]
movss dword [esp + 4], xmm2
movss dword [esp], xmm1
call fcn.10058150
mov eax, dword [ebp - 0x30]
test al, 2
je 0x1004ee52
mov ecx, dword [ebp - 0xb8]
and eax, 0xfffffffd
mov dword [ebp - 0x30], eax
cmp ecx, 0x10
jb 0x1004ee37
mov edx, dword [ebp - 0xcc]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1004ee2a
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1004ee92
push ecx
push edx
call fcn.100599e4
mov eax, dword [ebp - 0x30]
add esp, 8
mov dword [ebp - 0xbc], 0
mov dword [ebp - 0xb8], 0xf
mov byte [ebp - 0xcc], 0
test al, 1
je 0x1004f1b5
mov ecx, dword [ebp - 0x88]
cmp ecx, 0x10
jb 0x1004f1b5
mov edx, dword [ebp - 0x9c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1004f1ab
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x1004f1ab
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
cmp byte [ebp - 0x29], 0
je 0x1004ef0d
cmp byte [0x100b0ef8], 0
je 0x1004ef0d
mov esi, dword [ebp - 0x40]
xor edi, edi
nop dword [eax]
cmp byte [edi + 0x100b1438], 0
je 0x1004eefc
cmp byte [edi + 0x100b1538], 0
jne 0x1004eefc
push 4
push str.None
push dword [edi*8 + 0x1006ae7c]
push dword [edi*8 + 0x1006ae78]
call fcn.10019710
xor ecx, ecx
add esp, 0x10
test al, al
cmove ecx, edi
mov dword [esi], ecx
mov dword [0x100b106c], 0
mov dword [0x100b1660], 0
inc edi
cmp edi, 0x100
jl 0x1004eeb0
mov esi, dword [ebp - 0x38]
jmp 0x1004f11b
cmp byte [ebp - 0x2a], 0
je 0x1004f11e
cmp byte [0x100b0ef8], 0
je 0x1004f11e
mov ecx, dword [0x100b1654]
mov eax, 0x2aaaaaab
sub ecx, dword [0x100b1650]
xor edi, edi
movss xmm3, dword [0x10079420]
movss xmm4, dword [0x1007941c]
movss xmm5, dword [0x1006b94c]
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x1004f03c
xor esi, esi
cmp byte [0x100b1439], 0
je 0x1004f006
cmp byte [0x100b1539], 0
jne 0x1004f006
mov eax, dword [0x1007971c]
movd xmm0, esi
cvtdq2ps xmm0, xmm0
cdq
sub eax, edx
sar eax, 1
movss xmm2, dword [0x1007942c]
addss xmm0, xmm3
cvttss2si ecx, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
addss xmm0, xmm4
subss xmm0, xmm5
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
comiss xmm2, xmm0
jbe 0x1004f006
movss xmm1, dword [0x10079430]
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
comiss xmm1, xmm0
jbe 0x1004f006
add eax, 0x5f
movd xmm0, eax
cvtdq2ps xmm0, xmm0
comiss xmm0, xmm2
jbe 0x1004f006
lea eax, [ecx + 0x14]
movd xmm0, eax
mov eax, dword [ebp - 0x34]
cvtdq2ps xmm0, xmm0
comiss xmm0, xmm1
jbe 0x1004f009
mov dword [eax], edi
movss xmm3, dword [0x10079420]
movss xmm4, dword [0x1007941c]
jmp 0x1004f009
mov eax, dword [ebp - 0x34]
mov eax, dword [eax]
inc edi
mov ecx, dword [0x100b1654]
add esi, 0xf
sub ecx, dword [0x100b1650]
mov dword [0x100b1424], eax
mov eax, 0x2aaaaaab
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp edi, eax
jb 0x1004ef63
mov esi, dword [ebp - 0x38]
cmp byte [0x100b1439], 0
je 0x1004f11b
cmp byte [0x100b1539], 0
jne 0x1004f11b
mov ecx, dword [0x100b1654]
mov eax, 0x2aaaaaab
sub ecx, dword [0x100b1650]
imul ecx
movss xmm2, dword [0x1007942c]
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
mov ecx, eax
shl ecx, 4
sub ecx, eax
mov eax, dword [0x1007971c]
cdq
sub eax, edx
sar eax, 1
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
shr ecx, 0x1f
addsd xmm0, qword [ecx*8 + 0x10065130]
cvtpd2ps xmm0, xmm0
addss xmm0, xmm3
cvttss2si ecx, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
addss xmm0, xmm4
subss xmm0, xmm5
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
comiss xmm2, xmm0
jbe 0x1004f0fd
movss xmm1, dword [0x10079430]
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
comiss xmm1, xmm0
jbe 0x1004f0fd
add eax, 0x5f
movd xmm0, eax
cvtdq2ps xmm0, xmm0
comiss xmm0, xmm2
jbe 0x1004f0fd
lea eax, [ecx + 0x14]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
comiss xmm0, xmm1
ja 0x1004f11b
mov dword [0x100b106c], 0
mov dword [0x100b1660], 0
mov dword [0x100b1078], 0
mov edi, dword [ebp - 0x30]
cmp byte [ebp - 0x29], 0
cvttss2si eax, dword [0x100b1070]
mov dword [ebp - 0x64], 0
mov dword [ebp - 0x60], 0
mov dword [ebp - 0x5c], 0
mov dword [ebp - 0x68], eax
je 0x1004ecf7
mov dword [ebp - 0x50], eax
lea ecx, [ebp - 0x9c]
push 5
lea eax, [ebp - 0x50]
mov dword [ebp - 0x4c], 0xc8
xorps xmm0, xmm0
mov dword [ebp - 0x48], 0xc8
push str._..._
mov dword [ebp - 0x44], 0xc8
mov dword [ebp - 0x38], eax
movups xmmword [ebp - 0x9c], xmm0
mov dword [ebp - 0x8c], 0
mov dword [ebp - 0x88], 0
call fcn.10003c60
lea eax, [ebp - 0x9c]
mov byte [ebp - 4], 8
mov dword [ebp - 0x34], eax
or edi, 1
jmp 0x1004ed31
push ecx
push edx
call fcn.100599e4
add esp, 8
mov ecx, dword [ebp - 0x14]
cmp ecx, 0x10
jb 0x1004f1e5
mov edx, dword [ebp - 0x28]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1004f1db
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1004f21d
push ecx
push edx
call fcn.100599e4
add esp, 8
mov ecx, dword [ebp + 0x1c]
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
cmp ecx, 0x10
jb 0x1004f22d
mov edx, dword [ebp + 8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1004f223
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x1004f223
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.100599e4
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.10059f15
mov esp, ebp
pop ebp
ret
push 0x100b165c
call fcn.10059e3f
add esp, 4
cmp dword [0x100b165c], 0xffffffff
jne 0x1004eb21
push 6
xorps xmm0, xmm0
mov byte [ebp - 4], 6
push str.Hotkey
lea ecx, [ebp - 0x58]
mov dword [ebp - 0x48], 0
movups xmmword [ebp - 0x58], xmm0
mov dword [ebp - 0x44], 0
call fcn.10003c60
lea eax, [ebp - 0x2a]
mov byte [ebp - 4], 7
push eax
lea ecx, [ebp - 0x40]
push ecx
lea edx, [ebp - 0x58]
mov ecx, 0x100b1650
push edx
call fcn.10019f00
push fcn.10004000
push 1
push 0x18
lea eax, [ebp - 0x58]
mov byte [ebp - 4], 6
push eax
call fcn.1005a2b5
push 0x10060750
call fcn.10059cf7
push 0x100b165c
mov byte [ebp - 4], 5
call fcn.10059df5
add esp, 8
jmp 0x1004eb21