Function at 0x1001d280
Capabilities:
Get common file path
Get disk size
Get file system object information
Get keyboard layout
Log keystrokes
Query or enumerate registry key
Read .ini file
Start service

Disassembly:
mov eax, 0x1006bef6
call fcn.1006b0e8
sub esp, 0x954
push ebx
push esi
push edi
or edi, 0xffffffff
mov dword [ebp - 0x7c], ecx
xor ebx, ebx
mov dword [ebp - 0x74], edi
inc ebx
mov dword [ebp - 0x34], edi
mov dword [ebp - 0x34], 0x46507e67
lea ecx, [ebp - 0x438]
push ebx
mov byte [ebp - 0x7d], dl
call fcn.100126dc
xor eax, eax
lea ecx, [ebp - 0x640]
mov dword [ebp - 4], eax
push 2
mov dword [ebp - 0x4c], 0xfffffffa
pop esi
mov dword [ebp - 0x34], 0x6ce028f4
mov dword [ebp - 0x24], 9
mov dword [ebp - 0x44], 0xc863cc1d
push esi
call fcn.100126dc
mov byte [ebp - 4], bl
xor edx, edx
mov dword [ebp - 0x3c], 0xffff
mov dword [ebp - 0x4c], edi
mov dword [ebp - 0x18], edx
jmp 0x1001d30d
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x5f8], 0x161ab6ec
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jl 0x1001d2fc
mov dword [ebp - 0x18], edx
jmp 0x1001d328
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x7e4], 0xd91e
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jl 0x1001d317
mov dword [ebp - 0x18], edx
jmp 0x1001d342
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x438]
mov dword [eax + ecx*4], edi
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ebx
jl 0x1001d333
mov dword [ebp - 0x18], edx
jmp 0x1001d35b
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x640]
mov dword [eax + ecx*4], ebx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jl 0x1001d34c
mov eax, dword [ebp - 0x74]
mov dword [ebp - 0x5f4], eax
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x74]
mov eax, dword [ebp - 0x438]
mov ebx, dword [sym.imp.KERNEL32.dll_GetDiskFreeSpaceW]
mov dword [ebp - 0x7e4], ecx
mov dword [eax], ecx
dec dword [ebp - 0x3c]
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x34], 0xfffffffd
cmp dword [ebp - 0x34], edx
je 0x1001d3ff
mov byte [ebp - 0x35], dl
cmp byte [ebp - 0x35], dl
je 0x1001d3b6
push edx
push edx
push edx
push edx
push edx
call ebx
xor edi, edi
lea ecx, [ebp - 0x640]
call fcn.10013739
or eax, 0xffffffff
lea ecx, [ebp - 0x438]
mov dword [ebp - 4], eax
call fcn.10013739
push 1
lea ecx, [ebp - 0x548]
call fcn.100126dc
push 1
lea ecx, [ebp - 0x33c]
mov dword [ebp - 4], esi
call fcn.100126dc
xor edx, edx
inc edx
mov dword [ebp - 0x34], edx
mov dword [ebp - 0x20], edi
jmp 0x1001d4e5
mov dword [ebp - 0x2c], 0xb400765e
lea ecx, [ebp - 0x360]
mov dword [ebp - 0x24], edx
mov dword [ebp - 0x24], esi
push 1
call fcn.100126dc
xor edx, edx
inc edx
xor edi, edi
mov dword [ebp - 0x24c], edx
mov dword [ebp - 0x248], edx
mov dword [ebp - 0x244], edx
mov dword [ebp - 0x240], edx
mov dword [ebp - 0x14], edi
jmp 0x1001d44e
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x360]
mov dword [eax + ecx*4], 0x1bd43d9c
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edx
jl 0x1001d43b
cmp dword [ebp - 0x44], edi
jne 0x1001d4a3
mov eax, dword [ebp - 0x2c]
xor edx, edx
mov eax, dword [ebp - 0x24]
cmp eax, 4
mov eax, dword [ebp - 0x360]
setle dl
xor ecx, ecx
cmp dword [eax], edi
setge cl
imul edx, ecx
neg edx
sbb edx, edx
neg edx
dec dword [ebp - 0x244]
mov esi, dword [ebp - 0x244]
mov eax, dword [ebp - 0x2c]
lea ecx, [edx + 0x2c19]
xor edx, edx
cmp ecx, eax
setg dl
cmp esi, edx
jg 0x1001d4a0
mov edx, edi
jmp 0x1001d4a3
xor edx, edx
inc edx
mov eax, dword [ebp - 0x2c]
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x2c]
setg cl
sub eax, ecx
xor ecx, ecx
cmp eax, 0x2393dfe8
setg cl
mov dword [ebp - 0x24], ecx
lea ecx, [ebp - 0x360]
call fcn.10013739
push 2
pop esi
jmp 0x1001d3b8
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x548]
mov dword [eax + ecx*4], 0xda11525
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], edx
jl 0x1001d4d2
mov dword [ebp - 0x20], edi
jmp 0x1001d502
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x33c]
mov dword [eax + ecx*4], 0x182eac45
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], edx
jl 0x1001d4ef
mov eax, dword [ebp - 0x33c]
lea ecx, [ebp - 0x33c]
mov eax, dword [eax]
inc eax
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x34], 0xa9565e08
call fcn.10013739
or esi, 0xffffffff
lea ecx, [ebp - 0x548]
mov dword [ebp - 4], esi
call fcn.10013739
movdqa xmm0, xmmword [0x1000e390]
lea ecx, [ebp - 0x740]
push ecx
lea eax, [ebp - 0x730]
mov dword [ebp - 0x74], esi
push eax
push ecx
mov dword [ebp - 0x34], esi
lea ecx, [ebp - 0x53c]
movdqu xmmword [ebp - 0x740], xmm0
call fcn.10012718
mov dword [ebp - 0x4c], esi
xor ecx, ecx
mov dword [ebp - 0x4c], 0xa2324015
inc ecx
mov dword [ebp - 0x4c], esi
mov dword [ebp - 0x4c], 0xfffffff9
mov dword [ebp - 0x4c], 0xfffffff7
mov dword [ebp - 0x4c], ecx
mov dword [ebp - 0x4c], esi
mov dword [ebp - 0x4c], 0x3b3bbbb5
mov dword [ebp - 0x14], edi
jmp 0x1001d5a7
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x5b4], 0xa7160c63
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ecx
jl 0x1001d596
mov eax, dword [ebp - 0x53c]
lea ecx, [ebp - 0x53c]
mov dword [ebp - 4], esi
mov dword [eax], edi
call fcn.10013739
mov dword [ebp - 0x34], 0x46507e67
xor ecx, ecx
mov dword [ebp - 0x40], ecx
mov dword [ebp - 0x24], 0x9d5fac12
push 4
mov dword [ebp - 0x34], 0x31eb
mov dword [ebp - 0x14], ecx
pop edx
jmp 0x1001d5f5
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x800], 0xfffffffd
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edx
jl 0x1001d5e4
mov byte [ebp - 0x35], cl
cmp byte [ebp - 0x35], cl
je 0x1001d61d
push ecx
push 0x2316
push ecx
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_GetTextExtentPointA]
mov dword [ebp - 0x7f8], 0xfffb
xor edx, edx
mov ecx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x40]
cmp ecx, eax
setge dl
imul eax, dword [ebp - 0x40], 0xfffb
xor ecx, ecx
cmp eax, edx
setl cl
xor eax, eax
test ecx, ecx
lea ecx, [ebp - 0x4b0]
setns al
xor esi, esi
mov dword [ebp - 0x40], eax
inc esi
mov eax, dword [ebp - 0x24]
imul eax, dword [ebp - 0x40]
push esi
mov dword [ebp - 0x34], eax
call fcn.100126dc
mov dword [ebp - 4], 5
lea ecx, [ebp - 0x6c0]
mov dword [ebp - 0x4c], 0xfffffffa
mov edi, 0x6ce028f4
mov dword [ebp - 0x34], edi
mov dword [ebp - 0x24], 9
mov dword [ebp - 0x44], 0xc863cc1d
push 2
call fcn.100126dc
mov byte [ebp - 4], 6
or eax, 0xffffffff
mov dword [ebp - 0x3c], 0xffff
xor edx, edx
push 2
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x18], edx
pop ecx
jmp 0x1001d6c2
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x530], 0x161ab6ec
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ecx
jl 0x1001d6b1
mov dword [ebp - 0x18], edx
jmp 0x1001d6dd
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x7cc], 0xd91e
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jl 0x1001d6cc
mov dword [ebp - 0x18], edx
cmp dword [ebp - 0x18], esi
jge 0x1001d703
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x4b0]
or dword [eax + ecx*4], 0xffffffff
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jl 0x1001d6eb
push 2
pop ecx
mov dword [ebp - 0x18], edx
cmp dword [ebp - 0x18], ecx
jge 0x1001d720
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x6c0]
mov dword [eax + ecx*4], esi
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 2
jl 0x1001d70b
mov eax, dword [ebp - 0x74]
mov dword [ebp - 0x52c], eax
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x74]
mov eax, dword [ebp - 0x4b0]
mov dword [ebp - 0x7cc], ecx
mov dword [eax], ecx
dec dword [ebp - 0x3c]
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x34], 0xfffffffd
cmp dword [ebp - 0x34], edx
je 0x1001d7b1
mov byte [ebp - 0x35], dl
cmp byte [ebp - 0x35], dl
je 0x1001d770
push edx
push edx
push edx
push edx
push edx
call ebx
xor ebx, ebx
lea ecx, [ebp - 0x6c0]
call fcn.10013739
or eax, 0xffffffff
lea ecx, [ebp - 0x4b0]
mov dword [ebp - 4], eax
call fcn.10013739
or eax, 0xffffffff
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x3c], 0xfffffff7
mov dword [ebp - 0x3c], 0xc2e9378f
mov dword [ebp - 0x34], 0x5a9390df
mov dword [ebp - 0x14], ebx
jmp 0x1001d898
mov dword [ebp - 0x2c], 0xb400765e
lea ecx, [ebp - 0x378]
xor ebx, ebx
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x24], 2
push esi
call fcn.100126dc
xor edx, edx
inc edx
mov dword [ebp - 0x25c], edx
mov dword [ebp - 0x258], edx
mov dword [ebp - 0x254], edx
mov dword [ebp - 0x250], edx
mov dword [ebp - 0x14], ebx
jmp 0x1001d803
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x378]
mov dword [eax + ecx*4], 0x1bd43d9c
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edx
jl 0x1001d7f0
cmp dword [ebp - 0x44], ebx
jne 0x1001d858
mov eax, dword [ebp - 0x2c]
xor edx, edx
mov eax, dword [ebp - 0x24]
cmp eax, 4
mov eax, dword [ebp - 0x378]
setle dl
xor ecx, ecx
cmp dword [eax], ebx
setge cl
imul edx, ecx
neg edx
sbb edx, edx
neg edx
dec dword [ebp - 0x254]
mov esi, dword [ebp - 0x254]
mov eax, dword [ebp - 0x2c]
lea ecx, [edx + 0x2c19]
xor edx, edx
cmp ecx, eax
setg dl
cmp esi, edx
jg 0x1001d855
mov edx, ebx
jmp 0x1001d858
xor edx, edx
inc edx
mov eax, dword [ebp - 0x2c]
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x2c]
setg cl
sub eax, ecx
xor ecx, ecx
cmp eax, 0x2393dfe8
setg cl
mov dword [ebp - 0x24], ecx
lea ecx, [ebp - 0x378]
call fcn.10013739
xor esi, esi
inc esi
jmp 0x1001d772
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x888], 0xfffffffc
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x1001d887
mov dword [ebp - 0x1c], ebx
jmp 0x1001d947
mov dword [ebp - 0x20], 0xb7161ab6
lea ecx, [ebp - 0x554]
mov dword [ebp - 0x4c], 0x7e0d1b71
mov dword [ebp - 0x4c], ebx
mov dword [ebp - 0x4c], 0xa60915bb
push 2
call fcn.100126dc
push 2
mov dword [ebp - 0x14], ebx
pop edx
jmp 0x1001d8e6
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x554]
mov dword [eax + ecx*4], 0x2f34e401
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edx
jl 0x1001d8d3
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
cmp eax, dword [ebp - 0x20]
jl 0x1001d900
mov edx, ebx
cmp dword [ebp - 0x1c], ebx
je 0x1001d902
mov edx, esi
mov eax, dword [ebp - 0x20]
xor ecx, ecx
cmp eax, edx
setge cl
add ecx, 6
je 0x1001d914
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x3c], eax
imul edx, dword [ebp - 0x3c], 0xe1d8
sub edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x1c]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
setl cl
mov dword [ebp - 0x3c], ecx
lea ecx, [ebp - 0x554]
inc dword [ebp - 0x34]
call fcn.10013739
dec dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0xfffffff3
jle 0x1001d8a6
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x1c], esi
mov dword [ebp - 0x40], 0x2f9d
mov dword [ebp - 0x34], 0x4ccfd66c
mov dword [ebp - 0x14], ebx
jmp 0x1001d97a
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x894], ebx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x1001d96d
push 2
mov dword [ebp - 0x1c], ebx
pop eax
jmp 0x1001d9b8
mov dword [ebp - 0x14], 0xb51dba33
mov dword [ebp - 0x14], ebx
jmp 0x1001d9b0
mov byte [ebp - 0x35], bl
cmp byte [ebp - 0x35], 0
je 0x1001d9ad
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_IsIconic]
push 2
pop eax
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], eax
jle 0x1001d994
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], eax
jle 0x1001d988
mov eax, dword [ebp - 0x40]
mov edx, dword [ebp - 0x1c]
sub eax, 0x4204
mov ecx, dword [ebp - 0x40]
neg eax
sbb eax, eax
inc eax
neg edx
sbb edx, edx
inc edx
sub edx, eax
mov eax, dword [ebp - 0x40]
neg edx
sbb edx, edx
add eax, 0xffff2f50
inc edx
add eax, ecx
cmp edx, eax
jg 0x1001d9f1
mov eax, ebx
cmp dword [ebp - 0x40], ebx
je 0x1001d9f3
mov eax, esi
add eax, 7
xor edx, edx
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x40]
cmp eax, ecx
push esi
setge dl
lea ecx, [ebp - 0x684]
or eax, 0xffffffff
mov dword [ebp - 0x34], edx
mov dword [ebp - 0x24], eax
call fcn.100126dc
push 7
pop eax
push esi
lea ecx, [ebp - 0x390]
mov dword [ebp - 4], eax
call fcn.100126dc
xor edx, edx
inc edx
mov dword [ebp - 0x34], edx
mov dword [ebp - 0x20], ebx
jmp 0x1001da4b
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x684]
mov dword [eax + ecx*4], 0xda11525
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], edx
jl 0x1001da38
mov dword [ebp - 0x20], ebx
jmp 0x1001da68
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x390]
mov dword [eax + ecx*4], 0x182eac45
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], edx
jl 0x1001da55
mov eax, dword [ebp - 0x390]
lea ecx, [ebp - 0x390]
mov eax, dword [eax]
inc eax
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x34], 0xa9565e08
call fcn.10013739
or esi, 0xffffffff
lea ecx, [ebp - 0x684]
mov dword [ebp - 4], esi
call fcn.10013739
movdqa xmm0, xmmword [0x1000e390]
lea ecx, [ebp - 0x700]
push ecx
lea eax, [ebp - 0x6f0]
push eax
push ecx
lea ecx, [ebp - 0x56c]
movdqu xmmword [ebp - 0x700], xmm0
call fcn.10012718
mov dword [ebp - 0x4c], esi
xor ecx, ecx
mov dword [ebp - 0x4c], 0xa2324015
inc ecx
mov dword [ebp - 0x4c], esi
mov dword [ebp - 0x4c], 0xfffffff9
mov dword [ebp - 0x4c], 0xfffffff7
mov dword [ebp - 0x4c], ecx
mov dword [ebp - 0x4c], esi
mov dword [ebp - 0x4c], 0x3b3bbbb5
mov dword [ebp - 0x14], ebx
jmp 0x1001db07
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x5c4], 0xa7160c63
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ecx
jl 0x1001daf6
mov eax, dword [ebp - 0x56c]
lea ecx, [ebp - 0x56c]
mov dword [ebp - 4], esi
mov dword [eax], ebx
call fcn.10013739
mov dword [ebp - 0x3c], esi
mov dword [ebp - 0x3c], 0x46507e67
mov dword [ebp - 0x40], ebx
mov dword [ebp - 0x34], 0x9d5fac12
push 4
mov dword [ebp - 0x3c], 0x31eb
mov dword [ebp - 0x14], ebx
pop esi
jmp 0x1001db56
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x820], 0xfffffffd
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x1001db45
mov byte [ebp - 0x35], bl
cmp byte [ebp - 0x35], 0
je 0x1001db7f
push ebx
push 0x2316
push ebx
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_GetTextExtentPointA]
mov dword [ebp - 0x818], 0xfffb
xor edx, edx
mov ecx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x40]
cmp ecx, eax
push 1
setge dl
imul eax, dword [ebp - 0x40], 0xfffb
xor ecx, ecx
cmp eax, edx
setl cl
xor eax, eax
test ecx, ecx
lea ecx, [ebp - 0x498]
setns al
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x34]
imul eax, dword [ebp - 0x40]
mov dword [ebp - 0x3c], eax
call fcn.100126dc
push 0xa
pop eax
mov dword [ebp - 4], eax
lea ecx, [ebp - 0x3a8]
mov dword [ebp - 0x4c], 0xfffffffa
mov dword [ebp - 0x3c], edi
mov dword [ebp - 0x1c], ebx
push esi
mov dword [ebp - 0x64], eax
call fcn.100126dc
push 2
pop esi
push esi
lea ecx, [ebp - 0x450]
mov byte [ebp - 4], 0xb
call fcn.100126dc
mov dword [ebp - 0x34], 0xf5fdfda8
mov dword [ebp - 0x3c], 0x26f2c0e8
push 4
mov dword [ebp - 0x3c], 0x41af53c8
mov dword [ebp - 0x20], ebx
pop edx
jmp 0x1001dc2a
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x3a8]
mov dword [eax + ecx*4], 0x386cce57
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], edx
jl 0x1001dc17
mov dword [ebp - 0x20], ebx
jmp 0x1001dc47
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x450]
mov dword [eax + ecx*4], 0xe5fef407
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], esi
jl 0x1001dc34
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x3a8]
add eax, 8
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
xor eax, eax
cmp dword [ecx + 4], ebx
setne al
mov dword [ecx + 4], eax
xor ecx, ecx
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x34]
mov edx, dword [ebp - 0x450]
cmp dword [edx], eax
mov eax, dword [edx + 4]
setle cl
mov dword [ebp - 0x3c], ecx
xor ecx, ecx
cmp eax, dword [edx]
mov eax, dword [ebp - 0x34]
setle cl
add eax, ecx
lea ecx, [ebp - 0x450]
neg eax
mov dword [ebp - 0x3c], eax
call fcn.10013739
push 0xa
pop eax
lea ecx, [ebp - 0x3a8]
mov byte [ebp - 4], al
call fcn.10013739
mov dword [ebp - 0x4c], 9
lea ecx, [ebp - 0x468]
mov dword [ebp - 0x18], 0xfff6
mov dword [ebp - 0x1c], 1
push 3
call fcn.100126dc
mov byte [ebp - 4], 0xc
mov dword [ebp - 0x14], ebx
jmp 0x1001dcf9
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x468]
mov dword [eax + ecx*4], 0x638299fa
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x1001dce6
mov eax, dword [ebp - 0x18]
mov edi, 0xffff
sub eax, edi
mov dword [ebp - 0x1c], eax
jne 0x1001dd27
mov eax, dword [ebp - 0x18]
mov ecx, 0x38dc5336
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
sub ecx, eax
jne 0x1001dd27
mov ecx, ebx
jmp 0x1001dd2a
xor ecx, ecx
inc ecx
mov eax, dword [ebp - 0x18]
xor edx, edx
cmp eax, ecx
mov eax, dword [ebp - 0x18]
setne dl
xor ecx, ecx
cmp eax, edx
setne cl
cmp ecx, dword [ebp - 0x18]
jg 0x1001dd87
mov dword [ebp - 0x18], 0x1b
jmp 0x1001dd7c
mov byte [ebp - 0x35], bl
cmp byte [ebp - 0x35], 0
je 0x1001dd5c
push ebx
call dword [sym.imp.USER32.dll_RegisterClassA]
mov byte [ebp - 0x35], bl
cmp byte [ebp - 0x35], 0
je 0x1001dd79
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_RealizePalette]
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0x2c
je 0x1001dd4c
jmp 0x1001df75
push 1
lea ecx, [ebp - 0x288]
call fcn.100126dc
xor edx, edx
mov byte [ebp - 4], 0xd
mov dword [ebp - 0x14], ebx
inc edx
jmp 0x1001ddaf
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x288]
mov dword [eax + ecx*4], edi
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edx
jl 0x1001dda0
mov dword [ebp - 0x1c], ebx
cmp dword [ebp - 0x1c], ebx
jl 0x1001df6a
mov ebx, dword [ebp - 0x468]
mov dword [ebp - 0x3c], ebx
xor ecx, ecx
mov dword [ebp - 0x14], ecx
jmp 0x1001dde1
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x238], 0xfffffffd
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x1001ddd0
mov dword [ebp - 0x18], ecx
cmp dword [ebp - 0x18], ecx
jg 0x1001df44
xor ebx, ebx
push esi
lea ecx, [ebp - 0x3c0]
call fcn.100126dc
mov byte [ebp - 4], 0xe
mov dword [ebp - 0x14], ebx
jmp 0x1001de1c
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x3c0]
mov dword [eax + ecx*4], 0xe936be85
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x1001de09
mov edi, dword [ebp - 0x3c0]
mov dword [edi + 4], ebx
mov dword [ebp - 0x34], 0xbd18
mov dword [ebp - 0x34], 0x13d5
cmp dword [ebp - 0x34], 0x12bd
jge 0x1001dee1
lea eax, [ebp - 0xe4]
push eax
push 0x1000df8c
call fcn.1005030b
pop ecx
pop ecx
push dword [ebp - 0xe4]
lea ecx, [ebp - 0x4d4]
call fcn.100126dc
mov esi, ebx
mov byte [ebp - 4], 0xf
cmp dword [ebp - 0xe4], esi
jle 0x1001de96
mov eax, dword [ebp - 0x4d4]
lea eax, [eax + esi*4]
push eax
push 0x1000df8c
call fcn.1005030b
inc esi
pop ecx
pop ecx
cmp esi, dword [ebp - 0xe4]
jl 0x1001de77
lea eax, [ebp - 0x4d4]
push eax
push ebx
push ebx
push 0x1e
pop edx
push edx
pop ecx
call fcn.1001d04b
add esp, 0xc
mov ecx, ebx
mov eax, 0x1072aca0
push 0x3d
pop edx
add ecx, dword [eax]
add eax, 4
dec edx
jne 0x1001deb6
cmp eax, 0x1072e6c4
jl 0x1001deb3
push ecx
push 0x1000df90
call fcn.10050c2e
pop ecx
pop ecx
lea ecx, [ebp - 0x4d4]
mov byte [ebp - 4], 0xe
call fcn.10013739
mov ecx, dword [ebp - 0x1c]
xor edx, edx
mov eax, dword [ebp - 0x288]
cmp dword [eax + ecx*4], 0x4d07
setne dl
xor ecx, ecx
mov dword [ebp - 0x238], edx
mov esi, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x288]
mov eax, dword [ebp - 0x234]
cmp dword [edx + esi*4], eax
setge cl
inc dword [edi + 4]
cmp dword [edi + 4], 0
mov dword [ebp - 0x34], ecx
jle 0x1001de2a
lea ecx, [ebp - 0x3c0]
mov byte [ebp - 4], 0xd
call fcn.10013739
inc dword [ebp - 0x18]
push 2
pop esi
cmp dword [ebp - 0x18], ebx
jle 0x1001ddf4
mov ebx, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x234]
xor edx, edx
mov eax, dword [ebp - 0x1c]
cmp eax, ecx
push 7
setl dl
pop eax
cmp eax, edx
sbb eax, eax
inc eax
mov dword [ebx + 4], eax
dec dword [ebp - 0x1c]
jns 0x1001ddc9
xor ebx, ebx
lea ecx, [ebp - 0x288]
call fcn.10013739
push 0xa
pop eax
lea ecx, [ebp - 0x468]
mov byte [ebp - 4], al
call fcn.10013739
movdqa xmm0, xmmword [0x1000e310]
lea ecx, [ebp - 0x780]
push ecx
lea eax, [ebp - 0x770]
mov dword [ebp - 0x34], 0xc863cc1d
push eax
mov dword [ebp - 0x1c], 0x5d6c05ba
push ecx
mov dword [ebp - 0x3c], 0xca8c
lea ecx, [ebp - 0x584]
mov dword [ebp - 0x20], ebx
movdqu xmmword [ebp - 0x780], xmm0
call fcn.10012718
mov byte [ebp - 4], 0x10
mov dword [ebp - 0x2c], 0xf6f6d779
push 0xfffffffffffffff6
mov dword [ebp - 0x1c], ebx
pop edi
cmp dword [ebp - 0x1c], edi
jg 0x1001e2ea
mov edi, 0xf4247
mov dword [ebp - 0x40], 0x4074dd03
mov dword [ebp - 0x14], 0x14a3a6d7
mov dword [ebp - 0x5c], 0x32afcb06
cmp dword [ebp - 0x40], ebx
je 0x1001e0c6
mov dword [ebp - 0x44], 0x98aa
mov dword [ebp - 0x74], 6
mov dword [ebp - 0x14], 0x2ba1
mov dword [ebp - 0x14], ebx
jmp 0x1001e030
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x7a8], 0xab1943c6
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x1001e01f
mov ecx, dword [ebp - 0x44]
imul ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x3c]
sub ecx, 0x7d6c5051
neg ecx
sbb ecx, ecx
xor edx, edx
inc ecx
cmp ecx, eax
mov eax, dword [ebp - 0x1c]
setge dl
xor ecx, ecx
cmp eax, edx
setne cl
cmp ecx, 0x53b1dab5
jl 0x1001e069
cmp dword [ebp - 0x40], ebx
je 0x1001e06c
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x74]
xor edx, edx
mov dword [ebp - 0x40], eax
mov ecx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x3c]
cmp ecx, eax
setle dl
or eax, 0xffffffff
cmp eax, edx
sbb eax, eax
xor ecx, ecx
inc eax
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x7a8]
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x74]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x20]
cmp eax, 1
setg cl
sub ecx, dword [ebp - 0x74]
mov eax, dword [ebp - 0x584]
neg ecx
sbb ecx, ecx
inc ecx
mov dword [eax + 0xc], ecx
mov eax, dword [ebp - 0x5c]
imul eax, ecx
mov dword [ebp - 0x14], eax
jmp 0x1001e2da
mov dword [ebp - 0x74], 0xa6ae
or eax, 0xffffffff
mov dword [ebp - 0x44], 0xa2db6377
mov dword [ebp - 0x44], eax
inc dword [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x5c], eax
mov edx, dword [ebp - 0x40]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
add edx, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x74]
cmp eax, edx
setl cl
sub ecx, 4
je 0x1001e136
mov byte [ebp - 0x35], bl
cmp byte [ebp - 0x35], 0
je 0x1001e2da
push ebx
push 0x2166
push ebx
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_GetTextExtentPoint32W]
jmp 0x1001e2da
mov dword [ebp - 0x44], 0xfff8
mov dword [ebp - 0x74], 0x2416
cmp dword [ebp - 0x74], 0x8be
jge 0x1001e2d7
lea eax, [ebp - 0x23c]
mov dword [ebp - 0x23c], ebx
push eax
push edi
lea ecx, [ebp - 0x658]
call fcn.10012769
xor eax, eax
mov byte [ebp - 4], 0x11
mov ebx, dword [ebp - 0x658]
inc eax
push 0xa
mov ecx, eax
pop edx
cmp ecx, edx
jge 0x1001e185
mov dword [ebx + ecx*4], ecx
jmp 0x1001e1a8
mov esi, eax
mov eax, ecx
test ecx, ecx
jle 0x1001e19f
cdq
idiv dword [ebp - 0x64]
test edx, edx
jle 0x1001e198
imul esi, edx
test eax, eax
jg 0x1001e18d
push 0xa
pop edx
mov eax, dword [ebx + esi*4]
mov dword [ebx + ecx*4], eax
xor eax, eax
inc eax
inc ecx
cmp ecx, edi
jl 0x1001e17c
and dword [ebp - 0x1e4], 0
lea eax, [ebp - 0x1e4]
push eax
push edx
lea ecx, [ebp - 0x7c0]
call fcn.10012769
xor ecx, ecx
mov byte [ebp - 4], 0x12
push eax
mov dword [ebp - 0x16c], ecx
mov dword [ebp - 0x168], ecx
mov dword [ebp - 0x164], ecx
lea ecx, [ebp - 0x16c]
push edi
call fcn.10013791
lea ecx, [ebp - 0x7c0]
call fcn.10013739
mov esi, dword [ebp - 0x16c]
xor edi, edi
inc edi
add esi, 0xc
push 4
pop edx
mov eax, dword [esi - 0xc]
mov ecx, dword [esi]
mov eax, dword [edx + eax]
mov dword [edx + ecx], eax
add edx, 4
cmp edx, 0x28
jl 0x1001e206
mov ecx, dword [ebx + edi*4]
mov eax, dword [esi]
add esi, 0xc
inc dword [eax + ecx*4]
inc edi
cmp edi, 0xf4247
jl 0x1001e203
lea eax, [ebp - 0xd0]
push eax
push 0x1000dbe8
call fcn.1005030b
mov eax, dword [ebp - 0xd0]
pop ecx
pop ecx
test eax, eax
je 0x1001e2af
mov ebx, dword [ebp - 0x16c]
dec eax
mov dword [ebp - 0xd0], eax
lea eax, [ebp - 0x1ec]
push eax
lea eax, [ebp - 0x1b8]
push eax
lea eax, [ebp - 0x20c]
push eax
push 0x1000e000
call fcn.1005030b
imul eax, dword [ebp - 0x20c], 0xc
mov edx, dword [ebp - 0x1ec]
mov ecx, dword [eax + ebx - 0xc]
imul eax, dword [ebp - 0x1b8], 0xc
mov eax, dword [eax + ebx]
mov eax, dword [eax + edx*4]
sub eax, dword [ecx + edx*4]
push eax
push 0x1000df90
call fcn.10050c2e
mov eax, dword [ebp - 0xd0]
add esp, 0x18
test eax, eax
jne 0x1001e250
dec eax
lea ecx, [ebp - 0x16c]
mov dword [ebp - 0xd0], eax
call fcn.100137fc
lea ecx, [ebp - 0x658]
mov byte [ebp - 4], 0x10
call fcn.10013739
xor ebx, ebx
mov edi, 0xf4247
inc dword [ebp - 0x44]
dec dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0xfffffff6
jle 0x1001dfe7
push 0xfffffffffffffff6
pop edi
push 0xa
pop eax
lea ecx, [ebp - 0x584]
mov byte [ebp - 4], al
call fcn.10013739
push 2
pop esi
push esi
lea ecx, [ebp - 0x69c]
call fcn.100126dc
mov byte [ebp - 4], 0x13
or edx, 0xffffffff
mov dword [ebp - 0x44], 0xffff
xor ecx, ecx
mov dword [ebp - 0x64], edx
inc ecx
mov dword [ebp - 0x14], ecx
mov dword [ebp - 0x64], 8
mov dword [ebp - 0x3c], 0xfffffffe
mov dword [ebp - 0x14], 0xfffffff7
jmp 0x1001e34c
mov dword [ebp - 0x3c], edx
mov dword [ebp - 0x74], ebx
cmp dword [ebp - 0x64], ebx
jne 0x1001e352
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x74], eax
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0xd
jge 0x1001e338
mov dword [ebp - 0x18], ebx
jmp 0x1001e368
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x678], 0x161ab6ec
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jl 0x1001e357
push 3
mov dword [ebp - 0x18], ebx
pop esi
jmp 0x1001e386
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x7d8], 0xd91e
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jl 0x1001e375
mov dword [ebp - 0x64], edi
mov dword [ebp - 0x64], ebx
mov dword [ebp - 0x64], 9
mov dword [ebp - 0x64], edx
mov dword [ebp - 0x64], 0x999fb023
mov dword [ebp - 0x64], 0x5dae5a6
mov dword [ebp - 0x64], ebx
mov dword [ebp - 0x64], 0xfffffffe
mov dword [ebp - 0x64], ebx
mov dword [ebp - 0x64], 0xdead9bac
mov dword [ebp - 0x64], edi
mov dword [ebp - 0x64], 0x45ee28fd
mov dword [ebp - 0x64], 4
mov dword [ebp - 0x3c], 0xffff
dec dword [ebp - 0x3c]
mov dword [ebp - 0x18], ebx
cmp dword [ebp - 0x18], ecx
jge 0x1001e3f5
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x498]
mov dword [eax + ecx*4], edx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 1
jl 0x1001e3e0
mov eax, 0xfffa
mov dword [ebp - 0xa8], eax
mov dword [ebp - 0xa4], eax
mov dword [ebp - 0xa0], eax
mov dword [ebp - 0x9c], eax
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x64], 0x2662
cmp dword [ebp - 0x64], 0x57d
jge 0x1001e6be
lea eax, [ebp - 0xf0]
push eax
push ecx
lea eax, [ebp - 0xcc]
push eax
push ecx
lea eax, [ebp - 0xd4]
push eax
push ecx
lea eax, [ebp - 0x12c]
push eax
push ecx
lea eax, [ebp - 0x90]
push eax
push ecx
lea eax, [ebp - 0x88]
mov ecx, 0x1065cfb8
push eax
call fcn.10011ec8
pop ecx
mov ecx, eax
call fcn.10011ec8
pop ecx
mov ecx, eax
call fcn.10011ec8
pop ecx
mov ecx, eax
call fcn.10011ec8
pop ecx
mov ecx, eax
call fcn.10011ec8
pop ecx
mov ecx, eax
call fcn.10011ec8
mov ecx, dword [eax]
mov ecx, dword [ecx + 4]
test byte [ecx + eax + 0xc], 6
jne 0x1001e6be
cmp dword [ebp - 0xf0], 0
mov edi, dword [ebp - 0x88]
mov esi, dword [ebp - 0x90]
mov ebx, dword [ebp - 0x12c]
mov eax, dword [ebp - 0xcc]
jne 0x1001e4da
test eax, eax
jne 0x1001e4da
cmp dword [ebp - 0xd4], eax
jne 0x1001e4da
test ebx, ebx
jne 0x1001e4da
test esi, esi
jne 0x1001e4da
test edi, edi
je 0x1001e6b9
imul eax, eax, 0xfffffff5
movd xmm0, ebx
cvtdq2pd xmm0, xmm0
push ecx
push ecx
add edi, eax
mov dword [ebp - 0x88], edi
imul eax, dword [ebp - 0xd4], 0xfffffffb
mulsd xmm0, qword [0x1000e2a8]
add esi, eax
mov dword [ebp - 0x90], esi
movsd qword [esp], xmm0
call fcn.1004fdc0
mov eax, dword [ebp - 0xcc]
pop ecx
pop ecx
mov ecx, dword [ebp - 0xf0]
add eax, ecx
add eax, dword [ebp - 0xd4]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
movsd qword [ebp - 0x68], xmm0
fadd qword [ebp - 0x68]
fstp qword [ebp - 0x68]
cvttsd2si eax, qword [ebp - 0x68]
mov dword [ebp - 0x3c], eax
and ebx, 0x80000003
jns 0x1001e54e
dec ebx
or ebx, 0xfffffffc
inc ebx
cmp ebx, 1
jne 0x1001e55d
push 7
pop eax
sub edi, eax
sub esi, 5
jmp 0x1001e573
cmp ebx, 2
jne 0x1001e56a
sub edi, 6
sub esi, 3
jmp 0x1001e573
cmp ebx, 3
jne 0x1001e57f
sub edi, 5
dec esi
mov dword [ebp - 0x88], edi
mov dword [ebp - 0x90], esi
test esi, esi
jle 0x1001e5ec
movd xmm0, esi
cvtdq2pd xmm0, xmm0
push ecx
push ecx
movsd qword [ebp - 0x30], xmm0
divsd xmm0, qword [0x1000e2e0]
movsd qword [ebp - 0x78], xmm0
movsd qword [esp], xmm0
call fcn.1004fdc0
movd xmm0, dword [ebp - 0x3c]
cvtdq2pd xmm0, xmm0
movsd qword [ebp - 0x68], xmm0
fadd qword [ebp - 0x68]
movsd xmm0, qword [ebp - 0x78]
fstp qword [ebp - 0x68]
cvttsd2si ebx, qword [ebp - 0x68]
movsd qword [esp], xmm0
call fcn.1004fdc0
fmul qword [0x1000e2e0]
pop ecx
pop ecx
fsubr qword [ebp - 0x30]
fstp qword [ebp - 0x68]
cvttsd2si esi, qword [ebp - 0x68]
mov dword [ebp - 0x90], esi
jmp 0x1001e5ef
mov ebx, dword [ebp - 0x3c]
test esi, esi
jns 0x1001e5fc
lea edi, [edi + esi*4]
mov dword [ebp - 0x88], edi
test edi, edi
jle 0x1001e636
movd xmm0, edi
cvtdq2pd xmm0, xmm0
push ecx
push ecx
divsd xmm0, qword [0x1000e2e8]
movsd qword [esp], xmm0
call fcn.1004fdc0
movd xmm0, ebx
cvtdq2pd xmm0, xmm0
pop ecx
pop ecx
movsd qword [ebp - 0x68], xmm0
fadd qword [ebp - 0x68]
fstp qword [ebp - 0x68]
cvttsd2si ebx, qword [ebp - 0x68]
push ebx
mov ecx, 0x1065cf10
call fcn.100124b5
push eax
call fcn.10016a49
pop ecx
lea eax, [ebp - 0xf0]
push eax
push ecx
lea eax, [ebp - 0xcc]
push eax
push ecx
lea eax, [ebp - 0xd4]
push eax
push ecx
lea eax, [ebp - 0x12c]
push eax
push ecx
lea eax, [ebp - 0x90]
push eax
push ecx
lea eax, [ebp - 0x88]
mov ecx, 0x1065cfb8
push eax
call fcn.10011ec8
pop ecx
mov ecx, eax
call fcn.10011ec8
pop ecx
mov ecx, eax
call fcn.10011ec8
pop ecx
mov ecx, eax
call fcn.10011ec8
pop ecx
mov ecx, eax
call fcn.10011ec8
pop ecx
mov ecx, eax
call fcn.10011ec8
mov ecx, dword [eax]
mov ecx, dword [ecx + 4]
test byte [ecx + eax + 0xc], 6
je 0x1001e49d
push 3
xor ebx, ebx
pop esi
push 1
lea ecx, [ebp - 0x294]
call fcn.100126dc
push 1
lea ecx, [ebp - 0x184]
mov byte [ebp - 4], 0x14
call fcn.100126dc
xor edx, edx
mov dword [ebp - 0x20], ebx
inc edx
jmp 0x1001e6f3
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x294]
mov dword [eax + ecx*4], edx
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], edx
jl 0x1001e6e4
mov dword [ebp - 0x20], ebx
jmp 0x1001e710
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x184]
mov dword [eax + ecx*4], 0xfffffffe
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], edx
jl 0x1001e6fd
xor edi, edi
mov dword [ebp - 0x18], ebx
inc edi
cmp dword [ebp - 0x18], esi
jg 0x1001e882
mov dword [ebp - 0x14], 0x29694d2b
mov dword [ebp - 0x14], ebx
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp + eax*4 - 0xa8]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x18]
cmp dword [ebp + eax*4 - 0xa8], 0xca3691f6
mov edx, dword [ebp - 0x1c]
sbb eax, eax
xor ecx, ecx
neg eax
cmp eax, 0xedb3
mov eax, dword [ebp - 0x14]
setg cl
sub edx, ecx
neg edx
sbb edx, edx
xor ebx, ebx
inc edx
cmp eax, edx
mov eax, dword [ebp - 0x18]
setl bl
xor ecx, ecx
mov edx, dword [ebp + eax*4 - 0xa8]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp + eax*4 - 0xa8]
cmp edx, eax
setle cl
cmp ecx, ebx
jne 0x1001e798
xor ebx, ebx
cmp dword [ebp - 0xa8], ebx
je 0x1001e79a
mov ecx, edi
jmp 0x1001e79c
xor ebx, ebx
mov ecx, ebx
xor eax, eax
cmp ecx, 0x8ceef9a8
setne al
xor ecx, ecx
cmp eax, 0x2e26595a
setg cl
add ecx, dword [ebp - 0xa4]
jne 0x1001e7c3
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp + eax*4 - 0xa8]
mov eax, dword [ebp - 0x18]
xor edx, edx
mov eax, dword [ebp + eax*4 - 0xa8]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp + eax*4 - 0xa8]
cmp eax, edi
mov eax, dword [ebp - 0x18]
setge dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x294]
setg cl
cmp ecx, esi
sbb ecx, ecx
neg ecx
mov dword [eax], ecx
mov eax, dword [ebp - 0x184]
mov dword [eax], ecx
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp + eax*4 - 0xa8]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp + eax*4 - 0xa8]
mov eax, dword [ebp - 0x9c]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp + eax*4 - 0xa8]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp + eax*4 - 0xa8]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp + eax*4 - 0xa8]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp + eax*4 - 0xa8]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp + eax*4 - 0xa8]
mov eax, dword [ebp - 0x18]
cmp dword [ebp + eax*4 - 0xa8], ebx
jne 0x1001e870
mov eax, dword [ebp - 0x18]
mov ecx, ebx
cmp dword [ebp + eax*4 - 0xa8], ebx
je 0x1001e872
mov ecx, edi
mov eax, dword [ebp - 0x184]
mov dword [eax], ecx
inc dword [ebp - 0x18]
jmp 0x1001e71b
mov dword [ebp - 0x18], 0xe
cmp dword [ebp - 0x18], 0x18
jne 0x1001ea08
or eax, 0xffffffff
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x1c], 0xe
cmp dword [ebp - 0x1c], 0x18
jge 0x1001e9fb
mov dword [ebp - 0x20], 0xec31937d
mov dword [ebp - 0x3c], 0xfffffffb
cmp dword [ebp - 0x20], ebx
jne 0x1001e9f8
mov dword [ebp - 0x20], ebx
jmp 0x1001e9e2
mov dword [ebp - 0x2c], 0xb613644c
mov dword [ebp - 0x2c], esi
cmp dword [ebp - 0x2c], ebx
jl 0x1001e9df
mov dword [ebp - 0x74], 5
cmp dword [ebp - 0x1c], ebx
je 0x1001e905
mov eax, dword [ebp - 0x184]
mov eax, dword [eax]
add eax, 0x61f0
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp + eax*4 - 0xa8]
mov eax, dword [ebp - 0x20]
xor ecx, ecx
mov eax, dword [ebp + eax*4 - 0xa8]
mov eax, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x184]
imul edx, dword [eax]
mov eax, dword [ebp - 0x20]
mov esi, dword [ebp + eax*4 - 0xa8]
mov eax, dword [ebp - 0x20]
cmp edx, eax
mov eax, dword [ebp - 0x20]
setle cl
xor edx, edx
cmp esi, ecx
setle dl
cmp dword [ebp + eax*4 - 0xa8], edx
jne 0x1001e953
mov eax, dword [ebp - 0x20]
mov edx, ebx
cmp dword [ebp + eax*4 - 0xa8], ebx
je 0x1001e955
mov edx, edi
mov eax, dword [ebp - 0x20]
xor ecx, ecx
mov eax, dword [ebp + eax*4 - 0xa8]
cmp edx, eax
setge cl
mov dword [ebp - 0x74], ecx
cmp dword [ebp - 0x74], ebx
je 0x1001e9bf
mov eax, dword [ebp - 0x20]
cmp dword [ebp + eax*4 - 0xa8], ebx
je 0x1001e9bf
mov byte [ebp - 0x35], bl
cmp byte [ebp - 0x35], 0
je 0x1001e9a2
push ebx
push 0x1286
push 0x2100
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_SetPixel]
push 3
pop esi
mov dword [ebp - 0x14], esi
cmp dword [ebp - 0x14], ebx
jl 0x1001e9d6
or ecx, 0xffffffff
mov eax, dword [ebp - 0x294]
mov dword [eax], ecx
dec dword [ebp - 0x14]
jns 0x1001e9b0
jmp 0x1001e9d6
mov byte [ebp - 0x35], bl
cmp byte [ebp - 0x35], 0
je 0x1001e9d3
push ebx
push ebx
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_GetDiskFreeSpaceW]
push 3
pop esi
dec dword [ebp - 0x2c]
jns 0x1001e8dc
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], esi
jle 0x1001e8c9
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0x18
jl 0x1001e8aa
or eax, 0xffffffff
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0x18
je 0x1001e896
lea ecx, [ebp - 0x184]
call fcn.10013739
lea ecx, [ebp - 0x294]
mov byte [ebp - 4], 0x13
call fcn.10013739
push 2
mov dword [ebp - 0x18], ebx
pop edx
jmp 0x1001ea39
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x69c]
mov dword [eax + ecx*4], edi
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edx
jl 0x1001ea2a
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x674], eax
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x498]
mov dword [ebp - 0x7d8], ecx
mov dword [eax], ecx
dec dword [ebp - 0x44]
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x3c], 0xfffffffd
cmp dword [ebp - 0x3c], ebx
je 0x1001ed02
or eax, 0xffffffff
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x4c], 0xb101
mov dword [ebp - 0x64], 0x574b6046
mov dword [ebp - 0x14], ebx
jmp 0x1001eaad
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x7f0], 0xb06c0e26
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x1001ea9c
mov dword [ebp - 0x1c], ebx
jmp 0x1001eb69
mov dword [ebp - 0x3c], 0x92c6eed1
lea ecx, [ebp - 0x3d8]
push esi
call fcn.100126dc
mov dword [ebp - 0x64], ebx
mov dword [ebp - 0x14], ebx
jmp 0x1001eae4
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x3d8]
mov dword [eax + ecx*4], edi
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x1001ead5
imul ecx, dword [ebp - 0x3c], 0xc710
xor edx, edx
mov eax, dword [ebp - 0x3c]
cmp ecx, eax
mov eax, dword [ebp - 0x1c]
setl dl
xor ecx, ecx
inc edx
cmp edx, eax
mov eax, dword [ebp - 0x4c]
setge cl
sub eax, ecx
imul eax, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x1c]
sub edx, eax
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, 2
mov dword [ebp - 0x7e8], edx
mov eax, dword [ebp - 0x1c]
setge cl
xor edx, edx
cmp eax, ecx
mov eax, dword [ebp - 0x3d8]
setge dl
mov dword [eax + 4], edx
test edx, edx
jne 0x1001eb44
mov edx, ebx
cmp dword [ebp - 0x1c], ebx
je 0x1001eb46
mov edx, edi
mov eax, dword [ebp - 0x64]
xor ecx, ecx
cmp edx, eax
setge cl
sub ecx, dword [ebp - 0x1c]
neg ecx
sbb ecx, ecx
inc ecx
mov dword [ebp - 0x64], ecx
lea ecx, [ebp - 0x3d8]
call fcn.10013739
inc dword [ebp - 0x1c]
push 4
pop edx
cmp dword [ebp - 0x1c], edx
jg 0x1001eaba
mov byte [ebp - 0xd], bl
xor ecx, ecx
mov dword [ebp - 0x3c], ebx
inc ecx
mov dword [ebp - 0x44], 6
mov dword [ebp - 0x4c], 0xfffffff6
mov dword [ebp - 0x14], ebx
jmp 0x1001eba2
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x1e8], 0x31e468a0
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ecx
jl 0x1001eb91
cmp dword [ebp - 0x3c], ebx
je 0x1001ec0e
mov dword [ebp - 0x14], 0x989d221e
mov ecx, dword [ebp - 0x14]
sub ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
neg ecx
sbb ecx, ecx
xor edx, edx
inc ecx
cmp ecx, eax
mov eax, dword [ebp - 0x14]
setle dl
xor ecx, ecx
cmp edx, eax
setg cl
mov dword [ebp - 0x44], ecx
mov eax, dword [ebp - 0x44]
sub eax, dword [ebp - 0x3c]
neg eax
sbb eax, eax
inc eax
cmp dword [ebp - 0x3c], eax
jle 0x1001ebee
mov dword [ebp - 0x4c], 0xf9beab1d
mov dword [ebp - 0x4c], 0x7fc0549e
mov dword [ebp - 0x4c], 0x2294bb48
mov dword [ebp - 0x4c], 0x2e819d33
mov dword [ebp - 0x24], 0x7f3c88fe
mov dword [ebp - 0x14], ebx
jmp 0x1001ec47
mov dword [ebp - 0x20], 0xf89b546
mov dword [ebp - 0x18], 0xea964a90
mov dword [ebp - 0x14], ebx
jmp 0x1001ed26
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x2a0], 0x85f70ad6
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x1001ed15
push 2
mov dword [ebp - 0x20], ebx
pop edi
jmp 0x1001edf5
mov dword [ebp - 0x1c], 0x52c58fb7
lea ecx, [ebp - 0x4bc]
mov dword [ebp - 0x24], 0x7008b15e
push 4
call fcn.100126dc
push 4
mov dword [ebp - 0x14], ebx
pop edx
jmp 0x1001ed6c
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x4bc]
mov dword [eax + ecx*4], 0xc18ab9c
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edx
jl 0x1001ed59
mov dword [ebp - 0x1c], edi
cmp dword [ebp - 0x1c], ebx
jl 0x1001edce
mov dword [ebp - 0x4c], 0x58bdfadf
mov dword [ebp - 0x64], edx
mov dword [ebp - 0x64], 0x87d6364d
mov eax, dword [ebp - 0x1c]
cmp dword [ebp + eax*4 - 0x2a0], ebx
jne 0x1001edce
mov dword [ebp - 0x18], ebx
jmp 0x1001ede2
cmp dword [ebp - 0x20], edi
jle 0x1001ed36
mov dword [ebp - 0x20], edi
cmp dword [ebp - 0x20], ebx
jl 0x1001ee42
xor ecx, ecx
inc ecx
mov dword [ebp - 0x14], ebx
jmp 0x1001ee1f
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x13c], 7
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ecx
jl 0x1001ee0e
dec dword [ebp - 0x13c]
mov byte [ebp - 0xd], bl
cmp byte [ebp - 0xd], 0
je 0x1001ee3d
mov dword [ebp - 0x5c], 0xb400765e
lea ecx, [ebp - 0x1b4]
mov dword [ebp - 0x4c], ebx
push 1
call fcn.100126dc
lea ecx, [ebp - 0x720]
mov byte [ebp - 4], 0x15
movdqa xmm0, xmmword [0x1000e330]
lea eax, [ebp - 0x710]
push ecx
push eax
push ecx
mov dword [ebp - 0x44], 0x57994279
lea ecx, [ebp - 0x1a4]
movdqu xmmword [ebp - 0x720], xmm0
call fcn.10012718
lea ecx, [ebp - 0x760]
mov byte [ebp - 4], 0x16
movdqa xmm0, xmmword [0x1000e340]
lea eax, [ebp - 0x750]
push ecx
push eax
push ecx
mov dword [ebp - 0x74], 8
lea ecx, [ebp - 0x2b8]
movdqu xmmword [ebp - 0x760], xmm0
call fcn.10012718
lea ecx, [ebp - 0x6e0]
mov byte [ebp - 4], 0x17
movdqa xmm0, xmmword [0x1000e380]
lea eax, [ebp - 0x6d0]
push ecx
push eax
push ecx
mov dword [ebp - 0x4c], ebx
lea ecx, [ebp - 0x5b0]
movdqu xmmword [ebp - 0x6e0], xmm0
call fcn.10012718
xor edx, edx
mov byte [ebp - 4], 0x18
mov dword [ebp - 0x20], ebx
inc edx
jmp 0x1001ef13
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x1b4]
mov dword [eax + ecx*4], 0xd509978f
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], edx
jl 0x1001ef00
mov dword [ebp - 0x20], ebx
jmp 0x1001ef2a