Function at 0x1002f71f
Capabilities:
Accept command line arguments
Check os version
Delete directory
Extract resource via kernel32 functions
Get disk information
Get disk size
Get file size
Get graphical window text
Get keyboard layout
Identify system language via api
Log keystrokes
Parse pe header

Disassembly:
mov eax, 0x1007dbb7
call fcn.1007c560
mov eax, 0x1544
call fcn.1007a290
push ebx
push esi
push edi
xor edi, edi
mov dword [ebp - 0x68], ecx
inc edi
mov dword [ebp - 0x30], 0
push edi
lea ecx, [ebp - 0xbd8]
mov byte [ebp - 0x91], dl
call fcn.1001810a
xor eax, eax
mov dword [ebp - 4], eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], edi
jge 0x1002f77a
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0xa4], 9
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], edi
jl 0x1002f762
xor eax, eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], edi
jge 0x1002f7a0
push dword [ebp - 0x20]
lea ecx, [ebp - 0xbd8]
call fcn.10018198
mov dword [eax], 0xe2cf4565
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], edi
jl 0x1002f782
xor eax, eax
mov ebx, dword [sym.imp.USER32.dll_GetDesktopWindow]
mov byte [ebp - 0x55], al
cmp byte [ebp - 0x55], 0
je 0x1002f7bb
push eax
call ebx
push eax
call dword [sym.imp.USER32.dll_EnableWindow]
xor eax, eax
cmp dword [ebp - 0xa4], eax
je 0x1002f7d5
mov eax, edi
cmp eax, dword [ebp - 0xa4]
jg 0x1002f7d3
mov esi, edi
xor eax, eax
jmp 0x1002f7d7
xor eax, eax
mov esi, eax
push eax
lea ecx, [ebp - 0xbd8]
call fcn.10018198
lea ecx, [ebp - 0xbd8]
mov dword [eax], esi
or eax, 0xffffffff
mov dword [ebp - 4], eax
call fcn.10018193
mov esi, dword [sym.imp.USER32.dll_GetParent]
xor eax, eax
mov dword [ebp - 0x2c], 0xd5e48d32
mov byte [ebp - 0x55], al
cmp byte [ebp - 0x55], al
je 0x1002f814
call ebx
push eax
call esi
xor eax, eax
mov dword [ebp - 0x2c], 0xffffffe6
jmp 0x1002f83c
mov byte [ebp - 0x55], al
cmp byte [ebp - 0x55], 0
je 0x1002f839
push eax
call ebx
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_GetCurrentPositionEx]
xor eax, eax
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], 0x11
jge 0x1002f81d
mov dword [ebp - 0x38], 0xd5e48d32
push 4
pop ecx
mov dword [ebp - 0x960], ecx
mov dword [ebp - 0x95c], ecx
mov dword [ebp - 0x958], ecx
mov dword [ebp - 0x954], ecx
mov dword [ebp - 0x34], 9
push 3
mov dword [ebp - 0x40], 0xe8588d0d
pop ecx
mov dword [ebp - 0x34], ecx
cmp dword [ebp - 0x34], eax
jl 0x1002f8a0
mov eax, dword [ebp - 0x34]
xor ecx, ecx
mov edx, dword [ebp + eax*4 - 0x960]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp + eax*4 - 0x960]
cmp edx, eax
sete cl
mov dword [ebp - 0x40], ecx
dec dword [ebp - 0x34]
jns 0x1002f87d
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x34], eax
xor eax, eax
mov byte [ebp - 0x55], al
cmp byte [ebp - 0x55], al
je 0x1002f8b5
call ebx
push eax
call esi
mov dword [ebp - 0x38], 0xffffffe6
cmp dword [ebp - 0x38], 0x11
push 2
pop esi
jl 0x1002f9a4
or eax, 0xffffffff
lea ecx, [ebp - 0xbf0]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x48], 0x73bf38c0
mov dword [ebp - 0x40], eax
push esi
call fcn.1001810a
mov dword [ebp - 4], edi
xor eax, eax
mov dword [ebp - 0x30], edi
mov dword [ebp - 0x3c], 0xfffffff7
mov dword [ebp - 0x2c], eax
jmp 0x1002f910
push dword [ebp - 0x2c]
lea ecx, [ebp - 0xbf0]
call fcn.10018198
mov dword [eax], 6
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], esi
jl 0x1002f8f9
mov eax, dword [ebp - 0x1c]
xor ecx, ecx
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x1c]
add eax, dword [ebp - 0x1c]
cmp eax, 0xa6e4
setg cl
cmp edi, ecx
mov ecx, dword [ebp - 0x48]
sbb eax, eax
inc eax
sub ecx, eax
xor eax, eax
add ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x40], ecx
lea ecx, [ebp - 0xbf0]
mov esi, dword [ebp - 0x40]
push eax
call fcn.10018198
xor edx, edx
mov dword [eax], esi
or esi, 0xffffffff
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x48]
cmp eax, esi
mov eax, dword [ebp - 0x1c]
setne dl
xor ecx, ecx
cmp edx, eax
setne cl
mov dword [ebp - 0x30], ecx
lea ecx, [ebp - 0xbf0]
mov dword [ebp - 4], esi
call fcn.10018193
xor eax, eax
mov byte [ebp - 0x55], al
cmp byte [ebp - 0x55], al
je 0x1002f994
push eax
call ebx
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_GetCurrentPositionEx]
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], 0x11
push 2
pop esi
jge 0x1002f8c9
push 0xfffffffffffffff9
pop eax
mov dword [ebp - 0x1c], eax
lea ecx, [ebp - 0x1094]
push 4
call fcn.1001810a
xor eax, eax
mov dword [ebp - 4], esi
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], 4
jge 0x1002f9e4
push dword [ebp - 0x2c]
lea ecx, [ebp - 0x1094]
call fcn.10018198
mov dword [eax], 0xb57e
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], 4
jl 0x1002f9c5
xor eax, eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0x18
jne 0x1002fa51
push 3
pop esi
mov dword [ebp - 0x2c], 0x4d2edc75
mov dword [ebp - 0x2c], eax
jmp 0x1002fa40
mov byte [ebp - 0x55], al
cmp byte [ebp - 0x55], 0
je 0x1002fa1b
push 0x1806
push eax
push 0xd73
call ebx
push eax
call dword [sym.imp.USER32.dll_GetDlgItemTextA]
xor eax, eax
mov byte [ebp - 0x55], al
cmp byte [ebp - 0x55], 0
je 0x1002fa3d
push 0x1ba5
push eax
push eax
call ebx
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_PolyPolyline]
xor eax, eax
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], esi
jle 0x1002f9fc
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0x18
je 0x1002f9f0
push 2
pop esi
or eax, 0xffffffff
lea ecx, [ebp - 0x1094]
mov dword [ebp - 4], eax
call fcn.10018193
xor eax, eax
push 3
mov dword [ebp - 0x20], eax
pop ebx
cmp dword [ebp - 0x20], ebx
jge 0x1002fa87
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0xe24], 0x648261f9
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], ebx
jl 0x1002fa6f
xor eax, eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], edi
jge 0x1002faa7
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0xe0], 0x9be1d925
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], edi
jl 0x1002fa8f
xor eax, eax
mov dword [ebp - 0xe0], esi
cmp dword [ebp - 0xe0], eax
jl 0x1002faf9
push 7
pop ebx
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x2c], esi
cmp dword [ebp - 0x2c], eax
jl 0x1002faee
mov dword [ebp - 0x30], ebx
mov eax, dword [ebp - 0xe0]
mov ecx, dword [ebp + eax*4 - 0xe24]
mov eax, dword [ebp - 0x2c]
mov dword [ebp + eax*4 - 0xe24], ecx
xor eax, eax
test ecx, ecx
setns al
mov dword [ebp - 0x30], eax
dec dword [ebp - 0x2c]
jns 0x1002fac3
xor eax, eax
dec dword [ebp - 0xe0]
jns 0x1002fab8
push 3
pop ebx
mov dword [ebp - 0xe0], eax
lea ecx, [ebp - 0x1a8]
mov dword [ebp - 0x44], 0xd5e48d32
push 4
call fcn.1001810a
mov dword [ebp - 4], ebx
or eax, 0xffffffff
mov dword [ebp - 0x50], 9
mov dword [ebp - 0x40], ebx
mov dword [ebp - 0x30], eax
xor eax, eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 4
jge 0x1002fb4c
push dword [ebp - 0x20]
lea ecx, [ebp - 0x1a8]
call fcn.10018198
mov dword [eax], ebx
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 4
jl 0x1002fb31
xor eax, eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], ebx
jge 0x1002fb6c
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x131c], 6
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], ebx
jl 0x1002fb54
xor eax, eax
mov byte [ebp - 0x55], al
cmp byte [ebp - 0x55], 0
je 0x1002fb80
push 0x1ea1
call dword [sym.imp.USER32.dll_GetKeyboardLayout]
push esi
lea ecx, [ebp - 0x1a8]
call fcn.10018198
push ebx
lea ecx, [ebp - 0x1a8]
call fcn.10018198
push ebx
lea ecx, [ebp - 0x1a8]
mov esi, eax
call fcn.10018198
mov ecx, dword [esi]
xor edx, edx
mov esi, 0x100c
push ebx
cmp ecx, dword [eax]
lea ecx, [ebp - 0x1a8]
setle dl
sub esi, edx
call fcn.10018198
xor ebx, ebx
lea ecx, [ebp - 0x1a8]
push 2
cmp esi, dword [eax]
setle bl
mov dword [ebp - 0x1318], ebx
call fcn.10018198
push 3
pop ecx
cmp ebx, ecx
sbb ecx, ecx
neg ecx
imul ecx, dword [eax]
test ecx, ecx
jne 0x1002fbf5
xor eax, eax
mov esi, eax
cmp dword [ebp - 0x50], eax
je 0x1002fbf7
mov esi, edi
push 2
lea ecx, [ebp - 0x1a8]
call fcn.10018198
xor ecx, ecx
push 2
cmp dword [eax], esi
setl cl
mov dword [ebp - 0x40], ecx
lea ecx, [ebp - 0x1a8]
call fcn.10018198
mov ecx, dword [ebp - 0x40]
mov edx, 0xeb9ae77a
cmp edx, ecx
push 2
sbb ecx, ecx
xor ebx, ebx
neg ecx
cmp ecx, dword [eax]
lea ecx, [ebp - 0x1a8]
setg bl
call fcn.10018198
push edi
lea ecx, [ebp - 0x1a8]
sub ebx, dword [eax]
call fcn.10018198
mov ecx, dword [ebp - 0x50]
sub ebx, ecx
sub ebx, 0x20225169
lea ecx, [ebp - 0x1a8]
imul ebx, dword [eax]
or eax, 0xffffffff
mov dword [ebp - 0x30], ebx
mov dword [ebp - 4], eax
call fcn.10018193
xor eax, eax
lea ecx, [ebp - 0xc08]
mov dword [ebp - 0x30], eax
push edi
call fcn.1001810a
xor eax, eax
mov dword [ebp - 4], 4
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], edi
jge 0x1002fca7
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x9c], 9
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], edi
jl 0x1002fc8f
xor eax, eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], edi
jge 0x1002fccd
push dword [ebp - 0x20]
lea ecx, [ebp - 0xc08]
call fcn.10018198
mov dword [eax], 0xe2cf4565
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], edi
jl 0x1002fcaf
xor eax, eax
mov ebx, dword [sym.imp.USER32.dll_GetDesktopWindow]
mov byte [ebp - 0x55], al
cmp byte [ebp - 0x55], 0
je 0x1002fce8
push eax
call ebx
push eax
call dword [sym.imp.USER32.dll_EnableWindow]
xor eax, eax
cmp dword [ebp - 0x9c], eax
je 0x1002fd02
mov eax, edi
cmp eax, dword [ebp - 0x9c]
jg 0x1002fd00
mov esi, edi
xor eax, eax
jmp 0x1002fd04
xor eax, eax
mov esi, eax
push eax
lea ecx, [ebp - 0xc08]
call fcn.10018198
lea ecx, [ebp - 0xc08]
mov dword [eax], esi
or eax, 0xffffffff
mov dword [ebp - 4], eax
call fcn.10018193
xor eax, eax
mov byte [ebp - 0xd], al
mov dword [ebp - 0x2c], 0xd5e48d32
mov byte [ebp - 0x55], al
cmp byte [ebp - 0x55], al
je 0x1002fd42
call ebx
push eax
call dword [sym.imp.USER32.dll_GetParent]
xor eax, eax
mov dword [ebp - 0x2c], 0xffffffe6
jmp 0x1002fd6a
mov byte [ebp - 0x55], al
cmp byte [ebp - 0x55], 0
je 0x1002fd67
push eax
call ebx
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_GetCurrentPositionEx]
xor eax, eax
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], 0x11
jge 0x1002fd4b
cmp byte [ebp - 0xd], 0
je 0x1002fdde
push 4
pop ecx
mov dword [ebp - 0x978], ecx
mov dword [ebp - 0x974], ecx
mov dword [ebp - 0x970], ecx
mov dword [ebp - 0x96c], ecx
mov dword [ebp - 0x34], 9
push 3
mov dword [ebp - 0x40], 0xe8588d0d
pop esi
mov dword [ebp - 0x34], esi
cmp dword [ebp - 0x34], eax
jl 0x1002fdcd
mov eax, dword [ebp - 0x34]
xor ecx, ecx
mov edx, dword [ebp + eax*4 - 0x978]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp + eax*4 - 0x978]
cmp edx, eax
sete cl
mov dword [ebp - 0x40], ecx
dec dword [ebp - 0x34]
jns 0x1002fdaa
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x34], eax
call ebx
push eax
call dword [sym.imp.USER32.dll_GetParent]
jmp 0x1002fde1
push 3
pop esi
or eax, 0xffffffff
mov dword [ebp - 0x3c], eax
xor eax, eax
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], al
je 0x1002fdfb
push eax
push eax
call dword [sym.imp.KERNEL32.dll_SystemTimeToFileTime]
xor eax, eax
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x1002fe0b
push eax
call dword [sym.imp.OLEAUT32.dll_VariantClear]
mov dword [ebp - 0x44], 0xffffffe6
jmp 0x10030180
or ebx, 0xffffffff
lea ecx, [ebp - 0xc20]
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x48], 0x73bf38c0
mov dword [ebp - 0x40], ebx
push 2
call fcn.1001810a
mov dword [ebp - 4], 5
xor eax, eax
mov dword [ebp - 0x30], edi
mov dword [ebp - 0x3c], 0xfffffff7
mov dword [ebp - 0x2c], eax
jmp 0x1002fe63
push dword [ebp - 0x2c]
lea ecx, [ebp - 0xc20]
call fcn.10018198
mov dword [eax], 6
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], 2
jl 0x1002fe4c
mov eax, dword [ebp - 0x1c]
xor ecx, ecx
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x1c]
add eax, dword [ebp - 0x1c]
cmp eax, 0xa6e4
setg cl
cmp edi, ecx
mov ecx, dword [ebp - 0x48]
sbb eax, eax
inc eax
sub ecx, eax
xor eax, eax
add ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x40], ecx
lea ecx, [ebp - 0xc20]
mov esi, dword [ebp - 0x40]
push eax
call fcn.10018198
xor edx, edx
mov dword [eax], esi
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x48]
cmp eax, ebx
mov eax, dword [ebp - 0x1c]
setne dl
xor ecx, ecx
cmp edx, eax
setne cl
mov dword [ebp - 0x30], ecx
lea ecx, [ebp - 0xc20]
mov dword [ebp - 4], ebx
call fcn.10018193
mov dword [ebp - 0x2c], ebx
xor eax, eax
mov dword [ebp - 0x48], 0xfffffffe
mov dword [ebp - 0x34], 0x8ad88ca0
mov dword [ebp - 0x4c], edi
push 3
mov dword [ebp - 0x40], 4
pop ecx
mov dword [ebp - 0x50], ecx
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], ecx
jge 0x1002ff0d
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x574], 0xfffffffa
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], ecx
jl 0x1002fef5
xor eax, eax
mov dword [ebp - 0x20], eax
jmp 0x1002ff23
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0xc38], 0
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], ecx
jl 0x1002ff12
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0xc30]
dec dword [ebp - 0xc30]
cmp ecx, eax
jl 0x1002ff3f
mov ecx, edi
jmp 0x1002ff43
xor eax, eax
mov ecx, eax
mov eax, dword [ebp - 0x48]
inc dword [ebp - 0x48]
cmp ecx, eax
jge 0x1002ff51
mov ebx, edi
jmp 0x1002ff55
xor eax, eax
mov ebx, eax
mov eax, dword [ebp - 0x2c]
xor ecx, ecx
mov eax, dword [ebp - 0x34]
mov esi, dword [ebp - 0x574]
mov dword [ebp - 0x56c], esi
mov eax, dword [ebp - 0x2c]
cmp eax, 0x7796
setle cl
xor edx, edx
mov dword [ebp - 0x4c], ecx
mov ecx, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x34]
cmp ecx, eax
setg dl
inc edx
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
mov dword [ebp - 0x40], edx
mov eax, dword [ebp - 0x40]
cmp eax, 0x4d41
mov eax, 0xc74c3eec
setg cl
cmp eax, ecx
sbb eax, eax
xor edx, edx
neg eax
cmp ebx, esi
setge dl
sub edx, eax
sub edx, dword [ebp - 0x34]
neg edx
sbb edx, edx
inc edx
imul edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x34]
sub edx, 9
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
setle cl
add ecx, dword [ebp - 0x34]
add ecx, dword [ebp - 0x2c]
cmp ecx, edi
jle 0x10030009
mov dword [ebp - 0x3c], 0x5d909cc0
or ebx, 0xffffffff
mov dword [ebp - 0x3c], 0x42f2aa78
xor eax, eax
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x2c], eax
jmp 0x1002fffe
mov eax, dword [ebp - 0x2c]
mov dword [ebp + eax*4 - 0x14d4], edi
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], 2
jl 0x1002fff1
dec dword [ebp - 0x50]
jmp 0x10030084
mov dword [ebp - 0x50], 0x995e
mov dword [ebp - 0x40], 6
mov esi, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x50]
neg esi
mov eax, dword [ebp - 0x34]
sbb esi, esi
xor edx, edx
neg esi
cmp eax, ecx
setge dl
xor eax, eax
cmp esi, 0x6ae4
setg al
sub eax, edx
sub eax, 0x18e0da55
jne 0x1003004b
cmp dword [ebp - 0x56c], eax
je 0x10030054
jmp 0x1003004d
xor eax, eax
cmp dword [ebp - 0x4c], eax
je 0x10030054
mov eax, edi
xor ecx, ecx
add eax, 6
test eax, eax
setg cl
xor edx, edx
mov dword [ebp - 0x40], ecx
mov ecx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x56c]
cmp ecx, eax
mov eax, dword [ebp - 0x50]
setne dl
xor ecx, ecx
cmp edx, eax
setne cl
or ebx, 0xffffffff
mov dword [ebp - 0x56c], ecx
push 3
pop esi
xor eax, eax
lea ecx, [ebp - 0xc50]
mov byte [ebp - 0x55], al
push esi
call fcn.1001810a
mov dword [ebp - 4], 6
xor eax, eax
mov dword [ebp - 0x38], 0x5252cb13
mov dword [ebp - 0x1c], 0xc4530722
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], esi
jge 0x100300d5
push dword [ebp - 0x2c]
lea ecx, [ebp - 0xc50]
call fcn.10018198
mov dword [eax], 0xfff6
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], esi
jl 0x100300b7
xor eax, eax
mov dword [ebp - 0x38], eax
jmp 0x10030115
push dword [ebp - 0x38]
call fcn.10018198
mov eax, dword [eax]
mov dword [ebp - 0x1c], eax
xor eax, eax
mov dword [ebp - 0x1c], eax
jmp 0x1003010c
mov dword [ebp - 0x40], ebx
dec dword [ebp - 0x40]
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x10030109
push eax
push eax
push eax
push eax
call dword [sym.imp.OLEAUT32.dll_VariantTimeToDosDateTime]
xor eax, eax
dec dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0xfffffff5
jne 0x100300ee
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], 2
lea ecx, [ebp - 0xc50]
jle 0x100300da
mov dword [ebp - 4], ebx
call fcn.10018193
cmp byte [ebp - 0x55], 0
je 0x10030177
xor eax, eax
mov dword [ebp - 0x3c], 0xffff
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], al
je 0x1003014c
push eax
push eax
push eax
push eax
call dword [sym.imp.KERNEL32.dll_EnumCalendarInfoW]
xor eax, eax
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x1003015e
push eax
call dword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
xor eax, eax
mov ebx, dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call ebx
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_GetCurrentPositionEx]
jmp 0x1003017d
mov ebx, dword [sym.imp.USER32.dll_GetDesktopWindow]
inc dword [ebp - 0x44]
cmp dword [ebp - 0x44], 0x11
jge 0x1002fe17
xor eax, eax
lea ecx, [ebp - 0x790]
mov dword [ebp - 0x34], eax
push 4
call fcn.1001810a
push 7
pop eax
mov dword [ebp - 4], eax
xor eax, eax
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], 4
jge 0x100301cc
push dword [ebp - 0x2c]
lea ecx, [ebp - 0x790]
call fcn.10018198
mov dword [eax], 0x87df2f4a
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], 4
jl 0x100301ad
xor eax, eax
inc dword [ebp - 0x34]
mov dword [ebp - 0x34], eax
jmp 0x1003024d
mov dword [ebp - 0x1c], 0x3eee2fde
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x100301ec
call dword [sym.imp.USER32.dll_DestroyCaret]
xor eax, eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], esi
jg 0x1003024a
or ecx, 0xffffffff
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x2c], esi
cmp dword [ebp - 0x2c], eax
jl 0x10030242
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x10030212
push eax
call dword [sym.imp.GDI32.dll_GetObjectType]
push dword [ebp - 0x2c]
lea ecx, [ebp - 0x790]
call fcn.10018198
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x790]
mov esi, eax
call fcn.10018198
mov ecx, dword [esi]
push 0
mov dword [eax], ecx
dec dword [ebp - 0x2c]
pop eax
jns 0x10030202
push 3
pop esi
or ecx, 0xffffffff
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], esi
jle 0x100301f7
inc dword [ebp - 0x34]
cmp dword [ebp - 0x34], esi
jle 0x100301d4
or eax, 0xffffffff
lea ecx, [ebp - 0x790]
mov dword [ebp - 4], eax
call fcn.10018193
xor eax, eax
mov dword [ebp - 0x2c], 0xd5e48d32
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], al
je 0x1003027f
call ebx
push eax
call dword [sym.imp.USER32.dll_GetParent]
xor eax, eax
mov dword [ebp - 0x2c], 0xffffffe6
jmp 0x100302a7
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x100302a4
push eax
call ebx
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_GetCurrentPositionEx]
xor eax, eax
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], 0x11
jge 0x10030288
mov dword [ebp - 0x2c], 0xd5e48d32
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x100302c8
call ebx
push eax
call dword [sym.imp.USER32.dll_GetParent]
xor eax, eax
mov dword [ebp - 0x2c], 0xffffffe6
jmp 0x100302f0
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x100302ed
push eax
call ebx
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_GetCurrentPositionEx]
xor eax, eax
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], 0x11
jge 0x100302d1
mov dword [ebp - 0x34], eax
lea ecx, [ebp - 0x904]
push 4
call fcn.1001810a
xor eax, eax
mov dword [ebp - 4], 8
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], 4
jge 0x10030337
push dword [ebp - 0x2c]
lea ecx, [ebp - 0x904]
call fcn.10018198
mov dword [eax], 0x87df2f4a
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], 4
jl 0x10030318
xor eax, eax
inc dword [ebp - 0x34]
mov dword [ebp - 0x34], eax
jmp 0x100303b8
mov dword [ebp - 0x1c], 0x3eee2fde
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x10030357
call dword [sym.imp.USER32.dll_DestroyCaret]
xor eax, eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], esi
jg 0x100303b5
or ecx, 0xffffffff
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x2c], esi
cmp dword [ebp - 0x2c], eax
jl 0x100303ad
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x1003037d
push eax
call dword [sym.imp.GDI32.dll_GetObjectType]
push dword [ebp - 0x2c]
lea ecx, [ebp - 0x904]
call fcn.10018198
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x904]
mov esi, eax
call fcn.10018198
mov ecx, dword [esi]
push 0
mov dword [eax], ecx
dec dword [ebp - 0x2c]
pop eax
jns 0x1003036d
push 3
pop esi
or ecx, 0xffffffff
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], esi
jle 0x10030362
inc dword [ebp - 0x34]
cmp dword [ebp - 0x34], esi
jle 0x1003033f
or eax, 0xffffffff
lea ecx, [ebp - 0x904]
mov dword [ebp - 4], eax
call fcn.10018193
mov ebx, dword [sym.imp.KERNEL32.dll_GetUserDefaultUILanguage]
mov esi, 0x9b546158
mov dword [ebp - 0x2c], 0x7ddc85f7
mov dword [ebp - 0x2c], 0xfffffff4
cmp dword [ebp - 0x2c], 0xf
jge 0x1003045d
xor eax, eax
mov dword [ebp - 0x514], esi
mov dword [ebp - 0x510], esi
mov dword [ebp - 0x50c], esi
mov dword [ebp - 0x508], esi
mov dword [ebp - 0x508], eax
jmp 0x1003044b
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x1003041c
call ebx
xor eax, eax
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x10030445
push 0x1278
push 0x206e
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_GetPixel]
xor eax, eax
inc dword [ebp - 0x508]
cmp dword [ebp - 0x508], 7
jge 0x1003040f
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], 0xf
jl 0x100303ef
xor eax, eax
lea ecx, [ebp - 0x7a8]
mov dword [ebp - 0x34], eax
push 4
call fcn.1001810a
xor eax, eax
mov dword [ebp - 4], 9
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], 4
jge 0x100304a0
push dword [ebp - 0x2c]
lea ecx, [ebp - 0x7a8]
call fcn.10018198
mov dword [eax], 0x87df2f4a
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], 4
jl 0x10030481
xor eax, eax
inc dword [ebp - 0x34]
push 3
mov dword [ebp - 0x34], eax
pop ecx
cmp dword [ebp - 0x34], ecx
jg 0x1003053c
mov dword [ebp - 0x1c], 0x3eee2fde
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x100304cd
call dword [sym.imp.USER32.dll_DestroyCaret]
push 3
xor eax, eax
pop ecx
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], ecx
jg 0x1003052b
or edx, 0xffffffff
mov dword [ebp - 0x2c], edx
mov dword [ebp - 0x2c], ecx
cmp dword [ebp - 0x2c], eax
jl 0x10030523
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x100304f3
push eax
call dword [sym.imp.GDI32.dll_GetObjectType]
push dword [ebp - 0x2c]
lea ecx, [ebp - 0x7a8]
call fcn.10018198
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x7a8]
mov esi, eax
call fcn.10018198
mov ecx, dword [esi]
push 0
mov dword [eax], ecx
dec dword [ebp - 0x2c]
pop eax
jns 0x100304e3
push 3
pop ecx
or edx, 0xffffffff
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ecx
jle 0x100304d8
inc dword [ebp - 0x34]
cmp dword [ebp - 0x34], ecx
jle 0x100304b2
mov esi, 0x9b546158
or eax, 0xffffffff
lea ecx, [ebp - 0x7a8]
mov dword [ebp - 4], eax
call fcn.10018193
mov dword [ebp - 0x2c], 0x7ddc85f7
mov dword [ebp - 0x2c], 0xfffffff4
cmp dword [ebp - 0x2c], 0xf
jge 0x100305d1
xor eax, eax
mov dword [ebp - 0x4f4], esi
mov dword [ebp - 0x4f0], esi
mov dword [ebp - 0x4ec], esi
mov dword [ebp - 0x4e8], esi
mov dword [ebp - 0x4e8], eax
jmp 0x100305bf
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x10030590
call ebx
xor eax, eax
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x100305b9
push 0x1278
push 0x206e
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_GetPixel]
xor eax, eax
inc dword [ebp - 0x4e8]
cmp dword [ebp - 0x4e8], 7
jge 0x10030583
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], 0xf
jl 0x10030563
push 3
pop ebx
push ebx
lea ecx, [ebp - 0xc68]
call fcn.1001810a
xor eax, eax
mov dword [ebp - 4], 0xa
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], ebx
jge 0x10030612
push dword [ebp - 0x2c]
lea ecx, [ebp - 0xc68]
call fcn.10018198
mov dword [eax], 0x7571177e
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], ebx
jl 0x100305f4
xor eax, eax
push 2
mov dword [ebp - 0x44], eax
pop ebx
jmp 0x100306a1
mov dword [ebp - 0x38], 0xcce1e2c0
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], ebx
jg 0x1003069e
or ecx, 0xffffffff
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], ebx
jg 0x10030696
mov dword [ebp - 0x34], 8
mov dword [ebp - 0x34], ebx
cmp dword [ebp - 0x34], eax
jl 0x1003068b
mov dword [ebp - 0x2c], 0x3a88e00f
mov dword [ebp - 0x2c], eax
jmp 0x10030681
mov dword [ebp - 0x18], 7
mov dword [ebp - 0x18], ebx
cmp dword [ebp - 0x18], eax
jl 0x1003067e
push dword [ebp - 0x1c]
lea ecx, [ebp - 0xc68]
call fcn.10018198
cmp dword [eax], 0
jne 0x1003067c
dec dword [ebp - 0x18]
jns 0x10030664
xor eax, eax
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], ebx
jle 0x10030655
dec dword [ebp - 0x34]
jns 0x10030649
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ebx
jle 0x1003063a
or ecx, 0xffffffff
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], ebx
jle 0x1003062f
inc dword [ebp - 0x44]
cmp dword [ebp - 0x44], ebx
jle 0x1003061d
or eax, 0xffffffff
lea ecx, [ebp - 0xc68]
mov dword [ebp - 4], eax
call fcn.10018193
push 0xfffffffffffffff9
mov dword [ebp - 0x38], 0x69fdf99f
pop eax
mov dword [ebp - 0x3c], eax
xor eax, eax
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], edi
jge 0x100306ea
mov eax, dword [ebp - 0x2c]
mov dword [ebp + eax*4 - 0x284], 0xcd795364
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], edi
jl 0x100306d2
xor eax, eax
push 0xfffffffffffffff8
mov dword [ebp - 0x38], eax
pop edx
jmp 0x100307cd
mov dword [ebp - 0x1c], 0x946507e
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], ebx
jge 0x1003071c
mov eax, dword [ebp - 0x2c]
mov dword [ebp + eax*4 - 0x274], 0
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], ebx
jl 0x10030704
xor eax, eax
mov dword [ebp - 0x270], eax
cmp dword [ebp - 0x270], eax
jl 0x1003074b
mov eax, dword [ebp - 0x270]
xor ecx, ecx
mov eax, dword [ebp + eax*4 - 0x284]
test eax, eax
setne cl
mov dword [ebp - 0x1c], ecx
dec dword [ebp - 0x270]
jns 0x1003072a
xor eax, eax
mov dword [ebp - 0x1c], 5
jmp 0x100307c5
mov dword [ebp - 0x34], edi
mov dword [ebp - 0x34], 0xffffffeb
jmp 0x100307bc
mov dword [ebp - 0x44], 0xfffffff7
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x44], eax
jl 0x100307b9
mov dword [ebp - 0x2c], 4
mov dword [ebp - 0x40], 0xfffffffe
mov dword [ebp - 0x30], 0x7142b622
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], eax
jg 0x100307b4
mov eax, dword [ebp - 0x44]
cmp dword [ebp + eax*4 - 0x284], edi
jge 0x1003079f
xor eax, eax
cmp dword [ebp - 0x38], eax
je 0x100307a1
mov eax, edi
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x30], eax
xor eax, eax
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], eax
jle 0x1003078c
dec dword [ebp - 0x44]
jns 0x1003076f
dec dword [ebp - 0x34]
cmp dword [ebp - 0x34], 0xffffffe2
jge 0x10030760
dec dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edx
jne 0x10030754
dec dword [ebp - 0x38]
cmp dword [ebp - 0x38], edx
jg 0x100306f5
mov dword [ebp - 0x44], eax
lea ecx, [ebp - 0x724]
push ebx
call fcn.1001810a
xor eax, eax
mov dword [ebp - 4], 0xb
mov dword [ebp - 0x28], eax
lea ecx, [ebp - 0x1514]
lea eax, [ebp - 0x1120]
xorps xmm0, xmm0
push eax
lea eax, [ebp - 0x1130]
push eax
movdqu xmmword [ebp - 0x1130], xmm0
call fcn.100181a7
lea ecx, [ebp - 0x1da]
mov esi, eax
call fcn.1000a663
push eax
push dword [esi + 4]
lea ecx, [ebp - 0x1004]
push dword [esi]
call fcn.10018169
xor eax, eax
mov byte [ebp - 4], 0xc
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], ebx
jge 0x1003085f
push dword [ebp - 0x20]
lea ecx, [ebp - 0x724]
call fcn.10018198
mov dword [eax], 0x6240
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], ebx
jl 0x10030841
xor eax, eax
push 3
mov dword [ebp - 0x20], eax
pop esi
cmp dword [ebp - 0x20], esi
jge 0x10030882
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x230], 0xfffffffd
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], esi
jl 0x1003086a
xor eax, eax
mov dword [ebp - 0x28], edi
cmp dword [ebp - 0x28], eax
jl 0x10030998
mov dword [ebp - 0x14], 0xff55e00f
mov dword [ebp - 0x2c], 0xc01e6e2b
mov dword [ebp - 0x48], 4
mov dword [ebp - 0x40], 0xa812c005
mov dword [ebp - 0x14], edi
cmp dword [ebp - 0x14], eax
jl 0x1003098c
mov dword [ebp - 0x30], 0xfffffffd
mov dword [ebp - 0x3c], 0xe6d39c7c
push 0xfffffffffffffffe
pop ecx
mov dword [ebp - 0x990], ecx
mov dword [ebp - 0x98c], ecx
mov dword [ebp - 0x988], ecx
mov dword [ebp - 0x984], ecx
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x100308f1
push eax
push eax
push eax
call dword [sym.imp.ADVAPI32.dll_RegSetKeySecurity]
mov eax, dword [ebp - 0x48]
inc dword [ebp - 0x48]
cmp eax, 0xb8a277eb
jne 0x10030902
mov esi, edi
jmp 0x10030906
xor eax, eax
mov esi, eax
push dword [ebp - 0x14]
lea ecx, [ebp - 0x724]
call fcn.10018198
xor ecx, ecx
cmp dword [eax], esi
sete cl
xor eax, eax
mov dword [ebp - 0x2c], ecx
cmp dword [ebp - 0x2c], eax
jne 0x1003096c
or eax, 0xffffffff
cmp dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x984]
sbb ecx, ecx
xor edx, edx
neg ecx
cmp eax, ecx
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x98c]
setle dl
add ecx, 3
add ecx, edx
xor edx, edx
cmp ecx, eax
lea ecx, [ebp - 0x724]
setl dl
inc edx
mov dword [ebp - 0x2c], edx
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x40], eax
xor eax, eax
push eax
call fcn.10018198
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x30]
sub eax, dword [ebp - 0x14]
neg eax
push 0
sbb eax, eax
inc eax
mov dword [ebp - 0x228], eax
dec dword [ebp - 0x14]
pop eax
jns 0x100308b6
dec dword [ebp - 0x28]
jns 0x1003088e
push 3
pop esi
mov eax, dword [ebp - 0x22c]
sub eax, dword [ebp - 0x22c]
neg eax
push 0
sbb eax, eax
inc eax
mov eax, dword [ebp - 0x22c]
pop ecx
sets cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x22c]
push edi
sete dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x228]
setge cl
sub ecx, eax
mov dword [ebp - 0x28], ecx
lea ecx, [ebp - 0x724]
mov eax, dword [ebp - 0x28]
call fcn.10018198
mov edx, dword [ebp - 0x230]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x28]
neg ecx
neg edx
sbb edx, edx
xor ebx, ebx
inc edx
cmp ecx, eax
mov eax, dword [ebp - 0x22c]
sete bl
add eax, edx
cmp eax, ebx
jg 0x10030a83
xor eax, eax
mov dword [ebp - 0x28], eax
jmp 0x10030a2e
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x10030a2b
push edi
push 0x2343
push 0x1f30
call dword [sym.imp.USER32.dll_AttachThreadInput]
xor eax, eax
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], 2
jle 0x10030a0f
or ebx, 0xffffffff
lea ecx, [ebp - 0x1004]
call fcn.10018193
lea ecx, [ebp - 0x724]
mov dword [ebp - 4], ebx
call fcn.10018193
push 4
lea ecx, [ebp - 0x76c]
call fcn.1001810a
mov dword [ebp - 4], 0xd
xor eax, eax
mov dword [ebp - 0x24], 0x24a8c6a5
mov dword [ebp - 0x48], 0x9150faeb
mov dword [ebp - 0x14], 0xe31bb000
mov dword [ebp - 0x24], eax
jmp 0x10030b53
or ebx, 0xffffffff
mov dword [ebp - 0x1c], ebx
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x22c]
xor eax, eax
cmp dword [ebp - 0x1c], eax
je 0x10030a9b
mov eax, edi
xor ecx, ecx
cmp eax, 0x47be
sete cl
xor eax, eax
add ecx, 0xfffd
cmp ecx, 0x639b6af4
setl al
add eax, 0x4b2cbd72
jne 0x10030ac0
mov eax, dword [ebp - 0x1c]
push 2
lea ecx, [ebp - 0x1004]
call fcn.10018198
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x28], eax
jmp 0x10030a37
mov dword [ebp - 0x2c], 0x1d69f428
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], 2
jge 0x10030b04
mov eax, dword [ebp - 0x2c]
mov dword [ebp + eax*4 - 0x5c4], 0xb036
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], 2
jl 0x10030aeb
xor eax, eax
mov dword [ebp - 0x2c], 0xfffffff4
jmp 0x10030b4a
mov dword [ebp - 0x14], 0xdfe4b283
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], edi
jg 0x10030b47
mov eax, dword [ebp - 0x14]
cmp dword [ebp + eax*4 - 0x5c4], 0
jne 0x10030b45
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp + eax*4 - 0x5c4]
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x5c4], ecx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jle 0x10030b1c
xor eax, eax
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], 0xfffffffb
jle 0x10030b0d
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 0x13
jl 0x10030adb
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0xffffffe6
je 0x10030ced
mov dword [ebp - 0x34], 0x110e6b6c
lea ecx, [ebp - 0xc80]
push esi
call fcn.1001810a
xor eax, eax
mov byte [ebp - 4], 0xe
mov dword [ebp - 0x2c], eax
jmp 0x10030b9b
push dword [ebp - 0x2c]
lea ecx, [ebp - 0xc80]
call fcn.10018198
mov dword [eax], 0x12ce33a9
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], esi
jl 0x10030b84
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x34]
dec ecx
neg ecx
sbb ecx, ecx
xor edx, edx
inc ecx
cmp ecx, eax
mov eax, dword [ebp - 0x24]
setg dl
xor ecx, ecx
cmp eax, edx
setl cl
mov dword [ebp - 0x48], ecx
mov eax, dword [ebp - 0x48]
xor eax, eax
cmp dword [ebp - 0x34], eax
jge 0x10030bd7
mov ecx, edi
cmp dword [ebp - 0x24], eax
jne 0x10030bd9
mov ecx, eax
mov eax, dword [ebp - 0x34]
sub ecx, eax
mov dword [ebp - 0x14], ecx
cmp dword [ebp - 0x14], 0x4ed3
jle 0x10030c06
xor eax, eax
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], al
je 0x10030cb1
push eax
call dword [sym.imp.GDI32.dll_CreateFontIndirectW]
xor eax, eax
jmp 0x10030cb1
xor edx, edx
mov dword [ebp - 0x40], 0xff3e141b
mov dword [ebp - 0x4c], 0x97bde515
mov dword [ebp - 0x40], 0x860b
mov ecx, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x34]
cmp eax, ecx
mov eax, dword [ebp - 0x34]
setle dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x48]
setge cl
xor edx, edx
cmp ecx, ebx
setge dl
xor ebx, ebx
cmp eax, edx
setge bl
sub ebx, 0xae055a24
add ebx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x4c]
neg ebx
sbb ebx, ebx
xor ecx, ecx
inc ebx
cmp ebx, eax
mov eax, dword [ebp - 0x24]
setl cl
xor edx, edx
cmp ecx, eax
setne dl
sub edx, dword [ebp - 0x34]
neg edx
sbb edx, edx
inc edx
imul edx, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x40]
sub ecx, 0x8254
neg ecx
sbb ecx, ecx
xor eax, eax
inc ecx
cmp ecx, edx
setle al
mov dword [ebp - 0x4c], eax
xor eax, eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 2
jg 0x10030cac
push dword [ebp - 0x14]
lea ecx, [ebp - 0xc80]
call fcn.10018198
cmp dword [eax], 0
jne 0x10030cac
inc dword [ebp - 0x14]
jmp 0x10030c8e
xor eax, eax
or ebx, 0xffffffff
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x10030ccf
push eax
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_GetWindowOrgEx]
lea ecx, [ebp - 0xc80]
mov byte [ebp - 4], 0xd
call fcn.10018193
dec dword [ebp - 0x24]
cmp dword [ebp - 0x24], 0xffffffe6
jne 0x10030b66
xor eax, eax
mov dword [ebp - 0x40], 0x43334adc
mov dword [ebp - 0x40], 4
mov dword [ebp - 0x40], 0x8552ad14
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], edi
jge 0x10030d25
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x84], 0xffff
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], edi
jl 0x10030d0d
xor eax, eax
mov dword [ebp - 0x20], eax
jmp 0x10030d3b
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x1340], 0xfffffff7
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], esi
jl 0x10030d2a
mov eax, dword [ebp - 0x84]
xor eax, eax
cmp dword [ebp - 0x84], eax
jne 0x10030d56
mov eax, dword [ebp - 0x84]
mov eax, dword [ebp - 0x84]
mov eax, dword [ebp - 0x84]
mov eax, dword [ebp - 0x84]
mov eax, dword [ebp - 0x84]
mov eax, dword [ebp - 0x84]
inc eax
je 0x10030d7d
mov eax, dword [ebp - 0x84]
mov eax, dword [ebp - 0x84]
xor ecx, ecx
cmp eax, edi
setl cl
mov dword [ebp - 0x40], ecx
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x84]
mov eax, dword [ebp - 0x84]
mov eax, dword [ebp - 0x84]
dec eax
neg eax
sbb eax, eax
xor ecx, ecx
inc eax
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x84]
cmp eax, 0x83070492
setne cl
xor eax, eax
cmp ecx, edi
setle al
xor edx, edx
mov dword [ebp - 0x133c], eax
lea ecx, [eax + 0x20250f4b]
mov eax, dword [ebp - 0x84]
cmp ecx, eax
mov eax, dword [ebp - 0x84]
setg dl
xor ecx, ecx
cmp edx, eax
setg cl
xor edx, edx
imul eax, ecx, 0x62c
mov dword [ebp - 0x40], eax
mov ecx, dword [ebp - 0x84]
mov eax, dword [ebp - 0x40]
cmp eax, ecx
setne dl
xor eax, eax
test edx, edx
sets al
neg eax
mov dword [ebp - 0x30], eax
xor eax, eax
mov dword [ebp - 0x2c], eax
jmp 0x10030e2e
push dword [ebp - 0x2c]
lea ecx, [ebp - 0x76c]
call fcn.10018198
mov dword [eax], 0x87df2f4a
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], 4
jl 0x10030e17
push 2
lea ecx, [ebp - 0x584]
call fcn.1001810a
xor eax, eax
mov byte [ebp - 4], 0xf
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], 2
jge 0x10030e72
push dword [ebp - 0x2c]
lea ecx, [ebp - 0x584]
call fcn.10018198
mov dword [eax], 0xf0ea75c9
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], 2
jl 0x10030e53
xor eax, eax
mov dword [ebp - 0x14], edi
cmp dword [ebp - 0x14], eax
jl 0x10030eb7
mov dword [ebp - 0x1c], 0xd4ea6801
mov dword [ebp - 0x1c], eax
jmp 0x10030e9c
mov dword [ebp - 0x14], eax
jmp 0x10030f00