Function at 0x1002cfed
Capabilities:
Accept command line arguments
Check os version
Enumerate gui resources
Get common file path
Get disk size
Get file size
Get file system object information
Get graphical window text
Get session user name
Log keystrokes via polling
Parse pe header
Query or enumerate registry key
Read .ini file

Disassembly:
mov eax, 0x10080dd3
call fcn.1007f4d8
mov eax, 0x1564
call fcn.1007ac00
xor eax, eax
mov dword [ebp - 0x14], 6
push ebx
mov byte [ebp - 0x31], al
push esi
push edi
mov byte [ebp - 0x81], dl
mov dword [ebp - 0x4c], ecx
cmp byte [ebp - 0x31], al
je 0x1002d028
push eax
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
xor eax, eax
mov edi, dword [sym.imp.USER32.dll_GetDesktopWindow]
mov dword [ebp - 0x14], 0xfffffff6
jmp 0x1002d069
mov byte [ebp - 0x31], al
cmp byte [ebp - 0x31], 0
je 0x1002d04c
push eax
push eax
push eax
push eax
call dword [sym.imp.KERNEL32.dll_EnumResourceNamesW]
xor eax, eax
mov byte [ebp - 0x31], al
cmp byte [ebp - 0x31], 0
je 0x1002d066
push eax
push 0xa67
call edi
push eax
call dword [sym.imp.USER32.dll_SetDlgItemTextW]
xor eax, eax
dec dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0xffffffea
je 0x1002d037
mov dword [ebp - 0x24], 0x25b9b55b
mov dword [ebp - 0x38], 8
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 4
jge 0x1002d09f
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x14ec], 0x8935
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 4
jl 0x1002d086
xor eax, eax
push 1
mov dword [ebp - 0x24], 0xffffffe4
pop ebx
jmp 0x1002d0dc
mov dword [ebp - 0x14], 0x417be18
mov dword [ebp - 0x14], eax
jmp 0x1002d0d0
mov byte [ebp - 0x31], al
cmp byte [ebp - 0x31], 0
je 0x1002d0cd
push eax
push eax
call edi
push eax
call dword [sym.imp.USER32.dll_SetPropA]
xor eax, eax
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jle 0x1002d0b7
mov dword [ebp - 0x38], ebx
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 0xffffffee
jl 0x1002d0ab
mov ecx, 0xe91a049f
mov dword [ebp - 0xcc], ecx
mov dword [ebp - 0xc8], ecx
mov dword [ebp - 0xc4], ecx
mov dword [ebp - 0xc0], ecx
or ecx, 0xffffffff
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x28], eax
jmp 0x1002d120
mov byte [ebp - 0x31], al
cmp byte [ebp - 0x31], 0
je 0x1002d11d
push eax
push eax
call dword [sym.imp.KERNEL32.dll_GetFileSize]
xor eax, eax
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], 3
jle 0x1002d10a
mov dword [ebp - 0x28], eax
jmp 0x1002d14a
mov byte [ebp - 0x31], al
cmp byte [ebp - 0x31], 0
je 0x1002d147
push 0x1545
push 0x2085
push eax
call dword [sym.imp.USER32.dll_DeleteMenu]
xor eax, eax
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], 3
jle 0x1002d12b
mov dword [ebp - 0x2c], 0x5464b5f5
mov dword [ebp - 0x30], 0xfffffff7
push 2
pop esi
cmp dword [ebp - 0x2c], eax
je 0x1002d17b
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x44], 0xa2c7c8a6
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x44], eax
jmp 0x1002d277
mov dword [ebp - 0x24], 0xffb91e60
mov dword [ebp - 0x44], 0x9d8d9242
mov dword [ebp - 0x28], 0x1b16eb2d
mov dword [ebp - 0x44], 0xa0148014
mov dword [ebp - 0x44], 0xbe6286c8
mov dword [ebp - 0x38], 0xfffffffe
mov dword [ebp - 0x44], esi
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 4
jge 0x1002d1ca
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x13f8], 0xac92d14b
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 4
jl 0x1002d1b1
xor eax, eax
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], 0x19
jl 0x1002d250
mov dword [ebp - 0x18], eax
xor edx, edx
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x28], eax
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x44]
cmp eax, ecx
setge dl
xor ecx, ecx
mov dword [ebp - 0x44], edx
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x30]
test eax, eax
sets cl
mov dword [ebp - 0x44], ecx
mov eax, dword [ebp - 0x44]
imul eax, dword [ebp - 0x30]
test eax, eax
jne 0x1002d22a
cmp dword [ebp - 0x13f0], eax
je 0x1002d22c
mov eax, ebx
xor ecx, ecx
cmp eax, 0x634
mov eax, dword [ebp - 0x2c]
sete cl
sub eax, ecx
sub eax, dword [ebp - 0x18]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x18]
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], 0x19
push 0
pop eax
jge 0x1002d1d3
mov dword [ebp - 0x28], eax
jmp 0x1002d271
mov byte [ebp - 0x31], al
cmp byte [ebp - 0x31], 0
je 0x1002d26e
push 0x9df
call edi
push eax
call dword [sym.imp.USER32.dll_GetWindowLongA]
xor eax, eax
dec dword [ebp - 0x28]
cmp dword [ebp - 0x28], 0xffffffe3
jg 0x1002d255
xor eax, eax
mov dword [ebp - 0x18], 0xffff
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], esi
jge 0x1002d2a0
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x178], 0xfffffffb
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], esi
jl 0x1002d288
xor eax, eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], ebx
jge 0x1002d2bc
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x90], ebx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ebx
jl 0x1002d2a8
xor eax, eax
mov dword [ebp - 0x174], 0xe0648261
mov dword [ebp - 0x90], ebx
cmp dword [ebp - 0x90], eax
jl 0x1002d376
mov dword [ebp - 0x38], 9
xor edx, edx
mov dword [ebp - 0x44], 0xd1cb6a7f
mov eax, dword [ebp - 0x90]
push 1
mov eax, dword [ebp + eax*4 - 0x178]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x90]
mov eax, dword [ebp + eax*4 - 0x178]
mov eax, dword [ebp - 0x174]
mov eax, dword [ebp - 0x90]
mov eax, dword [ebp - 0x90]
mov eax, dword [ebp + eax*4 - 0x178]
cmp eax, ebx
mov eax, dword [ebp - 0x44]
setge dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x18]
setge cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x90]
setl dl
xor ebx, ebx
mov eax, dword [ebp + eax*4 - 0x178]
cmp eax, edx
mov eax, dword [ebp - 0x90]
setl bl
xor ecx, ecx
mov eax, dword [ebp + eax*4 - 0x178]
cmp ebx, eax
pop ebx
setne cl
mov dword [ebp - 0x174], ecx
dec dword [ebp - 0x90]
jns 0x1002d2d8
xor eax, eax
movdqa xmm0, xmmword [0x10007f60]
lea ecx, [ebp - 0x1398]
mov dword [ebp - 0x3c], eax
lea eax, [ebp - 0x10bc]
push eax
lea eax, [ebp - 0x10cc]
push eax
movdqu xmmword [ebp - 0x10cc], xmm0
call fcn.1001642f
lea ecx, [ebp - 0x207]
mov esi, eax
call fcn.100091d3
push eax
push dword [esi + 4]
lea ecx, [ebp - 0x424]
push dword [esi]
call fcn.100163de
xor eax, eax
or ecx, 0xffffffff
mov dword [ebp - 4], eax
mov dword [ebp - 0x18], ecx
lea ecx, [ebp - 0x424]
push eax
call fcn.10016420
mov dword [eax], 0xffffffea
jmp 0x1002d404
xor eax, eax
mov byte [ebp - 0x31], al
cmp byte [ebp - 0x31], al
je 0x1002d3f6
push 0x1d6c
call dword [sym.imp.USER32.dll_GetSystemMetrics]
xor eax, eax
push eax
lea ecx, [ebp - 0x424]
call fcn.10016420
inc dword [eax]
xor eax, eax
lea ecx, [ebp - 0x424]
push eax
call fcn.10016420
cmp dword [eax], 0xfffffff5
jle 0x1002d3df
mov ebx, dword [sym.imp.USER32.dll_GetDC]
xor eax, eax
mov dword [ebp - 0x18], 3
cmp dword [ebp - 0x18], eax
jl 0x1002d573
mov dword [ebp - 0x30], 0xef6b8f3d
mov byte [ebp - 0x31], al
cmp byte [ebp - 0x31], 0
je 0x1002d457
push 0x266c
push 0x2505
call edi
push eax
call ebx
push eax
call dword [sym.imp.GDI32.dll_LineTo]
xor eax, eax
mov dword [ebp - 0x30], 3
cmp dword [ebp - 0x30], eax
jl 0x1002d56a
mov dword [ebp - 0x24], 0xd29729c
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 3
jg 0x1002d538
push 4
lea ecx, [ebp - 0x344]
call fcn.10016382
xor eax, eax
inc eax
mov byte [ebp - 4], al
xor eax, eax
mov dword [ebp - 0x14], eax
jmp 0x1002d4a6
push dword [ebp - 0x14]
call fcn.10016420
mov dword [eax], 0x7597a61e
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 4
lea ecx, [ebp - 0x344]
jl 0x1002d495
push 3
call fcn.10016420
push 3
pop ecx
push ecx
mov dword [eax], ecx
jmp 0x1002d506
push 3
call fcn.10016420
lea ecx, [ebp - 0x424]
push dword [eax]
call fcn.10016420
push 3
lea ecx, [ebp - 0x344]
mov esi, eax
call fcn.10016420
lea ecx, [ebp - 0x424]
push dword [eax]
call fcn.10016420
mov ecx, dword [esi]
push 3
mov dword [eax], ecx
lea ecx, [ebp - 0x344]
call fcn.10016420
push 3
dec dword [eax]
lea ecx, [ebp - 0x344]
call fcn.10016420
lea ecx, [ebp - 0x344]
cmp dword [eax], 0
jge 0x1002d4c1
xor eax, eax
mov byte [ebp - 4], al
cmp dword [ebp - 0x30], eax
call fcn.10016404
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 3
jle 0x1002d47b
xor eax, eax
mov byte [ebp - 0x31], al
cmp byte [ebp - 0x31], 0
je 0x1002d561
push 0x1684
push eax
push eax
push 0x5f9
push 0xc09
push eax
call edi
push eax
call ebx
push eax
call dword [sym.imp.GDI32.dll_GetDIBits]
xor eax, eax
dec dword [ebp - 0x30]
jns 0x1002d467
dec dword [ebp - 0x18]
jns 0x1002d42f
or eax, 0xffffffff
lea ecx, [ebp - 0x424]
mov dword [ebp - 4], eax
call fcn.10016404
xor ebx, ebx
or ecx, 0xffffffff
inc ebx
xor eax, eax
mov dword [ebp - 0x44], ebx
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], ebx
jge 0x1002d5ae
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0xa4], ebx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ebx
jl 0x1002d59a
xor eax, eax
push 2
mov dword [ebp - 0x1c], eax
pop esi
cmp dword [ebp - 0x1c], esi
jge 0x1002d5d1
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x102c], 0x64a11600
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], esi
jl 0x1002d5b9
xor eax, eax
mov dword [ebp - 0xa4], eax
jmp 0x1002d6bc
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x3c], 0x6a7f4ea1
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 0x3c], esi
mov dword [ebp - 0x3c], 0xcb6d64bd
mov dword [ebp - 0x3c], 0x37ae9f90
mov dword [ebp - 0x3c], 0xfffffff9
mov dword [ebp - 0x3c], 3
mov dword [ebp - 0x18], 0x9a1d127a
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], esi
jge 0x1002d635
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x13e8], 0x122d800f
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x1002d61d
xor eax, eax
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], 0xb
jne 0x1002d6b3
mov dword [ebp - 0x38], 0xf3d3
mov eax, dword [ebp - 0x38]
add eax, dword [ebp - 0xa4]
je 0x1002d67a
mov edx, dword [ebp - 0xa4]
mov eax, dword [ebp - 0x2c]
dec edx
neg edx
sbb edx, edx
xor ecx, ecx
neg edx
cmp edx, eax
setge cl
imul ecx, dword [ebp - 0x44]
sub ecx, dword [ebp - 0x2c]
add ecx, 0xca27
je 0x1002d67a
mov edx, ebx
jmp 0x1002d67e
xor eax, eax
mov edx, eax
mov eax, dword [ebp - 0xa4]
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x2c]
setl cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x44]
setg dl
xor ecx, ecx
cmp eax, edx
setge cl
mov dword [ebp - 0x1028], ecx
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], 0xb
je 0x1002d63e
xor eax, eax
or ecx, 0xffffffff
inc dword [ebp - 0x18]
dec dword [ebp - 0xa4]
cmp dword [ebp - 0xa4], 0xffffffe3
jge 0x1002d5dc
mov byte [ebp - 0x31], al
cmp byte [ebp - 0x31], 0
je 0x1002d6dc
push eax
push eax
call dword [sym.imp.USER32.dll_LoadIconA]
xor eax, eax
mov byte [ebp - 0x31], al
mov dword [ebp - 0x2c], ebx
dec dword [ebp - 0x2c]
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], 0x29
je 0x1002d763
push ebx
lea ecx, [ebp - 0xa0c]
call fcn.10016382
mov dword [ebp - 4], esi
xor eax, eax
mov dword [ebp - 0x30], 0xe31d8329
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], ebx
jge 0x1002d72c
push dword [ebp - 0x14]
lea ecx, [ebp - 0xa0c]
call fcn.10016420
mov dword [eax], 0x94a2
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jl 0x1002d70e
xor eax, eax
mov dword [ebp - 0x30], eax
jmp 0x1002d742
push dword [ebp - 0x30]
call fcn.10016420
mov dword [eax], 0xfffd
inc dword [ebp - 0x30]
lea ecx, [ebp - 0xa0c]
cmp dword [ebp - 0x30], ebx
jl 0x1002d731
or eax, 0xffffffff
mov dword [ebp - 4], eax
call fcn.10016404
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], 0x29
jne 0x1002d6ee
xor eax, eax
cmp byte [ebp - 0x31], 0
je 0x1002d775
push 0xbce
push eax
call dword [sym.imp.USER32.dll_CharUpperBuffW]
movdqa xmm0, xmmword [0x10007f20]
lea eax, [ebp - 0x10fc]
push eax
lea eax, [ebp - 0x110c]
mov dword [ebp - 0x1c], 0x324ec2e0
push eax
lea ecx, [ebp - 0x13a8]
movdqu xmmword [ebp - 0x110c], xmm0
call fcn.1001642f
lea ecx, [ebp - 0x1ee]
mov esi, eax
call fcn.100091d3
push eax
push dword [esi + 4]
lea ecx, [ebp - 0x80c]
push dword [esi]
call fcn.100163de
mov dword [ebp - 4], 3
mov dword [ebp - 0x18], 0x4e2e0f61
mov dword [ebp - 0x1c], 0xfffffffd
jmp 0x1002d9b7
mov dword [ebp - 0x30], 0xcd329b3a
lea ecx, [ebp - 0x648]
push 2
call fcn.10016382
mov byte [ebp - 4], 4
xor eax, eax
mov dword [ebp - 0x14], 5
mov dword [ebp - 0x14], eax
jmp 0x1002d81a
push dword [ebp - 0x14]
lea ecx, [ebp - 0x648]
call fcn.10016420
mov dword [eax], 0xfffffffe
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x1002d803
mov eax, dword [ebp - 0x30]
xor eax, eax
cmp dword [ebp - 0x1c], eax
jne 0x1002d82d
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
add eax, 0xe075
cmp eax, 0x70e81de9
je 0x1002d842
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x30]
xor ecx, ecx
mov eax, dword [ebp - 0x1c]
inc ecx
xor ebx, ebx
cmp eax, ecx
push ecx
lea ecx, [ebp - 0x648]
setl bl
call fcn.10016420
mov dword [eax], ebx
mov dword [ebp - 0x14], ebx
mov eax, dword [ebp - 0x14]
sub eax, dword [ebp - 0x1c]
cmp eax, dword [ebp - 0x30]
jl 0x1002d87c
xor eax, eax
cmp dword [ebp - 0x1c], eax
je 0x1002d87e
xor ebx, ebx
inc ebx
mov esi, ebx
jmp 0x1002d883
xor eax, eax
xor ebx, ebx
mov esi, eax
inc ebx
push 2
lea ecx, [ebp - 0x80c]
call fcn.10016420
xor ecx, ecx
cmp esi, 0x2589
push 2
setge cl
mov dword [eax], ecx
lea ecx, [ebp - 0x80c]
call fcn.10016420
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x1c]
neg edx
sbb edx, edx
xor ecx, ecx
neg edx
cmp edx, eax
setge cl
xor eax, eax
mov dword [ebp - 0x18], ecx
cmp dword [ebp - 0x18], eax
je 0x1002d908
or eax, 0xffffffff
xor ecx, ecx
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x44], 0x4db9bec7
mov dword [ebp - 0x38], 0xdbd3d38e
mov dword [ebp - 0x18], 0xafbcae26
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
neg edx
cmp eax, edx
setge cl
mov dword [ebp - 0x44], ecx
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x38], eax
jmp 0x1002d9a5
mov dword [ebp - 0x18], 0xb25bb54a
lea ecx, [ebp - 0x648]
mov dword [ebp - 0x38], 0xaef1792f
mov eax, dword [ebp - 0x14]
push ebx
call fcn.10016420
push ebx
lea ecx, [ebp - 0x648]
call fcn.10016420
mov esi, dword [ebp - 0x14]
lea ecx, [ebp - 0x80c]
push 2
sub esi, dword [eax]
neg esi
sbb esi, esi
inc esi
call fcn.10016420
mov ecx, dword [eax]
mov eax, dword [ebp - 0x14]
imul ecx, esi
sub ecx, eax
mov dword [ebp - 0x18], ecx
jne 0x1002d960
xor eax, eax
cmp dword [ebp - 0x18], eax
je 0x1002d967
jmp 0x1002d962
xor eax, eax
cmp dword [ebp - 0x18], eax
jne 0x1002d96a
mov eax, dword [ebp - 0x18]
push 2
lea ecx, [ebp - 0x80c]
call fcn.10016420
push ebx
lea ecx, [ebp - 0x648]
call fcn.10016420
imul eax, dword [eax], 0xfffffffb
cmp eax, 0xffff
sbb eax, eax
xor edx, edx
inc eax
cmp eax, 0x15e
mov eax, dword [ebp - 0x30]
setge dl
xor ecx, ecx
cmp edx, eax
setle cl
mov dword [ebp - 0x38], ecx
lea ecx, [ebp - 0x648]
mov byte [ebp - 4], 3
call fcn.10016404
dec dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0xffffffe7
jge 0x1002d7dd
xor eax, eax
mov byte [ebp - 0x31], al
cmp byte [ebp - 0x31], al
je 0x1002d9d3
push eax
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameA]
or eax, 0xffffffff
lea ecx, [ebp - 0x80c]
mov dword [ebp - 4], eax
call fcn.10016404
mov ebx, dword [sym.imp.GDI32.dll_ExtCreatePen]
xor eax, eax
mov byte [ebp - 0x31], al
mov esi, 0x1565
cmp byte [ebp - 0x31], al
je 0x1002da0a
push eax
push esi
push eax
push 0xa33
push 0x180b
call ebx
xor eax, eax
mov dword [ebp - 0x3c], eax
mov byte [ebp - 0x31], al
cmp byte [ebp - 0x31], 0
je 0x1002da24
push 0xbce
push eax
call dword [sym.imp.USER32.dll_CharUpperBuffW]
xor eax, eax
mov byte [ebp - 0x31], al
cmp byte [ebp - 0x31], 0
je 0x1002da3e
push eax
push esi
push eax
push 0xa33
push 0x180b
call ebx
xor eax, eax
mov dword [ebp - 0x3c], eax
mov byte [ebp - 0x31], al
cmp byte [ebp - 0x31], 0
je 0x1002da58
push 0xbce
push eax
call dword [sym.imp.USER32.dll_CharUpperBuffW]
xor eax, eax
mov byte [ebp - 0x31], al
cmp byte [ebp - 0x31], 0
je 0x1002da70
push eax
push esi
push eax
push 0xa33
push 0x180b
call ebx
movdqa xmm0, xmmword [0x10007f20]
lea eax, [ebp - 0x125c]
push eax
lea eax, [ebp - 0x126c]
mov dword [ebp - 0x1c], 0x324ec2e0
push eax
lea ecx, [ebp - 0x1448]
movdqu xmmword [ebp - 0x126c], xmm0
call fcn.1001642f
lea ecx, [ebp - 0x1fd]
mov esi, eax
call fcn.100091d3
push eax
push dword [esi + 4]
lea ecx, [ebp - 0x740]
push dword [esi]
call fcn.100163de
mov dword [ebp - 4], 5
mov dword [ebp - 0x18], 0x4e2e0f61
mov dword [ebp - 0x1c], 0xfffffffd
jmp 0x1002dcb2
mov dword [ebp - 0x30], 0xcd329b3a
lea ecx, [ebp - 0x5a0]
push 2
call fcn.10016382
mov byte [ebp - 4], 6
xor eax, eax
mov dword [ebp - 0x14], 5
mov dword [ebp - 0x14], eax
jmp 0x1002db15
push dword [ebp - 0x14]
lea ecx, [ebp - 0x5a0]
call fcn.10016420
mov dword [eax], 0xfffffffe
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x1002dafe
mov eax, dword [ebp - 0x30]
xor eax, eax
cmp dword [ebp - 0x1c], eax
jne 0x1002db28
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
add eax, 0xe075
cmp eax, 0x70e81de9
je 0x1002db3d
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x30]
xor ecx, ecx
mov eax, dword [ebp - 0x1c]
inc ecx
xor ebx, ebx
cmp eax, ecx
push ecx
lea ecx, [ebp - 0x5a0]
setl bl
call fcn.10016420
mov dword [eax], ebx
mov dword [ebp - 0x14], ebx
mov eax, dword [ebp - 0x14]
sub eax, dword [ebp - 0x1c]
cmp eax, dword [ebp - 0x30]
jl 0x1002db77
xor eax, eax
cmp dword [ebp - 0x1c], eax
je 0x1002db79
xor ebx, ebx
inc ebx
mov esi, ebx
jmp 0x1002db7e
xor eax, eax
xor ebx, ebx
mov esi, eax
inc ebx
push 2
lea ecx, [ebp - 0x740]
call fcn.10016420
xor ecx, ecx
cmp esi, 0x2589
push 2
setge cl
mov dword [eax], ecx
lea ecx, [ebp - 0x740]
call fcn.10016420
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x1c]
neg edx
sbb edx, edx
xor ecx, ecx
neg edx
cmp edx, eax
setge cl
xor eax, eax
mov dword [ebp - 0x18], ecx
cmp dword [ebp - 0x18], eax
je 0x1002dc03
or eax, 0xffffffff
xor ecx, ecx
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x44], 0x4db9bec7
mov dword [ebp - 0x38], 0xdbd3d38e
mov dword [ebp - 0x18], 0xafbcae26
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
neg edx
cmp eax, edx
setge cl
mov dword [ebp - 0x44], ecx
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x38], eax
jmp 0x1002dca0
mov dword [ebp - 0x18], 0xb25bb54a
lea ecx, [ebp - 0x5a0]
mov dword [ebp - 0x38], 0xaef1792f
mov eax, dword [ebp - 0x14]
push ebx
call fcn.10016420
push ebx
lea ecx, [ebp - 0x5a0]
call fcn.10016420
mov esi, dword [ebp - 0x14]
lea ecx, [ebp - 0x740]
push 2
sub esi, dword [eax]
neg esi
sbb esi, esi
inc esi
call fcn.10016420
mov ecx, dword [eax]
mov eax, dword [ebp - 0x14]
imul ecx, esi
sub ecx, eax
mov dword [ebp - 0x18], ecx
jne 0x1002dc5b
xor eax, eax
cmp dword [ebp - 0x18], eax
je 0x1002dc62
jmp 0x1002dc5d
xor eax, eax
cmp dword [ebp - 0x18], eax
jne 0x1002dc65
mov eax, dword [ebp - 0x18]
push 2
lea ecx, [ebp - 0x740]
call fcn.10016420
push ebx
lea ecx, [ebp - 0x5a0]
call fcn.10016420
imul eax, dword [eax], 0xfffffffb
cmp eax, 0xffff
sbb eax, eax
xor edx, edx
inc eax
cmp eax, 0x15e
mov eax, dword [ebp - 0x30]
setge dl
xor ecx, ecx
cmp edx, eax
setle cl
mov dword [ebp - 0x38], ecx
lea ecx, [ebp - 0x5a0]
mov byte [ebp - 4], 5
call fcn.10016404
dec dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0xffffffe7
jge 0x1002dad8
xor eax, eax
mov byte [ebp - 0x31], al
cmp byte [ebp - 0x31], al
je 0x1002dcce
push eax
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameA]
or eax, 0xffffffff
lea ecx, [ebp - 0x740]
mov dword [ebp - 4], eax
call fcn.10016404
xor ebx, ebx
or ecx, 0xffffffff
inc ebx
xor eax, eax
mov dword [ebp - 0x44], ebx
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], ebx
jge 0x1002dd09
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0xa8], ebx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ebx
jl 0x1002dcf5
xor eax, eax
push 2
mov dword [ebp - 0x1c], eax
pop esi
cmp dword [ebp - 0x1c], esi
jge 0x1002dd2c
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0xe44], 0x64a11600
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], esi
jl 0x1002dd14
xor eax, eax
mov dword [ebp - 0xa8], eax
jmp 0x1002de17
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x3c], 0x6a7f4ea1
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 0x3c], esi
mov dword [ebp - 0x3c], 0xcb6d64bd
mov dword [ebp - 0x3c], 0x37ae9f90
mov dword [ebp - 0x3c], 0xfffffff9
mov dword [ebp - 0x3c], 3
mov dword [ebp - 0x18], 0x9a1d127a
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], esi
jge 0x1002dd90
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x1328], 0x122d800f
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x1002dd78
xor eax, eax
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], 0xb
jne 0x1002de0e
mov dword [ebp - 0x38], 0xf3d3
mov eax, dword [ebp - 0x38]
add eax, dword [ebp - 0xa8]
je 0x1002ddd5
mov edx, dword [ebp - 0xa8]
mov eax, dword [ebp - 0x2c]
dec edx
neg edx
sbb edx, edx
xor ecx, ecx
neg edx
cmp edx, eax
setge cl
imul ecx, dword [ebp - 0x44]
sub ecx, dword [ebp - 0x2c]
add ecx, 0xca27
je 0x1002ddd5
mov edx, ebx
jmp 0x1002ddd9
xor eax, eax
mov edx, eax
mov eax, dword [ebp - 0xa8]
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x2c]
setl cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x44]
setg dl
xor ecx, ecx
cmp eax, edx
setge cl
mov dword [ebp - 0xe40], ecx
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], 0xb
je 0x1002dd99
xor eax, eax
or ecx, 0xffffffff
inc dword [ebp - 0x18]
dec dword [ebp - 0xa8]
cmp dword [ebp - 0xa8], 0xffffffe3
jge 0x1002dd37
mov byte [ebp - 0x31], al
cmp byte [ebp - 0x31], 0
je 0x1002de37
push eax
push eax
call dword [sym.imp.USER32.dll_LoadIconA]
xor eax, eax
mov dword [ebp - 0x14], 6
mov byte [ebp - 0x31], al
cmp byte [ebp - 0x31], 0
je 0x1002de51
push eax
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
xor eax, eax
mov dword [ebp - 0x14], 0xfffffff6
jmp 0x1002de8c
mov byte [ebp - 0x31], al
cmp byte [ebp - 0x31], 0
je 0x1002de6f
push eax
push eax
push eax
push eax
call dword [sym.imp.KERNEL32.dll_EnumResourceNamesW]
xor eax, eax
mov byte [ebp - 0x31], al
cmp byte [ebp - 0x31], 0
je 0x1002de89
push eax
push 0xa67
call edi
push eax
call dword [sym.imp.USER32.dll_SetDlgItemTextW]
xor eax, eax
dec dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0xffffffea
je 0x1002de5a
mov ecx, 0xe91a049f
mov dword [ebp - 0xcc], ecx
mov dword [ebp - 0xc8], ecx
mov dword [ebp - 0xc4], ecx
mov dword [ebp - 0xc0], ecx
or ecx, 0xffffffff
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x28], eax
jmp 0x1002ded0
mov byte [ebp - 0x31], al
cmp byte [ebp - 0x31], 0
je 0x1002decd
push eax
push eax
call dword [sym.imp.KERNEL32.dll_GetFileSize]
xor eax, eax
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], 3
jle 0x1002deba
mov dword [ebp - 0x28], eax
jmp 0x1002defa
mov byte [ebp - 0x31], al
cmp byte [ebp - 0x31], 0
je 0x1002def7
push 0x1545
push 0x2085
push eax
call dword [sym.imp.USER32.dll_DeleteMenu]
xor eax, eax
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], 3
jle 0x1002dedb
mov dword [ebp - 0x2c], ebx
dec dword [ebp - 0x2c]
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], 0x29
je 0x1002df87
push ebx
lea ecx, [ebp - 0xbec]
call fcn.10016382
push 7
pop eax
mov dword [ebp - 4], eax
xor eax, eax
mov dword [ebp - 0x30], 0xe31d8329
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], ebx
jge 0x1002df50
push dword [ebp - 0x14]
lea ecx, [ebp - 0xbec]
call fcn.10016420
mov dword [eax], 0x94a2
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jl 0x1002df32
xor eax, eax
mov dword [ebp - 0x30], eax
jmp 0x1002df66
push dword [ebp - 0x30]
call fcn.10016420
mov dword [eax], 0xfffd
inc dword [ebp - 0x30]
lea ecx, [ebp - 0xbec]
cmp dword [ebp - 0x30], ebx
jl 0x1002df55
or eax, 0xffffffff
mov dword [ebp - 4], eax
call fcn.10016404
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], 0x29
jne 0x1002df0f
xor eax, eax
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x18], 0xffff
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], esi
jge 0x1002dfb1
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x160], 0xfffffffb
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], esi
jl 0x1002df99
xor eax, eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], ebx
jge 0x1002dfcd
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x8c], ebx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ebx
jl 0x1002dfb9
xor eax, eax
mov dword [ebp - 0x15c], 0xe0648261
mov dword [ebp - 0x8c], ebx
cmp dword [ebp - 0x8c], eax
jl 0x1002e087
mov dword [ebp - 0x38], 9
xor edx, edx
mov dword [ebp - 0x44], 0xd1cb6a7f
mov eax, dword [ebp - 0x8c]
push 1
mov eax, dword [ebp + eax*4 - 0x160]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x8c]
mov eax, dword [ebp + eax*4 - 0x160]
mov eax, dword [ebp - 0x15c]
mov eax, dword [ebp - 0x8c]
mov eax, dword [ebp - 0x8c]
mov eax, dword [ebp + eax*4 - 0x160]
cmp eax, ebx
mov eax, dword [ebp - 0x44]
setge dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x18]
setge cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x8c]
setl dl
xor ebx, ebx
mov eax, dword [ebp + eax*4 - 0x160]
cmp eax, edx
mov eax, dword [ebp - 0x8c]
setl bl
xor ecx, ecx
mov eax, dword [ebp + eax*4 - 0x160]
cmp ebx, eax
pop ebx
setne cl
mov dword [ebp - 0x15c], ecx
dec dword [ebp - 0x8c]
jns 0x1002dfe9
xor eax, eax
mov ecx, 0xe91a049f
mov dword [ebp - 0xcc], ecx
mov dword [ebp - 0xc8], ecx
mov dword [ebp - 0xc4], ecx
mov dword [ebp - 0xc0], ecx
or ecx, 0xffffffff
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x28], eax
jmp 0x1002e0c5
mov byte [ebp - 0x31], al
cmp byte [ebp - 0x31], 0
je 0x1002e0c2
push eax
push eax
call dword [sym.imp.KERNEL32.dll_GetFileSize]
xor eax, eax
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], 3
jle 0x1002e0af
mov dword [ebp - 0x28], eax
jmp 0x1002e0ec
cmp byte [ebp - 0x31], 0
je 0x1002e0e9
push 0x1545
push 0x2085
push eax
call dword [sym.imp.USER32.dll_DeleteMenu]
xor eax, eax
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], 3
mov byte [ebp - 0x31], al
jle 0x1002e0d0
mov dword [ebp - 0x18], 0xffff
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], esi
jge 0x1002e11c
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x170], 0xfffffffb
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], esi
jl 0x1002e104
xor eax, eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], ebx
jge 0x1002e138
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x98], ebx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ebx
jl 0x1002e124
xor eax, eax
mov dword [ebp - 0x16c], 0xe0648261
mov dword [ebp - 0x98], ebx
cmp dword [ebp - 0x98], eax
jl 0x1002e1f0
mov dword [ebp - 0x38], 9
xor edx, edx
mov dword [ebp - 0x44], 0xd1cb6a7f
mov eax, dword [ebp - 0x98]
push 1
mov eax, dword [ebp + eax*4 - 0x170]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x98]
mov eax, dword [ebp + eax*4 - 0x170]
mov eax, dword [ebp - 0x16c]
mov eax, dword [ebp - 0x98]
mov eax, dword [ebp - 0x98]
mov eax, dword [ebp + eax*4 - 0x170]
cmp eax, ebx
mov eax, dword [ebp - 0x44]
setge dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x18]
setge cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x98]
setl dl
xor ebx, ebx
mov eax, dword [ebp + eax*4 - 0x170]
cmp eax, edx
mov eax, dword [ebp - 0x98]
setl bl
xor ecx, ecx
mov eax, dword [ebp + eax*4 - 0x170]
cmp ebx, eax
pop ebx
setne cl
mov dword [ebp - 0x16c], ecx
dec dword [ebp - 0x98]
jns 0x1002e154
cmp byte [ebp - 0x31], 0
je 0x1002e479
movdqa xmm0, xmmword [0x10007f20]
lea eax, [ebp - 0x111c]
push eax
lea eax, [ebp - 0x112c]
mov dword [ebp - 0x1c], 0x324ec2e0
push eax
lea ecx, [ebp - 0x1340]
movdqu xmmword [ebp - 0x112c], xmm0
call fcn.1001642f
lea ecx, [ebp - 0x1f0]
mov esi, eax
call fcn.100091d3
push eax
push dword [esi + 4]
lea ecx, [ebp - 0x824]
push dword [esi]
call fcn.100163de
mov dword [ebp - 4], 8
mov dword [ebp - 0x18], 0x4e2e0f61
mov dword [ebp - 0x1c], 0xfffffffd
jmp 0x1002e43c
mov dword [ebp - 0x30], 0xcd329b3a
lea ecx, [ebp - 0x618]
push 2
call fcn.10016382
mov byte [ebp - 4], 9
xor eax, eax
mov dword [ebp - 0x14], 5
mov dword [ebp - 0x14], eax
jmp 0x1002e29f
push dword [ebp - 0x14]
lea ecx, [ebp - 0x618]
call fcn.10016420
mov dword [eax], 0xfffffffe
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x1002e288
mov eax, dword [ebp - 0x30]
xor eax, eax
cmp dword [ebp - 0x1c], eax
jne 0x1002e2b2
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
add eax, 0xe075
cmp eax, 0x70e81de9
je 0x1002e2c7
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x30]
xor ecx, ecx
mov eax, dword [ebp - 0x1c]
inc ecx
xor ebx, ebx
cmp eax, ecx
push ecx
lea ecx, [ebp - 0x618]
setl bl
call fcn.10016420
mov dword [eax], ebx
mov dword [ebp - 0x14], ebx
mov eax, dword [ebp - 0x14]
sub eax, dword [ebp - 0x1c]
cmp eax, dword [ebp - 0x30]
jl 0x1002e301
xor eax, eax
cmp dword [ebp - 0x1c], eax
je 0x1002e303
xor ebx, ebx
inc ebx
mov esi, ebx
jmp 0x1002e308
xor eax, eax
xor ebx, ebx
mov esi, eax
inc ebx
push 2
lea ecx, [ebp - 0x824]
call fcn.10016420
xor ecx, ecx
cmp esi, 0x2589
push 2
setge cl
mov dword [eax], ecx
lea ecx, [ebp - 0x824]
call fcn.10016420
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x1c]
neg edx
sbb edx, edx
xor ecx, ecx
neg edx
cmp edx, eax
setge cl
xor eax, eax
mov dword [ebp - 0x18], ecx
cmp dword [ebp - 0x18], eax
je 0x1002e38d
or eax, 0xffffffff
xor ecx, ecx
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x44], 0x4db9bec7
mov dword [ebp - 0x38], 0xdbd3d38e
mov dword [ebp - 0x18], 0xafbcae26
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
neg edx
cmp eax, edx
setge cl
mov dword [ebp - 0x44], ecx
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x38], eax
jmp 0x1002e42a
mov dword [ebp - 0x18], 0xb25bb54a
lea ecx, [ebp - 0x618]
mov dword [ebp - 0x38], 0xaef1792f
mov eax, dword [ebp - 0x14]
push ebx
call fcn.10016420
push ebx
lea ecx, [ebp - 0x618]
call fcn.10016420
mov esi, dword [ebp - 0x14]
lea ecx, [ebp - 0x824]
push 2
sub esi, dword [eax]
neg esi
sbb esi, esi
inc esi
call fcn.10016420
mov ecx, dword [eax]
mov eax, dword [ebp - 0x14]
imul ecx, esi
sub ecx, eax
mov dword [ebp - 0x18], ecx
jne 0x1002e3e5
xor eax, eax
cmp dword [ebp - 0x18], eax
je 0x1002e3ec
jmp 0x1002e3e7
xor eax, eax
cmp dword [ebp - 0x18], eax
jne 0x1002e3ef
mov eax, dword [ebp - 0x18]
push 2
lea ecx, [ebp - 0x824]
call fcn.10016420
push ebx
lea ecx, [ebp - 0x618]
call fcn.10016420
imul eax, dword [eax], 0xfffffffb
cmp eax, 0xffff
sbb eax, eax
xor edx, edx
inc eax
cmp eax, 0x15e
mov eax, dword [ebp - 0x30]
setge dl
xor ecx, ecx
cmp edx, eax
setle cl
mov dword [ebp - 0x38], ecx
lea ecx, [ebp - 0x618]
mov byte [ebp - 4], 8
call fcn.10016404
dec dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0xffffffe7
jge 0x1002e262
xor eax, eax
mov byte [ebp - 0x31], al
cmp byte [ebp - 0x31], al
je 0x1002e458
or esi, 0xffffffff
xor eax, eax
mov dword [ebp - 0x14], 6
mov byte [ebp - 0x31], al
cmp byte [ebp - 0x31], al
je 0x1002e497
push eax
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
xor eax, eax
mov dword [ebp - 0x14], 0xfffffff6
jmp 0x1002e4d2
mov byte [ebp - 0x31], al
cmp byte [ebp - 0x31], 0
je 0x1002e4b5
push eax
push eax
push eax
push eax
call dword [sym.imp.KERNEL32.dll_EnumResourceNamesW]
xor eax, eax
mov byte [ebp - 0x31], al
cmp byte [ebp - 0x31], 0
je 0x1002e4cf
push eax
push 0xa67
call edi
push eax
call dword [sym.imp.USER32.dll_SetDlgItemTextW]
xor eax, eax
dec dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0xffffffea
je 0x1002e4a0
mov dword [ebp - 0x1c], 0xfffffff9
xor edx, edx
mov dword [ebp - 0x14], 0xfffffff7
mov dword [ebp - 0x18], 0x7a329ef
mov dword [ebp - 0x38], 0x126c7f05
mov dword [ebp - 0x24], 0xa6f944dc
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x18], eax
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
cmp ecx, eax
mov eax, dword [ebp - 0x1c]
setne dl
xor ecx, ecx
cmp eax, edx
setl cl
sub ecx, dword [ebp - 0x1c]
neg ecx
sbb ecx, ecx
inc ecx
imul ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x14]
sub eax, ecx
cmp eax, dword [ebp - 0x1c]
jge 0x1002e570
xor eax, eax
mov byte [ebp - 0x31], al
cmp byte [ebp - 0x31], al
je 0x1002e64a
push 0x266c
push 0x2505
call edi
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_LineTo]
jmp 0x1002e648
xor eax, eax
mov dword [ebp - 0x3c], 0xde89b93b
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 3
jge 0x1002e59b
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x418], 0x11fb8eb5
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x1002e582
xor eax, eax
cmp dword [ebp - 0x410], eax
jne 0x1002e5b5
mov eax, dword [ebp - 0x410]
mov dword [ebp - 0x18], eax
xor eax, eax
mov ecx, eax
cmp dword [ebp - 0x18], eax
je 0x1002e5b7
mov ecx, ebx
mov eax, dword [ebp - 0x410]
xor edx, edx
imul eax, ecx
imul eax, eax, 0x8163
cmp eax, esi
mov eax, dword [ebp - 0x1c]
setl dl
xor ecx, ecx
cmp edx, eax
mov edx, dword [ebp - 0x410]
mov eax, dword [ebp - 0x410]
setne cl
sub edx, ecx
neg edx
sbb edx, edx
inc edx
sub edx, eax
mov dword [ebp - 0x14], edx
mov eax, dword [ebp - 0x38]
add eax, dword [ebp - 0x14]
mov dword [ebp - 0x24], eax
xor eax, eax
cmp dword [ebp - 0x410], eax
je 0x1002e61d
mov byte [ebp - 0x31], al
cmp byte [ebp - 0x31], al
je 0x1002e648
push eax
call edi
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_SelectClipRgn]
jmp 0x1002e648
mov dword [ebp - 0x18], 0x606e82a7
mov dword [ebp - 0x3c], esi
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x414]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x24], eax
dec dword [ebp - 0x44]
xor eax, eax
mov byte [ebp - 0x31], al
lea ecx, [ebp - 0x5b8]
mov dword [ebp - 0x1c], 4
mov dword [ebp - 0x24], 0x29bf390
push 3
call fcn.10016382
xor eax, eax
mov dword [ebp - 4], 0xa
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 3
jge 0x1002e69c
push dword [ebp - 0x14]
lea ecx, [ebp - 0x5b8]
call fcn.10016420
mov dword [eax], 0x338886a6
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x1002e67d
xor eax, eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0x12
jne 0x1002e75d
mov dword [ebp - 0x18], 0x1739
mov dword [ebp - 0x44], esi
mov dword [ebp - 0x14], 5
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x24], eax
xor eax, eax
mov dword [ebp - 0x18], 0x3e95aad8
cmp dword [ebp - 0x18], eax
je 0x1002e720
mov dword [ebp - 0x1c], 0xd
cmp dword [ebp - 0x1c], 0xa
je 0x1002e853