Function at 0x412700
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x43f207
mov eax, dword fs:[0]
push eax
sub esp, 0xac
mov eax, dword [0x44d100]
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 [0x44db08]
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 [0x4430c4]
mov dword [ecx + 8], eax
mov al, byte [0x4430c8]
mov byte [ecx + 0xc], al
mov byte [ecx + 0xd], 0
mov ecx, 0x44db20
call fcn.00411890
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 [0x4430dc]
mov word [edx + 0x10], cx
mov ecx, edi
mov al, byte [0x4430de]
mov byte [edx + 0x12], al
mov byte [edx + 0x13], 0
call fcn.00411890
mov ecx, eax
call fcn.00407020
xorps xmm0, xmm0
test al, al
je 0x41216b
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 [0x4430c4]
mov dword [ecx + 8], eax
mov al, byte [0x4430c8]
mov byte [ecx + 0xc], al
mov byte [ecx + 0xd], 0
mov ecx, 0x44db20
call fcn.00411890
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 [0x4430f0]
mov dword [edx + 0x10], ecx
mov ecx, edi
mov ax, word [0x4430f4]
mov word [edx + 0x14], ax
mov byte [edx + 0x16], 0
call fcn.00411890
push eax
lea ecx, [ebp - 0x9c]
call fcn.0040f240
mov dword [ebp - 4], 0
mov ecx, 1
jmp 0x4121b4
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.00416240
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.00406d80
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 [0x4430c4]
mov dword [ecx + 8], eax
mov al, byte [0x4430c8]
mov byte [ecx + 0xc], al
mov byte [ecx + 0xd], 0
mov ecx, 0x44db20
call fcn.00411890
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 [0x443100]
mov word [ecx + 8], ax
mov al, byte [0x443102]
mov byte [ecx + 0xa], al
mov byte [ecx + 0xb], 0
mov ecx, edx
call fcn.00411890
mov ecx, eax
call fcn.00406d80
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 [0x4430c4]
mov dword [ecx + 8], eax
mov al, byte [0x4430c8]
mov byte [ecx + 0xc], al
mov byte [ecx + 0xd], 0
mov ecx, 0x44db20
call fcn.00411890
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 [0x443114]
mov word [eax + 0x10], cx
mov ecx, edi
mov byte [eax + 0x12], 0
call fcn.00411890
mov ecx, eax
call fcn.00406d80
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 [0x4430c4]
mov dword [ecx + 8], eax
mov al, byte [0x4430c8]
mov byte [ecx + 0xc], al
mov byte [ecx + 0xd], 0
mov ecx, 0x44db20
call fcn.00411890
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 [0x443120]
mov word [ecx + 8], ax
mov byte [ecx + 0xa], 0
mov ecx, edx
call fcn.00411890
mov ecx, eax
call fcn.00407020
test al, al
je 0x412478
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 [0x4430c4]
mov dword [ecx + 8], eax
mov al, byte [0x4430c8]
mov byte [ecx + 0xc], al
mov byte [ecx + 0xd], 0
mov ecx, 0x44db20
call fcn.00411890
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 [0x44312c]
mov dword [ecx + 8], eax
mov ax, word [0x443130]
mov word [ecx + 0xc], ax
mov al, byte [0x443132]
mov byte [ecx + 0xe], al
mov byte [ecx + 0xf], 0
mov ecx, edx
call fcn.00411890
lea ecx, [ebp - 0x28]
push ecx
mov ecx, eax
call fcn.0040b9e0
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.00413e50
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 0x41247f
mov eax, dword [eax]
mov dword [ebp - 0x5c], eax
jmp 0x41247f
mov dword [ebp - 0x5c], 0x441b14
sub esp, 0x18
xorps xmm0, xmm0
mov edx, esp
mov ecx, 0x44db20
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 [0x4430c4]
mov dword [edx + 8], eax
mov al, byte [0x4430c8]
mov byte [edx + 0xc], al
mov byte [edx + 0xd], 0
call fcn.00411890
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 [0x443144]
mov byte [eax + 0x10], dl
mov byte [eax + 0x11], 0
call fcn.00411890
mov esi, eax
mov cl, byte [esi]
movzx eax, cl
cmp eax, 9
ja case.0x41252e.0
jmp dword [eax*4 + 0x4126d8]
xor edx, edx
lea eax, [esi + 8]
cmp cl, 6
cmovne eax, edx
mov eax, dword [eax]
jmp 0x41256e
mov ecx, esi
call fcn.0040bad0
mov eax, dword [eax]
jmp 0x41256e
xor edx, edx
lea eax, [esi + 8]
cmp cl, 7
cmovne eax, edx
cvttsd2si eax, qword [eax]
jmp 0x41256e
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 0x4125ae
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 0x412608
mov ecx, dword [ebp - 0x14]
and eax, 0xfffffffb
mov dword [ebp - 0x60], eax
cmp ecx, 0xf
jbe 0x4125f6
mov edx, dword [ebp - 0x28]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4125e9
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4126d0
push ecx
push edx
call fcn.0042c646
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 0x41262d
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.00416240
mov eax, dword [ebp - 0x60]
mov dword [ebp - 4], 0xffffffff
test al, 1
je 0x412657
push dword [ebp - 0x9c]
lea ecx, [ebp - 0x94]
mov dword [ebp - 4], 7
call fcn.00416240
mov dword [ebp - 4], 0xffffffff
lea eax, [ebp + 8]
mov ecx, 0x44db40
push eax
lea eax, [ebp - 0x74]
push eax
call fcn.0040b360
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.0042c4ee
mov esp, ebp
pop ebp
ret 4
mov ecx, esi
call fcn.0041cfa0
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.00409bf0
push esi
push eax
lea eax, [ebp - 0xb8]
mov dword [ebp - 4], 5
push 0x12e
push eax
call fcn.0040ab30
add esp, 0x1c
lea eax, [ebp - 0xb8]
push 0x44a57c
push eax
call sub.msvcrt.dll__CxxThrowException
call fcn.0042d740
nop dword [eax]
xchg byte [esi], ah
inc ecx
add byte [esi - 0x79ffbeda], al
inc ecx
add byte [esi + 0x60004126], al
and eax, 0x25440041
inc ecx
add byte [0x4f004125], dh
and eax, 0x26860041
inc ecx
add byte [esi + 0x55004126], al
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, 0x44db40
xor eax, edx
imul esi, eax, 0x1000193
lea eax, [ebp + 8]
push esi
push eax
lea eax, [ebp - 8]
push eax
call fcn.00408ce0
mov edx, dword [eax + 4]
test edx, edx
je 0x4127b2
mov ecx, dword [0x44db58]
mov eax, dword [0x44db4c]
and ecx, esi
lea ecx, [eax + ecx*8]
mov eax, dword [ecx]
cmp dword [ecx + 4], edx
jne 0x41278c
cmp eax, edx
jne 0x412784
mov eax, dword [0x44db44]
mov dword [ecx], eax
mov dword [ecx + 4], eax
jmp 0x412794
mov eax, dword [edx + 4]
mov dword [ecx + 4], eax
jmp 0x412794
cmp eax, edx
jne 0x412794
mov eax, dword [edx]
mov dword [ecx], eax
mov ecx, dword [edx]
dec dword [0x44db48]
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.0042c646
add esp, 8
push 0
push 1
push dword [0x44db18]
call dword [sym.imp.KERNEL32.dll_ReleaseSemaphore]
pop esi
mov esp, ebp
pop ebp
ret 4