Function at 0x412710
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x44d3d7
mov eax, dword fs:[0]
push eax
sub esp, 0xac
mov eax, dword [0x464780]
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 - 0x6c], 0
sub esp, 0x18
mov eax, dword [0x465188]
mov ecx, esp
xorps xmm0, xmm0
mov dword [ebp - 0x70], eax
movups xmmword [ecx], xmm0
mov dword [ecx + 0x10], 0xd
mov dword [ecx + 0x14], 0xf
movq xmm0, qword [str.embedsettings]
movq qword [ecx], xmm0
mov eax, dword [0x451114]
mov dword [ecx + 8], eax
mov al, byte [0x451118]
mov byte [ecx + 0xc], al
mov byte [ecx + 0xd], 0
mov ecx, 0x4651a0
call fcn.004118a0
sub esp, 0x18
mov dword [ebp - 0x5c], 0x1f
mov esi, esp
mov edi, eax
lea eax, [ebp - 0x5c]
xorps xmm0, xmm0
push eax
movups xmmword [esi], xmm0
push esi
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0
call fcn.00401240
mov ecx, dword [ebp - 0x5c]
mov edx, eax
mov dword [esi + 0x14], ecx
add esp, 8
mov dword [esi], edx
mov dword [esi + 0x10], 0x13
movups xmm0, xmmword [str.limittextlength_use]
movups xmmword [edx], xmm0
mov cx, word [0x45112c]
mov word [edx + 0x10], cx
mov ecx, edi
mov al, byte [0x45112e]
mov byte [edx + 0x12], al
mov byte [edx + 0x13], 0
call fcn.004118a0
mov ecx, eax
call fcn.00407030
xorps xmm0, xmm0
test al, al
je 0x41217b
sub esp, 0x18
mov ecx, esp
movups xmmword [ecx], xmm0
mov dword [ecx + 0x10], 0xd
mov dword [ecx + 0x14], 0xf
movq xmm0, qword [str.embedsettings]
movq qword [ecx], xmm0
mov eax, dword [0x451114]
mov dword [ecx + 8], eax
mov al, byte [0x451118]
mov byte [ecx + 0xc], al
mov byte [ecx + 0xd], 0
mov ecx, 0x4651a0
call fcn.004118a0
sub esp, 0x18
mov dword [ebp - 0x5c], 0x1f
mov esi, esp
mov edi, eax
lea eax, [ebp - 0x5c]
xorps xmm0, xmm0
push eax
movups xmmword [esi], xmm0
push esi
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0
call fcn.00401240
mov ecx, dword [ebp - 0x5c]
mov edx, eax
mov dword [esi + 0x14], ecx
add esp, 8
mov dword [esi], edx
mov dword [esi + 0x10], 0x16
movups xmm0, xmmword [str.limittextlength_length]
movups xmmword [edx], xmm0
mov ecx, dword [0x451140]
mov dword [edx + 0x10], ecx
mov ecx, edi
mov ax, word [0x451144]
mov word [edx + 0x14], ax
mov byte [edx + 0x16], 0
call fcn.004118a0
push eax
lea ecx, [ebp - 0x9c]
call fcn.0040f250
mov dword [ebp - 4], 0
mov ecx, 1
jmp 0x4121c4
movups xmmword [ebp - 0x84], xmm0
mov byte [ebp - 0x84], 0
movq qword [ebp - 0x7c], xmm0
push dword [ebp - 0x84]
lea ecx, [ebp - 0x7c]
mov dword [ebp - 4], 1
call fcn.00416250
xorps xmm0, xmm0
mov byte [ebp - 0x84], 5
movlpd qword [ebp - 0x7c], xmm0
lea eax, [ebp - 0x84]
mov dword [ebp - 4], 2
mov ecx, 2
mov dword [ebp - 0x6c], ecx
mov dword [ebp - 0x60], ecx
mov ecx, eax
call fcn.00406d90
sub esp, 0x18
mov dword [ebp - 0x88], eax
mov ecx, esp
xorps xmm0, xmm0
movups xmmword [ecx], xmm0
mov dword [ecx + 0x10], 0xd
mov dword [ecx + 0x14], 0xf
movq xmm0, qword [str.embedsettings]
movq qword [ecx], xmm0
mov eax, dword [0x451114]
mov dword [ecx + 8], eax
mov al, byte [0x451118]
mov byte [ecx + 0xc], al
mov byte [ecx + 0xd], 0
mov ecx, 0x4651a0
call fcn.004118a0
sub esp, 0x18
xorps xmm0, xmm0
mov ecx, esp
mov edx, eax
movups xmmword [ecx], xmm0
mov dword [ecx + 0x10], 0xb
mov dword [ecx + 0x14], 0xf
movq xmm0, qword [str.keeprawtext]
movq qword [ecx], xmm0
movzx eax, word [0x451150]
mov word [ecx + 8], ax
mov al, byte [0x451152]
mov byte [ecx + 0xa], al
mov byte [ecx + 0xb], 0
mov ecx, edx
call fcn.004118a0
mov ecx, eax
call fcn.00406d90
sub esp, 0x18
mov dword [ebp - 0x8c], eax
mov ecx, esp
xorps xmm0, xmm0
movups xmmword [ecx], xmm0
mov dword [ecx + 0x10], 0xd
mov dword [ecx + 0x14], 0xf
movq xmm0, qword [str.embedsettings]
movq qword [ecx], xmm0
mov eax, dword [0x451114]
mov dword [ecx + 8], eax
mov al, byte [0x451118]
mov byte [ecx + 0xc], al
mov byte [ecx + 0xd], 0
mov ecx, 0x4651a0
call fcn.004118a0
sub esp, 0x18
mov dword [ebp - 0x5c], 0x1f
mov esi, esp
mov edi, eax
lea eax, [ebp - 0x5c]
xorps xmm0, xmm0
push eax
movups xmmword [esi], xmm0
push esi
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0
call fcn.00401240
mov ecx, dword [ebp - 0x5c]
add esp, 8
mov dword [esi + 0x14], ecx
mov dword [esi], eax
mov dword [esi + 0x10], 0x12
movups xmm0, xmmword [str.insertspace_policy]
movups xmmword [eax], xmm0
mov cx, word [0x451164]
mov word [eax + 0x10], cx
mov ecx, edi
mov byte [eax + 0x12], 0
call fcn.004118a0
mov ecx, eax
call fcn.00406d90
mov dword [ebp - 0x64], eax
sub esp, 0x18
xorps xmm0, xmm0
mov ecx, esp
movups xmmword [ecx], xmm0
mov dword [ecx + 0x10], 0xd
mov dword [ecx + 0x14], 0xf
movq xmm0, qword [str.embedsettings]
movq qword [ecx], xmm0
mov eax, dword [0x451114]
mov dword [ecx + 8], eax
mov al, byte [0x451118]
mov byte [ecx + 0xc], al
mov byte [ecx + 0xd], 0
mov ecx, 0x4651a0
call fcn.004118a0
sub esp, 0x18
xorps xmm0, xmm0
mov ecx, esp
mov edx, eax
movups xmmword [ecx], xmm0
mov dword [ecx + 0x10], 0xa
mov dword [ecx + 0x14], 0xf
movq xmm0, qword [str.changefont]
movq qword [ecx], xmm0
movzx eax, word [0x451170]
mov word [ecx + 8], ax
mov byte [ecx + 0xa], 0
mov ecx, edx
call fcn.004118a0
mov ecx, eax
call fcn.00407030
test al, al
je 0x412488
sub esp, 0x18
xorps xmm0, xmm0
mov ecx, esp
movups xmmword [ecx], xmm0
mov dword [ecx + 0x10], 0xd
mov dword [ecx + 0x14], 0xf
movq xmm0, qword [str.embedsettings]
movq qword [ecx], xmm0
mov eax, dword [0x451114]
mov dword [ecx + 8], eax
mov al, byte [0x451118]
mov byte [ecx + 0xc], al
mov byte [ecx + 0xd], 0
mov ecx, 0x4651a0
call fcn.004118a0
sub esp, 0x18
xorps xmm0, xmm0
mov ecx, esp
mov edx, eax
movups xmmword [ecx], xmm0
mov dword [ecx + 0x10], 0xf
mov dword [ecx + 0x14], 0xf
movq xmm0, qword [str.changefont_font]
movq qword [ecx], xmm0
mov eax, dword [0x45117c]
mov dword [ecx + 8], eax
mov ax, word [0x451180]
mov word [ecx + 0xc], ax
mov al, byte [0x451182]
mov byte [ecx + 0xe], al
mov byte [ecx + 0xf], 0
mov ecx, edx
call fcn.004118a0
lea ecx, [ebp - 0x28]
push ecx
mov ecx, eax
call fcn.0040b9f0
mov esi, dword [ebp - 0x60]
or esi, 0x10
push 0xfde9
lea eax, [ebp - 0x28]
mov dword [ebp - 4], 3
push eax
lea eax, [ebp - 0x40]
or esi, 4
push eax
mov dword [ebp - 0x6c], esi
call fcn.00413e60
add esp, 0xc
mov dword [ebp - 0x5c], eax
or esi, 8
mov dword [ebp - 4], 4
cmp dword [eax + 0x14], 7
mov dword [ebp - 0x60], esi
mov dword [ebp - 0x6c], esi
jbe 0x41248f
mov eax, dword [eax]
mov dword [ebp - 0x5c], eax
jmp 0x41248f
mov dword [ebp - 0x5c], 0x44fb64
sub esp, 0x18
xorps xmm0, xmm0
mov edx, esp
mov ecx, 0x4651a0
movups xmmword [edx], xmm0
mov dword [edx + 0x10], 0xd
mov dword [edx + 0x14], 0xf
movq xmm0, qword [str.embedsettings]
movq qword [edx], xmm0
mov eax, dword [0x451114]
mov dword [edx + 8], eax
mov al, byte [0x451118]
mov byte [edx + 0xc], al
mov byte [edx + 0xd], 0
call fcn.004118a0
sub esp, 0x18
mov dword [ebp - 0x68], 0x1f
mov esi, esp
mov edi, eax
lea eax, [ebp - 0x68]
xorps xmm0, xmm0
push eax
movups xmmword [esi], xmm0
push esi
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0
call fcn.00401240
mov edx, dword [ebp - 0x68]
add esp, 8
mov dword [esi], eax
mov ecx, edi
mov dword [esi + 0x10], 0x11
mov dword [esi + 0x14], edx
movups xmm0, xmmword [str.timeout_translate]
movups xmmword [eax], xmm0
mov dl, byte [0x451194]
mov byte [eax + 0x10], dl
mov byte [eax + 0x11], 0
call fcn.004118a0
mov esi, eax
mov cl, byte [esi]
movzx eax, cl
cmp eax, 9
ja case.0x41253e.0
jmp dword [eax*4 + 0x4126e8]
xor edx, edx
lea eax, [esi + 8]
cmp cl, 6
cmovne eax, edx
mov eax, dword [eax]
jmp 0x41257e
mov ecx, esi
call fcn.0040bae0
mov eax, dword [eax]
jmp 0x41257e
xor edx, edx
lea eax, [esi + 8]
cmp cl, 7
cmovne eax, edx
cvttsd2si eax, qword [eax]
jmp 0x41257e
xor edx, edx
lea eax, [esi + 8]
cmp cl, 4
cmovne eax, edx
movzx eax, byte [eax]
push dword [ebp - 0x88]
imul eax, eax, 0x3e8
push 0
push dword [ebp - 0x8c]
push dword [ebp - 0x64]
push dword [ebp - 0x5c]
push 0
push 2
push eax
push dword [ebp + 8]
call dword [ebp - 0x70]
mov eax, dword [ebp - 0x60]
add esp, 0x24
test al, 8
je 0x4125be
and eax, 0xfffffff7
lea ecx, [ebp - 0x40]
mov dword [ebp - 0x60], eax
call fcn.004028f0
mov eax, dword [ebp - 0x60]
mov dword [ebp - 4], 2
test al, 4
je 0x412618
mov ecx, dword [ebp - 0x14]
and eax, 0xfffffffb
mov dword [ebp - 0x60], eax
cmp ecx, 0xf
jbe 0x412606
mov edx, dword [ebp - 0x28]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4125f9
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4126e0
push ecx
push edx
call fcn.00439306
mov eax, dword [ebp - 0x60]
add esp, 8
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
test al, 2
je 0x41263d
and eax, 0xfffffffd
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x6c], eax
push dword [ebp - 0x84]
lea ecx, [ebp - 0x7c]
mov dword [ebp - 4], 6
call fcn.00416250
mov eax, dword [ebp - 0x60]
mov dword [ebp - 4], 0xffffffff
test al, 1
je 0x412667
push dword [ebp - 0x9c]
lea ecx, [ebp - 0x94]
mov dword [ebp - 4], 7
call fcn.00416250
mov dword [ebp - 4], 0xffffffff
lea eax, [ebp + 8]
mov ecx, 0x4651c0
push eax
lea eax, [ebp - 0x74]
push eax
call fcn.0040b370
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.004391ae
mov esp, ebp
pop ebp
ret 4
mov ecx, esi
call fcn.0041cfb0
mov dword [ebp - 0x70], eax
lea eax, [ebp - 0x70]
push eax
lea eax, [ebp - 0x58]
push str.type_must_be_number__but_is
push eax
call fcn.00409c00
push esi
push eax
lea eax, [ebp - 0xb8]
mov dword [ebp - 4], 5
push 0x12e
push eax
call fcn.0040ab40
add esp, 0x1c
lea eax, [ebp - 0xb8]
push 0x461b14
push eax
call sub.msvcrt.dll__CxxThrowException
call fcn.0043a4d0
nop dword [eax]
xchg esi, eax
inc ecx
add byte [esi - 0x69ffbeda], dl
inc ecx
add byte [esi + 0x70004126], dl
and eax, 0x25540041
inc ecx
add byte [ebp + 0x25], al
inc ecx
add byte [edi + 0x25], bl
inc ecx
add byte [esi - 0x69ffbeda], dl
inc ecx
add byte [ebp - 0x75], dl
push ebp
mov ebp, esp
mov edx, dword [ebp + 8]
sub esp, 8
movzx eax, dl
xor eax, 0x811c9dc5
imul ecx, eax, 0x1000193
mov eax, edx
shr eax, 8
movzx eax, al
push esi
xor ecx, eax
mov eax, edx
shr eax, 0x10
imul ecx, ecx, 0x1000193
movzx eax, al
shr edx, 0x18
xor ecx, eax
imul eax, ecx, 0x1000193
mov ecx, 0x4651c0
xor eax, edx
imul esi, eax, 0x1000193
lea eax, [ebp + 8]
push esi
push eax
lea eax, [ebp - 8]
push eax
call fcn.00408cf0
mov edx, dword [eax + 4]
test edx, edx
je 0x4127c2
mov ecx, dword [0x4651d8]
mov eax, dword [0x4651cc]
and ecx, esi
lea ecx, [eax + ecx*8]
mov eax, dword [ecx]
cmp dword [ecx + 4], edx
jne 0x41279c
cmp eax, edx
jne 0x412794
mov eax, dword [0x4651c4]
mov dword [ecx], eax
mov dword [ecx + 4], eax
jmp 0x4127a4
mov eax, dword [edx + 4]
mov dword [ecx + 4], eax
jmp 0x4127a4
cmp eax, edx
jne 0x4127a4
mov eax, dword [edx]
mov dword [ecx], eax
mov ecx, dword [edx]
dec dword [0x4651c8]
mov eax, dword [edx + 4]
push 0xc
push edx
mov dword [eax], ecx
mov eax, dword [edx + 4]
mov dword [ecx + 4], eax
call fcn.00439306
add esp, 8
push 0
push 1
push dword [0x465198]
call dword [sym.imp.KERNEL32.dll_ReleaseSemaphore]
pop esi
mov esp, ebp
pop ebp
ret 4