Function at 0x100311f2
Capabilities:
Check os version
Create directory
Create process on windows
Delete file
Enumerate gui resources
Extract resource via kernel32 functions
Get common file path
Get disk information
Get file attributes
Identify system language via api
Log keystrokes via polling
Query service status
Resume thread

Disassembly:
mov eax, 0x1008ed36
call fcn.1008e6ec
mov eax, 0x13d8
call fcn.100878f0
xor eax, eax
mov dword [ebp - 0x68], ecx
push 4
pop ecx
mov dword [ebp - 0x14], eax
mov byte [ebp - 0x81], dl
mov dword [ebp - 0x50], ecx
cmp dword [ebp - 0x14], ecx
jge 0x10031237
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x9a8], 0x4ec2e0cf
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ecx
jl 0x1003121f
xor eax, eax
push ebx
push esi
mov esi, dword [sym.imp.GDI32.dll_GetPaletteEntries]
mov byte [ebp - 0x29], al
cmp byte [ebp - 0x29], 0
push edi
je 0x10031259
push eax
push 0x217a
push 0x13f1
push eax
call esi
xor eax, eax
push 1
mov dword [ebp - 0x9a0], eax
pop ebx
jmp 0x10031292
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], ebx
jge 0x10031284
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x724], 7
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jl 0x1003126c
xor eax, eax
cmp dword [ebp - 0x724], eax
jne 0x1003129b
dec dword [ebp - 0x9a0]
cmp dword [ebp - 0x9a0], 0xffffffed
jg 0x10031264
mov dword [ebp - 0x48], 0x24b54114
mov dword [ebp - 0x40], 0xde574131
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 3
push 0xffffffffffffffff
pop ecx
jge 0x100312ca
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x68c], ecx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jl 0x100312b5
xor eax, eax
push 2
mov dword [ebp - 0x1c], eax
pop ecx
cmp dword [ebp - 0x1c], ecx
jge 0x100312e9
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0xeec], ebx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ecx
jl 0x100312d5
xor eax, eax
mov dword [ebp - 0x1c], eax
jmp 0x100312ff
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x998], 0x81438367
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ecx
jl 0x100312ee
mov eax, dword [ebp - 0x684]
xor edx, edx
mov eax, dword [ebp - 0x684]
mov dword [ebp - 0xeec], eax
mov eax, dword [ebp - 0x684]
mov eax, dword [ebp - 0x684]
mov eax, dword [ebp - 0x684]
mov edi, dword [sym.imp.KERNEL32.dll_lstrcpynW]
mov dword [ebp - 0x48], ebx
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x994], eax
mov ecx, dword [ebp - 0x994]
mov eax, dword [ebp - 0x684]
cmp ecx, eax
setl dl
xor eax, eax
mov dword [ebp - 0x40], edx
mov byte [ebp - 0x29], al
cmp byte [ebp - 0x29], al
je 0x10031365
push 0x1204
push eax
push eax
call edi
xor eax, eax
push 4
pop ecx
mov dword [ebp - 0x20], 0x83111738
mov dword [ebp - 0x5c], 0x6986d6d
push 0xfffffffffffffff7
mov dword [ebp - 0x24], ecx
pop edx
mov dword [ebp - 0x10], edx
mov dword [ebp - 0x48], eax
push 0xfffffffffffffffe
mov dword [ebp - 0x48], 0x2560131b
mov dword [ebp - 0x14], eax
pop ecx
jmp 0x1003139e
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xde8], ecx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x10031391
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp - 0x20]
neg eax
sbb eax, eax
inc eax
cmp eax, 0xfffc
sbb eax, eax
inc eax
cmp eax, dword [ebp - 0x5c]
jle 0x100313c8
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov ecx, edx
mov eax, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x24]
neg eax
push 4
sbb eax, eax
neg eax
cmp eax, 0xd4fe9304
sbb eax, eax
xor edx, edx
neg eax
imul eax, dword [ebp - 0x10]
imul eax, eax, 0xfc33
sub eax, dword [ebp - 0x10]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp - 0xde8]
mov eax, dword [ebp - 0xde8]
sub ecx, eax
mov eax, dword [ebp - 0x20]
cmp ecx, eax
mov eax, dword [ebp - 0x20]
setge dl
xor ecx, ecx
add edx, 0xb0be
cmp eax, edx
setg cl
sub ecx, 0x5d44
sub ecx, dword [ebp - 0x24]
neg ecx
sbb ecx, ecx
inc ecx
neg ecx
mov dword [ebp - 0x48], ecx
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x48], eax
xor eax, eax
mov dword [ebp - 0x58], 0x5f34bdac
mov dword [ebp - 0x70], 0xc266
mov dword [ebp - 0x34], 0xc5d177cc
mov dword [ebp - 0x5c], 0x5ff79fac
mov dword [ebp - 0x40], 0xd2afddf3
mov dword [ebp - 0x44], 0x199f2dc8
mov dword [ebp - 0x48], 0xaf19195c
mov dword [ebp - 0x1c], eax
pop ecx
cmp dword [ebp - 0x1c], ecx
jge 0x1003149b
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x1120], 0xbd4d
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ecx
jl 0x10031483
xor eax, eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], ebx
jge 0x100314bb
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x2a8], 0
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ebx
jl 0x100314a3
xor eax, eax
mov dword [ebp - 0x1c], eax
jmp 0x100314d1
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x106c], 0xfcb6
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jl 0x100314c0
mov eax, dword [ebp - 0x2a8]
xor edx, edx
mov dword [ebp - 0x1120], 0xfffffffd
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x5c]
mov ecx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x5c]
cmp ecx, eax
mov eax, dword [ebp - 0x5c]
setle dl
xor ebx, ebx
cmp edx, eax
setl bl
xor ecx, ecx
sub ebx, dword [ebp - 0x58]
mov eax, dword [ebp - 0x70]
cmp ebx, eax
setne cl
cmp ecx, 2
sbb eax, eax
neg eax
sub eax, dword [ebp - 0x44]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x2a8]
mov eax, dword [ebp - 0x44]
dec dword [ebp - 0x34]
xor eax, eax
cmp dword [ebp - 0x2a8], eax
je 0x10031540
cmp dword [ebp - 0x48], eax
je 0x10031540
xor edx, edx
inc edx
mov ecx, edx
jmp 0x10031545
xor edx, edx
mov ecx, eax
inc edx
mov eax, dword [ebp - 0x48]
sub ecx, eax
sub ecx, 0x74600ebd
mov dword [ebp - 0x106c], ecx
mov dword [ebp - 0x58], 0x5f34bdac
mov dword [ebp - 0x70], 0xc266
mov dword [ebp - 0x34], 0xc5d177cc
mov dword [ebp - 0x5c], 0x5ff79fac
mov dword [ebp - 0x40], 0xd2afddf3
mov dword [ebp - 0x44], 0x199f2dc8
mov dword [ebp - 0x48], eax
xor eax, eax
push 4
mov dword [ebp - 0x1c], eax
pop ecx
cmp dword [ebp - 0x1c], ecx
jge 0x100315a8
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x1138], 0xbd4d
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ecx
jl 0x10031590
xor eax, eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], edx
jge 0x100315c8
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x2fc], 0
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edx
jl 0x100315b0
xor eax, eax
mov dword [ebp - 0x1c], eax
jmp 0x100315de
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x10e4], 0xfcb6
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jl 0x100315cd
mov eax, dword [ebp - 0x2fc]
xor edx, edx
mov dword [ebp - 0x1138], 0xfffffffd
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x5c]
mov ecx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x5c]
cmp ecx, eax
mov eax, dword [ebp - 0x5c]
setle dl
xor ebx, ebx
cmp edx, eax
setl bl
xor ecx, ecx
sub ebx, dword [ebp - 0x58]
mov eax, dword [ebp - 0x70]
cmp ebx, eax
setne cl
cmp ecx, 2
sbb eax, eax
neg eax
sub eax, dword [ebp - 0x44]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x2fc]
mov eax, dword [ebp - 0x44]
dec dword [ebp - 0x34]
xor eax, eax
cmp dword [ebp - 0x2fc], eax
je 0x1003164d
cmp dword [ebp - 0x48], eax
je 0x1003164d
xor edx, edx
inc edx
mov ecx, edx
jmp 0x10031652
xor edx, edx
mov ecx, eax
inc edx
mov eax, dword [ebp - 0x48]
sub ecx, eax
sub ecx, 0x74600ebd
mov dword [ebp - 0x10e4], ecx
mov dword [ebp - 0x58], 0x5f34bdac
mov dword [ebp - 0x70], 0xc266
mov dword [ebp - 0x34], 0xc5d177cc
mov dword [ebp - 0x5c], 0x5ff79fac
mov dword [ebp - 0x40], 0xd2afddf3
mov dword [ebp - 0x44], 0x199f2dc8
mov dword [ebp - 0x48], eax
xor eax, eax
push 4
mov dword [ebp - 0x1c], eax
pop ecx
cmp dword [ebp - 0x1c], ecx
jge 0x100316b5
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x1150], 0xbd4d
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ecx
jl 0x1003169d
xor eax, eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], edx
jge 0x100316d5
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x2ac], 0
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edx
jl 0x100316bd
xor eax, eax
mov dword [ebp - 0x1c], eax
jmp 0x100316eb
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x1084], 0xfcb6
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jl 0x100316da
mov eax, dword [ebp - 0x2ac]
xor edx, edx
mov dword [ebp - 0x1150], 0xfffffffd
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x5c]
mov ecx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x5c]
cmp ecx, eax
mov eax, dword [ebp - 0x5c]
setle dl
xor ebx, ebx
cmp edx, eax
push 2
setl bl
xor ecx, ecx
sub ebx, dword [ebp - 0x58]
mov eax, dword [ebp - 0x70]
cmp ebx, eax
pop edx
setne cl
cmp ecx, edx
sbb eax, eax
neg eax
sub eax, dword [ebp - 0x44]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x2ac]
mov eax, dword [ebp - 0x44]
dec dword [ebp - 0x34]
xor eax, eax
cmp dword [ebp - 0x2ac], eax
je 0x1003175c
cmp dword [ebp - 0x48], eax
je 0x1003175c
xor ebx, ebx
inc ebx
mov ecx, ebx
jmp 0x10031761
xor ebx, ebx
mov ecx, eax
inc ebx
mov eax, dword [ebp - 0x48]
sub ecx, eax
sub ecx, 0x74600ebd
xor eax, eax
mov dword [ebp - 0x1084], ecx
or ecx, 0xffffffff
mov dword [ebp - 0x24], 0xde19d29b
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x5c], 0x5b1b6fd4
mov dword [ebp - 0x70], ebx
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 3
jge 0x100317a9
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x568], ecx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x10031794
xor eax, eax
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], edx
jg 0x100318d8
mov dword [ebp - 0x10], 0xd4f2887c
mov dword [ebp - 0x40], ecx
mov byte [ebp - 0x29], al
cmp byte [ebp - 0x29], 0
je 0x100317d3
push eax
push eax
call dword [sym.imp.KERNEL32.dll_LoadResource]
push 2
pop edx
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp + eax*4 - 0x568]
mov eax, dword [ebp - 0x24]
mov dword [ebp + eax*4 - 0x568], ecx
xor eax, eax
mov dword [ebp - 0x10], eax
jmp 0x100318ba
push 0xfffffffffffffffe
pop ecx
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x58], 0xf08664a1
mov byte [ebp - 0x29], al
cmp byte [ebp - 0x29], 0
je 0x10031819
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push 2
xor eax, eax
pop edx
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], edx
jg 0x100318b7
mov eax, dword [ebp - 0x10]
xor ecx, ecx
mov eax, dword [ebp + eax*4 - 0x568]
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp + eax*4 - 0x568]
cmp eax, 0x45fe
mov eax, dword [ebp - 0x10]
setl cl
xor ebx, ebx
mov eax, dword [ebp + eax*4 - 0x568]
cmp ecx, eax
mov ecx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x5c]
setg bl
xor edx, edx
cmp eax, ecx
setl dl
sub edx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
setg cl
xor eax, eax
cmp ebx, ecx
setl al
mov dword [ebp - 0x58], eax
xor eax, eax
mov byte [ebp - 0x29], al
cmp byte [ebp - 0x29], al
je 0x100318a6
push eax
push eax
push 0x1f4c
push 0x1c9c
push eax
call dword [sym.imp.USER32.dll_InsertMenuW]
inc dword [ebp - 0x20]
push 2
pop edx
cmp dword [ebp - 0x20], edx
jle 0x10031825
xor eax, eax
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edx
jle 0x100317f1
inc dword [ebp - 0x24]
push 0
pop eax
push 0xffffffffffffffff
pop ecx
cmp dword [ebp - 0x24], edx
jle 0x100317b5
xor ebx, ebx
inc ebx
cmp dword [ebp - 0x34], eax
je 0x100318e3
mov eax, dword [ebp - 0x560]
mov ecx, dword [ebp - 0x568]
xor edx, edx
mov eax, dword [ebp - 0x34]
cmp ecx, eax
mov eax, dword [ebp - 0x24]
setge dl
sub eax, edx
sub eax, dword [ebp - 0x70]
mov dword [ebp - 0x5c], eax
xor eax, eax
mov dword [ebp - 0x1c], 0xfe7d8a87
mov dword [ebp - 0x48], 0xdfac86e8
mov dword [ebp - 0x58], 0xe226996d
mov dword [ebp - 0x28], 0x38b4fd08
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x28], 0x3f91a665
push 3
mov dword [ebp - 0x10], eax
pop ecx
cmp dword [ebp - 0x10], ecx
jge 0x10031949
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0xd0], 0xfffffff9
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ecx
jl 0x10031931
xor eax, eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], ecx
jge 0x10031969
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x10cc], 0xc7d0e75f
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ecx
jl 0x10031951
xor eax, eax
push 2
pop edx
mov dword [ebp - 0x1c], edx
cmp dword [ebp - 0x1c], eax
jl 0x10031ba7
jmp 0x1003197c
xor eax, eax
mov dword [ebp - 0x30], 8
or ecx, 0xffffffff
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x34], ecx
push 0xfffffffffffffffe
mov dword [ebp - 0x28], 0x9e8ee08a
pop ecx
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x28], ecx
push 4
mov dword [ebp - 0x3c], edx
mov dword [ebp - 0x14], eax
pop ecx
jmp 0x100319b8
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x1314], 0
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ecx
jl 0x100319a7
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp + eax*4 - 0xd0]
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0xd0], ecx
xor eax, eax
mov dword [ebp - 0x30], edx
cmp dword [ebp - 0x30], eax
jl 0x10031b36
mov dword [ebp - 0x40], 0x445a8cce
xor edx, edx
mov dword [ebp - 0x5c], 0xfffffff7
mov dword [ebp - 0x20], 0x5aba9a9
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp + eax*4 - 0xd0]
mov eax, dword [ebp - 0xd0]
cmp eax, ecx
mov eax, dword [ebp - 0x1c]
setne dl
xor ecx, ecx
cmp edx, 0x14af12a8
setne cl
imul eax, ecx
test eax, eax
je 0x10031a31
xor eax, eax
cmp dword [ebp - 0x1c], eax
je 0x10031a31
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp + eax*4 - 0xd0]
mov eax, dword [ebp - 0x1c]
xor edx, edx
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp + eax*4 - 0xd0]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp + eax*4 - 0xd0]
cmp ecx, eax
mov eax, dword [ebp - 0x1c]
setne dl
add edx, dword [ebp + eax*4 - 0xd0]
mov dword [ebp - 0x40], edx
xor edx, edx
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp + eax*4 - 0xd0]
add eax, dword [ebp - 0x1c]
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x34], ebx
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp + eax*4 - 0xd0]
cmp eax, 0x4448110c
mov eax, dword [ebp - 0x1c]
setge dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x30]
setle cl
cmp dword [ebp + eax*4 - 0xd0], ecx
jg 0x10031aa4
xor eax, eax
cmp dword [ebp - 0x30], eax
je 0x10031aa6
mov eax, ebx
jmp 0x10031aa6
xor eax, eax
mov dword [ebp - 0x20], eax
xor eax, eax
push 2
mov dword [ebp - 0x20], eax
pop edx
jmp 0x10031b26
mov eax, dword [ebp - 0x1c]
cmp dword [ebp + eax*4 - 0xd0], 0x8e4c12f6
jne 0x10031ad1
mov eax, dword [ebp - 0x5c]
cmp eax, dword [ebp - 0x1c]
je 0x10031ad1
xor eax, eax
mov ecx, eax
jmp 0x10031ad3
mov ecx, ebx
or eax, 0xffffffff
cmp dword [ebp - 0x5c], eax
jne 0x10031ae5
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp + eax*4 - 0xd0]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp + eax*4 - 0xd0]
mov dword [ebp - 0x34], ecx
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp + eax*4 - 0xd0]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp + eax*4 - 0xd0]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp + eax*4 - 0xd0]
mov dword [ebp - 0x34], 0xfffffffc
mov eax, dword [ebp - 0x1c]
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], edx
jle 0x10031ab3
dec dword [ebp - 0x30]
jns 0x100319df
xor eax, eax
mov dword [ebp - 0x30], eax
jmp 0x10031b99
mov dword [ebp - 0x28], eax
push 4
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x14], eax
pop ecx
jmp 0x10031b5a
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x13d4], 0xb77d8654
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ecx
jl 0x10031b49
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x34], 0x251a
mov ecx, dword [ebp - 0xc8]
mov eax, dword [ebp - 0x30]
mov dword [ebp + eax*4 - 0xd0], ecx
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0xc8]
cmp dword [ebp - 0x1c], eax
jne 0x10031b8d
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x34], ebx
dec dword [ebp - 0x3c]
inc dword [ebp - 0x30]
push 0
pop eax
cmp dword [ebp - 0x30], edx
jle 0x10031b3b
dec dword [ebp - 0x1c]
jns 0x1003197a
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x10c8], eax
xor eax, eax
mov dword [ebp - 0x20], 0x3ae35568
push 4
mov dword [ebp - 0x14], eax
pop ecx
cmp dword [ebp - 0x14], ecx
jge 0x10031bdc
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x1168], 0x61fbc9fa
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ecx
jl 0x10031bc4
xor eax, eax
mov dword [ebp - 0x20], 0xa
cmp dword [ebp - 0x20], 0xfffffff7
jle 0x10031cf5
jmp 0x10031bf1
xor eax, eax
mov dword [ebp - 0x24], 0xfffffffd
cmp dword [ebp - 0x20], eax
je 0x10031cb1
mov dword [ebp - 0x40], 0x28cae2fe
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], edx
jge 0x10031c24
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0xd30], ebx
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edx
jl 0x10031c10
xor eax, eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], edx
jge 0x10031c43
or ecx, 0xffffffff
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x40c], ecx
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edx
jl 0x10031c2f
xor eax, eax
mov byte [ebp - 0x29], al
cmp byte [ebp - 0x29], 0
je 0x10031c5b
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDlgCtrlID]
xor eax, eax
mov dword [ebp - 0x40c], ebx
cmp dword [ebp - 0x40c], eax
jl 0x10031cd5
mov ecx, dword [ebp - 0xd30]
xor edx, edx
mov eax, dword [ebp - 0x24]
cmp eax, ecx
mov eax, dword [ebp - 0x24]
setle dl
add eax, edx
xor edx, edx
imul ecx, eax, 0xa075
mov eax, dword [ebp - 0x40c]
add ecx, 0xc61c
cmp ecx, eax
mov eax, dword [ebp - 0x115c]
setge dl
xor ecx, ecx
cmp edx, eax
setne cl
mov dword [ebp - 0x40], ecx
dec dword [ebp - 0x40c]
jns 0x10031c69
jmp 0x10031cd5
mov dword [ebp - 0x24], eax
jmp 0x10031ccf
cmp dword [ebp - 0x24], eax
jne 0x10031cd5
mov byte [ebp - 0x29], al
cmp byte [ebp - 0x29], 0
je 0x10031ccc
call dword [sym.imp.USER32.dll_GetDoubleClickTime]
xor eax, eax
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 0x23
jl 0x10031cb6
xor eax, eax
mov byte [ebp - 0x29], al
cmp byte [ebp - 0x29], al
je 0x10031ce5
call dword [sym.imp.USER32.dll_GetCaretBlinkTime]
dec dword [ebp - 0x20]
cmp dword [ebp - 0x20], 0xfffffff7
push 2
pop edx
jg 0x10031bef
or eax, 0xffffffff
mov dword [ebp - 0x1c], eax
xor eax, eax
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x48], 0xb503b5b0
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], edx
jge 0x10031d2a
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xc4], 0xfff9
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edx
jl 0x10031d12
xor eax, eax
mov byte [ebp - 0x29], al
cmp byte [ebp - 0x29], 0
je 0x10031d45
push 0x1718
push 0x2027
call dword [sym.imp.USER32.dll_SetCaretPos]
xor eax, eax
mov dword [ebp - 0x1c], ebx
cmp dword [ebp - 0x1c], eax
jl 0x10031eea
mov dword [ebp - 0x10], 0x816210b9
mov dword [ebp - 0x40], 0xfff6
mov byte [ebp - 0x29], al
cmp byte [ebp - 0x29], 0
je 0x10031d7e
push eax
push eax
push 0x25af
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_SetScrollInfo]
xor eax, eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], ebx
jg 0x10031ee1
mov eax, dword [ebp - 0x1c]
xor edx, edx
mov ecx, dword [ebp + eax*4 - 0xc4]
mov eax, dword [ebp - 0x1c]
cmp ecx, eax
setg dl
xor ecx, ecx
mov dword [ebp - 0x20], edx
mov eax, dword [ebp - 0x20]
cmp eax, 8
setne cl
xor edx, edx
cmp ecx, 0x8abf
setne dl
sub edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
mov eax, dword [ebp + eax*4 - 0xc4]
cmp edx, eax
mov eax, dword [ebp - 0x1c]
setne cl
sub ecx, dword [ebp + eax*4 - 0xc4]
mov eax, dword [ebp - 0x1c]
cmp ecx, dword [ebp + eax*4 - 0xc4]
jge 0x10031def
xor eax, eax
mov ecx, eax
cmp dword [ebp - 0x24], eax
je 0x10031df1
mov ecx, ebx
mov eax, dword [ebp - 0x1c]
xor edx, edx
mov eax, dword [ebp + eax*4 - 0xc4]
mov dword [ebp - 0x24], ecx
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp + eax*4 - 0xc4]
mov eax, dword [ebp - 0xc0]
cmp edx, eax
sbb eax, eax
xor ebx, ebx
add eax, 0xa82a6f95
cmp eax, ecx
mov eax, dword [ebp - 0x1c]
setl bl
mov eax, dword [ebp + eax*4 - 0xc4]
sub ebx, eax
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp + eax*4 - 0xc4]
cmp ebx, eax
mov eax, dword [ebp - 0x1c]
setle dl
xor ecx, ecx
add edx, dword [ebp + eax*4 - 0xc4]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp + eax*4 - 0xc4]
cmp edx, eax
setg cl
dec ecx
mov dword [ebp - 0x48], ecx
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0xc0]
mov eax, dword [ebp - 0x10]
xor eax, eax
cmp dword [ebp - 0x10], eax
je 0x10031e8c
mov eax, dword [ebp - 0x1c]
cmp dword [ebp + eax*4 - 0xc4], 0
je 0x10031e8a
xor ebx, ebx
inc ebx
mov edx, ebx
jmp 0x10031e91
xor eax, eax
xor ebx, ebx
mov edx, eax
inc ebx
mov eax, dword [ebp - 0x1c]
xor ecx, ecx
cmp edx, eax
setle cl
xor eax, eax
mov dword [ebp - 0x40], ecx
mov dword [ebp - 0x20], eax
jmp 0x10031ece
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], ebx
jg 0x10031ecb
mov dword [ebp - 0x40], 0xade89b93
mov dword [ebp - 0x58], 0x531eaa47
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x58], eax
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], ebx
jle 0x10031ead
xor eax, eax
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], ebx
jle 0x10031ea5
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jle 0x10031d8a
xor eax, eax
dec dword [ebp - 0x1c]
jns 0x10031d51
mov dword [ebp - 0x60], 0x5f34bdac
mov dword [ebp - 0x1c], 0xfe7d8a87
mov dword [ebp - 0x48], 0xdfac86e8
mov dword [ebp - 0x58], 0xe226996d
mov dword [ebp - 0x28], 0x38b4fd08
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x28], 0x3f91a665
push 3
mov dword [ebp - 0x10], eax
pop ecx
cmp dword [ebp - 0x10], ecx
jge 0x10031f3a
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0xec], 0xfffffff9
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ecx
jl 0x10031f22
xor eax, eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], ecx
jge 0x10031f5a
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x109c], 0xc7d0e75f
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ecx
jl 0x10031f42
xor eax, eax
push 2
pop edx
mov dword [ebp - 0x1c], edx
cmp dword [ebp - 0x1c], eax
jl 0x10032198
jmp 0x10031f6d
xor eax, eax
mov dword [ebp - 0x30], 8
or ecx, 0xffffffff
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x34], ecx
push 0xfffffffffffffffe
mov dword [ebp - 0x28], 0x9e8ee08a
pop ecx
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x28], ecx
push 4
mov dword [ebp - 0x3c], edx
mov dword [ebp - 0x14], eax
pop ecx
jmp 0x10031fa9
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x12f4], 0
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ecx
jl 0x10031f98
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp + eax*4 - 0xec]
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0xec], ecx
xor eax, eax
mov dword [ebp - 0x30], edx
cmp dword [ebp - 0x30], eax
jl 0x10032127
mov dword [ebp - 0x40], 0x445a8cce
xor edx, edx
mov dword [ebp - 0x5c], 0xfffffff7
mov dword [ebp - 0x20], 0x5aba9a9
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp + eax*4 - 0xec]
mov eax, dword [ebp - 0xec]
cmp eax, ecx
mov eax, dword [ebp - 0x1c]
setne dl
xor ecx, ecx
cmp edx, 0x14af12a8
setne cl
imul eax, ecx
test eax, eax
je 0x10032022
xor eax, eax
cmp dword [ebp - 0x1c], eax
je 0x10032022
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp + eax*4 - 0xec]
mov eax, dword [ebp - 0x1c]
xor edx, edx
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp + eax*4 - 0xec]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp + eax*4 - 0xec]
cmp ecx, eax
mov eax, dword [ebp - 0x1c]
setne dl
add edx, dword [ebp + eax*4 - 0xec]
mov dword [ebp - 0x40], edx
xor edx, edx
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp + eax*4 - 0xec]
add eax, dword [ebp - 0x1c]
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x34], ebx
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp + eax*4 - 0xec]
cmp eax, 0x4448110c
mov eax, dword [ebp - 0x1c]
setge dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x30]
setle cl
cmp dword [ebp + eax*4 - 0xec], ecx
jg 0x10032095
xor eax, eax
cmp dword [ebp - 0x30], eax
je 0x10032097
mov eax, ebx
jmp 0x10032097
xor eax, eax
mov dword [ebp - 0x20], eax
xor eax, eax
push 2
mov dword [ebp - 0x20], eax
pop edx
jmp 0x10032117
mov eax, dword [ebp - 0x1c]
cmp dword [ebp + eax*4 - 0xec], 0x8e4c12f6
jne 0x100320c2
mov eax, dword [ebp - 0x5c]
cmp eax, dword [ebp - 0x1c]
je 0x100320c2
xor eax, eax
mov ecx, eax
jmp 0x100320c4
mov ecx, ebx
or eax, 0xffffffff
cmp dword [ebp - 0x5c], eax
jne 0x100320d6
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp + eax*4 - 0xec]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp + eax*4 - 0xec]
mov dword [ebp - 0x34], ecx
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp + eax*4 - 0xec]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp + eax*4 - 0xec]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp + eax*4 - 0xec]
mov dword [ebp - 0x34], 0xfffffffc
mov eax, dword [ebp - 0x1c]
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], edx
jle 0x100320a4
dec dword [ebp - 0x30]
jns 0x10031fd0
xor eax, eax
mov dword [ebp - 0x30], eax
jmp 0x1003218a
mov dword [ebp - 0x28], eax
push 4
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x14], eax
pop ecx
jmp 0x1003214b
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x1374], 0xb77d8654
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ecx
jl 0x1003213a
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x34], 0x251a
mov ecx, dword [ebp - 0xe4]
mov eax, dword [ebp - 0x30]
mov dword [ebp + eax*4 - 0xec], ecx
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0xe4]
cmp dword [ebp - 0x1c], eax
jne 0x1003217e
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x34], ebx
dec dword [ebp - 0x3c]
inc dword [ebp - 0x30]
push 0
pop eax
cmp dword [ebp - 0x30], edx
jle 0x1003212c
dec dword [ebp - 0x1c]
jns 0x10031f6b
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x1098], eax
xor eax, eax
mov dword [ebp - 0x54], 0xc266
push 4
mov dword [ebp - 0x14], eax
pop ecx
cmp dword [ebp - 0x14], ecx
jge 0x100321cd
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x9c0], 0x4ec2e0cf
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ecx
jl 0x100321b5
xor eax, eax
mov byte [ebp - 0x29], al
cmp byte [ebp - 0x29], 0
je 0x100321e9
push eax
push 0x217a
push 0x13f1
push eax
call esi
push 2
xor eax, eax
pop edx
mov dword [ebp - 0x9b8], eax
jmp 0x1003221f
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], ebx
jge 0x10032211
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x6f0], 7
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jl 0x100321f9
xor eax, eax
cmp dword [ebp - 0x6f0], eax
jne 0x10032228
dec dword [ebp - 0x9b8]
cmp dword [ebp - 0x9b8], 0xffffffed
jg 0x100321f1
mov dword [ebp - 0x4c], 0xc5d177cc
mov dword [ebp - 0x48], 0x24b54114
mov dword [ebp - 0x40], 0xde574131
push 3
mov dword [ebp - 0x1c], eax
pop esi
cmp dword [ebp - 0x1c], esi
jge 0x1003225f
or ecx, 0xffffffff
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x680], ecx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], esi
jl 0x1003224b
xor eax, eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], edx
jge 0x1003227b
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0xe70], ebx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edx
jl 0x10032267
xor eax, eax
mov dword [ebp - 0x1c], eax
jmp 0x10032291
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0xa28], 0x81438367
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edx
jl 0x10032280
mov eax, dword [ebp - 0x678]
xor edx, edx
mov eax, dword [ebp - 0x678]
mov dword [ebp - 0xe70], eax
mov eax, dword [ebp - 0x678]
mov eax, dword [ebp - 0x678]
mov eax, dword [ebp - 0x678]
mov dword [ebp - 0x48], ebx
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0xa24], eax
mov ecx, dword [ebp - 0xa24]
mov eax, dword [ebp - 0x678]
cmp ecx, eax
setl dl
xor eax, eax
mov dword [ebp - 0x40], edx
mov byte [ebp - 0x29], al
cmp byte [ebp - 0x29], al
je 0x100322f1
push 0x1204
push eax
push eax
call edi
xor eax, eax
mov dword [ebp - 0x44], 0x5ff79fac
push 4
mov dword [ebp - 0x20], 0x83111738
pop ecx
mov dword [ebp - 0x5c], 0x6986d6d
mov dword [ebp - 0x24], ecx
push 0xfffffffffffffff7
pop edi
mov dword [ebp - 0x10], edi
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x48], 0x2560131b
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], esi
jge 0x10032339
push 0xfffffffffffffffe
pop ecx
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xf40], ecx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x10032327
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp - 0x20]
neg eax
sbb eax, eax
inc eax
cmp eax, 0xfffc
sbb eax, eax
inc eax
cmp eax, dword [ebp - 0x5c]
jle 0x1003235d
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov ecx, edi
mov eax, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x24]
neg eax
sbb eax, eax
neg eax
cmp eax, 0xd4fe9304
sbb eax, eax
xor edx, edx
neg eax
imul eax, dword [ebp - 0x10]
imul eax, eax, 0xfc33
sub eax, dword [ebp - 0x10]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp - 0xf40]
mov eax, dword [ebp - 0xf40]
sub ecx, eax
mov eax, dword [ebp - 0x20]
cmp ecx, eax
mov eax, dword [ebp - 0x20]
setge dl
xor ecx, ecx
add edx, 0xb0be
cmp eax, edx
setg cl
sub ecx, 0x5d44
sub ecx, dword [ebp - 0x24]
neg ecx
sbb ecx, ecx
inc ecx
neg ecx
mov dword [ebp - 0x48], ecx
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x48], eax
xor eax, eax
mov dword [ebp - 0x70], 0xd2afddf3
mov dword [ebp - 0x38], 0x199f2dc8
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x28], 0xe809b4af
mov dword [ebp - 0x28], 0xfffffff9
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], esi
jge 0x10032417
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x740], ebx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x10032403
xor eax, eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], esi
jge 0x10032434
or ecx, 0xffffffff
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x740], ecx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], esi
jl 0x10032422
mov eax, dword [ebp - 0x1c]
mov edi, 0xffffb6bd
mov ecx, edi
sub ecx, eax
sub ecx, dword [ebp - 0x1c]
sub ecx, dword [ebp - 0x73c]
mov eax, dword [ebp - 0x738]
neg ecx
sbb ecx, ecx
inc ecx
add eax, ecx
neg eax
cmp eax, ebx
jb 0x1003246a
xor eax, eax
cmp dword [ebp - 0x738], eax
je 0x1003246c
mov edx, ebx
jmp 0x1003246e
xor eax, eax
mov edx, eax
mov ecx, dword [ebp - 0x740]
mov eax, dword [ebp - 0x1c]
add eax, edx
add ecx, eax
je 0x10032480
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov esi, dword [sym.imp.USER32.dll_BeginPaint]
xor eax, eax
cmp dword [ebp - 0x1c], eax
je 0x100324cb
mov dword [ebp - 0x1c], 0xc
jmp 0x100324b1
cmp byte [ebp - 0x29], 0
je 0x100324ae
push eax
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call esi
xor eax, eax
dec dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 7
mov byte [ebp - 0x29], al
jle 0x1003249c
cmp byte [ebp - 0x29], 0
je 0x1003251f
push eax
push eax
push eax
call dword [sym.imp.OLEAUT32.dll_SysStringByteLen]
jmp 0x1003251f
mov dword [ebp - 0x48], 9
or ecx, 0xffffffff
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x1c], 0xffffffef
jmp 0x10032519
mov dword [ebp - 0x28], 6
mov dword [ebp - 0x3c], 0xff29c214
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 3
jge 0x10032510
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x123c], ecx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x100324fb
xor eax, eax
dec dword [ebp - 0x48]
dec dword [ebp - 0x3c]
dec dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0xffffffe2
jge 0x100324e4
mov dword [ebp - 0x3c], 0xaf19195c
xor eax, eax
mov dword [ebp - 0x14], 0x5c8094a
push 2
mov dword [ebp - 0x14], eax
pop edx
cmp dword [ebp - 0x14], edx
jge 0x10032552
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x11a0], 0x9f9b
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edx
jl 0x1003253a
xor eax, eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], ebx
jg 0x1003257b
mov byte [ebp - 0x29], al
cmp byte [ebp - 0x29], 0
je 0x10032570
push 0x2015
call dword [sym.imp.USER32.dll_GetKeyboardType]
xor eax, eax
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jle 0x1003255a
push 2
pop edx
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x48], 0xfffffffa
mov dword [ebp - 0x40], ebx
push 3
mov dword [ebp - 0x10], eax
pop ecx
cmp dword [ebp - 0x10], ecx
jge 0x100325ab
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x270], 0
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ecx
jl 0x10032593
xor eax, eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], ecx
jge 0x100325cb
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0xe00], 0xffffffff
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ecx
jl 0x100325b3
xor eax, eax
mov dword [ebp - 0x30], eax
jmp 0x100325fc
mov dword [ebp - 0x14], 0xba339924
mov dword [ebp - 0x14], eax
jmp 0x100325f4
mov byte [ebp - 0x29], al
cmp byte [ebp - 0x29], 0
je 0x100325f1
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
push 2
xor eax, eax
pop edx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edx
jle 0x100325dc
inc dword [ebp - 0x30]
cmp dword [ebp - 0x30], edx
jle 0x100325d0
cmp dword [ebp - 0x30], eax
je 0x100326b4
mov eax, dword [ebp - 0x268]
sub eax, 0x43f2ecc1
je 0x10032663
xor eax, eax
cmp dword [ebp - 0x30], eax
je 0x10032624
mov eax, dword [ebp - 0x268]
mov eax, dword [ebp - 0x268]
xor ecx, ecx
mov eax, dword [ebp - 0x30]
cmp eax, 0xb6bd0d4
mov eax, dword [ebp - 0x30]
setl cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x26c]
setle dl
xor ecx, ecx
cmp edx, eax
setge cl
mov dword [ebp - 0x30], ecx
mov eax, dword [ebp - 0x26c]
cmp dword [ebp - 0x30], eax
jne 0x10032666
xor eax, eax
cmp dword [ebp - 0x30], eax
jne 0x10032666
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x270]
mov eax, dword [ebp - 0x268]
mov eax, dword [ebp - 0x268]
mov eax, dword [ebp - 0x270]
mov eax, dword [ebp - 0x270]
xor eax, eax
cmp dword [ebp - 0x26c], ebx
je 0x10032695
cmp dword [ebp - 0x30], eax
je 0x10032695
mov eax, ebx
cmp eax, dword [ebp - 0x270]
jl 0x100326a4
xor eax, eax
cmp dword [ebp - 0x30], eax
je 0x100326a6
mov eax, ebx
cmp eax, dword [ebp - 0x268]
je 0x100326b2
mov eax, ebx
jmp 0x100326b4
xor eax, eax
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x48]
add eax, 0x5265879a
mov dword [ebp - 0xdf8], eax
xor eax, eax
cmp dword [ebp - 0x30], eax
jne 0x100326d4
cmp dword [ebp - 0xdf8], eax
je 0x100326d6
mov eax, ebx
mov dword [ebp - 0x40], eax
mov ecx, 0xb6478c38
mov dword [ebp - 0x1c], 0xfff8
or eax, 0xffffffff
mov dword [ebp - 0x8cc], eax
mov dword [ebp - 0x8c8], eax
mov dword [ebp - 0x8c4], eax
mov dword [ebp - 0x8c0], eax
xor eax, eax
mov dword [ebp - 0x10], 0xd3ec93cc
mov dword [ebp - 0x20], 0xa08376fb
cmp dword [ebp - 0x1c], eax
jne 0x10032739
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
cmp ecx, eax
sbb eax, eax
inc eax
mov dword [ebp - 0x8c4], eax
mov dword [ebp - 0x10], eax
xor eax, eax
cmp dword [ebp - 0x10], eax
je 0x10032736
mov eax, dword [ebp - 0x8c4]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x8c4]
mov eax, dword [ebp - 0x1c]
neg ecx
push 0xfffffffffffffffe
sbb ecx, ecx
neg eax
neg ecx
xor edx, edx
cmp eax, ecx
mov eax, dword [ebp - 0x1c]
setg dl
xor ecx, ecx
cmp edx, eax
pop edx
setg cl
xor eax, eax
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x20], eax
jmp 0x10032880
mov dword [ebp - 0x40], 6
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 3
jg 0x1003283f
mov dword [ebp - 0x10], 3
cmp dword [ebp - 0x10], eax
jl 0x100327fc
push 2
pop ecx
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], ecx
jge 0x100327bc
or edx, 0xffffffff
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x5ec], edx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ecx
jl 0x100327a8
xor eax, eax
mov dword [ebp - 0x5ec], 3
cmp dword [ebp - 0x5ec], eax
jl 0x100327f7
mov byte [ebp - 0x29], al
cmp byte [ebp - 0x29], 0
je 0x100327ec
push eax
push eax
push 0x1f4c
push 0x1c9c
push eax
call dword [sym.imp.USER32.dll_InsertMenuW]
xor eax, eax
dec dword [ebp - 0x5ec]
jns 0x100327ce
push 2
pop ecx
dec dword [ebp - 0x10]
jns 0x1003279d
mov byte [ebp - 0x29], al
cmp byte [ebp - 0x29], 0
je 0x1003282f
push 0xa2
push 0x193e
push 0xe36
push 0x15de
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_IntersectClipRect]
xor eax, eax
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jle 0x1003278e
push 0xfffffffffffffffe
pop edx
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0xffffffe3
jne 0x1003287d
push 2
pop ecx
mov dword [ebp - 0x58], 0xb81f
mov dword [ebp - 0x1c], eax
jmp 0x1003286f
mov dword [ebp - 0x58], 0xfffffff8
cmp dword [ebp - 0x40], eax
jne 0x10032874
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x58], eax
inc dword [ebp - 0x1c]
push 0
pop eax
cmp dword [ebp - 0x1c], ecx
jge 0x10032857
dec dword [ebp - 0x10]
cmp dword [ebp - 0x10], 0xffffffe3
je 0x1003284b
dec dword [ebp - 0x20]
cmp dword [ebp - 0x20], edx
jge 0x1003277a
push 4
mov dword [ebp - 0x1c], eax
pop ecx
jmp 0x100328a2
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x1180], 0xbd4d
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ecx
jl 0x10032891
push 0xfffffffffffffff7
pop eax
mov dword [ebp - 0x470], eax
mov dword [ebp - 0x46c], eax
mov dword [ebp - 0x468], eax
mov dword [ebp - 0x464], eax
or eax, 0xffffffff
mov dword [ebp - 0x34], 0x9adb8213
mov dword [ebp - 0x5c], 7
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x464]
mov eax, dword [ebp - 0x464]
mov ecx, dword [ebp - 0x464]
sub ecx, dword [ebp - 0x464]
mov eax, dword [ebp - 0x34]
neg ecx
sbb ecx, ecx
inc ecx
add eax, ecx
jne 0x100328ff
cmp dword [ebp - 0x34], eax
je 0x10032901
mov eax, ebx
cmp dword [ebp - 0x464], eax
jg 0x10032914
xor eax, eax
cmp dword [ebp - 0x34], eax
je 0x10032916
mov edx, ebx
jmp 0x10032918
xor eax, eax
mov edx, eax
mov eax, dword [ebp - 0x464]
xor ecx, ecx
cmp edx, eax
mov ebx, dword [sym.imp.USER32.dll_GetDesktopWindow]
setge cl
mov dword [ebp - 0x5c], ecx
mov eax, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x464]
mov eax, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x464]
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x40], eax
xor eax, eax
mov byte [ebp - 0x29], al
cmp byte [ebp - 0x29], al
je 0x1003299f
push 0x1566
push 0x1622
push 0xdce
push eax
push 0x1444
push 0x8eb
call ebx
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
push 0x154e
push 0x1799
push 0xa40
push 0xffe
call ebx
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_MaskBlt]
xor eax, eax
xor ecx, ecx
mov dword [ebp - 0x1c], eax
inc ecx
cmp dword [ebp - 0x1c], ecx
jge 0x100329c2
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x304], 0
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ecx
jl 0x100329aa
xor eax, eax
mov dword [ebp - 0x48], 0xfffffff9
mov dword [ebp - 0x14], eax
jmp 0x100329df
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x128], 0xd313dd33
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ecx
jl 0x100329ce
push 5
mov dword [ebp - 0x128], 0xffffffe7
pop edx
jmp 0x10032a40
mov dword [ebp - 0x24], 0x94b2
mov dword [ebp - 0x40], 0xfffffff7
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x128]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
xor eax, eax
mov dword [ebp - 0x40], 9
cmp dword [ebp - 0x24], eax
jne 0x10032a2f
cmp dword [ebp - 0x40], eax
je 0x10032a31
mov eax, ecx
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x40], eax
inc dword [ebp - 0x128]
cmp dword [ebp - 0x128], edx
je 0x100329f3
xor eax, eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 3
jge 0x10032a6c
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x10fc], 0xfcb6
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jl 0x10032a53
xor eax, eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], ecx
jge 0x10032a8c
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xed8], 0xffff
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ecx
jl 0x10032a74
xor eax, eax
mov byte [ebp - 0x29], al
cmp byte [ebp - 0x29], 0
je 0x10032aaa
push 0x4aa
push 0xc8e
call ebx
push eax
call dword [sym.imp.USER32.dll_SetWindowLongA]
xor eax, eax
mov byte [ebp - 0x29], al
cmp byte [ebp - 0x29], 0
je 0x10032abc
call ebx
push eax
call dword [sym.imp.USER32.dll_IsIconic]
mov eax, dword [ebp - 0x304]
xor edx, edx
mov dword [ebp - 0x1180], 0xfffffffd
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x70]
mov eax, dword [ebp - 0x44]
cmp ecx, eax
mov eax, dword [ebp - 0x44]
setle dl
xor ebx, ebx
cmp edx, eax
setl bl
xor ecx, ecx
sub ebx, dword [ebp - 0x60]
mov eax, dword [ebp - 0x54]
cmp ebx, eax
setne cl
cmp ecx, 2
sbb eax, eax
neg eax
sub eax, dword [ebp - 0x38]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x304]
mov eax, dword [ebp - 0x38]
dec dword [ebp - 0x4c]
xor eax, eax
cmp dword [ebp - 0x304], eax
je 0x10032b23
cmp dword [ebp - 0x3c], eax
je 0x10032b23
lea ecx, [eax + 1]
jmp 0x10032b25
mov ecx, eax
mov eax, dword [ebp - 0x3c]
xor edx, edx
sub ecx, eax
mov ebx, dword [sym.imp.GDI32.dll_GetPixel]
sub ecx, 0x74600ebd
mov dword [ebp - 0x10fc], ecx
mov dword [ebp - 0x20], 0xf415
mov dword [ebp - 0x4c], 0xfffffff8
mov dword [ebp - 0x48], 8
mov dword [ebp - 0x48], 0x5befa1e1
push 5
pop eax
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x3c], 0xb1dab551
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], 0xd14cd495
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x48], eax
mov ecx, dword [ebp - 0x48]
mov eax, dword [ebp - 0x20]
cmp ecx, eax
mov ecx, dword [ebp - 0x20]
setg dl
mov eax, dword [ebp - 0x4c]
sub ecx, edx
neg ecx
sbb ecx, ecx
xor edx, edx
inc ecx
cmp eax, ecx
mov eax, dword [ebp - 0x20]
setg dl
sub edx, 0x1912530a
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
setg cl
sub ecx, 0x2d8e80c0
sub ecx, dword [ebp - 0x20]
neg ecx
sbb ecx, ecx
xor edx, edx
inc ecx
mov dword [ebp - 0x48], ecx
mov eax, dword [ebp - 0x48]
add eax, 0x5a9c4c8d
cmp eax, 0xfff8
mov eax, dword [ebp - 0x3c]
setne dl
xor ecx, ecx
cmp edx, eax
setl cl
or eax, 0xffffffff
xor edx, edx
cmp ecx, eax
setge dl
xor eax, eax
cmp edx, 0x7120dd93
setle al
mov dword [ebp - 0x3c], eax
xor eax, eax
mov byte [ebp - 0x29], al
cmp byte [ebp - 0x29], al
je 0x10032c1d
push 0x10e4
push 0x7ec
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call ebx
mov dword [ebp - 0x20], 0xf415
xor edx, edx
mov dword [ebp - 0x4c], 0xfffffff8
mov dword [ebp - 0x48], 8
mov dword [ebp - 0x48], 0x5befa1e1
push 5
pop eax
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x3c], 0xb1dab551
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], 0xd14cd495
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x48], eax
mov ecx, dword [ebp - 0x48]
mov eax, dword [ebp - 0x20]
cmp ecx, eax
mov ecx, dword [ebp - 0x20]
setg dl
mov eax, dword [ebp - 0x4c]
sub ecx, edx
neg ecx
sbb ecx, ecx
xor edx, edx
inc ecx
cmp eax, ecx
mov eax, dword [ebp - 0x20]
setg dl
sub edx, 0x1912530a
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
setg cl
sub ecx, 0x2d8e80c0
sub ecx, dword [ebp - 0x20]
neg ecx
sbb ecx, ecx
xor edx, edx
inc ecx
mov dword [ebp - 0x48], ecx
mov eax, dword [ebp - 0x48]
add eax, 0x5a9c4c8d
cmp eax, 0xfff8
mov eax, dword [ebp - 0x3c]
setne dl
xor ecx, ecx
cmp edx, eax
setl cl
or eax, 0xffffffff
xor edx, edx
cmp ecx, eax
setge dl
xor eax, eax
cmp edx, 0x7120dd93
setle al
mov dword [ebp - 0x3c], eax
xor eax, eax
mov byte [ebp - 0x29], al
cmp byte [ebp - 0x29], al
je 0x10032cfe
push 0x10e4
push 0x7ec
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call ebx
mov dword [ebp - 0x20], 0xf415
xor edx, edx
mov dword [ebp - 0x4c], 0xfffffff8
mov dword [ebp - 0x48], 8
mov dword [ebp - 0x48], 0x5befa1e1
push 5
pop eax
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x3c], 0xb1dab551
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], 0xd14cd495
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x48], eax
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x48]
cmp eax, ecx
mov ecx, dword [ebp - 0x20]
setg dl
mov eax, dword [ebp - 0x4c]
sub ecx, edx
neg ecx
sbb ecx, ecx
xor edx, edx
inc ecx
cmp eax, ecx
mov eax, dword [ebp - 0x20]
setg dl
sub edx, 0x1912530a
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
setg cl
sub ecx, 0x2d8e80c0
sub ecx, dword [ebp - 0x20]
neg ecx
sbb ecx, ecx
xor edx, edx
inc ecx
mov dword [ebp - 0x48], ecx
mov eax, dword [ebp - 0x48]
add eax, 0x5a9c4c8d
cmp eax, 0xfff8
mov eax, dword [ebp - 0x3c]
setne dl
xor ecx, ecx
cmp edx, eax
setl cl
or eax, 0xffffffff
xor edx, edx
cmp ecx, eax
setge dl
xor eax, eax
cmp edx, 0x7120dd93
setle al
mov dword [ebp - 0x3c], eax
xor eax, eax
mov byte [ebp - 0x29], al
cmp byte [ebp - 0x29], al
je 0x10032de1
push 0x10e4
push 0x7ec
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call ebx
xor eax, eax
mov dword [ebp - 0x1c], 0xfffffff7
xor edx, edx
mov dword [ebp - 0x28], 0xe809b4af
inc edx
mov dword [ebp - 0x28], 0xfffffff9
push 3
mov dword [ebp - 0x14], eax
pop ebx
cmp dword [ebp - 0x14], ebx
jge 0x10032e18
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x750], edx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jl 0x10032e04
xor eax, eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], ebx
jge 0x10032e35
or ecx, 0xffffffff
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x750], ecx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ebx
jl 0x10032e23
mov eax, dword [ebp - 0x1c]
mov ecx, edi
sub ecx, eax
sub ecx, dword [ebp - 0x1c]
sub ecx, dword [ebp - 0x74c]
mov eax, dword [ebp - 0x748]
neg ecx
sbb ecx, ecx
inc ecx
add eax, ecx
neg eax
cmp eax, edx
jb 0x10032e64
xor eax, eax
cmp dword [ebp - 0x748], eax
je 0x10032e66
jmp 0x10032e68
xor eax, eax
mov edx, eax
mov ecx, dword [ebp - 0x750]
mov eax, dword [ebp - 0x1c]
add eax, edx
add ecx, eax
je 0x10032e7a
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
xor eax, eax
cmp dword [ebp - 0x1c], eax
je 0x10032ed4
mov dword [ebp - 0x1c], 0xc
jmp 0x10032ea5
cmp byte [ebp - 0x29], 0
je 0x10032ea2
push eax
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call esi
xor eax, eax
dec dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 7
mov byte [ebp - 0x29], al
jle 0x10032e90
cmp byte [ebp - 0x29], 0
je 0x10032ebd
push eax
push eax
push eax
call dword [sym.imp.OLEAUT32.dll_SysStringByteLen]
xor esi, esi
inc esi
push 4
pop eax
mov dword [ebp - 0x24], 0x22a19820
mov dword [ebp - 0x20], eax
xor eax, eax
mov dword [ebp - 0x14], eax
jmp 0x10032f39
mov dword [ebp - 0x48], 9
or ecx, 0xffffffff
xor esi, esi
mov dword [ebp - 0x28], ecx
inc esi
mov dword [ebp - 0x28], esi
mov dword [ebp - 0x1c], 0xffffffef
jmp 0x10032f23
mov dword [ebp - 0x28], 6
mov dword [ebp - 0x3c], 0xff29c214
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], ebx
jge 0x10032f1a
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x1290], ecx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jl 0x10032f06
xor eax, eax
dec dword [ebp - 0x48]
dec dword [ebp - 0x3c]
dec dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0xffffffe2
jge 0x10032ef0
jmp 0x10032ec0
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x74], 0x94a1
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x10032f2b
mov eax, dword [ebp - 0x74]
xor ecx, ecx
cmp eax, esi
mov eax, dword [ebp - 0x74]
setge cl
xor edx, edx
add ecx, 0x9ddcef98
cmp eax, ecx
mov eax, dword [ebp - 0x74]
setl dl
xor ebx, ebx
cmp edx, eax
mov eax, dword [ebp - 0x74]
setg bl
xor ecx, ecx
cmp ebx, eax
setg cl
xor eax, eax
cmp ecx, 0x37aced45
setge al
xor ecx, ecx
test eax, eax
sets cl
sub ecx, 0x28de637c
neg ecx
sbb ecx, ecx
inc ecx
cmp dword [ebp - 0x74], ecx
jl 0x1003315a
mov dword [ebp - 0x10], 8
mov eax, 0xe11cd4ee
mov dword [ebp - 0x8ac], eax
mov dword [ebp - 0x8a8], eax
mov dword [ebp - 0x8a4], eax
mov dword [ebp - 0x8a0], eax
mov dword [ebp - 0x54], 0x9b704dcf
mov dword [ebp - 0x10], 0xffffffe9
cmp dword [ebp - 0x10], 0x17
je 0x100330e9
push 0xfffffffffffffff6
xor eax, eax
pop edi
mov dword [ebp - 0x1c], 0xfffffff7
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], eax
jg 0x10033020
mov eax, dword [ebp - 0x1c]
xor edx, edx
mov ecx, dword [ebp + eax*4 - 0x74]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp + eax*4 - 0x74]
cmp ecx, eax
mov eax, dword [ebp - 0x1c]
setne dl
cmp edx, dword [ebp + eax*4 - 0x74]
jne 0x10033011
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], eax
jg 0x100330d7
mov dword [ebp - 0x20], 3
xor eax, eax
cmp dword [ebp - 0x20], eax
jl 0x100331ab
mov dword [ebp - 0x4c], 0xd3eafca1
mov dword [ebp - 0x54], esi
mov eax, dword [ebp - 0x24]
neg eax
jne 0x10033120
xor eax, eax
mov byte [ebp - 0x29], al
cmp byte [ebp - 0x29], al
je 0x100331a9
mov ebx, dword [sym.imp.USER32.dll_GetDesktopWindow]
push 0xd1c
push 0x556
push 0x77d
call ebx
mov esi, dword [sym.imp.USER32.dll_GetDC]
push eax
call esi
push eax
push 0x1ce6
push 0x7e
push 0x20e0
push 0x1bb0
call ebx
push eax
call esi
push eax
call dword [sym.imp.GDI32.dll_BitBlt]
xor esi, esi
xor eax, eax
inc esi
jmp 0x100331b1
xor eax, eax
mov ebx, dword [sym.imp.USER32.dll_GetDesktopWindow]
mov dword [ebp - 0x48], 0x99fb023e
mov dword [ebp - 0x48], 0x5dae5a60
mov dword [ebp - 0x28], 0xa2215256
push 4
mov dword [ebp - 0x1c], eax
pop ecx
cmp dword [ebp - 0x1c], ecx
jge 0x100331e5
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0xf1c], esi
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ecx
jl 0x100331d1
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 3
jge 0x10033203