Function at 0x1004d990
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1005eee8
mov eax, dword fs:[0]
push eax
sub esp, 0x104
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 - 0x44], esi
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x40], edi
mov eax, dword [esi]
xorps xmm0, xmm0
mov dword [ebp - 4], edi
movups xmmword [ebp - 0x80], xmm0
mov dword [ebp - 0x70], edi
mov edx, dword [eax*8 + 0x1006ae78]
mov ecx, edx
mov dword [ebp - 0x6c], edi
lea eax, [ecx + 1]
mov dword [ebp - 0x38], eax
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1004d9f0
sub ecx, dword [ebp - 0x38]
push ecx
push edx
lea ecx, [ebp - 0x80]
call fcn.10003c60
lea eax, [ebp - 0x80]
mov byte [ebp - 4], 1
push eax
lea eax, [ebp - 0xb0]
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 - 0x40], edi
mov ecx, dword [ebp - 0x9c]
mov byte [ebp - 4], 4
cmp ecx, 0x10
jb 0x1004daac
mov edx, dword [ebp - 0xb0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1004daa2
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1004daf1
push ecx
push edx
call fcn.100599e4
add esp, 8
mov dword [ebp - 0xa0], 0
mov dword [ebp - 0x9c], 0xf
mov byte [ebp - 0xb0], 0
mov ecx, dword [ebp - 0x6c]
mov byte [ebp - 4], 5
cmp ecx, 0x10
jb 0x1004db01
mov edx, dword [ebp - 0x80]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1004daf7
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x1004daf7
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 - 0x70], 0
mov dword [ebp - 0x6c], 0xf
mov byte [ebp - 0x80], 0
mov ecx, dword [eax + ecx*4]
mov eax, dword [0x100b1648]
cmp eax, dword [ecx + 4]
jg 0x1004e338
mov eax, dword [esi]
lea ecx, [ebp - 0x38]
shr eax, 0x1f
test al, al
mov dword [ebp - 0x34], 0xff
lea eax, [ebp - 0x34]
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 0x1004db8e
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 0x1004db93
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 0x1004dbca
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 0x1004dbcf
mov eax, 0x811c9dc5
cmp dword [0x100b164c], eax
mov ecx, dword [0x100b170c]
sete byte [ebp - 0x2a]
cmp byte [ebp - 0x29], 0
je 0x1004dbec
mov eax, str._..._
jmp 0x1004dbf7
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
movss xmm5, dword [0x1006b954]
mov eax, dword [0x1007971c]
cdq
sub eax, edx
movd xmm1, esi
sar eax, 1
cvtdq2ps xmm1, xmm1
mov dword [ebp - 0x38], esi
mov dword [ebp - 0x34], ecx
mov byte [0x100b1074], cl
movd xmm2, eax
cvtdq2ps xmm2, xmm2
addss xmm2, dword [0x1007941c]
subss xmm2, dword [0x1006b94c]
movaps xmm0, xmm2
movss dword [ebp - 0x68], xmm2
subss xmm0, xmm1
movss xmm1, dword [0x1007942c]
comiss xmm1, xmm0
jbe 0x1004df8a
movss xmm4, dword [0x10066bf0]
movss xmm0, dword [0x10079430]
comiss xmm2, xmm1
movss xmm2, dword [0x10079420]
jbe 0x1004dcff
movaps xmm1, xmm2
subss xmm1, xmm5
comiss xmm0, xmm1
jbe 0x1004dcff
addss xmm1, xmm4
comiss xmm1, xmm0
jbe 0x1004dcff
test cl, cl
jne 0x1004dcff
push 1
call fcn.1004f2e0
add esp, 4
test al, al
je 0x1004dcdc
cmp byte [ebp - 0x29], 0
jne 0x1004dcdc
cmp byte [ebp - 0x2a], 0
jne 0x1004dcdc
cmp dword [ebp + 0x1c], 0x10
lea eax, [ebp + 8]
push 0x811c9dc5
cmovae eax, dword [ebp + 8]
push eax
call fcn.1004d960
add esp, 8
mov dword [0x100b106c], eax
mov ecx, dword [ebp - 0x34]
movss xmm5, dword [0x1006b954]
movss xmm4, dword [0x10066bf0]
movss xmm2, dword [0x10079420]
movss xmm0, dword [0x10079430]
movss xmm3, dword [ebp - 0x68]
comiss xmm3, dword [0x1007942c]
jbe 0x1004df8a
movaps xmm1, xmm2
subss xmm1, xmm5
comiss xmm0, xmm1
jbe 0x1004df8a
addss xmm1, xmm4
comiss xmm1, xmm0
jbe 0x1004df8a
test cl, cl
jne 0x1004df8a
push 2
call fcn.1004f2e0
add esp, 4
test al, al
je 0x1004df8a
cmp byte [ebp - 0x29], 0
jne 0x1004df90
cmp byte [ebp - 0x2a], 0
jne 0x1004e007
cmp dword [ebp + 0x1c], 0x10
lea eax, [ebp + 8]
push 0x811c9dc5
cmovae eax, dword [ebp + 8]
push eax
call fcn.1004d960
add esp, 8
mov dword [0x100b164c], eax
mov ecx, 0x1007943c
mov dword [0x100b1078], 2
push dword [0x100b1640]
push dword [0x100b163c]
call fcn.100492e0
push 0x100b163c
mov ecx, 0x1007943c
call fcn.10049310
cvttss2si eax, dword [0x100b1070]
mov dword [ebp - 0x60], 0
mov dword [ebp - 0x5c], 0
mov dword [ebp - 0x58], 0
movss xmm0, dword [0x1007941c]
movss xmm1, dword [0x10079420]
movss dword [0x10079448], xmm0
movss dword [0x1007944c], xmm1
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x54], eax
lea ecx, [ebp - 0xc8]
lea eax, [ebp - 0x54]
mov dword [ebp - 0x50], 0x64
mov dword [ebp - 0x38], eax
lea eax, [ebp - 0x28]
push eax
mov dword [ebp - 0x4c], 0x64
mov dword [ebp - 0x48], 0x64
call fcn.10003e20
mov dword [ebp - 0x34], eax
mov dword [ebp - 4], 0xb
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 - 0x40], 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 - 0x64]
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 0x1004df44
mov ecx, dword [ebp - 0xb4]
and eax, 0xfffffffd
mov dword [ebp - 0x30], eax
cmp ecx, 0x10
jb 0x1004df29
mov edx, dword [ebp - 0xc8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1004df1c
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1004df84
push ecx
push edx
call fcn.100599e4
mov eax, dword [ebp - 0x30]
add esp, 8
mov dword [ebp - 0xb8], 0
mov dword [ebp - 0xb4], 0xf
mov byte [ebp - 0xc8], 0
test al, 1
je 0x1004e2a5
mov ecx, dword [ebp - 0x84]
cmp ecx, 0x10
jb 0x1004e2a5
mov edx, dword [ebp - 0x98]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1004e29b
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x1004e29b
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
cmp byte [ebp - 0x29], 0
je 0x1004dffd
cmp byte [0x100b0ef8], 0
je 0x1004dffd
mov esi, dword [ebp - 0x44]
xor edi, edi
nop
cmp byte [edi + 0x100b1438], 0
je 0x1004dfec
cmp byte [edi + 0x100b1538], 0
jne 0x1004dfec
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 [0x100b164c], 0
inc edi
cmp edi, 0x100
jl 0x1004dfa0
mov esi, dword [ebp - 0x38]
jmp 0x1004e20b
cmp byte [ebp - 0x2a], 0
je 0x1004e20e
cmp byte [0x100b0ef8], 0
je 0x1004e20e
mov ecx, dword [0x100b1640]
mov eax, 0x2aaaaaab
sub ecx, dword [0x100b163c]
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 0x1004e12c
xor esi, esi
cmp byte [0x100b1439], 0
je 0x1004e0f6
cmp byte [0x100b1539], 0
jne 0x1004e0f6
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 0x1004e0f6
movss xmm1, dword [0x10079430]
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
comiss xmm1, xmm0
jbe 0x1004e0f6
add eax, 0x5f
movd xmm0, eax
cvtdq2ps xmm0, xmm0
comiss xmm0, xmm2
jbe 0x1004e0f6
lea eax, [ecx + 0x14]
movd xmm0, eax
mov eax, dword [ebp - 0x3c]
cvtdq2ps xmm0, xmm0
comiss xmm0, xmm1
jbe 0x1004e0f9
mov dword [eax], edi
movss xmm3, dword [0x10079420]
movss xmm4, dword [0x1007941c]
jmp 0x1004e0f9
mov eax, dword [ebp - 0x3c]
mov eax, dword [eax]
inc edi
mov ecx, dword [0x100b1640]
add esi, 0xf
sub ecx, dword [0x100b163c]
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 0x1004e053
mov esi, dword [ebp - 0x38]
cmp byte [0x100b1439], 0
je 0x1004e20b
cmp byte [0x100b1539], 0
jne 0x1004e20b
mov ecx, dword [0x100b1640]
mov eax, 0x2aaaaaab
sub ecx, dword [0x100b163c]
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 0x1004e1ed
movss xmm1, dword [0x10079430]
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
comiss xmm1, xmm0
jbe 0x1004e1ed
add eax, 0x5f
movd xmm0, eax
cvtdq2ps xmm0, xmm0
comiss xmm0, xmm2
jbe 0x1004e1ed
lea eax, [ecx + 0x14]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
comiss xmm0, xmm1
ja 0x1004e20b
mov dword [0x100b106c], 0
mov dword [0x100b164c], 0
mov dword [0x100b1078], 0
mov edi, dword [ebp - 0x30]
cmp byte [ebp - 0x29], 0
cvttss2si eax, dword [0x100b1070]
mov dword [ebp - 0x60], 0
mov dword [ebp - 0x5c], 0
mov dword [ebp - 0x58], 0
mov dword [ebp - 0x64], eax
je 0x1004dde9
mov dword [ebp - 0x54], eax
lea ecx, [ebp - 0x98]
push 5
lea eax, [ebp - 0x54]
mov dword [ebp - 0x50], 0xc8
xorps xmm0, xmm0
mov dword [ebp - 0x4c], 0xc8
push str._..._
mov dword [ebp - 0x48], 0xc8
mov dword [ebp - 0x38], eax
movups xmmword [ebp - 0x98], xmm0
mov dword [ebp - 0x88], 0
mov dword [ebp - 0x84], 0
call fcn.10003c60
lea eax, [ebp - 0x98]
mov byte [ebp - 4], 0xa
mov dword [ebp - 0x34], eax
or edi, 1
jmp 0x1004de23
push ecx
push edx
call fcn.100599e4
add esp, 8
mov ecx, dword [ebp - 0x14]
cmp ecx, 0x10
jb 0x1004e2d5
mov edx, dword [ebp - 0x28]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1004e2cb
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1004e30d
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 0x1004e31d
mov edx, dword [ebp + 8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1004e313
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x1004e313
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 0x100b1648
call fcn.10059e3f
add esp, 4
cmp dword [0x100b1648], 0xffffffff
jne 0x1004db33
push 9
xorps xmm0, xmm0
mov byte [ebp - 4], 6
push str.Always_On
lea ecx, [ebp - 0x110]
mov dword [ebp - 0x100], 0
movups xmmword [ebp - 0x110], xmm0
mov dword [ebp - 0xfc], 0
call fcn.10003c60
push 6
xorps xmm0, xmm0
mov byte [ebp - 4], 7
push str.Hotkey
lea ecx, [ebp - 0xf8]
mov dword [ebp - 0xe8], 0
movups xmmword [ebp - 0xf8], xmm0
mov dword [ebp - 0xe4], 0
call fcn.10003c60
push 6
xorps xmm0, xmm0
mov byte [ebp - 4], 8
push str.Toggle
lea ecx, [ebp - 0xe0]
mov dword [ebp - 0xd0], 0
movups xmmword [ebp - 0xe0], xmm0
mov dword [ebp - 0xcc], 0
call fcn.10003c60
lea eax, [ebp - 0x2a]
mov byte [ebp - 4], 9
push eax
lea ecx, [ebp - 0xc8]
push ecx
lea edx, [ebp - 0x110]
mov ecx, 0x100b163c
push edx
call fcn.10019f00
push fcn.10004000
push 3
push 0x18
lea eax, [ebp - 0x110]
mov byte [ebp - 4], 6
push eax
call fcn.1005a2b5
push 0x10060740
call fcn.10059cf7
push 0x100b1648
mov byte [ebp - 4], 5
call fcn.10059df5
add esp, 8
jmp 0x1004db33