Function at 0x1002fd22
Capabilities:
Contain obfuscated stackstrings
Get common file path
Get disk information
Get file attributes
Identify system language via api
Parse pe header
Read .ini file
Resume thread
Set registry value
Suspend thread

Disassembly:
mov eax, 0x1007eb6b
call fcn.1007d38c
mov eax, 0x1324
call fcn.10065fd0
mov dword [ebp - 0x50], ecx
xor eax, eax
mov dword [ebp - 0x18], 0xfffd
xor ecx, ecx
push ebx
mov dword [ebp - 0x48], 0x1f916744
inc ecx
mov dword [ebp - 0x10], eax
push esi
push edi
mov byte [ebp - 0x65], dl
cmp dword [ebp - 0x10], ecx
jge 0x1002fd73
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x5c], ecx
xor eax, eax
inc dword [ebp - 0x10]
inc eax
push eax
pop ecx
cmp dword [ebp - 0x10], eax
jl 0x1002fd5a
xor ecx, ecx
xor eax, eax
inc ecx
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], ecx
jge 0x1002fd99
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x68c], 5
xor eax, eax
inc dword [ebp - 0x10]
inc eax
cmp dword [ebp - 0x10], eax
jl 0x1002fd7b
xor ecx, ecx
xor eax, eax
inc ecx
push 2
mov dword [ebp - 0x5c], 0xf
pop ebx
jmp 0x1002fe58
mov dword [ebp - 0x10], 0x197f0a2
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x48], 0xe3f36a5b
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], ecx
jge 0x1002fddc
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x1d4], 0xfffffff8
xor eax, eax
inc dword [ebp - 0x1c]
inc eax
cmp dword [ebp - 0x1c], eax
jl 0x1002fdc1
xor eax, eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], eax
jg 0x1002fe52
mov dword [ebp - 0x1c], ebx
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp + eax*4 - 0x1d4]
mov eax, dword [ebp - 0x10]
cmp dword [ebp + eax*4 - 0x1d4], 0
jne 0x1002fe2e
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x1d4], 0x20274952
mov dword [ebp - 0x34], 0x20274952
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x5c]
mov ecx, dword [ebp - 0x34]
xor edx, edx
mov eax, dword [ebp - 0x10]
cmp ecx, eax
mov eax, dword [ebp - 0x5c]
setle dl
xor ecx, ecx
cmp edx, eax
setne cl
xor eax, eax
mov dword [ebp - 0x48], ecx
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], eax
jle 0x1002fde4
inc dword [ebp - 0x5c]
push 1
pop ecx
cmp dword [ebp - 0x5c], 0x15
jle 0x1002fda8
mov eax, dword [ebp - 0x5c]
xor ecx, ecx
mov eax, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x18]
cmp eax, 0xffff9fbd
setg cl
xor edx, edx
cmp ecx, 0x6bb218ad
setle dl
mov dword [ebp - 0x68c], edx
mov eax, dword [ebp - 0x18]
add eax, edx
mov dword [ebp - 0x48], eax
xor eax, eax
mov dword [ebp - 0x28], 0xf5c184c5
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], ebx
jge 0x1002fec6
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0xcc], 0
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ebx
jl 0x1002feae
xor eax, eax
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], ebx
jge 0x1002fee6
mov eax, dword [ebp - 0x28]
mov dword [ebp + eax*4 - 0xcc], 0xd444182b
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], ebx
jl 0x1002fece
xor eax, eax
mov edi, dword [sym.imp.GDI32.dll_GetPixel]
mov ebx, dword [sym.imp.USER32.dll_GetDesktopWindow]
mov dword [ebp - 0x28], eax
jmp 0x10030058
mov dword [ebp - 0x24], 5
xor ecx, ecx
mov eax, dword [ebp - 0x28]
cmp dword [ebp + eax*4 - 0xcc], ecx
je 0x10030025
mov dword [ebp - 0x3c], 0xfffffff8
xor esi, esi
mov dword [ebp - 0x48], edx
inc esi
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp + eax*4 - 0xcc]
cmp eax, esi
setg cl
add ecx, dword [ebp - 0xc8]
je 0x1002ff41
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp + eax*4 - 0xcc]
mov eax, dword [ebp - 0x28]
xor ecx, ecx
add eax, dword [ebp - 0x28]
cmp eax, 0xad7ba966
setne cl
xor eax, eax
cmp ecx, dword [ebp - 0xcc]
jle 0x1002ff6b
cmp dword [ebp - 0xc8], eax
je 0x1002ff6b
xor esi, esi
lea ecx, [eax + 1]
inc esi
jmp 0x1002ff6d
mov ecx, eax
mov eax, dword [ebp - 0xc8]
xor eax, eax
cmp ecx, 0xe74f
setl al
or ecx, 0xffffffff
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
mov edx, dword [ebp + eax*4 - 0xcc]
mov eax, dword [ebp - 0x3c]
sub ecx, eax
xor eax, eax
cmp ecx, edx
setge al
xor ecx, ecx
imul edx, eax, 0xba4
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp + eax*4 - 0xcc]
cmp edx, eax
setl cl
xor eax, eax
cmp ecx, dword [ebp - 0xc8]
jle 0x10030004
mov dword [ebp - 0x3c], eax
jmp 0x1002fffd
mov dword [ebp - 0x24], eax
jmp 0x1002fff5
mov byte [ebp - 0x11], al
cmp byte [ebp - 0x11], 0
je 0x1002fff2
push 0x4f6
push 0x22af
call ebx
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call edi
xor eax, eax
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], esi
jle 0x1002ffd1
inc dword [ebp - 0x3c]
cmp dword [ebp - 0x3c], esi
jle 0x1002ffcc
jmp 0x1003001c
mov byte [ebp - 0x11], al
cmp byte [ebp - 0x11], al
je 0x1003001e
push eax
push eax
push 0x1762
call ebx
push eax
call dword [sym.imp.USER32.dll_GetDlgItemInt]
xor eax, eax
cmp dword [ebp - 0x48], eax
jne 0x10030055
jmp 0x10030033
mov eax, dword [ebp - 0x28]
cmp dword [ebp + eax*4 - 0xcc], ecx
jne 0x10030067
xor eax, eax
xor esi, esi
mov dword [ebp - 0x24], eax
inc esi
jmp 0x10030050
mov byte [ebp - 0x11], al
cmp byte [ebp - 0x11], 0
je 0x1003004d
push eax
call dword [sym.imp.OLEAUT32.dll_VariantClear]
xor eax, eax
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], esi
jle 0x1003003b
inc dword [ebp - 0x28]
xor eax, eax
inc eax
push 0xffffffffffffffff
pop edx
cmp dword [ebp - 0x28], eax
jle 0x1002fefa
movdqa xmm0, xmmword [0x100081b0]
lea eax, [ebp - 0xf50]
push eax
lea eax, [ebp - 0xf60]
mov dword [ebp - 0x48], edx
push eax
lea ecx, [ebp - 0x11a8]
movdqu xmmword [ebp - 0xf60], xmm0
call fcn.1001804f
lea ecx, [ebp - 0x239]
mov esi, eax
call fcn.100092c3
push eax
push dword [esi + 4]
lea ecx, [ebp - 0xdf0]
push dword [esi]
call fcn.10018015
xor eax, eax
mov dword [ebp - 4], eax
mov dword [ebp - 0x1c], 0x5ccc90a3
mov dword [ebp - 0x38], 0x3a11c157
mov dword [ebp - 0x1c], 3
cmp dword [ebp - 0x1c], eax
jl 0x100300e8
push dword [ebp - 0x1c]
lea ecx, [ebp - 0xdf0]
call fcn.10018040
cmp dword [eax], 0
jne 0x100300e8
dec dword [ebp - 0x1c]
jns 0x100300d0
or eax, 0xffffffff
lea ecx, [ebp - 0xdf0]
mov dword [ebp - 4], eax
call fcn.1001803b
xor eax, eax
inc eax
mov dword [ebp - 0x1c], eax
xor eax, eax
mov dword [ebp - 0x34], 5
mov dword [ebp - 0x3c], 0xa11015aa
push 0xfffffffffffffff7
pop ecx
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x40], 0xfffffffc
cmp dword [ebp - 0x34], eax
je 0x1003015e
mov dword [ebp - 0x1c], 0x3292
xor edx, edx
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x34]
cmp eax, ecx
setne dl
xor eax, eax
sub edx, dword [ebp - 0x1c]
cmp edx, dword [ebp - 0x34]
jne 0x10030152
cmp dword [ebp - 0x1c], eax
je 0x10030152
lea ecx, [eax + 1]
jmp 0x10030154
mov ecx, eax
xor eax, eax
cmp ecx, 0xfffffff6
sete al
jmp 0x100301b7
mov dword [ebp - 0x1c], 0xd1b7136
mov dword [ebp - 0x34], 0xfffffffe
mov dword [ebp - 0x20], ecx
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x1c]
dec eax
neg eax
sbb eax, eax
xor edx, edx
inc eax
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x40], eax
mov ecx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x3c]
cmp eax, ecx
mov esi, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x18]
setl dl
or ecx, 0xffffffff
sub esi, edx
sub ecx, eax
xor eax, eax
cmp ecx, esi
setge al
push 4
mov dword [ebp - 0x18], eax
lea ecx, [ebp - 0xf20]
pop eax
push eax
call fcn.10017fd3
xor esi, esi
xor eax, eax
inc esi
mov dword [ebp - 4], esi
push 4
mov dword [ebp - 0x1c], eax
pop edx
cmp dword [ebp - 0x1c], edx
jge 0x100301fc
push edx
pop esi
push dword [ebp - 0x1c]
lea ecx, [ebp - 0xf20]
call fcn.10018040
and dword [eax], 0
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], esi
jl 0x100301de
xor esi, esi
xor eax, eax
inc esi
mov dword [ebp - 0x38], 0xbcf5
mov dword [ebp - 0x38], 0xe072305a
push 0xfffffffffffffff7
pop ecx
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x38], esi
mov dword [ebp - 0x38], 0x2891f433
mov dword [ebp - 0x38], 0xfffffff6
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 3
jge 0x10030243
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0xc88], 0xa60c437f
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jl 0x1003022a
xor eax, eax
mov dword [ebp - 0x1c], eax
jmp 0x1003026b
mov dword [ebp - 0x38], 0x4489be67
mov dword [ebp - 0x38], 0x2dd8607f
mov dword [ebp - 0x38], 0x2449ef57
cmp dword [ebp - 0x48], eax
jne 0x10030271
inc dword [ebp - 0xc84]
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0xb
je 0x10030248
or eax, 0xffffffff
lea ecx, [ebp - 0xf20]
mov dword [ebp - 4], eax
call fcn.1001803b
or eax, 0xffffffff
lea ecx, [ebp - 0xe08]
push 4
mov dword [ebp - 0x48], eax
pop eax
mov dword [ebp - 0x1c], esi
push eax
call fcn.10017fd3
xor eax, eax
mov dword [ebp - 4], 6
push 4
mov dword [ebp - 0x1c], eax
pop edx
cmp dword [ebp - 0x1c], edx
jge 0x100302ce
push edx
pop esi
push dword [ebp - 0x1c]
lea ecx, [ebp - 0xe08]
call fcn.10018040
and dword [eax], 0
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], esi
jl 0x100302b0
xor esi, esi
xor eax, eax
inc esi
mov dword [ebp - 0x38], 0xbcf5
mov dword [ebp - 0x38], 0xe072305a
push 0xfffffffffffffff7
pop ecx
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x38], esi
mov dword [ebp - 0x38], 0x2891f433
mov dword [ebp - 0x38], 0xfffffff6
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 3
jge 0x10030315
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0xca0], 0xa60c437f
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jl 0x100302fc
xor eax, eax
mov dword [ebp - 0x1c], eax
jmp 0x1003033d
mov dword [ebp - 0x38], 0x4489be67
mov dword [ebp - 0x38], 0x2dd8607f
mov dword [ebp - 0x38], 0x2449ef57
cmp dword [ebp - 0x48], eax
jne 0x10030343
inc dword [ebp - 0xc9c]
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0xb
je 0x1003031a
or eax, 0xffffffff
lea ecx, [ebp - 0xe08]
mov dword [ebp - 4], eax
call fcn.1001803b
or eax, 0xffffffff
lea ecx, [ebp - 0xea8]
push 4
mov dword [ebp - 0x48], eax
pop eax
mov dword [ebp - 0x1c], esi
push eax
call fcn.10017fd3
xor eax, eax
mov dword [ebp - 4], 8
push 4
mov dword [ebp - 0x1c], eax
pop edx
cmp dword [ebp - 0x1c], edx
jge 0x100303a0
push edx
pop esi
push dword [ebp - 0x1c]
lea ecx, [ebp - 0xea8]
call fcn.10018040
and dword [eax], 0
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], esi
jl 0x10030382
xor esi, esi
xor eax, eax
inc esi
mov dword [ebp - 0x38], 0xbcf5
mov dword [ebp - 0x38], 0xe072305a
push 0xfffffffffffffff7
pop ecx
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x38], esi
mov dword [ebp - 0x38], 0x2891f433
mov dword [ebp - 0x38], 0xfffffff6
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 3
jge 0x100303e7
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0xcb8], 0xa60c437f
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jl 0x100303ce
xor eax, eax
mov dword [ebp - 0x1c], eax
jmp 0x1003040f
mov dword [ebp - 0x38], 0x4489be67
mov dword [ebp - 0x38], 0x2dd8607f
mov dword [ebp - 0x38], 0x2449ef57
cmp dword [ebp - 0x48], eax
jne 0x10030415
inc dword [ebp - 0xcb4]
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0xb
je 0x100303ec
or eax, 0xffffffff
lea ecx, [ebp - 0xea8]
mov dword [ebp - 4], eax
call fcn.1001803b
mov dword [ebp - 0x20], 0x24a8c6a5
xor eax, eax
mov dword [ebp - 0x1c], 5
or ecx, 0xffffffff
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], ecx
jne 0x100305c8
push esi
lea ecx, [ebp - 0x250]
call fcn.10017fd3
mov dword [ebp - 4], 0xa
xor eax, eax
mov dword [ebp - 0x48], 8
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], esi
jge 0x10030487
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0xfc], 0xfffffffb
xor eax, eax
inc dword [ebp - 0x10]
inc eax
cmp dword [ebp - 0x10], eax
jl 0x10030469
xor esi, esi
xor eax, eax
inc esi
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], esi
jge 0x100304ae
push dword [ebp - 0x10]
lea ecx, [ebp - 0x250]
call fcn.10018040
mov dword [eax], esi
xor eax, eax
inc dword [ebp - 0x10]
inc eax
push eax
pop esi
cmp dword [ebp - 0x10], eax
jl 0x1003048f
xor eax, eax
push eax
lea ecx, [ebp - 0x250]
call fcn.10018040
xor ecx, ecx
push ecx
mov dword [eax], ecx
lea ecx, [ebp - 0x250]
call fcn.10018040
cmp dword [eax], 0
jl 0x100305a6
xor eax, eax
lea ecx, [ebp - 0x250]
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x40], 0xfffffff8
push eax
call fcn.10018040
xor ecx, ecx
mov eax, dword [eax]
cmp dword [ebp + eax*4 - 0xfc], ecx
je 0x1003050f
push ecx
lea ecx, [ebp - 0x250]
call fcn.10018040
xor ecx, ecx
mov eax, dword [eax]
mov eax, dword [ebp + eax*4 - 0xfc]
push ecx
lea ecx, [ebp - 0x250]
call fcn.10018040
lea ecx, [ebp - 0x250]
mov eax, dword [eax]
mov esi, dword [ebp + eax*4 - 0xfc]
xor eax, eax
push eax
call fcn.10018040
lea ecx, [ebp - 0x250]
mov eax, dword [eax]
mov dword [ebp + eax*4 - 0xfc], esi
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x34]
xor eax, eax
push eax
call fcn.10018040
mov eax, dword [ebp - 0x20]
xor edx, edx
mov eax, dword [ebp - 0x34]
cmp eax, 6
mov eax, dword [ebp - 0x1c]
setne dl
xor ecx, ecx
cmp edx, eax
setl cl
mov dword [ebp - 0x40], ecx
cmp dword [ebp - 0x40], 0x2715
je 0x1003057a
xor eax, eax
cmp dword [ebp - 0x1c], eax
je 0x1003057d
xor eax, eax
inc eax
neg eax
lea ecx, [ebp - 0x250]
xor esi, esi
mov dword [ebp - 0x48], eax
push esi
call fcn.10018040
push esi
lea ecx, [ebp - 0x250]
dec dword [eax]
call fcn.10018040
cmp dword [eax], esi
jge 0x100304d3
or esi, 0xffffffff
lea ecx, [ebp - 0x250]
mov dword [ebp - 4], esi
call fcn.1001803b
dec dword [ebp - 0x20]
cmp dword [ebp - 0x20], esi
push 1
pop esi
je 0x10030445
xor eax, eax
mov byte [ebp - 0x11], al
cmp byte [ebp - 0x11], 0
je 0x100305dd
push eax
call ebx
push eax
call dword [sym.imp.USER32.dll_BeginPaint]
xor eax, eax
mov dword [ebp - 0x18], 0xfffd
mov dword [ebp - 0x48], 0x1f916744
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], esi
jge 0x1003060c
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x58], esi
xor eax, eax
inc dword [ebp - 0x10]
inc eax
push eax
pop esi
cmp dword [ebp - 0x10], eax
jl 0x100305f3
xor esi, esi
xor eax, eax
inc esi
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], esi
jge 0x10030632
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x644], 5
xor eax, eax
inc dword [ebp - 0x10]
inc eax
cmp dword [ebp - 0x10], eax
jl 0x10030614
xor esi, esi
xor eax, eax
inc esi
mov dword [ebp - 0x58], 0xf
jmp 0x100306f1
mov dword [ebp - 0x10], 0x197f0a2
mov dword [ebp - 0x34], esi
mov dword [ebp - 0x48], 0xe3f36a5b
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], esi
jge 0x10030675
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x254], 0xfffffff8
xor eax, eax
inc dword [ebp - 0x1c]
inc eax
cmp dword [ebp - 0x1c], eax
jl 0x10030657
xor esi, esi
xor eax, eax
inc esi
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], eax
jg 0x100306ee
push 2
pop esi
mov dword [ebp - 0x1c], esi
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp + eax*4 - 0x254]
mov eax, dword [ebp - 0x10]
cmp dword [ebp + eax*4 - 0x254], 0
jne 0x100306c7
mov eax, dword [ebp - 0x10]
mov ecx, 0x20274952
mov dword [ebp + eax*4 - 0x254], ecx
mov dword [ebp - 0x34], ecx
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x58]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x58]
mov ecx, dword [ebp - 0x34]
xor edx, edx
mov eax, dword [ebp - 0x10]
cmp ecx, eax
mov eax, dword [ebp - 0x58]
setle dl
xor ecx, ecx
cmp edx, eax
setne cl
xor eax, eax
mov dword [ebp - 0x48], ecx
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], eax
jle 0x10030680
xor esi, esi
inc esi
inc dword [ebp - 0x58]
cmp dword [ebp - 0x58], 0x15
jle 0x1003063e
mov eax, dword [ebp - 0x58]
xor ecx, ecx
mov eax, dword [ebp - 0x58]
mov eax, dword [ebp - 0x58]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x58], eax
mov eax, dword [ebp - 0x58]
mov eax, dword [ebp - 0x18]
cmp eax, 0xffff9fbd
push 2
setg cl
xor edx, edx
cmp ecx, 0x6bb218ad
pop ecx
setle dl
mov dword [ebp - 0x644], edx
mov eax, dword [ebp - 0x18]
add eax, edx
mov dword [ebp - 0x48], eax
xor eax, eax
mov dword [ebp - 0x28], 0xf5c184c5
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], ecx
jge 0x10030762
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0xb4], 0
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ecx
jl 0x1003074a
xor eax, eax
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], ecx
jge 0x10030782
mov eax, dword [ebp - 0x28]
mov dword [ebp + eax*4 - 0xb4], 0xd444182b
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], ecx
jl 0x1003076a
xor eax, eax
mov dword [ebp - 0x28], eax
jmp 0x100308eb
mov dword [ebp - 0x24], 5
xor ecx, ecx
mov eax, dword [ebp - 0x28]
cmp dword [ebp + eax*4 - 0xb4], ecx
je 0x100308b8
or eax, 0xffffffff
mov dword [ebp - 0x3c], 0xfffffff8
mov dword [ebp - 0x48], eax
xor esi, esi
mov eax, dword [ebp - 0x28]
inc esi
mov eax, dword [ebp + eax*4 - 0xb4]
cmp eax, esi
setg cl
add ecx, dword [ebp - 0xb0]
je 0x100307d4
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp + eax*4 - 0xb4]
mov eax, dword [ebp - 0x28]
xor ecx, ecx
add eax, dword [ebp - 0x28]
cmp eax, 0xad7ba966
setne cl
xor eax, eax
cmp ecx, dword [ebp - 0xb4]
jle 0x100307fe
cmp dword [ebp - 0xb0], eax
je 0x100307fe
xor esi, esi
lea ecx, [eax + 1]
inc esi
jmp 0x10030800
mov ecx, eax
mov eax, dword [ebp - 0xb0]
xor eax, eax
cmp ecx, 0xe74f
setl al
or ecx, 0xffffffff
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
mov edx, dword [ebp + eax*4 - 0xb4]
mov eax, dword [ebp - 0x3c]
sub ecx, eax
xor eax, eax
cmp ecx, edx
setge al
xor ecx, ecx
imul edx, eax, 0xba4
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp + eax*4 - 0xb4]
cmp edx, eax
setl cl
xor eax, eax
cmp ecx, dword [ebp - 0xb0]
jle 0x10030897
mov dword [ebp - 0x3c], eax
jmp 0x10030890
mov dword [ebp - 0x24], eax
jmp 0x10030888
mov byte [ebp - 0x11], al
cmp byte [ebp - 0x11], 0
je 0x10030885
push 0x4f6
push 0x22af
call ebx
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call edi
xor eax, eax
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], esi
jle 0x10030864
inc dword [ebp - 0x3c]
cmp dword [ebp - 0x3c], esi
jle 0x1003085f
jmp 0x100308af
mov byte [ebp - 0x11], al
cmp byte [ebp - 0x11], al
je 0x100308b1
push eax
push eax
push 0x1762
call ebx
push eax
call dword [sym.imp.USER32.dll_GetDlgItemInt]
xor eax, eax
cmp dword [ebp - 0x48], eax
jne 0x100308e8
jmp 0x100308c6
mov eax, dword [ebp - 0x28]
cmp dword [ebp + eax*4 - 0xb4], ecx
jne 0x100308f7
xor eax, eax
xor esi, esi
mov dword [ebp - 0x24], eax
inc esi
jmp 0x100308e3
mov byte [ebp - 0x11], al
cmp byte [ebp - 0x11], 0
je 0x100308e0
push eax
call dword [sym.imp.OLEAUT32.dll_VariantClear]
xor eax, eax
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], esi
jle 0x100308ce
inc dword [ebp - 0x28]
xor eax, eax
inc eax
cmp dword [ebp - 0x28], eax
jle 0x1003078a
movdqa xmm0, xmmword [0x100081b0]
lea eax, [ebp - 0xfd0]
push eax
lea eax, [ebp - 0xfe0]
or edi, 0xffffffff
mov dword [ebp - 0x44], edi
lea ecx, [ebp - 0x1178]
push eax
movdqu xmmword [ebp - 0xfe0], xmm0
call fcn.1001804f
lea ecx, [ebp - 0x21a]
mov esi, eax
call fcn.100092c3
push eax
push dword [esi + 4]
lea ecx, [ebp - 0xcc8]
push dword [esi]
call fcn.10018015
mov dword [ebp - 4], 0xb
xor eax, eax
mov dword [ebp - 0x1c], 0x5ccc90a3
mov dword [ebp - 0x38], 0x3a11c157
mov dword [ebp - 0x1c], 3
cmp dword [ebp - 0x1c], eax
jl 0x1003097f
push dword [ebp - 0x1c]
lea ecx, [ebp - 0xcc8]
call fcn.10018040
cmp dword [eax], 0
jne 0x1003097f
dec dword [ebp - 0x1c]
jns 0x10030967
lea ecx, [ebp - 0xcc8]
mov dword [ebp - 4], edi
call fcn.1001803b
xor eax, eax
inc eax
mov dword [ebp - 0x18], eax
xor eax, eax
mov dword [ebp - 0x34], 5
mov dword [ebp - 0x3c], 0xa11015aa
push 0xfffffffffffffff7
pop ecx
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x40], 0xfffffffc
cmp dword [ebp - 0x34], eax
je 0x100309f2
mov dword [ebp - 0x1c], 0x3292
xor edx, edx
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x34]
cmp eax, ecx
setne dl
xor eax, eax
sub edx, dword [ebp - 0x1c]
cmp edx, dword [ebp - 0x34]
jne 0x100309e6
cmp dword [ebp - 0x1c], eax
je 0x100309e6
lea ecx, [eax + 1]
jmp 0x100309e8
mov ecx, eax
xor eax, eax
cmp ecx, 0xfffffff6
sete al
jmp 0x10030a4a
mov dword [ebp - 0x1c], 0xd1b7136
mov dword [ebp - 0x34], 0xfffffffe
mov dword [ebp - 0x20], ecx
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x1c]
dec eax
neg eax
sbb eax, eax
xor edx, edx
inc eax
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x40], eax
mov ecx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x3c]
cmp eax, ecx
mov esi, dword [ebp - 0x1c]
mov ecx, edi
mov eax, dword [ebp - 0x18]
setl dl
sub ecx, eax
sub esi, edx
xor eax, eax
cmp ecx, esi
setge al
push 4
mov dword [ebp - 0x18], eax
lea ecx, [ebp - 0xe34]
pop eax
push eax
call fcn.10017fd3
mov dword [ebp - 4], 0xc
xor eax, eax
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x10], 0xe554
mov dword [ebp - 0x18], 5
mov dword [ebp - 0x48], 0xfffffff6
mov dword [ebp - 0x1c], eax
jmp 0x10030a92
mov eax, dword [ebp - 0x1c]
xor ecx, ecx
inc ecx
mov dword [ebp + eax*4 - 0x3fc], ecx
inc dword [ebp - 0x1c]
xor eax, eax
inc eax
cmp dword [ebp - 0x1c], eax
jl 0x10030a82
mov dword [ebp - 0x2c], 0x13
jmp 0x10030c35
mov dword [ebp - 0x24], edi
xor edx, edx
mov dword [ebp - 0x20], 9
mov dword [ebp - 0x1c], edi
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x2c]
cmp ecx, eax
mov esi, dword [ebp - 0x24]
mov eax, dword [ebp - 0x10]
setg dl
sub esi, edx
neg esi
sbb esi, esi
xor ecx, ecx
inc esi
cmp esi, eax
setne cl
xor eax, eax
imul ecx, dword [ebp - 0x10]
add ecx, dword [ebp - 0x24]
cmp ecx, dword [ebp - 0x2c]
jne 0x10030af1
cmp dword [ebp - 0x2c], eax
je 0x10030af1
xor esi, esi
inc esi
mov eax, esi
jmp 0x10030af4
xor esi, esi
inc esi
mov dword [ebp - 0x20], eax
xor eax, eax
mov dword [ebp - 0x20], eax
jmp 0x10030c28
mov dword [ebp - 0x34], 0xa540
mov dword [ebp - 0x10], eax
jmp 0x10030c1c
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], esi
jge 0x10030b30
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x400], 9
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], esi
jl 0x10030b18
xor eax, eax
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], eax
jg 0x10030b9a
push esi
lea ecx, [ebp - 0x974]
call fcn.10017fd3
xor eax, eax
mov byte [ebp - 4], 0xd
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], esi
jge 0x10030b6d
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x974]
call fcn.10018040
and dword [eax], 0
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], esi
jl 0x10030b52
xor eax, eax
push eax
lea ecx, [ebp - 0x974]
call fcn.10018040
lea ecx, [ebp - 0x974]
inc dword [eax]
mov dword [ebp - 0x400], esi
mov byte [ebp - 4], 0xc
call fcn.1001803b
inc dword [ebp - 0x24]
xor eax, eax
cmp dword [ebp - 0x24], eax
jle 0x10030b38
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], eax
jl 0x10030c19
mov dword [ebp - 0x40], edi
xor edx, edx
mov dword [ebp - 0x40], 0x79191d4d
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp + eax*4 - 0x3fc]
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x3fc], ecx
mov dword [ebp - 0x40], 0xac254176
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x18], eax
mov ecx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x34]
neg ecx
cmp ecx, eax
mov eax, dword [ebp - 0x48]
setne dl
sub eax, edx
neg eax
sbb eax, eax
add eax, 0x212a
imul eax, dword [ebp - 0x10]
cmp eax, esi
mov eax, dword [ebp - 0x10]
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
setne cl
imul eax, ecx, 0xd58f
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x40]
add eax, dword [ebp - 0x18]
mov dword [ebp - 0x400], eax
dec dword [ebp - 0x1c]
jns 0x10030ba2
xor eax, eax
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], eax
jle 0x10030b10
dec dword [ebp - 0x20]
cmp dword [ebp - 0x20], 0xffffffe8
jl 0x10030b01
dec dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], 0x11
jle 0x10030aa6
xor edi, edi
mov dword [ebp - 0x18], 0xc1ec2db2
inc edi
lea ecx, [ebp - 0x280]
push edi
call fcn.10017fd3
mov byte [ebp - 4], 0xe
or eax, 0xffffffff
mov dword [ebp - 0x34], 6
mov dword [ebp - 0x20], eax
push 0xfffffffffffffff7
pop eax
mov dword [ebp - 0x40], eax
push 4
pop eax
mov dword [ebp - 0x3c], eax
xor eax, eax
mov dword [ebp - 0x1c], eax
jmp 0x10030c8a
push dword [ebp - 0x1c]
call fcn.10018040
mov dword [eax], 0x54c97515
inc dword [ebp - 0x1c]
lea ecx, [ebp - 0x280]
cmp dword [ebp - 0x1c], edi
jl 0x10030c79
mov eax, dword [ebp - 0x18]
xor esi, esi
push esi
call fcn.10018040
mov eax, dword [eax]
sub eax, 0x2151
jne 0x10030cd7
mov eax, dword [ebp - 0x18]
xor edx, edx
test eax, eax
mov eax, dword [ebp - 0x34]
sets dl
xor ecx, ecx
cmp edx, eax
setne cl
cmp ecx, 0xb61943ec
sbb eax, eax
inc eax
mov dword [ebp - 0x40], eax
jne 0x10030cd7
push esi
lea ecx, [ebp - 0x280]
call fcn.10018040
mov eax, dword [ebp - 0x20]
inc dword [ebp - 0x20]
mov eax, dword [ebp - 0x18]
imul eax, dword [ebp - 0x18], 0x64e7
test eax, eax
jne 0x10030cf7
push esi
lea ecx, [ebp - 0x280]
call fcn.10018040
push esi
lea ecx, [ebp - 0x280]
call fcn.10018040
mov eax, dword [ebp - 0x34]
lea ecx, [ebp - 0x280]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x3c]
push esi
call fcn.10018040
push esi
lea ecx, [ebp - 0x280]
call fcn.10018040
xor ecx, ecx
push ecx
mov dword [eax], ecx
lea ecx, [ebp - 0x280]
call fcn.10018040
mov ecx, dword [ebp - 0x20]
mov esi, eax
xor eax, eax
cmp ecx, 0xee85
mov ecx, dword [ebp - 0x40]
setne al
xor edx, edx
cmp ecx, eax
mov eax, dword [esi]
setne dl
sub eax, edx
jne 0x10030d66
cmp dword [ebp - 0x3c], eax
jne 0x10030d68
mov esi, eax
jmp 0x10030d6a
xor eax, eax
mov esi, edi
push eax
lea ecx, [ebp - 0x280]
call fcn.10018040
lea ecx, [ebp - 0x280]
mov byte [ebp - 4], 0xc
mov dword [eax], esi
call fcn.1001803b
xor eax, eax
push 4
mov dword [ebp - 0x1c], eax
pop esi
cmp dword [ebp - 0x1c], esi
jge 0x10030daf
push dword [ebp - 0x1c]
lea ecx, [ebp - 0xe34]
call fcn.10018040
and dword [eax], 0
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], esi
jl 0x10030d94
xor eax, eax
xor esi, esi
mov dword [ebp - 0x18], 0xfffffff9
mov dword [ebp - 0x1c], eax
inc esi
cmp dword [ebp - 0x1c], esi
jge 0x10030dd9
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0xcbc], 0xc0ae9714
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], esi
jl 0x10030dc1
xor eax, eax
mov byte [ebp - 0x11], al
cmp byte [ebp - 0x11], 0
je 0x10030deb
push eax
call dword [sym.imp.KERNEL32.dll_EncodePointer]
xor eax, eax
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], eax
jl 0x10030e37
mov dword [ebp - 0x1c], 0xfffffffb
mov dword [ebp - 0x1c], eax
jmp 0x10030e1a
cmp byte [ebp - 0x11], 0
je 0x10030e17
call ebx
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_CreateHalftonePalette]
xor eax, eax
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], eax
mov byte [ebp - 0x11], al
jle 0x10030dff
cmp byte [ebp - 0x11], 0
je 0x10030e32
push eax
push eax
call dword [sym.imp.KERNEL32.dll_SizeofResource]
xor eax, eax
dec dword [ebp - 0x18]
jns 0x10030df3
mov dword [ebp - 0x20], 0xa4f833fc
mov dword [ebp - 0x18], 0x39c9
mov dword [ebp - 0x34], 0x39b8842b
mov dword [ebp - 0x3c], 0xc63b8821
mov dword [ebp - 0x4c], 0xacb2d505
mov dword [ebp - 0x40], 0x1f23
mov dword [ebp - 0x48], 0x4681
push 3
mov dword [ebp - 0x1c], eax
pop edi
cmp dword [ebp - 0x1c], edi
jge 0x10030e8b
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x38c], 0xfffffff6
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edi
jl 0x10030e73
xor eax, eax
mov dword [ebp - 0x20], 2
cmp dword [ebp - 0x20], eax
jl 0x10030eb2
mov byte [ebp - 0x11], al
cmp byte [ebp - 0x11], 0
je 0x10030ead
push 0xc7
call dword [sym.imp.USER32.dll_PostQuitMessage]
xor eax, eax
dec dword [ebp - 0x20]
jns 0x10030e97
cmp dword [ebp - 0x388], eax
jne 0x10030ec1
mov ecx, eax
cmp dword [ebp - 0x18], eax
je 0x10030ec3
mov ecx, esi
mov eax, dword [ebp - 0x388]
add eax, ecx
je 0x10030ed3
mov eax, dword [ebp - 0x38c]
mov eax, dword [ebp - 0x384]
xor edx, edx
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
cmp ecx, eax
setne dl
mov dword [ebp - 0x34], edx
mov eax, dword [ebp - 0x388]
imul eax, dword [ebp - 0x34]
test eax, eax
je 0x10030efa
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x4c]
imul eax, dword [ebp - 0x4c]
neg eax
neg eax
sbb eax, eax
neg eax
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x384]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x388]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x388]
xor eax, eax
cmp dword [ebp - 0x3c], eax
je 0x10030f47
mov ecx, esi
cmp dword [ebp - 0x18], eax
jne 0x10030f49
mov ecx, eax
mov eax, dword [ebp - 0x3c]
xor edx, edx
cmp ecx, eax
mov ebx, 0xe3ca3691
mov eax, dword [ebp - 0x3c]
sete dl
xor ecx, ecx
cmp edx, eax
setne cl
or eax, 0xffffffff
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 0x38], 0xbcf5
mov dword [ebp - 0x10], 0xd214c405
mov dword [ebp - 0x20], 0xfffffffc
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x40], 0x23dd972c
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x10], eax
xor eax, eax
cmp dword [ebp - 0x10], eax
jne 0x10030fff
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x10], eax
xor eax, eax
cmp dword [ebp - 0x10], eax
je 0x10030ffb
mov eax, dword [ebp - 0x10]
xor edx, edx
mov eax, dword [ebp - 0x20]
xor eax, eax
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
cmp ecx, eax
setne dl
mov dword [ebp - 0x20], edx
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x20]
sub ecx, eax
mov eax, dword [ebp - 0x1c]
cmp ebx, ecx
sbb edx, edx
xor ecx, ecx
neg edx
cmp edx, eax
setge cl
mov dword [ebp - 0x40], ecx
cmp dword [ebp - 0x40], 0xa98ceef9
sbb eax, eax
neg eax
sub eax, 0x2659
neg eax
sbb eax, eax
inc eax
cmp eax, esi
jae 0x10030fff
xor eax, eax
mov ecx, eax
jmp 0x10031001
mov ecx, esi
mov eax, dword [ebp - 0x1c]
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x1c]
setge dl
xor ecx, ecx
cmp edx, eax
setg cl
xor eax, eax
mov dword [ebp - 0x48], ecx
mov byte [ebp - 0x11], al
cmp byte [ebp - 0x11], al
je 0x1003102b
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
xor eax, eax
mov dword [ebp - 0x38], 0xe072305a
lea ecx, [ebp - 0x5f4]
mov dword [ebp - 0x20], esi
push 2
mov dword [ebp - 0x3c], esi
mov dword [ebp - 0x38], eax
pop ebx
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x38], 0x5f992db7
push esi
call fcn.10017fd3
mov byte [ebp - 4], 0x18
xor eax, eax
mov dword [ebp - 0x38], 0xb03be465
mov dword [ebp - 0x48], 0x647c
mov dword [ebp - 0x1c], eax
jmp 0x10031084
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x5f4]
call fcn.10018040
and dword [eax], 0
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], esi
jl 0x10031070
mov dword [ebp - 0x20], 5
jmp 0x100312b9
push 4
pop eax
push eax
lea ecx, [ebp - 0x55c]
call fcn.10017fd3
mov byte [ebp - 4], 0x19
or eax, 0xffffffff
mov dword [ebp - 0x38], 0x1fb8eb5e
push 0xfffffffffffffff7
mov dword [ebp - 0x38], eax
pop ecx
mov dword [ebp - 0x38], 9
mov dword [ebp - 0x38], ecx
lea ecx, [ebp - 0xe20]
mov dword [ebp - 0x30], eax
push ebx
call fcn.10017fd3
mov byte [ebp - 4], 0x1a
or eax, 0xffffffff
mov dword [ebp - 0x38], 0x82a74db5
mov dword [ebp - 0x34], eax
xor eax, eax
push 4
mov dword [ebp - 0x10], eax
pop ecx
cmp dword [ebp - 0x10], ecx
jge 0x10031112
push ecx
pop esi
push dword [ebp - 0x10]
lea ecx, [ebp - 0x55c]
call fcn.10018040
mov dword [eax], 0x6f9b2cfb
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], esi
jl 0x100310f1
xor esi, esi
xor eax, eax
inc esi
mov dword [ebp - 0x10], eax
jmp 0x1003112b
push dword [ebp - 0x10]
lea ecx, [ebp - 0xe20]
call fcn.10018040
and dword [eax], 0
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jl 0x10031117
push esi
lea ecx, [ebp - 0x55c]
call fcn.10018040
push esi
lea ecx, [ebp - 0x55c]
mov dword [eax], 0xfffffffa
call fcn.10018040
cmp dword [eax], 0xffffffe3
jle 0x1003128a
push 4
pop ebx
mov dword [ebp - 0x18], 0x34f545ee
lea ecx, [ebp - 0x4d8]
mov dword [ebp - 0x38], 0x24015fb2
push ebx
call fcn.10017fd3
xor eax, eax
mov byte [ebp - 4], 0x1b
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], ebx
jge 0x100311a3
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x4d8]
call fcn.10018040
mov dword [eax], 0xabff5ecc
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ebx
jl 0x10031185
xor eax, eax
mov byte [ebp - 0x11], al
cmp byte [ebp - 0x11], 0
je 0x100311b5
push eax
call dword [sym.imp.KERNEL32.dll_ResumeThread]
xor eax, eax
xor ebx, ebx
cmp dword [ebp - 0x18], eax
je 0x100311f5
mov eax, dword [ebp - 0x18]
lea ecx, [ebp - 0x5f4]
mov eax, dword [ebp - 0x34]
inc dword [ebp - 0x34]
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x40], eax
push ebx
call fcn.10018040
mov eax, dword [ebp - 0x40]
lea ecx, [ebp - 0x4d8]
push ebx
call fcn.10018040
mov eax, dword [ebp - 0x20]
lea ecx, [ebp - 0x5f4]
push ebx
call fcn.10018040
mov eax, dword [ebp - 0x48]
lea ecx, [ebp - 0x4d8]
push esi
call fcn.10018040
mov eax, dword [ebp - 0x30]
lea ecx, [ebp - 0x4d8]
push esi
call fcn.10018040
xor edx, edx
cmp dword [eax], ebx
mov eax, dword [ebp - 0x18]
setle dl
xor ecx, ecx
cmp eax, edx
setne cl
xor ebx, ebx
cmp ecx, 0x6b9b
lea ecx, [ebp - 0x5f4]
setl bl
sub ebx, dword [ebp - 0x3c]
neg ebx
sbb ebx, ebx
xor eax, eax
push eax
inc ebx
call fcn.10018040
push esi
lea ecx, [ebp - 0x4d8]
mov dword [eax], ebx
call fcn.10018040
lea ecx, [ebp - 0x4d8]
mov byte [ebp - 4], 0x1a
mov dword [eax], ebx
call fcn.1001803b
push esi
lea ecx, [ebp - 0x55c]
call fcn.10018040
push esi
lea ecx, [ebp - 0x55c]
dec dword [eax]
call fcn.10018040
cmp dword [eax], 0xffffffe3
jg 0x10031157
push 2
pop ebx
xor eax, eax
mov byte [ebp - 0x11], al
cmp byte [ebp - 0x11], al
je 0x1003129c
push eax
push eax
call dword [sym.imp.GDI32.dll_CopyEnhMetaFileA]
lea ecx, [ebp - 0xe20]
call fcn.1001803b
lea ecx, [ebp - 0x55c]
mov byte [ebp - 4], 0x18
call fcn.1001803b
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 0xf
jge 0x10031095
lea ecx, [ebp - 0x5f4]
mov byte [ebp - 4], 0xc
call fcn.1001803b
push 0xfffffffffffffff7
pop eax
mov dword [ebp - 0x38], eax
lea ecx, [ebp - 0x90]
push esi
call fcn.10017fd3
mov byte [ebp - 4], 0x1c
xor eax, eax
mov dword [ebp - 0x40], 0x7a501900
mov dword [ebp - 0x34], 7
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], esi
jge 0x1003131e
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x90]
call fcn.10018040
mov dword [eax], 0xf6af1124
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], esi
jl 0x10031300
xor eax, eax
push eax
lea ecx, [ebp - 0x90]
call fcn.10018040
xor ebx, ebx
lea ecx, [ebp - 0x90]
push ebx
mov dword [eax], 0xfffffff6
call fcn.10018040
or ecx, 0xffffffff
cmp dword [eax], ecx
jne 0x10031573
mov dword [ebp - 0x3c], 0xfffffffe
lea ecx, [ebp - 0x90]
mov dword [ebp - 0x10], 9
push ebx
call fcn.10018040
push ebx
lea ecx, [ebp - 0x90]
cmp dword [eax], 0xd64f6899
sbb eax, eax
inc eax
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
call fcn.10018040
mov eax, dword [ebp - 0x3c]
lea ecx, [ebp - 0x90]
mov eax, dword [ebp - 0x3c]
push ebx
call fcn.10018040
mov eax, dword [ebp - 0x3c]
lea ecx, [ebp - 0x90]
push ebx
call fcn.10018040
push ebx
lea ecx, [ebp - 0x90]
call fcn.10018040
mov eax, dword [ebp - 0x3c]
lea ecx, [ebp - 0x90]
mov eax, dword [ebp - 0x3c]
push ebx
call fcn.10018040
push ebx
lea ecx, [ebp - 0x90]
call fcn.10018040
cmp dword [eax], 0x42b8ffd0
je 0x100313dd
push ebx
lea ecx, [ebp - 0x90]
call fcn.10018040
mov eax, dword [ebp - 0x3c]
lea ecx, [ebp - 0x90]
push ebx
call fcn.10018040
push ebx
lea ecx, [ebp - 0x90]
mov esi, eax
call fcn.10018040
mov ecx, dword [esi]
add ecx, dword [eax]
jne 0x1003140c
xor eax, eax
cmp dword [ebp - 0x40], eax
jne 0x1003140c
xor edx, edx
inc edx
jmp 0x10031411
xor edx, edx
inc edx
mov eax, edx
xor ecx, ecx
cmp eax, 0x37b0
setge cl
xor eax, eax
sub ecx, 0x32028081
cmp ecx, 0xfffffffc
setg al
sub eax, 0x3fca5eb5
je 0x1003143b
xor eax, eax
cmp dword [ebp - 0x40], eax
je 0x1003143d
mov eax, edx
jmp 0x1003143d
xor eax, eax
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x10], 0xfffffff3
jmp 0x1003153f
movdqa xmm0, xmmword [0x100081a0]
lea eax, [ebp - 0xf70]
push eax
lea eax, [ebp - 0xf80]
mov dword [ebp - 0x1c], ebx
push eax
lea ecx, [ebp - 0x11c8]
movdqu xmmword [ebp - 0xf80], xmm0
call fcn.1001804f
lea ecx, [ebp - 0x273]
mov esi, eax
call fcn.100092c3
push eax
push dword [esi + 4]
lea ecx, [ebp - 0x724]
push dword [esi]
call fcn.10018015
mov byte [ebp - 4], 0x1d
lea ecx, [ebp - 0x90]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x10]
push ebx
call fcn.10018040
mov eax, dword [ebp - 0x1c]
lea ecx, [ebp - 0x724]
push edi
call fcn.10018040
push ebx
lea ecx, [ebp - 0x724]
call fcn.10018040
mov eax, dword [ebp - 0x1c]
lea ecx, [ebp - 0x90]
push ebx
call fcn.10018040
push ebx
lea ecx, [ebp - 0x90]
call fcn.10018040
push ebx
lea ecx, [ebp - 0x90]
mov esi, eax
call fcn.10018040
mov ecx, dword [esi]
xor ebx, ebx
cmp ecx, dword [eax]
lea ecx, [ebp - 0x724]
setle bl
xor eax, eax
push eax
call fcn.10018040
mov dword [eax], ebx
xor eax, eax
mov byte [ebp - 0x11], al
cmp byte [ebp - 0x11], al
je 0x1003152d
push eax
push eax
push 0x1253
push eax
call dword [sym.imp.KERNEL32.dll_GetFullPathNameW]
lea ecx, [ebp - 0x724]
mov byte [ebp - 4], 0x1c
call fcn.1001803b
inc dword [ebp - 0x10]
xor ebx, ebx
cmp dword [ebp - 0x10], 7
jle 0x1003144c
push ebx
lea ecx, [ebp - 0x90]
call fcn.10018040
push ebx
lea ecx, [ebp - 0x90]
inc dword [eax]
call fcn.10018040
or ecx, 0xffffffff
cmp dword [eax], ecx
je 0x10031349
xor esi, esi
inc esi
lea ecx, [ebp - 0x90]
mov byte [ebp - 4], 0xc
call fcn.1001803b
mov dword [ebp - 0x38], esi
xor eax, eax
mov dword [ebp - 0x20], 0xe9d0
mov dword [ebp - 0x38], 0x304b25b3
mov dword [ebp - 0x34], esi
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x18], 0x272a727
mov dword [ebp - 0x40], 0xa66e58d0
mov dword [ebp - 0x48], 0xfffffffd
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], edi
jge 0x100315d3
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0xce0], 0xec5e
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edi
jl 0x100315bb
xor eax, eax
inc dword [ebp - 0x40]
cmp dword [ebp - 0x34], eax
je 0x10031615
mov ecx, dword [ebp - 0x34]
xor edx, edx
mov eax, dword [ebp - 0xce0]
neg ecx
cmp ecx, eax
setle dl
xor eax, eax
cmp edx, 0x593c
mov edx, dword [ebp - 0x20]
setne al
xor ecx, ecx
add edx, eax
mov eax, dword [ebp - 0x18]
cmp edx, eax
setg cl
cmp ecx, dword [ebp - 0xce0]
jle 0x10031613
mov edx, esi
jmp 0x10031617
xor eax, eax
mov edx, eax
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x40]
sub ecx, eax
mov eax, dword [ebp - 0x30]
sub edx, eax
xor eax, eax
cmp ecx, edx
lea ecx, [ebp - 0x228]
push 2
setl al
sub eax, dword [ebp - 0x20]
cmp eax, 0xb7758b39
sbb eax, eax
or ebx, 0xffffffff
neg eax
add eax, dword [ebp - 0x34]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x38], 0x2891f433
mov dword [ebp - 0x28], edi
pop edi
mov dword [ebp - 0x34], 0x2da3c3d
mov dword [ebp - 0x1c], 0xfffffffb
mov dword [ebp - 0x18], ebx
push edi
call fcn.10017fd3
mov byte [ebp - 4], 0x1e
lea ecx, [ebp - 0xb48]
mov dword [ebp - 0x40], 0x1210
mov dword [ebp - 0x48], 0xc0136ef6
mov dword [ebp - 0x38], 0xbd42f903
push edi
call fcn.10017fd3
xor eax, eax
mov byte [ebp - 4], 0x1f
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], edi
jge 0x100316c1
push dword [ebp - 0x10]
lea ecx, [ebp - 0x228]
call fcn.10018040
mov dword [eax], 0xfffffff8
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edi
jl 0x100316a3
xor eax, eax
mov dword [ebp - 0x10], eax
jmp 0x100316dd
push dword [ebp - 0x10]
lea ecx, [ebp - 0xb48]
call fcn.10018040
mov dword [eax], 0xb5df
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edi
jl 0x100316c6
mov eax, dword [ebp - 0x28]
mov ecx, esi
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
xor eax, eax
cmp dword [ebp - 0x28], eax
jne 0x100316ff
mov ecx, eax
mov eax, dword [ebp - 0x28]
imul eax, ecx
mov ecx, 0xd1b40e11
push esi
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x28]
cmp ecx, eax
sbb eax, eax
xor edx, edx
inc eax
mov dword [ebp - 0x34], eax
mov ecx, dword [ebp - 0x1c]
imul ecx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x1c]
cmp ecx, eax
mov eax, dword [ebp - 0x1c]
lea ecx, [ebp - 0x228]
setg dl
sub edx, eax
sub edx, dword [ebp - 0x1c]
mov dword [ebp - 0x18], edx
call fcn.10018040
push esi
lea ecx, [ebp - 0x228]
call fcn.10018040
mov eax, dword [ebp - 0x40]
lea ecx, [ebp - 0x228]
mov eax, dword [ebp - 0x34]
push esi
call fcn.10018040
mov ecx, dword [ebp - 0x48]
xor edx, edx
cmp ecx, dword [eax]
setne dl
neg edx
je 0x10031a02
xor eax, eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x34], 0xfffffff6
mov dword [ebp - 0x34], 0x88a21dec
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x38], 0xfffffffa
cmp dword [ebp - 0x1c], eax
jne 0x10031799
mov edi, eax
cmp dword [ebp - 0x28], eax
je 0x1003179b
mov edi, esi
push esi
lea ecx, [ebp - 0x228]
call fcn.10018040
cmp ebx, edi
mov esi, eax
sbb edx, edx
add edx, 0xad52eb37
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
imul edx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x1c]
cmp edx, eax
setle cl
sub ecx, dword [esi]
neg ecx
sbb ecx, ecx
add ecx, 4
cmp ecx, 0xe525036f
sbb eax, eax
xor esi, esi
neg eax
inc esi
mov dword [ebp - 0x28], eax
xor eax, eax
mov dword [ebp - 0x28], esi
cmp dword [ebp - 0x28], eax
jl 0x100318b8
mov dword [ebp - 0x40], esi
lea ecx, [ebp - 0x228]
mov dword [ebp - 0x38], 0xa9e5faf1
push dword [ebp - 0x28]
call fcn.10018040
push dword [ebp - 0x28]
lea ecx, [ebp - 0x228]
mov esi, eax
call fcn.10018040
mov ecx, dword [esi]
xor edx, edx
push 0xfffffffffffffffc
sub ecx, dword [eax]
cmp ecx, 9
pop eax
setne dl
push 4
sub eax, edx
pop ecx
cmp eax, ecx
lea ecx, [ebp - 0x228]
sbb eax, eax
neg eax
mov dword [ebp - 0x34], eax
push dword [ebp - 0x28]
call fcn.10018040
mov ecx, dword [ebp - 0x34]
xor edx, edx
cmp ecx, dword [eax]
setne dl
xor ecx, ecx
mov dword [ebp - 0x40], edx
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x1c]
cmp eax, 0xf71
setne cl
mov dword [ebp - 0x18], ecx
lea ecx, [ebp - 0x228]
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x34], eax
push dword [ebp - 0x28]
call fcn.10018040
mov edx, dword [ebp - 0x34]
xor ebx, ebx
mov ecx, dword [ebp - 0x1c]
cmp edx, ecx
push dword [ebp - 0x28]
setl bl
lea ecx, [ebp - 0x228]
add ebx, dword [eax]
call fcn.10018040
xor ecx, ecx
cmp ebx, dword [eax]
setle cl
xor esi, esi
mov dword [ebp - 0x48], ecx
inc esi
push esi
lea ecx, [ebp - 0xb48]
call fcn.10018040
dec dword [eax]
dec dword [ebp - 0x28]
jns 0x100317ed
or ebx, 0xffffffff
push 2
pop edi
lea ecx, [ebp - 0xb48]
call fcn.1001803b
lea ecx, [ebp - 0x228]
mov byte [ebp - 4], 0xc
call fcn.1001803b
mov dword [ebp - 0x38], 0xfffffff6
xor eax, eax
mov dword [ebp - 0x10], 0xe8cff0ea
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x48], 0x8f5537c5
mov dword [ebp - 0x34], 0x374f
mov dword [ebp - 0x48], 0xfffffff8
push 4
mov dword [ebp - 0x1c], eax
pop ecx
cmp dword [ebp - 0x1c], ecx
jge 0x10031923
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0xbcc], 0xe24b2e80
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ecx
jl 0x1003190b
xor eax, eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0xffffffe3
jge 0x100319a2
mov dword [ebp - 0x3c], esi
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x3c], 0x12
jg 0x10031996
mov dword [ebp - 0x40], eax
mov ecx, 0xe96b779c
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x40]
neg eax
cmp ecx, eax
mov eax, dword [ebp - 0x10]
push 0
sbb ecx, ecx
xor edx, edx
neg ecx
cmp ecx, eax
mov eax, dword [ebp - 0x3c]
mov ecx, 0xe568
setle dl
xor ebx, ebx
cmp edx, 0x81d2
setle bl
sub ecx, eax
mov eax, dword [ebp - 0x3c]
xor edx, edx
cmp ecx, eax
setge dl
xor eax, eax
cmp ebx, edx
setle al
mov dword [ebp - 0x1c], eax
inc dword [ebp - 0x3c]
cmp dword [ebp - 0x3c], 0x12
pop eax
jle 0x10031938
dec dword [ebp - 0x10]
cmp dword [ebp - 0x10], 0xffffffe3
jl 0x1003192c
or ebx, 0xffffffff
cmp dword [ebp - 0x18], eax
jne 0x10031a1a
dec dword [ebp - 0x34]
xor edx, edx
mov eax, dword [ebp - 0xbc0]
mov dword [ebp - 0xbc0], eax
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x10], eax
mov ecx, dword [ebp - 0xbc0]
mov eax, dword [ebp - 0xbc0]
cmp ecx, eax
setge dl
mov dword [ebp - 0x1c], edx
xor edx, edx
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
cmp eax, ecx
mov eax, dword [ebp - 0x48]
setg dl
sub edx, 0x61be
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
mov eax, dword [ebp - 0x10]
setge cl
sub eax, ecx
je 0x10031a1a
xor eax, eax
jmp 0x10031a1c
mov dword [ebp - 0x48], ebx
xor ecx, ecx
mov eax, dword [ebp - 0x48]
push 4
pop edx
cmp eax, edx
setg cl
mov dword [ebp - 0x18], ecx
jmp 0x100318bb
mov eax, esi
mov dword [ebp - 0x48], eax
xor eax, eax
mov dword [ebp - 0x20], 0xb22124f8
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x1c], 0xd56974ed
mov dword [ebp - 0x34], 0x28d5
mov dword [ebp - 0x48], 0xfffffffa
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], esi
jge 0x10031a60
mov eax, dword [ebp - 0x2c]
mov dword [ebp + eax*4 - 0x6a0], 9
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], esi
jl 0x10031a48
xor eax, eax
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], esi
jge 0x10031a80
mov eax, dword [ebp - 0x2c]
mov dword [ebp + eax*4 - 0x604], 0x4951162d
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], esi
jl 0x10031a68
xor eax, eax
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], edi
jge 0x10031aa0
mov eax, dword [ebp - 0x2c]
mov dword [ebp + eax*4 - 0x1138], 5
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], edi
jl 0x10031a88
xor eax, eax
cmp dword [ebp - 0x20], eax
je 0x10031b0c
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp - 0x1c]
jne 0x10031abe
xor eax, eax
cmp dword [ebp - 0x34], eax
jne 0x10031abe
mov edx, eax
jmp 0x10031ac3
xor eax, eax
lea edx, [eax + 1]
mov eax, dword [ebp - 0x1c]
xor ecx, ecx
cmp edx, eax
sete cl
cmp ecx, 0xb2b058ef
sbb eax, eax
neg eax
imul eax, dword [ebp - 0x20]
cmp eax, dword [ebp - 0x34]
jge 0x10031ae3
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x34], esi
xor ecx, ecx
mov eax, dword [ebp - 0x34]
xor esi, esi
inc esi
mov dword [ebp - 0x6a0], esi
mov eax, dword [ebp - 0x20]
cmp eax, esi
setg cl
xor eax, eax
dec ecx
je 0x10031b0c
cmp dword [ebp - 0x34], eax
je 0x10031b0a
mov eax, esi
jmp 0x10031b0c
xor eax, eax
mov dword [ebp - 0x604], eax
mov dword [ebp - 0x48], eax
xor eax, eax
mov byte [ebp - 0x11], al
cmp byte [ebp - 0x11], al
je 0x10031b2d
push eax
push 0x1202
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
xor eax, eax
push 3
mov dword [ebp - 0x1c], eax
pop ebx
cmp dword [ebp - 0x1c], ebx
jge 0x10031b50
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0xcf8], 0xa60c437f
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ebx
jl 0x10031b38
xor eax, eax
or ecx, 0xffffffff
mov dword [ebp - 0x48], ecx
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], esi
jge 0x10031b73
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x70], 0x4a8c6a53
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], esi
jl 0x10031b5e
xor eax, eax
mov byte [ebp - 0x11], al
cmp byte [ebp - 0x11], 0
je 0x10031b88
push eax
call dword [sym.imp.USER32.dll_CharNextW]
xor eax, eax
or ecx, 0xffffffff
mov dword [ebp - 0x70], 0xfffffff3
cmp dword [ebp - 0x70], 0xfffffffc
jl 0x10031c0a
jmp 0x10031b99
xor eax, eax
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], edi
jge 0x10031bb8
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x898], esi
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edi
jl 0x10031ba4
xor eax, eax
cmp dword [ebp - 0x18], eax
mov edx, eax
mov eax, dword [ebp - 0x70]
xor eax, eax
cmp dword [ebp - 0x18], eax
je 0x10031bce
mov ecx, esi
cmp dword [ebp - 0x70], eax
jne 0x10031bd0
mov ecx, eax
xor eax, eax
cmp edx, ecx
mov ecx, 0xaa61fc2d
setge al
cmp ecx, eax
mov eax, dword [ebp - 0x18]
push 0xffffffffffffffff
sbb ecx, ecx
xor edx, edx
neg ecx
cmp ecx, eax
pop ecx
setg dl
add edx, dword [ebp - 0x18]
mov dword [ebp - 0x898], edx
mov eax, dword [ebp - 0x894]
mov dword [ebp - 0x48], eax
inc dword [ebp - 0x70]
cmp dword [ebp - 0x70], 0xfffffffc
jge 0x10031b97
mov edi, dword [sym.imp.USER32.dll_GetSysColorBrush]
xor eax, eax
mov dword [ebp - 0x18], eax
jmp 0x1003217e
mov dword [ebp - 0x10], 0x94a1888
lea ecx, [ebp - 0x398]
mov dword [ebp - 0x3c], 0x23d1bca9
push esi
call fcn.10017fd3
xor eax, eax
mov byte [ebp - 4], 0x20
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], esi
jge 0x10031c60
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x398]
call fcn.10018040
mov dword [eax], 0x6dc99220
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], esi
jl 0x10031c42
xor eax, eax
cmp dword [ebp - 0x10], eax
je 0x10031cb3
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x3c]
cmp dword [ebp - 0x10], eax
jle 0x10031ca6
mov ecx, dword [ebp - 0x3c]
xor edx, edx
mov eax, dword [ebp - 0x10]
cmp eax, ecx
mov eax, dword [ebp - 0x10]
setne dl
xor ecx, ecx
cmp edx, eax
setl cl
mov dword [ebp - 0x3c], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x10]
cmp eax, esi
setle cl
cmp ecx, dword [ebp - 0x10]
je 0x10031ca6
xor eax, eax
jmp 0x10031ca8
mov eax, esi
cmp eax, dword [ebp - 0x10]
jl 0x10031cb1
xor eax, eax
jmp 0x10031cb5
xor eax, eax
mov esi, eax
push eax
lea ecx, [ebp - 0x398]
call fcn.10018040
xor ebx, ebx
lea ecx, [ebp - 0x398]
push ebx
mov dword [eax], esi
test esi, esi
je 0x10031d26
xor eax, eax
inc eax
mov dword [ebp - 0x40], eax
call fcn.10018040
xor ecx, ecx
push ebx
cmp dword [eax], 0xd55fd0a3
mov eax, dword [ebp - 0x3c]
setne cl
xor edx, edx
cmp eax, 0x458a
setle dl
sub edx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x40]
neg edx
sbb edx, edx
sub eax, ecx
xor ecx, ecx
inc edx
cmp eax, edx
setge cl
mov dword [ebp - 0x3c], ecx
lea ecx, [ebp - 0x398]
call fcn.10018040
push ebx
lea ecx, [ebp - 0x398]
call fcn.10018040
mov dword [eax], ebx
jmp 0x10031d3d
call fcn.10018040
push ebx
lea ecx, [ebp - 0x398]
mov esi, eax
call fcn.10018040
mov ecx, dword [esi]
mov dword [eax], ecx
lea ecx, [ebp - 0x398]
mov byte [ebp - 4], 0xc
call fcn.1001803b
push 2
pop esi
mov dword [ebp - 0x38], 0x4489be67
lea ecx, [ebp - 0x814]
push esi
call fcn.10017fd3
mov byte [ebp - 4], 0x21
xor eax, eax
mov dword [ebp - 0x34], eax
mov ebx, 0x1f14
mov dword [ebp - 0x6f0], ebx
or ecx, 0xffffffff
mov dword [ebp - 0x6ec], ebx
mov dword [ebp - 0x6e8], ebx
mov dword [ebp - 0x6e4], ebx
mov dword [ebp - 0x48], ecx
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], esi
jge 0x10031db4
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x814]
call fcn.10018040
mov dword [eax], 0x6f3f17e2
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], esi
jl 0x10031d96
xor eax, eax
mov byte [ebp - 0x11], al
cmp byte [ebp - 0x11], 0
je 0x10031dc6
push 0xe78
call edi
xor eax, eax
push eax
lea ecx, [ebp - 0x814]
call fcn.10018040
mov esi, eax
lea ecx, [ebp - 0x814]
xor eax, eax
push eax
call fcn.10018040
mov ecx, dword [esi]
xor edx, edx
xor esi, esi
inc esi
sub ecx, dword [eax]
cmp ecx, esi
push 0xfffffffffffffff7
setg dl
xor eax, eax
pop ecx
cmp edx, ecx
setg al
mov dword [ebp - 0x34], eax
xor eax, eax
cmp dword [ebp - 0x34], eax
jne 0x10031e0f
cmp dword [ebp - 0x6f0], eax
jne 0x10031e0f
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x6f0]
mov eax, dword [ebp - 0x6f0]
dec ecx
neg ecx
sbb ecx, ecx
neg ecx
add eax, ecx
lea ecx, [ebp - 0x814]
mov dword [ebp - 0x48], eax
mov byte [ebp - 4], 0xc
call fcn.1001803b
push 3
pop ebx
mov dword [ebp - 0x38], 0x2dd8607f
lea ecx, [ebp - 0x938]
mov dword [ebp - 0x3c], 0xd5e48d32
push ebx
call fcn.10017fd3
xor eax, eax
mov byte [ebp - 4], 0x22
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], ebx
jge 0x10031e7f
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x938]
call fcn.10018040
mov dword [eax], 0xac12265e
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ebx
jl 0x10031e61
xor eax, eax
mov dword [ebp - 0x3c], eax
jmp 0x10031eea
mov dword [ebp - 0x1c], 0x665683c8
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0xa
jl 0x10031ee7
mov dword [ebp - 0x40], 0xf5f49900
mov dword [ebp - 0x48], 0xfffffffa
cmp dword [ebp - 0x40], eax
je 0x10031ec9
inc dword [ebp - 0x3c]
cmp dword [ebp - 0x3c], 6
jge 0x10031e84
mov byte [ebp - 0x11], al
cmp byte [ebp - 0x11], 0
je 0x10031f07
push eax
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_SetWindowTextW]
lea ecx, [ebp - 0x938]
mov byte [ebp - 4], 0xc
call fcn.1001803b
mov dword [ebp - 0x38], 0x2449ef57
lea ecx, [ebp - 0xee8]
mov dword [ebp - 0x38], 0x124f01c0
or eax, 0xffffffff
mov dword [ebp - 0x38], 0xc29a3df6
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x38], 0xfddd3f46
push esi
call fcn.10017fd3
mov byte [ebp - 4], 0x23
xor eax, eax
mov dword [ebp - 0x38], 0xe703026d
mov dword [ebp - 0x40], esi
mov dword [ebp - 0x1c], eax
jmp 0x10031f6a
cmp dword [ebp - 0x18], 0xb
je 0x10031c1a
or eax, 0xffffffff
lea ecx, [ebp - 0xe34]
mov dword [ebp - 4], eax
call fcn.1001803b
or eax, 0xffffffff
lea ecx, [ebp - 0xebc]
mov dword [ebp - 0x38], eax
push ebx
call fcn.10017fd3
push ebx
lea ecx, [ebp - 0xd10]
mov dword [ebp - 4], 0x26
call fcn.10017fd3
mov byte [ebp - 4], 0x27
xor eax, eax
push 4
pop ecx
mov dword [ebp - 0x8a8], ecx
mov dword [ebp - 0x8a4], ecx
mov dword [ebp - 0x8a0], ecx
mov dword [ebp - 0x89c], ecx
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], ebx
jge 0x10032204
push dword [ebp - 0x2c]
lea ecx, [ebp - 0xebc]
call fcn.10018040
mov dword [eax], esi
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], ebx
jl 0x100321e7
push 4
xor eax, eax
pop ecx
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], ecx
jge 0x10032224
mov eax, dword [ebp - 0x2c]
mov dword [ebp + eax*4 - 0x12bc], 0x4c40
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], ecx
jl 0x1003220c
xor eax, eax
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], ebx
jge 0x1003224a
push 4
pop esi
push dword [ebp - 0x2c]
lea ecx, [ebp - 0xd10]
call fcn.10018040
mov dword [eax], esi
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], ebx
jl 0x1003222f
xor esi, esi
inc esi
dec dword [ebp - 0x8a0]
lea ecx, [ebp - 0xd10]
call fcn.1001803b
or ebx, 0xffffffff
lea ecx, [ebp - 0xebc]
mov dword [ebp - 4], ebx
call fcn.1001803b
mov dword [ebp - 0x20], 0x24a8c6a5
xor eax, eax
mov dword [ebp - 0x1c], 5
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], ebx
jne 0x100323e8
push esi
lea ecx, [ebp - 0x270]
call fcn.10017fd3
mov dword [ebp - 4], 0x28
xor eax, eax
mov dword [ebp - 0x44], 8
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], esi
jge 0x100322c4
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x110], 0xfffffffb
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], esi
jl 0x100322ac
xor eax, eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], esi
jge 0x100322e6
push dword [ebp - 0x10]
lea ecx, [ebp - 0x270]
call fcn.10018040
mov dword [eax], esi
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], esi
jl 0x100322cc
xor eax, eax
push eax
lea ecx, [ebp - 0x270]
call fcn.10018040
xor ebx, ebx
mov dword [eax], ebx
jmp 0x100323b5
xor eax, eax
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x40], 0xfffffff8
push eax
call fcn.10018040
xor ebx, ebx
mov eax, dword [eax]
cmp dword [ebp + eax*4 - 0x110], ebx
je 0x1003232f
push ebx
lea ecx, [ebp - 0x270]
call fcn.10018040
mov eax, dword [eax]
mov eax, dword [ebp + eax*4 - 0x110]
push ebx
lea ecx, [ebp - 0x270]
call fcn.10018040
push ebx
lea ecx, [ebp - 0x270]
mov eax, dword [eax]
mov esi, dword [ebp + eax*4 - 0x110]
call fcn.10018040
push ebx
lea ecx, [ebp - 0x270]
mov eax, dword [eax]
mov dword [ebp + eax*4 - 0x110], esi
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x34]
call fcn.10018040
mov eax, dword [ebp - 0x20]
xor edx, edx
mov eax, dword [ebp - 0x34]
cmp eax, 6
mov eax, dword [ebp - 0x1c]
setne dl
xor ecx, ecx
cmp edx, eax
setl cl
mov dword [ebp - 0x40], ecx
cmp dword [ebp - 0x40], 0x2715
je 0x1003239b
xor eax, eax
cmp dword [ebp - 0x1c], eax
jne 0x1003239b
xor esi, esi
inc esi
mov eax, esi
neg eax
lea ecx, [ebp - 0x270]
xor ebx, ebx
mov dword [ebp - 0x44], eax
push ebx
call fcn.10018040
dec dword [eax]
push ebx
lea ecx, [ebp - 0x270]
call fcn.10018040
lea ecx, [ebp - 0x270]
cmp dword [eax], ebx
jge 0x100322fb
or ebx, 0xffffffff
mov dword [ebp - 4], ebx
call fcn.1001803b
dec dword [ebp - 0x20]
cmp dword [ebp - 0x20], ebx
je 0x10032288
xor eax, eax
mov byte [ebp - 0x11], al
cmp byte [ebp - 0x11], 0
je 0x10032405
push eax
call dword [sym.imp.USER32.dll_GetDesktopWindow]
mov ebx, dword [sym.imp.USER32.dll_BeginPaint]
push eax
call ebx
xor eax, eax
jmp 0x1003240b
mov ebx, dword [sym.imp.USER32.dll_BeginPaint]
mov dword [ebp - 0x20], 0x24a8c6a5
or ecx, 0xffffffff
mov dword [ebp - 0x1c], 5
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], ecx
jne 0x100325a8
or edi, ecx
push esi
lea ecx, [ebp - 0x238]
call fcn.10017fd3
mov dword [ebp - 4], 0x29
xor eax, eax
mov dword [ebp - 0x44], 8
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], esi
jge 0x10032466
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x118], 0xfffffffb
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], esi
jl 0x1003244e
xor eax, eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], esi
jge 0x10032488
push dword [ebp - 0x10]
lea ecx, [ebp - 0x238]
call fcn.10018040
mov dword [eax], esi
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], esi
jl 0x1003246e
xor eax, eax
push eax
lea ecx, [ebp - 0x238]
call fcn.10018040
xor ecx, ecx
push ecx
mov dword [eax], ecx
lea ecx, [ebp - 0x238]
call fcn.10018040
cmp dword [eax], 0
jl 0x10032586
xor eax, eax
lea ecx, [ebp - 0x238]
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x40], 0xfffffff8
push eax
call fcn.10018040
xor ecx, ecx
mov eax, dword [eax]
cmp dword [ebp + eax*4 - 0x118], ecx
je 0x100324e9
push ecx
lea ecx, [ebp - 0x238]
call fcn.10018040
xor ecx, ecx
mov eax, dword [eax]
mov eax, dword [ebp + eax*4 - 0x118]
push ecx
lea ecx, [ebp - 0x238]
call fcn.10018040
xor edi, edi
lea ecx, [ebp - 0x238]
push edi
mov eax, dword [eax]
mov esi, dword [ebp + eax*4 - 0x118]
call fcn.10018040
push edi
lea ecx, [ebp - 0x238]
mov eax, dword [eax]
mov dword [ebp + eax*4 - 0x118], esi
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x34]
call fcn.10018040
mov eax, dword [ebp - 0x20]
xor edx, edx
mov eax, dword [ebp - 0x34]
cmp eax, 6
mov eax, dword [ebp - 0x1c]
setne dl
xor ecx, ecx
cmp edx, eax
setl cl
mov dword [ebp - 0x40], ecx
cmp dword [ebp - 0x40], 0x2715
je 0x10032557
lea ecx, [ebp - 0x238]
mov dword [ebp - 4], edi
call fcn.1001803b
dec dword [ebp - 0x20]
cmp dword [ebp - 0x20], edi
je 0x1003242a
mov edi, dword [sym.imp.USER32.dll_GetSysColorBrush]
xor eax, eax
mov byte [ebp - 0x11], al
cmp byte [ebp - 0x11], 0
je 0x100325bd
push eax
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call ebx
xor eax, eax
mov dword [ebp - 0x24], 0x8a61928c
push 2
pop ecx
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x10], 0x99ea5d84
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x1c], esi
mov dword [ebp - 0x40], 0xd90538e0
mov dword [ebp - 0x44], ecx
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0xffffffe5
jle 0x1003262c
mov edi, 0xffff
mov dword [ebp - 0x44], 0xfffffffc
xor edx, edx
mov dword [ebp - 0x40], esi
mov dword [ebp - 0x44], edi
mov dword [ebp - 0x40], 0x7b9278f7
mov eax, dword [ebp - 0x40]
cmp eax, 0x16580849
mov eax, dword [ebp - 0x24]
setne dl
xor ecx, ecx
cmp edx, eax
setle cl
mov dword [ebp - 0x34], ecx
dec dword [ebp - 0x24]
cmp dword [ebp - 0x24], 0xffffffe5
jg 0x100325ef
mov edi, dword [sym.imp.USER32.dll_GetSysColorBrush]
mov dword [ebp - 0x24], 0x3e91
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0x24]
sub eax, 0x939c
neg eax
sbb eax, eax
add eax, 0xffff83e7
sub edx, eax
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
add edx, dword [ebp - 0x10]
add edx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
cmp eax, edx
setne cl
xor edx, edx
sub ecx, 0x3134d13a
mov dword [ebp - 0x34], ecx
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x34]
cmp eax, ecx
setle dl
add edx, dword [ebp - 0x10]
jne 0x10032682
xor eax, eax
mov ecx, eax
cmp dword [ebp - 0x24], eax
je 0x10032684
mov ecx, esi
mov eax, dword [ebp - 0x10]
add eax, ecx
mov ecx, dword [ebp - 0x10]
neg eax
sbb eax, eax
neg eax
imul ecx, eax
neg ecx
sbb ecx, ecx
add ecx, 0xa9d707d9
mov dword [ebp - 0x40], ecx
mov ecx, dword [ebp - 0x10]
sub ecx, dword [ebp - 0x10]
add ecx, dword [ebp - 0x40]
sub ecx, dword [ebp - 0x10]
neg ecx
sbb ecx, ecx
xor eax, eax
inc ecx
or edx, 0xffffffff
add ecx, dword [ebp - 0x1c]
cmp ecx, edx
setge al
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x40]
neg eax
sub eax, 0x115
neg eax
sbb eax, eax
xor ecx, ecx
inc eax
cmp eax, 0xfffffff7
setle cl
xor eax, eax
cmp ecx, esi
setge al
mov dword [ebp - 0x1c], eax
xor eax, eax
cmp dword [ebp - 0x1c], eax
je 0x100326ed
mov eax, esi
mov dword [ebp - 0x44], eax
lea ecx, [ebp - 0xe48]
mov dword [ebp - 0x38], edx
push 3
call fcn.10017fd3
push 3
lea ecx, [ebp - 0xd28]
mov dword [ebp - 4], 0x2a
call fcn.10017fd3
mov byte [ebp - 4], 0x2b
xor eax, eax
push 4
pop ecx
mov dword [ebp - 0x8c0], ecx
mov dword [ebp - 0x8bc], ecx
mov dword [ebp - 0x8b8], ecx
mov dword [ebp - 0x8b4], ecx
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], 3
jge 0x1003275c