Function at 0x4024b0
Capabilities:
Contain obfuscated stackstrings
Encode data using xor
Get graphical window text
Hash data using fnv

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x407f2e
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0xbd0
mov eax, dword [0x40f040]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword fs:[0x2c]
mov ecx, dword [eax]
mov eax, dword [0x40f770]
cmp eax, dword [ecx + 4]
jle 0x402877
push 0x40f770
call fcn.004068e8
add esp, 4
cmp dword [0x40f770], 0xffffffff
jne 0x402877
mov dword [ebp - 4], 0
lea ecx, [ebp - 0xbe0]
xorps xmm0, xmm0
mov dword [0x40f76c], 0
push str.f4df83a515a45b15a5efbc1c4918570e6a1b446f29980020ac0c2eab5533dd80
movq qword [0x40f764], xmm0
call fcn.004050b0
push str.561d7ed7495793b77a42d99d1008be56f499dfc074afb389434e4b7b8272fa8c
lea ecx, [ebp - 0xbc8]
mov byte [ebp - 4], 1
call fcn.004050b0
push str.3843971dcfdee5083e6289e1bbdbb003e538b5a8a668fc43ae4f19d415ac18a2
lea ecx, [ebp - 0xbb0]
mov byte [ebp - 4], 2
call fcn.004050b0
push str.ca339089c62e9a993bb7317aee9c4776132c7d20e091d2aaf604d28128d26aae
lea ecx, [ebp - 0xb98]
mov byte [ebp - 4], 3
call fcn.004050b0
push str.d667bec65652da9eef1461cdc4007601831d7b8290709173850c166503010cdc
lea ecx, [ebp - 0xb80]
mov byte [ebp - 4], 4
call fcn.004050b0
push str.48548e9449a07dde502bc05e645801a0645acac87934163dcee8fe7d1793f7d2
lea ecx, [ebp - 0xb68]
mov byte [ebp - 4], 5
call fcn.004050b0
push str.6832f89e4fc9260155039fdac0dc30668e0492f5e8e4e9d406f70aa329de4d10
lea ecx, [ebp - 0xb50]
mov byte [ebp - 4], 6
call fcn.004050b0
push str.a8d79f40ddb79de569d778f1c0b832f9cc266b32274b702cff4ba2b8a0dd1549
lea ecx, [ebp - 0xb38]
mov byte [ebp - 4], 7
call fcn.004050b0
push str.41b77e508167afdd1a6429a26c849c1ae70e98e530fd5fbea9e80f76a2fdcd94
lea ecx, [ebp - 0xb20]
mov byte [ebp - 4], 8
call fcn.004050b0
push str.6a5cfa3e6a632019ba002928ade396101759ad5ec7c8fc51345d855e6944a1e0
lea ecx, [ebp - 0xb08]
mov byte [ebp - 4], 9
call fcn.004050b0
push str.7a59b422cc7bc63a2a16aa8d105d411aeda587a642bbdd36f06751ea862153a0
lea ecx, [ebp - 0xaf0]
mov byte [ebp - 4], 0xa
call fcn.004050b0
push str.c4449030867c84e5a072f704abd69e5d75d84040a884790df11ff7cdd2244905
lea ecx, [ebp - 0xad8]
mov byte [ebp - 4], 0xb
call fcn.004050b0
push str.6a9bb179400afb21957db1e9f878f0c8a7dd1bb443303855c43e0597647a3457
lea ecx, [ebp - 0xac0]
mov byte [ebp - 4], 0xc
call fcn.004050b0
push str.c0dacf8b7f3f4c08339a82135216a7f3f435abedf81b5307cd9e95bd2f7e9666
lea ecx, [ebp - 0xaa8]
mov byte [ebp - 4], 0xd
call fcn.004050b0
push str.93a47d545b33e73acceb0b1a239b205bf3af0041f308607fe5ee81078baf687d
lea ecx, [ebp - 0xa90]
mov byte [ebp - 4], 0xe
call fcn.004050b0
mov byte [ebp - 4], 0xf
push str.59a2ea36c20b30a30f3aa251b346188d5afbeddfca2d496e67b0c2d9eb74a345
lea ecx, [ebp - 0xa78]
call fcn.004050b0
push str.561d7ed7495793b77a42d99d1008be56f499dfc074afb389434e4b7b8272fa8c
lea ecx, [ebp - 0xa60]
mov byte [ebp - 4], 0x10
call fcn.004050b0
push str.e914de1f077f89f2a8bd8b718ed9de105f30e898c52e579bb885dd39954799fe
lea ecx, [ebp - 0xa48]
mov byte [ebp - 4], 0x11
call fcn.004050b0
push str.c02c4e35c9261d12e2bbfd020e2a31c738d7697d8588847f1d5eca29ca6e5c95
lea ecx, [ebp - 0xa30]
mov byte [ebp - 4], 0x12
call fcn.004050b0
push str.487f6c1880faf539e4e11712443a4d55b6ae4e3088ed5cf705bcf3c5e2e88a73
lea ecx, [ebp - 0xa18]
mov byte [ebp - 4], 0x13
call fcn.004050b0
push str.2bca49a8187b8d7cffa4c61e6a2954a645d3c30ff1b97bb95dcb3faae3829776
lea ecx, [ebp - 0xa00]
mov byte [ebp - 4], 0x14
call fcn.004050b0
push str.c54e87cc84b5a9c94843dee839d9f01967b80d2f5512dcb2b260be3685f5eb77
lea ecx, [ebp - 0x9e8]
mov byte [ebp - 4], 0x15
call fcn.004050b0
push str.1a434e36818416cf604d98afeec063273747936476018b52f81a4a0b02c7b842
lea ecx, [ebp - 0x9d0]
mov byte [ebp - 4], 0x16
call fcn.004050b0
push str.5619f8026f7a8df09ed2f3114fb9af7e833add1fab8178f2e3d4987d640140e7
lea ecx, [ebp - 0x9b8]
mov byte [ebp - 4], 0x17
call fcn.004050b0
push str.6335c115ac295845ae036f8620fbdb87e898fe6a44a45e74955318d48d9fdbff
lea ecx, [ebp - 0x9a0]
mov byte [ebp - 4], 0x18
call fcn.004050b0
push str.b0c5238e4f2c185b989e5b928ab3884e8ad9d73f29853c61c59c63a9f24775b1
lea ecx, [ebp - 0x988]
mov byte [ebp - 4], 0x19
call fcn.004050b0
push str.bac37468bac70726b55f3078fb4315e84a3f4d86f24cdd0bbcb76077479217a4
lea ecx, [ebp - 0x970]
mov byte [ebp - 4], 0x1a
call fcn.004050b0
push str.24126f150c31273c5678cc85aa0860c5eca446c449be13c9e691459467408951
lea ecx, [ebp - 0x958]
mov byte [ebp - 4], 0x1b
call fcn.004050b0
push str.05294590979827d5ac9d3238adee4ab11363976fb1d58bb895d01088d65c6c5f
lea ecx, [ebp - 0x940]
mov byte [ebp - 4], 0x1c
call fcn.004050b0
push str.84a985719c18791e7bb2232d61189add95049c68e37373c8ec03c1ee993ac778
lea ecx, [ebp - 0x928]
mov byte [ebp - 4], 0x1d
call fcn.004050b0
push str.b72ce49780f6734e27870aa9161a115afdc5d613c390989eea647cc5410719fa
lea ecx, [ebp - 0x910]
mov byte [ebp - 4], 0x1e
call fcn.004050b0
mov byte [ebp - 4], 0x1f
lea ecx, [ebp - 0x8f8]
push str.547a23e8e82e5b78634371447072056115fd126f04e6fb851422b3f81cd62fdb
call fcn.004050b0
push str.d7f2ac28ebb6c07d53cc4414673c7b66a1f66198a37ad263582bc296c4eb212c
lea ecx, [ebp - 0x8e0]
mov byte [ebp - 4], 0x20
call fcn.004050b0
push str.91f6964003aa5cb5badce216331ce8e6cac5f36a57797c2538fd87585c2ec281
lea ecx, [ebp - 0x8c8]
mov byte [ebp - 4], 0x21
call fcn.004050b0
push str.e448ebde783881aac728eda14659e412c88c6bf51e51154c4fa8be9bacf53871
lea ecx, [ebp - 0x8b0]
mov byte [ebp - 4], 0x22
call fcn.004050b0
push str.6bc2ebdf728acc9c782a06f7e0b42757ead49af4f810f8deca7d9685ce13dd39
lea ecx, [ebp - 0x898]
mov byte [ebp - 4], 0x23
call fcn.004050b0
push str.1c2bf84496ba5c94abbaeaa2d624098dbabf0677b8844e22cc55b6623df73d15
lea ecx, [ebp - 0x880]
mov byte [ebp - 4], 0x24
call fcn.004050b0
lea ecx, [ebp - 0xbe0]
mov byte [ebp - 4], 0x25
push ecx
lea eax, [ebp - 0x868]
push eax
push ecx
mov ecx, 0x40f764
call fcn.004047f0
push 0x405050
push 0x25
push 0x18
lea eax, [ebp - 0xbe0]
mov byte [ebp - 4], 0
push eax
call fcn.0040697c
push 0x408450
call fcn.00406ccd
add esp, 4
mov dword [ebp - 4], 0xffffffff
push 0x40f770
call fcn.00406897
add esp, 4
xorps xmm0, xmm0
lea ecx, [ebp - 0x838]
movups xmmword [ebp - 0x838], xmm0
movups xmmword [ebp - 0x828], xmm0
call fcn.00401ce0
mov dword [ebp - 4], 0x26
call dword [sym.imp.USER32.dll_GetForegroundWindow]
test eax, eax
je 0x4029ca
push 0x3ff
lea ecx, [ebp - 0x818]
push ecx
push eax
call dword [sym.imp.USER32.dll_GetWindowTextW]
test eax, eax
je 0x4029ca
lea eax, [ebp - 0x818]
push eax
lea ecx, [ebp - 0x850]
call fcn.004050b0
mov esi, dword [0x40f764]
mov dword [ebp - 0x85c], esi
cmp esi, dword [0x40f768]
je 0x402976
nop dword [eax]
cmp dword [esi + 0x14], 7
mov dword [ebp - 0x858], esi
jbe 0x402904
mov eax, dword [esi]
mov dword [ebp - 0x858], eax
mov edi, dword [esi + 0x10]
mov edx, 0x811c9dc5
mov eax, 0
add edi, edi
je 0x402937
mov esi, dword [ebp - 0x858]
nop dword [eax + eax]
movzx ecx, byte [esi + eax]
inc eax
xor ecx, edx
imul edx, ecx, 0x1000193
cmp eax, edi
jb 0x402920
mov esi, dword [ebp - 0x85c]
push edx
push esi
lea eax, [ebp - 0x864]
push eax
lea ecx, [ebp - 0x838]
call fcn.004066a0
mov ecx, dword [ebp - 0x834]
mov eax, dword [eax + 4]
test eax, eax
cmovne ecx, eax
cmp ecx, dword [ebp - 0x834]
jne 0x4029b5
add esi, 0x18
mov dword [ebp - 0x85c], esi
cmp esi, dword [0x40f768]
jne 0x4028f0
mov byte [ebp - 0x851], 0
mov ecx, dword [ebp - 0x83c]
cmp ecx, 7
jbe 0x4029d1
mov edx, dword [ebp - 0x850]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x4029be
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x4029be
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
mov byte [ebp - 0x851], 1
jmp 0x40297d
push ecx
push edx
call fcn.00406ce2
add esp, 8
jmp 0x4029d1
mov byte [ebp - 0x851], 0
lea ecx, [ebp - 0x838]
call fcn.00403c20
mov al, byte [ebp - 0x851]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.0040685e
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret