Function at 0x10030c95
Capabilities:
Clear file content
Connect pipe
Create pipe
Create two anonymous pipes
Delete file
Delete registry key
Get geographical location
Get graphical window text
Get memory capacity
Get thread local storage value
Query environment variable
Query or enumerate registry value

Disassembly:
mov eax, 0x1008618d
call fcn.10085b1c
mov eax, 0x1218
call fcn.1006d530
push ebx
push esi
push edi
push 8
pop eax
mov dword [ebp - 0x188], eax
mov ebx, 0xebe1552b
mov dword [ebp - 0x184], eax
mov dword [ebp - 0x180], eax
mov dword [ebp - 0x17c], eax
xor eax, eax
mov dword [ebp - 0x4c], 0xfff9
mov dword [ebp - 0x14], ebx
mov byte [ebp - 0x79], dl
mov dword [ebp - 0x60], ecx
mov dword [ebp - 0x18], eax
jmp 0x10030cf4
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xc84], 0x35c52658
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 2
jl 0x10030ce3
mov eax, dword [ebp - 0x184]
xor edx, edx
mov ecx, dword [ebp - 0x184]
mov eax, dword [ebp - 0x184]
cmp ecx, eax
mov eax, dword [ebp - 0x188]
setl dl
xor ecx, ecx
xor esi, esi
add edx, 7
inc esi
cmp edx, esi
setg cl
xor edx, edx
sub ecx, eax
mov eax, dword [ebp - 0x184]
cmp ecx, 0xd0b6
setg dl
xor ecx, ecx
cmp edx, eax
setg cl
cmp ecx, 0xffffffff
jle 0x10030d4b
mov eax, dword [ebp - 0x184]
mov eax, dword [ebp - 0x184]
mov eax, dword [ebp - 0x188]
mov eax, dword [ebp - 0x180]
imul eax, dword [ebp - 0x184]
test eax, eax
jne 0x10030d6e
mov eax, dword [ebp - 0x184]
mov eax, dword [ebp - 0x184]
mov eax, dword [ebp - 0x4c]
xor eax, eax
cmp dword [ebp - 0x17c], eax
je 0x10030d88
mov ecx, esi
cmp dword [ebp - 0x4c], eax
jne 0x10030d8a
mov ecx, eax
mov edi, dword [sym.imp.KERNEL32.dll_GetLocaleInfoA]
xor eax, eax
test ecx, ecx
setne al
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0xc80], eax
test eax, eax
je 0x10030e3a
mov dword [ebp - 0x28], 0xffffffff
xor ecx, ecx
mov dword [ebp - 0x40], 0x69002fc
mov dword [ebp - 0x38], esi
mov dword [ebp - 0x28], 8
mov eax, dword [ebp - 0x40]
dec eax
cmp eax, 0x1817887b
mov eax, dword [ebp - 0x28]
setle cl
xor edx, edx
cmp eax, ecx
mov eax, dword [ebp - 0x40]
setne dl
xor ecx, ecx
cmp edx, eax
setg cl
add ecx, dword [ebp - 0x40]
sub ecx, dword [ebp - 0x184]
mov eax, dword [ebp - 0x40]
neg ecx
sbb ecx, ecx
inc ecx
sub ecx, eax
sub ecx, 0xfffe
mov dword [ebp - 0x40], ecx
mov eax, dword [ebp - 0x40]
imul eax, dword [ebp - 0x17c]
mov dword [ebp - 0x38], eax
xor eax, eax
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 0x10
jle 0x10030e50
mov dword [ebp - 0x4c], 0xc655ef1c
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x40], eax
dec dword [ebp - 0x4c]
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], 0x10
jg 0x10030e1f
jmp 0x10030e4e
xor eax, eax
mov byte [ebp - 0x39], al
cmp byte [ebp - 0x39], al
je 0x10030e4e
push 0x845
push eax
push eax
push eax
call edi
xor eax, eax
push 8
pop ecx
mov dword [ebp - 0x198], ecx
mov dword [ebp - 0x194], ecx
mov dword [ebp - 0x190], ecx
mov dword [ebp - 0x18c], ecx
mov dword [ebp - 0x4c], 0xfff9
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x18], eax
jmp 0x10030e8b
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xd2c], 0x35c52658
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 2
jl 0x10030e7a
mov eax, dword [ebp - 0x194]
xor edx, edx
mov ecx, dword [ebp - 0x194]
mov eax, dword [ebp - 0x194]
cmp ecx, eax
mov eax, dword [ebp - 0x198]
setl dl
xor ecx, ecx
add edx, 7
cmp edx, esi
setg cl
xor edx, edx
sub ecx, eax
mov eax, dword [ebp - 0x194]
cmp ecx, 0xd0b6
setg dl
xor ecx, ecx
cmp edx, eax
setg cl
cmp ecx, 0xffffffff
jle 0x10030edf
mov eax, dword [ebp - 0x194]
mov eax, dword [ebp - 0x194]
mov eax, dword [ebp - 0x198]
mov eax, dword [ebp - 0x190]
imul eax, dword [ebp - 0x194]
test eax, eax
jne 0x10030f02
mov eax, dword [ebp - 0x194]
mov eax, dword [ebp - 0x194]
mov eax, dword [ebp - 0x4c]
xor eax, eax
cmp dword [ebp - 0x18c], eax
je 0x10030f1c
mov ecx, esi
cmp dword [ebp - 0x4c], eax
jne 0x10030f1e
mov ecx, eax
xor eax, eax
test ecx, ecx
setne al
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0xd28], eax
test eax, eax
je 0x10030fc8
mov dword [ebp - 0x28], 0xffffffff
xor ecx, ecx
mov dword [ebp - 0x40], 0x69002fc
mov dword [ebp - 0x38], esi
mov dword [ebp - 0x28], 8
mov eax, dword [ebp - 0x40]
dec eax
cmp eax, 0x1817887b
mov eax, dword [ebp - 0x28]
setle cl
xor edx, edx
cmp eax, ecx
mov eax, dword [ebp - 0x40]
setne dl
xor ecx, ecx
cmp edx, eax
setg cl
add ecx, dword [ebp - 0x40]
sub ecx, dword [ebp - 0x194]
mov eax, dword [ebp - 0x40]
neg ecx
sbb ecx, ecx
inc ecx
sub ecx, eax
sub ecx, 0xfffe
mov dword [ebp - 0x40], ecx
mov eax, dword [ebp - 0x40]
imul eax, dword [ebp - 0x18c]
mov dword [ebp - 0x38], eax
xor eax, eax
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 0x10
jle 0x10030fde
mov dword [ebp - 0x4c], 0xc655ef1c
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x40], eax
dec dword [ebp - 0x4c]
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], 0x10
jg 0x10030fad
jmp 0x10030fdc
xor eax, eax
mov byte [ebp - 0x39], al
cmp byte [ebp - 0x39], al
je 0x10030fdc
push 0x845
push eax
push eax
push eax
call edi
xor eax, eax
mov dword [ebp - 0x1c], 9
mov dword [ebp - 0x38], 0xffffffff
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], esi
jge 0x1003100c
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x550], 0xfffffff8
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jl 0x10030ff4
xor eax, eax
mov ebx, dword [sym.imp.USER32.dll_GetDesktopWindow]
mov byte [ebp - 0x39], al
cmp byte [ebp - 0x39], 0
je 0x1003102a
push eax
push 0x165a
call ebx
push eax
call dword [sym.imp.USER32.dll_GetScrollInfo]
mov eax, dword [ebp - 0x1c]
imul eax, dword [ebp - 0x1c]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp - 0x1c]
jge 0x10031045
xor eax, eax
cmp dword [ebp - 0x1c], eax
je 0x10031047
jmp 0x10031049
xor eax, eax
mov esi, eax
mov eax, dword [ebp - 0x1c]
add eax, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x1c]
sub edx, eax
mov eax, dword [ebp - 0x1c]
neg edx
push 8
sbb edx, edx
xor ecx, ecx
inc edx
cmp esi, eax
setl cl
imul ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
add edx, ecx
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x1c]
setl cl
xor edx, edx
cmp ecx, eax
pop eax
setle dl
add edx, 0xa6d8a72
mov dword [ebp - 0x550], edx
mov dword [ebp - 0x1a8], eax
mov dword [ebp - 0x1a4], eax
mov dword [ebp - 0x1a0], eax
mov dword [ebp - 0x19c], eax
xor eax, eax
mov dword [ebp - 0x30], 0xb2cfb631
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 2
jge 0x100310cf
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x980], 0x8c45
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 2
jl 0x100310b6
xor eax, eax
mov esi, dword [sym.imp.USER32.dll_GetDC]
xor edx, edx
inc edx
mov dword [ebp - 0x30], edx
cmp dword [ebp - 0x30], eax
jl 0x1003113b
mov dword [ebp - 0x28], 7
mov dword [ebp - 0x38], 0xc5d9b4e9
mov dword [ebp - 0x28], eax
jmp 0x10031111
mov byte [ebp - 0x39], al
cmp byte [ebp - 0x39], 0
je 0x1003110e
push eax
call ebx
push eax
call esi
push eax
call dword [sym.imp.GDI32.dll_SetBkColor]
xor edx, edx
xor eax, eax
inc edx
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], edx
jle 0x100310f3
mov eax, dword [ebp - 0x30]
push 0
mov ecx, dword [ebp + eax*4 - 0x980]
mov eax, dword [ebp - 0x30]
mov dword [ebp + eax*4 - 0x980], ecx
mov dword [ebp - 0x28], ecx
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x38], eax
dec dword [ebp - 0x30]
pop eax
jns 0x100310e0
mov byte [ebp - 0x39], al
cmp byte [ebp - 0x39], 0
je 0x10031166
push eax
push 0xfa4
push 0x448
push eax
push 0x16ac
push 0x2529
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileA]
xor edx, edx
xor eax, eax
inc edx
mov dword [ebp - 0x58], 0xfff9
mov dword [ebp - 0x20], 0xd8d1
mov dword [ebp - 0x14], 0x3607a988
mov dword [ebp - 0x2c], 0xa94fe874
mov dword [ebp - 0x30], 0x2bb6
mov dword [ebp - 0x18], eax
jmp 0x1003119b
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x39c], edx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 2
jl 0x1003118e
mov eax, dword [ebp - 0x20]
xor edx, edx
mov ecx, dword [ebp - 0x20]
mov dword [ebp - 0x39c], ecx
mov eax, dword [ebp - 0x20]
imul eax, ecx
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x20]
cmp ecx, eax
mov ecx, dword [ebp - 0x20]
setg dl
sub ecx, 0xb4aad9dd
neg ecx
sbb ecx, ecx
xor eax, eax
inc ecx
cmp edx, ecx
setg al
xor edx, edx
inc edx
cmp edx, eax
sbb eax, eax
neg eax
cmp eax, 0x198a
jne 0x1003134b
mov dword [ebp - 0x28], 0x1510
mov dword [ebp - 0x14], 0xffffffff
mov dword [ebp - 0x4c], edx
mov dword [ebp - 0x18], 0xfffffffc
mov dword [ebp - 0x44], 0xffffffff
mov dword [ebp - 0x48], edx
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x14], eax
xor eax, eax
cmp dword [ebp - 0x14], eax
jne 0x1003126d
dec dword [ebp - 0x44]
mov eax, dword [ebp - 0x39c]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x18]
neg eax
push 0
sbb eax, eax
neg eax
mov eax, dword [ebp - 0x4c]
pop eax
sete al
xor ecx, ecx
add eax, 8
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x4c]
cmp eax, edx
setg cl
mov dword [ebp - 0x48], ecx
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x18], edx
mov eax, dword [ebp - 0x18]
imul eax, dword [ebp - 0x28]
test eax, eax
je 0x100312df
xor eax, eax
mov byte [ebp - 0x39], al
cmp byte [ebp - 0x39], al
je 0x10031292
push eax
push eax
call dword [sym.imp.KERNEL32.dll_FindNextFileA]
xor eax, eax
mov dword [ebp - 0x14], 0xebe1552b
mov dword [ebp - 0x18], 0x3638ecf5
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 2
jge 0x100312c2
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xfac], 0x42eb90da
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 2
jl 0x100312a9
xor eax, eax
mov byte [ebp - 0x39], al
cmp byte [ebp - 0x39], 0
je 0x100312d4
push eax
call dword [sym.imp.KERNEL32.dll_SetCommBreak]
xor eax, eax
xor ecx, ecx
mov dword [ebp - 0x18], eax
inc ecx
jmp 0x1003145b
mov dword [ebp - 0x38], 0x8616691c
mov dword [ebp - 0x50], 0xa52c43da
mov dword [ebp - 0x20], 0x1a
jmp 0x10031340
xor eax, eax
mov dword [ebp - 0x4c], eax
imul edx, dword [ebp - 0x39c], 5
mov eax, dword [ebp - 0x398]
neg edx
sbb edx, edx
inc edx
neg eax
sbb eax, eax
xor ecx, ecx
inc eax
cmp edx, eax
mov eax, dword [ebp - 0x4c]
setne cl
sub ecx, eax
add ecx, 0x6a1e
imul edx, ecx, 9
xor ecx, ecx
add edx, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x38]
cmp eax, edx
setle cl
mov dword [ebp - 0x2c], ecx
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x50], eax
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 0x1d
jg 0x100312f6
jmp 0x10031290
push 2
mov dword [ebp - 0x4c], 0x5f77832
xor eax, eax
pop ecx
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], ecx
jge 0x1003137a
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xba0], 0x8cacf640
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ecx
jl 0x10031362
xor eax, eax
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], 0x1c
jle 0x10031290
mov dword [ebp - 0x50], 0xfffffffe
mov dword [ebp - 0x18], eax
jmp 0x100313a4
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x168], 0xfffffffa
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edx
jl 0x10031393
cmp dword [ebp - 0x168], 0xfff7
mov eax, dword [ebp - 0x168]
sbb ecx, ecx
xor edx, edx
neg ecx
cmp ecx, eax
mov ecx, dword [ebp - 0x398]
mov eax, dword [ebp - 0x30]
setle dl
add ecx, edx
xor edx, edx
cmp eax, ecx
mov eax, dword [ebp - 0x30]
push 0
setge dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x4c]
setle cl
xor edx, edx
cmp ecx, eax
setle dl
xor ecx, ecx
add edx, dword [ebp - 0xba0]
mov eax, dword [ebp - 0x4c]
cmp edx, 0xaa0c7d0b
setne cl
xor edx, edx
sub ecx, eax
sub ecx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x168]
add ecx, eax
mov eax, dword [ebp - 0x168]
cmp ecx, eax
pop eax
setle dl
mov dword [ebp - 0x50], edx
inc dword [ebp - 0x2c]
push 1
pop edx
jmp 0x1003137d
mov dword [ebp - 0x14], 0xc4530722
mov dword [ebp - 0x14], ecx
cmp dword [ebp - 0x14], eax
jl 0x10031458
mov byte [ebp - 0x39], al
cmp byte [ebp - 0x39], 0
je 0x10031450
push eax
push 0x1f19
push eax
call dword [sym.imp.GDI32.dll_GetEnhMetaFileHeader]
xor eax, eax
dec dword [ebp - 0x14]
jns 0x10031438
xor ecx, ecx
inc ecx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ecx
jle 0x10031429
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 2
jge 0x10031482
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xbb8], 0x35c52658
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 2
jl 0x10031469
xor eax, eax
mov dword [ebp - 0x28], 0xffffffff
push 4
mov dword [ebp - 0x18], eax
pop ecx
cmp dword [ebp - 0x18], ecx
jge 0x100314ac
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x1164], 0x530de9bf
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ecx
jl 0x10031494
xor eax, eax
mov dword [ebp - 0x28], 0xa
jmp 0x100314ee
mov dword [ebp - 0x30], 3
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x30], 0xb
cmp dword [ebp - 0x30], 0xfffffff1
jle 0x100314eb
mov dword [ebp - 0x38], 0xfffffffe
mov dword [ebp - 0x38], 0x97f0a290
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x38], eax
dec dword [ebp - 0x30]
cmp dword [ebp - 0x30], 0xfffffff1
jg 0x100314cc
xor eax, eax
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], 0xc
je 0x100314b5
xor edx, edx
mov dword [ebp - 0x28], 0x6bafcb14
mov eax, dword [ebp - 0x1a4]
mov ecx, dword [ebp - 0x1a4]
mov eax, dword [ebp - 0x1a4]
cmp ecx, eax
setl dl
xor eax, eax
xor ecx, ecx
add edx, 7
inc eax
cmp edx, eax
mov eax, dword [ebp - 0x1a8]
setg cl
xor edx, edx
sub ecx, eax
mov eax, dword [ebp - 0x1a4]
cmp ecx, 0xd0b6
setg dl
xor ecx, ecx
cmp edx, eax
setg cl
cmp ecx, 0xffffffff
jle 0x1003154c
mov eax, dword [ebp - 0x1a4]
mov eax, dword [ebp - 0x1a4]
mov eax, dword [ebp - 0x1a8]
mov eax, dword [ebp - 0x1a0]
imul eax, dword [ebp - 0x1a4]
test eax, eax
jne 0x1003156f
mov eax, dword [ebp - 0x1a4]
mov eax, dword [ebp - 0x1a4]
mov eax, dword [ebp - 0x58]
xor eax, eax
cmp dword [ebp - 0x19c], eax
je 0x1003158c
cmp dword [ebp - 0x58], eax
je 0x1003158c
lea ecx, [eax + 1]
jmp 0x1003158e
mov ecx, eax
xor eax, eax
test ecx, ecx
setne al
xor ecx, ecx
mov dword [ebp - 0x14], eax
xor eax, eax
mov dword [ebp - 0x20], 0x659d
inc ecx
mov dword [ebp - 0x30], 0xab61b583
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x18], eax
jmp 0x100315c4
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xc74], 0xfa8b
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ecx
jl 0x100315b3
mov eax, dword [ebp - 0x20]
xor edx, edx
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
cmp ecx, eax
mov eax, dword [ebp - 0x30]
setge dl
xor ecx, ecx
cmp edx, eax
setg cl
imul eax, ecx, 0xe3e
sub eax, dword [ebp - 0x20]
mov dword [ebp - 0x38], eax
xor eax, eax
mov dword [ebp - 0x30], eax
jmp 0x1003161a
mov byte [ebp - 0x39], al
cmp byte [ebp - 0x39], 0
je 0x10031617
push eax
call dword [sym.imp.GDI32.dll_CreateRectRgnIndirect]
xor eax, eax
inc dword [ebp - 0x30]
cmp dword [ebp - 0x30], eax
jle 0x10031605
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0xbb4], eax
test eax, eax
je 0x10031921
mov dword [ebp - 0x20], 0xfffffffc
push 0xfffffffffffffff9
mov dword [ebp - 0x38], 0x5c17
pop eax
mov dword [ebp - 0x34], eax
xor eax, eax
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 2
jge 0x1003166e
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x55c], 0xffff
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 2
jl 0x10031655
xor eax, eax
xor ecx, ecx
mov dword [ebp - 0x20], eax
inc ecx
cmp dword [ebp - 0x20], ecx
jg 0x100316d4
xor edi, edi
inc edi
mov byte [ebp - 0x39], al
cmp byte [ebp - 0x39], 0
je 0x10031698
push eax
push 0x148b
push eax
call ebx
push eax
call esi
push eax
call dword [sym.imp.GDI32.dll_GetTextExtentPoint32A]
mov eax, dword [ebp - 0x20]
xor ecx, ecx
push 0
mov eax, dword [ebp + eax*4 - 0x55c]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp + eax*4 - 0x55c]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp + eax*4 - 0x55c]
test eax, eax
pop eax
setne cl
mov dword [ebp - 0x38], ecx
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], edi
jle 0x1003167c
mov edi, dword [sym.imp.KERNEL32.dll_GetLocaleInfoA]
mov dword [ebp - 0x28], 0xffffffff
mov dword [ebp - 0x24], 0xbea12209
mov dword [ebp - 0x40], 0x7263b0a6
mov dword [ebp - 0x34], eax
push 4
mov dword [ebp - 0x18], eax
pop ecx
cmp dword [ebp - 0x18], ecx
jge 0x1003170f
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xa08], 0x7b1b0cad
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ecx
jl 0x100316f7
xor eax, eax
mov byte [ebp - 0x39], al
cmp byte [ebp - 0x39], 0
je 0x10031725
push eax
push 0x1021
push eax
call dword [sym.imp.GDI32.dll_GetBitmapBits]
mov eax, dword [ebp - 0x24]
xor ecx, ecx
mov eax, dword [ebp - 0x24]
mov edx, dword [ebp - 0x24]
imul edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
cmp edx, eax
setne cl
xor eax, eax
mov dword [ebp - 0x40], ecx
inc eax
mov dword [ebp - 0x9fc], eax
mov edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
dec edx
neg edx
sbb edx, edx
xor ecx, ecx
neg edx
cmp edx, eax
setle cl
imul ecx, dword [ebp - 0x24]
add ecx, dword [ebp - 0x24]
cmp ecx, dword [ebp - 0x24]
jle 0x1003177a
xor eax, eax
cmp dword [ebp - 0x9fc], eax
je 0x1003177a
cmp dword [ebp - 0x24], eax
je 0x1003177a
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x4c], 0xe2bba6da
xor eax, eax
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x38], 0x764457c1
mov dword [ebp - 0x40], 5
cmp dword [ebp - 0x40], 0x16
jle 0x10031884
xor edi, edi
inc edi
push 4
mov dword [ebp - 0x4c], 0xfffffffa
mov dword [ebp - 0x18], eax
pop ecx
jmp 0x100317cd
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xdcc], 0x85e3970c
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ecx
jl 0x100317bc
mov ecx, dword [ebp - 0xa08]
xor edx, edx
mov eax, dword [ebp - 0x9fc]
cmp ecx, eax
mov eax, dword [ebp - 0xa08]
setg dl
xor ecx, ecx
cmp edx, eax
sete cl
mov dword [ebp - 0x4c], ecx
mov eax, dword [ebp - 0x4c]
imul eax, dword [ebp - 0xdc8]
cmp eax, edi
sbb eax, eax
inc eax
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x40]
imul ecx, dword [ebp - 0xdc8]
mov eax, dword [ebp - 0x24]
neg ecx
sbb ecx, ecx
xor edx, edx
inc ecx
cmp eax, ecx
mov eax, dword [ebp - 0x28]
setge dl
xor ecx, ecx
cmp edx, eax
setne cl
mov dword [ebp - 0x28], ecx
mov eax, dword [ebp - 0x28]
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x38], eax
xor eax, eax
mov dword [ebp - 0x28], eax
jmp 0x10031868
mov dword [ebp - 0x24], eax
jmp 0x1003185f
mov byte [ebp - 0x39], al
cmp byte [ebp - 0x39], 0
je 0x1003185c
push eax
call ebx
push eax
call dword [sym.imp.USER32.dll_GetClientRect]
xor eax, eax
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 3
jle 0x10031847
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], 3
jle 0x10031842
inc dword [ebp - 0x40]
cmp dword [ebp - 0x40], 0x16
push 0
pop eax
jg 0x100317ad
mov edi, dword [sym.imp.KERNEL32.dll_GetLocaleInfoA]
mov byte [ebp - 0x39], al
cmp byte [ebp - 0x39], 0
je 0x1003189a
push eax
call ebx
push eax
call esi
push eax
call dword [sym.imp.USER32.dll_DrawFocusRect]
mov dword [ebp - 0x40], 0x69002fc
xor esi, esi
inc esi
xor ecx, ecx
mov dword [ebp - 0x38], esi
mov dword [ebp - 0x28], 8
mov eax, dword [ebp - 0x40]
dec eax
cmp eax, 0x1817887b
mov eax, dword [ebp - 0x28]
setle cl
xor edx, edx
cmp eax, ecx
mov eax, dword [ebp - 0x40]
setne dl
xor ecx, ecx
cmp edx, eax
setg cl
add ecx, dword [ebp - 0x40]
sub ecx, dword [ebp - 0x1a4]
mov eax, dword [ebp - 0x40]
neg ecx
sbb ecx, ecx
inc ecx
sub ecx, eax
sub ecx, 0xfffe
mov dword [ebp - 0x40], ecx
mov eax, dword [ebp - 0x40]
imul eax, dword [ebp - 0x19c]
mov dword [ebp - 0x38], eax
xor eax, eax
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 0x10
jle 0x1003193a
mov dword [ebp - 0x4c], 0xc655ef1c
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x40], eax
dec dword [ebp - 0x4c]
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], 0x10
jg 0x10031904
xor eax, eax
jmp 0x1003193a
xor eax, eax
mov byte [ebp - 0x39], al
cmp byte [ebp - 0x39], al
je 0x10031935
push 0x845
push eax
push eax
push eax
call edi
xor esi, esi
xor eax, eax
inc esi
mov dword [ebp - 0x30], 0xfffffff9
mov ecx, 0x5e19f8c5
mov dword [ebp - 0x44], 0xf368a901
mov dword [ebp - 0x58], 0xffffffff
mov dword [ebp - 0x28], 0xa6fdd8fb
mov dword [ebp - 0x38], 5
mov dword [ebp - 0x948], ecx
mov dword [ebp - 0x944], ecx
mov dword [ebp - 0x940], ecx
mov dword [ebp - 0x93c], ecx
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 3
jge 0x1003199c
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xe08], 0xfffffff7
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jl 0x10031983
xor eax, eax
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], 0xffffffe9
jg 0x10031aad
push 4
pop edi
mov dword [ebp - 0x48], 5
mov dword [ebp - 0x14], 0xfffffff7
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x5c], 0x9855eec8
mov dword [ebp - 0x34], 0xffffffff
mov dword [ebp - 0x4c], 0xffffffff
mov dword [ebp - 0x34], 0xdfa
mov dword [ebp - 0x34], 9
mov dword [ebp - 0x34], edi
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], esi
jge 0x10031a03
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x6b4], 0x1ad7ba96
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jl 0x100319eb
xor eax, eax
cmp dword [ebp - 0x48], eax
jne 0x10031a36
mov dword [ebp - 0x44], 0x12af
cmp dword [ebp - 0x44], eax
jne 0x10031a36
inc dword [ebp - 0x940]
xor edx, edx
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x4c], eax
mov ecx, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x48]
cmp eax, ecx
setle dl
mov dword [ebp - 0xe00], edx
cmp dword [ebp - 0x38], esi
jge 0x10031a3e
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x50]
xor edx, edx
mov eax, dword [ebp - 0x58]
cmp ecx, eax
mov eax, 0x2780a1a9
setg dl
xor ecx, ecx
test edx, edx
push 0
setns cl
xor edx, edx
sub eax, ecx
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x28]
cmp ecx, eax
mov eax, dword [ebp - 0x6b4]
setne dl
xor ebx, ebx
cmp edx, eax
mov eax, dword [ebp - 0x28]
setg bl
xor ecx, ecx
cmp ebx, eax
setne cl
xor eax, eax
cmp ecx, 0xd496
setge al
add eax, dword [ebp - 0x5c]
mov dword [ebp - 0x58], eax
dec dword [ebp - 0x30]
cmp dword [ebp - 0x30], 0xffffffe9
pop eax
jle 0x100319ac
mov edi, dword [sym.imp.KERNEL32.dll_GetLocaleInfoA]
mov ebx, dword [sym.imp.USER32.dll_GetDesktopWindow]
mov dword [ebp - 0x1c], 9
mov dword [ebp - 0x38], 0xffffffff
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], esi
jge 0x10031adb
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x660], 0xfffffff8
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jl 0x10031ac3
xor eax, eax
mov byte [ebp - 0x39], al
cmp byte [ebp - 0x39], 0
je 0x10031af3
push eax
push 0x165a
call ebx
push eax
call dword [sym.imp.USER32.dll_GetScrollInfo]
mov eax, dword [ebp - 0x1c]
imul eax, dword [ebp - 0x1c]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp - 0x1c]
jge 0x10031b10
xor eax, eax
cmp dword [ebp - 0x1c], eax
je 0x10031b12
mov edx, esi
jmp 0x10031b14
xor eax, eax
mov edx, eax
mov eax, dword [ebp - 0x1c]
add eax, dword [ebp - 0x1c]
mov esi, dword [ebp - 0x1c]
sub esi, eax
mov eax, dword [ebp - 0x1c]
neg esi
push 8
sbb esi, esi
xor ecx, ecx
inc esi
cmp edx, eax
setl cl
xor edx, edx
imul ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
add esi, ecx
cmp esi, eax
mov eax, dword [ebp - 0x1c]
setl dl
xor ecx, ecx
cmp edx, eax
pop eax
setle cl
add ecx, 0xa6d8a72
mov dword [ebp - 0x660], ecx
mov dword [ebp - 0x1b8], eax
mov dword [ebp - 0x1b4], eax
mov dword [ebp - 0x1b0], eax
mov dword [ebp - 0x1ac], eax
xor eax, eax
mov dword [ebp - 0x30], 0xb2cfb631
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 2
jge 0x10031b9a
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x888], 0x8c45
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 2
jl 0x10031b81
xor eax, eax
xor esi, esi
inc esi
mov dword [ebp - 0x30], esi
cmp dword [ebp - 0x30], eax
jl 0x10031c01
mov dword [ebp - 0x28], 7
mov dword [ebp - 0x38], 0xc5d9b4e9
mov dword [ebp - 0x28], eax
jmp 0x10031bd7
mov byte [ebp - 0x39], al
cmp byte [ebp - 0x39], 0
je 0x10031bd4
push eax
call ebx
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_SetBkColor]
xor eax, eax
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], esi
jle 0x10031bb8
mov eax, dword [ebp - 0x30]
push 0
mov ecx, dword [ebp + eax*4 - 0x888]
mov eax, dword [ebp - 0x30]
mov dword [ebp + eax*4 - 0x888], ecx
mov dword [ebp - 0x28], ecx
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x38], eax
dec dword [ebp - 0x30]
pop eax
jns 0x10031ba5
mov byte [ebp - 0x39], al
cmp byte [ebp - 0x39], 0
je 0x10031c29
push eax
push 0xfa4
push 0x448
push eax
push 0x16ac
push 0x2529
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileA]
xor eax, eax
mov dword [ebp - 0x58], 0xfff9
mov dword [ebp - 0x20], 0xd8d1
mov dword [ebp - 0x14], 0x3607a988
mov dword [ebp - 0x2c], 0xa94fe874
mov dword [ebp - 0x30], 0x2bb6
mov dword [ebp - 0x18], eax
jmp 0x10031c5e
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x324], esi
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 2
jl 0x10031c51
mov eax, dword [ebp - 0x20]
xor edx, edx
mov ecx, dword [ebp - 0x20]
mov dword [ebp - 0x324], ecx
mov eax, dword [ebp - 0x20]
imul eax, ecx
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x20]
cmp ecx, eax
mov ecx, dword [ebp - 0x20]
setg dl
sub ecx, 0xb4aad9dd
neg ecx
sbb ecx, ecx
xor eax, eax
inc ecx
cmp edx, ecx
setg al
cmp esi, eax
sbb eax, eax
neg eax
cmp eax, 0x198a
jne 0x10031e08
mov dword [ebp - 0x28], 0x1510
mov dword [ebp - 0x14], 0xffffffff
mov dword [ebp - 0x4c], esi
mov dword [ebp - 0x18], 0xfffffffc
mov dword [ebp - 0x44], 0xffffffff
mov dword [ebp - 0x48], esi
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x14], eax
xor eax, eax
cmp dword [ebp - 0x14], eax
jne 0x10031d2d
dec dword [ebp - 0x44]
mov eax, dword [ebp - 0x324]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x18]
neg eax
push 0
sbb eax, eax
neg eax
mov eax, dword [ebp - 0x4c]
pop eax
sete al
xor ecx, ecx
add eax, 8
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x4c]
cmp eax, esi
setg cl
mov dword [ebp - 0x48], ecx
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x18], esi
mov eax, dword [ebp - 0x18]
imul eax, dword [ebp - 0x28]
test eax, eax
je 0x10031d9c
xor eax, eax
mov byte [ebp - 0x39], al
cmp byte [ebp - 0x39], al
je 0x10031d52
push eax
push eax
call dword [sym.imp.KERNEL32.dll_FindNextFileA]
xor eax, eax
mov dword [ebp - 0x14], 0xebe1552b
mov dword [ebp - 0x18], 0x3638ecf5
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 2
jge 0x10031d82
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xf1c], 0x42eb90da
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 2
jl 0x10031d69
xor eax, eax
mov byte [ebp - 0x39], al
cmp byte [ebp - 0x39], 0
je 0x10031d94
push eax
call dword [sym.imp.KERNEL32.dll_SetCommBreak]
xor eax, eax
mov dword [ebp - 0x18], eax
jmp 0x10031f13
mov dword [ebp - 0x38], 0x8616691c
mov dword [ebp - 0x50], 0xa52c43da
mov dword [ebp - 0x20], 0x1a
jmp 0x10031dfd
xor eax, eax
mov dword [ebp - 0x4c], eax
imul edx, dword [ebp - 0x324], 5
mov eax, dword [ebp - 0x320]
neg edx
sbb edx, edx
inc edx
neg eax
sbb eax, eax
xor ecx, ecx
inc eax
cmp edx, eax
mov eax, dword [ebp - 0x4c]
setne cl
sub ecx, eax
add ecx, 0x6a1e
imul edx, ecx, 9
xor ecx, ecx
add edx, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x38]
cmp eax, edx
setle cl
mov dword [ebp - 0x2c], ecx
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x50], eax
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 0x1d
jg 0x10031db3
jmp 0x10031d50
push 2
mov dword [ebp - 0x4c], 0x5f77832
xor eax, eax
pop ecx
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], ecx
jge 0x10031e38
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xbc8], 0x8cacf640
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 2
jl 0x10031e1f
xor eax, eax
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], 0x1c
jle 0x10031d50
mov dword [ebp - 0x50], 0xfffffffe
mov dword [ebp - 0x18], eax
jmp 0x10031e62
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x130], 0xfffffffa
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jl 0x10031e51
cmp dword [ebp - 0x130], 0xfff7
mov eax, dword [ebp - 0x130]
sbb ecx, ecx
xor edx, edx
neg ecx
cmp ecx, eax
mov ecx, dword [ebp - 0x320]
mov eax, dword [ebp - 0x30]
setle dl
add ecx, edx
xor edx, edx
cmp eax, ecx
mov eax, dword [ebp - 0x30]
push 0
setge dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x4c]
setle cl
xor edx, edx
cmp ecx, eax
setle dl
xor ecx, ecx
add edx, dword [ebp - 0xbc8]
mov eax, dword [ebp - 0x4c]
cmp edx, 0xaa0c7d0b
setne cl
xor edx, edx
sub ecx, eax
sub ecx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x130]
add ecx, eax
mov eax, dword [ebp - 0x130]
cmp ecx, eax
pop eax
setle dl
mov dword [ebp - 0x50], edx
inc dword [ebp - 0x2c]
jmp 0x10031e3b
mov dword [ebp - 0x14], 0xc4530722
mov dword [ebp - 0x14], esi
cmp dword [ebp - 0x14], eax
jl 0x10031f10
mov byte [ebp - 0x39], al
cmp byte [ebp - 0x39], 0
je 0x10031f0b
push eax
push 0x1f19
push eax
call dword [sym.imp.GDI32.dll_GetEnhMetaFileHeader]
xor eax, eax
dec dword [ebp - 0x14]
jns 0x10031ef3
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jle 0x10031ee4
mov dword [ebp - 0x28], 0xffffffff
push 4
mov dword [ebp - 0x18], eax
pop ecx
cmp dword [ebp - 0x18], ecx
jge 0x10031f42
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x11d4], 0x530de9bf
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ecx
jl 0x10031f2a
xor eax, eax
mov dword [ebp - 0x28], 0xa
jmp 0x10031f84
mov dword [ebp - 0x30], 3
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x30], 0xb
cmp dword [ebp - 0x30], 0xfffffff1
jle 0x10031f81
mov dword [ebp - 0x38], 0xfffffffe
mov dword [ebp - 0x38], 0x97f0a290
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x38], eax
dec dword [ebp - 0x30]
cmp dword [ebp - 0x30], 0xfffffff1
jg 0x10031f62
xor eax, eax
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], 0xc
je 0x10031f4b
mov dword [ebp - 0x28], 0x6bafcb14
mov dword [ebp - 0x20], 0x659d
mov dword [ebp - 0x30], 0xab61b583
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x18], eax
jmp 0x10031fb8
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xcf4], 0xfa8b
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jl 0x10031fa7
mov eax, dword [ebp - 0x20]
xor edx, edx
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
cmp ecx, eax
mov eax, dword [ebp - 0x30]
setge dl
xor ecx, ecx
cmp edx, eax
setg cl
imul eax, ecx, 0xe3e
sub eax, dword [ebp - 0x20]
mov dword [ebp - 0x38], eax
xor eax, eax
mov dword [ebp - 0x30], eax
jmp 0x1003200e
mov byte [ebp - 0x39], al
cmp byte [ebp - 0x39], 0
je 0x1003200b
push eax
call dword [sym.imp.GDI32.dll_CreateRectRgnIndirect]
xor eax, eax
inc dword [ebp - 0x30]
cmp dword [ebp - 0x30], eax
jle 0x10031ff9
push 2
mov dword [ebp - 0x18], eax
pop ecx
cmp dword [ebp - 0x18], ecx
jge 0x10032036
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xbd8], 0x35c52658
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ecx
jl 0x1003201e
xor eax, eax
mov dword [ebp - 0x20], 0xfffffffc
mov dword [ebp - 0x38], 0x5c17
mov dword [ebp - 0x34], 0xfffffff9
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], ecx
jge 0x1003206b
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x568], 0xffff
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ecx
jl 0x10032053
xor eax, eax
mov dword [ebp - 0x20], eax
jmp 0x100320c1
mov byte [ebp - 0x39], al
cmp byte [ebp - 0x39], 0
je 0x10032090
push eax
push 0x148b
push eax
call ebx
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_GetTextExtentPoint32A]
mov eax, dword [ebp - 0x20]
xor ecx, ecx
push 0
mov eax, dword [ebp + eax*4 - 0x568]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp + eax*4 - 0x568]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp + eax*4 - 0x568]
test eax, eax
pop eax
setne cl
mov dword [ebp - 0x38], ecx
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], esi
jle 0x10032070
mov eax, dword [ebp - 0x1b4]
xor edx, edx
mov ecx, dword [ebp - 0x1b4]
mov eax, dword [ebp - 0x1b4]
cmp ecx, eax
mov eax, dword [ebp - 0x1b8]
setl dl
xor ecx, ecx
add edx, 7
cmp edx, esi
setg cl
xor edx, edx
sub ecx, eax
mov eax, dword [ebp - 0x1b4]
cmp ecx, 0xd0b6
setg dl
xor ecx, ecx
cmp edx, eax
setg cl
cmp ecx, 0xffffffff
jle 0x10032114
mov eax, dword [ebp - 0x1b4]
mov eax, dword [ebp - 0x1b4]
mov eax, dword [ebp - 0x1b8]
mov eax, dword [ebp - 0x1b0]
imul eax, dword [ebp - 0x1b4]
test eax, eax
jne 0x10032137
mov eax, dword [ebp - 0x1b4]
mov eax, dword [ebp - 0x1b4]
mov eax, dword [ebp - 0x58]
xor eax, eax
cmp dword [ebp - 0x1ac], eax
je 0x10032151
mov ecx, esi
cmp dword [ebp - 0x58], eax
jne 0x10032153
mov ecx, eax
xor eax, eax
test ecx, ecx
push 4
setne al
mov dword [ebp - 0x14], eax
xor eax, eax
mov dword [ebp - 0x24], 0xbea12209
mov dword [ebp - 0x40], 0x7263b0a6
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x18], eax
pop ecx
cmp dword [ebp - 0x18], ecx
jge 0x10032193
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x9b8], 0x7b1b0cad
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ecx
jl 0x1003217b
xor eax, eax
mov byte [ebp - 0x39], al
cmp byte [ebp - 0x39], 0
je 0x100321a9
push eax
push 0x1021
push eax
call dword [sym.imp.GDI32.dll_GetBitmapBits]
mov eax, dword [ebp - 0x24]
xor ecx, ecx
mov eax, dword [ebp - 0x24]
mov edx, dword [ebp - 0x24]
imul edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
cmp edx, eax
setne cl
mov dword [ebp - 0x40], ecx
mov dword [ebp - 0x9ac], esi
mov edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
dec edx
neg edx
sbb edx, edx
xor ecx, ecx
neg edx
cmp edx, eax
setle cl
imul ecx, dword [ebp - 0x24]
add ecx, dword [ebp - 0x24]
cmp ecx, dword [ebp - 0x24]
jle 0x100321fb
xor eax, eax
cmp dword [ebp - 0x9ac], eax
je 0x100321fb
cmp dword [ebp - 0x24], eax
je 0x100321fb
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x4c], 0xe2bba6da
xor eax, eax
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x38], 0x764457c1
mov dword [ebp - 0x40], 5
cmp dword [ebp - 0x40], 0x16
jle 0x100322fc
push 4
mov dword [ebp - 0x4c], 0xfffffffa
mov dword [ebp - 0x18], eax
pop ecx
jmp 0x1003224b
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xdac], 0x85e3970c
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ecx
jl 0x1003223a
mov ecx, dword [ebp - 0x9b8]
xor edx, edx
mov eax, dword [ebp - 0x9ac]
cmp ecx, eax
mov eax, dword [ebp - 0x9b8]
setg dl
xor ecx, ecx
cmp edx, eax
sete cl
mov dword [ebp - 0x4c], ecx
mov eax, dword [ebp - 0x4c]
imul eax, dword [ebp - 0xda8]
cmp eax, esi
sbb eax, eax
inc eax
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x40]
imul ecx, dword [ebp - 0xda8]
mov eax, dword [ebp - 0x24]
neg ecx
sbb ecx, ecx
xor edx, edx
inc ecx
cmp eax, ecx
mov eax, dword [ebp - 0x28]
setge dl
xor ecx, ecx
cmp edx, eax
setne cl
mov dword [ebp - 0x28], ecx
mov eax, dword [ebp - 0x28]
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x38], eax
xor eax, eax
mov dword [ebp - 0x28], eax
jmp 0x100322e6
mov dword [ebp - 0x24], eax
jmp 0x100322dd
mov byte [ebp - 0x39], al
cmp byte [ebp - 0x39], 0
je 0x100322da
push eax
call ebx
push eax
call dword [sym.imp.USER32.dll_GetClientRect]
xor eax, eax
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 3
jle 0x100322c5
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], 3
jle 0x100322c0
inc dword [ebp - 0x40]
cmp dword [ebp - 0x40], 0x16
push 0
pop eax
jg 0x1003222b
mov byte [ebp - 0x39], al
cmp byte [ebp - 0x39], 0
je 0x1003231a
push eax
call ebx
mov esi, dword [sym.imp.USER32.dll_GetDC]
push eax
call esi
push eax
call dword [sym.imp.USER32.dll_DrawFocusRect]
jmp 0x10032320
mov esi, dword [sym.imp.USER32.dll_GetDC]
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0xbd4], eax
test eax, eax
je 0x1003318a
mov dword [ebp - 0x30], 0x7b04
xor eax, eax
mov dword [ebp - 0x28], 0x226c312f
mov dword [ebp - 0x4c], 0x14f98caf
mov dword [ebp - 0x34], 0x4b26d8f9
mov dword [ebp - 0x34], 0xdf47f28a
mov dword [ebp - 0x4c], 6
mov dword [ebp - 0x44], 0xba4a2c6e
mov dword [ebp - 0x5c], 0xfffffff8
push 2
mov dword [ebp - 0x1c], eax
pop edx
cmp dword [ebp - 0x1c], edx
jge 0x10032394
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x1024], 0x20461302
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edx
jl 0x1003237c
xor eax, eax
xor ecx, ecx
mov dword [ebp - 0x1c], eax
inc ecx
jmp 0x100323ad
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x1f4], 0xffffffff
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ecx
jl 0x1003239c
mov eax, dword [ebp - 0x30]
neg eax
neg eax
sbb eax, eax
inc eax
add eax, dword [ebp - 0x30]
imul eax, dword [ebp - 0x30]
sub eax, dword [ebp - 0x30]
neg eax
sbb eax, eax
inc eax
sub eax, dword [ebp - 0x30]
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x28], eax
xor eax, eax
cmp dword [ebp - 0x30], eax
je 0x100323e4
cmp dword [ebp - 0x28], eax
je 0x100323e4
mov eax, ecx
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x4c]
sub eax, 0x2fd2d1a4
neg eax
sbb eax, eax
inc eax
imul eax, eax, 0xffff2488
test eax, eax
je 0x1003257c
xor eax, eax
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x34], 0xffffffff
mov dword [ebp - 0x34], 0xf9f41adf
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], edx
jge 0x10032438
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x8f8], 0xfffffffb
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edx
jl 0x10032420
xor eax, eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], ecx
jge 0x10032458
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x218], 0xa4adcf86
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ecx
jl 0x10032440
xor eax, eax
mov dword [ebp - 0x28], 0x16
cmp dword [ebp - 0x28], 0xfffffff5
jge 0x1003255d
jmp 0x1003246d
xor eax, eax
mov dword [ebp - 0x58], ecx
mov dword [ebp - 0x38], 0x9a31c0a9
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x34], 0x6e12cdfd
mov dword [ebp - 0x18], eax
jmp 0x10032497
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xb2c], 5
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jl 0x10032486
mov eax, dword [ebp - 0x48]
dec dword [ebp - 0x1f4]
mov eax, dword [ebp - 0x1f4]
je 0x100324c8
mov eax, dword [ebp - 0x218]
mov eax, dword [ebp - 0x218]
inc eax
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x38]
mov eax, ecx
jmp 0x100324ca
xor eax, eax
mov dword [ebp - 0x50], eax
xor ecx, ecx
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x8f8]
mov eax, dword [ebp - 0x8f4]
mov eax, dword [ebp - 0x58]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x58]
cmp ecx, eax
mov eax, dword [ebp - 0x5c]
sbb ecx, ecx
xor edx, edx
inc ecx
cmp ecx, eax
mov eax, dword [ebp - 0xb24]
setge dl
xor ebx, ebx
cmp edx, eax
mov eax, dword [ebp - 0x218]
setne bl
xor ecx, ecx
cmp ebx, eax
mov ebx, dword [sym.imp.USER32.dll_GetDesktopWindow]
setle cl
xor eax, eax
mov dword [ebp - 0xb2c], ecx
mov byte [ebp - 0x39], al
cmp byte [ebp - 0x39], al
je 0x1003254d
push eax
call ebx
push eax
push 0x1211
push 0xeeb
push 0x1cce
push 0x19c8
xor eax, eax
push eax
call dword [sym.imp.USER32.dll_TrackPopupMenu]
dec dword [ebp - 0x28]
cmp dword [ebp - 0x28], 0xfffffff5
push 1
pop ecx
jl 0x1003246b
xor eax, eax
mov byte [ebp - 0x39], al
cmp byte [ebp - 0x39], al
je 0x10032597
push 0x2b5
push 0x924
call ebx
push eax
call dword [sym.imp.USER32.dll_EnableScrollBar]
jmp 0x10032595
xor eax, eax
mov byte [ebp - 0x39], al
cmp byte [ebp - 0x39], al
je 0x10032595
push eax
push 0xebb
call ebx
push eax
call dword [sym.imp.USER32.dll_SetDlgItemTextA]
xor eax, eax
mov dword [ebp - 0x28], 0xffffffff
push 8
pop ecx
mov dword [ebp - 0x1c8], ecx
mov dword [ebp - 0x1c4], ecx
mov dword [ebp - 0x1c0], ecx
mov dword [ebp - 0x1bc], ecx
mov dword [ebp - 0x4c], 0xfff9
mov dword [ebp - 0x14], 0xebe1552b
mov dword [ebp - 0x18], eax
jmp 0x100325dd
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xb98], 0x35c52658
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 2
jl 0x100325cc
mov eax, dword [ebp - 0x1c4]
xor edx, edx
mov ecx, dword [ebp - 0x1c4]
mov eax, dword [ebp - 0x1c4]
cmp ecx, eax
setl dl
xor eax, eax
xor ecx, ecx
add edx, 7
inc eax
cmp edx, eax
mov eax, dword [ebp - 0x1c8]
setg cl
xor edx, edx
sub ecx, eax
mov eax, dword [ebp - 0x1c4]
cmp ecx, 0xd0b6
setg dl
xor ecx, ecx
cmp edx, eax
setg cl
cmp ecx, 0xffffffff
jle 0x10032634
mov eax, dword [ebp - 0x1c4]
mov eax, dword [ebp - 0x1c4]
mov eax, dword [ebp - 0x1c8]
mov eax, dword [ebp - 0x1c0]
imul eax, dword [ebp - 0x1c4]
test eax, eax
jne 0x10032657
mov eax, dword [ebp - 0x1c4]
mov eax, dword [ebp - 0x1c4]
mov eax, dword [ebp - 0x4c]
xor eax, eax
cmp dword [ebp - 0x1bc], eax
je 0x10032674
cmp dword [ebp - 0x4c], eax
je 0x10032674
lea ecx, [eax + 1]
jmp 0x10032676
mov ecx, eax
xor eax, eax
test ecx, ecx
setne al
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0xb94], eax
test eax, eax
je 0x10032725
mov dword [ebp - 0x28], 0xffffffff
xor edi, edi
mov dword [ebp - 0x40], 0x69002fc
inc edi
mov dword [ebp - 0x38], edi
xor ecx, ecx
mov dword [ebp - 0x28], 8
mov eax, dword [ebp - 0x40]
dec eax
cmp eax, 0x1817887b
mov eax, dword [ebp - 0x28]
setle cl
xor edx, edx
cmp eax, ecx
mov eax, dword [ebp - 0x40]
setne dl
xor ecx, ecx
cmp edx, eax
setg cl
add ecx, dword [ebp - 0x40]
sub ecx, dword [ebp - 0x1c4]
mov eax, dword [ebp - 0x40]
neg ecx
sbb ecx, ecx
inc ecx
sub ecx, eax
sub ecx, 0xfffe
mov dword [ebp - 0x40], ecx
mov eax, dword [ebp - 0x1bc]
imul eax, dword [ebp - 0x40]
mov dword [ebp - 0x38], eax
xor eax, eax
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 0x10
jle 0x1003273e
mov dword [ebp - 0x4c], 0xc655ef1c
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x40], eax
dec dword [ebp - 0x4c]
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], 0x10
jg 0x10032708
xor eax, eax
jmp 0x1003273e
xor eax, eax
mov byte [ebp - 0x39], al
cmp byte [ebp - 0x39], al
je 0x10032739
push 0x845
push eax
push eax
push eax
call edi
xor edi, edi
xor eax, eax
inc edi
mov dword [ebp - 0x40], 0x69002fc
mov dword [ebp - 0x38], 0xf95751cf
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 3
jge 0x10032771
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x3c8], 0x20624039
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jl 0x10032758
xor eax, eax
mov byte [ebp - 0x39], al
cmp byte [ebp - 0x39], 0
je 0x10032782
call dword [sym.imp.USER32.dll_ReleaseCapture]
xor eax, eax
mov dword [ebp - 0x3c4], 0xfffffffa
cmp dword [ebp - 0x3c4], 0xd
jl 0x1003280b
jmp 0x10032799
xor eax, eax
mov dword [ebp - 0x34], 0x441791e6
mov dword [ebp - 0x50], edi
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], edi
jge 0x100327c3
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x53c], 0x69ec4279
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edi
jl 0x100327ab
xor eax, eax
mov dword [ebp - 0x1c], eax
jmp 0x100327d9
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0xd00], 0
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edi
jl 0x100327c8
dec dword [ebp - 0x44]
mov eax, dword [ebp - 0x3c4]
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x53c], edi
mov eax, dword [ebp - 0x3c0]
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x50], eax
inc dword [ebp - 0x3c4]
cmp dword [ebp - 0x3c4], 0xd
jge 0x10032797
mov dword [ebp - 0x38], edi
xor eax, eax
mov dword [ebp - 0x38], 0xbe187950
push 4
mov dword [ebp - 0x1c], eax
pop ecx
cmp dword [ebp - 0x1c], ecx
jge 0x1003283a
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x1194], 0xb9b5
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ecx
jl 0x10032822
xor eax, eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], ecx
jge 0x10032856
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x744], edi
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ecx
jl 0x10032842
xor eax, eax
mov dword [ebp - 0x73c], eax
jmp 0x10032889
mov eax, dword [ebp - 0x740]
mov dword [ebp - 0x38], eax
xor eax, eax
mov byte [ebp - 0x39], al
cmp byte [ebp - 0x39], al
je 0x10032883
push 0x26fd
push eax
call ebx
push eax
call esi
push eax
call dword [sym.imp.GDI32.dll_Polyline]
inc dword [ebp - 0x73c]
cmp dword [ebp - 0x73c], 3
jle 0x1003285e
mov dword [ebp - 0x28], 8
xor ecx, ecx
mov eax, dword [ebp - 0x40]
dec eax
cmp eax, 0x1817887b
mov eax, dword [ebp - 0x28]
push 4
setle cl
xor edx, edx
cmp eax, ecx
mov eax, dword [ebp - 0x40]
setne dl
xor ecx, ecx
cmp edx, eax
setg cl
add ecx, dword [ebp - 0x40]
sub ecx, dword [ebp - 0x1b4]
mov eax, dword [ebp - 0x40]
neg ecx
sbb ecx, ecx
inc ecx
sub ecx, eax
sub ecx, 0xfffe
mov dword [ebp - 0x40], ecx
mov eax, dword [ebp - 0x1ac]
imul eax, dword [ebp - 0x40]
pop ecx
mov dword [ebp - 0x38], eax
mov eax, 0xfe0a8eac
mov dword [ebp - 0x118], eax
mov dword [ebp - 0x114], eax
mov dword [ebp - 0x110], eax
mov dword [ebp - 0x10c], eax
mov dword [ebp - 0x20], 0x8ef6b8f
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x2c], 0x8072f259
mov dword [ebp - 0x28], 0x389d0e13
mov dword [ebp - 0x118], 0xa
jmp 0x10032a1e
mov dword [ebp - 0x14], 2
mov dword [ebp - 0x30], 0x878ed7c3
mov dword [ebp - 0x18], eax
jmp 0x1003294f
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xdec], 0x7933
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ecx
jl 0x1003293e
mov ecx, dword [ebp - 0x14]
neg ecx
sbb ecx, ecx
neg ecx
inc dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, 0xc11e043e
cmp eax, ecx
mov eax, dword [ebp - 0x118]
sbb ecx, ecx
xor edx, edx
inc ecx
sub ecx, eax
add dword [ebp - 0x14], ecx
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x30]
cmp eax, 0xd683
mov eax, dword [ebp - 0x118]
setg dl
xor ecx, ecx
sub edx, eax
mov eax, dword [ebp - 0x30]
cmp edx, eax
setge cl
cmp edi, ecx
sbb eax, eax
xor ecx, ecx
inc eax
cmp eax, 0xaf14
mov eax, dword [ebp - 0xdec]
setl cl
xor edx, edx
cmp ecx, eax
setg dl
sub edx, 0xfffffffa
neg edx
sbb edx, edx
inc edx
neg edx
jne 0x100329cc
xor eax, eax
cmp dword [ebp - 0x118], 5
jge 0x1003292b
cmp dword [ebp - 0x118], eax
je 0x10032a87
mov eax, dword [ebp - 0x118]
mov eax, dword [ebp - 0x118]
cmp dword [ebp - 0x2c], 0xb3e2
jge 0x10032a54
xor eax, eax
cmp dword [ebp - 0x118], eax
je 0x10032a56
mov eax, edi
mov dword [ebp - 0x20], eax
xor edx, edx
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x114]
cmp eax, ecx
setne dl
cmp dword [ebp - 0x1c], edx
jge 0x10032a7a
mov eax, dword [ebp - 0x118]
xor eax, eax
cmp dword [ebp - 0x20], eax
je 0x10032a85
mov ecx, eax
xor eax, eax
cmp ecx, 0xfffffffc
setge al
cmp eax, 8
jbe 0x10032a99
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x118]
xor eax, eax
cmp dword [ebp - 0x28], 0xfffffff6
jg 0x10032b4a
push 3
mov dword [ebp - 0x1c], eax
pop edi
jmp 0x10032b3f
mov byte [ebp - 0x39], al
cmp byte [ebp - 0x39], al
je 0x10032b62
mov dword [ebp - 0x38], 0xfffffff9
push 4
mov dword [ebp - 0x24], eax
pop ecx
cmp dword [ebp - 0x24], ecx
jge 0x10032d68
mov eax, dword [ebp - 0x24]
mov dword [ebp + eax*4 - 0x7e4], ecx
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], ecx
jl 0x10032d54
xor eax, eax
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], esi
jge 0x10032d88
mov eax, dword [ebp - 0x24]
mov dword [ebp + eax*4 - 0x8c], 0x252cb136
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], esi
jl 0x10032d70
xor eax, eax
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], ecx
jge 0x10032da8
mov eax, dword [ebp - 0x24]
mov dword [ebp + eax*4 - 0xf14], 0x1c77dcd
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], ecx
jl 0x10032d90
xor eax, eax
mov ebx, dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
push 3
pop edi
mov dword [ebp - 0x8c], eax
cmp dword [ebp - 0x8c], edi
jg 0x10032ea6
mov dword [ebp - 0x4c], esi
mov dword [ebp - 0x50], 0x8c84b7b8
mov eax, dword [ebp - 0x8c]
cmp dword [ebp + eax*4 - 0x7e4], 0
je 0x10032de8
mov eax, dword [ebp - 0x38]
xor eax, eax
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x8c]
xor edx, edx
mov ecx, dword [ebp + eax*4 - 0x7e4]
mov eax, dword [ebp - 0x8c]
mov eax, dword [ebp + eax*4 - 0x7e4]
cmp ecx, eax
mov eax, 0x89bdd777
setle dl
cmp eax, edx
mov eax, dword [ebp - 0x8c]
sbb edx, edx
xor ecx, ecx
neg edx
mov eax, dword [ebp + eax*4 - 0x7e4]
sub edx, eax
mov eax, dword [ebp - 0x8c]
mov eax, dword [ebp + eax*4 - 0x7e4]
cmp eax, edx
setle cl
xor eax, eax
cmp ecx, 0x928d9ba5
setne al
xor ecx, ecx
cmp eax, 0x5261
mov eax, dword [ebp - 0x8c]
setl cl
xor edx, edx
mov eax, dword [ebp + eax*4 - 0x7e4]
cmp ecx, eax
setg dl
xor eax, eax
neg edx
cmp edx, 0xfffffff9
mov dword [ebp - 0xf10], edx
setge al
cmp eax, 8
sbb eax, eax
neg eax
imul eax, eax, 0xfffffffd
mov dword [ebp - 0x50], eax
xor eax, eax
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], al
je 0x10032e8f
push eax
push eax
push eax
push eax
push eax
push eax
call ebx
inc dword [ebp - 0x8c]
cmp dword [ebp - 0x8c], edi
jle 0x10032dc3
push 4
xor eax, eax
pop ecx
mov dword [ebp - 0x38], 0xfffffff9
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], ecx
jge 0x10032ec9
mov eax, dword [ebp - 0x24]
mov dword [ebp + eax*4 - 0x764], ecx
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], ecx
jl 0x10032eb5
xor eax, eax
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], esi
jge 0x10032ee9
mov eax, dword [ebp - 0x24]
mov dword [ebp + eax*4 - 0x94], 0x252cb136
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], esi
jl 0x10032ed1
xor eax, eax
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], ecx
jge 0x10032f09
mov eax, dword [ebp - 0x24]
mov dword [ebp + eax*4 - 0xf2c], 0x1c77dcd
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], ecx
jl 0x10032ef1
xor eax, eax
mov dword [ebp - 0x94], eax
cmp dword [ebp - 0x94], edi
jg 0x10032ffe
mov dword [ebp - 0x4c], esi
mov dword [ebp - 0x50], 0x8c84b7b8
mov eax, dword [ebp - 0x94]
cmp dword [ebp + eax*4 - 0x764], 0
je 0x10032f40
mov eax, dword [ebp - 0x38]
xor eax, eax
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x94]
xor edx, edx
mov ecx, dword [ebp + eax*4 - 0x764]
mov eax, dword [ebp - 0x94]
mov eax, dword [ebp + eax*4 - 0x764]
cmp ecx, eax
mov eax, 0x89bdd777
setle dl
cmp eax, edx
mov eax, dword [ebp - 0x94]
sbb edx, edx
xor ecx, ecx
neg edx
mov eax, dword [ebp + eax*4 - 0x764]
sub edx, eax
mov eax, dword [ebp - 0x94]
mov eax, dword [ebp + eax*4 - 0x764]
cmp eax, edx
setle cl
xor eax, eax
cmp ecx, 0x928d9ba5
setne al
xor ecx, ecx
cmp eax, 0x5261
mov eax, dword [ebp - 0x94]
setl cl
xor edx, edx
mov eax, dword [ebp + eax*4 - 0x764]
cmp ecx, eax
setg dl
xor eax, eax
neg edx
cmp edx, 0xfffffff9
mov dword [ebp - 0xf28], edx
setge al
cmp eax, 8
sbb eax, eax
neg eax
imul eax, eax, 0xfffffffd
mov dword [ebp - 0x50], eax
xor eax, eax
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], al
je 0x10032fe7
push eax
push eax
push eax
push eax
push eax
push eax
call ebx
inc dword [ebp - 0x94]
cmp dword [ebp - 0x94], edi
jle 0x10032f1b
push 4
xor eax, eax
pop ecx
mov dword [ebp - 0x38], 0xfffffff9
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], ecx
jge 0x10033021
mov eax, dword [ebp - 0x24]
mov dword [ebp + eax*4 - 0x7c4], ecx
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], ecx
jl 0x1003300d
xor eax, eax
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], esi
jge 0x10033041
mov eax, dword [ebp - 0x24]
mov dword [ebp + eax*4 - 0x84], 0x252cb136
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], esi
jl 0x10033029
xor eax, eax
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], ecx
jge 0x10033061
mov eax, dword [ebp - 0x24]
mov dword [ebp + eax*4 - 0xf44], 0x1c77dcd
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], ecx
jl 0x10033049
xor eax, eax
mov dword [ebp - 0x84], eax
cmp dword [ebp - 0x84], edi
jg 0x10033153
mov dword [ebp - 0x4c], esi
mov dword [ebp - 0x50], 0x8c84b7b8
mov eax, dword [ebp - 0x84]
cmp dword [ebp + eax*4 - 0x7c4], 0
je 0x10033098
mov dword [ebp - 0x18], 0x897a4a12
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], edi
jge 0x10033176
mov dword [ebp - 0x38], 0xaed23b61
mov dword [ebp - 0x14], 0xffffffff
push 0xfffffffffffffff9
pop eax
mov dword [ebp - 0x48], eax
xor eax, eax
mov dword [ebp - 0x4c], 0xfffffff8
mov dword [ebp - 0x50], 0xffffffff
mov dword [ebp - 0x24], 0xae27
push 3
mov dword [ebp - 0x1c], eax
pop ecx
cmp dword [ebp - 0x1c], ecx
jge 0x100331d8
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0xc14], 0xfffffffb
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ecx
jl 0x100331c0
xor eax, eax
mov dword [ebp - 0x1c], eax
jmp 0x100331ee
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0xe50], 0x84bc9c3d
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ecx
jl 0x100331dd
mov ecx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x24]
neg ecx
sbb ecx, ecx
neg ecx
inc dword [ebp - 0x24]
cmp ecx, eax
je 0x1003325b
imul eax, dword [ebp - 0x24], 0xeae1
test eax, eax
jne 0x1003321b
cmp dword [ebp - 0x50], eax
jne 0x1003321b
xor ecx, ecx
inc ecx
jmp 0x10033220
xor ecx, ecx
inc ecx
mov eax, ecx
cmp eax, dword [ebp - 0x4c]
jle 0x10033230
xor eax, eax
cmp dword [ebp - 0x24], eax
je 0x10033232
mov eax, ecx
jmp 0x10033232
xor eax, eax
xor edx, edx
mov dword [ebp - 0xc10], 0x5f93be41
cmp eax, 0x5f93be41
mov eax, dword [ebp - 0x24]
sete dl
xor ecx, ecx
cmp edx, eax
setle cl
add ecx, dword [ebp - 0x4c]
mov dword [ebp - 0x14], ecx
je 0x1003325b
mov eax, dword [ebp - 0x14]
xor eax, eax
xor esi, esi
mov dword [ebp - 0xe4c], eax
inc esi
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 5
je 0x100332e2
mov dword [ebp - 0x30], 0xb1495dd6
mov dword [ebp - 0x38], 0xc545f0a8
mov dword [ebp - 0x18], eax
jmp 0x10033293
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x6b0], 0
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jl 0x10033282
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x6b0], 7
mov ecx, dword [ebp - 0x30]
add ecx, dword [ebp - 0x30]
imul eax, dword [ebp - 0x48], 7
cmp ecx, eax
jne 0x100332c7
xor eax, eax
cmp dword [ebp - 0x14], eax
jne 0x100332c7
mov edx, eax
cmp dword [ebp - 0xc10], eax
je 0x100332c9
mov edx, esi
mov eax, dword [ebp - 0x30]
xor ecx, ecx
cmp edx, eax
push 0
setge cl
mov dword [ebp - 0x38], ecx
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 5
pop eax
jne 0x1003326f
mov dword [ebp - 0x30], 0x80d1c1d6
push 4
mov dword [ebp - 0x18], eax
pop ecx
cmp dword [ebp - 0x18], ecx
jge 0x1003330c
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x254], 0x94fe
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ecx
jl 0x100332f4
xor eax, eax
cmp dword [ebp - 0x248], eax
jne 0x1003334f
mov ecx, eax
cmp dword [ebp - 0x254], eax
je 0x10033320
mov ecx, esi
mov eax, dword [ebp - 0x248]
add eax, ecx
imul eax, eax, 0xc3fc
test eax, eax
jne 0x1003333c
mov ecx, eax
cmp dword [ebp - 0x248], eax
je 0x1003333e
mov ecx, esi
xor eax, eax
cmp ecx, 0xa42b
setge al
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x248]
mov eax, dword [ebp - 0x248]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x248]
mov eax, dword [ebp - 0x248]
mov eax, dword [ebp - 0x248]
mov eax, dword [ebp - 0x248]
mov eax, dword [ebp - 0x248]
mov eax, dword [ebp - 0x248]
mov eax, dword [ebp - 0x30]
xor eax, eax
cmp dword [ebp - 0x248], esi
je 0x10033398
mov dword [ebp - 0x30], 0xfffffff7
jmp 0x100333a9
mov byte [ebp - 0x39], al
cmp byte [ebp - 0x39], al
je 0x100333a9
push eax
call dword [sym.imp.KERNEL32.dll_DeleteCriticalSection]
xor eax, eax
mov byte [ebp - 0xd], al
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], esi
jge 0x100333cc
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xdc], 0x9f9b3198
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jl 0x100333b4
xor eax, eax
mov dword [ebp - 0xdc], eax
jmp 0x100333f5
mov byte [ebp - 0x39], al
cmp byte [ebp - 0x39], 0
je 0x100333ef
push eax
push eax
push 0x1157
call ebx
push eax
call dword [sym.imp.USER32.dll_SetScrollInfo]
xor eax, eax
dec dword [ebp - 0xdc]
cmp dword [ebp - 0xdc], 0xffffffef
jl 0x100333d4
cmp byte [ebp - 0xd], 0
je 0x10033524
mov dword [ebp - 0x4e4], esi
mov dword [ebp - 0x4e0], esi
mov dword [ebp - 0x4dc], esi
mov dword [ebp - 0x4d8], esi
mov dword [ebp - 0x34], 0x7555b7ce
mov dword [ebp - 0x34], 0x73bf38c0
mov dword [ebp - 0x34], 0x70a50b5f
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x34], 0xfffffffe
mov dword [ebp - 0x34], 0x36fe5ab0
mov dword [ebp - 0x34], esi
mov dword [ebp - 0x34], 0x44adca1a
mov dword [ebp - 0x34], esi
mov dword [ebp - 0x4c], 0xfff8
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], esi
jge 0x1003347d
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xb04], 0xefbde283
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jl 0x10033465
xor eax, eax
mov dword [ebp - 0x4e4], eax
cmp dword [ebp - 0x4e4], 2
jge 0x1003351a
mov ecx, 0xe4b9a733
mov dword [ebp - 0x38], 0xffffffff
mov dword [ebp - 0x34], 0x196a162c
mov dword [ebp - 0xc8], ecx
mov dword [ebp - 0xc4], ecx
mov dword [ebp - 0xc0], ecx
mov dword [ebp - 0xbc], ecx
mov dword [ebp - 0x34], 0xffffffff
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], esi
jge 0x100334e2
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0xb08], 0x4ad744d0
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], esi
jl 0x100334ca
xor eax, eax
mov dword [ebp - 0x1c], eax
jmp 0x100334f8
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x1064], 0
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jl 0x100334e7
inc dword [ebp - 0x4c]
mov eax, dword [ebp - 0x38]
inc dword [ebp - 0x4e4]
cmp dword [ebp - 0x4e4], 2
push 0
pop eax
jl 0x10033495
push 0x845
push eax
push eax
push eax
call edi
xor eax, eax
jmp 0x10032d42