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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x492246
mov eax, dword fs:[0]
push eax
sub esp, 0x230
mov eax, dword [0x4b30fc]
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 esi, ecx
mov dword [ebp - 0x220], esi
mov eax, dword [ebp + 8]
mov dword [ebp - 0x228], eax
call dword [sym.imp.USER32.dll_GetForegroundWindow]
mov edi, eax
test edi, edi
je 0x437666
lea eax, [ebp - 0x21c]
push eax
push edi
call dword [sym.imp.USER32.dll_GetWindowThreadProcessId]
mov edx, dword [ebp - 0x21c]
lea ebx, [esi + 0xc4]
movzx eax, dl
xor eax, 0x811c9dc5
imul ecx, eax, 0x1000193
movzx eax, dh
xor ecx, eax
movzx eax, byte [ebp - 0x21a]
imul ecx, ecx, 0x1000193
xor ecx, eax
movzx eax, byte [ebp - 0x219]
imul ecx, ecx, 0x1000193
xor ecx, eax
imul eax, ecx, 0x1000193
mov ecx, ebx
push eax
lea eax, [ebp - 0x21c]
push eax
lea eax, [ebp - 0x230]
push eax
call fcn.00417300
mov eax, dword [eax + 4]
test eax, eax
jne 0x437440
mov eax, dword [ebx + 4]
cmp eax, dword [esi + 0xc8]
je 0x43759f
mov eax, dword [ebp - 0x21c]
add esi, 0x8c
push esi
mov dword [ebp - 0x218], eax
mov dword [ebp - 0x224], esi
call fcn.0045392f
add esp, 4
test eax, eax
jne 0x437684
mov eax, dword [esi + 0x2c]
cmp eax, 0x7fffffff
je 0x43768b
lea eax, [ebp - 0x218]
mov dword [ebp - 4], 0
push eax
mov ecx, ebx
call fcn.00442f00
push esi
mov dword [ebp - 4], 0xffffffff
mov dword [eax], 2
call fcn.00453954
mov eax, dword [ebp - 0x220]
add esp, 4
mov edx, dword [eax + 0x14]
lea ecx, [eax + 0x14]
mov dword [ebp - 0x218], ecx
mov eax, dword [eax + 0xc8]
mov dword [ebp - 0x224], eax
movzx eax, dl
xor eax, 0x811c9dc5
mov dword [ebp - 0x220], edx
imul ecx, eax, 0x1000193
mov eax, edx
shr eax, 8
movzx eax, al
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, ebx
xor eax, edx
imul eax, eax, 0x1000193
push eax
lea eax, [ebp - 0x220]
push eax
lea eax, [ebp - 0x238]
push eax
call fcn.00417300
mov eax, dword [eax + 4]
test eax, eax
jne 0x43752b
mov eax, dword [ebx + 4]
cmp eax, dword [ebp - 0x224]
je 0x43759f
mov eax, dword [ebp - 0x218]
mov eax, dword [eax]
push esi
mov dword [ebp - 0x224], eax
mov dword [ebp - 0x220], esi
call fcn.0045392f
add esp, 4
test eax, eax
jne 0x437696
mov eax, dword [esi + 0x2c]
cmp eax, 0x7fffffff
je 0x43769d
lea eax, [ebp - 0x224]
mov dword [ebp - 4], 1
push eax
mov ecx, ebx
call fcn.00442f00
push esi
mov dword [ebp - 4], 0xffffffff
mov dword [eax], 1
call fcn.00453954
mov eax, dword [ebp - 0x21c]
add esp, 4
mov ecx, dword [ebp - 0x218]
xchg dword [ecx], eax
push 0xff
lea eax, [ebp - 0x214]
push eax
push edi
call dword [sym.imp.USER32.dll_GetWindowTextW]
lea eax, [ebp - 0x214]
push str.__fasttest__
push eax
call fcn.0046be07
add esp, 8
test eax, eax
je 0x437666
push 0
push 0
push 0x10
push edi
call dword [sym.imp.USER32.dll_PostMessageW]
call fcn.00403910
mov ecx, eax
test ecx, ecx
je 0x4376a8
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x218], eax
mov dword [ebp - 4], 2
call fcn.00454737
push 0
push 0x2710
push edx
push eax
call fcn.0048d5d0
push edx
push eax
lea eax, [ebp - 0x218]
push str.__fast_:__fast_tutorial_benchmark_done_:_lld__
push eax
call fcn.004250c0
mov esi, dword [ebp - 0x218]
lea eax, [ebp - 0x22c]
add esp, 0x10
push 0
push eax
push dword [esi - 0xc]
push esi
push dword [ebp - 0x228]
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 0x437666
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.0046a70a
mov esp, ebp
pop ebp
ret 4
push 5
call fcn.0045458b
dec eax
push 6
mov dword [esi + 0x2c], eax
call fcn.0045458b
push 5
call fcn.0045458b
dec eax
push 6
mov dword [esi + 0x2c], eax
call fcn.0045458b
push 0x80004005
call fcn.004036e0
int3