Function at 0x10022a16
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1006596d
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x1ac
movzx eax, byte [ebp + 0xc]
test eax, eax
je 0x10022a76
lea eax, [ebp + 8]
mov dword [ebp - 0xe8], eax
mov eax, dword [ebp - 0xe8]
movzx eax, byte [eax]
test eax, eax
je 0x10022a5f
push 0xe7
call dword [sym.imp.USER32.dll_GetSystemMetrics]
jmp 0x10022a71
push 0xae
push 0
push 0x156
call dword [sym.imp.USER32.dll_GetClassNameW]
jmp 0x1002348f
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0xe4], eax
lea eax, [ebp + 0x1c]
mov dword [ebp - 0xfc], eax
mov eax, dword [ebp + 0x18]
mov dword [ebp - 0xec], eax
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0xc4], eax
mov eax, dword [ebp - 0xfc]
movzx eax, byte [eax]
test eax, eax
je 0x1002342f
mov eax, dword [ebp - 0xc4]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x44]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x44]
mov ecx, dword [ecx]
movzx ecx, word [ecx + 0x14]
lea eax, [eax + ecx + 0x18]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x138], 0xfffffff6
push 0x4ea0
push 0
push 0xbd4
push 0x7ce2
push 0x3785
push 0x286b
call fcn.10023dae
add esp, 0x18
mov byte [ebp - 0x28], 0
movzx eax, byte [ebp - 0x28]
test eax, eax
je 0x10022b1a
push 1
push 1
push 0x6811
push 0
push 0x6834
call fcn.100132cb
add esp, 0x14
and dword [ebp - 0x58], 0
jmp 0x10022b30
mov eax, dword [ebp - 0x58]
inc eax
mov dword [ebp - 0x58], eax
mov eax, dword [ebp - 0x1c]
add eax, 0x28
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x44]
mov eax, dword [eax]
movzx eax, word [eax + 6]
cmp dword [ebp - 0x58], eax
jge 0x1002342d
mov dword [ebp - 0x14], 1
mov dword [ebp - 0x104], 0x2413
cmp dword [ebp - 0x104], 0x976
jge 0x10022c5f
lea eax, [ebp - 0x150]
push eax
push 0x10007acc
call fcn.1004d62b
pop ecx
pop ecx
lea eax, [ebp - 0x1b8]
push eax
push 0x10007c30
call fcn.1004d62b
pop ecx
pop ecx
and dword [ebp - 0x10], 0
and dword [ebp - 0x20], 0
jmp 0x10022b9a
mov eax, dword [ebp - 0x10]
inc eax
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
movsx eax, byte [ebp + eax - 0x1b8]
test eax, eax
je 0x10022c54
mov eax, dword [ebp - 0x10]
movsx eax, byte [ebp + eax - 0x1b8]
test eax, eax
je 0x10022bdc
mov eax, dword [ebp - 0x10]
movsx eax, byte [ebp + eax - 0x1b8]
cmp eax, 0x30
jne 0x10022bdc
mov eax, dword [ebp - 0x20]
inc eax
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x10]
inc eax
mov dword [ebp - 0x10], eax
jmp 0x10022bad
cmp dword [ebp - 0x20], 1
jle 0x10022c02
and dword [ebp - 0x60], 0
jmp 0x10022bef
mov eax, dword [ebp - 0x60]
inc eax
mov dword [ebp - 0x60], eax
mov eax, dword [ebp - 0x20]
dec eax
cmp dword [ebp - 0x60], eax
jge 0x10022c02
push 0x30
call fcn.1004e529
pop ecx
jmp 0x10022be8
and dword [ebp - 0x20], 0
mov eax, dword [ebp - 0x10]
movsx eax, byte [ebp + eax - 0x1b8]
test eax, eax
je 0x10022c35
mov eax, dword [ebp - 0x10]
movsx eax, byte [ebp + eax - 0x1b8]
cmp eax, 0x31
jne 0x10022c35
mov eax, dword [ebp - 0x20]
inc eax
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x10]
inc eax
mov dword [ebp - 0x10], eax
jmp 0x10022c06
mov eax, dword [ebp - 0x10]
dec eax
mov dword [ebp - 0x10], eax
push dword [ebp - 0x20]
push 0x10007acc
call fcn.1004dfbc
pop ecx
pop ecx
and dword [ebp - 0x20], 0
jmp 0x10022b93
push 0x10007a39
call fcn.1004e532
pop ecx
mov dword [ebp - 0x10c], 0xa98ceef9
mov dword [ebp - 0x3c], 0
jmp 0x10022c79
mov eax, dword [ebp - 0x3c]
inc eax
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x3c], 2
jge 0x10022c8f
mov eax, dword [ebp - 0x3c]
mov dword [ebp + eax*4 - 0x140], 0x9c23edb3
jmp 0x10022c72
mov eax, dword [ebp - 0x14]
add eax, 0xffff
cmp eax, 0x7cb3
jg 0x10022caa
mov dword [ebp - 0x8c], 1
jmp 0x10022cb1
and dword [ebp - 0x8c], 0
mov eax, dword [ebp - 0x8c]
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x14], 0
jmp 0x10022cca
mov eax, dword [ebp - 0x14]
dec eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0xffffffe6
jne 0x10022df7
mov dword [ebp - 0xa0], 0xade0980d
mov dword [ebp - 0x50], 0
jmp 0x10022cee
mov eax, dword [ebp - 0x50]
inc eax
mov dword [ebp - 0x50], eax
cmp dword [ebp - 0x50], 3
jge 0x10022d04
mov eax, dword [ebp - 0x50]
mov dword [ebp + eax*4 - 0x124], 0x6ab2
jmp 0x10022ce7
cmp dword [ebp - 0x14], 0
je 0x10022d0f
jmp 0x10022df7
push 4
pop eax
imul eax, eax, 0
cmp dword [ebp + eax - 0x124], 0x64ba
jne 0x10022d2e
mov dword [ebp - 0x88], 1
jmp 0x10022d35
and dword [ebp - 0x88], 0
push 4
pop eax
imul eax, eax, 0
mov ecx, dword [ebp - 0x14]
cmp dword [ebp + eax - 0x124], ecx
je 0x10022d56
cmp dword [ebp - 0x14], 0
je 0x10022d56
mov dword [ebp - 0x80], 1
jmp 0x10022d5a
and dword [ebp - 0x80], 0
cmp dword [ebp - 0x80], 0x213af72b
jg 0x10022d6f
mov dword [ebp - 0xa8], 1
jmp 0x10022d76
and dword [ebp - 0xa8], 0
mov eax, dword [ebp - 0x14]
cmp dword [ebp - 0xa8], eax
jle 0x10022d8d
mov dword [ebp - 0x90], 1
jmp 0x10022d94
and dword [ebp - 0x90], 0
mov eax, dword [ebp - 0x88]
mov dword [ebp - 0xa0], eax
push 4
pop eax
shl eax, 0
mov ecx, dword [ebp - 0xa0]
add ecx, dword [ebp - 0x90]
imul ecx, dword [ebp + eax - 0x124]
sub ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
sub eax, ecx
imul eax, eax, 0xa369
test eax, eax
jne 0x10022dd5
mov dword [ebp - 0x70], 1
jmp 0x10022dd9
and dword [ebp - 0x70], 0
push 4
pop eax
shl eax, 0
mov ecx, dword [ebp - 0x70]
mov dword [ebp + eax - 0x140], ecx
mov eax, dword [ebp - 0x70]
mov dword [ebp - 0x10c], eax
jmp 0x10022cc3
mov dword [ebp - 0x158], 1
mov byte [ebp - 0x27], 0
movzx eax, byte [ebp - 0x27]
test eax, eax
je 0x10022e1b
push 0
push 0x52f1
call fcn.10024814
pop ecx
pop ecx
mov byte [ebp - 0x25], 0
push 0
push 0x5fa8
push 1
push 0x4c94
push 0x42a3
push 1
lea eax, [ebp - 0x25]
push eax
push 0xeb2
push 0x6cb1
push 0x3993
call fcn.1000c0b2
add esp, 0x28
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x24]
and eax, 0x20000000
je 0x10022e68
mov dword [ebp - 0xb0], 1
jmp 0x10022e6f
and dword [ebp - 0xb0], 0
mov eax, dword [ebp - 0xb0]
mov dword [ebp - 0xcc], eax
push 0x1127
push 0x741e
push 0
push 0x26b7
push 1
push 0x3c50
call fcn.100183c4
add esp, 0x18
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x24]
and eax, 0x40000000
je 0x10022eb4
mov dword [ebp - 0x98], 1
jmp 0x10022ebb
and dword [ebp - 0x98], 0
mov eax, dword [ebp - 0x98]
mov dword [ebp - 0xd4], eax
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x24]
and eax, 0x80000000
je 0x10022edd
mov dword [ebp - 0x7c], 1
jmp 0x10022ee1
and dword [ebp - 0x7c], 0
mov eax, dword [ebp - 0x7c]
mov dword [ebp - 0xd0], eax
mov dword [ebp - 0x34], 0x52cb1363
push 0x7012
push 0
lea eax, [ebp - 0x34]
push eax
push 0x4cc2
call fcn.10023c5a
add esp, 0x10
mov dword [ebp - 0x34], 0
jmp 0x10022f19
mov eax, dword [ebp - 0x34]
dec eax
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], 0xffffffe7
jge 0x10022f4b
mov byte [ebp - 0x26], 0
movzx eax, byte [ebp - 0x26]
test eax, eax
je 0x10022f49
push 0xe0a
push 0
push 0x5055
push 0x54a9
push 0x36ca
call fcn.1001e05f
add esp, 0x14
jmp 0x10022f12
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x24]
and eax, 0x2000000
je 0x10022fd3
push 0x4000
mov eax, dword [ebp - 0x1c]
push dword [eax + 0x10]
mov eax, dword [ebp - 0x1c]
push dword [eax + 8]
push 0xb78e
push 0x98fc
call fcn.100352d3
pop ecx
pop ecx
call eax
mov dword [ebp - 0x48], 0xfffffff8
mov dword [ebp - 0x48], 0xffffffe6
jmp 0x10022f93
mov eax, dword [ebp - 0x48]
inc eax
mov dword [ebp - 0x48], eax
cmp dword [ebp - 0x48], 0xfffffffb
jl 0x10022fce
mov dword [ebp - 0x40], 0xffffffff
mov dword [ebp - 0x40], 0
jmp 0x10022fb0
mov eax, dword [ebp - 0x40]
inc eax
mov dword [ebp - 0x40], eax
cmp dword [ebp - 0x40], 4
jne 0x10022fcc
push 0x769b
push 0
push 0x1eed
call fcn.10018574
add esp, 0xc
jmp 0x10022fa9
jmp 0x10022f8c
jmp 0x10022b20
lea eax, [ebp - 0xc8]
push eax
lea eax, [ebp - 0x1c]
push eax
push 1
push 0
lea eax, [ebp - 0xcc]
push eax
push 1
lea eax, [ebp - 0xd0]
push eax
lea eax, [ebp - 0xd4]
push eax
call fcn.1000c813
add esp, 0x20
push 0
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0xb4]
push eax
lea eax, [ebp - 0x44]
push eax
call fcn.100135e2
add esp, 0x10
push 4
lea ecx, [ebp - 0xe0]
call fcn.10028987
and dword [ebp - 4], 0
mov dword [ebp - 0x30], 0xee76f502
mov dword [ebp - 0x160], 0xcd430964
mov dword [ebp - 0x144], 0x8ab9c279
mov dword [ebp - 0x148], 0x787d6364
mov dword [ebp - 0x154], 4
mov dword [ebp - 0x4c], 0
jmp 0x1002306a
mov eax, dword [ebp - 0x4c]
inc eax
mov dword [ebp - 0x4c], eax
cmp dword [ebp - 0x4c], 4
jge 0x10023086
push dword [ebp - 0x4c]
lea ecx, [ebp - 0xe0]
call fcn.10028a8b
mov dword [eax], 0xfffffffa
jmp 0x10023063
mov dword [ebp - 0x30], 3
jmp 0x10023096
mov eax, dword [ebp - 0x30]
dec eax
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], 0
jl 0x100233e4
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x74], 0xfff9
mov dword [ebp - 0x24], 0
jmp 0x100230be
mov eax, dword [ebp - 0x24]
inc eax
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 2
jge 0x100230d4
mov eax, dword [ebp - 0x24]
mov dword [ebp + eax*4 - 0x168], 0x7008b15e
jmp 0x100230b7
mov dword [ebp - 0x24], 0
jmp 0x100230e4
mov eax, dword [ebp - 0x24]
inc eax
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 3
jge 0x100230fa
mov eax, dword [ebp - 0x24]
mov dword [ebp + eax*4 - 0x118], 1
jmp 0x100230dd
mov dword [ebp - 0x18], 0
jmp 0x1002310a
mov eax, dword [ebp - 0x18]
inc eax
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 4
jge 0x10023126
push dword [ebp - 0x18]
lea ecx, [ebp - 0xe0]
call fcn.10028a8b
mov dword [eax], 0xd3b3152c
jmp 0x10023103
mov dword [ebp - 0x18], 0
jmp 0x10023136
mov eax, dword [ebp - 0x18]
inc eax
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 3
jg 0x100233df
mov dword [ebp - 0xf0], 6
mov dword [ebp - 0x108], 0
mov dword [ebp - 0x14c], 0x33a4d1b4
mov dword [ebp - 0xf8], 0x2359
cmp dword [ebp - 0xf8], 0x8a9
jge 0x1002327d
lea eax, [ebp - 0x64]
push eax
lea eax, [ebp - 0xb8]
push eax
push 0x10007b20
call fcn.1004d62b
add esp, 0xc
cmp eax, 2
jne 0x1002327d
push 0x60
push 0
push 0x10689580
call fcn.10035533
add esp, 0xc
xor eax, eax
inc eax
imul eax, eax, 0
mov byte [eax + 0x10689580], 1
and dword [ebp - 0x68], 0
jmp 0x100231c4
mov eax, dword [ebp - 0x68]
inc eax
mov dword [ebp - 0x68], eax
mov eax, dword [ebp - 0x68]
cmp eax, dword [ebp - 0xb8]
jge 0x10023220
lea eax, [ebp - 0x5c]
push eax
push 0x10007acc
call fcn.1004d62b
pop ecx
pop ecx
and dword [ebp - 0x2c], 0
jmp 0x100231ec
mov eax, dword [ebp - 0x2c]
inc eax
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
add eax, dword [ebp - 0x5c]
cmp eax, dword [ebp - 0x64]
jg 0x1002321e
mov eax, dword [ebp - 0x2c]
add eax, dword [ebp - 0x5c]
movzx eax, byte [eax + 0x10689580]
mov ecx, dword [ebp - 0x2c]
movzx ecx, byte [ecx + 0x10689580]
or eax, ecx
mov ecx, dword [ebp - 0x2c]
add ecx, dword [ebp - 0x5c]
mov byte [ecx + 0x10689580], al
jmp 0x100231e5
jmp 0x100231bd
mov eax, dword [ebp - 0x64]
movzx eax, byte [eax + 0x10689580]
test eax, eax
jne 0x1002323b
push 0x10007cf0
call fcn.1004e532
pop ecx
jmp 0x10023278
and dword [ebp - 0x6c], 0
mov dword [ebp - 0x54], 1
jmp 0x1002324f
mov eax, dword [ebp - 0x54]
inc eax
mov dword [ebp - 0x54], eax
mov eax, dword [ebp - 0x54]
cmp eax, dword [ebp - 0x64]
jg 0x10023269
mov eax, dword [ebp - 0x54]
movzx eax, byte [eax + 0x10689580]
add eax, dword [ebp - 0x6c]
mov dword [ebp - 0x6c], eax
jmp 0x10023248
push dword [ebp - 0x6c]
push 0x10007b04
call fcn.1004dfbc
pop ecx
pop ecx
jmp 0x10023178
mov dword [ebp - 0x134], 0x796d402d
mov dword [ebp - 0x130], 0x796d402d
mov dword [ebp - 0x12c], 0x796d402d
mov dword [ebp - 0x128], 0x796d402d
mov dword [ebp - 0x100], 7
push dword [ebp - 0x18]
lea ecx, [ebp - 0xe0]
call fcn.10028a8b
push 4
pop eax
imul eax, eax, 0
mov eax, dword [ebp + eax - 0x118]
push 4
pop ecx
imul ecx, ecx, 0
mov ecx, dword [ebp + ecx - 0x118]
inc ecx
push 4
pop edx
imul edx, edx, 0
mov dword [ebp + edx - 0x118], ecx
test eax, eax
je 0x1002331c
cmp dword [ebp - 0x108], 0
jne 0x100232fe
mov dword [ebp - 0x84], 1
jmp 0x10023305
and dword [ebp - 0x84], 0
mov eax, dword [ebp - 0xf0]
cmp eax, dword [ebp - 0x84]
jne 0x1002331c
mov dword [ebp - 0x78], 1
jmp 0x10023320
and dword [ebp - 0x78], 0
mov eax, dword [ebp - 0x100]
cmp dword [ebp - 0x78], eax
jle 0x10023337
mov dword [ebp - 0x94], 1
jmp 0x1002333e
and dword [ebp - 0x94], 0
push dword [ebp - 0x18]
lea ecx, [ebp - 0xe0]
call fcn.10028a8b
mov eax, dword [eax]
cmp eax, dword [ebp - 0x94]
jge 0x10023366
push 4
pop eax
imul eax, eax, 0
cmp dword [ebp + eax - 0x118], 0
jne 0x10023375
cmp dword [ebp - 0x74], 0
jne 0x10023375
and dword [ebp - 0x9c], 0
jmp 0x1002337f
mov dword [ebp - 0x9c], 1
mov eax, dword [ebp - 0x74]
cmp dword [ebp - 0x9c], eax
jl 0x10023396
mov dword [ebp - 0xa4], 1
jmp 0x1002339d
and dword [ebp - 0xa4], 0
mov eax, dword [ebp - 0xa4]
sub eax, dword [ebp - 0x30]
cmp eax, 4
jge 0x100233b7
mov dword [ebp - 0xac], 1
jmp 0x100233be
and dword [ebp - 0xac], 0
mov eax, dword [ebp - 0xac]
neg eax
push 4
pop ecx
shl ecx, 1
mov dword [ebp + ecx - 0x134], eax
cmp dword [ebp - 0x74], 0
je 0x100233da
jmp 0x100233df
jmp 0x1002312f
jmp 0x1002308f
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xe0]
call fcn.10028a60
cmp dword [ebp - 0xb4], 0
jbe 0x10023428
lea eax, [ebp - 0x15c]
push eax
push dword [ebp - 0xc8]
push dword [ebp - 0xb4]
mov eax, dword [ebp - 0x1c]
push dword [eax + 8]
push 0xb78e
push 0xaa74
call fcn.100352d3
pop ecx
pop ecx
call eax
jmp 0x10022b20
jmp 0x1002348f
mov eax, dword [ebp - 0xe4]
mov dword [ebp - 0xf4], eax
mov eax, dword [ebp - 0xec]
mov dword [ebp - 0xbc], eax
mov eax, dword [ebp - 0xf4]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0xbc]
mov dword [ebp - 0xc0], eax
mov eax, dword [ebp - 0x38]
mov dword [eax], 0
jmp 0x10023472
mov eax, dword [ebp - 0x38]
mov eax, dword [eax]
inc eax
mov ecx, dword [ebp - 0x38]
mov dword [ecx], eax
mov eax, dword [ebp - 0x38]
cmp dword [eax], 3
jge 0x1002348f
mov eax, dword [ebp - 0x38]
push dword [eax]
mov ecx, dword [ebp - 0xc0]
call fcn.10028a8b
or dword [eax], 0xffffffff
jmp 0x10023467
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret