Function at 0x1002b6bc
Capabilities:
Accept command line arguments
Allocate thread local storage
Check os version
Delete file
Extract resource via kernel32 functions
Get common file path
Get disk information
Get disk size
Get geographical location
Get thread local storage value
Identify system language via api
Modify service
Read .ini file
Terminate process

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xdb0
push ebx
push esi
push edi
mov dword [ebp - 0x3c], 0xfffffffb
xor eax, eax
push 2
mov byte [ebp - 0x91], dl
xor edi, edi
pop edx
mov dword [ebp - 0x3c], edx
inc edi
mov dword [ebp - 0x3c], 7
mov esi, 0x55b7cefa
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x3c], edi
mov dword [ebp - 0x3c], esi
mov dword [ebp - 0x50], ecx
mov ecx, 0xb5f0b101
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 0x44], 6
push 3
mov dword [ebp - 0xc], eax
pop ebx
cmp dword [ebp - 0xc], ebx
jge 0x1002b72a
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0xc88], 0xfffffffb
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], ebx
jl 0x1002b712
xor eax, eax
inc dword [ebp - 0x44]
mov dword [ebp - 0x3c], 0xfffffffb
mov dword [ebp - 0x3c], edx
mov dword [ebp - 0x3c], 7
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x3c], edi
mov dword [ebp - 0x3c], esi
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 0x44], 6
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], ebx
jge 0x1002b771
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0xca0], 0xfffffffb
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], ebx
jl 0x1002b759
xor eax, eax
inc dword [ebp - 0x44]
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x28], 5
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x44], edi
mov dword [ebp - 0x40], 0xc77dcda7
mov dword [ebp - 0x38], 0x3ea3
mov dword [ebp - 0xc], eax
jmp 0x1002b7a8
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0xcb8], 0xffffffff
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], ebx
jl 0x1002b797
mov eax, dword [ebp - 0x10]
xor edx, edx
mov dword [ebp - 0x28], eax
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
cmp ecx, eax
mov eax, dword [ebp - 0x10]
setne dl
xor ecx, ecx
cmp eax, edx
mov eax, dword [ebp - 0x10]
setne cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x10]
setl dl
xor ecx, ecx
cmp edx, eax
setne cl
xor edx, edx
mov dword [ebp - 0x44], ecx
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x44], edi
mov ecx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x10]
cmp ecx, eax
mov eax, dword [ebp - 0x10]
setne dl
xor ebx, ebx
cmp edx, eax
mov eax, dword [ebp - 0x10]
setne bl
xor ecx, ecx
cmp ebx, eax
mov eax, 0x70004ddc
setge cl
mov dword [ebp - 0x40], ecx
inc dword [ebp - 0x38]
mov dword [ebp - 0x44], edi
mov dword [ebp - 0x44], 0xe62b5609
mov dword [ebp - 0x814], eax
mov dword [ebp - 0x810], eax
mov dword [ebp - 0x80c], eax
mov dword [ebp - 0x808], eax
xor eax, eax
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x44], 0x4071e994
mov dword [ebp - 0x40], 0xa0b2b040
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], edi
jge 0x1002b86e
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0x68], 0xadf1adb2
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], edi
jl 0x1002b859
xor eax, eax
cmp dword [ebp - 0x68], eax
je 0x1002b875
mov eax, edi
mov dword [ebp - 0x44], eax
xor edx, edx
mov ecx, dword [ebp - 0x68]
mov eax, dword [ebp - 0x44]
cmp ecx, eax
mov eax, dword [ebp - 0x68]
setge dl
xor ecx, ecx
cmp edx, eax
mov eax, 0xfffe
setg cl
cmp eax, ecx
mov eax, dword [ebp - 0x68]
sbb ecx, ecx
xor edx, edx
inc ecx
cmp ecx, eax
mov eax, dword [ebp - 0x68]
setle dl
xor ebx, ebx
cmp edx, eax
mov eax, dword [ebp - 0x68]
setle bl
xor ecx, ecx
cmp ebx, eax
setne cl
mov dword [ebp - 0x44], ecx
mov eax, dword [ebp - 0x44]
cmp edi, eax
sbb eax, eax
xor edx, edx
inc eax
mov dword [ebp - 0x808], eax
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x68]
mov ecx, dword [ebp - 0x68]
mov eax, dword [ebp - 0x68]
cmp ecx, eax
mov ecx, edi
setge dl
mov dword [ebp - 0x44], edx
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x68]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x68]
mov eax, dword [ebp - 0x30]
sub ecx, eax
neg ecx
sbb ecx, ecx
xor eax, eax
neg ecx
cmp ecx, edi
sete al
cmp eax, dword [ebp - 0x68]
jl 0x1002b90c
mov eax, dword [ebp - 0x68]
mov ecx, dword [ebp - 0x68]
mov eax, dword [ebp - 0x68]
add eax, 0xfa4a
add eax, ecx
neg eax
sbb eax, eax
neg eax
mov dword [ebp - 0x40], eax
xor eax, eax
mov dword [ebp - 0x3c], 0xfffffffb
mov dword [ebp - 0x40], eax
mov dword [ebp - 0xc], eax
jmp 0x1002b944
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0x370], 0x94801897
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], edi
jl 0x1002b933
mov eax, dword [ebp - 0x370]
mov dword [ebp - 0x40], eax
xor eax, eax
mov byte [ebp - 0x11], al
cmp byte [ebp - 0x11], al
je 0x1002b96a
push 0x23e1
push eax
call dword [sym.imp.KERNEL32.dll_TerminateProcess]
xor eax, eax
push 2
pop ebx
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x3c], 7
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x3c], edi
mov dword [ebp - 0x3c], esi
mov dword [ebp - 0x1c], 0x252cb136
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], ebx
jge 0x1002b9a7
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0x2b4], 0x342e
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], ebx
jl 0x1002b98f
xor eax, eax
mov dword [ebp - 0x1c], eax
jmp 0x1002bb6e
mov dword [ebp - 0x10], edi
mov dword [ebp - 0x28], 0xffffffff
mov dword [ebp - 0x40], 0xffffffff
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], edi
jge 0x1002b9dc
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0xa8], edi
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], edi
jl 0x1002b9c8
xor eax, eax
cmp dword [ebp - 0xa8], eax
jne 0x1002bb77
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], eax
jg 0x1002bb6b
mov dword [ebp - 0xc], eax
jmp 0x1002ba0a
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0x9ec], 0xf77d900d
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], ebx
jl 0x1002b9f9
mov eax, dword [ebp - 0x10]
cmp dword [ebp + eax*4 - 0xa8], 0
je 0x1002ba5e
xor eax, eax
cmp dword [ebp - 0xa8], eax
je 0x1002ba60
mov dword [ebp - 0x30], edi
mov dword [ebp - 0x30], eax
jmp 0x1002ba54
mov dword [ebp - 0xc], 0x6c902daf
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], ebx
jge 0x1002ba51
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0x2b4], edi
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], ebx
jl 0x1002ba3d
xor eax, eax
inc dword [ebp - 0x30]
cmp dword [ebp - 0x30], eax
jle 0x1002ba2e
jmp 0x1002bb5c
xor eax, eax
mov dword [ebp - 0x40], 0x2718b962
mov dword [ebp - 0x44], 0xfffffffd
mov dword [ebp - 0xc], eax
jmp 0x1002ba84
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0x874], 0x8e548e01
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 4
jl 0x1002ba73
mov eax, dword [ebp - 0xa8]
xor ecx, ecx
mov dword [ebp - 0x40], edi
mov eax, dword [ebp - 0x2b0]
mov eax, dword [ebp - 0xa8]
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp + eax*4 - 0xa8]
mov eax, dword [ebp - 0x10]
cmp eax, edi
setle cl
xor eax, eax
cmp ecx, edx
mov ecx, 0x7d02
setle al
xor edx, edx
sub ecx, eax
mov eax, dword [ebp - 0x2b4]
add ecx, eax
mov eax, dword [ebp - 0xa8]
cmp eax, ecx
mov eax, dword [ebp - 0x10]
setne dl
xor ecx, ecx
mov eax, dword [ebp + eax*4 - 0xa8]
cmp edx, eax
setge cl
mov dword [ebp - 0x44], ecx
mov eax, dword [ebp - 0x870]
cmp dword [ebp - 0x44], eax
jle 0x1002bb03
xor eax, eax
cmp dword [ebp - 0x874], eax
je 0x1002bb05
mov ecx, edi
jmp 0x1002bb07
xor eax, eax
mov ecx, eax
mov eax, dword [ebp - 0x870]
xor edx, edx
cmp ecx, eax
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x10]
setg dl
imul ecx, edx
xor edx, edx
mov dword [ebp + eax*4 - 0xa8], ecx
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x870]
mov eax, dword [ebp - 0x28]
cmp eax, ecx
mov eax, dword [ebp - 0x2b0]
setl dl
xor ecx, ecx
cmp edx, eax
setne cl
xor eax, eax
add ecx, ebx
cmp ecx, 0xd9d6
setle al
mov dword [ebp - 0x9ec], eax
mov dword [ebp - 0x40], eax
xor eax, eax
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], eax
push 0
pop eax
jle 0x1002b9f4
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edi
jle 0x1002b9af
mov esi, dword [sym.imp.USER32.dll_GetMenuItemCount]
mov byte [ebp - 0x11], al
cmp byte [ebp - 0x11], 0
je 0x1002bb8b
push eax
call esi
xor eax, eax
mov dword [ebp - 0x40], 0x860b
mov dword [ebp - 0x4c], 5
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], edi
jge 0x1002bbb5
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0xa54], edi
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], edi
jl 0x1002bba1
xor eax, eax
mov byte [ebp - 0x11], al
cmp byte [ebp - 0x11], 0
je 0x1002bbcf
push 0x10b1
push 0x1f5e
push eax
call dword [sym.imp.KERNEL32.dll_VirtualFree]
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x4c], eax
xor eax, eax
mov dword [ebp - 0x3c], 0xb5f0b101
mov dword [ebp - 0x38], 6
mov dword [ebp - 0x1c], 0x252cb136
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], ebx
jge 0x1002bc0c
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0x2f4], 0x342e
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], ebx
jl 0x1002bbf4
xor eax, eax
mov dword [ebp - 0x1c], eax
jmp 0x1002bdd3
mov dword [ebp - 0x10], edi
mov dword [ebp - 0x28], 0xffffffff
mov dword [ebp - 0x40], 0xffffffff
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], edi
jge 0x1002bc41
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0xb4], edi
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], edi
jl 0x1002bc2d
xor eax, eax
cmp dword [ebp - 0xb4], eax
jne 0x1002bddc
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], eax
jg 0x1002bdd0
mov dword [ebp - 0xc], eax
jmp 0x1002bc6f
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0xaa4], 0xf77d900d
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], ebx
jl 0x1002bc5e
mov eax, dword [ebp - 0x10]
cmp dword [ebp + eax*4 - 0xb4], 0
je 0x1002bcc3
xor eax, eax
cmp dword [ebp - 0xb4], eax
je 0x1002bcc5
mov dword [ebp - 0x30], edi
mov dword [ebp - 0x30], eax
jmp 0x1002bcb9
mov dword [ebp - 0xc], 0x6c902daf
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], ebx
jge 0x1002bcb6
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0x2f4], edi
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], ebx
jl 0x1002bca2
xor eax, eax
inc dword [ebp - 0x30]
cmp dword [ebp - 0x30], eax
jle 0x1002bc93
jmp 0x1002bdc1
xor eax, eax
mov dword [ebp - 0x40], 0x2718b962
mov dword [ebp - 0x44], 0xfffffffd
mov dword [ebp - 0xc], eax
jmp 0x1002bce9
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0x734], 0x8e548e01
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 4
jl 0x1002bcd8
mov eax, dword [ebp - 0xb4]
xor ecx, ecx
mov dword [ebp - 0x40], edi
mov eax, dword [ebp - 0x2f0]
mov eax, dword [ebp - 0xb4]
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp + eax*4 - 0xb4]
mov eax, dword [ebp - 0x10]
cmp eax, edi
setle cl
xor eax, eax
cmp ecx, edx
mov ecx, 0x7d02
setle al
xor edx, edx
sub ecx, eax
mov eax, dword [ebp - 0x2f4]
add ecx, eax
mov eax, dword [ebp - 0xb4]
cmp eax, ecx
mov eax, dword [ebp - 0x10]
setne dl
xor ecx, ecx
mov eax, dword [ebp + eax*4 - 0xb4]
cmp edx, eax
setge cl
mov dword [ebp - 0x44], ecx
mov eax, dword [ebp - 0x730]
cmp dword [ebp - 0x44], eax
jle 0x1002bd68
xor eax, eax
cmp dword [ebp - 0x734], eax
je 0x1002bd6a
mov ecx, edi
jmp 0x1002bd6c
xor eax, eax
mov ecx, eax
mov eax, dword [ebp - 0x730]
xor edx, edx
cmp ecx, eax
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x10]
setg dl
imul ecx, edx
xor edx, edx
mov dword [ebp + eax*4 - 0xb4], ecx
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x730]
mov eax, dword [ebp - 0x28]
cmp eax, ecx
mov eax, dword [ebp - 0x2f0]
setl dl
xor ecx, ecx
cmp edx, eax
setne cl
xor eax, eax
add ecx, ebx
cmp ecx, 0xd9d6
setle al
mov dword [ebp - 0xaa4], eax
mov dword [ebp - 0x40], eax
xor eax, eax
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], eax
push 0
pop eax
jle 0x1002bc59
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edi
jle 0x1002bc14
mov byte [ebp - 0x11], al
cmp byte [ebp - 0x11], 0
je 0x1002bdea
push eax
call esi
xor eax, eax
push 3
mov dword [ebp - 0xc], eax
pop ecx
cmp dword [ebp - 0xc], ecx
jge 0x1002be0d
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0xcd0], 0xfffffffb
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], ecx
jl 0x1002bdf5
xor eax, eax
inc dword [ebp - 0x38]
mov dword [ebp - 0x30], 0xa48bbca6
mov dword [ebp - 0x30], 0xfffffffb
jmp 0x1002be5d
mov dword [ebp - 0x40], 0xfffffff8
mov dword [ebp - 0xc], eax
jmp 0x1002be3d
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0x5f8], 4
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], ebx
jl 0x1002be2c
mov eax, dword [ebp - 0x40]
neg eax
push 0
sbb eax, eax
neg eax
mov dword [ebp - 0x5f4], eax
mov eax, dword [ebp - 0x5f4]
dec dword [ebp - 0x30]
pop eax
cmp dword [ebp - 0x30], 0xffffffea
jle 0x1002be20
xor eax, eax
mov byte [ebp - 0x11], al
cmp byte [ebp - 0x11], al
je 0x1002be80
push 0x411
push eax
push eax
push eax
call dword [sym.imp.KERNEL32.dll_GetLocaleInfoA]
push 3
xor eax, eax
pop ecx
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x28], 5
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x44], edi
mov dword [ebp - 0x40], 0xc77dcda7
mov dword [ebp - 0x38], 0x3ea3
mov dword [ebp - 0xc], eax
jmp 0x1002beb4
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0xd24], 0xffffffff
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], ecx
jl 0x1002bea3
mov eax, dword [ebp - 0x10]
xor edx, edx
mov dword [ebp - 0x28], eax
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
cmp ecx, eax
mov eax, dword [ebp - 0x10]
setne dl
xor ecx, ecx
cmp eax, edx
mov eax, dword [ebp - 0x10]
push 3
setne cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x10]
setl dl
xor ecx, ecx
cmp edx, eax
setne cl
xor edx, edx
mov dword [ebp - 0x44], ecx
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x44], edi
mov ecx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x10]
cmp ecx, eax
mov eax, dword [ebp - 0x10]
setne dl
xor ebx, ebx
cmp edx, eax
mov eax, dword [ebp - 0x10]
setne bl
xor ecx, ecx
cmp ebx, eax
pop ebx
setge cl
mov dword [ebp - 0x40], ecx
inc dword [ebp - 0x38]
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x30], 0xbc795c38
mov dword [ebp - 0x40], 0x8968f25c
push 9
mov dword [ebp - 0x2c], 0x17
pop eax
cmp dword [ebp - 0x2c], eax
jl 0x1002c015
push 9
xor eax, eax
pop ebx
mov dword [ebp - 0x34], eax
xor edx, edx
mov dword [ebp - 0xc], eax
mov dword [ebp - 8], 0xfffffffb
mov dword [ebp - 0x4c], edi
mov ecx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x34]
cmp ecx, eax
setl dl
xor eax, eax
mov dword [ebp - 0xc], edx
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0xfffffff0
jl 0x1002c006
mov dword [ebp - 0x38], 0xffffffff
mov dword [ebp - 0x40], 0x42b6
mov eax, dword [ebp - 0x38]
xor eax, eax
cmp dword [ebp - 0x38], eax
jne 0x1002bf99
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 0x34]
xor eax, eax
cmp dword [ebp - 0x34], eax
je 0x1002bfbb
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x30]
cmp dword [ebp - 0x2c], eax
je 0x1002bfce
xor eax, eax
cmp dword [ebp - 0x4c], eax
je 0x1002bfd0
mov eax, edi
jmp 0x1002bfd0
xor eax, eax
cmp eax, dword [ebp - 0x30]
jle 0x1002bfde
xor eax, eax
mov ecx, eax
cmp dword [ebp - 0x2c], eax
je 0x1002bfe0
mov ecx, edi
mov eax, dword [ebp - 0x30]
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 8]
setle dl
xor ecx, ecx
cmp edx, eax
setle cl
mov dword [ebp - 0x40], ecx
dec dword [ebp - 0xc]
cmp dword [ebp - 0xc], 0xfffffff0
jge 0x1002bf7e
xor eax, eax
dec dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], ebx
jge 0x1002bf4f
push 3
pop ebx
mov dword [ebp - 0x10], edi
mov dword [ebp - 0x1c], 0xd0374c7a
mov dword [ebp - 0x18], 0xcc099a56
mov dword [ebp - 0x1c], 0xe3580d4
mov eax, dword [ebp - 0x1c]
sub eax, 0x3c8e79b
jne 0x1002c046
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
add eax, 0x4c20f746
mov dword [ebp - 0x18], eax
xor eax, eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0x15
jg 0x1002c189
mov dword [ebp - 0x44], 0x81de9829
mov ecx, 0xf2bf5804
mov dword [ebp - 0x38], 0x51fe511b
xor edx, edx
mov dword [ebp - 0x28], 0xf80366e5
mov dword [ebp - 0x40], 0xc705
mov eax, dword [ebp - 0x1c]
sub ecx, eax
add ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x1c]
cmp ecx, eax
mov eax, dword [ebp - 0x44]
setne dl
xor ebx, ebx
cmp eax, edx
mov eax, dword [ebp - 0x40]
setl bl
xor ecx, ecx
cmp ebx, eax
setge cl
xor eax, eax
mov dword [ebp - 0x44], ecx
mov dword [ebp - 0x18], eax
jmp 0x1002c16d
mov dword [ebp - 0x2c], eax
xor edx, edx
mov ecx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x10]
cmp eax, ecx
setne dl
xor eax, eax
mov dword [ebp - 0x38], edx
cmp dword [ebp - 0x38], 0x1a69
jle 0x1002c0dc
mov ecx, edi
cmp dword [ebp - 0x2c], eax
jne 0x1002c0de
mov ecx, eax
mov eax, dword [ebp - 0x2c]
sub ecx, eax
mov eax, dword [ebp - 0x18]
neg ecx
sbb ecx, ecx
xor edx, edx
neg ecx
cmp ecx, eax
setne dl
xor ecx, ecx
add edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x10]
cmp edx, eax
setl cl
xor eax, eax
cmp ecx, edi
ja 0x1002c10d
cmp dword [ebp - 0x2c], eax
je 0x1002c10d
mov eax, edi
mov ecx, 0xbffaef17
cmp ecx, eax
mov eax, dword [ebp - 0x2c]
push 0
sbb ecx, ecx
xor edx, edx
neg ecx
cmp ecx, eax
mov eax, dword [ebp - 0x2c]
setne dl
xor ecx, ecx
cmp edx, eax
setne cl
xor edx, edx
mov dword [ebp - 0x1c], ecx
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
cmp ecx, eax
mov eax, dword [ebp - 0x2c]
setne dl
xor ebx, ebx
cmp edx, eax
mov eax, dword [ebp - 0x28]
setle bl
xor ecx, ecx
cmp ebx, eax
setle cl
cmp ecx, 0x833e1abb
sbb eax, eax
neg eax
sub eax, 0x3922
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x2c], eax
dec dword [ebp - 0x18]
pop eax
cmp dword [ebp - 0x18], 0xffffffea
jge 0x1002c0b7
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 0x15
jle 0x1002c063
push 3
xor eax, eax
pop ebx
mov dword [ebp - 0x20], edi
mov dword [ebp - 0x10], 0xfffffffe
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x20], 0xfffffffb
cmp dword [ebp - 0x20], 0x11
je 0x1002c308
mov dword [ebp - 0xc], 0xdfbd6c3f
mov dword [ebp - 0x38], 0xfffffff7
mov dword [ebp - 0x30], eax
jmp 0x1002c1c7
mov eax, dword [ebp - 0x30]
mov dword [ebp + eax*4 - 0x90], edi
inc dword [ebp - 0x30]
cmp dword [ebp - 0x30], edi
jl 0x1002c1ba
mov eax, dword [ebp - 0xc]
cmp dword [ebp - 0x20], 0xc502
jle 0x1002c218
mov eax, dword [ebp - 0x20]
imul eax, dword [ebp - 0x20]
cmp eax, 0x94e8fe75
je 0x1002c1ed
xor eax, eax
cmp dword [ebp - 0xc], eax
je 0x1002c1ef
mov eax, edi
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x38]
inc eax
neg eax
sbb eax, eax
inc eax
neg eax
jne 0x1002c208
xor eax, eax
mov ecx, eax
cmp dword [ebp - 0x20], eax
je 0x1002c20a
mov ecx, edi
mov eax, dword [ebp - 0xc]
imul eax, ecx
test eax, eax
je 0x1002c218
mov ecx, edi
jmp 0x1002c21c
xor eax, eax
mov ecx, eax
mov eax, dword [ebp - 0xc]
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x20]
setl dl
xor ecx, ecx
cmp edx, eax
setle cl
mov dword [ebp - 0x10], ecx
mov eax, dword [ebp - 0xc]
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x90], eax
xor eax, eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], eax
jg 0x1002c2f2
mov dword [ebp - 0x40], 0x8cb5c746
cmp dword [ebp - 0x10], eax
je 0x1002c265
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp + eax*4 - 0x90]
mov eax, dword [ebp - 0x90]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x90]
mov eax, dword [ebp - 0x34]
sub eax, dword [ebp - 0x20]
mov dword [ebp - 0x40], eax
jne 0x1002c28f
mov eax, dword [ebp - 0x10]
cmp dword [ebp + eax*4 - 0x90], 0
je 0x1002c299
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp + eax*4 - 0x90]
mov eax, dword [ebp - 0x90]
xor edx, edx
mov eax, dword [ebp - 0x10]
mov esi, dword [ebp + eax*4 - 0x90]
mov ecx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x34]
cmp ecx, eax
setne dl
sub edx, esi
je 0x1002c2bd
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp + eax*4 - 0x90]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp + eax*4 - 0x90]
mov ecx, dword [ebp - 0x90]
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x90], ecx
xor eax, eax
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], eax
jle 0x1002c24f
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 0x11
push 0
pop eax
jne 0x1002c1a7
mov esi, dword [sym.imp.USER32.dll_GetMenuItemCount]
mov dword [ebp - 0x3c], 0xfffffffb
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x28], 5
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x44], edi
mov dword [ebp - 0x40], 0xc77dcda7
mov dword [ebp - 0x38], 0x3ea3
mov dword [ebp - 0xc], eax
jmp 0x1002c343
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0xc7c], 0xffffffff
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], ebx
jl 0x1002c332
mov eax, dword [ebp - 0x10]
xor edx, edx
mov dword [ebp - 0x28], eax
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
cmp ecx, eax
mov eax, dword [ebp - 0x10]
setne dl
xor ecx, ecx
cmp eax, edx
mov eax, dword [ebp - 0x10]
push 2
setne cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x10]
setl dl
xor ecx, ecx
cmp edx, eax
setne cl
xor edx, edx
mov dword [ebp - 0x44], ecx
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x44], edi
mov ecx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x10]
cmp ecx, eax
mov eax, dword [ebp - 0x10]
setne dl
xor ebx, ebx
cmp edx, eax
mov eax, dword [ebp - 0x10]
setne bl
xor ecx, ecx
cmp ebx, eax
pop eax
setge cl
mov dword [ebp - 0x40], ecx
inc dword [ebp - 0x38]
mov dword [ebp - 0x3c], eax
mov eax, 0x70004ddc
mov dword [ebp - 0x44], edi
mov dword [ebp - 0x44], 0xe62b5609
mov dword [ebp - 0x7f4], eax
mov dword [ebp - 0x7f0], eax
mov dword [ebp - 0x7ec], eax
mov dword [ebp - 0x7e8], eax
xor eax, eax
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x44], 0x4071e994
mov dword [ebp - 0x40], 0xa0b2b040
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], edi
jge 0x1002c40f
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0x64], 0xadf1adb2
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], edi
jl 0x1002c3fa
xor eax, eax
cmp dword [ebp - 0x64], eax
je 0x1002c416
mov eax, edi
mov dword [ebp - 0x44], eax
xor edx, edx
mov ecx, dword [ebp - 0x64]
mov eax, dword [ebp - 0x44]
cmp ecx, eax
mov eax, dword [ebp - 0x64]
setge dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x64]
mov edx, 0xfffe
setg cl
cmp edx, ecx
sbb ecx, ecx
xor edx, edx
inc ecx
cmp ecx, eax
mov eax, dword [ebp - 0x64]
setle dl
xor ebx, ebx
cmp edx, eax
mov eax, dword [ebp - 0x64]
setle bl
xor ecx, ecx
cmp ebx, eax
setne cl
mov dword [ebp - 0x44], ecx
mov eax, dword [ebp - 0x44]
cmp edi, eax
sbb eax, eax
xor edx, edx
inc eax
mov dword [ebp - 0x7e8], eax
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x64]
mov eax, dword [ebp - 0x64]
cmp ecx, eax
mov ecx, edi
setge dl
mov dword [ebp - 0x44], edx
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x64]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x64]
mov eax, dword [ebp - 0x30]
sub ecx, eax
neg ecx
sbb ecx, ecx
xor eax, eax
neg ecx
cmp ecx, edi
sete al
cmp eax, dword [ebp - 0x64]
jl 0x1002c4ad
mov eax, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x64]
mov eax, dword [ebp - 0x64]
add eax, 0xfa4a
add eax, ecx
neg eax
sbb eax, eax
neg eax
mov dword [ebp - 0x40], eax
xor eax, eax
mov dword [ebp - 0x3c], 7
mov dword [ebp - 0x40], eax
mov dword [ebp - 0xc], eax
jmp 0x1002c4e5
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0x364], 0x94801897
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], edi
jl 0x1002c4d4
mov eax, dword [ebp - 0x364]
mov dword [ebp - 0x40], eax
xor eax, eax
mov byte [ebp - 0x11], al
cmp byte [ebp - 0x11], al
je 0x1002c50b
push 0x23e1
push eax
call dword [sym.imp.KERNEL32.dll_TerminateProcess]
xor eax, eax
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x1c], 0x252cb136
push 2
mov dword [ebp - 0xc], eax
pop ebx
cmp dword [ebp - 0xc], ebx
jge 0x1002c538
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0x2c4], 0x342e
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], ebx
jl 0x1002c520
xor eax, eax
mov dword [ebp - 0x1c], eax
jmp 0x1002c6ff
mov dword [ebp - 0x10], edi
mov dword [ebp - 0x28], 0xffffffff
mov dword [ebp - 0x40], 0xffffffff
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], edi
jge 0x1002c56d
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0xb8], edi
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], edi
jl 0x1002c559
xor eax, eax
cmp dword [ebp - 0xb8], eax
jne 0x1002c708
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], eax
jg 0x1002c6fc
mov dword [ebp - 0xc], eax
jmp 0x1002c59b
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0x9e4], 0xf77d900d
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], ebx
jl 0x1002c58a
mov eax, dword [ebp - 0x10]
cmp dword [ebp + eax*4 - 0xb8], 0
je 0x1002c5ef
xor eax, eax
cmp dword [ebp - 0xb8], eax
je 0x1002c5f1
mov dword [ebp - 0x30], edi
mov dword [ebp - 0x30], eax
jmp 0x1002c5e5
mov dword [ebp - 0xc], 0x6c902daf
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], ebx
jge 0x1002c5e2
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0x2c4], edi
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], ebx
jl 0x1002c5ce
xor eax, eax
inc dword [ebp - 0x30]
cmp dword [ebp - 0x30], eax
jle 0x1002c5bf
jmp 0x1002c6ed
xor eax, eax
mov dword [ebp - 0x40], 0x2718b962
mov dword [ebp - 0x44], 0xfffffffd
mov dword [ebp - 0xc], eax
jmp 0x1002c615
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0x754], 0x8e548e01
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 4
jl 0x1002c604
mov eax, dword [ebp - 0xb8]
xor ecx, ecx
mov dword [ebp - 0x40], edi
mov eax, dword [ebp - 0x2c0]
mov eax, dword [ebp - 0xb8]
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp + eax*4 - 0xb8]
mov eax, dword [ebp - 0x10]
cmp eax, edi
setle cl
xor eax, eax
cmp ecx, edx
mov ecx, 0x7d02
setle al
xor edx, edx
sub ecx, eax
mov eax, dword [ebp - 0x2c4]
add ecx, eax
mov eax, dword [ebp - 0xb8]
cmp eax, ecx
mov eax, dword [ebp - 0x10]
setne dl
xor ecx, ecx
mov eax, dword [ebp + eax*4 - 0xb8]
cmp edx, eax
setge cl
mov dword [ebp - 0x44], ecx
mov eax, dword [ebp - 0x750]
cmp dword [ebp - 0x44], eax
jle 0x1002c694
xor eax, eax
cmp dword [ebp - 0x754], eax
je 0x1002c696
mov ecx, edi
jmp 0x1002c698
xor eax, eax
mov ecx, eax
mov eax, dword [ebp - 0x750]
xor edx, edx
cmp ecx, eax
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x10]
setg dl
imul ecx, edx
xor edx, edx
mov dword [ebp + eax*4 - 0xb8], ecx
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x750]
mov eax, dword [ebp - 0x28]
cmp eax, ecx
mov eax, dword [ebp - 0x2c0]
setl dl
xor ecx, ecx
cmp edx, eax
setne cl
xor eax, eax
add ecx, ebx
cmp ecx, 0xd9d6
setle al
mov dword [ebp - 0x9e4], eax
mov dword [ebp - 0x40], eax
xor eax, eax
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], eax
push 0
pop eax
jle 0x1002c585
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edi
jle 0x1002c540
mov byte [ebp - 0x11], al
cmp byte [ebp - 0x11], 0
je 0x1002c716
push eax
call esi
xor eax, eax
mov dword [ebp - 0x3c], edi
mov dword [ebp - 0x40], 0x860b
mov dword [ebp - 0x4c], 5
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], edi
jge 0x1002c743
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0xa64], edi
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], edi
jl 0x1002c72f
xor eax, eax
mov byte [ebp - 0x11], al
cmp byte [ebp - 0x11], 0
je 0x1002c75d
push 0x10b1
push 0x1f5e
push eax
call dword [sym.imp.KERNEL32.dll_VirtualFree]
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x4c], eax
xor eax, eax
mov dword [ebp - 0x3c], 0x55b7cefa
mov dword [ebp - 0x1c], 0x252cb136
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], ebx
jge 0x1002c793
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0x314], 0x342e
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], ebx
jl 0x1002c77b
xor eax, eax
mov dword [ebp - 0x1c], eax
jmp 0x1002c95a
mov dword [ebp - 0x10], edi
mov dword [ebp - 0x28], 0xffffffff
mov dword [ebp - 0x40], 0xffffffff
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], edi
jge 0x1002c7c8
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0xbc], edi
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], edi
jl 0x1002c7b4
xor eax, eax
cmp dword [ebp - 0xbc], eax
jne 0x1002c963
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], eax
jg 0x1002c957
mov dword [ebp - 0xc], eax
jmp 0x1002c7f6
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0xa6c], 0xf77d900d
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], ebx
jl 0x1002c7e5
mov eax, dword [ebp - 0x10]
cmp dword [ebp + eax*4 - 0xbc], 0
je 0x1002c84a
xor eax, eax
cmp dword [ebp - 0xbc], eax
je 0x1002c84c
mov dword [ebp - 0x30], edi
mov dword [ebp - 0x30], eax
jmp 0x1002c840
mov dword [ebp - 0xc], 0x6c902daf
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], ebx
jge 0x1002c83d
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0x314], edi
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], ebx
jl 0x1002c829
xor eax, eax
inc dword [ebp - 0x30]
cmp dword [ebp - 0x30], eax
jle 0x1002c81a
jmp 0x1002c948
xor eax, eax
mov dword [ebp - 0x40], 0x2718b962
mov dword [ebp - 0x44], 0xfffffffd
mov dword [ebp - 0xc], eax
jmp 0x1002c870
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0x854], 0x8e548e01
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 4
jl 0x1002c85f
mov eax, dword [ebp - 0xbc]
xor ecx, ecx
mov dword [ebp - 0x40], edi
mov eax, dword [ebp - 0x310]
mov eax, dword [ebp - 0xbc]
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp + eax*4 - 0xbc]
mov eax, dword [ebp - 0x10]
cmp eax, edi
setle cl
xor eax, eax
cmp ecx, edx
mov ecx, 0x7d02
setle al
xor edx, edx
sub ecx, eax
mov eax, dword [ebp - 0x314]
add ecx, eax
mov eax, dword [ebp - 0xbc]
cmp eax, ecx
mov eax, dword [ebp - 0x10]
setne dl
xor ecx, ecx
mov eax, dword [ebp + eax*4 - 0xbc]
cmp edx, eax
setge cl
mov dword [ebp - 0x44], ecx
mov eax, dword [ebp - 0x850]
cmp dword [ebp - 0x44], eax
jle 0x1002c8ef
xor eax, eax
cmp dword [ebp - 0x854], eax
je 0x1002c8f1
mov ecx, edi
jmp 0x1002c8f3
xor eax, eax
mov ecx, eax
mov eax, dword [ebp - 0x850]
xor edx, edx
cmp ecx, eax
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x10]
setg dl
imul ecx, edx
xor edx, edx
mov dword [ebp + eax*4 - 0xbc], ecx
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x850]
mov eax, dword [ebp - 0x28]
cmp eax, ecx
mov eax, dword [ebp - 0x310]
setl dl
xor ecx, ecx
cmp edx, eax
setne cl
xor eax, eax
add ecx, ebx
cmp ecx, 0xd9d6
setle al
mov dword [ebp - 0xa6c], eax
mov dword [ebp - 0x40], eax
xor eax, eax
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], eax
push 0
pop eax
jle 0x1002c7e0
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edi
jle 0x1002c79b
mov byte [ebp - 0x11], al
cmp byte [ebp - 0x11], 0
je 0x1002c971
push eax
call esi
xor eax, eax
mov edi, dword [sym.imp.GDI32.dll_CreateBitmapIndirect]
mov dword [ebp - 0xc], 0xa61928c1
mov dword [ebp - 0xc], 0x10
jmp 0x1002c995
cmp byte [ebp - 0x11], 0
je 0x1002c992
push eax
call edi
xor eax, eax
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 0x19
mov byte [ebp - 0x11], al
jg 0x1002c987
cmp byte [ebp - 0x11], 0
je 0x1002c9ab
push eax
call dword [sym.imp.KERNEL32.dll_GetDriveTypeW]
mov dword [ebp - 0x3c], 0xb5f0b101
xor esi, esi
mov dword [ebp - 0x2c], 0xe446df37
mov eax, 0x4904418f
mov dword [ebp - 0x38], 0xffffffff
inc esi
mov dword [ebp - 0x18], 0x1cb6a7f4
mov dword [ebp - 0x1c], esi
mov dword [ebp - 8], 0xffffffff
mov dword [ebp - 0xa4], eax
mov dword [ebp - 0xa0], eax
mov dword [ebp - 0x9c], eax
mov dword [ebp - 0x98], eax
mov dword [ebp - 0x2c], 0x28ade19d
mov eax, dword [ebp - 0x38]
cmp dword [ebp - 0x2c], eax
je 0x1002ca41
mov dword [ebp - 0x40], 0xf3cc
xor ecx, ecx
mov dword [ebp - 0x4c], 0xfffffffb
mov eax, dword [ebp - 0x2c]
cmp eax, esi
setge cl
xor eax, eax
mov dword [ebp - 0x38], ecx
cmp dword [ebp - 0x18], eax
jne 0x1002ca25
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x18]
sub edx, eax
mov eax, dword [ebp - 0x1c]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
setle cl
mov dword [ebp - 0x4c], ecx
jmp 0x1002ca4e
mov dword [ebp - 0x40], 0x72737ae9
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x40], eax
xor eax, eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0x10
je 0x1002cb84
push 3
pop edi
mov dword [ebp - 0x34], 0xd4e2095e
mov dword [ebp - 0xc], edi
push 9
mov dword [ebp - 0x44], 0x734826aa
mov eax, dword [ebp - 0x34]
pop ecx
cmp ecx, eax
sbb eax, eax
neg eax
cmp eax, dword [ebp - 0x18]
jne 0x1002cadd
mov eax, dword [ebp - 0x34]
xor edx, edx
mov ecx, dword [ebp - 0xc]
mov eax, dword [ebp - 0xc]
cmp ecx, eax
setg dl
xor eax, eax
add edx, dword [ebp - 0x34]
je 0x1002caa0
mov ecx, esi
cmp dword [ebp - 0xc], eax
jne 0x1002caa2
mov ecx, eax
mov eax, dword [ebp - 0xc]
add eax, ecx
je 0x1002cadd
xor eax, eax
mov byte [ebp - 0x11], al
cmp byte [ebp - 0x11], al
je 0x1002cac2
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_DrawMenuBar]
xor eax, eax
mov byte [ebp - 0x11], al
cmp byte [ebp - 0x11], 0
je 0x1002cb53
push 0x834
push eax
call dword [sym.imp.USER32.dll_CharUpperBuffW]
jmp 0x1002cb51
xor eax, eax
mov dword [ebp - 0x40], 0x955e3164
mov dword [ebp - 0x30], eax
jmp 0x1002cafc
mov eax, dword [ebp - 0x30]
mov dword [ebp + eax*4 - 0x9f4], 0xff65ce17
inc dword [ebp - 0x30]
cmp dword [ebp - 0x30], ebx
jl 0x1002caeb
mov eax, dword [ebp - 0xc]
mov dword [ebp - 8], eax
mov eax, dword [ebp - 8]
mov dword [ebp - 0x9f0], eax
test eax, eax
je 0x1002cb1e
cmp dword [ebp - 0xc], 0xffffffff
jbe 0x1002cb1e
mov edx, esi
jmp 0x1002cb22
xor eax, eax
mov edx, eax
mov eax, dword [ebp - 0x34]
xor ecx, ecx
cmp eax, edx
setne cl
sub ecx, dword [ebp - 0x2c]
je 0x1002cb3a
xor eax, eax
mov edx, eax
cmp dword [ebp - 0x2c], eax
jne 0x1002cb3c
mov edx, esi
mov eax, dword [ebp - 0x44]
xor ecx, ecx
sub edx, eax
mov eax, dword [ebp - 0x44]
cmp edx, eax
setle cl
imul eax, ecx, 6
mov dword [ebp - 0x40], eax
xor eax, eax
mov dword [ebp - 0x18], 0xc
jmp 0x1002cb69
cmp dword [ebp - 8], eax
jne 0x1002cb6f
cmp dword [ebp - 0x18], eax
jne 0x1002cb6f
dec dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0xffffffe3
jg 0x1002cb5c
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0x10
jne 0x1002ca60
mov edi, dword [sym.imp.GDI32.dll_CreateBitmapIndirect]
xor eax, eax
mov dword [ebp - 0x28], 6
mov dword [ebp - 0x10], 0x9c3f
mov dword [ebp - 0x20], 0x8ed40a16
mov dword [ebp - 0x2c], 0x461e7071
cmp dword [ebp - 0x10], eax
je 0x1002cbc7
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x2c], eax
xor eax, eax
cmp dword [ebp - 0x2c], eax
je 0x1002cbc5
mov ecx, esi
jmp 0x1002cbc9
xor eax, eax
mov ecx, eax
xor eax, eax
cmp ecx, 0x4643cdf9
setg al
imul eax, eax, 0x164
test eax, eax
je 0x1002cc20
xor eax, eax
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], ebx
jge 0x1002cc00
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0xac4], 0
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], ebx
jl 0x1002cbe8
xor eax, eax
mov dword [ebp - 0x20], eax
jmp 0x1002cc16
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0xac4], 0x73598422
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], esi
jle 0x1002cc05
jmp 0x1002cccd
mov dword [ebp - 0x30], 0xa23a
mov dword [ebp - 0x20], 0xfffffff4
cmp dword [ebp - 0x20], 7
jle 0x1002cccd
mov dword [ebp - 0x44], 0xfffffff6
xor eax, eax
mov dword [ebp - 0x40], 0x1847726b
mov dword [ebp - 0xc], eax
jmp 0x1002cc5e
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0x240], 0
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], esi
jl 0x1002cc4d
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x240]
imul eax, dword [ebp - 0x20]
push 1
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x240]
mov esi, dword [ebp - 0x44]
sub esi, eax
mov eax, dword [ebp - 0x30]
neg esi
sbb esi, esi
xor ecx, ecx
inc esi
cmp eax, 0x71e
setge cl
xor edx, edx
cmp ecx, esi
pop esi
setne dl
dec edx
add edx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x30]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
setge cl
imul ecx, dword [ebp - 0x30]
mov dword [ebp - 0x40], ecx
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 7
jg 0x1002cc38
mov eax, dword [ebp - 0x2c]
cmp dword [ebp - 0x10], eax
jne 0x1002ce3c
xor eax, eax
mov byte [ebp - 0x11], al
cmp byte [ebp - 0x11], al
je 0x1002ccfb
push eax
push 0x1b0a
push 0x24e8
push 0x168e
call dword [sym.imp.KERNEL32.dll_RaiseException]
xor eax, eax
mov dword [ebp - 0x1c], 0xd5e48d32
mov dword [ebp - 0x34], 0x86ba47c9
mov dword [ebp - 0x44], 0x1b76e1ee
mov dword [ebp - 0x40], 0xffffffff
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 4
jge 0x1002cd39
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0xaf0], 0xe3cb5af9
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 4
jl 0x1002cd20
xor eax, eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0xfffffff2
je 0x1002cddf
mov dword [ebp - 0x38], 0x3edfa831
xor edx, edx
mov dword [ebp - 0xc], 0x4d2b5f79
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x38], 0x7821
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 0xae4]
mov eax, dword [ebp - 0x34]
cmp eax, ecx
mov eax, dword [ebp - 0xae4]
setge dl
xor ebx, ebx
add edx, 8
cmp edx, eax
mov eax, dword [ebp - 0x34]
setg bl
xor ecx, ecx
cmp ebx, eax
sete cl
sub ecx, dword [ebp - 0xc]
cmp ecx, dword [ebp - 0xc]
jle 0x1002cdab
xor eax, eax
mov ecx, eax
cmp dword [ebp - 0xaec], eax
je 0x1002cdad
mov ecx, esi
xor eax, eax
cmp ecx, esi
setle al
xor edx, edx
mov dword [ebp - 0x44], eax
mov ecx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x44]
cmp eax, ecx
setne dl
mov dword [ebp - 0xc], edx
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x40], eax
dec dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0xfffffff2
jne 0x1002cd46
push 2
xor eax, eax
pop ebx
mov byte [ebp - 0x11], al
cmp byte [ebp - 0x11], 0
je 0x1002cded
push eax
call edi
xor eax, eax
push 3
mov dword [ebp - 0xc], eax
pop edi
cmp dword [ebp - 0xc], edi
jge 0x1002ce10
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0xc58], 0xfffffffb
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], edi
jl 0x1002cdf8
xor eax, eax
push 0xfffffffffffffff9
pop ecx
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x44], 0x76881957
mov dword [ebp - 0x3c], 0x64b5c6f8
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 0xffffffe8
jge 0x1002cf30
mov dword [ebp - 0x38], esi
mov dword [ebp - 0xc], eax
jmp 0x1002ceeb
xor eax, eax
mov dword [ebp - 0x44], 0x6128
push 3
mov dword [ebp - 0xc], eax
pop ecx
cmp dword [ebp - 0xc], ecx
jge 0x1002ce68
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0x67c], 0x2e9d3b0
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], ecx
jl 0x1002ce50
xor eax, eax
inc dword [ebp - 0x44]
mov dword [ebp - 0x2c], 0xffffffe5
cmp dword [ebp - 0x2c], 0xfffffff6
jl 0x1002ccf9
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x40], 0xc5c2da50
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], ebx
jg 0x1002ced5
mov dword [ebp - 0x40], 0x7144db28
mov dword [ebp - 0x20], eax
jmp 0x1002ceab
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x67c], 0xfffffff8
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], ecx
jl 0x1002ce9a
mov eax, dword [ebp - 0x10]
push 0
mov ecx, dword [ebp + eax*4 - 0x67c]
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x67c], ecx
mov dword [ebp - 0x40], ecx
inc dword [ebp - 0x10]
pop eax
push 3
pop ecx
cmp dword [ebp - 0x10], ebx
jle 0x1002ce8e
inc dword [ebp - 0x2c]
jmp 0x1002ce72
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0xa00], 0xb101aae4
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], ebx
jl 0x1002ceda
mov eax, dword [ebp - 0x18]
xor edx, edx
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
cmp ecx, eax
push 0
setl dl
xor ecx, ecx
mov dword [ebp - 0x44], edx
mov edx, dword [ebp - 0x38]
imul edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x38]
cmp edx, eax
pop eax
setge cl
mov dword [ebp - 0x9fc], ecx
dec dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0xffffffe8
jl 0x1002ce31
inc dword [ebp - 0x28]
mov dword [ebp - 0x30], 0xa48bbca6
mov dword [ebp - 0x30], 0xfffffffb
jmp 0x1002cf80
mov dword [ebp - 0x40], 0xfffffff8
mov dword [ebp - 0xc], eax
jmp 0x1002cf60
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0x5c8], 4
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], ebx
jl 0x1002cf4f
mov eax, dword [ebp - 0x40]
neg eax
push 0
sbb eax, eax
neg eax
mov dword [ebp - 0x5c4], eax
mov eax, dword [ebp - 0x5c4]
dec dword [ebp - 0x30]
pop eax
cmp dword [ebp - 0x30], 0xffffffea
jle 0x1002cf43
xor eax, eax
mov byte [ebp - 0x11], al
cmp byte [ebp - 0x11], al
je 0x1002cfa0
push 0x411
push eax
push eax
push eax
call dword [sym.imp.KERNEL32.dll_GetLocaleInfoA]
xor eax, eax
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x28], 5
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x44], esi
mov dword [ebp - 0x40], 0xc77dcda7
mov dword [ebp - 0x38], 0x3ea3
mov dword [ebp - 0xc], eax
jmp 0x1002cfd4
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0xc94], 0xffffffff
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], edi
jl 0x1002cfc3
mov eax, dword [ebp - 0x10]
xor edx, edx
mov dword [ebp - 0x28], eax
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
cmp ecx, eax
mov eax, dword [ebp - 0x10]
setne dl
xor ecx, ecx
cmp eax, edx
mov eax, dword [ebp - 0x10]
setne cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x10]
setl dl
xor ecx, ecx
cmp edx, eax
setne cl
xor edx, edx
mov dword [ebp - 0x44], ecx
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x44], esi
mov ecx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x10]
cmp ecx, eax
mov eax, dword [ebp - 0x10]
setne dl
xor ebx, ebx
cmp edx, eax
mov eax, dword [ebp - 0x10]
setne bl
xor ecx, ecx
cmp ebx, eax
setge cl
xor eax, eax
mov dword [ebp - 0x40], ecx
inc dword [ebp - 0x38]
mov dword [ebp - 0x18], 0xb445acee
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x40], 8
mov dword [ebp - 0x34], esi
mov dword [ebp - 8], esi
mov dword [ebp - 0x44], 0xfffffffd
mov dword [ebp - 0x40], 0xef407293
mov byte [ebp - 0x11], al
cmp byte [ebp - 0x11], al
je 0x1002d082
push eax
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_ClientToScreen]
xor eax, eax
cmp dword [ebp - 0x18], eax
jne 0x1002d091
mov eax, dword [ebp - 0x18]
xor eax, eax
cmp dword [ebp - 0x18], eax
je 0x1002d093
mov eax, esi
mov dword [ebp - 0x38], eax
xor edx, edx
mov ecx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x18]
cmp eax, ecx
setg dl
xor ecx, ecx
cmp edx, 0x28ab
setge cl
xor eax, eax
cmp ecx, 0xe5ec
setle al
xor ecx, ecx
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x18]
test eax, eax
mov eax, dword [ebp - 0x18]
sets cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 8]
setle dl
xor ebx, ebx
cmp edx, eax
mov eax, dword [ebp - 0x34]
setl bl
xor ecx, ecx
cmp ebx, eax
setne cl
cmp ecx, dword [ebp - 8]
je 0x1002d0ef
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x18]
xor edx, edx
imul ecx, dword [ebp - 8]
mov eax, dword [ebp - 0x34]
cmp ecx, eax
setl dl
sub edx, 0xbc6e
neg edx
sbb edx, edx
inc edx
mov dword [ebp - 0x34], edx
jne 0x1002d11a
xor eax, eax
cmp dword [ebp - 0x18], eax
jne 0x1002d11a
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 8]
mov dword [ebp - 0x44], 0xffffffff
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x30], 0xbc795c38
mov dword [ebp - 0x40], 0x8968f25c
push 9
mov dword [ebp - 0x2c], 0x17
pop ebx
cmp dword [ebp - 0x2c], ebx
jl 0x1002d213
xor eax, eax
mov dword [ebp - 0x34], eax
xor edx, edx
mov dword [ebp - 0xc], eax
mov dword [ebp - 8], 0xfffffffb
mov dword [ebp - 0x4c], esi
mov ecx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x34]
cmp ecx, eax
setl dl
xor eax, eax
mov dword [ebp - 0xc], edx
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0xfffffff0
jl 0x1002d207
mov dword [ebp - 0x38], 0xffffffff
mov dword [ebp - 0x40], 0x42b6
mov eax, dword [ebp - 0x38]
xor eax, eax
cmp dword [ebp - 0x38], eax
jne 0x1002d19a
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 0x34]
xor eax, eax
cmp dword [ebp - 0x34], eax
je 0x1002d1bc
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x30]
cmp dword [ebp - 0x2c], eax
je 0x1002d1cf
xor eax, eax
cmp dword [ebp - 0x4c], eax
je 0x1002d1d1
mov eax, esi
jmp 0x1002d1d1
xor eax, eax
cmp eax, dword [ebp - 0x30]
jle 0x1002d1df
xor eax, eax
mov ecx, eax
cmp dword [ebp - 0x2c], eax
je 0x1002d1e1
mov ecx, esi
mov eax, dword [ebp - 0x30]
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 8]
setle dl
xor ecx, ecx
cmp edx, eax
setle cl
mov dword [ebp - 0x40], ecx
dec dword [ebp - 0xc]
cmp dword [ebp - 0xc], 0xfffffff0
jge 0x1002d17f
xor eax, eax
dec dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], ebx
jge 0x1002d150
mov edi, dword [sym.imp.KERNEL32.dll_GlobalFree]
xor eax, eax
push 0xfffffffffffffff8
pop ebx
mov dword [ebp - 0x3c], ebx
mov byte [ebp - 0x11], al
cmp byte [ebp - 0x11], al
je 0x1002d22e
push eax
call edi
xor eax, eax
mov esi, dword [sym.imp.KERNEL32.dll_GetModuleHandleExW]
mov byte [ebp - 0x11], al
cmp byte [ebp - 0x11], 0
je 0x1002d248
push eax
push eax
push 0x1a4a
call esi
xor eax, eax
mov dword [ebp - 0x30], 0xa48bbca6
mov dword [ebp - 0x30], 0xfffffffb
cmp dword [ebp - 0x30], 0xffffffea
jg 0x1002d29e
push 2
pop ecx
mov dword [ebp - 0x40], ebx
mov dword [ebp - 0xc], eax
jmp 0x1002d278
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0x5b8], 4
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], ecx
jl 0x1002d267
mov eax, dword [ebp - 0x40]
neg eax
push 0
sbb eax, eax
neg eax
mov dword [ebp - 0x5b4], eax
mov eax, dword [ebp - 0x5b4]
dec dword [ebp - 0x30]
cmp dword [ebp - 0x30], 0xffffffea
pop eax
jle 0x1002d25f
xor eax, eax
mov byte [ebp - 0x11], al
cmp byte [ebp - 0x11], al
je 0x1002d2b8
push 0x411
push eax
push eax
push eax
call dword [sym.imp.KERNEL32.dll_GetLocaleInfoA]
xor eax, eax
mov dword [ebp - 0x10], 0xf1d8987f
mov dword [ebp - 0x1c], 0xefdb
mov dword [ebp - 0x44], 0x59ea
mov dword [ebp - 0x34], 0x828451d7
mov dword [ebp - 0x40], 5
mov dword [ebp - 0x4c], 0xcdac3690
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 4
jge 0x1002d304
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0x3c0], 0xd926128f
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 4
jl 0x1002d2eb
xor eax, eax
xor ebx, ebx
inc ebx
cmp dword [ebp - 0x10], eax
je 0x1002d330
mov eax, dword [ebp - 0x10]
cmp ebx, eax
sbb edx, edx
xor ecx, ecx
neg edx
add edx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
cmp edx, eax
setne cl
imul ecx, dword [ebp - 0x1c]
test ecx, ecx
je 0x1002d32e
mov eax, ebx
jmp 0x1002d330
xor eax, eax
add eax, 0x415f
mov dword [ebp - 0x3bc], eax
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x10]
xor eax, eax
cmp dword [ebp - 0x1c], eax
je 0x1002d352
cmp dword [ebp - 0x3b8], eax
je 0x1002d352
mov eax, ebx
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x40]
cmp dword [ebp - 0x34], eax
jne 0x1002d3cd
mov dword [ebp - 0x34], 0xbc775623
mov dword [ebp - 0x40], 0x82966b91
mov eax, dword [ebp - 0x10]
xor eax, eax
cmp dword [ebp - 0x34], eax
jne 0x1002d37f
mov ecx, eax
cmp dword [ebp - 0x3bc], eax
je 0x1002d381
mov ecx, ebx
mov eax, dword [ebp - 0x40]
cmp ebx, eax
sbb eax, eax
neg eax
cmp ecx, eax
jl 0x1002d397
xor eax, eax
mov ecx, eax
cmp dword [ebp - 0x4c], eax
je 0x1002d399
mov ecx, ebx
mov eax, dword [ebp - 0x34]
add eax, ecx
cmp eax, dword [ebp - 0x44]
jl 0x1002d3ae
xor eax, eax
cmp dword [ebp - 0x34], eax
je 0x1002d3b0
mov eax, ebx
jmp 0x1002d3b0
xor eax, eax
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x3bc], eax
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x3bc]
mov dword [ebp - 0x3c0], eax
jmp 0x1002d3ff
xor eax, eax
mov dword [ebp - 0x1c], eax
jmp 0x1002d3f9
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 4
jge 0x1002d3f6
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x3c0], 0xffffffff
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 4
jl 0x1002d3dd
xor eax, eax
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0x14
je 0x1002d3d4
xor eax, eax
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], eax
push 3
mov dword [ebp - 0xc], eax
pop edx
cmp dword [ebp - 0xc], edx
jge 0x1002d42d
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0xd0c], 0xbb2c2135
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], edx
jl 0x1002d415
xor eax, eax
push 2
mov dword [ebp - 0x30], eax
pop ecx
jmp 0x1002d453
mov dword [ebp - 0xc], 0x17be1879
mov dword [ebp - 0xc], eax
jmp 0x1002d44b
mov dword [ebp - 0x40], 0x358bd4df
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], ecx
jle 0x1002d441
inc dword [ebp - 0x30]
cmp dword [ebp - 0x30], ecx
jle 0x1002d435
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x34], 0x1cecb457
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], edx
jge 0x1002d482
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0xce8], 0x9841b3c6
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], edx
jl 0x1002d46a
xor eax, eax
mov dword [ebp - 0x34], ecx
cmp dword [ebp - 0x34], eax
jl 0x1002d4b3
mov byte [ebp - 0x11], al
cmp byte [ebp - 0x11], 0
je 0x1002d49d
push eax
push eax
call dword [sym.imp.USER32.dll_CopyRect]
xor eax, eax
mov byte [ebp - 0x11], al
cmp byte [ebp - 0x11], 0
je 0x1002d4ae
call dword [sym.imp.KERNEL32.dll_TlsAlloc]
xor eax, eax
dec dword [ebp - 0x34]
jns 0x1002d48a
mov dword [ebp - 0x28], 5
mov dword [ebp - 0x40], 0xfd41
mov dword [ebp - 0xc], eax
jmp 0x1002d4d3
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0x464], ebx
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], ebx
jl 0x1002d4c6
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x464], eax
xor eax, eax
mov byte [ebp - 0x11], al
cmp byte [ebp - 0x11], al
je 0x1002d4f5
push eax
push eax
call dword [sym.imp.KERNEL32.dll_GetCommState]
xor eax, eax
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x10], 0xc5a654fd
mov dword [ebp - 0x1c], 0x25429297
push 2
mov dword [ebp - 0x44], 0x376f
mov dword [ebp - 0xc], eax
pop ecx
jmp 0x1002d526
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0x600], 0x4b4b26d8
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], ecx
jl 0x1002d515
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x44]
neg edx
sbb edx, edx
xor ecx, ecx
neg edx
cmp edx, eax
setge cl
cmp ecx, dword [ebp - 0x44]
jne 0x1002d55b
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x10]
xor ebx, ebx
mov eax, dword [ebp - 0x10]
cmp ecx, eax
setne bl
xor edx, edx
imul ebx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
cmp eax, ebx
mov eax, dword [ebp - 0x1c]
setl dl
xor ecx, ecx
cmp edx, eax
setl cl
xor eax, eax
cmp ecx, 0xc0a9
setne al
mov dword [ebp - 0x600], eax
xor eax, eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0x18
jge 0x1002d5b7
mov dword [ebp - 0x40], 0x89afca86
mov eax, dword [ebp - 0x600]
mov dword [ebp - 0x40], eax
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0x18
jl 0x1002d59c
xor ebx, ebx
inc ebx
mov dword [ebp - 0x44], ebx
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x44], 7
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], ebx
jge 0x1002d5ea