Function at 0x1002aed0
Capabilities:
Clear file content
Compare security identifiers
Create pipe
Get file attributes
Get geographical location
Get session user name
Get thread local storage value
Query environment variable
Set thread local storage value

Disassembly:
mov eax, 0x100753fd
call fcn.10074d90
mov eax, 0x1228
call fcn.100711b0
push ebx
mov ebx, dword [sym.imp.GDI32.dll_GetMetaFileBitsEx]
push esi
mov esi, 0x6432a276
mov byte [ebp - 0x79], dl
mov dword [ebp - 0x40], esi
mov dword [ebp - 0x38], 0x795010f7
mov dword [ebp - 0x28], 0
push edi
mov edi, dword [sym.imp.KERNEL32.dll_FindNextFileW]
mov dword [ebp - 0x30], 0xffffffff
mov dword [ebp - 0x30], 0xfffffff9
mov dword [ebp - 0x30], 0x333f0d22
push 3
mov dword [ebp - 0x4c], 0x830af36e
mov eax, dword [ebp - 0x40]
pop edx
add eax, 0x2526041
mov dword [ebp - 0x60], ecx
push 1
mov dword [ebp - 0x38], eax
pop ecx
je 0x1002af6a
xor eax, eax
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], 0x14
jg 0x1002b02d
mov byte [ebp - 0x31], al
cmp byte [ebp - 0x31], 0
je 0x1002af5c
push eax
push eax
call edi
xor eax, eax
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], 0x14
jle 0x1002af4d
jmp 0x1002b02a
mov dword [ebp - 0x44], 0xffffffff
xor eax, eax
mov dword [ebp - 0x14], 0xda2282d5
mov dword [ebp - 0x1c], eax
jmp 0x1002af90
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x117c], 0x2dc71837
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edx
jl 0x1002af7f
mov dword [ebp - 0x14], ecx
cmp dword [ebp - 0x14], 0xc7b7f609
jbe 0x1002afb3
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x44]
cmp dword [ebp - 0x28], ecx
jne 0x1002afb3
xor eax, eax
mov ecx, eax
mov eax, dword [ebp - 0x44]
imul eax, ecx
cmp eax, dword [ebp - 0x38]
jl 0x1002b014
mov dword [ebp - 0x54], 0xffffffff
push 0xfffffffffffffffd
pop eax
mov dword [ebp - 0x28], 0xffffffff
mov dword [ebp - 0x30], eax
xor eax, eax
mov dword [ebp - 0x1c], eax
jmp 0x1002afea
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0xf84], 0
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edx
jl 0x1002afd9
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0xf84], eax
mov eax, dword [ebp - 0x54]
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x54]
xor eax, eax
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0x38], eax
jmp 0x1002b027
xor eax, eax
mov byte [ebp - 0x31], al
cmp byte [ebp - 0x31], al
je 0x1002b027
push eax
push 0x8ca
push eax
call ebx
dec dword [ebp - 0x4c]
xor ecx, ecx
inc ecx
mov dword [ebp - 0x40], esi
xor eax, eax
mov dword [ebp - 0x38], 0x795010f7
or esi, 0xffffffff
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x30], esi
push 0xfffffffffffffff9
pop eax
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x30], 0x333f0d22
mov dword [ebp - 0x4c], 0x830af36e
mov eax, dword [ebp - 0x40]
add eax, 0x2526041
mov dword [ebp - 0x38], eax
je 0x1002b087
xor eax, eax
mov dword [ebp - 0x38], eax
jmp 0x1002b07c
mov byte [ebp - 0x31], al
cmp byte [ebp - 0x31], 0
je 0x1002b079
push eax
push eax
call edi
xor eax, eax
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], 0x14
jle 0x1002b06a
jmp 0x1002b13e
mov dword [ebp - 0x44], esi
xor eax, eax
push 3
mov dword [ebp - 0x14], 0xda2282d5
mov dword [ebp - 0x1c], eax
pop edx
jmp 0x1002b0ac
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x1194], 0x2dc71837
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edx
jl 0x1002b09b
mov dword [ebp - 0x14], ecx
cmp dword [ebp - 0x14], 0xc7b7f609
jbe 0x1002b0cf
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x44]
cmp dword [ebp - 0x28], ecx
jne 0x1002b0cf
xor eax, eax
mov ecx, eax
mov eax, dword [ebp - 0x44]
imul eax, ecx
cmp eax, dword [ebp - 0x38]
jl 0x1002b128
mov dword [ebp - 0x54], esi
push 0xfffffffffffffffd
pop eax
mov dword [ebp - 0x28], esi
mov dword [ebp - 0x30], eax
xor eax, eax
mov dword [ebp - 0x1c], eax
jmp 0x1002b0fe
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0xfb4], 0
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edx
jl 0x1002b0ed
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0xfb4], eax
mov eax, dword [ebp - 0x54]
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x54]
xor eax, eax
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0x38], eax
jmp 0x1002b13b
xor eax, eax
mov byte [ebp - 0x31], al
cmp byte [ebp - 0x31], al
je 0x1002b13b
push eax
push 0x8ca
push eax
call ebx
dec dword [ebp - 0x4c]
mov dword [ebp - 0x2c], 0xa2fa
xor eax, eax
xor esi, esi
mov dword [ebp - 0x28], 0x20b28787
mov dword [ebp - 0x18], eax
inc esi
push 5
pop ecx
cmp dword [ebp - 0x18], esi
jge 0x1002b170
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x2ec], ecx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jl 0x1002b15c
xor eax, eax
mov dword [ebp - 0x18], eax
jmp 0x1002b186
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xd84], 0
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 2
jl 0x1002b175
mov edx, dword [ebp - 0x2c]
sub edx, 0xb8b78acc
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
sub edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
cmp eax, edx
setle cl
imul ecx, dword [ebp - 0x2c]
cmp ecx, dword [ebp - 0x2c]
je 0x1002b1b7
xor eax, eax
cmp dword [ebp - 0x2c], eax
je 0x1002b1b9
mov eax, esi
xor edx, edx
mov dword [ebp - 0x2ec], 0xf89b5461
mov esi, dword [ebp - 0x2c]
cmp eax, 0xd430
mov dword [ebp - 0xd80], esi
mov eax, dword [ebp - 0x2c]
setge dl
xor ecx, ecx
cmp eax, edx
mov eax, dword [ebp - 0x2c]
setne cl
xor edx, edx
cmp esi, ecx
mov esi, dword [sym.imp.USER32.dll_GetDesktopWindow]
setg dl
xor ecx, ecx
cmp edx, eax
setge cl
sub ecx, 0x764ab9f
mov dword [ebp - 0x28], ecx
je 0x1002b21b
xor eax, eax
cmp dword [ebp - 0x2ec], eax
je 0x1002b21d
mov dword [ebp - 0x28], 0x2da3c3d
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x28], eax
jmp 0x1002b236
xor eax, eax
mov byte [ebp - 0x31], al
cmp byte [ebp - 0x31], 0
je 0x1002b238
push eax
push eax
push 0xa15
call esi
push eax
call dword [sym.imp.USER32.dll_DefWindowProcA]
xor eax, eax
mov dword [ebp - 0x14], 0x52cb1363
mov dword [ebp - 0x28], 0xfffffffe
mov dword [ebp - 0x44], 0xd44f4cc5
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 2
jge 0x1002b26f
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x7cc], 0x342e
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 2
jl 0x1002b256
xor eax, eax
xor ecx, ecx
mov dword [ebp - 0x14], eax
inc ecx
push 4
pop edx
cmp dword [ebp - 0x14], ecx
jg 0x1002b372
mov dword [ebp - 0x24], eax
mov byte [ebp - 0x31], al
cmp byte [ebp - 0x31], 0
je 0x1002b2a0
push 0x1f41
push eax
push eax
call dword [sym.imp.KERNEL32.dll_ExpandEnvironmentStringsW]
xor ecx, ecx
push 4
inc ecx
pop edx
mov eax, dword [ebp - 0x14]
cmp dword [ebp + eax*4 - 0x7cc], 0
jne 0x1002b370
xor eax, eax
mov dword [ebp - 0x24], eax
jmp 0x1002b358
mov dword [ebp - 0x38], 0xfffffff8
mov dword [ebp - 0x38], ecx
cmp dword [ebp - 0x38], eax
jl 0x1002b318
mov dword [ebp - 0x1c], 0x6a205b29
mov dword [ebp - 0x1c], eax
jmp 0x1002b2e7
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0xfcc], 0xffffffff
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edx
jl 0x1002b2d6
mov eax, dword [ebp - 0xfc0]
mov dword [ebp - 0x1c], eax
xor eax, eax
mov dword [ebp - 0x1c], ecx
cmp dword [ebp - 0x1c], eax
jl 0x1002b310
mov dword [ebp - 0x44], 0xfff7
cmp dword [ebp - 0x44], eax
jne 0x1002b310
dec dword [ebp - 0x1c]
jns 0x1002b2ff
dec dword [ebp - 0x38]
push 0
pop eax
jns 0x1002b2ca
mov ecx, dword [ebp - 0x38]
xor edx, edx
mov eax, dword [ebp - 0x24]
cmp ecx, eax
mov eax, dword [ebp - 0x7c8]
mov ecx, dword [ebp - 0x24]
setg dl
sub edx, eax
inc ecx
mov eax, dword [ebp - 0x28]
add ecx, edx
xor edx, edx
cmp ecx, eax
push 4
setne dl
sub edx, 2
neg edx
sbb edx, edx
xor ecx, ecx
neg edx
mov dword [ebp - 0x28], edx
pop edx
mov dword [ebp - 0x44], edx
inc dword [ebp - 0x24]
inc ecx
push 0
pop eax
cmp dword [ebp - 0x24], ecx
jle 0x1002b2bb
inc dword [ebp - 0x14]
push 0
pop eax
cmp dword [ebp - 0x14], ecx
jle 0x1002b281
xor eax, eax
mov dword [ebp - 0x50], 0x6432a276
mov dword [ebp - 0x18], 0xd035
push 0xfffffffffffffff9
pop edx
mov dword [ebp - 0x40], edx
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x54], edx
mov dword [ebp - 0x28], 0xa540
mov dword [ebp - 0x904], ecx
mov dword [ebp - 0x900], ecx
mov dword [ebp - 0x8fc], ecx
mov dword [ebp - 0x8f8], ecx
mov dword [ebp - 0x1c], eax
jmp 0x1002b3c1
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x180], 0x4aee
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ecx
jl 0x1002b3b0
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x18]
sub eax, 0xec4f
neg eax
sbb eax, eax
xor edx, edx
inc eax
mov dword [ebp - 0x3c], eax
mov ecx, dword [ebp - 0x3c]
imul ecx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x18]
cmp eax, ecx
mov eax, dword [ebp - 0x18]
setle dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x18]
setl cl
sub eax, ecx
neg eax
sbb eax, eax
xor edx, edx
inc eax
sub eax, dword [ebp - 0x18]
imul eax, dword [ebp - 0x18]
imul ecx, eax, 0x62d
mov eax, dword [ebp - 0x18]
cmp ecx, eax
setg dl
inc edx
mov dword [ebp - 0x54], edx
je 0x1002b4e1
xor ecx, ecx
inc ecx
xor eax, eax
mov dword [ebp - 0x44], ecx
mov dword [ebp - 0x1c], eax
jmp 0x1002b43f
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x164], ecx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 2
jl 0x1002b432
mov eax, dword [ebp - 0x180]
mov eax, dword [ebp - 0x180]
mov eax, dword [ebp - 0x164]
mov eax, dword [ebp - 0x164]
mov eax, dword [ebp - 0x164]
mov eax, dword [ebp - 0x164]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x164]
mov dword [ebp - 0x3c], 0x29efec1a
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x164]
mov eax, dword [ebp - 0x160]
mov eax, dword [ebp - 0x164]
mov eax, dword [ebp - 0x180]
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x8f8], ecx
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x164]
dec eax
neg eax
sbb eax, eax
inc eax
cmp eax, dword [ebp - 0x180]
jl 0x1002b4ba
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x54], 0xffffffff
mov eax, dword [ebp - 0x54]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x164]
mov eax, dword [ebp - 0x8f8]
mov eax, dword [ebp - 0x3c]
imul eax, dword [ebp - 0x18]
mov dword [ebp - 0x44], eax
xor eax, eax
jmp 0x1002b540
xor eax, eax
mov dword [ebp - 0x28], 0xfffffffa
mov dword [ebp - 0x3c], eax
jmp 0x1002b534
mov byte [ebp - 0x31], al
cmp byte [ebp - 0x31], 0
je 0x1002b50b
push eax
call esi
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.USER32.dll_DrawFocusRect]
xor eax, eax
mov byte [ebp - 0x31], al
cmp byte [ebp - 0x31], 0
je 0x1002b531
push eax
push 0x243d
push 0x1fad
call esi
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_MoveToEx]
xor eax, eax
inc dword [ebp - 0x3c]
cmp dword [ebp - 0x3c], eax
jle 0x1002b4ef
mov dword [ebp - 0x28], 0xcb0a751
mov dword [ebp - 0x38], 0x795010f7
mov dword [ebp - 0x44], eax
push 5
pop ecx
mov dword [ebp - 0x14], ecx
mov ecx, 0x2633933b
mov dword [ebp - 0x18], 0x814b11f3
mov dword [ebp - 0x2c], 0xd71b36c9
mov dword [ebp - 0x484], ecx
mov dword [ebp - 0x480], ecx
mov dword [ebp - 0x47c], ecx
mov dword [ebp - 0x478], ecx
push 3
mov dword [ebp - 0x20], eax
pop ecx
cmp dword [ebp - 0x20], ecx
jge 0x1002b59e
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0xf8], 0xa18e418a
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], ecx
jl 0x1002b586
xor eax, eax
push 4
mov dword [ebp - 0x20], eax
pop ecx
cmp dword [ebp - 0x20], ecx
jge 0x1002b5c1
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x6a8], 0xae07ea4c
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], ecx
jl 0x1002b5a9
xor eax, eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 2
jge 0x1002b5e3
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x618], 0x699ff93f
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 2
jl 0x1002b5ca
xor eax, eax
cmp dword [ebp - 0xf8], eax
jne 0x1002b5f1
mov eax, dword [ebp - 0xf8]
mov eax, dword [ebp - 0xf8]
sub eax, 0xfff8
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0xf8]
neg eax
sbb eax, eax
neg eax
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x69c], eax
mov eax, dword [ebp - 0xf8]
mov eax, dword [ebp - 0xf8]
mov eax, dword [ebp - 0xf8]
mov eax, dword [ebp - 0x6a8]
mov ecx, dword [ebp - 0xf8]
sub ecx, eax
mov eax, dword [ebp - 0xf4]
neg ecx
sbb ecx, ecx
xor edx, edx
inc ecx
cmp ecx, eax
mov eax, 0xffff
setg dl
sub edx, eax
mov eax, dword [ebp - 0xf4]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
mov eax, dword [ebp - 0xf8]
setne cl
add eax, ecx
xor ecx, ecx
cmp eax, 0xfffffffa
mov eax, dword [ebp - 0xf8]
setne cl
xor edx, edx
cmp ecx, 0x23c5ad05
setne dl
add eax, edx
xor edx, edx
cmp eax, 0x23d37f4a
mov eax, dword [ebp - 0xf8]
setge dl
xor ecx, ecx
cmp edx, eax
sete cl
mov dword [ebp - 0xf8], ecx
test ecx, ecx
jne 0x1002b6b3
xor eax, eax
cmp dword [ebp - 0xf8], eax
jne 0x1002b6b3
inc ecx
jmp 0x1002b6b8
xor ecx, ecx
inc ecx
mov eax, ecx
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
cmp eax, 0x9690b281
mov dword [ebp - 0x480], eax
sbb eax, eax
inc eax
mov dword [ebp - 0x618], eax
xor eax, eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0xffffffee
jne 0x1002b845
push 3
pop edi
mov dword [ebp - 0x24], 0x7e1efc39
mov dword [ebp - 0x4c], 0x693cdb7c
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], edi
jge 0x1002b712
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x5d4], 0x9cc1
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edi
jl 0x1002b6fa
xor eax, eax
mov dword [ebp - 0x18], ecx
cmp dword [ebp - 0x18], eax
jl 0x1002b7bc
mov dword [ebp - 0x28], 0xd215cd4d
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], ecx
jg 0x1002b78a
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp + eax*4 - 0xf4]
mov eax, dword [ebp - 0x28]
add eax, edi
sub eax, dword [ebp - 0x18]
neg eax
sbb eax, eax
inc eax
cmp eax, dword [ebp - 0x28]
je 0x1002b755
xor eax, eax
mov edx, eax
cmp dword [ebp - 0x5cc], eax
je 0x1002b757
mov edx, ecx
mov dword [ebp - 0x47c], edx
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp + eax*4 - 0x6a8]
mov eax, dword [ebp - 0x2c]
imul eax, edx
xor edx, edx
cmp ecx, eax
setne dl
xor ecx, ecx
sub edx, 0x3eb8e3d6
inc ecx
mov dword [ebp - 0x24], edx
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], ecx
jle 0x1002b72d
xor eax, eax
mov byte [ebp - 0x31], al
cmp byte [ebp - 0x31], 0
je 0x1002b7b0
push eax
push 0x486
push 0xe9e
call esi
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_SetWindowExtEx]
xor eax, eax
dec dword [ebp - 0x18]
push 1
pop ecx
jns 0x1002b71e
cmp dword [ebp - 0x5cc], eax
je 0x1002b7ee
mov eax, dword [ebp - 0x480]
mov eax, dword [ebp - 0x5cc]
mov dword [ebp - 0xf8], eax
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x69c]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x618]
mov eax, dword [ebp - 0xf8]
mov eax, dword [ebp - 0x47c]
xor edx, edx
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x618]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x6a0]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x480]
test eax, eax
mov eax, dword [ebp - 0x5cc]
setg dl
xor ecx, ecx
cmp edx, eax
push 0
setg cl
mov dword [ebp - 0x6a0], ecx
dec dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0xffffffee
pop eax
push 1
pop ecx
je 0x1002b6e4
mov edi, dword [sym.imp.KERNEL32.dll_FindNextFileW]
push 0xfffffffffffffff9
mov dword [ebp - 0x30], 0xffffffff
pop ecx
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x30], 0x333f0d22
mov dword [ebp - 0x14], 0xfdc8dfba
push 4
mov dword [ebp - 0x18], eax
pop ecx
cmp dword [ebp - 0x18], ecx
jge 0x1002b883
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x708], 0xffffffff
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ecx
jl 0x1002b86b
xor eax, eax
mov dword [ebp - 0x18], eax
jmp 0x1002b899
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xa8c], 0xffffffff
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ecx
jl 0x1002b888
mov ecx, dword [ebp - 0x708]
xor edx, edx
mov eax, dword [ebp - 0x700]
cmp eax, ecx
mov eax, dword [ebp - 0x704]
setl dl
xor ecx, ecx
cmp edx, eax
push 4
setl cl
mov dword [ebp - 0xa8c], ecx
mov dword [ebp - 0x14], 0x10
pop eax
cmp dword [ebp - 0x14], eax
je 0x1002b9f3
push 3
pop ecx
push 4
xor eax, eax
pop edi
mov dword [ebp - 0x20], 0x753e1e01
mov dword [ebp - 0x20], ecx
cmp dword [ebp - 0x20], eax
jl 0x1002b93a
mov eax, dword [ebp - 0x20]
xor edx, edx
mov eax, dword [ebp + eax*4 - 0x708]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp + eax*4 - 0xa8c]
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp + eax*4 - 0xa8c]
mov eax, dword [ebp - 0x700]
cmp ecx, eax
mov eax, dword [ebp - 0x20]
setne dl
mov ecx, dword [ebp + eax*4 - 0x708]
mov eax, dword [ebp - 0x20]
imul ecx, edx
mov dword [ebp + eax*4 - 0xa8c], ecx
dec dword [ebp - 0x20]
jns 0x1002b8ee
push 3
xor eax, eax
pop ecx
mov dword [ebp - 0x20], 0xffffffea
jmp 0x1002b9d7
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1c], eax
jmp 0x1002b99f
mov dword [ebp - 0x24], edi
mov byte [ebp - 0x31], al
cmp byte [ebp - 0x31], 0
je 0x1002b966
push eax
call dword [sym.imp.GDI32.dll_CreateSolidBrush]
push 3
xor eax, eax
pop ecx
mov dword [ebp - 0x24], ecx
cmp dword [ebp - 0x24], eax
jl 0x1002b99c
mov byte [ebp - 0x31], al
cmp byte [ebp - 0x31], 0
je 0x1002b994
push eax
push 0x243d
push 0x1fad
call esi
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_MoveToEx]
xor eax, eax
dec dword [ebp - 0x24]
jns 0x1002b96e
push 3
pop ecx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ecx
jle 0x1002b94e
mov byte [ebp - 0x31], al
cmp byte [ebp - 0x31], 0
je 0x1002b9d4
push 0x27c
push eax
push eax
push 0x703
push 0x1454
push eax
call esi
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_GetDIBits]
push 3
xor eax, eax
pop ecx
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 0x1a
jne 0x1002b946
dec dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jne 0x1002b8df
mov edi, dword [sym.imp.KERNEL32.dll_FindNextFileW]
mov dword [ebp - 0x4c], 0x830af36e
mov eax, dword [ebp - 0x50]
add eax, 0x2526041
mov dword [ebp - 0x38], eax
je 0x1002ba60
xor eax, eax
mov dword [ebp - 0x38], eax
jmp 0x1002ba20
mov byte [ebp - 0x31], al
cmp byte [ebp - 0x31], 0
je 0x1002ba1d
push eax
push eax
call edi
xor eax, eax
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], 0x14
jle 0x1002ba0e
xor esi, esi
inc esi
mov dword [ebp - 0x2c], 0xa2fa
xor eax, eax
mov dword [ebp - 0x28], 0x20b28787
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], esi
jge 0x1002ba58
push 5
pop ecx
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x2f8], ecx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jl 0x1002ba44
xor eax, eax
mov dword [ebp - 0x18], eax
jmp 0x1002bb40
mov dword [ebp - 0x28], 0xffffffff
xor eax, eax
push 3
mov dword [ebp - 0x14], 0xda2282d5
mov dword [ebp - 0x1c], eax
pop edx
jmp 0x1002ba89
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x11ac], 0x2dc71837
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edx
jl 0x1002ba78
xor esi, esi
inc esi
mov dword [ebp - 0x14], esi
cmp dword [ebp - 0x14], 0xc7b7f609
jbe 0x1002bab1
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x28]
cmp dword [ebp - 0x44], esi
jne 0x1002bab1
xor eax, eax
mov ecx, eax
jmp 0x1002bab3
mov ecx, esi
mov eax, dword [ebp - 0x28]
imul eax, ecx
cmp eax, dword [ebp - 0x38]
jl 0x1002bb14
mov dword [ebp - 0x40], 0xffffffff
push 0xfffffffffffffffd
pop eax
mov dword [ebp - 0x28], 0xffffffff
mov dword [ebp - 0x30], eax
xor eax, eax
mov dword [ebp - 0x1c], eax
jmp 0x1002baea
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0xea0], 0
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edx
jl 0x1002bad9
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0xea0], eax
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x50]
mov eax, dword [ebp - 0x40]
xor eax, eax
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x38], eax
jmp 0x1002bb27
xor eax, eax
mov byte [ebp - 0x31], al
cmp byte [ebp - 0x31], al
je 0x1002bb27
push eax
push 0x8ca
push eax
call ebx
dec dword [ebp - 0x4c]
jmp 0x1002ba29
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xbd4], 0
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 2
jl 0x1002bb2f
mov edx, dword [ebp - 0x2c]
sub edx, 0xb8b78acc
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
sub edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
cmp eax, edx
setle cl
imul ecx, dword [ebp - 0x2c]
cmp ecx, dword [ebp - 0x2c]
je 0x1002bb71
xor eax, eax
cmp dword [ebp - 0x2c], eax
je 0x1002bb73
mov eax, esi
xor edx, edx
mov dword [ebp - 0x2f8], 0xf89b5461
mov esi, dword [ebp - 0x2c]
cmp eax, 0xd430
mov dword [ebp - 0xbd0], esi
mov eax, dword [ebp - 0x2c]
setge dl
xor ecx, ecx
cmp eax, edx
mov eax, dword [ebp - 0x2c]
setne cl
xor edx, edx
cmp esi, ecx
setg dl
xor ecx, ecx
cmp edx, eax
setge cl
sub ecx, 0x764ab9f
mov dword [ebp - 0x28], ecx
je 0x1002bbf5
xor eax, eax
cmp dword [ebp - 0x2f8], eax
je 0x1002bbf7
mov dword [ebp - 0x28], 0x2da3c3d
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x28], eax
xor eax, eax
mov ebx, dword [sym.imp.USER32.dll_GetDesktopWindow]
mov dword [ebp - 0x38], 0xb546158d
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x28], 0x9c9214a9
push 3
mov dword [ebp - 0x44], 0x66e6
mov dword [ebp - 0x1c], eax
pop edx
jmp 0x1002bc2b
xor eax, eax
mov byte [ebp - 0x31], al
cmp byte [ebp - 0x31], 0
je 0x1002bbcf
mov ebx, dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
push eax
push 0xa15
call ebx
push eax
call dword [sym.imp.USER32.dll_DefWindowProcA]
xor eax, eax
jmp 0x1002bbd5
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x550], 0x2fafd11d
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edx
jl 0x1002bc1a
mov eax, dword [ebp - 0x38]
sub eax, dword [ebp - 0x38]
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x38]
sub ecx, eax
je 0x1002bd48
mov dword [ebp - 0x40], 0x35a2
xor esi, esi
inc esi
xor ecx, ecx
mov dword [ebp - 0x2c], esi
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x38]
cmp eax, 0x21cd
setg cl
sub ecx, dword [ebp - 0x2c]
add ecx, dword [ebp - 0x2c]
jne 0x1002bc7d
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x550]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x548]
cmp dword [ebp - 0x40], eax
jl 0x1002bcb5
xor eax, eax
mov byte [ebp - 0x31], al
cmp byte [ebp - 0x31], al
je 0x1002bd37
push esi
push eax
call ebx
push eax
call dword [sym.imp.USER32.dll_SetWindowRgn]
jmp 0x1002bd35
mov dword [ebp - 0x54], 0xc0136ef6
xor ecx, ecx
mov eax, dword [ebp - 0x550]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x54]
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x54]
mov eax, dword [ebp - 0x38]
cmp eax, 0xe712
mov eax, dword [ebp - 0x54]
setle cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x548]
setle dl
xor ecx, ecx
cmp edx, eax
setl cl
xor eax, eax
mov dword [ebp - 0x550], ecx
test ecx, ecx
je 0x1002bd05
mov edx, esi
cmp dword [ebp - 0x2c], eax
jne 0x1002bd07
mov edx, eax
mov eax, dword [ebp - 0x50]
xor ecx, ecx
cmp edx, eax
setle cl
xor eax, eax
mov dword [ebp - 0x2c], ecx
mov byte [ebp - 0x31], al
cmp byte [ebp - 0x31], al
je 0x1002bd35
push 0x71e
push eax
push eax
call ebx
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_PolyPolyline]
xor eax, eax
mov byte [ebp - 0x31], al
cmp byte [ebp - 0x31], 0
je 0x1002bda9
call dword [sym.imp.KERNEL32.dll_GetCurrentThread]
jmp 0x1002bda7
xor eax, eax
mov dword [ebp - 0x28], 0xa08552ad
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], edx
jge 0x1002bd71
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0xee8], 0
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edx
jl 0x1002bd59
xor eax, eax
cmp dword [ebp - 0x28], eax
jne 0x1002bd82
cmp dword [ebp - 0x44], eax
jne 0x1002bd82
xor esi, esi
mov edx, eax
inc esi
jmp 0x1002bd87
xor esi, esi
inc esi
mov edx, esi
mov eax, dword [ebp - 0x50]
xor ecx, ecx
cmp eax, edx
setl cl
xor eax, eax
mov dword [ebp - 0xee0], ecx
mov byte [ebp - 0x31], al
cmp byte [ebp - 0x31], al
je 0x1002bda7
call dword [sym.imp.USER32.dll_DestroyCaret]
xor eax, eax
push 3
mov dword [ebp - 0x3c], eax
pop edx
mov dword [ebp - 0x24], 0x3c61c71b
mov dword [ebp - 0x18], eax
push 8
pop ecx
cmp dword [ebp - 0x18], edx
jge 0x1002bdd5
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xd0c], ecx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edx
jl 0x1002bdc1
xor eax, eax
mov dword [ebp - 0x18], eax
jmp 0x1002bde7
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x2ac], esi
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jl 0x1002bdda
mov eax, dword [ebp - 0x3c]
mov ecx, esi
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x3c]
sub ecx, eax
je 0x1002bf7b
mov dword [ebp - 0x14], 0xffffffff
xor eax, eax
push 2
mov dword [ebp - 0x30], 0xb0121307
mov dword [ebp - 0x24], eax
pop ecx
jmp 0x1002bf6a
mov dword [ebp - 0x38], 0xa8bc
cmp dword [ebp - 0x38], eax
jne 0x1002bf73
mov dword [ebp - 0x38], ecx
cmp dword [ebp - 0x38], eax
jl 0x1002bf67
mov dword [ebp - 0x30], 7
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x3c], eax
jmp 0x1002bf55
mov dword [ebp - 0x28], 0xffffffff
mov dword [ebp - 0x1c], 0xd3e99730
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], edx
jge 0x1002be85
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x764], 0xffffffff
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edx
jl 0x1002be6d
xor eax, eax
mov dword [ebp - 0x764], ecx
cmp dword [ebp - 0x764], eax
jl 0x1002bf52
mov dword [ebp - 0x28], 0x7722
mov dword [ebp - 0x40], 0x711a53fd
mov dword [ebp - 0x30], 4
mov dword [ebp - 0x44], 0xe71cc545
inc dword [ebp - 0x28]
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], ecx
jg 0x1002bf43
mov dword [ebp - 0x28], 0x6cedda56
xor ecx, ecx
mov dword [ebp - 0x30], 0x4254
inc dword [ebp - 0x28]
mov eax, dword [ebp - 0x38]
mov edx, dword [ebp + eax*4 - 0xd0c]
sub edx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x14]
cmp edx, eax
setne cl
mov dword [ebp - 0x44], ecx
mov eax, dword [ebp - 0x44]
cmp eax, dword [ebp - 0x14]
jg 0x1002bf00
xor eax, eax
cmp dword [ebp - 0x40], eax
je 0x1002bf02
mov eax, esi
jmp 0x1002bf02
xor eax, eax
mov dword [ebp - 0x14], eax
xor edx, edx
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x38]
push 2
mov ecx, dword [ebp + eax*4 - 0xd0c]
mov eax, dword [ebp - 0x40]
cmp ecx, eax
pop ecx
setl dl
xor eax, eax
sub edx, 9
cmp edx, 0x1260
setl al
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x28], eax
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ecx
jle 0x1002bec2
xor eax, eax
dec dword [ebp - 0x764]
jns 0x1002be97
push 3
pop edx
inc dword [ebp - 0x3c]
cmp dword [ebp - 0x3c], ecx
jle 0x1002be57
dec dword [ebp - 0x38]
jns 0x1002be45
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], ecx
jle 0x1002be29
dec dword [ebp - 0x2ac]
jmp 0x1002bf8e
xor eax, eax
mov byte [ebp - 0x31], al
cmp byte [ebp - 0x31], al
je 0x1002bf90
call ebx
push eax
call dword [sym.imp.USER32.dll_ShowCaret]
xor eax, eax
mov dword [ebp - 0x50], 0x6432a276
mov dword [ebp - 0x28], 0x46158d32
push 3
mov dword [ebp - 0x1c], eax
pop ecx
cmp dword [ebp - 0x1c], ecx
jge 0x1002bfc1
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0xfa8], 0xf2ee
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ecx
jl 0x1002bfa9
xor eax, eax
mov byte [ebp - 0x31], al
cmp byte [ebp - 0x31], 0
je 0x1002bfd3
call dword [sym.imp.USER32.dll_GetMessageTime]
push 3
pop ecx
mov eax, dword [ebp - 0xfa8]
mov dword [ebp - 0x28], eax
xor eax, eax
mov dword [ebp - 0x38], 0x795010f7
mov dword [ebp - 0x28], 0x6da5043c
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], ecx
jge 0x1002c00c
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x5f0], 0x64a6847d
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ecx
jl 0x1002bff4
xor eax, eax
mov byte [ebp - 0x31], al
cmp byte [ebp - 0x31], 0
je 0x1002c028
push 0xb40
push 0x1e0a
push eax
call dword [sym.imp.USER32.dll_CheckMenuItem]
xor eax, eax
mov dword [ebp - 0x5ec], eax
jmp 0x1002c039
mov dword [ebp - 0x28], eax
inc dword [ebp - 0x5ec]
cmp dword [ebp - 0x5ec], 0x16
jne 0x1002c030
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x14], 0x52cb1363
mov dword [ebp - 0x28], 0xfffffffe
mov dword [ebp - 0x44], 0xd44f4cc5
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 2
jge 0x1002c07c
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x8b4], 0x342e
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 2
jl 0x1002c063
xor eax, eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], esi
jg 0x1002c177
mov dword [ebp - 0x24], eax
mov byte [ebp - 0x31], al
cmp byte [ebp - 0x31], 0
je 0x1002c0a1
push 0x1f41
push eax
push eax
call dword [sym.imp.KERNEL32.dll_ExpandEnvironmentStringsW]
mov eax, dword [ebp - 0x14]
cmp dword [ebp + eax*4 - 0x8b4], 0
jne 0x1002c175
xor eax, eax
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], esi
jg 0x1002c166
push 4
pop ecx
mov dword [ebp - 0x38], 0xfffffff8
mov dword [ebp - 0x38], esi
cmp dword [ebp - 0x38], eax
jl 0x1002c120
mov dword [ebp - 0x1c], 0x6a205b29
mov dword [ebp - 0x1c], eax
jmp 0x1002c0ef
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0xfdc], 0xffffffff
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ecx
jl 0x1002c0de
mov eax, dword [ebp - 0xfd0]
mov dword [ebp - 0x1c], eax
xor eax, eax
mov dword [ebp - 0x1c], esi
cmp dword [ebp - 0x1c], eax
jl 0x1002c118
mov dword [ebp - 0x44], 0xfff7
cmp dword [ebp - 0x44], eax
jne 0x1002c118
dec dword [ebp - 0x1c]
jns 0x1002c107
dec dword [ebp - 0x38]
push 0
pop eax
jns 0x1002c0d2
mov ecx, dword [ebp - 0x38]
xor edx, edx
mov eax, dword [ebp - 0x24]
cmp ecx, eax
mov eax, dword [ebp - 0x8b0]
mov ecx, dword [ebp - 0x24]
setg dl
sub edx, eax
inc ecx
mov eax, dword [ebp - 0x28]
add ecx, edx
xor edx, edx
cmp ecx, eax
push 4
setne dl
sub edx, 2
neg edx
pop ecx
sbb edx, edx
neg edx
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x44], ecx
inc dword [ebp - 0x24]
push 0
pop eax
cmp dword [ebp - 0x24], esi
jle 0x1002c0c3
inc dword [ebp - 0x14]
push 0
pop eax
cmp dword [ebp - 0x14], esi
jle 0x1002c088
xor eax, eax
mov dword [ebp - 0x30], 0xffffffff
mov dword [ebp - 0x18], 0xd035
push 0xfffffffffffffff9
pop ecx
mov dword [ebp - 0x40], ecx
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x54], ecx
mov dword [ebp - 0x28], 0xa540
mov dword [ebp - 0x87c], esi
mov dword [ebp - 0x878], esi
mov dword [ebp - 0x874], esi
mov dword [ebp - 0x870], esi
mov dword [ebp - 0x1c], eax
jmp 0x1002c1c6
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x18c], 0x4aee
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], esi
jl 0x1002c1b5
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x18]
sub eax, 0xec4f
neg eax
sbb eax, eax
xor edx, edx
inc eax
mov dword [ebp - 0x3c], eax
mov ecx, dword [ebp - 0x3c]
imul ecx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x18]
cmp eax, ecx
mov eax, dword [ebp - 0x18]
setle dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x18]
setl cl
sub eax, ecx
neg eax
sbb eax, eax
xor edx, edx
inc eax
sub eax, dword [ebp - 0x18]
imul eax, dword [ebp - 0x18]
imul ecx, eax, 0x62d
mov eax, dword [ebp - 0x18]
cmp ecx, eax
setg dl
inc edx
mov dword [ebp - 0x54], edx
je 0x1002c2e3
xor eax, eax
mov dword [ebp - 0x44], esi
mov dword [ebp - 0x1c], eax
jmp 0x1002c241
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x15c], esi
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 2
jl 0x1002c234
mov eax, dword [ebp - 0x18c]
mov eax, dword [ebp - 0x18c]
mov eax, dword [ebp - 0x15c]
mov eax, dword [ebp - 0x15c]
mov eax, dword [ebp - 0x15c]
mov eax, dword [ebp - 0x15c]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x15c]
mov dword [ebp - 0x3c], 0x29efec1a
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x15c]
mov eax, dword [ebp - 0x158]
mov eax, dword [ebp - 0x15c]
mov eax, dword [ebp - 0x18c]
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x870], esi
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x15c]
dec eax
neg eax
sbb eax, eax
inc eax
cmp eax, dword [ebp - 0x18c]
jl 0x1002c2bc
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x54], 0xffffffff
mov eax, dword [ebp - 0x54]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x15c]
mov eax, dword [ebp - 0x870]
mov eax, dword [ebp - 0x3c]
imul eax, dword [ebp - 0x18]
mov dword [ebp - 0x44], eax
xor eax, eax
jmp 0x1002c342
xor eax, eax
mov dword [ebp - 0x28], 0xfffffffa
mov dword [ebp - 0x3c], eax
jmp 0x1002c336
mov byte [ebp - 0x31], al
cmp byte [ebp - 0x31], 0
je 0x1002c30d
push eax
call ebx
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.USER32.dll_DrawFocusRect]
xor eax, eax
mov byte [ebp - 0x31], al
cmp byte [ebp - 0x31], 0
je 0x1002c333
push eax
push 0x243d
push 0x1fad
call ebx
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_MoveToEx]
xor eax, eax
inc dword [ebp - 0x3c]
cmp dword [ebp - 0x3c], eax
jle 0x1002c2f1
mov dword [ebp - 0x28], 0xcb0a751
push 0xfffffffffffffff9
pop ecx
mov dword [ebp - 0x30], ecx
push 5
pop ecx
mov dword [ebp - 0x14], ecx
mov ecx, 0x2633933b
mov dword [ebp - 0x18], 0x814b11f3
mov dword [ebp - 0x2c], 0xd71b36c9
mov dword [ebp - 0x464], ecx
mov dword [ebp - 0x460], ecx
mov dword [ebp - 0x45c], ecx
mov dword [ebp - 0x458], ecx
push 3
mov dword [ebp - 0x20], eax
pop ecx
cmp dword [ebp - 0x20], ecx
jge 0x1002c39c
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x104], 0xa18e418a
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], ecx
jl 0x1002c384
xor eax, eax
push 4
mov dword [ebp - 0x20], eax
pop ecx
cmp dword [ebp - 0x20], ecx
jge 0x1002c3bf
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x6c8], 0xae07ea4c
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], ecx
jl 0x1002c3a7
xor eax, eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 2
jge 0x1002c3e1
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x534], 0x699ff93f
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 2
jl 0x1002c3c8
xor eax, eax
cmp dword [ebp - 0x104], eax
jne 0x1002c3ef
mov eax, dword [ebp - 0x104]
mov eax, dword [ebp - 0x104]
sub eax, 0xfff8
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x104]
neg eax
sbb eax, eax
neg eax
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x6bc], eax
mov eax, dword [ebp - 0x104]
mov eax, dword [ebp - 0x104]
mov eax, dword [ebp - 0x104]
mov eax, dword [ebp - 0x6c8]
mov ecx, dword [ebp - 0x104]
sub ecx, eax
mov eax, dword [ebp - 0x100]
neg ecx
sbb ecx, ecx
xor edx, edx
inc ecx
cmp ecx, eax
mov eax, 0xffff
setg dl
sub edx, eax
mov eax, dword [ebp - 0x100]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
mov eax, dword [ebp - 0x104]
setne cl
add eax, ecx
xor ecx, ecx
cmp eax, 0xfffffffa
mov eax, dword [ebp - 0x104]
setne cl
xor edx, edx
cmp ecx, 0x23c5ad05
setne dl
add eax, edx
xor edx, edx
cmp eax, 0x23d37f4a
mov eax, dword [ebp - 0x104]
setge dl
xor ecx, ecx
cmp edx, eax
sete cl
mov dword [ebp - 0x104], ecx
test ecx, ecx
jne 0x1002c4ae
xor eax, eax
cmp dword [ebp - 0x104], eax
je 0x1002c4b0
mov eax, esi
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
cmp eax, 0x9690b281
mov dword [ebp - 0x460], eax
sbb eax, eax
inc eax
mov dword [ebp - 0x534], eax
xor eax, eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0xffffffee
jne 0x1002c634
push 3
pop edi
mov dword [ebp - 0x24], 0x7e1efc39
mov dword [ebp - 0x44], 0x693cdb7c
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], edi
jge 0x1002c50a
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x560], 0x9cc1
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edi
jl 0x1002c4f2
xor eax, eax
mov dword [ebp - 0x18], esi
cmp dword [ebp - 0x18], eax
jl 0x1002c5ae
mov dword [ebp - 0x28], 0xd215cd4d
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], esi
jg 0x1002c57f
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp + eax*4 - 0x100]
mov eax, dword [ebp - 0x28]
add eax, edi
sub eax, dword [ebp - 0x18]
neg eax
sbb eax, eax
inc eax
cmp eax, dword [ebp - 0x28]
je 0x1002c54d
xor eax, eax
mov edx, eax
cmp dword [ebp - 0x558], eax
je 0x1002c54f
mov edx, esi
mov dword [ebp - 0x45c], edx
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp + eax*4 - 0x6c8]
mov eax, dword [ebp - 0x2c]
imul eax, edx
xor edx, edx
cmp ecx, eax
setne dl
sub edx, 0x3eb8e3d6
mov dword [ebp - 0x24], edx
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], esi
jle 0x1002c525
xor eax, eax
mov byte [ebp - 0x31], al
cmp byte [ebp - 0x31], 0
je 0x1002c5a5
push eax
push 0x486
push 0xe9e
call ebx
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_SetWindowExtEx]
xor eax, eax
dec dword [ebp - 0x18]
jns 0x1002c516
cmp dword [ebp - 0x558], eax
je 0x1002c5e0
mov eax, dword [ebp - 0x460]
mov eax, dword [ebp - 0x558]
mov dword [ebp - 0x104], eax
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x6bc]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x534]
mov eax, dword [ebp - 0x104]
mov eax, dword [ebp - 0x45c]
xor edx, edx
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x534]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x6c0]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x460]
test eax, eax
mov eax, dword [ebp - 0x558]
setg dl
xor ecx, ecx
cmp edx, eax
push 0
setg cl
mov dword [ebp - 0x6c0], ecx
dec dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0xffffffee
pop eax
je 0x1002c4dc
mov edi, dword [sym.imp.KERNEL32.dll_FindNextFileW]
mov dword [ebp - 0x30], 0x333f0d22
mov dword [ebp - 0x14], 0xfdc8dfba
push 4
mov dword [ebp - 0x18], eax
pop ecx
cmp dword [ebp - 0x18], ecx
jge 0x1002c665
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x748], 0xffffffff
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ecx
jl 0x1002c64d
xor eax, eax
mov dword [ebp - 0x18], eax
jmp 0x1002c67b
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xa6c], 0xffffffff
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ecx
jl 0x1002c66a
mov ecx, dword [ebp - 0x748]
xor edx, edx
mov eax, dword [ebp - 0x740]
cmp eax, ecx
mov eax, dword [ebp - 0x744]
setl dl
xor ecx, ecx
cmp edx, eax
push 4
setl cl
mov dword [ebp - 0xa6c], ecx
mov dword [ebp - 0x14], 0x10
pop eax
cmp dword [ebp - 0x14], eax
je 0x1002c7d5
push 3
pop ecx
push 4
xor eax, eax
pop edi
mov dword [ebp - 0x20], 0x753e1e01
mov dword [ebp - 0x20], ecx
cmp dword [ebp - 0x20], eax
jl 0x1002c71c
mov eax, dword [ebp - 0x20]
xor edx, edx
mov eax, dword [ebp + eax*4 - 0x748]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp + eax*4 - 0xa6c]
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp + eax*4 - 0xa6c]
mov eax, dword [ebp - 0x740]
cmp ecx, eax
mov eax, dword [ebp - 0x20]
setne dl
mov ecx, dword [ebp + eax*4 - 0x748]
mov eax, dword [ebp - 0x20]
imul ecx, edx
mov dword [ebp + eax*4 - 0xa6c], ecx
dec dword [ebp - 0x20]
jns 0x1002c6d0
push 3
xor eax, eax
pop ecx
mov dword [ebp - 0x20], 0xffffffea
jmp 0x1002c7b9
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1c], eax
jmp 0x1002c781
mov dword [ebp - 0x24], edi
mov byte [ebp - 0x31], al
cmp byte [ebp - 0x31], 0
je 0x1002c748
push eax
call dword [sym.imp.GDI32.dll_CreateSolidBrush]
push 3
xor eax, eax
pop ecx
mov dword [ebp - 0x24], ecx
cmp dword [ebp - 0x24], eax
jl 0x1002c77e
mov byte [ebp - 0x31], al
cmp byte [ebp - 0x31], 0
je 0x1002c776
push eax
push 0x243d
push 0x1fad
call ebx
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_MoveToEx]
xor eax, eax
dec dword [ebp - 0x24]
jns 0x1002c750
push 3
pop ecx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ecx
jle 0x1002c730
mov byte [ebp - 0x31], al
cmp byte [ebp - 0x31], 0
je 0x1002c7b6
push 0x27c
push eax
push eax
push 0x703
push 0x1454
push eax
call ebx
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_GetDIBits]
push 3
xor eax, eax
pop ecx
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 0x1a
jne 0x1002c728
dec dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jne 0x1002c6c1
mov edi, dword [sym.imp.KERNEL32.dll_FindNextFileW]
mov dword [ebp - 0x3c], 0x830af36e
or eax, 0xffffffff
mov dword [ebp - 0x1b8], eax
mov dword [ebp - 0x1b4], eax
mov dword [ebp - 0x1b0], eax
mov dword [ebp - 0x1ac], eax
xor eax, eax
mov dword [ebp - 0x20], eax
push 6
mov dword [ebp - 0x18], eax
pop ecx
mov dword [ebp - 0x38], 0xb302aff6
mov dword [ebp - 0x2c], esi
mov dword [ebp - 0x44], ecx
push 3
mov dword [ebp - 0x20], eax
pop ecx
jmp 0x1002c827
mov eax, dword [ebp - 0x20]
cmp dword [ebp + eax*4 - 0x1b8], 0
jne 0x1002c82c
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], ecx
jle 0x1002c817
mov eax, dword [ebp - 0x1b4]
xor ecx, ecx
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x38]
cmp eax, 0x8c55
setg cl
xor eax, eax
mov dword [ebp - 0x2c], ecx
cmp dword [ebp - 0x2c], eax
je 0x1002c85b
cmp dword [ebp - 0x38], eax
je 0x1002c85b
mov edx, esi
cmp dword [ebp - 0x1ac], eax
jne 0x1002c85d
mov edx, eax
mov eax, dword [ebp - 0x1ac]
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x1ac]
sete cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x1b8]
mov esi, dword [ebp - 0x1b0]
setge dl
xor ecx, ecx
cmp edx, eax
mov edx, dword [ebp - 0x1ac]
setl cl
imul esi, ecx
neg esi
sbb esi, esi
sub edx, dword [ebp - 0x1b4]
mov eax, dword [ebp - 0x20]
neg esi
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
setge cl
xor eax, eax
neg ecx
cmp ecx, 0xe790
setl al
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
imul eax, dword [ebp - 0x1ac]
imul eax, esi
test eax, eax
je 0x1002c948
mov dword [ebp - 0x14], 0xffffffff
push 5
mov dword [ebp - 0x2c], 0xfffffff6
pop ecx
cmp dword [ebp - 0x2c], ecx
jl 0x1002c9ca
xor eax, eax
mov dword [ebp - 0x28], 0x4a219909
mov dword [ebp - 0x38], 0xfffffff0
cmp dword [ebp - 0x38], ecx
jge 0x1002c926
mov dword [ebp - 0x18], 0xffffffff
jmp 0x1002c916
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x14], eax
dec dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0xffffffee
jle 0x1002c90d
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], ecx
jl 0x1002c904
xor eax, eax
mov dword [ebp - 0x14], eax
jmp 0x1002c935
mov dword [ebp - 0x28], 0xcc90c63b
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0xd
je 0x1002c92b
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], ecx
jge 0x1002c8f1
jmp 0x1002c9ca
xor eax, eax
mov dword [ebp - 0x28], 0x1b4373c9
mov byte [ebp - 0x31], al
cmp byte [ebp - 0x31], al
je 0x1002c966
push 0x213c
call dword [sym.imp.KERNEL32.dll_IsValidCodePage]
xor eax, eax
push 3
pop esi
mov dword [ebp - 0x20], esi
cmp dword [ebp - 0x20], eax
jl 0x1002c9cd
mov dword [ebp - 0x2c], eax
xor edx, edx
mov ecx, dword [ebp - 0x2c]
imul ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1b0]
push 0
add eax, ecx
mov ecx, dword [ebp - 0x18]
add ecx, eax
mov eax, dword [ebp - 0x18]
cmp ecx, eax
mov eax, dword [ebp - 0x20]
setg dl
xor ecx, ecx
mov esi, dword [ebp + eax*4 - 0x1b8]
mov eax, dword [ebp - 0x28]
cmp eax, edx
mov eax, dword [ebp - 0x20]
setl cl
add esi, ecx
xor ecx, ecx
mov eax, dword [ebp + eax*4 - 0x1b8]
add eax, 4
cmp eax, esi
setg cl
lea eax, [ecx + 6]
mov dword [ebp - 0x44], eax
dec dword [ebp - 0x20]
pop eax
jns 0x1002c971
push 3
pop esi
mov eax, dword [ebp - 0x50]
add eax, 0x2526041
mov dword [ebp - 0x38], eax
je 0x1002cece
xor eax, eax
mov dword [ebp - 0x14], 0xc85f70ad
xor ebx, ebx
mov dword [ebp - 0x14], eax
inc ebx
cmp dword [ebp - 0x14], ebx
jge 0x1002ca3a
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], ebx
jge 0x1002ca13
mov ecx, 0xffff
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x4fc], ecx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ebx
jl 0x1002c9ff
xor eax, eax
mov byte [ebp - 0x31], al
cmp byte [ebp - 0x31], 0
je 0x1002ca29
push 0xcfe
push eax
push eax
call dword [sym.imp.KERNEL32.dll_ExpandEnvironmentStringsA]
mov eax, dword [ebp - 0x4fc]
inc dword [ebp - 0x14]
push 0
pop eax
cmp dword [ebp - 0x14], ebx
jl 0x1002c9f2
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], 0x14
jg 0x1002ce30
mov esi, 0xaee5a986
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x2c], eax
jmp 0x1002cb1f
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x24], 0xfffffffc
cmp dword [ebp - 0x24], 0xffffffea
jl 0x1002cb1c
push 3
pop ecx
push 4
pop edx
mov dword [ebp - 0x14], 0xf07b4bc6
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], edx
jge 0x1002ca98
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0xff4], 2
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edx
jl 0x1002ca80
xor eax, eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], ecx
jg 0x1002cb0f
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], ecx
jge 0x1002cac0
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x3f4], 0xc3938dd4
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ecx
jl 0x1002caa8
xor eax, eax
mov byte [ebp - 0x31], al
cmp byte [ebp - 0x31], 0
je 0x1002cad6
push eax
push eax
call dword [sym.imp.KERNEL32.dll_GetCommState]
push 3
xor eax, eax
pop ecx
mov dword [ebp - 0x3f4], eax
cmp dword [ebp - 0x3f4], ecx
jg 0x1002cb04
mov eax, dword [ebp - 0x3f4]
cmp dword [ebp + eax*4 - 0xff4], 0
jne 0x1002cb02
inc dword [ebp - 0x3f4]
cmp dword [ebp - 0x3f4], ecx
jle 0x1002cae4
xor eax, eax
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ecx
jle 0x1002caa0
push 4
pop edx
dec dword [ebp - 0x24]
cmp dword [ebp - 0x24], 0xffffffea
jge 0x1002ca71
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], 6
jg 0x1002ca57
mov dword [ebp - 0x44], 0xa3735b26
push 5
pop ecx
mov dword [ebp - 0x18], ecx
mov ecx, 0xffff
mov dword [ebp - 0x4c], ecx
mov dword [ebp - 0x28], 0xca4d9a54
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x40], eax
push 4
mov dword [ebp - 0x18], eax
pop ecx
cmp dword [ebp - 0x18], ecx
jge 0x1002cb6e
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x260], 0xca4f833f
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ecx
jl 0x1002cb56
xor eax, eax
push 2
mov dword [ebp - 0x18], eax
pop ecx
jmp 0x1002cb83
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xcf4], ecx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ecx
jl 0x1002cb76
mov eax, dword [ebp - 0x254]
xor ecx, ecx
mov eax, dword [ebp - 0x254]
mov eax, dword [ebp - 0x254]
add eax, dword [ebp - 0x254]
cmp eax, 0x736d0c11
setne cl
xor eax, eax
cmp ecx, dword [ebp - 0x258]
jl 0x1002cbbe
cmp dword [ebp - 0x254], eax
je 0x1002cbbe
mov eax, ebx
mov dword [ebp - 0x18], eax
xor edx, edx
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x44], 0xfffc
mov dword [ebp - 0x28], ebx
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x260]
cmp ecx, eax
setl dl
xor ebx, ebx
mov dword [ebp - 0xcf0], edx
mov eax, dword [ebp - 0x254]
cmp edx, eax
mov eax, dword [ebp - 0x44]
setg bl
neg eax
xor ecx, ecx
cmp eax, ebx
mov eax, 0xffff
setg cl
cmp eax, ecx
sbb eax, eax
xor ecx, ecx
neg eax
cmp eax, 0x69209a48
setge cl
xor eax, eax
mov dword [ebp - 0x40], ecx
cmp dword [ebp - 0x40], 0xfff7
ja 0x1002cc2f
cmp dword [ebp - 0x40], eax
je 0x1002cc2f
xor ebx, ebx
inc ebx
mov eax, ebx
jmp 0x1002cc32
xor ebx, ebx
inc ebx
mov dword [ebp - 0x40], eax
xor edx, edx
mov eax, dword [ebp - 0x260]
mov eax, dword [ebp - 0x40]
cmp eax, 0xb8821692
mov eax, dword [ebp - 0x254]
setne dl
xor ecx, ecx
cmp edx, eax
push 4
setg cl
cmp ecx, dword [ebp - 0x254]
pop ecx
jl 0x1002cc6f
mov dword [ebp - 0x28], 0xb2d505bc
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x28], eax
jmp 0x1002ccc7
mov dword [ebp - 0x2c], 0xfffffffb
mov dword [ebp - 0x28], 0xffffffff
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x28], eax
xor eax, eax
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], ecx
jge 0x1002ccc9
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x260], 0xfffffffd
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ecx
jl 0x1002ccb1
xor eax, eax
mov byte [ebp - 0x31], al
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x28], esi
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 0xfffffff7
jle 0x1002cd6f
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x28], 0xfffffff8
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x1c], eax
jmp 0x1002cd02
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x4e4], 2
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ebx
jl 0x1002ccf1
mov eax, dword [ebp - 0x40]
xor edx, edx
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
cmp ecx, eax
mov eax, dword [ebp - 0x18]
setl dl
xor ebx, ebx
cmp edx, eax
push 0
setle bl
xor ecx, ecx
add ebx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x18]
cmp ebx, eax
setle cl
xor edx, edx
mov dword [ebp - 0x28], ecx
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x28], eax
mov ecx, dword [ebp - 0x28]
imul ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x40]
cmp ecx, eax
setl dl
mov dword [ebp - 0x4e4], edx
mov eax, dword [ebp - 0x18]
add eax, edx
mov dword [ebp - 0x28], eax
dec dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0xfffffff7
pop eax
push 1
pop ebx
jg 0x1002ccdf
push 4
pop ecx
cmp byte [ebp - 0x31], 0
je 0x1002ce1d
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x28], esi
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 0xfffffff7
jle 0x1002ce19
mov dword [ebp - 0x40], eax
xor ecx, ecx
mov dword [ebp - 0x28], 0xfffffff8
inc ecx
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x1c], eax
jmp 0x1002cdb2
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x504], 2
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ecx
jl 0x1002cda1
mov eax, dword [ebp - 0x40]
xor edx, edx
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
cmp ecx, eax
mov eax, dword [ebp - 0x18]
setl dl
xor ebx, ebx
cmp edx, eax
push 0
setle bl
xor ecx, ecx
add ebx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x18]
cmp ebx, eax
setle cl
xor edx, edx
mov dword [ebp - 0x28], ecx
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x28], eax
mov ecx, dword [ebp - 0x28]
imul ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x40]
cmp ecx, eax
setl dl
mov dword [ebp - 0x504], edx
mov eax, dword [ebp - 0x18]
add eax, edx
mov dword [ebp - 0x28], eax
dec dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0xfffffff7
pop eax
jg 0x1002cd8c
push eax
push eax
call edi
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], 0x14
push 0
pop eax
push 1
pop ebx
jle 0x1002ca4c
push 3
pop esi
mov edi, 0x5bb2
mov dword [ebp - 0x30], edi
mov dword [ebp - 0x30], 0xffffffff
mov dword [ebp - 0x30], 0x2a276893
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x30], 0xe1879501
push 2
mov dword [ebp - 0x18], eax
pop ecx
cmp dword [ebp - 0x18], ecx
jge 0x1002ce76
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x1124], 0xd2d672a8
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ecx
jl 0x1002ce5e
xor eax, eax
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], esi
jge 0x1002ce92
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xc5c], ebx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jl 0x1002ce7e
xor eax, eax
dec dword [ebp - 0xc58]
mov dword [ebp - 0x2c], 0xa2fa
mov dword [ebp - 0x28], 0x20b28787
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], ebx
jge 0x1002cec6
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x2b4], 5
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ebx
jl 0x1002ceae
xor eax, eax
mov dword [ebp - 0x18], eax
jmp 0x1002df61
xor eax, eax
mov dword [ebp - 0x30], 0xfff9
mov byte [ebp - 0x31], al
cmp byte [ebp - 0x31], al
je 0x1002ceeb
push eax
call ebx
push eax
call dword [sym.imp.USER32.dll_GetWindowInfo]
xor eax, eax
mov byte [ebp - 0x31], al
cmp byte [ebp - 0x31], 0
je 0x1002cf14
push 0x1b4a
push 0xa06
call ebx
mov edi, dword [sym.imp.USER32.dll_GetDC]
push eax
call edi
push eax
call dword [sym.imp.GDI32.dll_GetPixel]
xor eax, eax
jmp 0x1002cf1a
mov edi, dword [sym.imp.USER32.dll_GetDC]
mov dword [ebp - 0x54], 0xffffffff
xor ebx, ebx
mov dword [ebp - 0x28], 0xfffffff7
inc ebx
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], ebx
jge 0x1002cf4b
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x98], 0x8c6a53d0
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ebx
jl 0x1002cf33
xor eax, eax
mov byte [ebp - 0x31], al
cmp byte [ebp - 0x31], 0
je 0x1002cf5e
push eax
push eax
call dword [sym.imp.ADVAPI32.dll_EqualSid]
xor eax, eax
mov dword [ebp - 0x98], eax
cmp dword [ebp - 0x98], 0xffffffef
jg 0x1002d045
mov dword [ebp - 0x44], eax
push 4
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x1c], eax
pop ecx
jmp 0x1002cf90
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0xe64], 0x5ee56e31
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ecx
jl 0x1002cf7f
mov dword [ebp - 0x28], 0xbc999589
xor edx, edx
mov eax, dword [ebp - 0x98]
imul eax, dword [ebp - 0x98]
push 0
imul ecx, eax, 0xfffffffd
mov eax, dword [ebp - 0x44]
cmp ecx, eax
mov eax, dword [ebp - 0x98]
setge dl
xor ecx, ecx
cmp edx, 0x382e5809
setle cl
xor edx, edx
cmp ecx, eax
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x44]
setg dl
add ecx, edx
xor edx, edx
cmp eax, ecx
mov eax, dword [ebp - 0xe64]
setl dl
xor ecx, ecx
cmp edx, 0xfff7
setne cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x98]
setl dl
xor ecx, ecx
sub eax, edx
cmp eax, 0x4ed383de
mov eax, dword [ebp - 0xe60]
setne cl
sub ecx, 0xfa1a8f1
neg ecx
sbb ecx, ecx
xor edx, edx
inc ecx
cmp ecx, eax
mov eax, dword [ebp - 0x98]
setg dl
xor ecx, ecx
cmp edx, eax
pop eax
sete cl
mov dword [ebp - 0x28], ecx
dec dword [ebp - 0x98]
cmp dword [ebp - 0x98], 0xffffffef
jle 0x1002cf71
mov dword [ebp - 0x2c], 0xda2282d5
mov dword [ebp - 0x30], 0x5bb2
mov dword [ebp - 0x30], 0xffffffff
mov dword [ebp - 0x30], 0x2a276893
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x30], 0xe1879501
push 2
mov dword [ebp - 0x18], eax
pop ecx
cmp dword [ebp - 0x18], ecx
jge 0x1002d08e
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x108c], 0xd2d672a8
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ecx
jl 0x1002d076
xor eax, eax
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], esi
jge 0x1002d0aa
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xc20], ebx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jl 0x1002d096
xor eax, eax
dec dword [ebp - 0xc1c]
mov dword [ebp - 0x18], 0x2c70bb74
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x1c], 0x9968cb66
mov dword [ebp - 0x4c], 0x198f
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x40], 0x52f109d4
mov dword [ebp - 0x2c], 0xe47b
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x24], 0xc38d
mov dword [ebp - 0x28], 0x2e7ce9f3
mov dword [ebp - 0x44], 0x8be1
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x5c], 0xffffffff
mov dword [ebp - 0x40], 0x861d
mov dword [ebp - 0x48], 0xfff7
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], ebx
jge 0x1002d129
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0xb0], 0xffffffff
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], ebx
jl 0x1002d111
xor eax, eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], ecx
jge 0x1002d149
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0xfe4], 0xfffffff8
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], ecx
jl 0x1002d131
xor eax, eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], ecx
jge 0x1002d169
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x658], 0x1a4
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], ecx
jl 0x1002d151
xor eax, eax
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], eax
jl 0x1002d1ff
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], ecx
jge 0x1002d195
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x1cc], 0xff55e00f
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ecx
jl 0x1002d17d
xor eax, eax
mov dword [ebp - 0x1cc], eax
cmp dword [ebp - 0x1cc], eax
jl 0x1002d1f3
mov eax, dword [ebp - 0xb0]
xor edx, edx
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1cc]
cmp eax, ecx
mov eax, dword [ebp - 0x1cc]
setle dl
xor ecx, ecx
add edx, eax
mov eax, dword [ebp - 0x18]
mov esi, dword [ebp + eax*4 - 0xb0]
mov eax, dword [ebp - 0x14]
cmp edx, eax
setl cl
xor eax, eax
cmp esi, ecx
setl al
imul eax, dword [ebp - 0x1cc]
mov dword [ebp - 0x1c], eax
dec dword [ebp - 0x1cc]
jns 0x1002d1a3
push 2
xor eax, eax
pop ecx
dec dword [ebp - 0x18]
jns 0x1002d175
push 3
pop esi
mov eax, dword [ebp - 0xb0]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0xb0]
xor eax, eax
cmp dword [ebp - 0x18], eax
jne 0x1002d232
mov eax, dword [ebp - 0xb0]
xor eax, eax
cmp dword [ebp - 0x14], eax
je 0x1002d22c
cmp dword [ebp - 0x1c], eax
je 0x1002d22c
mov eax, ebx
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0xb0]
mov eax, dword [ebp - 0xb0]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x18]
cmp dword [ebp - 0x1c], 0xffffffff
jge 0x1002d2db
xor eax, eax
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x2c], 0x11abd849
mov dword [ebp - 0x30], 0x53575542
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x30], 0x6644
mov dword [ebp - 0x1c], eax
jmp 0x1002d281
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0xc34], 0xfffffffe
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], esi
jl 0x1002d270
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x44], eax
inc dword [ebp - 0x28]
jne 0x1002d2ad
mov dword [ebp - 0x44], 9
mov eax, dword [ebp - 0xc2c]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0xb0]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x2c]
xor ebx, ebx
mov eax, dword [ebp - 0x18]
cmp eax, ecx
setg bl
xor ecx, ecx
mov dword [ebp - 0xc2c], ebx
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x20]
imul edx, ebx
cmp edx, eax
setg cl
xor ebx, ebx
mov dword [ebp - 0x40], ecx
inc ebx
jmp 0x1002d391
mov dword [ebp - 0x30], 0xc121
mov eax, 0x9f5ed801
mov dword [ebp - 0x95c], eax
mov dword [ebp - 0x958], eax
mov dword [ebp - 0x954], eax
mov dword [ebp - 0x950], eax
xor eax, eax
mov dword [ebp - 0x28], eax
push 4
pop eax
mov dword [ebp - 0x4c], eax
inc dword [ebp - 0x658]
mov eax, dword [ebp - 0x658]
je 0x1002d344
inc dword [ebp - 0x40]
xor edx, edx
mov ecx, dword [ebp - 0x40]
imul ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x2c]
cmp ecx, eax
setg dl
xor ecx, ecx
test edx, edx
mov dword [ebp - 0x950], edx
mov eax, dword [ebp - 0x44]
setne cl
add eax, ecx
je 0x1002d344
mov eax, ebx
jmp 0x1002d346
xor eax, eax
add eax, 7
mov dword [ebp - 0x40], eax
cmp dword [ebp - 0x40], 0xfffffffe
sbb eax, eax
xor ecx, ecx
inc eax
cmp eax, 0xfb92
setge cl
xor eax, eax
mov dword [ebp - 0x28], ecx
cmp dword [ebp - 0x28], eax
jne 0x1002d36a
mov eax, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x950]
xor edx, edx
imul eax, dword [ebp - 0x48]
cmp eax, 0x8077
mov eax, dword [ebp - 0x4c]
setge dl
xor ecx, ecx
cmp edx, eax
setg cl
imul eax, ecx, 0x8d8c
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x24], 0x624039b6
xor eax, eax
mov dword [ebp - 0x28], 0xfff8
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 2
jge 0x1002d3bf
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0xbe4], ebx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 2
jl 0x1002d3aa
xor eax, eax
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0x10
jle 0x1002d406
mov dword [ebp - 0x1c], 0xf8067e30
mov ecx, ebx
mov dword [ebp - 0x48], 0xffffffff
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp - 0x1c]
sub ecx, eax
mov dword [ebp - 0xbe0], ecx
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 0x10
jg 0x1002d3c8
xor eax, eax
mov esi, dword [sym.imp.USER32.dll_GetDesktopWindow]
mov byte [ebp - 0x31], al
cmp byte [ebp - 0x31], 0
je 0x1002d420
call esi
push eax
call dword [sym.imp.USER32.dll_GetWindowTextLengthA]
xor eax, eax
push 3
mov dword [ebp - 0x1c], eax
pop edx
cmp dword [ebp - 0x1c], edx
jge 0x1002d443
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x11c4], 0x2dc71837
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edx
jl 0x1002d42b
xor eax, eax
mov dword [ebp - 0x24], 0x62d5e48d
mov byte [ebp - 0x31], al
cmp byte [ebp - 0x31], 0
je 0x1002d46f
push eax
push 0x1b3d
push 0x1bea
call esi
push eax
call edi
push eax
call dword [sym.imp.GDI32.dll_GetCharABCWidthsFloatA]
push 3
xor eax, eax
pop edx
push 0xfffffffffffffff9
mov dword [ebp - 0x24], 0xfffffff4
pop ecx
cmp dword [ebp - 0x24], ecx
jne 0x1002d597
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xde0], 0
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ecx
jl 0x1002df50
mov edx, dword [ebp - 0x2c]
sub edx, 0xb8b78acc
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
sub edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
cmp eax, edx
setle cl
imul ecx, dword [ebp - 0x2c]
cmp ecx, dword [ebp - 0x2c]
je 0x1002df91
xor eax, eax
cmp dword [ebp - 0x2c], eax
je 0x1002df93
mov eax, ebx
xor edx, edx
mov dword [ebp - 0x2b4], 0xf89b5461
mov esi, dword [ebp - 0x2c]
cmp eax, 0xd430
mov dword [ebp - 0xddc], esi
mov eax, dword [ebp - 0x2c]
setge dl
xor ecx, ecx
cmp eax, edx
mov eax, dword [ebp - 0x2c]
setne cl
xor edx, edx
cmp esi, ecx
setg dl
xor ecx, ecx
cmp edx, eax
setge cl
sub ecx, 0x764ab9f
mov dword [ebp - 0x28], ecx
je 0x1002dfef
xor eax, eax
cmp dword [ebp - 0x2b4], eax
je 0x1002dff1
mov dword [ebp - 0x48], 0x2da3c3d
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x28], eax
jmp 0x1002e00e
xor eax, eax
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x1002e010
push eax
push eax
push 0xa15
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_DefWindowProcA]
xor eax, eax
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], ebx
jge 0x1002e033
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x2bc], 0x8c6a53d0
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ebx
jl 0x1002e01b
xor eax, eax
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], eax
jl 0x1002e112
push 4
pop ecx
mov dword [ebp - 0x24], 9
mov dword [ebp - 0x28], 0x7bc99958
mov dword [ebp - 0x1c], eax
jmp 0x1002e066
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x1024], 0x3f9150fa
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ecx
jl 0x1002e055
mov eax, dword [ebp - 0x38]
cmp dword [ebp + eax*4 - 0x2bc], 0
jne 0x1002e110
xor eax, eax
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], eax
jl 0x1002e104
mov dword [ebp - 0x14], 6
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], eax
jg 0x1002e0fc
mov dword [ebp - 0x40], ebx
mov dword [ebp - 0x48], 0xe2e4ed3
mov eax, dword [ebp - 0x40]
cmp dword [ebp - 0x40], 0xffffffff
jne 0x1002e0af
xor eax, eax
cmp dword [ebp - 0x24], eax
je 0x1002e0b1
mov eax, ebx
mov dword [ebp - 0x101c], eax
xor ecx, ecx
mov eax, dword [ebp - 0x38]
mov esi, dword [ebp - 0x40]
add esi, 8
mov dword [ebp - 0x2bc], esi
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x38]
cmp eax, ebx
mov eax, dword [ebp - 0x24]
setg cl
xor edx, edx
cmp ecx, eax
setne dl
xor ecx, ecx
add edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x24]
cmp edx, eax
setne cl
xor eax, eax
sub esi, ecx
mov dword [ebp - 0x48], esi
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], eax
jle 0x1002e095
dec dword [ebp - 0x24]
jns 0x1002e086
push 4
pop ecx
dec dword [ebp - 0x38]
push 0
pop eax
jns 0x1002e042
xor eax, eax
mov ebx, dword [sym.imp.KERNEL32.dll_TlsGetValue]
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x1002e12a
push 0x115
call ebx
xor eax, eax
mov dword [ebp - 0x38], 0xb546158d
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x48], 0x9c9214a9
push 3
mov dword [ebp - 0x5c], 0x66e6
mov dword [ebp - 0x1c], eax
pop edx
jmp 0x1002e15b
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x610], 0x2fafd11d
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edx
jl 0x1002e14a
mov eax, dword [ebp - 0x38]
sub eax, dword [ebp - 0x38]
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x38]
sub ecx, eax
je 0x1002e280
mov dword [ebp - 0x40], 0x35a2
xor esi, esi
inc esi
xor ecx, ecx
mov dword [ebp - 0x2c], esi
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x38]
cmp eax, 0x21cd
setg cl
sub ecx, dword [ebp - 0x2c]
add ecx, dword [ebp - 0x2c]
jne 0x1002e1ad
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x610]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x40]
cmp eax, dword [ebp - 0x608]
jl 0x1002e1e9
xor eax, eax
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], al
je 0x1002e26f
mov dword [ebp - 0x54], 0xc0136ef6
xor ecx, ecx
mov eax, dword [ebp - 0x610]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x54]
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x54]
mov eax, dword [ebp - 0x38]
cmp eax, 0xe712
mov eax, dword [ebp - 0x54]
setle cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x608]
setle dl
xor ecx, ecx
cmp edx, eax
setl cl
xor eax, eax
mov dword [ebp - 0x610], ecx
test ecx, ecx
je 0x1002e239
xor eax, eax
mov dword [ebp - 0x48], 0xa08552ad
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], edx
jge 0x1002e2a9
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0xf60], 0
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edx
jl 0x1002e291
xor eax, eax
cmp dword [ebp - 0x48], eax
jne 0x1002e2ba
cmp dword [ebp - 0x5c], eax
jne 0x1002e2ba
xor esi, esi
inc esi
mov edx, esi
mov eax, dword [ebp - 0x50]
xor ecx, ecx
cmp eax, edx
setl cl
xor eax, eax
mov dword [ebp - 0xf58], ecx
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], al
je 0x1002e2df