Function at 0x412eb0
Capabilities:
Get graphical window text
Hash data using fnv
Write file on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x440730
mov eax, dword fs:[0]
push eax
sub esp, 0x220
mov eax, dword [0x4540fc]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, ecx
mov eax, dword [ebp + 8]
mov dword [ebp - 0x220], eax
call dword [sym.imp.USER32.dll_GetForegroundWindow]
mov esi, eax
test esi, esi
je 0x4130f1
lea eax, [ebp - 0x21c]
push eax
push esi
call dword [sym.imp.USER32.dll_GetWindowThreadProcessId]
mov edx, dword [ebp - 0x21c]
mov eax, edx
shr eax, 8
movzx ecx, al
movzx eax, dl
xor eax, 0x811c9dc5
mov dword [ebp - 0x218], edx
imul eax, eax, 0x1000193
xor ecx, eax
mov eax, edx
imul ecx, ecx, 0x1000193
shr eax, 0x10
movzx eax, al
xor ecx, eax
mov eax, edx
imul ecx, ecx, 0x1000193
shr eax, 0x18
xor ecx, eax
imul eax, ecx, 0x1000193
lea ecx, [ebx + 8]
push eax
lea eax, [ebp - 0x218]
push eax
lea eax, [ebp - 0x228]
push eax
call fcn.00402610
mov eax, dword [eax + 4]
test eax, eax
jne 0x412f6f
mov eax, dword [ebx + 0xc]
cmp eax, dword [ebx + 0xc]
je 0x41302a
mov eax, dword [ebp - 0x21c]
lea ecx, [ebx + 8]
mov dword [ebp - 0x218], eax
lea eax, [ebp - 0x218]
push eax
call fcn.00414b20
mov dword [eax], 1
mov edx, dword [ebx + 0x54]
mov eax, edx
shr eax, 8
movzx ecx, al
movzx eax, dl
xor eax, 0x811c9dc5
mov dword [ebp - 0x218], edx
imul eax, eax, 0x1000193
xor ecx, eax
mov eax, edx
imul ecx, ecx, 0x1000193
shr eax, 0x10
movzx eax, al
xor ecx, eax
mov eax, edx
imul ecx, ecx, 0x1000193
shr eax, 0x18
xor ecx, eax
imul eax, ecx, 0x1000193
lea ecx, [ebx + 8]
push eax
lea eax, [ebp - 0x218]
push eax
lea eax, [ebp - 0x228]
push eax
call fcn.00402610
mov eax, dword [eax + 4]
test eax, eax
jne 0x412ffe
mov eax, dword [ebx + 0xc]
cmp eax, dword [ebx + 0xc]
je 0x41302a
mov eax, dword [ebx + 0x54]
lea ecx, [ebx + 8]
mov dword [ebp - 0x218], eax
lea eax, [ebp - 0x218]
push eax
call fcn.00414b20
mov dword [eax], 0
mov eax, dword [ebp - 0x21c]
mov dword [ebx + 0x54], eax
push 0xff
lea eax, [ebp - 0x214]
push eax
push esi
call dword [sym.imp.USER32.dll_GetWindowTextW]
lea eax, [ebp - 0x214]
push str.__fasttest__
push eax
call fcn.00422af7
add esp, 8
test eax, eax
je 0x4130f1
push 0
push 0
push 0x10
push esi
call dword [sym.imp.USER32.dll_PostMessageW]
call fcn.00409200
mov ecx, eax
test ecx, ecx
je 0x41310f
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x218], eax
mov dword [ebp - 4], 0
call fcn.00420480
push 0
push 0x2710
push edx
push eax
call fcn.0043e560
push edx
push eax
lea eax, [ebp - 0x218]
push str.__fast_:__fast_tutorial_benchmark_done_:_lld__
push eax
call fcn.0040b8c0
mov esi, dword [ebp - 0x218]
lea eax, [ebp - 0x224]
add esp, 0x10
push 0
push eax
push dword [esi - 0xc]
push esi
push dword [ebp - 0x220]
call dword [sym.imp.KERNEL32.dll_WriteFile]
mov dword [ebp - 4], 0xffffffff
add esi, 0xfffffff0
or eax, 0xffffffff
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x4130f1
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.0042150a
mov esp, ebp
pop ebp
ret 4
push 0x80004005
call fcn.00408fe0
int3