Function at 0x1002ec44
Capabilities:
Delete file
Enumerate gui resources
Get common file path
Get disk information
Get file system object information
Identify system language via api
Log keystrokes
Log keystrokes via polling
Query service status
Read .ini file
Resume thread

Disassembly:
mov eax, 0x1007c740
call fcn.1007c0c8
mov eax, 0x119c
call fcn.10064c90
push ebx
push esi
push edi
mov edi, 0xd162c5d1
mov dword [ebp - 0x54], ecx
mov dword [ebp - 0x50], edi
xor eax, eax
mov dword [ebp - 0x20], 0x45d764ce
mov esi, 0xe6f8
mov dword [ebp - 0x34], 0xbebf0a0c
mov dword [ebp - 0x14], 0xffffffff
mov dword [ebp - 0x28], 0xfff6
push 2
pop ecx
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x44], 0x5df97f74
mov dword [ebp - 0x10], eax
mov byte [ebp - 0x55], dl
cmp dword [ebp - 0x10], ecx
jge 0x1002ecb5
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x120], esi
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ecx
jl 0x1002eca1
xor eax, eax
xor ecx, ecx
mov dword [ebp - 0x10], eax
inc ecx
cmp dword [ebp - 0x10], ecx
jge 0x1002ecd8
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x2e8], 5
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ecx
jl 0x1002ecc0
xor eax, eax
mov dword [ebp - 0x10], eax
jmp 0x1002ecee
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x2f4], 0
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ecx
jl 0x1002ecdd
mov eax, dword [ebp - 0x28]
mov ebx, 0x3fb18ba7
inc dword [ebp - 0x28]
cmp eax, ebx
jge 0x1002ed06
mov eax, ecx
jmp 0x1002ed08
xor eax, eax
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x20], eax
xor eax, eax
cmp dword [ebp - 0x20], eax
jne 0x1002ed84
mov eax, dword [ebp - 0x28]
xor edx, edx
mov eax, dword [ebp - 0x120]
mov ecx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x20]
cmp eax, ecx
mov eax, dword [ebp - 0x120]
setge dl
xor ecx, ecx
neg edx
cmp edx, eax
mov eax, dword [ebp - 0x2e8]
setl cl
sub ecx, eax
xor eax, eax
cmp ecx, 0x36eaf0ab
setne al
xor ecx, ecx
test eax, eax
mov eax, dword [ebp - 0x20]
setle cl
xor edx, edx
cmp ecx, eax
setle dl
mov dword [ebp - 0x2e8], edx
mov eax, dword [ebp - 0x28]
imul eax, edx
cmp eax, dword [ebp - 0x14]
jge 0x1002ed75
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x20]
xor ecx, ecx
mov eax, dword [ebp - 0x11c]
inc ecx
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x120]
sub ecx, eax
mov eax, dword [ebp - 0x120]
neg ecx
push 2
sbb ecx, ecx
xor edx, edx
inc ecx
cmp ecx, eax
mov eax, dword [ebp - 0x120]
sete dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x14]
setge cl
imul eax, ecx
cmp eax, 0xffffffff
mov eax, dword [ebp - 0x2f4]
sbb edx, edx
xor ecx, ecx
neg edx
sub edx, eax
mov eax, dword [ebp - 0x120]
cmp eax, edx
mov eax, dword [ebp - 0x1c]
setge cl
xor edx, edx
cmp ecx, 0xffffffff
setne dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x120]
setle cl
xor edx, edx
imul ecx, eax
mov eax, dword [ebp - 0x2f4]
cmp ecx, eax
mov eax, dword [ebp - 0x50]
sete dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x50]
setle cl
xor edx, edx
cmp ecx, 0xfffffff6
setge dl
xor ecx, ecx
cmp edx, eax
setne cl
add ecx, dword [ebp - 0x50]
neg ecx
sbb ecx, ecx
xor eax, eax
neg ecx
sub ecx, dword [ebp - 0x50]
mov dword [ebp - 0x50], ecx
mov dword [ebp - 0x50], edi
mov dword [ebp - 0x20], 0x45d764ce
mov dword [ebp - 0x34], 0xbebf0a0c
mov dword [ebp - 0x14], 0xffffffff
mov dword [ebp - 0x28], 0xfff6
pop edi
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x44], 0x5df97f74
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], edi
jge 0x1002ee6a
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x118], esi
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edi
jl 0x1002ee56
xor eax, eax
xor esi, esi
mov dword [ebp - 0x10], eax
inc esi
cmp dword [ebp - 0x10], esi
jge 0x1002ee8d
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x288], 5
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], esi
jl 0x1002ee75
xor eax, eax
mov dword [ebp - 0x10], eax
jmp 0x1002eea3
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x350], 0
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], esi
jl 0x1002ee92
mov eax, dword [ebp - 0x28]
inc dword [ebp - 0x28]
cmp eax, ebx
jge 0x1002eeb6
mov eax, esi
jmp 0x1002eeb8
xor eax, eax
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x20], eax
xor eax, eax
cmp dword [ebp - 0x20], eax
jne 0x1002ef31
mov eax, dword [ebp - 0x28]
xor edx, edx
mov eax, dword [ebp - 0x118]
mov ecx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x20]
cmp eax, ecx
mov eax, dword [ebp - 0x118]
setge dl
xor ecx, ecx
neg edx
cmp edx, eax
mov eax, dword [ebp - 0x288]
setl cl
sub ecx, eax
xor eax, eax
cmp ecx, 0x36eaf0ab
setne al
xor ecx, ecx
test eax, eax
mov eax, dword [ebp - 0x20]
setle cl
xor edx, edx
cmp ecx, eax
setle dl
mov dword [ebp - 0x288], edx
mov eax, dword [ebp - 0x28]
imul eax, edx
cmp eax, dword [ebp - 0x14]
jge 0x1002ef25
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x114]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x118]
mov ecx, esi
sub ecx, eax
mov eax, dword [ebp - 0x118]
neg ecx
sbb ecx, ecx
xor edx, edx
inc ecx
cmp ecx, eax
mov eax, dword [ebp - 0x118]
sete dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x14]
setge cl
imul eax, ecx
cmp eax, 0xffffffff
mov eax, dword [ebp - 0x350]
sbb edx, edx
xor ecx, ecx
neg edx
sub edx, eax
mov eax, dword [ebp - 0x118]
cmp eax, edx
mov eax, dword [ebp - 0x1c]
setge cl
xor edx, edx
cmp ecx, 0xffffffff
setne dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x118]
setle cl
xor edx, edx
imul ecx, eax
mov eax, dword [ebp - 0x350]
cmp ecx, eax
mov eax, dword [ebp - 0x50]
sete dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x50]
setle cl
xor edx, edx
cmp ecx, 0xfffffff6
setge dl
xor ecx, ecx
cmp edx, eax
setne cl
add ecx, dword [ebp - 0x50]
neg ecx
sbb ecx, ecx
xor eax, eax
neg ecx
sub ecx, dword [ebp - 0x50]
mov dword [ebp - 0x50], ecx
mov dword [ebp - 0x10], 9
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 3
jge 0x1002effa
mov eax, dword [ebp - 0x28]
mov dword [ebp + eax*4 - 0x5f8], 0xd7f825e
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], 3
jl 0x1002efe1
xor eax, eax
mov esi, dword [sym.imp.KERNEL32.dll_EnumCalendarInfoW]
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], edi
mov edi, dword [sym.imp.OLEAUT32.dll_SysStringLen]
jg 0x1002f0cb
push 2
pop ebx
mov dword [ebp - 0x20], 0xffffffff
mov dword [ebp - 0x3c], 0x2184e5a9
mov dword [ebp - 0x20], ebx
cmp dword [ebp - 0x20], eax
jl 0x1002f04f
mov byte [ebp - 0x15], al
cmp byte [ebp - 0x15], 0
je 0x1002f03c
push eax
push eax
push eax
push eax
call esi
xor eax, eax
mov byte [ebp - 0x15], al
cmp byte [ebp - 0x15], 0
je 0x1002f04a
push eax
call edi
xor eax, eax
dec dword [ebp - 0x20]
jns 0x1002f02b
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x3c], ebx
xor ebx, ebx
mov eax, dword [ebp - 0x20]
cmp eax, 0x57257ea0
mov eax, dword [ebp - 0x10]
setl bl
xor edx, edx
push 2
imul ebx, dword [ebp + eax*4 - 0x5f8]
mov ecx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x10]
cmp ecx, eax
mov eax, dword [ebp - 0x10]
setne dl
xor ecx, ecx
cmp ebx, edx
pop ebx
mov eax, dword [ebp + eax*4 - 0x5f8]
setne cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x10]
setg dl
xor ecx, ecx
push 0
imul edx, dword [ebp + eax*4 - 0x5f8]
mov eax, dword [ebp - 0x5f8]
imul edx, eax
mov eax, dword [ebp - 0x10]
cmp edx, eax
pop eax
sete cl
mov dword [ebp - 0x5f4], ecx
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jle 0x1002f015
mov ebx, dword [sym.imp.USER32.dll_GetDesktopWindow]
mov byte [ebp - 0x15], al
cmp byte [ebp - 0x15], 0
je 0x1002f0e6
push eax
call ebx
push eax
call dword [sym.imp.USER32.dll_GetWindowRect]
xor eax, eax
xor ecx, ecx
mov dword [ebp - 0x34], 0x743d837b
mov dword [ebp - 0x28], eax
inc ecx
cmp dword [ebp - 0x28], ecx
jge 0x1002f110
mov eax, dword [ebp - 0x28]
mov dword [ebp + eax*4 - 0x564], 0xfffd
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], ecx
jl 0x1002f0f8
xor eax, eax
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], eax
jl 0x1002f158
mov dword [ebp - 0x20], 0xffffffff
mov byte [ebp - 0x15], al
cmp byte [ebp - 0x15], 0
je 0x1002f133
call dword [sym.imp.USER32.dll_GetCaretBlinkTime]
xor ecx, ecx
xor eax, eax
inc ecx
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], ecx
jge 0x1002f153
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x564], 0xffff
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], ecx
jl 0x1002f13b
xor eax, eax
dec dword [ebp - 0x34]
jns 0x1002f118
mov dword [ebp - 0x20], 0x90c4d8e5
mov dword [ebp - 0x28], eax
push 0xfffffffffffffffb
pop edx
cmp dword [ebp - 0x28], ecx
jge 0x1002f17e
mov eax, dword [ebp - 0x28]
mov dword [ebp + eax*4 - 0x294], edx
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], ecx
jl 0x1002f16a
xor eax, eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], eax
jl 0x1002f1f4
mov dword [ebp - 0x28], 0x727cad7d
mov dword [ebp - 0x1c], 0xedac7a8c
mov dword [ebp - 0x44], 0x8b421dd2
mov eax, dword [ebp - 0x28]
cmp dword [ebp - 0x294], ecx
je 0x1002f1ac
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x1c]
xor edx, edx
mov eax, dword [ebp - 0x28]
cmp eax, ecx
push 1
setle dl
sub edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x294]
neg edx
sbb edx, edx
add edx, 0xffff2987
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
mov eax, dword [ebp - 0x28]
setge cl
sub ecx, eax
neg ecx
sbb ecx, ecx
add ecx, 0x571d
mov dword [ebp - 0x44], ecx
dec dword [ebp - 0x20]
pop ecx
jns 0x1002f186
xor eax, eax
mov dword [ebp - 0x50], 0xd162c5d1
mov dword [ebp - 0x20], 0x45d764ce
mov dword [ebp - 0x34], 0xbebf0a0c
mov dword [ebp - 0x14], 0xffffffff
mov dword [ebp - 0x28], 0xfff6
push 2
pop edx
mov dword [ebp - 0x1c], edx
mov dword [ebp - 0x44], 0x5df97f74
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], edx
jge 0x1002f244
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x128], 0xe6f8
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edx
jl 0x1002f22c
xor eax, eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], ecx
jge 0x1002f264
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x310], 5
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ecx
jl 0x1002f24c
xor eax, eax
mov dword [ebp - 0x10], eax
jmp 0x1002f27a
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x2a0], 0
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ecx
jl 0x1002f269
mov eax, dword [ebp - 0x28]
inc dword [ebp - 0x28]
cmp eax, 0x3fb18ba7
jge 0x1002f290
mov eax, ecx
jmp 0x1002f292
xor eax, eax
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x20], eax
xor eax, eax
cmp dword [ebp - 0x20], eax
jne 0x1002f30e
mov eax, dword [ebp - 0x28]
xor edx, edx
mov eax, dword [ebp - 0x128]
mov ecx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x20]
cmp eax, ecx
mov eax, dword [ebp - 0x128]
setge dl
xor ecx, ecx
neg edx
cmp edx, eax
mov eax, dword [ebp - 0x310]
setl cl
sub ecx, eax
xor eax, eax
cmp ecx, 0x36eaf0ab
setne al
xor ecx, ecx
test eax, eax
mov eax, dword [ebp - 0x20]
setle cl
xor edx, edx
cmp ecx, eax
setle dl
mov dword [ebp - 0x310], edx
mov eax, dword [ebp - 0x28]
imul eax, edx
cmp eax, dword [ebp - 0x14]
jge 0x1002f2ff
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x20]
xor ecx, ecx
mov eax, dword [ebp - 0x124]
inc ecx
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x128]
sub ecx, eax
mov eax, dword [ebp - 0x128]
neg ecx
sbb ecx, ecx
xor edx, edx
inc ecx
cmp ecx, eax
mov eax, dword [ebp - 0x128]
sete dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x14]
setge cl
imul eax, ecx
cmp eax, 0xffffffff
mov eax, dword [ebp - 0x2a0]
sbb edx, edx
xor ecx, ecx
neg edx
sub edx, eax
mov eax, dword [ebp - 0x128]
cmp eax, edx
mov eax, dword [ebp - 0x1c]
setge cl
xor edx, edx
cmp ecx, 0xffffffff
setne dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x128]
setle cl
xor edx, edx
imul ecx, eax
mov eax, dword [ebp - 0x2a0]
cmp ecx, eax
mov eax, dword [ebp - 0x50]
sete dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x50]
setle cl
xor edx, edx
cmp ecx, 0xfffffff6
setge dl
xor ecx, ecx
cmp edx, eax
setne cl
add ecx, dword [ebp - 0x50]
neg ecx
sbb ecx, ecx
xor eax, eax
neg ecx
sub ecx, dword [ebp - 0x50]
mov dword [ebp - 0x50], ecx
mov dword [ebp - 0x10], 9
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 3
jge 0x1002f3d5
mov eax, dword [ebp - 0x28]
mov dword [ebp + eax*4 - 0x6b4], 0xd7f825e
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], 3
jl 0x1002f3bc
xor eax, eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 2
jg 0x1002f4a4
mov dword [ebp - 0x20], 0xffffffff
mov dword [ebp - 0x3c], 0x2184e5a9
mov dword [ebp - 0x20], 2
cmp dword [ebp - 0x20], eax
jl 0x1002f420
mov byte [ebp - 0x15], al
cmp byte [ebp - 0x15], 0
je 0x1002f40d
push eax
push eax
push eax
push eax
call esi
xor eax, eax
mov byte [ebp - 0x15], al
cmp byte [ebp - 0x15], 0
je 0x1002f41b
push eax
call edi
xor eax, eax
dec dword [ebp - 0x20]
jns 0x1002f3fc
mov eax, dword [ebp - 0x10]
xor ebx, ebx
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x3c], 2
mov eax, dword [ebp - 0x20]
cmp eax, 0x57257ea0
mov eax, dword [ebp - 0x10]
setl bl
xor edx, edx
push 0
imul ebx, dword [ebp + eax*4 - 0x6b4]
mov ecx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x10]
cmp ecx, eax
mov eax, dword [ebp - 0x10]
setne dl
xor ecx, ecx
cmp ebx, edx
mov eax, dword [ebp + eax*4 - 0x6b4]
setne cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x10]
setg dl
xor ecx, ecx
imul edx, dword [ebp + eax*4 - 0x6b4]
mov eax, dword [ebp - 0x6b4]
imul edx, eax
mov eax, dword [ebp - 0x10]
cmp edx, eax
pop eax
sete cl
mov dword [ebp - 0x6b0], ecx
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jle 0x1002f3e2
mov ebx, dword [sym.imp.USER32.dll_GetDesktopWindow]
mov byte [ebp - 0x15], al
cmp byte [ebp - 0x15], 0
je 0x1002f4b9
push eax
call ebx
push eax
call dword [sym.imp.USER32.dll_GetWindowRect]
xor eax, eax
mov dword [ebp - 0x50], 0xffffffff
push 3
mov dword [ebp - 0x1c], 0x17be1879
pop ecx
mov dword [ebp - 0x3c], 0xdbdf7cd9
mov dword [ebp - 0x10], eax
push 8
pop edx
cmp dword [ebp - 0x10], ecx
jge 0x1002f4f0
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x10c4], edx
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ecx
jl 0x1002f4dc
xor eax, eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], ecx
jge 0x1002f510
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0xf98], 0
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ecx
jl 0x1002f4f8
xor eax, eax
inc dword [ebp - 0x50]
mov edx, 0xd4dfbd6c
mov dword [ebp - 0x50], eax
jmp 0x1002f536
mov dword [ebp - 0x1c], 0x73d2d672
mov dword [ebp - 0x80], edx
mov dword [ebp - 0x7c], edx
mov dword [ebp - 0x78], edx
mov dword [ebp - 0x74], edx
inc dword [ebp - 0x3c]
inc dword [ebp - 0x50]
cmp dword [ebp - 0x50], 2
jle 0x1002f51d
mov dword [ebp - 0x28], 0xde19d29b
xor edx, edx
mov dword [ebp - 0x4c], 0xcdc345fe
inc edx
mov dword [ebp - 0x30], edx
mov dword [ebp - 0x2c], 0xb8e9646b
mov dword [ebp - 0x44], 0xffffffff
mov dword [ebp - 0x1c], 0x8664a11
mov dword [ebp - 0x1c], edx
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 2
jge 0x1002f58a
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x898], 0x6482
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jl 0x1002f571
xor eax, eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 2
jge 0x1002f5ac
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x424], 7
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jl 0x1002f593
xor eax, eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], ecx
jge 0x1002f5cc
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x778], 0xeafb5d1c
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ecx
jl 0x1002f5b4
xor eax, eax
mov dword [ebp - 0x28], edx
mov ecx, 0x4e6d4f28
mov dword [ebp - 0x50], 0xfffffff9
cmp dword [ebp - 0x28], eax
jl 0x1002f6fc
mov dword [ebp - 0x500], ecx
mov dword [ebp - 0x4fc], ecx
mov dword [ebp - 0x4f8], ecx
mov dword [ebp - 0x4f4], ecx
or ecx, 0xffffffff
mov dword [ebp - 0x1c], 0xfffffff9
mov dword [ebp - 0x3c], 0x69a75015
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x34], 0x20ba2c16
mov dword [ebp - 0x3c], 0x89c1c50d
mov dword [ebp - 0x9d8], ecx
mov dword [ebp - 0x9d4], ecx
mov dword [ebp - 0x9d0], ecx
mov dword [ebp - 0x9cc], ecx
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x4f8], edx
cmp dword [ebp - 0x4f8], eax
jl 0x1002f669
mov byte [ebp - 0x15], al
cmp byte [ebp - 0x15], 0
je 0x1002f661
push eax
push 0x2027
call ebx
push eax
call dword [sym.imp.USER32.dll_SetDlgItemTextA]
xor eax, eax
dec dword [ebp - 0x4f8]
jns 0x1002f647
mov eax, dword [ebp - 0x778]
dec dword [ebp - 0x778]
mov dword [ebp - 0x1c], 0xcccaea0a
mov ecx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x44]
inc dword [ebp - 0x34]
cmp eax, ecx
jg 0x1002f6a4
mov ecx, dword [ebp - 0x34]
xor edx, edx
mov eax, dword [ebp - 0x420]
cmp ecx, eax
mov eax, dword [ebp - 0x30]
setg dl
sub edx, eax
jne 0x1002f6a4
xor eax, eax
jmp 0x1002f6a7
xor eax, eax
inc eax
mov dword [ebp - 0x3c], eax
xor edx, edx
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x420]
mov eax, dword [ebp - 0x28]
push 0
mov eax, dword [ebp + eax*4 - 0x898]
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x9d8]
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x3c], eax
mov ecx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x4fc]
cmp ecx, eax
pop eax
setge dl
mov ecx, 0x4e6d4f28
mov dword [ebp - 0x424], edx
dec dword [ebp - 0x28]
push 1
pop edx
jns 0x1002f5e4
mov dword [ebp - 0x2c], eax
jmp 0x1002f73b
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], 2
jg 0x1002f738
xor ecx, ecx
mov eax, dword [ebp - 0x2c]
cmp dword [ebp + eax*4 - 0x424], ecx
mov eax, dword [ebp - 0x2c]
je 0x1002f724
cmp dword [ebp + eax*4 - 0x774], ecx
jmp 0x1002f72b
cmp dword [ebp + eax*4 - 0x898], ecx
jne 0x1002f736
inc dword [ebp - 0x30]
cmp dword [ebp - 0x30], 2
jle 0x1002f70c
xor eax, eax
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], edx
jle 0x1002f701
mov dword [ebp - 0x10], eax
mov byte [ebp - 0x15], al
cmp byte [ebp - 0x15], 0
je 0x1002f759
push eax
push eax
call dword [sym.imp.KERNEL32.dll_FileTimeToLocalFileTime]
xor edx, edx
xor eax, eax
inc edx
mov dword [ebp - 0x10], eax
jmp 0x1002f8d9
mov dword [ebp - 0x20], 0xdb22124f
mov dword [ebp - 0x20], 0x12
jmp 0x1002f8c9
mov dword [ebp - 0x30], 0xffffffff
mov dword [ebp - 0x30], 6
jmp 0x1002f8b9
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 2
jge 0x1002f7a9
mov eax, dword [ebp - 0x28]
mov dword [ebp + eax*4 - 0x358], 0xffffffff
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], 2
jl 0x1002f790
xor eax, eax
mov dword [ebp - 0x354], 0xe
jmp 0x1002f8a6
mov dword [ebp - 0x2c], 0xb9876427
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 2
jge 0x1002f7e1
mov eax, dword [ebp - 0x28]
mov dword [ebp + eax*4 - 0xb90], 0xb64fda7e
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], 2
jl 0x1002f7c8
xor eax, eax
mov dword [ebp - 0x2c], eax
jmp 0x1002f864
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 3
jge 0x1002f808
mov eax, dword [ebp - 0x28]
mov dword [ebp + eax*4 - 0x388], 0
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], 3
jl 0x1002f7ef
xor eax, eax
mov dword [ebp - 0x388], edx
cmp dword [ebp - 0x388], eax
jl 0x1002f861
mov dword [ebp - 0x1c], 0xfffffffa
cmp dword [ebp - 0x388], eax
je 0x1002f82c
mov ecx, edx
cmp dword [ebp - 0x1c], edx
je 0x1002f82e
mov ecx, eax
mov eax, dword [ebp - 0x20]
xor edx, edx
add ecx, 0xe713e19f
cmp ecx, eax
mov eax, dword [ebp - 0x388]
push 0
setne dl
sub edx, eax
mov eax, dword [ebp - 0x388]
mov dword [ebp + eax*4 - 0xb90], edx
dec dword [ebp - 0x388]
pop eax
push 1
pop edx
jns 0x1002f816
dec dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], 0xffffffe2
jne 0x1002f7e6
mov byte [ebp - 0x15], al
cmp byte [ebp - 0x15], 0
je 0x1002f89d
push 0xa5c
push 0x1ac4
push 0x2359
push 0x26fe
call ebx
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_Rectangle]
xor eax, eax
inc dword [ebp - 0x354]
push 1
pop edx
cmp dword [ebp - 0x354], 0x14
jle 0x1002f7b8
dec dword [ebp - 0x30]
push 1
pop edx
cmp dword [ebp - 0x30], 0xffffffee
jge 0x1002f787
inc dword [ebp - 0x20]
push 1
pop edx
cmp dword [ebp - 0x20], 0x1d
je 0x1002f774
dec dword [ebp - 0x10]
push 1
pop edx
cmp dword [ebp - 0x10], 0xffffffeb
jl 0x1002f761
mov dword [ebp - 0x14], 0xd162c5d1
xor ecx, ecx
mov dword [ebp - 0x34], 0x743d837b
inc ecx
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], ecx
jge 0x1002f914
mov eax, dword [ebp - 0x28]
mov dword [ebp + eax*4 - 0x578], 0xfffd
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], ecx
jl 0x1002f8fc
xor eax, eax
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], eax
jl 0x1002f95c
mov dword [ebp - 0x20], 0xffffffff
mov byte [ebp - 0x15], al
cmp byte [ebp - 0x15], 0
je 0x1002f937
call dword [sym.imp.USER32.dll_GetCaretBlinkTime]
xor ecx, ecx
xor eax, eax
inc ecx
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], ecx
jge 0x1002f957
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x578], 0xffff
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], ecx
jl 0x1002f93f
xor eax, eax
dec dword [ebp - 0x34]
jns 0x1002f91c
mov dword [ebp - 0x20], 0x45d764ce
mov dword [ebp - 0x20], 0x90c4d8e5
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], ecx
jge 0x1002f989
push 0xfffffffffffffffb
pop edx
mov eax, dword [ebp - 0x28]
mov dword [ebp + eax*4 - 0x370], edx
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], ecx
jl 0x1002f975
xor eax, eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], eax
jl 0x1002f9ff
mov dword [ebp - 0x28], 0x727cad7d
mov dword [ebp - 0x1c], 0xedac7a8c
mov dword [ebp - 0x44], 0x8b421dd2
mov eax, dword [ebp - 0x28]
cmp dword [ebp - 0x370], ecx
je 0x1002f9b7
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x1c]
xor edx, edx
mov eax, dword [ebp - 0x28]
cmp eax, ecx
push 1
setle dl
sub edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x370]
neg edx
sbb edx, edx
add edx, 0xffff2987
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
mov eax, dword [ebp - 0x28]
setge cl
sub ecx, eax
neg ecx
sbb ecx, ecx
add ecx, 0x571d
mov dword [ebp - 0x44], ecx
dec dword [ebp - 0x20]
pop ecx
jns 0x1002f991
xor eax, eax
mov dword [ebp - 0x34], 0xbebf0a0c
mov dword [ebp - 0x10], 0x860b4ffb
mov dword [ebp - 0x1c], 0xd66c4a87
push 0xfffffffffffffffb
pop ecx
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x1c], 0x33f2
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 3
jge 0x1002fa43
mov eax, dword [ebp - 0x28]
mov dword [ebp + eax*4 - 0x113c], 0
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], 3
jl 0x1002fa2a
xor eax, eax
push 2
mov dword [ebp - 0x10], eax
pop ecx
jmp 0x1002fa95
mov dword [ebp - 0x20], 0xdba33992
mov dword [ebp - 0x20], ecx
cmp dword [ebp - 0x20], eax
jl 0x1002fa92
mov dword [ebp - 0x28], 0x95031536
xor ecx, ecx
mov dword [ebp - 0x1c], 0x17d0b0a3
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
mov edx, dword [ebp - 0x28]
imul edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x10]
cmp edx, eax
setne cl
mov dword [ebp - 0x1c], ecx
dec dword [ebp - 0x20]
jns 0x1002fa5a
push 2
xor eax, eax
pop ecx
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ecx
jle 0x1002fa4b
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], ecx
jg 0x1002faba
push 8
pop edx
mov dword [ebp - 0x1c], edx
mov dword [ebp - 0x3c], 3
inc dword [ebp - 0x3c]
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ecx
jle 0x1002faa5
mov dword [ebp - 0x2c], 7
mov dword [ebp - 0x34], 0xb903cfcb
mov dword [ebp - 0x1c], 0xa925f321
mov dword [ebp - 0x2c], 0xfffffff3
cmp dword [ebp - 0x2c], 0xffffffed
jg 0x1002fc19
mov dword [ebp - 0x20], 0x39e63a5b
mov dword [ebp - 0x30], 6
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 3
jge 0x1002fb10
mov eax, dword [ebp - 0x28]
mov dword [ebp + eax*4 - 0x144], 0xd8e5ccc9
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], 3
jl 0x1002faf7
xor eax, eax
mov dword [ebp - 0x13c], 0xfffffff3
jmp 0x1002fbf9
mov dword [ebp - 0x10], 0xffffffff
mov dword [ebp - 0x10], eax
jmp 0x1002fb98
mov dword [ebp - 0x1c], 0xd711e7bf
cmp dword [ebp - 0x10], 3
je 0x1002fb7f
mov eax, dword [ebp - 0x1c]
cmp dword [ebp - 0x10], 0x7a10dd66
jne 0x1002fb47
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x13c]
cmp dword [ebp - 0x20], 0x57289c08
jl 0x1002fb67
xor eax, eax
cmp dword [ebp - 0x20], eax
jne 0x1002fb67
mov edx, eax
jmp 0x1002fb6c
xor eax, eax
lea edx, [eax + 1]
mov eax, dword [ebp - 0x13c]
xor ecx, ecx
cmp eax, edx
setne cl
mov dword [ebp - 0x34], ecx
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x144]
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x1c], eax
xor eax, eax
cmp dword [ebp - 0x13c], eax
jne 0x1002fb9e
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 6
jne 0x1002fb2b
mov eax, dword [ebp - 0x13c]
xor edx, edx
mov eax, dword [ebp - 0x13c]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x13c]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x30]
cmp ecx, eax
push 0
setne dl
xor eax, eax
cmp edx, 0x8db1
setle al
xor edx, edx
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x2c]
cmp eax, ecx
pop eax
setne dl
mov dword [ebp - 0x20], edx
inc dword [ebp - 0x13c]
cmp dword [ebp - 0x13c], 0xfffffffa
jl 0x1002fb1f
dec dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], 0xffffffed
push 0
pop eax
jle 0x1002fae0
push 2
pop ecx
mov dword [ebp - 0x38], 0xffffffff
mov dword [ebp - 0x24], 0xfff6
mov dword [ebp - 0x20], 0xe387fb0b
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], ecx
jge 0x1002fc4e
mov eax, dword [ebp - 0x28]
mov dword [ebp + eax*4 - 0xad4], 0xfffffff8
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], ecx
jl 0x1002fc36
xor eax, eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], ecx
jge 0x1002fc6e
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0xad4], 0x971c1ec2
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], ecx
jl 0x1002fc56
xor eax, eax
mov byte [ebp - 0x15], al
cmp byte [ebp - 0x15], 0
je 0x1002fc83
push eax
call ebx
push eax
call dword [sym.imp.USER32.dll_RemovePropA]
xor eax, eax
mov dword [ebp - 0x1c], 0x6e871d97
push 4
mov dword [ebp - 0x28], eax
pop ecx
cmp dword [ebp - 0x28], ecx
jge 0x1002fcad
mov eax, dword [ebp - 0x28]
mov dword [ebp + eax*4 - 0xe64], 0x42c70bb7
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], ecx
jl 0x1002fc95
xor eax, eax
mov byte [ebp - 0x15], al
cmp byte [ebp - 0x15], 0
je 0x1002fcbc
call dword [sym.imp.USER32.dll_CreatePopupMenu]
mov eax, dword [ebp - 0xe58]
xor ecx, ecx
push 2
mov dword [ebp - 0x1c], eax
inc ecx
pop edx
push 8
mov dword [ebp - 0x44], edx
pop eax
mov dword [ebp - 0x2c], eax
xor eax, eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], ecx
jge 0x1002fcf2
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x1bc], ecx
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ecx
jl 0x1002fcde
xor eax, eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], edx
jge 0x1002fd12
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0xe6c], 0x6085e071
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edx
jl 0x1002fcfa
xor eax, eax
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], eax
jl 0x1002fd8c
mov dword [ebp - 0x34], 0x1ded6804
xor edx, edx
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1bc]
mov eax, dword [ebp - 0x2c]
cmp ecx, eax
setle dl
xor eax, eax
mov dword [ebp - 0x34], edx
cmp dword [ebp - 0x34], eax
je 0x1002fd7e
mov ecx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x1bc]
add ecx, eax
mov eax, dword [ebp - 0x2c]
cmp ecx, 0xfffffffd
mov dword [ebp + eax*4 - 0x1bc], ecx
sbb eax, eax
neg eax
xor edx, edx
cmp eax, 0xfffffff6
mov eax, dword [ebp - 0x34]
setne dl
xor ecx, ecx
cmp edx, eax
mov eax, 0x7df
setg cl
sub eax, ecx
je 0x1002fd7c
xor ecx, ecx
inc ecx
mov eax, ecx
jmp 0x1002fd81
xor eax, eax
xor ecx, ecx
inc ecx
mov dword [ebp - 0x1c], eax
dec dword [ebp - 0x2c]
push 0
pop eax
jns 0x1002fd1a
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x1c], 0x5df97f74
mov dword [ebp - 0x10], 0xa9ac70c3
mov dword [ebp - 0x3c], eax
push 0xfffffffffffffffb
pop eax
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x3c], 9
mov dword [ebp - 0x1c], 0x626a9d9e
mov dword [ebp - 0x1c], 3
mov eax, dword [ebp - 0x10]
xor eax, eax
cmp dword [ebp - 0x10], eax
jne 0x1002fdd3
mov eax, dword [ebp - 0x10]
dec eax
jne 0x1002fdd0
cmp dword [ebp - 0x10], eax
je 0x1002fdd3
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x3c], ecx
mov edx, dword [ebp - 0x3c]
sub edx, dword [ebp - 0x10]
sub edx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x48]
neg edx
sbb edx, edx
xor ecx, ecx
add edx, 0x30a55fa4
cmp edx, eax
setge cl
mov dword [ebp - 0x3c], ecx
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x1c], eax
xor eax, eax
mov byte [ebp - 0x15], al
cmp byte [ebp - 0x15], al
je 0x1002fe22
inc eax
push eax
call ebx
push eax
call dword [sym.imp.USER32.dll_GetSystemMenu]
xor eax, eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 2
jge 0x1002fe44
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x108], 0xe6f8
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jl 0x1002fe2b
xor eax, eax
xor ebx, ebx
mov dword [ebp - 0x10], eax
inc ebx
jmp 0x1002fe5d
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x2ac], 5
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jl 0x1002fe4c
push 0xfffffffffffffffe
pop ecx
mov dword [ebp - 0x30], ecx
push 0xfffffffffffffffd
pop eax
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x1c], 0xfffa
mov dword [ebp - 0x34], 0x51f0ef2f
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x30]
xor eax, eax
cmp dword [ebp - 0x30], eax
jne 0x1002fe9a
mov eax, dword [ebp - 0x30]
sub eax, 0x3e81a3d8
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x2c], ecx
jmp 0x1002ff39
mov dword [ebp - 0x28], 0xe76373a4
xor eax, eax
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x1c], 0x1e33
cmp dword [ebp - 0x28], eax
jne 0x1002ff43
cmp dword [ebp - 0x30], eax
jne 0x1002ff0b
mov eax, dword [ebp - 0x28]
xor edx, edx
mov dword [ebp - 0x3c], 0xb0
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x34], 0x752e4a6b
mov ecx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x30]
cmp ecx, eax
mov eax, dword [ebp - 0x28]
setl dl
xor ecx, ecx
cmp edx, eax
setle cl
cmp ecx, 0x9b4af7b
jl 0x1002ff07
mov eax, dword [ebp - 0x34]
xor eax, eax
jmp 0x1002ff0d
mov eax, ebx
xor edx, edx
test eax, eax
mov eax, dword [ebp - 0x1c]
setne dl
xor ecx, ecx
cmp edx, eax
setg cl
mov dword [ebp - 0x3c], ecx
mov eax, dword [ebp - 0x3c]
sub eax, 0xeda7
imul eax, dword [ebp - 0x30]
neg eax
sbb eax, eax
neg eax
mov dword [ebp - 0x1c], eax
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], 0x11
je 0x1002feb1
xor eax, eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], ebx
jge 0x1002ff65
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x318], 0
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jl 0x1002ff4d
xor eax, eax
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x30], 0x41449c9f
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x28], eax
jmp 0x1002ff88
mov eax, dword [ebp - 0x28]
mov dword [ebp + eax*4 - 0x7d0], 0xafa32fd2
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], 2
jl 0x1002ff77
mov eax, dword [ebp - 0x30]
xor edx, edx
mov ecx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x30]
cmp ecx, eax
mov eax, dword [ebp - 0x30]
setne dl
xor ecx, ecx
cmp edx, eax
setg cl
xor edx, edx
imul ecx, dword [ebp - 0x30]
mov dword [ebp - 0x3c], ecx
mov ecx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x30]
cmp eax, ecx
setg dl
add edx, dword [ebp - 0x30]
mov dword [ebp - 0x30], edx
mov ecx, dword [ebp - 0x30]
neg ecx
mov dword [ebp - 0x3c], 0xfffffffe
mov eax, dword [ebp - 0x3c]
sbb ecx, ecx
neg ecx
sub eax, ecx
sub eax, dword [ebp - 0x7d0]
mov dword [ebp - 0x7d0], eax
xor eax, eax
mov byte [ebp - 0x15], al
cmp byte [ebp - 0x15], al
je 0x1002fffb
push eax
push 0x9b2
push eax
push eax
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov eax, dword [ebp - 0x24]
inc dword [ebp - 0x24]
cmp eax, 0x3fb18ba7
jge 0x1003000c
mov eax, ebx
jmp 0x1003000e
xor eax, eax
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x20], eax
xor eax, eax
cmp dword [ebp - 0x20], eax
jne 0x10030087
mov eax, dword [ebp - 0x24]
xor edx, edx
mov eax, dword [ebp - 0x108]
mov ecx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x20]
cmp eax, ecx
mov eax, dword [ebp - 0x108]
setge dl
xor ecx, ecx
neg edx
cmp edx, eax
mov eax, dword [ebp - 0x2ac]
setl cl
sub ecx, eax
xor eax, eax
cmp ecx, 0x36eaf0ab
setne al
xor ecx, ecx
test eax, eax
mov eax, dword [ebp - 0x20]
setle cl
xor edx, edx
cmp ecx, eax
setle dl
mov dword [ebp - 0x2ac], edx
mov eax, dword [ebp - 0x24]
imul eax, edx
cmp eax, dword [ebp - 0x38]
jge 0x1003007b
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x104]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x108]
mov ecx, ebx
sub ecx, eax
mov eax, dword [ebp - 0x108]
neg ecx
push 3
sbb ecx, ecx
xor edx, edx
inc ecx
cmp ecx, eax
mov eax, dword [ebp - 0x108]
sete dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x38]
setge cl
imul eax, ecx
cmp eax, 0xffffffff
mov eax, dword [ebp - 0x318]
sbb edx, edx
xor ecx, ecx
neg edx
sub edx, eax
mov eax, dword [ebp - 0x108]
cmp eax, edx
mov eax, dword [ebp - 0x44]
setge cl
xor edx, edx
cmp ecx, 0xffffffff
setne dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x108]
setle cl
xor edx, edx
imul ecx, eax
mov eax, dword [ebp - 0x318]
cmp ecx, eax
mov eax, dword [ebp - 0x14]
sete dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x14]
setle cl
xor edx, edx
cmp ecx, 0xfffffff6
setge dl
xor ecx, ecx
cmp edx, eax
mov eax, 0xffff
setne cl
add ecx, dword [ebp - 0x14]
neg ecx
sbb ecx, ecx
neg ecx
sub ecx, dword [ebp - 0x14]
mov dword [ebp - 0x14], ecx
mov dword [ebp - 0x4e0], eax
mov dword [ebp - 0x4dc], eax
mov dword [ebp - 0x4d8], eax
mov dword [ebp - 0x4d4], eax
xor eax, eax
mov dword [ebp - 0x30], 0x94a1888
mov dword [ebp - 0x28], 0xffffffff
pop ecx
mov dword [ebp - 0x30], ecx
cmp dword [ebp - 0x30], eax
jl 0x10030260
mov dword [ebp - 0x38], 0x868b
mov dword [ebp - 0x14], 0x7aced45b
mov dword [ebp - 0x20], 0xd3c095b6
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x28], 0x1ab4
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
add eax, dword [ebp - 0x14]
sub eax, dword [ebp - 0x28]
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp + eax*4 - 0x4e0]
mov edx, dword [ebp - 0x14]
sub edx, eax
mov eax, dword [ebp - 0x30]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
mov eax, dword [ebp - 0x28]
setge cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x28]
setne dl
xor ecx, ecx
cmp edx, eax
setne cl
xor eax, eax
cmp ecx, dword [ebp - 0x30]
jge 0x100301d7
mov edx, ebx
cmp dword [ebp - 0x30], eax
jne 0x100301d9
mov edx, eax
mov eax, dword [ebp - 0x38]
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x30]
push 3
setne cl
cmp ecx, ebx
mov eax, dword [ebp + eax*4 - 0x4e0]
sbb ecx, ecx
xor edx, edx
neg ecx
cmp ecx, eax
mov eax, dword [ebp - 0x4dc]
setne dl
xor ebx, ebx
cmp edx, eax
mov eax, dword [ebp - 0x30]
setne bl
xor edx, edx
mov ecx, dword [ebp + eax*4 - 0x4e0]
mov eax, dword [ebp - 0x4d4]
imul eax, ebx
imul eax, eax, 0x6ca0
cmp ecx, eax
mov eax, dword [ebp - 0x38]
setg dl
xor ecx, ecx
cmp edx, eax
setge cl
xor eax, eax
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x20], eax
pop ecx
cmp dword [ebp - 0x20], ecx
jg 0x10030252
push 0xfffffffffffffffb
pop eax
mov dword [ebp - 0x3c], eax
dec dword [ebp - 0x3c]
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], ecx
jle 0x10030244
dec dword [ebp - 0x30]
push 1
pop ebx
jns 0x10030161
xor eax, eax
mov dword [ebp - 0x10], 9
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], ecx
jge 0x10030287
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x5cc], 0xd7f825e
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ecx
jl 0x1003026f
xor eax, eax
push 2
mov dword [ebp - 0x10], eax
pop ebx
cmp dword [ebp - 0x10], ebx
jg 0x1003034c
mov dword [ebp - 0x20], 0xffffffff
mov dword [ebp - 0x3c], 0x2184e5a9
mov dword [ebp - 0x20], ebx
cmp dword [ebp - 0x20], eax
jl 0x100302d0
mov byte [ebp - 0x15], al
cmp byte [ebp - 0x15], 0
je 0x100302bd
push eax
push eax
push eax
push eax
call esi
xor eax, eax
mov byte [ebp - 0x15], al
cmp byte [ebp - 0x15], 0
je 0x100302cb
push eax
call edi
xor eax, eax
dec dword [ebp - 0x20]
jns 0x100302ac
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x3c], ebx
xor ebx, ebx
mov eax, dword [ebp - 0x20]
cmp eax, 0x57257ea0
mov eax, dword [ebp - 0x10]
setl bl
xor edx, edx
push 2
imul ebx, dword [ebp + eax*4 - 0x5cc]
mov ecx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x10]
cmp ecx, eax
mov eax, dword [ebp - 0x10]
setne dl
xor ecx, ecx
cmp ebx, edx
pop ebx
mov eax, dword [ebp + eax*4 - 0x5cc]
setne cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x10]
setg dl
xor ecx, ecx
push 0
imul edx, dword [ebp + eax*4 - 0x5cc]
mov eax, dword [ebp - 0x5cc]
imul edx, eax
mov eax, dword [ebp - 0x10]
cmp edx, eax
pop eax
sete cl
mov dword [ebp - 0x5c8], ecx
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jle 0x10030296
mov byte [ebp - 0x15], al
cmp byte [ebp - 0x15], 0
je 0x10030365
push eax
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetWindowRect]
xor eax, eax
mov dword [ebp - 0x10], 0x860b4ffb
push 0xfffffffffffffffb
mov dword [ebp - 0x1c], 0xd66c4a87
pop ecx
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x1c], 0x33f2
push 3
mov dword [ebp - 0x14], eax
pop esi
cmp dword [ebp - 0x14], esi
jge 0x100303a3
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x1004], 0
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x1003038b
xor eax, eax
mov dword [ebp - 0x10], eax
jmp 0x100303ef
mov dword [ebp - 0x28], 0xdba33992
mov dword [ebp - 0x28], ebx
cmp dword [ebp - 0x28], eax
jl 0x100303ec
mov dword [ebp - 0x14], 0x95031536
xor ecx, ecx
mov dword [ebp - 0x1c], 0x17d0b0a3
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x14]
imul edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x10]
cmp edx, eax
setne cl
mov dword [ebp - 0x1c], ecx
dec dword [ebp - 0x28]
jns 0x100303b7
xor eax, eax
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jle 0x100303a8
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], ebx
jg 0x10030410
push 8
pop ecx
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x3c], esi
inc dword [ebp - 0x3c]
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jle 0x100303ff
mov dword [ebp - 0x48], 0xb036
mov dword [ebp - 0x1c], 0x9fb1c038
mov dword [ebp - 0x1c], 0xffff
mov dword [ebp - 0x3c], 6
mov dword [ebp - 0x1c], 0x39384257
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], ebx
jge 0x10030453
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xc34], 0xffffffff
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jl 0x1003043b
xor eax, eax
mov byte [ebp - 0x15], al
cmp byte [ebp - 0x15], 0
je 0x10030475
push 0x24b3
push 0x373
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_SetClassLongA]
xor eax, eax
xor edi, edi
inc edi
cmp dword [ebp - 0x48], eax
je 0x10030484
mov eax, dword [ebp - 0x3c]
mov edx, edi
jmp 0x10030486
mov edx, eax
mov eax, dword [ebp - 0x3c]
xor ecx, ecx
cmp edx, eax
sete cl
sub ecx, dword [ebp - 0x48]
neg ecx
sbb ecx, ecx
inc ecx
cmp ecx, 0x9150
jl 0x100304aa
xor eax, eax
cmp dword [ebp - 0xc34], eax
je 0x100304ac
mov eax, edi
mov dword [ebp - 0x1c], eax
mov eax, 0xffff
mov dword [ebp - 0x520], eax
mov dword [ebp - 0x51c], eax
mov dword [ebp - 0x518], eax
mov dword [ebp - 0x514], eax
xor eax, eax
mov dword [ebp - 0x30], 0x94a1888
mov dword [ebp - 0x28], 0xffffffff
mov dword [ebp - 0x30], esi
cmp dword [ebp - 0x30], eax
jl 0x100305e4
mov dword [ebp - 0x38], 0x868b
mov dword [ebp - 0x14], 0x7aced45b
mov dword [ebp - 0x20], 0xd3c095b6
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x28], 0x1ab4
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
add eax, dword [ebp - 0x14]
sub eax, dword [ebp - 0x28]
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp + eax*4 - 0x520]
mov edx, dword [ebp - 0x14]
sub edx, eax
mov eax, dword [ebp - 0x30]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
mov eax, dword [ebp - 0x28]
setge cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x28]
setne dl
xor ecx, ecx
cmp edx, eax
setne cl
xor eax, eax
cmp ecx, dword [ebp - 0x30]
jge 0x1003055e
mov edx, edi
cmp dword [ebp - 0x30], eax
jne 0x10030560
mov edx, eax
mov eax, dword [ebp - 0x38]
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x30]
setne cl
cmp ecx, edi
mov eax, dword [ebp + eax*4 - 0x520]
sbb ecx, ecx
xor edx, edx
neg ecx
cmp ecx, eax
mov eax, dword [ebp - 0x51c]
setne dl
xor ebx, ebx
cmp edx, eax
mov eax, dword [ebp - 0x30]
setne bl
xor edx, edx
mov ecx, dword [ebp + eax*4 - 0x520]
mov eax, dword [ebp - 0x514]
imul eax, ebx
imul eax, eax, 0x6ca0
cmp ecx, eax
mov eax, dword [ebp - 0x38]
setg dl
xor ecx, ecx
cmp edx, eax
setge cl
xor eax, eax
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], esi
jg 0x100305d6
push 0xfffffffffffffffb
pop eax
mov dword [ebp - 0x3c], eax
dec dword [ebp - 0x3c]
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], esi
jle 0x100305c8
dec dword [ebp - 0x30]
jns 0x100304e8
push 2
xor eax, eax
pop ebx
mov dword [ebp - 0x30], 0xb55bb2c2
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x44], edi
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], esi
jge 0x10030611
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x644], 0x1f200025
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x100305f9
xor eax, eax
mov dword [ebp - 0x30], 0x11
cmp dword [ebp - 0x30], 0xffffffeb
jl 0x10030714
mov dword [ebp - 0x10], 0x8795010f
mov dword [ebp - 0x1c], 0xc6f44469
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], ebx
jg 0x10030704
mov eax, dword [ebp - 0x34]
xor ecx, ecx
mov eax, dword [ebp - 0x644]
mov eax, dword [ebp - 0x30]
cmp eax, edi
setge cl
xor edx, edx
cmp ecx, 0xfffffffd
setne dl
add edx, dword [ebp - 0x30]
neg edx
sub edx, 0x7974498b
neg edx
sbb edx, edx
inc edx
sub edx, dword [ebp - 0x10]
neg edx
sbb edx, edx
xor eax, eax
inc edx
cmp edx, 6
setne al
cmp eax, dword [ebp - 0x30]
jl 0x1003067f
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x34]
xor edx, edx
mov eax, dword [ebp - 0x10]
mov esi, dword [ebp + eax*4 - 0x644]
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x10]
cmp ecx, eax
mov eax, dword [ebp - 0x10]
setge dl
xor ecx, ecx
cmp esi, edx
mov eax, dword [ebp + eax*4 - 0x644]
setl cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x34]
setg dl
xor ecx, ecx
neg edx
cmp edx, eax
mov eax, dword [ebp - 0x10]
setg cl
xor edx, edx
cmp ecx, 0xddf3
setg dl
xor ecx, ecx
cmp edx, eax
setle cl
xor edx, edx
sub ecx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x644], ecx
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp + eax*4 - 0x644]
mov eax, dword [ebp - 0x10]
cmp ecx, eax
setg dl
mov dword [ebp - 0x44], edx
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jle 0x1003063c
xor eax, eax
dec dword [ebp - 0x30]
cmp dword [ebp - 0x30], 0xffffffeb
jge 0x10030622
push 3
pop esi
mov ecx, 0xffff
mov dword [ebp - 0x4c0], ecx
mov dword [ebp - 0x4bc], ecx
mov dword [ebp - 0x4b8], ecx
mov dword [ebp - 0x4b4], ecx
mov dword [ebp - 0x30], 0x94a1888
mov dword [ebp - 0x28], 0xffffffff
mov dword [ebp - 0x30], esi
cmp dword [ebp - 0x30], eax
jl 0x10030844
mov dword [ebp - 0x38], 0x868b
mov dword [ebp - 0x14], 0x7aced45b
mov dword [ebp - 0x20], 0xd3c095b6
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x28], 0x1ab4
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
add eax, dword [ebp - 0x14]
sub eax, dword [ebp - 0x28]
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp + eax*4 - 0x4c0]
mov edx, dword [ebp - 0x14]
sub edx, eax
mov eax, dword [ebp - 0x30]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
mov eax, dword [ebp - 0x28]
setge cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x28]
setne dl
xor ecx, ecx
cmp edx, eax
setne cl
xor eax, eax
cmp ecx, dword [ebp - 0x30]
jge 0x100307c1
mov edx, edi
cmp dword [ebp - 0x30], eax
jne 0x100307c3
mov edx, eax
mov eax, dword [ebp - 0x38]
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x30]
setne cl
cmp ecx, edi
mov eax, dword [ebp + eax*4 - 0x4c0]
sbb ecx, ecx
xor edx, edx
neg ecx
cmp ecx, eax
mov eax, dword [ebp - 0x4bc]
setne dl
xor ebx, ebx
cmp edx, eax
mov eax, dword [ebp - 0x30]
setne bl
xor edx, edx
mov ecx, dword [ebp + eax*4 - 0x4c0]
mov eax, dword [ebp - 0x4b4]
imul eax, ebx
imul eax, eax, 0x6ca0
cmp ecx, eax
mov eax, dword [ebp - 0x38]
setg dl
xor ecx, ecx
cmp edx, eax
setge cl
xor eax, eax
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], esi
jg 0x10030839
push 0xfffffffffffffffb
pop eax
mov dword [ebp - 0x3c], eax
dec dword [ebp - 0x3c]
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], esi
jle 0x1003082b
dec dword [ebp - 0x30]
jns 0x1003074b
xor eax, eax
mov dword [ebp - 0x10], 0xfffffffe
mov dword [ebp - 0x3c], esi
mov dword [ebp - 0x3c], 0x37d3709e
mov dword [ebp - 0x38], 0x53a81f6e
mov dword [ebp - 0x1c], 5
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], edi
jge 0x10030883
mov eax, dword [ebp - 0x24]
mov dword [ebp + eax*4 - 0x2b8], 0xd02268f6
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], edi
jl 0x1003086b
xor eax, eax
push 4
mov dword [ebp - 0x24], eax
pop ecx
jmp 0x1003089c
mov eax, dword [ebp - 0x24]
mov dword [ebp + eax*4 - 0xba0], 0x21ebc5f9
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], ecx
jl 0x1003088b
mov esi, dword [ebp - 0x10]
xor edx, edx
mov dword [ebp - 0x2b8], esi
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
cmp ecx, eax
mov eax, 0xfffe
setg dl
imul edx, dword [ebp - 0x10]
dec edx
cmp eax, edx
sbb eax, eax
xor edx, edx
neg eax
cmp esi, eax
mov eax, dword [ebp - 0x10]
setge dl
xor ecx, ecx
add edx, 0xe271
cmp edx, eax
setne cl
xor edx, edx
cmp ecx, 0x82f
setge dl
xor eax, eax
sub edx, 9
cmp edx, edi
setg al
mov dword [ebp - 0x3c], eax
mov edx, dword [ebp - 0x10]
sub edx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x3c]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
sub eax, 0x4a4083d7
cmp edx, eax
setg cl
xor edx, edx
cmp ecx, 0x72010435
setg dl
xor ecx, ecx
mov dword [ebp - 0xb9c], edx
mov eax, dword [ebp - 0x10]
sub edx, eax
mov dword [ebp - 0x3c], edx
mov eax, dword [ebp - 0x3c]
cmp eax, 0x48e0
mov eax, dword [ebp - 0x10]
setne cl
xor edx, edx
cmp ecx, 0xfec1
setl dl
sub edx, 0x1177
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
setge cl
sub ecx, dword [ebp - 0x10]
neg ecx
sbb ecx, ecx
xor ebx, ebx
inc ecx
mov dword [ebp - 0x38], ecx
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x10]
cmp ecx, eax
setl bl
sub ebx, 0x565e
add ebx, dword [ebp - 0x10]
neg ebx
sbb ebx, ebx
xor edx, edx
inc ebx
cmp ebx, 0x2964
setle dl
sub edx, dword [ebp - 0x10]
xor ecx, ecx
mov eax, dword [ebp - 0x10]
add edx, 0xc19c
cmp edx, eax
mov eax, dword [ebp - 0x10]
push 0xfffffffffffffffb
setle cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x10]
setge dl
sub edx, 6
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
setne cl
mov dword [ebp - 0x1c], ecx
mov eax, dword [ebp - 0xb9c]
mov dword [ebp - 0x2b8], eax
mov dword [ebp - 0xb98], eax
mov dword [ebp - 0x10], 0x860b4ffb
pop eax
mov dword [ebp - 0x1c], 0xd66c4a87
mov dword [ebp - 0x1c], eax
xor eax, eax
mov dword [ebp - 0x1c], 0x33f2
push 3
mov dword [ebp - 0x14], eax
pop ebx
cmp dword [ebp - 0x14], ebx
jge 0x10030a11
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xfc8], 0
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jl 0x100309f9
xor eax, eax
push 2
mov dword [ebp - 0x10], eax
pop esi
jmp 0x10030a60
mov dword [ebp - 0x28], 0xdba33992
mov dword [ebp - 0x28], esi
cmp dword [ebp - 0x28], eax
jl 0x10030a5d
mov dword [ebp - 0x14], 0x95031536
xor ecx, ecx
mov dword [ebp - 0x1c], 0x17d0b0a3
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x14]
imul edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x10]
cmp edx, eax
setne cl
mov dword [ebp - 0x1c], ecx
dec dword [ebp - 0x28]
jns 0x10030a28
xor eax, eax
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], esi
jle 0x10030a19
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], esi
jg 0x10030a81