Function at 0x412370
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x44c447
mov eax, dword fs:[0]
push eax
sub esp, 0xac
mov eax, dword [0x463780]
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 [0x464188]
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 [0x450124]
mov dword [ecx + 8], eax
mov al, byte [0x450128]
mov byte [ecx + 0xc], al
mov byte [ecx + 0xd], 0
mov ecx, 0x4641a0
call fcn.00411500
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 [0x45013c]
mov word [edx + 0x10], cx
mov ecx, edi
mov al, byte [0x45013e]
mov byte [edx + 0x12], al
mov byte [edx + 0x13], 0
call fcn.00411500
mov ecx, eax
call fcn.00406c90
xorps xmm0, xmm0
test al, al
je 0x411ddb
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 [0x450124]
mov dword [ecx + 8], eax
mov al, byte [0x450128]
mov byte [ecx + 0xc], al
mov byte [ecx + 0xd], 0
mov ecx, 0x4641a0
call fcn.00411500
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 [0x450150]
mov dword [edx + 0x10], ecx
mov ecx, edi
mov ax, word [0x450154]
mov word [edx + 0x14], ax
mov byte [edx + 0x16], 0
call fcn.00411500
push eax
lea ecx, [ebp - 0x9c]
call fcn.0040eeb0
mov dword [ebp - 4], 0
mov ecx, 1
jmp 0x411e24
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.00415eb0
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.004069f0
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 [0x450124]
mov dword [ecx + 8], eax
mov al, byte [0x450128]
mov byte [ecx + 0xc], al
mov byte [ecx + 0xd], 0
mov ecx, 0x4641a0
call fcn.00411500
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 [0x450160]
mov word [ecx + 8], ax
mov al, byte [0x450162]
mov byte [ecx + 0xa], al
mov byte [ecx + 0xb], 0
mov ecx, edx
call fcn.00411500
mov ecx, eax
call fcn.004069f0
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 [0x450124]
mov dword [ecx + 8], eax
mov al, byte [0x450128]
mov byte [ecx + 0xc], al
mov byte [ecx + 0xd], 0
mov ecx, 0x4641a0
call fcn.00411500
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 [0x450174]
mov word [eax + 0x10], cx
mov ecx, edi
mov byte [eax + 0x12], 0
call fcn.00411500
mov ecx, eax
call fcn.004069f0
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 [0x450124]
mov dword [ecx + 8], eax
mov al, byte [0x450128]
mov byte [ecx + 0xc], al
mov byte [ecx + 0xd], 0
mov ecx, 0x4641a0
call fcn.00411500
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 [0x450180]
mov word [ecx + 8], ax
mov byte [ecx + 0xa], 0
mov ecx, edx
call fcn.00411500
mov ecx, eax
call fcn.00406c90
test al, al
je 0x4120e8
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 [0x450124]
mov dword [ecx + 8], eax
mov al, byte [0x450128]
mov byte [ecx + 0xc], al
mov byte [ecx + 0xd], 0
mov ecx, 0x4641a0
call fcn.00411500
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 [0x45018c]
mov dword [ecx + 8], eax
mov ax, word [0x450190]
mov word [ecx + 0xc], ax
mov al, byte [0x450192]
mov byte [ecx + 0xe], al
mov byte [ecx + 0xf], 0
mov ecx, edx
call fcn.00411500
lea ecx, [ebp - 0x28]
push ecx
mov ecx, eax
call fcn.0040b650
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.00413ac0
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 0x4120ef
mov eax, dword [eax]
mov dword [ebp - 0x5c], eax
jmp 0x4120ef
mov dword [ebp - 0x5c], 0x44eb74
sub esp, 0x18
xorps xmm0, xmm0
mov edx, esp
mov ecx, 0x4641a0
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 [0x450124]
mov dword [edx + 8], eax
mov al, byte [0x450128]
mov byte [edx + 0xc], al
mov byte [edx + 0xd], 0
call fcn.00411500
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 [0x4501a4]
mov byte [eax + 0x10], dl
mov byte [eax + 0x11], 0
call fcn.00411500
mov esi, eax
mov cl, byte [esi]
movzx eax, cl
cmp eax, 9
ja case.0x41219e.0
jmp dword [eax*4 + 0x412348]
xor edx, edx
lea eax, [esi + 8]
cmp cl, 6
cmovne eax, edx
mov eax, dword [eax]
jmp 0x4121de
mov ecx, esi
call fcn.0040b740
mov eax, dword [eax]
jmp 0x4121de
xor edx, edx
lea eax, [esi + 8]
cmp cl, 7
cmovne eax, edx
cvttsd2si eax, qword [eax]
jmp 0x4121de
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 0x41221e
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 0x412278
mov ecx, dword [ebp - 0x14]
and eax, 0xfffffffb
mov dword [ebp - 0x60], eax
cmp ecx, 0xf
jbe 0x412266
mov edx, dword [ebp - 0x28]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x412259
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x412340
push ecx
push edx
call fcn.004383d6
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 0x41229d
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.00415eb0
mov eax, dword [ebp - 0x60]
mov dword [ebp - 4], 0xffffffff
test al, 1
je 0x4122c7
push dword [ebp - 0x9c]
lea ecx, [ebp - 0x94]
mov dword [ebp - 4], 7
call fcn.00415eb0
mov dword [ebp - 4], 0xffffffff
lea eax, [ebp + 8]
mov ecx, 0x4641c0
push eax
lea eax, [ebp - 0x74]
push eax
call fcn.0040afd0
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.0043827e
mov esp, ebp
pop ebp
ret 4
mov ecx, esi
call fcn.0041cc10
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.00409860
push esi
push eax
lea eax, [ebp - 0xb8]
mov dword [ebp - 4], 5
push 0x12e
push eax
call fcn.0040a7a0
add esp, 0x1c
lea eax, [ebp - 0xb8]
push 0x460b10
push eax
call sub.msvcrt.dll__CxxThrowException
call fcn.004395a0
nop dword [eax]
mul byte [edx]
inc ecx
add dh, dh
and al, byte [ecx]
mul byte [edx]
inc ecx
add dh, dh
and al, byte [ecx]
shl byte [ecx], 1
inc ecx
add byte [ecx + 0x21a50041], dh
inc ecx
add byte [edi - 0x9ffbedf], bh
and al, byte [ecx]
mul byte [edx]
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, 0x4641c0
xor eax, edx
imul esi, eax, 0x1000193
lea eax, [ebp + 8]
push esi
push eax
lea eax, [ebp - 8]
push eax
call fcn.00408950
mov edx, dword [eax + 4]
test edx, edx
je 0x412422
mov ecx, dword [0x4641d8]
mov eax, dword [0x4641cc]
and ecx, esi
lea ecx, [eax + ecx*8]
mov eax, dword [ecx]
cmp dword [ecx + 4], edx
jne 0x4123fc
cmp eax, edx
jne 0x4123f4
mov eax, dword [0x4641c4]
mov dword [ecx], eax
mov dword [ecx + 4], eax
jmp 0x412404
mov eax, dword [edx + 4]
mov dword [ecx + 4], eax
jmp 0x412404
cmp eax, edx
jne 0x412404
mov eax, dword [edx]
mov dword [ecx], eax
mov ecx, dword [edx]
dec dword [0x4641c8]
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.004383d6
add esp, 8
push 0
push 1
push dword [0x464198]
call dword [sym.imp.KERNEL32.dll_ReleaseSemaphore]
pop esi
mov esp, ebp
pop ebp
ret 4