Function at 0x1003593d
Capabilities:
Accept command line arguments
Check os version
Compare security identifiers
Create process on windows
Delete file
Enumerate gui resources
Extract resource via kernel32 functions
Get graphical window text
Get keyboard layout
Get session user name
Get system information on windows
Parse pe header
Read .ini file

Disassembly:
mov eax, 0x10089620
call fcn.10087f10
mov eax, 0x14f4
call fcn.100846c0
push ebx
mov ebx, dword [sym.imp.USER32.dll_GetDesktopWindow]
push esi
mov esi, dword [sym.imp.USER32.dll_GetDC]
push edi
mov edi, dword [sym.imp.GDI32.dll_SetMapMode]
mov dword [ebp - 0x34], 0xffffffff
mov dword [ebp - 0x28], 0x9a7b445a
push 9
pop eax
mov dword [ebp - 0x28], eax
xor eax, eax
mov dword [ebp - 0x20], 0x585fafe4
mov byte [ebp - 0x4d], al
mov byte [ebp - 0x65], dl
mov dword [ebp - 0x60], ecx
cmp byte [ebp - 0x4d], al
je 0x100359a0
push 0x2267
call ebx
push eax
call esi
push eax
call edi
xor eax, eax
mov dword [ebp - 0x28], 5
cmp dword [ebp - 0x28], eax
je 0x100359af
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x34]
xor edx, edx
mov eax, dword [ebp - 0x34]
xor ecx, ecx
mov eax, dword [ebp - 0x34]
inc edx
cmp eax, edx
setge cl
xor eax, eax
cmp ecx, 0xce4a
je 0x100359d3
cmp dword [ebp - 0x28], eax
je 0x100359d3
mov eax, edx
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x28]
sub eax, dword [ebp - 0x34]
neg eax
push 9
sbb eax, eax
inc eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x34], 0xffffffff
mov dword [ebp - 0x28], 0x9a7b445a
pop eax
mov dword [ebp - 0x28], eax
xor eax, eax
mov dword [ebp - 0x20], 0x585fafe4
mov byte [ebp - 0x4d], al
cmp byte [ebp - 0x4d], al
je 0x10035a30
push 0x2267
call ebx
push eax
call esi
push eax
call edi
xor edx, edx
xor eax, eax
inc edx
mov dword [ebp - 0x28], 5
cmp dword [ebp - 0x28], eax
je 0x10035a3f
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x34]
xor ecx, ecx
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x34]
cmp eax, edx
setge cl
xor eax, eax
cmp ecx, 0xce4a
je 0x10035a60
cmp dword [ebp - 0x28], eax
je 0x10035a60
mov eax, edx
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x28]
sub eax, dword [ebp - 0x34]
neg eax
push 9
sbb eax, eax
inc eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x34], 0xffffffff
mov dword [ebp - 0x28], 0x9a7b445a
pop eax
mov dword [ebp - 0x28], eax
xor eax, eax
mov dword [ebp - 0x20], 0x585fafe4
mov byte [ebp - 0x4d], al
cmp byte [ebp - 0x4d], al
je 0x10035aba
push 0x2267
call ebx
push eax
call esi
push eax
call edi
xor eax, eax
mov dword [ebp - 0x28], 5
cmp dword [ebp - 0x28], eax
je 0x10035ac9
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x34]
xor esi, esi
mov eax, dword [ebp - 0x34]
xor ecx, ecx
mov eax, dword [ebp - 0x34]
inc esi
cmp eax, esi
setge cl
xor eax, eax
cmp ecx, 0xce4a
je 0x10035aed
cmp dword [ebp - 0x28], eax
je 0x10035aed
mov eax, esi
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x28]
sub eax, dword [ebp - 0x34]
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x20], eax
xor eax, eax
mov dword [ebp - 0x58], 0x3ae35568
mov dword [ebp - 0x2c], 8
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 2
jge 0x10035b45
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x1358], 0xb905d09e
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 2
jl 0x10035b2c
xor eax, eax
mov dword [ebp - 0x58], 0x12
jmp 0x10035c26
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 2
jge 0x10035b76
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x884], 0x26d2e858
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 2
jl 0x10035b5d
xor eax, eax
dec dword [ebp - 0x2c]
mov dword [ebp - 0x2c], eax
jmp 0x10035c1a
mov dword [ebp - 0x18], esi
cmp dword [ebp - 0x18], eax
jl 0x10035c17
mov dword [ebp - 0x54], 0x746a1c17
mov dword [ebp - 0x54], eax
cmp dword [ebp - 0x54], esi
jg 0x10035c0e
mov dword [ebp - 0x3c], 0x3e763161
mov eax, dword [ebp - 0x2c]
cmp dword [ebp + eax*4 - 0x884], 0
jne 0x10035c0c
mov dword [ebp - 0x3c], esi
xor eax, eax
cmp dword [ebp - 0x3c], eax
jl 0x10035bff
mov dword [ebp - 0x1c], 0xc9fa8bc0
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], esi
jg 0x10035bfa
mov byte [ebp - 0x4d], al
cmp byte [ebp - 0x4d], 0
je 0x10035be2
push 0x546
push eax
push eax
call ebx
push eax
call dword [sym.imp.USER32.dll_RedrawWindow]
mov ecx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x3c]
push 0
mov dword [ebp + eax*4 - 0x884], ecx
inc dword [ebp - 0x1c]
pop eax
cmp dword [ebp - 0x1c], esi
jle 0x10035bc9
dec dword [ebp - 0x3c]
jns 0x10035bba
inc dword [ebp - 0x54]
xor eax, eax
inc eax
push eax
pop esi
cmp dword [ebp - 0x54], eax
jle 0x10035b9c
xor eax, eax
dec dword [ebp - 0x18]
jns 0x10035b8d
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], esi
jle 0x10035b81
dec dword [ebp - 0x58]
cmp dword [ebp - 0x58], 0xffffffe3
jl 0x10035b51
push esi
lea ecx, [ebp - 0x95c]
call fcn.10019b25
xor eax, eax
mov dword [ebp - 4], eax
mov dword [ebp - 0x3c], 0x960f57a7
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], esi
jge 0x10035c74
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x95c]
call fcn.10019b92
mov dword [eax], 0x862f
xor eax, eax
inc dword [ebp - 0x1c]
inc eax
cmp dword [ebp - 0x1c], eax
jl 0x10035c50
xor esi, esi
xor eax, eax
inc esi
mov byte [ebp - 0x4d], al
cmp byte [ebp - 0x4d], 0
je 0x10035c92
push 0x1b04
push 0x25bf
call ebx
push eax
call dword [sym.imp.USER32.dll_SetWindowLongA]
xor eax, eax
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x3c], eax
jl 0x10035cdf
jmp 0x10035c9e
xor eax, eax
mov dword [ebp - 0x1c], 2
mov dword [ebp - 0x1c], eax
jmp 0x10035cc2
mov byte [ebp - 0x4d], al
cmp byte [ebp - 0x4d], 0
je 0x10035cbf
push eax
call ebx
push eax
call dword [sym.imp.USER32.dll_KillTimer]
xor eax, eax
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], eax
jle 0x10035caa
push dword [ebp - 0x3c]
lea ecx, [ebp - 0x95c]
call fcn.10019b92
cmp dword [eax], 0
jne 0x10035cdf
dec dword [ebp - 0x3c]
jns 0x10035c9c
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x95c]
call fcn.10019b8d
xor eax, eax
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], 4
jge 0x10035d12
mov eax, dword [ebp - 0x34]
mov dword [ebp + eax*4 - 0x8ac], 0
inc dword [ebp - 0x34]
cmp dword [ebp - 0x34], 4
jl 0x10035cf9
xor eax, eax
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], 3
jge 0x10035d34
mov eax, dword [ebp - 0x34]
mov dword [ebp + eax*4 - 0x14b4], 0xdbeccce1
inc dword [ebp - 0x34]
cmp dword [ebp - 0x34], 3
jl 0x10035d1b
xor eax, eax
push 2
mov dword [ebp - 0x8a4], eax
pop ebx
cmp dword [ebp - 0x8a4], 0xfffffff1
je 0x10035d77
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x18], ebx
cmp dword [ebp - 0x18], eax
jl 0x10035d6f
mov byte [ebp - 0x4d], al
cmp byte [ebp - 0x4d], 0
je 0x10035d6a
push eax
push 0x1abf
push eax
push eax
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
xor eax, eax
dec dword [ebp - 0x18]
jns 0x10035d51
dec dword [ebp - 0x8a4]
jmp 0x10035d3d
mov dword [ebp - 0x14], 0xffffffff
lea ecx, [ebp - 0x19c]
push ebx
call fcn.10019b25
mov dword [ebp - 4], esi
xor eax, eax
mov dword [ebp - 0x38], 0x905c8094
mov dword [ebp - 0x18], 0xffffffff
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], ebx
jge 0x10035dbf
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x19c]
call fcn.10019b92
mov dword [eax], esi
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ebx
jl 0x10035da5
xor eax, eax
mov dword [ebp - 0x38], esi
cmp dword [ebp - 0x38], eax
jl 0x10035f30
mov dword [ebp - 0x3c], 0xffffffff
mov dword [ebp - 0x48], 7
mov dword [ebp - 0x20], 0xd10fbf2b
mov dword [ebp - 0x3c], esi
cmp dword [ebp - 0x3c], eax
jl 0x10035f24
mov dword [ebp - 0x44], 0xfffffffa
lea ecx, [ebp - 0x19c]
push dword [ebp - 0x38]
call fcn.10019b92
push esi
lea ecx, [ebp - 0x19c]
call fcn.10019b92
mov ecx, dword [ebp - 0x38]
xor edx, edx
cmp ecx, dword [eax]
mov eax, dword [ebp - 0x18]
setg dl
sub edx, eax
cmp edx, 8
je 0x10035e2f
push dword [ebp - 0x38]
lea ecx, [ebp - 0x19c]
call fcn.10019b92
push dword [ebp - 0x38]
lea ecx, [ebp - 0x19c]
call fcn.10019b92
mov ecx, dword [ebp - 0x38]
xor edx, edx
push dword [ebp - 0x38]
cmp ecx, 0xffffffff
lea ecx, [ebp - 0x19c]
setg dl
xor ebx, ebx
cmp edx, dword [eax]
setle bl
call fcn.10019b92
mov ecx, dword [ebp - 0x18]
xor edx, edx
cmp ebx, ecx
setl dl
xor ecx, ecx
cmp dword [eax], edx
mov eax, dword [ebp - 0x3c]
setl cl
sub ecx, eax
add ecx, 0xdcef
je 0x10035e95
push dword [ebp - 0x38]
lea ecx, [ebp - 0x19c]
call fcn.10019b92
cmp dword [eax], 0
je 0x10035e95
xor eax, eax
lea esi, [eax + 1]
jmp 0x10035e99
xor eax, eax
mov esi, eax
push dword [ebp - 0x38]
lea ecx, [ebp - 0x19c]
call fcn.10019b92
xor ecx, ecx
cmp esi, dword [eax]
sete cl
mov dword [ebp - 0x18], ecx
lea ecx, [ebp - 0x19c]
mov eax, dword [ebp - 0x18]
push dword [ebp - 0x38]
call fcn.10019b92
push dword [ebp - 0x38]
lea ecx, [ebp - 0x19c]
call fcn.10019b92
lea ecx, [ebp - 0x19c]
mov eax, dword [eax]
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x48]
push dword [ebp - 0x38]
call fcn.10019b92
push dword [ebp - 0x3c]
xor esi, esi
lea ecx, [ebp - 0x19c]
xor ebx, ebx
inc esi
cmp dword [eax], esi
setl bl
call fcn.10019b92
xor edx, edx
cmp ebx, dword [eax]
mov eax, dword [ebp - 0x44]
setne dl
xor ecx, ecx
cmp edx, eax
setl cl
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x44], 0x85b3d925
dec dword [ebp - 0x3c]
jns 0x10035dec
xor eax, eax
dec dword [ebp - 0x38]
jns 0x10035dcb
push 2
pop ebx
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x19c]
call fcn.10019b8d
mov dword [ebp - 0x28], 0x9a7b445a
lea ecx, [ebp - 0x798]
mov dword [ebp - 0x38], 8
mov dword [ebp - 0x40], 0x2db8e964
mov dword [ebp - 0x44], 0x9725245f
mov dword [ebp - 0x48], 4
mov dword [ebp - 0x48], 0xffffffff
mov dword [ebp - 0x3c], 0x3acb
mov dword [ebp - 0x28], 0xfff8
push ebx
call fcn.10019b25
xor eax, eax
mov dword [ebp - 4], ebx
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], esi
jge 0x10035fae
mov eax, dword [ebp - 0x24]
mov dword [ebp + eax*4 - 0x8c], 0
xor eax, eax
inc dword [ebp - 0x24]
inc eax
cmp dword [ebp - 0x24], eax
jl 0x10035f90
xor esi, esi
xor eax, eax
inc esi
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], esi
jge 0x10035fd4
mov eax, dword [ebp - 0x24]
mov dword [ebp + eax*4 - 0x670], 0xffffffff
xor eax, eax
inc dword [ebp - 0x24]
inc eax
cmp dword [ebp - 0x24], eax
jl 0x10035fb6
xor esi, esi
xor eax, eax
inc esi
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], esi
jge 0x10035ffa
mov eax, dword [ebp - 0x24]
mov dword [ebp + eax*4 - 0x14c], 0x142c
xor eax, eax
inc dword [ebp - 0x24]
inc eax
cmp dword [ebp - 0x24], eax
jl 0x10035fdc
xor esi, esi
xor eax, eax
inc esi
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], ebx
jge 0x10036020
push dword [ebp - 0x24]
lea ecx, [ebp - 0x798]
call fcn.10019b92
mov dword [eax], 0xfffffffe
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], ebx
jl 0x10036002
xor eax, eax
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], eax
jg 0x10036209
mov dword [ebp - 0x20], 0xfffffff6
lea ecx, [ebp - 0xec4]
mov dword [ebp - 0x18], 0xc345fe46
mov dword [ebp - 0x20], 0xffffffff
mov dword [ebp - 0x30], 3
push ebx
call fcn.10019b25
push ebx
lea ecx, [ebp - 0x968]
mov byte [ebp - 4], 3
call fcn.10019b25
xor eax, eax
mov byte [ebp - 4], 4
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], ebx
jge 0x1003608d
push dword [ebp - 0x34]
lea ecx, [ebp - 0xec4]
call fcn.10019b92
or dword [eax], 0xffffffff
inc dword [ebp - 0x34]
cmp dword [ebp - 0x34], ebx
jl 0x10036072
xor eax, eax
mov dword [ebp - 0x34], eax
jmp 0x100360a5
push dword [ebp - 0x34]
lea ecx, [ebp - 0x968]
call fcn.10019b92
mov dword [eax], esi
inc dword [ebp - 0x34]
cmp dword [ebp - 0x34], ebx
jl 0x10036092
inc dword [ebp - 0x14c]
xor edx, edx
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x3c]
cmp eax, ecx
setge dl
xor eax, eax
cmp dword [ebp - 0x8c], edx
jne 0x100360d4
cmp dword [ebp - 0x14c], eax
je 0x100360d4
lea edx, [eax + 1]
jmp 0x100360d6
mov edx, eax
dec dword [ebp - 0x28]
xor ecx, ecx
mov eax, dword [ebp - 0x28]
cmp eax, edx
setle cl
xor eax, eax
cmp ecx, 0x31a2
jle 0x100360f7
cmp dword [ebp - 0x18], eax
je 0x100360f7
lea edx, [eax + 1]
jmp 0x100360f9
mov edx, eax
mov eax, dword [ebp - 0x14c]
xor ecx, ecx
cmp edx, eax
setne cl
xor esi, esi
mov dword [ebp - 0x48], ecx
inc esi
mov eax, dword [ebp - 0x48]
lea ecx, [ebp - 0x968]
push esi
call fcn.10019b92
mov eax, dword [ebp - 0x38]
mov edx, 0xffff
xor ecx, ecx
mov eax, dword [ebp + eax*4 - 0x8c]
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp + eax*4 - 0x8c]
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x670], edx
mov eax, dword [ebp - 0x38]
cmp eax, edx
setle cl
xor eax, eax
mov dword [ebp - 0x48], ecx
lea ecx, [ebp - 0x798]
push eax
call fcn.10019b92
mov ecx, dword [ebp - 0x8c]
mov edx, dword [ebp - 0x48]
sub edx, ecx
mov ecx, dword [ebp - 0x44]
add ecx, edx
cmp ecx, dword [eax]
jge 0x10036179
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp + eax*4 - 0x8c]
mov eax, dword [ebp - 0x18]
lea ecx, [ebp - 0x798]
mov eax, dword [ebp - 0x38]
push esi
mov eax, dword [ebp + eax*4 - 0x8c]
call fcn.10019b92
mov ecx, dword [ebp - 0x20]
xor edx, edx
cmp dword [eax], ecx
setle dl
xor eax, eax
mov dword [ebp - 0x40], edx
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x3c], eax
jg 0x100361e2
jmp 0x100361ad
xor eax, eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x30], 3
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x30], eax
xor eax, eax
mov byte [ebp - 0x4d], al
cmp byte [ebp - 0x4d], al
je 0x100361da
push eax
push 0x22c8
push 0x20ec
call dword [sym.imp.KERNEL32.dll_GetCPInfoExW]
xor eax, eax
inc dword [ebp - 0x3c]
cmp dword [ebp - 0x3c], eax
jle 0x100361ab
lea ecx, [ebp - 0x968]
call fcn.10019b8d
lea ecx, [ebp - 0xec4]
mov byte [ebp - 4], bl
call fcn.10019b8d
inc dword [ebp - 0x38]
xor eax, eax
cmp dword [ebp - 0x38], eax
jle 0x1003602c
mov byte [ebp - 0x4d], al
cmp byte [ebp - 0x4d], 0
je 0x10036225
push eax
push eax
push 0xb43
push 0x254a
push eax
call dword [sym.imp.USER32.dll_InsertMenuW]
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x798]
call fcn.10019b8d
push 9
pop eax
mov dword [ebp - 0x28], eax
xor eax, eax
mov dword [ebp - 0x20], 0x585fafe4
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x28], 0x73e7ed6f
mov dword [ebp - 0x2c], 0x280643b8
mov dword [ebp - 0x34], 0xfffffff6
mov dword [ebp - 0x48], esi
mov dword [ebp - 0x20], 0x98e47beb
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], ebx
jge 0x10036281
mov eax, dword [ebp - 0x34]
mov dword [ebp + eax*4 - 0xac], ebx
inc dword [ebp - 0x34]
cmp dword [ebp - 0x34], ebx
jl 0x1003626d
xor eax, eax
mov dword [ebp - 0x34], eax
jmp 0x10036297
mov eax, dword [ebp - 0x34]
mov dword [ebp + eax*4 - 0x6c8], 0x791e6e40
inc dword [ebp - 0x34]
cmp dword [ebp - 0x34], 3
jl 0x10036286
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0xa8], eax
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x2c], eax
xor eax, eax
cmp dword [ebp - 0x2c], eax
je 0x100362b6
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x2c]
neg eax
sbb eax, eax
neg eax
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0xa8]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0xac]
mov eax, dword [ebp - 0x6c0]
mov eax, dword [ebp - 0xa8]
mov eax, dword [ebp - 0xac]
mov eax, dword [ebp - 0xa8]
mov eax, dword [ebp - 0xa8]
mov eax, dword [ebp - 0xa8]
mov eax, dword [ebp - 0x6c8]
add eax, dword [ebp - 0x6c0]
je 0x100363c6
mov dword [ebp - 0x3c], 6
lea ecx, [ebp - 0xab8]
push 4
call fcn.10019b25
push 5
pop eax
mov dword [ebp - 4], eax
xor eax, eax
mov dword [ebp - 0x1c], eax
jmp 0x10036344
push dword [ebp - 0x1c]
lea ecx, [ebp - 0xab8]
call fcn.10019b92
mov dword [eax], ebx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 4
jl 0x10036331
mov eax, dword [ebp - 0x48]
cmp dword [ebp - 0x28], eax
jl 0x10036358
mov eax, dword [ebp - 0xa8]
mov esi, dword [ebp - 0x3c]
lea ecx, [ebp - 0xab8]
xor eax, eax
inc eax
push eax
call fcn.10019b92
mov dword [eax], esi
xor esi, esi
mov eax, dword [ebp - 0x34]
inc esi
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0xa8], esi
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x6c0]
mov eax, dword [ebp - 0x6c0]
sub eax, 0x52f109d4
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x20], eax
xor eax, eax
mov dword [ebp - 0x2c], ebx
cmp dword [ebp - 0x2c], eax
jl 0x100363b5
mov dword [ebp - 0x34], ebx
dec dword [ebp - 0x2c]
jns 0x100363ad
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xab8]
call fcn.10019b8d
jmp 0x10036426
xor eax, eax
mov dword [ebp - 0x20], eax
mov byte [ebp - 0x4d], al
cmp byte [ebp - 0x4d], al
je 0x100363ef
push 0x1185
push 0x2640
push 0x1870
push 0xec7
call dword [sym.imp.GDI32.dll_CreateRectRgn]
xor eax, eax
mov dword [ebp - 0x34], esi
cmp dword [ebp - 0x34], eax
jl 0x10036426
mov eax, dword [ebp - 0x34]
cmp dword [ebp + eax*4 - 0xac], 0
je 0x10036410
xor eax, eax
cmp dword [ebp - 0x20], eax
je 0x10036412
lea ecx, [eax + 1]
jmp 0x10036414
xor eax, eax
mov ecx, eax
mov eax, dword [ebp - 0x34]
mov dword [ebp + eax*4 - 0xac], ecx
dec dword [ebp - 0x34]
jns 0x100363f7
xor esi, esi
inc esi
push ebx
lea ecx, [ebp - 0x15c]
call fcn.10019b25
push ebx
lea ecx, [ebp - 0x3d4]
mov dword [ebp - 4], 6
call fcn.10019b25
push 3
lea ecx, [ebp - 0x7bc]
mov byte [ebp - 4], 7
call fcn.10019b25
xor eax, eax
mov byte [ebp - 4], 8
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], ebx
jge 0x10036482
push dword [ebp - 0x24]
lea ecx, [ebp - 0x15c]
call fcn.10019b92
mov dword [eax], 0xfffffffb
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], ebx
jl 0x10036464
xor eax, eax
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], ebx
jge 0x100364a8
push dword [ebp - 0x24]
lea ecx, [ebp - 0x3d4]
call fcn.10019b92
mov dword [eax], 0xfffffff7
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], ebx
jl 0x1003648a
xor eax, eax
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], esi
jge 0x100364cc
mov eax, dword [ebp - 0x24]
mov dword [ebp + eax*4 - 0x88], esi
xor eax, eax
inc dword [ebp - 0x24]
inc eax
push eax
pop esi
cmp dword [ebp - 0x24], eax
jl 0x100364b0
xor esi, esi
xor eax, eax
inc esi
mov dword [ebp - 0x24], eax
jmp 0x100364e8
push dword [ebp - 0x24]
lea ecx, [ebp - 0x7bc]
call fcn.10019b92
mov dword [eax], 0x2c2192b5
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 3
jl 0x100364d1
push esi
lea ecx, [ebp - 0x15c]
call fcn.10019b92
push esi
lea ecx, [ebp - 0x15c]
mov dword [eax], 0xe
call fcn.10019b92
cmp dword [eax], 0xfffffff8
jg 0x100368a2
push 9
pop edi
mov dword [ebp - 0x38], esi
xor eax, eax
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x2c], 0x9f7a
mov dword [ebp - 0x44], 0xf9ca3eaa
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], ebx
jge 0x10036551
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x4d8], 8
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ebx
jl 0x10036539
xor eax, eax
mov dword [ebp - 0x38], esi
cmp dword [ebp - 0x38], eax
jl 0x10036879
jmp 0x10036561
xor eax, eax
mov dword [ebp - 0x40], 0x685
push 4
pop ecx
mov dword [ebp - 0x78c], ecx
mov dword [ebp - 0x788], ecx
mov dword [ebp - 0x784], ecx
mov dword [ebp - 0x780], ecx
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x4c], 8
mov dword [ebp - 0x1c], eax
jmp 0x100365a3
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x510], 0
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ebx
jl 0x10036592
push esi
lea ecx, [ebp - 0x15c]
call fcn.10019b92
mov eax, dword [ebp - 0x38]
lea ecx, [ebp - 0x15c]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
push esi
call fcn.10019b92
mov eax, dword [ebp - 0x38]
lea ecx, [ebp - 0x3d4]
push dword [ebp - 0x38]
call fcn.10019b92
mov ecx, dword [ebp - 0x18]
xor edx, edx
add ecx, dword [ebp - 0x38]
cmp dword [eax], ecx
mov eax, edi
sete dl
sub eax, edx
je 0x10036656
mov dword [ebp - 0x20], 0x77e0
lea ecx, [ebp - 0x3d4]
push dword [ebp - 0x38]
call fcn.10019b92
mov ecx, dword [ebp - 0x44]
mov eax, dword [eax]
sub eax, ecx
mov dword [ebp - 0x20], eax
je 0x1003661c
push dword [ebp - 0x38]
lea ecx, [ebp - 0x3d4]
call fcn.10019b92
mov eax, dword [ebp - 0x2c]
lea ecx, [ebp - 0x15c]
push esi
call fcn.10019b92
push dword [ebp - 0x38]
lea ecx, [ebp - 0x3d4]
call fcn.10019b92
mov eax, dword [ebp - 0x2c]
lea ecx, [ebp - 0x15c]
push esi
call fcn.10019b92
xor eax, eax
inc eax
mov dword [ebp - 0x88], eax
jmp 0x10036793
mov dword [ebp - 0x48], 0x9ab1b576
xor eax, eax
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 4
jge 0x10036684
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0xeec], 0x4fc6bf2a
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 4
jl 0x1003666b
xor eax, eax
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], esi
jg 0x10036798
mov dword [ebp - 0x1c], 0xbcfb656d
lea ecx, [ebp - 0x15c]
mov dword [ebp - 0x88], 0xbb9a67b
mov eax, dword [ebp - 0x1c]
push esi
call fcn.10019b92
mov ecx, dword [ebp - 0x48]
imul ecx, dword [eax]
sub ecx, 8
mov dword [ebp - 0x20], ecx
je 0x100366c4
mov eax, dword [ebp - 0x510]
mov eax, dword [ebp - 0xee0]
lea ecx, [ebp - 0x3d4]
mov eax, dword [ebp - 0x1c]
push dword [ebp - 0x38]
call fcn.10019b92
mov eax, dword [ebp - 0x48]
lea ecx, [ebp - 0x7bc]
mov eax, dword [ebp - 0x4d4]
xor ebx, ebx
mov dword [ebp - 0x88], 0xbd5d5181
mov eax, dword [ebp - 0x510]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x4d4]
push ebx
call fcn.10019b92
mov dword [eax], ebx
xor eax, eax
cmp dword [ebp - 0x1c], eax
jge 0x1003671a
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0xee0]
xor ecx, ecx
test eax, eax
sets cl
xor eax, eax
inc eax
mov dword [ebp - 0x4d4], ecx
cmp dword [ebp - 0x88], eax
jle 0x10036747
xor eax, eax
cmp dword [ebp - 0x510], eax
je 0x10036749
lea edx, [eax + 1]
jmp 0x1003674b
xor eax, eax
mov edx, eax
mov eax, dword [ebp - 0x44]
xor ecx, ecx
cmp eax, edx
setle cl
xor eax, eax
inc eax
push eax
lea edi, [ecx - 0x1ac522e3]
mov dword [ebp - 0x780], edi
lea ecx, [ebp - 0x7bc]
call fcn.10019b92
mov esi, dword [ebp - 0x30]
xor edx, edx
mov ecx, dword [ebp - 0x1c]
imul esi, edi
cmp esi, ecx
setle dl
mov dword [eax], edx
xor eax, eax
inc dword [ebp - 0x2c]
inc eax
push eax
pop esi
cmp dword [ebp - 0x2c], eax
jle 0x10036690
xor esi, esi
xor eax, eax
inc esi
cmp dword [ebp - 0x2c], eax
jne 0x10036862
mov eax, dword [ebp - 0x780]
lea ecx, [ebp - 0x15c]
mov eax, dword [ebp - 0x38]
mov edi, dword [ebp - 0x28]
mov dword [ebp - 0x4d4], edi
push esi
call fcn.10019b92
mov edx, dword [ebp - 0x510]
mov esi, eax
mov ecx, dword [ebp - 0x28]
xor eax, eax
push dword [ebp - 0x38]
add edx, 0x1a88
cmp edx, ecx
lea ecx, [ebp - 0x3d4]
setg al
xor ebx, ebx
add eax, dword [esi]
cmp eax, 0xda47
setle bl
call fcn.10019b92
xor ecx, ecx
cmp ebx, dword [eax]
setle cl
xor esi, esi
add ecx, 0x69ac8a90
inc esi
mov dword [ebp - 0x20], ecx
lea ecx, [ebp - 0x15c]
push esi
call fcn.10019b92
xor edx, edx
mov ecx, dword [eax]
imul ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x88]
cmp ecx, eax
setne dl
mov dword [ebp - 0x780], edx
imul edx, edi
neg edx
sbb edx, edx
neg edx
cmp edx, dword [ebp - 0x38]
jl 0x10036848
push esi
lea ecx, [ebp - 0x15c]
call fcn.10019b92
cmp dword [eax], 0
je 0x1003684f
xor eax, eax
cmp dword [ebp - 0x28], eax
jne 0x10036854
mov eax, dword [ebp - 0x40]
xor eax, eax
cmp dword [ebp - 0x4c], 0x2051
jge 0x10036862
cmp dword [ebp - 0x18], eax
je 0x10036864
mov eax, esi
push 2
pop ebx
mov dword [ebp - 0x88], eax
dec dword [ebp - 0x38]
push 9
pop edi
jns 0x1003655f
push esi
lea ecx, [ebp - 0x15c]
call fcn.10019b92
push esi
lea ecx, [ebp - 0x15c]
dec dword [eax]
call fcn.10019b92
cmp dword [eax], 0xfffffff8
jle 0x10036518
mov edi, dword [sym.imp.GDI32.dll_SetMapMode]
lea ecx, [ebp - 0x7bc]
call fcn.10019b8d
lea ecx, [ebp - 0x3d4]
call fcn.10019b8d
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x15c]
call fcn.10019b8d
xor eax, eax
mov byte [ebp - 0xd], al
mov dword [ebp - 0x48], eax
cmp dword [ebp - 0x48], eax
mov byte [ebp - 0x4d], al
je 0x100368e4
cmp byte [ebp - 0x4d], al
je 0x1003690d
call dword [sym.imp.USER32.dll_GetMessageTime]
jmp 0x1003690b
cmp byte [ebp - 0x4d], al
je 0x1003690d
push eax
push eax
push eax
push 0x1e5a
push 0x10b4
push eax
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_GetTextExtentExPointA]
xor eax, eax
mov byte [ebp - 0x4d], al
cmp byte [ebp - 0x4d], 0
je 0x10036921
push 0x2448
call dword [sym.imp.USER32.dll_GetSysColor]
cmp byte [ebp - 0xd], 0
je 0x10036bf3
mov dword [ebp - 0x38], 6
lea ecx, [ebp - 0x2ec]
push ebx
call fcn.10019b25
push 9
pop eax
mov dword [ebp - 4], eax
xor eax, eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], ebx
jge 0x10036969
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x2ec]
call fcn.10019b92
or dword [eax], 0xffffffff
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ebx
jl 0x1003694e
xor eax, eax
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], 0xffffffe6
jge 0x10036a1a
mov dword [ebp - 0x2c], 0xfffffff9
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], eax
jmp 0x10036996
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x8cc], 0xe32883e7
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ebx
jl 0x10036985
mov eax, dword [ebp - 0x2c]
lea ecx, [ebp - 0x2ec]
mov eax, dword [ebp - 0x2c]
xor ebx, ebx
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x38]
mov esi, dword [ebp - 0x2c]
push ebx
add esi, 4
call fcn.10019b92
xor edx, edx
push ebx
mov dword [eax], esi
mov eax, dword [ebp - 0x2c]
cmp esi, eax
setle dl
xor ecx, ecx
sub edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
cmp edx, eax
setl cl
mov dword [ebp - 0x2c], ecx
lea ecx, [ebp - 0x2ec]
call fcn.10019b92
mov ecx, dword [ebp - 0x38]
xor edx, edx
cmp ecx, 0xffffffff
push ebx
setl dl
sub edx, dword [eax]
mov eax, dword [ebp - 0x38]
neg edx
sbb edx, edx
inc edx
sub eax, edx
mov dword [ebp - 0x20], eax
inc dword [ebp - 0x8c8]
dec dword [ebp - 0x38]
cmp dword [ebp - 0x38], 0xffffffe6
pop eax
push 2
pop ebx
jl 0x10036976
xor esi, esi
xor eax, eax
inc esi
mov dword [ebp - 0x38], esi
cmp dword [ebp - 0x38], eax
jl 0x10036bcf
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 3
jge 0x10036a48
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x3b4], 0xb090aec5
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jl 0x10036a2f
xor eax, eax
mov dword [ebp - 0x3b4], eax
jmp 0x10036bba
mov dword [ebp - 0x2c], 0xffffffff
mov dword [ebp - 0x48], 0xffffffff
mov dword [ebp - 0x2c], esi
cmp dword [ebp - 0x2c], eax
jl 0x10036bb4
mov dword [ebp - 0x34], 4
mov dword [ebp - 0x1c], 0xffffffff
mov dword [ebp - 0x34], esi
cmp dword [ebp - 0x34], eax
jl 0x10036b6b
mov dword [ebp - 0x20], 8
lea ecx, [ebp - 0x2ec]
push dword [ebp - 0x2c]
call fcn.10019b92
push dword [ebp - 0x3b4]
lea ecx, [ebp - 0x2ec]
mov esi, eax
call fcn.10019b92
mov ecx, dword [eax]
mov dword [esi], ecx
test ecx, ecx
je 0x10036b29
xor ebx, ebx
lea ecx, [ebp - 0x2ec]
push ebx
call fcn.10019b92
cmp dword [eax], ebx
jne 0x10036aef
push dword [ebp - 0x2c]
lea ecx, [ebp - 0x2ec]
call fcn.10019b92
xor eax, eax
lea ecx, [ebp - 0x2ec]
inc eax
push eax
call fcn.10019b92
mov eax, dword [ebp - 0x3b4]
mov eax, dword [ebp - 0x48]
push ebx
lea ecx, [ebp - 0x2ec]
call fcn.10019b92
mov eax, dword [ebp - 0x3b4]
xor ecx, ecx
cmp eax, 0xfffffff8
mov eax, dword [ebp - 0x2c]
setge cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x34]
setle dl
xor ecx, ecx
cmp edx, eax
setl cl
cmp dword [ebp - 0x48], ecx
jge 0x10036b29
xor eax, eax
lea ecx, [eax + 1]
jmp 0x10036b2d
xor eax, eax
mov ecx, eax
mov eax, dword [ebp - 0x20]
sub ecx, eax
xor eax, eax
cmp ecx, dword [ebp - 0x38]
jl 0x10036b45
cmp dword [ebp - 0x34], eax
je 0x10036b45
xor esi, esi
inc esi
mov eax, esi
jmp 0x10036b48
xor esi, esi
inc esi
mov dword [ebp - 0x1c], eax
xor eax, eax
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], al
je 0x10036b60
push 0x520
call dword [sym.imp.USER32.dll_GetKeyboardLayout]
dec dword [ebp - 0x34]
jns 0x10036a87
xor eax, eax
mov dword [ebp - 0x1c], esi
cmp dword [ebp - 0x1c], eax
jl 0x10036bab
mov dword [ebp - 0x34], esi
cmp dword [ebp - 0x34], eax
jl 0x10036ba6
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x10036ba1
push eax
push 0x5ba
push eax
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_GetTextExtentPoint32W]
xor eax, eax
dec dword [ebp - 0x34]
jns 0x10036b7b
dec dword [ebp - 0x1c]
jns 0x10036b73
dec dword [ebp - 0x2c]
jns 0x10036a6d
inc dword [ebp - 0x3b4]
cmp dword [ebp - 0x3b4], esi
jle 0x10036a53
dec dword [ebp - 0x38]
jns 0x10036a26
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x2ec]
call fcn.10019b8d
push 0x2267
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call edi
or edi, 0xffffffff
xor eax, eax
mov dword [ebp - 0x24], edi
mov dword [ebp - 0x1c], 0x1b583dc0
mov dword [ebp - 0x18], 0xc2076acb
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x44], 0xa2e71cc
mov dword [ebp - 0x30], 0xeca6d78
mov dword [ebp - 0x28], 0xa57461d0
mov dword [ebp - 0x20], 0xbc50133e
cmp dword [ebp - 0x24], eax
je 0x10036c8b
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
sub eax, dword [ebp - 0x24]
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0xfff8
mov eax, dword [ebp - 0x24]
sbb ecx, ecx
xor edx, edx
inc ecx
cmp ecx, eax
mov eax, dword [ebp - 0x24]
setle dl
xor ebx, ebx
inc edx
cmp eax, edx
setge bl
sub ebx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x18]
neg ebx
sbb ebx, ebx
xor ecx, ecx
inc ebx
cmp ebx, eax
setg cl
xor eax, eax
cmp ecx, dword [ebp - 0x18]
je 0x10036c8b
cmp dword [ebp - 0x24], eax
je 0x10036c89
xor esi, esi
lea ecx, [eax + 1]
inc esi
jmp 0x10036c8d
xor eax, eax
mov ecx, eax
mov eax, dword [ebp - 0x24]
add eax, ecx
je 0x10036cb9
mov dword [ebp - 0x48], 4
xor edx, edx
mov dword [ebp - 0x20], esi
mov ecx, dword [ebp - 0x48]
mov eax, dword [ebp - 0x24]
cmp eax, ecx
setge dl
add edx, dword [ebp - 0x48]
mov dword [ebp - 0x24], edx
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x20], eax
jmp 0x10036cc5
xor eax, eax
mov dword [ebp - 0x20], 8
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x44]
xor ecx, ecx
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x44]
cmp eax, 0x818f
push 5
setge cl
mov dword [ebp - 0x1c], ecx
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x20], eax
pop eax
mov dword [ebp - 0x28], eax
xor eax, eax
cmp dword [ebp - 0x28], eax
je 0x10036d03
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
xor ecx, ecx
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
cmp eax, esi
setge cl
xor eax, eax
cmp ecx, 0xce4a
je 0x10036d24
cmp dword [ebp - 0x28], eax
je 0x10036d24
mov eax, esi
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x28]
sub eax, dword [ebp - 0x14]
neg eax
sbb eax, eax
xor edx, edx
inc eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x38], 0xfffffff7
mov dword [ebp - 0x34], 0x923607a9
mov dword [ebp - 0x3c], 0x93dda37b
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x38]
cmp eax, ecx
setl dl
xor ecx, ecx
add edx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x38]
cmp edx, esi
setle cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x3c]
setg dl
xor ecx, ecx
cmp edx, eax
setle cl
cmp ecx, dword [ebp - 0x38]
je 0x10036d98
mov eax, dword [ebp - 0x38]
xor eax, eax
cmp dword [ebp - 0x34], eax
je 0x10036f5e
mov dword [ebp - 0x14], 8
mov dword [ebp - 0x44], 0xd2c643d4
mov dword [ebp - 0x34], 0xffffffec
cmp dword [ebp - 0x34], 0x1b
jle 0x10036fe0
mov dword [ebp - 0x48], 0xfc02
lea ecx, [ebp - 0x980]
push esi
call fcn.10019b25
mov dword [ebp - 4], 0xa
xor eax, eax
mov dword [ebp - 0x28], 0x4d4a788a
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], esi
jge 0x10036e0e
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x980]
call fcn.10019b92
mov dword [eax], 0x26de0d61
xor eax, eax
inc dword [ebp - 0x1c]
inc eax
cmp dword [ebp - 0x1c], eax
jl 0x10036ded
xor eax, eax
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x10036e27
push eax
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetSystemMenu]
xor eax, eax
cmp dword [ebp - 0x48], eax
jne 0x10036e94
cmp dword [ebp - 0x34], edi
je 0x10036e34
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x48]
xor edx, edx
mov eax, dword [ebp - 0x3c]
cmp ecx, eax
setg dl
cmp edx, dword [ebp - 0x3c]
jne 0x10036e51
xor eax, eax
cmp dword [ebp - 0x34], eax
jne 0x10036e51
mov ecx, eax
jmp 0x10036e56
xor eax, eax
lea ecx, [eax + 1]
mov eax, dword [ebp - 0x34]
xor ebx, ebx
cmp ecx, eax
lea ecx, [ebp - 0x980]
sete bl
xor eax, eax
push eax
call fcn.10019b92
mov dword [eax], ebx
xor eax, eax
cmp ebx, edi
setge al
xor edx, edx
cmp eax, 0x2b0a
mov eax, dword [ebp - 0x14]
setge dl
xor ecx, ecx
cmp eax, edx
setle cl
mov dword [ebp - 0x28], ecx
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x14]
neg eax
sbb eax, eax
xor edx, edx
neg eax
cmp eax, 0x629bad2c
setl dl
xor ecx, ecx
sub edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x44]
cmp edx, eax
setg cl
xor eax, eax
cmp ecx, 0x3632cac2
je 0x10036ef7
mov dword [ebp - 0x14], eax
jmp 0x10036ef0
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x10036eed
push eax
push 0x2194
push 0x12c8
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_GetCharABCWidthsFloatA]
xor eax, eax
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], eax
jle 0x10036ec3
jmp 0x10036f39
mov dword [ebp - 0x48], 0x5dae
mov dword [ebp - 0x1c], eax
jmp 0x10036f14
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x710], 0xfffd
inc dword [ebp - 0x1c]
xor eax, eax
inc eax
cmp dword [ebp - 0x1c], eax
jl 0x10036f03
mov eax, dword [ebp - 0x28]
cmp eax, dword [ebp - 0x14]
jle 0x10036f2e
xor eax, eax
cmp dword [ebp - 0x44], eax
je 0x10036f30
inc eax
jmp 0x10036f30
xor eax, eax
mov dword [ebp - 0x710], eax
dec dword [ebp - 0x48]
lea ecx, [ebp - 0x980]
mov dword [ebp - 4], edi
call fcn.10019b8d
inc dword [ebp - 0x34]
cmp dword [ebp - 0x34], 0x1b
push 1
pop esi
jg 0x10036dc2
xor eax, eax
jmp 0x10036fe0
mov dword [ebp - 0x20], edi
mov dword [ebp - 0x38], 0xc
cmp dword [ebp - 0x38], 0x3c
jg 0x10036fe0
push 2
lea ecx, [ebp - 0x75c]
call fcn.10019b25
xor eax, eax
mov dword [ebp - 4], 0xb
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 2
jge 0x10036fac
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x75c]
call fcn.10019b92
mov dword [eax], 0xdcf746b3
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 2
jl 0x10036f8d
xor eax, eax
lea ecx, [ebp - 0x75c]
cmp dword [ebp - 0x20], eax
jne 0x10036fd6
push eax
call fcn.10019b92
lea ecx, [ebp - 0x75c]
mov dword [ebp - 4], edi
call fcn.10019b8d
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], 0x3c
jle 0x10036f6e
jmp 0x10036fde
mov dword [ebp - 4], edi
call fcn.10019b8d
xor eax, eax
mov ebx, 0x3ae35568
mov dword [ebp - 0x58], ebx
mov dword [ebp - 0x2c], 8
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 2
jge 0x10037011
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x1438], 0xb905d09e
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 2
jl 0x10036ff8
xor eax, eax
mov dword [ebp - 0x58], 0x12
jmp 0x100370f6
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 2
jge 0x10037042
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x88c], 0x26d2e858
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 2
jl 0x10037029
xor eax, eax
dec dword [ebp - 0x2c]
mov dword [ebp - 0x2c], eax
jmp 0x100370ea
mov dword [ebp - 0x18], esi
cmp dword [ebp - 0x18], eax
jl 0x100370e7
mov dword [ebp - 0x54], 0x746a1c17
mov dword [ebp - 0x54], eax
cmp dword [ebp - 0x54], esi
jg 0x100370de
mov dword [ebp - 0x3c], 0x3e763161
mov eax, dword [ebp - 0x2c]
cmp dword [ebp + eax*4 - 0x88c], 0
jne 0x100370dc
mov dword [ebp - 0x3c], esi
xor eax, eax
cmp dword [ebp - 0x3c], eax
jl 0x100370cf
mov dword [ebp - 0x1c], 0xc9fa8bc0
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], esi
jg 0x100370ca
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x100370b2
push 0x546
push eax
push eax
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_RedrawWindow]
mov ecx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x3c]
push 0
mov dword [ebp + eax*4 - 0x88c], ecx
inc dword [ebp - 0x1c]
pop eax
cmp dword [ebp - 0x1c], esi
jle 0x10037095
dec dword [ebp - 0x3c]
jns 0x10037086
inc dword [ebp - 0x54]
xor eax, eax
inc eax
push eax
pop esi
cmp dword [ebp - 0x54], eax
jle 0x10037068
xor eax, eax
dec dword [ebp - 0x18]
jns 0x10037059
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], esi
jle 0x1003704d
dec dword [ebp - 0x58]
cmp dword [ebp - 0x58], 0xffffffe3
jl 0x1003701d
mov dword [ebp - 0x20], 0xc05baf43
or esi, 0xffffffff
mov dword [ebp - 0x30], 0x53d8da8e
mov dword [ebp - 0x4c], esi
mov dword [ebp - 0x28], 0xfffffffe
mov dword [ebp - 0x4c], 4
mov dword [ebp - 0x48], 0xfffffff8
mov dword [ebp - 0x44], esi
mov dword [ebp - 0x1c], eax
jmp 0x10037142
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0xc4], 0x8c66f5a9
inc dword [ebp - 0x1c]
xor eax, eax
inc eax
cmp dword [ebp - 0x1c], eax
jl 0x10037131
dec dword [ebp - 0x28]
mov eax, dword [ebp - 0x20]
xor eax, eax
cmp dword [ebp - 0x30], eax
je 0x1003715d
mov eax, dword [ebp - 0xc4]
mov eax, dword [ebp - 0xc4]
xor edi, edi
mov eax, dword [ebp - 0x4c]
inc edi
mov dword [ebp - 0x48], edi
xor edx, edx
mov eax, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x48]
sub ecx, eax
mov eax, dword [ebp - 0x28]
cmp ecx, eax
mov ecx, 0x91c84132
push 2
setl dl
xor eax, eax
cmp edx, esi
setne al
cmp ecx, eax
mov eax, dword [ebp - 0xc4]
sbb ecx, ecx
xor edx, edx
neg ecx
cmp ecx, eax
mov eax, dword [ebp - 0xc4]
setle dl
xor ecx, ecx
cmp edx, eax
setne cl
xor eax, eax
mov dword [ebp - 0xc4], ecx
mov dword [ebp - 0x58], ebx
mov dword [ebp - 0x2c], 8
mov dword [ebp - 0x1c], eax
pop ebx
cmp dword [ebp - 0x1c], ebx
jge 0x100371df
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x1368], 0xb905d09e
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ebx
jl 0x100371c7
xor eax, eax
mov dword [ebp - 0x58], 0x12
jmp 0x100372c2
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], ebx
jge 0x1003720e
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x894], 0x26d2e858
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ebx
jl 0x100371f6
xor eax, eax
dec dword [ebp - 0x2c]
mov dword [ebp - 0x2c], eax
jmp 0x100372b6
mov dword [ebp - 0x18], edi
cmp dword [ebp - 0x18], eax
jl 0x100372b3
mov dword [ebp - 0x54], 0x746a1c17
mov dword [ebp - 0x54], eax
cmp dword [ebp - 0x54], edi
jg 0x100372aa
mov dword [ebp - 0x3c], 0x3e763161
mov eax, dword [ebp - 0x2c]
cmp dword [ebp + eax*4 - 0x894], 0
jne 0x100372a8
mov dword [ebp - 0x3c], edi
xor eax, eax
cmp dword [ebp - 0x3c], eax
jl 0x1003729b
mov dword [ebp - 0x1c], 0xc9fa8bc0
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], edi
jg 0x10037296
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x1003727e
push 0x546
push eax
push eax
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_RedrawWindow]
mov ecx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x3c]
push 0
mov dword [ebp + eax*4 - 0x894], ecx
inc dword [ebp - 0x1c]
pop eax
cmp dword [ebp - 0x1c], edi
jle 0x10037261
dec dword [ebp - 0x3c]
jns 0x10037252
inc dword [ebp - 0x54]
xor eax, eax
inc eax
push eax
pop edi
cmp dword [ebp - 0x54], eax
jle 0x10037234
xor eax, eax
dec dword [ebp - 0x18]
jns 0x10037225
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], edi
jle 0x10037219
dec dword [ebp - 0x58]
cmp dword [ebp - 0x58], 0xffffffe3
jl 0x100371eb
mov dword [ebp - 0x38], 0xfffffff7
xor edx, edx
mov dword [ebp - 0x34], 0x923607a9
mov dword [ebp - 0x3c], 0x93dda37b
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x38]
cmp eax, ecx
setl dl
xor ecx, ecx
add edx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x38]
cmp edx, edi
setle cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x3c]
setg dl
xor ecx, ecx
cmp edx, eax
setle cl
cmp ecx, dword [ebp - 0x38]
je 0x1003731a
mov eax, dword [ebp - 0x38]
xor eax, eax
cmp dword [ebp - 0x34], eax
je 0x100374de
mov dword [ebp - 0x14], 8
mov dword [ebp - 0x44], 0xd2c643d4
mov dword [ebp - 0x34], 0xffffffec
cmp dword [ebp - 0x34], 0x1b
jle 0x10037557
mov dword [ebp - 0x48], 0xfc02
lea ecx, [ebp - 0xb60]
push edi
call fcn.10019b25
mov dword [ebp - 4], 0xc
xor eax, eax
mov dword [ebp - 0x28], 0x4d4a788a
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], edi
jge 0x10037390
push dword [ebp - 0x1c]
lea ecx, [ebp - 0xb60]
call fcn.10019b92
mov dword [eax], 0x26de0d61
xor eax, eax
inc dword [ebp - 0x1c]
inc eax
cmp dword [ebp - 0x1c], eax
jl 0x1003736f
xor eax, eax
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x100373a9
push eax
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetSystemMenu]
xor eax, eax
cmp dword [ebp - 0x48], eax
jne 0x10037416
cmp dword [ebp - 0x34], esi
je 0x100373b6
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x48]
xor edx, edx
mov eax, dword [ebp - 0x3c]
cmp ecx, eax
setg dl
cmp edx, dword [ebp - 0x3c]
jne 0x100373d3
xor eax, eax
cmp dword [ebp - 0x34], eax
jne 0x100373d3
mov ecx, eax
jmp 0x100373d8
xor eax, eax
lea ecx, [eax + 1]
mov eax, dword [ebp - 0x34]
xor ebx, ebx
cmp ecx, eax
lea ecx, [ebp - 0xb60]
sete bl
xor eax, eax
push eax
call fcn.10019b92
mov dword [eax], ebx
xor eax, eax
cmp ebx, esi
setge al
xor edx, edx
cmp eax, 0x2b0a
mov eax, dword [ebp - 0x14]
setge dl
xor ecx, ecx
cmp eax, edx
setle cl
mov dword [ebp - 0x28], ecx
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x14]
neg eax
sbb eax, eax
xor edx, edx
neg eax
cmp eax, 0x629bad2c
setl dl
xor ecx, ecx
sub edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x44]
cmp edx, eax
setg cl
xor eax, eax
cmp ecx, 0x3632cac2
je 0x10037479
mov dword [ebp - 0x14], eax
jmp 0x10037472
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x1003746f
push eax
push 0x2194
push 0x12c8
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_GetCharABCWidthsFloatA]
xor eax, eax
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], eax
jle 0x10037445
jmp 0x100374bb
mov dword [ebp - 0x48], 0x5dae
mov dword [ebp - 0x1c], eax
jmp 0x10037496
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x680], 0xfffd
inc dword [ebp - 0x1c]
xor eax, eax
inc eax
cmp dword [ebp - 0x1c], eax
jl 0x10037485
mov eax, dword [ebp - 0x28]
cmp eax, dword [ebp - 0x14]
jle 0x100374b0
xor eax, eax
cmp dword [ebp - 0x44], eax
je 0x100374b2
inc eax
jmp 0x100374b2
xor eax, eax
mov dword [ebp - 0x680], eax
dec dword [ebp - 0x48]
lea ecx, [ebp - 0xb60]
mov dword [ebp - 4], esi
call fcn.10019b8d
inc dword [ebp - 0x34]
cmp dword [ebp - 0x34], 0x1b
push 1
pop edi
jg 0x10037344
push 2
pop ebx
jmp 0x10037557
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x38], 0xc
jmp 0x10037547
push ebx
lea ecx, [ebp - 0x6e0]
call fcn.10019b25
xor eax, eax
mov dword [ebp - 4], 0xd
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], ebx
jge 0x10037525
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x6e0]
call fcn.10019b92
mov dword [eax], 0xdcf746b3
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ebx
jl 0x10037507
xor eax, eax
lea ecx, [ebp - 0x6e0]
cmp dword [ebp - 0x20], eax
jne 0x1003754f
push eax
call fcn.10019b92
lea ecx, [ebp - 0x6e0]
mov dword [ebp - 4], esi
call fcn.10019b8d
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], 0x3c
jle 0x100374ea
jmp 0x10037557
mov dword [ebp - 4], esi
call fcn.10019b8d
push 3
lea ecx, [ebp - 0xd4]
call fcn.10019b25
mov dword [ebp - 4], 0xe
xor eax, eax
mov dword [ebp - 0x18], 0xa012e1df
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 3
jge 0x1003759c
push dword [ebp - 0x1c]
lea ecx, [ebp - 0xd4]
call fcn.10019b92
mov dword [eax], 4
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jl 0x1003757d
xor eax, eax
push eax
lea ecx, [ebp - 0xd4]
call fcn.10019b92
cmp dword [eax], edi
jl 0x10037820
mov dword [ebp - 0x3c], ebx
lea ecx, [ebp - 0xd4]
mov dword [ebp - 0x28], edi
xor esi, esi
mov dword [ebp - 0x28], 0xe607d19f
mov dword [ebp - 0x48], 0xc2f92e6c
mov dword [ebp - 0x48], 0xc013cef3
mov dword [ebp - 0x44], 0xc0a9
mov dword [ebp - 0x40], 0x9c328129
push esi
call fcn.10019b92
mov ecx, dword [ebp - 0x3c]
xor ebx, ebx
push esi
cmp dword [eax], ecx
lea ecx, [ebp - 0xd4]
setg bl
call fcn.10019b92
xor ecx, ecx
push edi
cmp ebx, dword [eax]
setge cl
mov dword [ebp - 0x20], ecx
lea ecx, [ebp - 0xd4]
call fcn.10019b92
mov edx, dword [ebp - 0x20]
xor ecx, ecx
push esi
cmp dword [eax], edx
sete cl
mov dword [ebp - 0x28], ecx
lea ecx, [ebp - 0xd4]
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x48], eax
call fcn.10019b92
mov ecx, dword [ebp - 0x48]
xor ebx, ebx
push esi
cmp ecx, dword [eax]
lea ecx, [ebp - 0xd4]
setl bl
call fcn.10019b92
xor ecx, ecx
cmp ebx, dword [eax]
setle cl
xor ebx, ebx
mov dword [ebp - 0x48], ecx
lea ecx, [ebp - 0xd4]
mov eax, dword [ebp - 0x48]
push ebx
call fcn.10019b92
mov eax, dword [ebp - 0x3c]
lea ecx, [ebp - 0xd4]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x44]
push ebx
call fcn.10019b92
cmp dword [eax], ebx
je 0x10037693
push ebx
lea ecx, [ebp - 0xd4]
call fcn.10019b92
cmp dword [eax], ebx
je 0x10037693
xor eax, eax
lea ecx, [eax + 1]
jmp 0x10037699
xor eax, eax
xor ebx, ebx
mov ecx, eax
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x40], ecx
lea ecx, [ebp - 0xd4]
push ebx
call fcn.10019b92
push ebx
lea ecx, [ebp - 0xd4]
mov esi, eax
call fcn.10019b92
mov edx, dword [ebp - 0x3c]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x40]
add ecx, dword [esi]
add eax, ecx
add edx, eax
mov eax, dword [ebp - 0x3c]
imul eax, dword [ebp - 0x18]
cmp eax, edx
je 0x100377ae
mov dword [ebp - 0x54], 0xf9f41adf
lea ecx, [ebp - 0xd4]
push ebx
call fcn.10019b92
push ebx
lea ecx, [ebp - 0xd4]
call fcn.10019b92
mov edx, dword [ebp - 0x18]
dec edx
neg edx
sbb edx, edx
xor ecx, ecx
neg edx
cmp edx, dword [eax]
mov edx, dword [ebp - 0x54]
setg cl
sub edx, ecx
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
sub edx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x40]
cmp edx, eax
setle cl
xor eax, eax
cmp ecx, 0x25dbf607
setl al
cmp eax, dword [ebp - 0x54]
jne 0x10037741
xor eax, eax
cmp dword [ebp - 0x18], eax
jne 0x10037741
mov edx, eax
jmp 0x10037746
xor eax, eax
lea edx, [eax + 1]
mov eax, dword [ebp - 0x54]
xor ecx, ecx
cmp edx, eax
setne cl
xor eax, eax
cmp ecx, dword [ebp - 0x54]
jge 0x10037760
cmp dword [ebp - 0x44], eax
jne 0x10037760
mov esi, eax
jmp 0x10037765
xor ebx, ebx
lea esi, [ebx + 1]
push eax
lea ecx, [ebp - 0xd4]
call fcn.10019b92
mov ecx, dword [ebp - 0x54]
xor edx, edx
push 2
pop edi
cmp ecx, dword [eax]
lea ecx, [ebp - 0xd4]
push edi
setle dl
xor ebx, ebx
cmp edx, esi
setl bl
call fcn.10019b92
mov edx, dword [eax]
mov eax, dword [ebp - 0x54]
imul edx, ebx
neg edx
sbb edx, edx
xor ecx, ecx
neg edx
cmp edx, eax
setne cl
or esi, 0xffffffff
mov dword [ebp - 0x28], ecx
jmp 0x100377e2
mov dword [ebp - 0x48], 0x11ebc848
xor edx, edx
mov ecx, dword [ebp - 0x48]
mov eax, dword [ebp - 0x40]
cmp ecx, eax
setle dl
xor eax, eax
mov dword [ebp - 0x48], edx
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], al
je 0x100377dc
push eax
push 0x1ce1
push eax
call dword [sym.imp.OLEAUT32.dll_SafeArrayGetLBound]
or esi, 0xffffffff
push 2
pop edi
lea ecx, [ebp - 0xd4]
mov dword [ebp - 4], esi
call fcn.10019b8d
mov dword [ebp - 0x20], 0xc05baf43
xor eax, eax
mov dword [ebp - 0x30], 0x53d8da8e
mov dword [ebp - 0x4c], esi
mov dword [ebp - 0x28], 0xfffffffe
mov dword [ebp - 0x4c], 4
mov dword [ebp - 0x48], 0xfffffff8
mov dword [ebp - 0x44], esi
mov dword [ebp - 0x1c], eax
jmp 0x10037870
xor eax, eax
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], al
je 0x1003783f
push 0x119a
push eax
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetWindowTextW]
xor eax, eax
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x100377df
push eax
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_GetWindowOrgEx]
jmp 0x100377df
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0xe8], 0x8c66f5a9
inc dword [ebp - 0x1c]
xor eax, eax
inc eax
cmp dword [ebp - 0x1c], eax
jl 0x1003785f
dec dword [ebp - 0x28]
mov eax, dword [ebp - 0x20]
xor eax, eax
cmp dword [ebp - 0x30], eax
je 0x1003788b
mov eax, dword [ebp - 0xe8]
mov eax, dword [ebp - 0xe8]
xor esi, esi
mov eax, dword [ebp - 0x4c]
inc esi
mov dword [ebp - 0x48], esi
xor edx, edx
mov eax, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x48]
sub ecx, eax
mov eax, dword [ebp - 0x28]
cmp ecx, eax
mov ecx, 0x91c84132
push edi
setl dl
xor eax, eax
cmp edx, 0xffffffff
setne al
cmp ecx, eax
mov eax, dword [ebp - 0xe8]
sbb ecx, ecx
xor edx, edx
neg ecx
cmp ecx, eax
mov eax, dword [ebp - 0xe8]
setle dl
xor ecx, ecx
cmp edx, eax
setne cl
mov dword [ebp - 0xe8], ecx
lea ecx, [ebp - 0x998]
mov dword [ebp - 0x18], 0xe2fde2bb
mov dword [ebp - 0x2c], 0x4888999d
call fcn.10019b25
mov dword [ebp - 4], 0xf
xor eax, eax
mov dword [ebp - 0x48], esi
mov dword [ebp - 0x48], 0x2f37fc03
mov dword [ebp - 0x20], 0x49cff29c
mov dword [ebp - 0x1c], eax
jmp 0x1003792c
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x998]
call fcn.10019b92
or dword [eax], 0xffffffff
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edi
jl 0x10037918
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x48]
add eax, dword [ebp - 0x2c]
cmp eax, dword [ebp - 0x18]
jle 0x10037948
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
imul eax, dword [ebp - 0x2c]
test eax, eax
je 0x10037956
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x2c]
xor ebx, ebx
mov eax, dword [ebp - 0x18]
cmp ecx, eax
lea ecx, [ebp - 0x998]
setg bl
xor eax, eax
push eax
call fcn.10019b92
xor ecx, ecx
mov dword [eax], ebx
mov dword [ebp - 0x48], esi
mov eax, dword [ebp - 0x48]
cmp ebx, eax
mov eax, dword [ebp - 0x2c]
setl cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x2c]
setg dl
xor ecx, ecx
cmp edx, eax
setg cl
or ebx, 0xffffffff
mov dword [ebp - 0x20], ecx
lea ecx, [ebp - 0x998]
mov dword [ebp - 4], ebx
call fcn.10019b8d
mov dword [ebp - 0x38], 0xfffffff7
xor edx, edx
mov dword [ebp - 0x34], 0x923607a9
mov dword [ebp - 0x3c], 0x93dda37b
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x38]
cmp eax, ecx
setl dl
xor ecx, ecx
add edx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x38]
cmp edx, esi
setle cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x3c]
setg dl
xor ecx, ecx
cmp edx, eax
setle cl
cmp ecx, dword [ebp - 0x38]
je 0x100379f6
mov eax, dword [ebp - 0x38]
xor eax, eax
cmp dword [ebp - 0x34], eax
je 0x10037bbb
mov dword [ebp - 0x14], 8
mov dword [ebp - 0x44], 0xd2c643d4
mov dword [ebp - 0x34], 0xffffffec
cmp dword [ebp - 0x34], 0x1b
jle 0x10037c3a
mov dword [ebp - 0x48], 0xfc02
lea ecx, [ebp - 0xad0]
push esi
call fcn.10019b25
mov dword [ebp - 4], 0x10
xor eax, eax
mov dword [ebp - 0x28], 0x4d4a788a
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], esi
jge 0x10037a6c
push dword [ebp - 0x1c]
lea ecx, [ebp - 0xad0]
call fcn.10019b92
mov dword [eax], 0x26de0d61
xor eax, eax
inc dword [ebp - 0x1c]
inc eax
cmp dword [ebp - 0x1c], eax
jl 0x10037a4b
xor eax, eax
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x10037a85
push eax
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetSystemMenu]
xor eax, eax
cmp dword [ebp - 0x48], eax
jne 0x10037af6
cmp dword [ebp - 0x34], ebx
je 0x10037a92
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x48]
xor edx, edx
mov eax, dword [ebp - 0x3c]
cmp ecx, eax
setg dl
cmp edx, dword [ebp - 0x3c]
jne 0x10037aaf
xor eax, eax
cmp dword [ebp - 0x34], eax
jne 0x10037aaf
mov ecx, eax
jmp 0x10037ab4
xor eax, eax
lea ecx, [eax + 1]
mov eax, dword [ebp - 0x34]
xor ebx, ebx
cmp ecx, eax
lea ecx, [ebp - 0xad0]
sete bl
xor eax, eax
push eax
call fcn.10019b92
mov dword [eax], ebx
xor eax, eax
cmp ebx, 0xffffffff
setge al
xor edx, edx
cmp eax, 0x2b0a
mov eax, dword [ebp - 0x14]
setge dl
xor ecx, ecx
cmp eax, edx
setle cl
or ebx, 0xffffffff
mov dword [ebp - 0x28], ecx
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x14]
neg eax
sbb eax, eax
xor edx, edx
neg eax
cmp eax, 0x629bad2c
setl dl
xor ecx, ecx
sub edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x44]
cmp edx, eax
setg cl
xor eax, eax
cmp ecx, 0x3632cac2
je 0x10037b59
mov dword [ebp - 0x14], eax
jmp 0x10037b52
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x10037b4f
push eax
push 0x2194
push 0x12c8
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_GetCharABCWidthsFloatA]
xor eax, eax
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], eax
jle 0x10037b25
jmp 0x10037b9b
mov dword [ebp - 0x48], 0x5dae
mov dword [ebp - 0x1c], eax
jmp 0x10037b76
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x768], 0xfffd
inc dword [ebp - 0x1c]
xor eax, eax
inc eax
cmp dword [ebp - 0x1c], eax
jl 0x10037b65
mov eax, dword [ebp - 0x28]
cmp eax, dword [ebp - 0x14]
jle 0x10037b90
xor eax, eax
cmp dword [ebp - 0x44], eax
je 0x10037b92
inc eax
jmp 0x10037b92
xor eax, eax
mov dword [ebp - 0x768], eax
dec dword [ebp - 0x48]
lea ecx, [ebp - 0xad0]
mov dword [ebp - 4], ebx
call fcn.10019b8d
inc dword [ebp - 0x34]
cmp dword [ebp - 0x34], 0x1b
push 1
pop esi
jg 0x10037a20
jmp 0x10037c38
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x38], 0xc
cmp dword [ebp - 0x38], 0x3c
jg 0x10037c3a
push edi
lea ecx, [ebp - 0x5d8]
call fcn.10019b25
xor eax, eax
mov dword [ebp - 4], 0x11
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], edi
jge 0x10037c06
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x5d8]
call fcn.10019b92
mov dword [eax], 0xdcf746b3
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edi
jl 0x10037be8
xor eax, eax
lea ecx, [ebp - 0x5d8]
cmp dword [ebp - 0x20], eax
jne 0x10037c30
push eax
call fcn.10019b92
lea ecx, [ebp - 0x5d8]
mov dword [ebp - 4], ebx
call fcn.10019b8d
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], 0x3c
jle 0x10037bcb
jmp 0x10037c38
mov dword [ebp - 4], ebx
call fcn.10019b8d
xor eax, eax
mov dword [ebp - 0x18], 0x98a8f939
mov dword [ebp - 0x48], 0x921b0ae2
mov dword [ebp - 0x20], 0x99ea
cmp dword [ebp - 0x18], eax
je 0x10037c6a
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x10037ce7
push eax
call dword [sym.imp.GDI32.dll_CreatePenIndirect]
jmp 0x10037ce7
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x20], 0xa42bbd4a
mov dword [ebp - 0x1c], eax
jmp 0x10037c8a
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0xc88], 0xfffffff6
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edi
jl 0x10037c79
mov eax, dword [ebp - 0x2c]
add eax, dword [ebp - 0x18]
neg eax
sbb eax, eax
neg eax
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0xc88], eax
mov ecx, dword [ebp - 0x2c]
sub ecx, dword [ebp - 0x18]
neg ecx
sbb ecx, ecx
imul eax, eax, 0x65de
xor edx, edx
inc ecx
cmp ecx, eax
setle dl
add edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
neg edx
sbb edx, edx
xor ecx, ecx
neg edx
cmp eax, edx
setl cl
mov dword [ebp - 0x20], ecx
xor eax, eax
mov ebx, 0xbe74fd57
inc eax
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x58], 0x13
jmp 0x10037f41
mov dword [ebp - 0x3c], 0xffffffff
lea ecx, [ebp - 0x378]
call fcn.10019b25
mov dword [ebp - 4], 0x12
xor eax, eax
mov dword [ebp - 0x30], 0xf0d6
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], edi
jge 0x10037d4a
push 9
pop ebx
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x378]
call fcn.10019b92
mov dword [eax], ebx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edi
jl 0x10037d2b
xor eax, eax
mov ebx, 0xbe74fd57
mov dword [ebp - 0x3c], 0xfffffffb
cmp dword [ebp - 0x3c], 0xe
jne 0x10037f2f
xor esi, esi
inc esi
mov dword [ebp - 0x38], 0x9dfcf09c
mov dword [ebp - 0x38], esi
cmp dword [ebp - 0x38], eax
jl 0x10037f22
mov dword [ebp - 0x14], 3
mov dword [ebp - 0x14], esi
cmp dword [ebp - 0x14], eax
jl 0x10037ebb
mov dword [ebp - 0x1c], 6
mov dword [ebp - 0x34], 0xdf29855e
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], esi
jg 0x10037e2a
mov dword [ebp - 0x2c], 6
mov dword [ebp - 0x20], 0xffffffff
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], esi
jg 0x10037e19
mov dword [ebp - 0x48], 0x17d1dc6b
lea ecx, [ebp - 0x378]
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x48], eax
push dword [ebp - 0x2c]
call fcn.10019b92
push dword [ebp - 0x2c]
xor ebx, ebx
lea ecx, [ebp - 0x378]
cmp dword [eax], 0xf204795e
setne bl
call fcn.10019b92
mov ecx, dword [eax]
mov eax, dword [ebp - 0x48]
add ecx, ebx
imul eax, ecx
cmp esi, eax
sbb eax, eax
inc eax
imul eax, eax, 0x55a6
mov dword [ebp - 0x34], eax
xor eax, eax
mov dword [ebp - 0x20], 8
inc eax
inc dword [ebp - 0x2c]
push eax
pop esi
cmp dword [ebp - 0x2c], eax
jle 0x10037db4
xor esi, esi
xor eax, eax
inc esi
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], esi
jle 0x10037d9e
mov ebx, 0xbe74fd57
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], esi
jg 0x10037ead
mov eax, dword [ebp - 0x38]
lea ecx, [ebp - 0x378]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x14]
push dword [ebp - 0x34]
call fcn.10019b92
xor ecx, ecx
cmp dword [eax], 6
mov eax, dword [ebp - 0x14]
sete cl
cmp ebx, ecx
sbb ecx, ecx
inc ecx
sub ecx, eax
jne 0x10037e6e
xor eax, eax
cmp dword [ebp - 0x34], eax
jne 0x10037e6e
mov esi, eax
jmp 0x10037e73
xor eax, eax
lea esi, [eax + 1]
push dword [ebp - 0x34]
lea ecx, [ebp - 0x378]
call fcn.10019b92
push dword [ebp - 0x34]
xor ebx, ebx
lea ecx, [ebp - 0x378]
cmp esi, dword [eax]
setg bl
call fcn.10019b92
mov dword [eax], ebx
xor eax, eax
inc dword [ebp - 0x34]
inc eax
mov ebx, 0xbe74fd57
cmp dword [ebp - 0x34], eax
jle 0x10037e32
xor esi, esi
xor eax, eax
inc esi
dec dword [ebp - 0x14]
mov ebx, 0xbe74fd57
jns 0x10037d84
mov eax, dword [ebp - 0x58]
mov eax, dword [ebp - 0x58]
xor eax, eax
cmp dword [ebp - 0x14], eax
jne 0x10037ecb
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x14]
lea ecx, [ebp - 0x378]
mov eax, dword [ebp - 0x14]
push esi
call fcn.10019b92
mov eax, dword [ebp - 0x38]
lea ecx, [ebp - 0x378]
push dword [ebp - 0x38]
call fcn.10019b92
mov edx, dword [ebp - 0x38]
mov esi, eax
mov ecx, dword [ebp - 0x30]
xor eax, eax
cmp edx, ecx
mov ecx, dword [ebp - 0x38]
push 0
setle al
xor edx, edx
cmp eax, ecx
mov eax, dword [ebp - 0x38]
setne dl
xor ecx, ecx
cmp eax, edx
pop eax
setg cl
mov dword [esi], ecx
dec dword [ebp - 0x38]
push 1
pop esi
jns 0x10037d71
inc dword [ebp - 0x3c]
cmp dword [ebp - 0x3c], 0xe
je 0x10037d5e
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x378]
call fcn.10019b8d
dec dword [ebp - 0x58]
push 5
pop eax
push edi
cmp dword [ebp - 0x58], eax
jle 0x10037cfe
lea ecx, [ebp - 0x6f8]
call fcn.10019b25
mov dword [ebp - 4], 0x13
xor eax, eax
mov dword [ebp - 0x34], 4
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], edi
jge 0x10037f8f
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x6f8]
call fcn.10019b92
mov dword [eax], 0xdf99ff60
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edi
jl 0x10037f71
xor eax, eax
xor ebx, ebx
inc ebx
mov dword [ebp - 0x34], ebx
push 0xfffffffffffffffd
pop ecx
cmp dword [ebp - 0x34], eax
jl 0x10038166
jmp 0x10037fa5
xor eax, eax
mov dword [ebp - 0x38], 0x6a485bf2
mov dword [ebp - 0x20], 0xffffffff
mov dword [ebp - 0x20], 0xbac41177
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x48], 0x48cb42b0
mov dword [ebp - 0x38], ebx
cmp dword [ebp - 0x38], eax
jl 0x1003814c
mov dword [ebp - 0x24], 0x18ebdb88
mov dword [ebp - 0x3c], 0xab8ac29b
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x20], edi
mov dword [ebp - 0x20], 0xe474c77a
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x24]
add eax, dword [ebp - 0x34]
jne 0x1003800b
cmp dword [ebp - 0x34], eax
jne 0x1003800b
mov edx, eax
jmp 0x10038010
xor eax, eax
lea edx, [eax + 1]
mov eax, dword [ebp - 0x38]
xor ecx, ecx
cmp edx, eax
sete cl
sub ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x38]
cmp ecx, 0x9c8c74c3
sbb ecx, ecx
xor edx, edx
inc ecx
cmp ecx, eax
setne dl
xor eax, eax
cmp edx, 0x10cb4e34
setl al
xor edx, edx
imul ecx, eax, 0xfffffff8
mov eax, dword [ebp - 0x38]
cmp ecx, eax
mov eax, dword [ebp - 0x38]
setle dl
xor ecx, ecx
cmp edx, eax
setge cl
xor edx, edx
cmp ecx, 0x78f1e0c8
setle dl
add edx, dword [ebp - 0x24]
sub edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x38]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
setl cl
add ecx, dword [ebp - 0x38]
je 0x1003807a
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x34]
sub ecx, eax
neg ecx
sbb ecx, ecx
inc ecx
cmp ecx, dword [ebp - 0x3c]
jg 0x1003809a
xor eax, eax
cmp dword [ebp - 0x34], eax
jne 0x1003809a
mov edx, eax
jmp 0x1003809f
xor eax, eax
lea edx, [eax + 1]
mov eax, dword [ebp - 0x34]
xor ecx, ecx
cmp edx, eax
setle cl
xor eax, eax
inc eax
cmp ecx, eax
ja 0x100380b8
xor eax, eax
cmp dword [ebp - 0x38], eax
je 0x100380b8
inc eax
push dword [ebp - 0x38]
lea ecx, [ebp - 0x6f8]
mov edi, eax
call fcn.10019b92
push dword [ebp - 0x38]
lea ecx, [ebp - 0x6f8]
mov esi, eax
call fcn.10019b92
mov ecx, dword [eax]
mov dword [esi], ecx
lea eax, [edi + ecx]
mov dword [ebp - 0x24], eax
xor eax, eax
mov dword [ebp - 0x3c], eax
jmp 0x10038134
mov dword [ebp - 0x24], eax
jmp 0x100380f4
dec dword [ebp - 0x48]
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 0x14
jne 0x100380ee
mov dword [ebp - 0x1c], 0xffffffe7
cmp dword [ebp - 0x1c], 0x18
jg 0x10038131
mov dword [ebp - 0x24], 0xfffffff1
jmp 0x10038120
cmp dword [ebp - 0x24], 0x1d
jg 0x10038110
dec dword [ebp - 0x3c]
cmp dword [ebp - 0x3c], 0xfffffff7
je 0x100380e9
dec dword [ebp - 0x38]
push 2
pop edi
push 0xfffffffffffffffd
pop ecx
jns 0x10037fd0
push ebx
lea ecx, [ebp - 0x6f8]
call fcn.10019b92
push 0xfffffffffffffffd
pop ecx
mov dword [eax], ebx
dec dword [ebp - 0x34]
jns 0x10037fa3
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x6f8]
call fcn.10019b8d
mov dword [ebp - 0x40], 0x3ae35568
xor eax, eax
inc eax
mov dword [ebp - 0x34], eax
mov eax, 0x2d149fe
mov dword [ebp - 0x454], eax
mov dword [ebp - 0x450], eax
mov dword [ebp - 0x44c], eax
mov dword [ebp - 0x448], eax
mov dword [ebp - 0x44], 7
mov dword [ebp - 0x18], 0x4bfcc0c2
mov dword [ebp - 0x34], 0xffffffee
cmp dword [ebp - 0x34], 0xe
je 0x100383e3
xor eax, eax
push 4
pop ecx
mov dword [ebp - 0x48], ecx
mov dword [ebp - 0x48], 0x3c5ebb4e
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], ecx
jge 0x100381ed
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x1c8], 0x733c6338
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ecx
jl 0x100381d5
xor eax, eax
cmp dword [ebp - 0x34], eax
jne 0x100383e3
push 3
pop ecx
mov dword [ebp - 0x1c0], ecx
cmp dword [ebp - 0x1c0], eax
jl 0x100383d6
mov dword [ebp - 0x14], 0x4f16efa4
mov dword [ebp - 0x14], ecx
cmp dword [ebp - 0x14], eax
jl 0x100383ca
xor ebx, ebx
inc ebx
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x28], 0x534a
mov dword [ebp - 0x48], 0xade45a91
mov dword [ebp - 0x20], 0x111919b1
mov dword [ebp - 0x20], 0x900a
mov dword [ebp - 0x38], ecx
cmp dword [ebp - 0x38], eax
jl 0x100383c1
mov dword [ebp - 0x40], ebx
mov dword [ebp - 0x30], 0x20a73bc0
mov eax, dword [ebp - 0x1c0]
mov eax, dword [ebp + eax*4 - 0x454]
inc dword [ebp - 0x28]
je 0x10038295
mov eax, dword [ebp - 0x1c0]
xor edx, edx
mov ecx, dword [ebp - 0x1c8]
mov eax, dword [ebp - 0x34]
cmp eax, ecx
setne dl
xor eax, eax
cmp edx, 0xfffffffa
jge 0x1003828c
cmp dword [ebp - 0x14], eax
je 0x1003828c
mov eax, ebx
mov dword [ebp - 0x48], eax
cmp dword [ebp - 0x48], 6
jb 0x1003829f
xor eax, eax
cmp dword [ebp - 0x1c4], eax
je 0x100382a1
mov eax, ebx
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x40]
cmp eax, dword [ebp - 0x38]
jg 0x100382bb
xor eax, eax
cmp dword [ebp - 0x28], eax
je 0x100382bd
xor ebx, ebx
lea ecx, [eax + 1]
inc ebx
jmp 0x100382bf
xor eax, eax
mov ecx, eax
mov eax, dword [ebp - 0x1c0]
xor edx, edx
imul eax, ecx
mov ecx, dword [ebp - 0x34]
add ecx, eax
mov eax, dword [ebp - 0x38]
cmp ecx, eax
mov eax, dword [ebp - 0x1c0]
setg dl
xor ecx, ecx
mov eax, dword [ebp + eax*4 - 0x454]
cmp edx, eax
setg cl
mov dword [ebp - 0x48], ecx
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp + eax*4 - 0x454]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x1c0]
mov eax, dword [ebp - 0x1c0]
mov eax, dword [ebp - 0x1c0]
mov eax, dword [ebp + eax*4 - 0x454]
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x48]
sub eax, dword [ebp - 0x454]
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x1c0]
mov dword [ebp + eax*4 - 0x454], 4
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x1c0]
mov eax, dword [ebp - 0x1c8]
sub eax, dword [ebp - 0x38]
mov dword [ebp - 0x48], eax
je 0x1003835f
mov eax, dword [ebp - 0x44c]
mov eax, dword [ebp - 0x14]
xor ecx, ecx
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
cmp eax, ebx
mov eax, dword [ebp - 0x18]
setl cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x30]
setle dl
xor ecx, ecx
cmp edx, eax
setge cl
xor eax, eax
cmp ecx, dword [ebp - 0x14]
jle 0x1003839d
cmp dword [ebp - 0x34], eax
jne 0x1003839d
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x20], eax
jmp 0x100383b3
cmp dword [ebp - 0x14], eax
je 0x100383ab
mov dword [ebp - 0x40], 0x102f310e
jmp 0x100383b3
cmp dword [ebp - 0x1bc], eax
jne 0x100383bc
dec dword [ebp - 0x38]
jns 0x1003824c
push 3
xor eax, eax
pop ecx
dec dword [ebp - 0x14]
jns 0x10038221
dec dword [ebp - 0x1c0]
jns 0x1003820b
inc dword [ebp - 0x34]
cmp dword [ebp - 0x34], 0xe
jne 0x100381c0
mov dword [ebp - 0x34], 0xfffffffe
xor eax, eax
xor ebx, ebx
mov dword [ebp - 0x20], 0x3d42
mov dword [ebp - 0x1c], eax
inc ebx
cmp dword [ebp - 0x1c], ebx
jge 0x10038419
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x29c], 0xa8e
xor eax, eax
inc dword [ebp - 0x1c]
inc eax
cmp dword [ebp - 0x1c], eax
jl 0x100383fe
xor eax, eax
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], eax
jg 0x1003843f
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp + eax*4 - 0x29c]
mov eax, dword [ebp - 0x34]
mov dword [ebp + eax*4 - 0x29c], ecx
xor eax, eax
inc dword [ebp - 0x34]
cmp dword [ebp - 0x34], eax
jle 0x10038421
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], eax
jl 0x10038459
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp + eax*4 - 0x29c]
mov dword [ebp - 0x20], eax
dec dword [ebp - 0x34]
jns 0x10038447
movdqa xmm0, xmmword [0x10007de0]
lea eax, [ebp - 0xf0c]
push eax
lea eax, [ebp - 0xf1c]
mov dword [ebp - 0x58], 8
push eax
lea ecx, [ebp - 0x1418]
movdqu xmmword [ebp - 0xf1c], xmm0
call fcn.10019ba1
lea ecx, [ebp - 0x2b9]
mov esi, eax
call fcn.10008e93
push eax
push dword [esi + 4]
lea ecx, [ebp - 0x11fc]
push dword [esi]
call fcn.10019b67
xor eax, eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1c], eax
jmp 0x100384de
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x100384db
push eax
push 0x1e55
push 0x1b66
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_GetCharWidth32A]
xor eax, eax
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jle 0x100384b1
lea ecx, [ebp - 0x11fc]
call fcn.10019b8d
mov dword [ebp - 0x14], 0xfffc
xor edx, edx
mov dword [ebp - 0x3c], 0xffffffff
mov dword [ebp - 0x48], 0x87a7525d
mov dword [ebp - 0x44], 0x592758e9
mov dword [ebp - 0x20], 0x8405cefd
mov eax, dword [ebp - 0x14]
add eax, 0x1ceaae26
mov dword [ebp - 0x3c], eax
mov ecx, dword [ebp - 0x48]
mov eax, dword [ebp - 0x14]
cmp ecx, eax
mov eax, dword [ebp - 0x48]
setg dl
xor ecx, ecx
cmp edx, eax
setg cl
sub ecx, dword [ebp - 0x14]
neg ecx
sbb ecx, ecx
inc ecx
mov dword [ebp - 0x44], ecx
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x44]
xor eax, eax
inc eax
cmp dword [ebp - 0x20], eax
jle 0x1003856c
xor eax, eax
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], al
je 0x10038613
push eax
push 0x1e84
call dword [sym.imp.SHELL32.dll_Shell_NotifyIconW]
jmp 0x10038611
xor eax, eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 4
jge 0x10038590
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x1478], 0x82e77e81
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 4
jl 0x10038577
xor eax, eax
push 9
mov dword [ebp - 0x1470], 0xffffffff
pop ecx
mov dword [ebp - 0x14], ecx
cmp dword [ebp - 0x14], 0x16
jle 0x10038611
xor ebx, ebx
inc ebx
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x3c], 0xfffffff4
jne 0x10038608
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], ebx
jge 0x100385d8
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x690], 0
xor eax, eax
inc dword [ebp - 0x1c]
inc eax
cmp dword [ebp - 0x1c], eax
jl 0x100385ba
xor ebx, ebx
xor eax, eax
inc ebx
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x100385f6
push eax
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_RectVisible]
mov eax, dword [ebp - 0x690]
dec dword [ebp - 0x3c]
cmp dword [ebp - 0x3c], 0xfffffff4
push 0
pop eax
je 0x100385b2
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0x16
jg 0x100385a9
xor eax, eax
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x10038631
push 0x2004
push eax
push eax
push 0xea3
push eax
call dword [sym.imp.SHELL32.dll_ExtractIconExW]
xor eax, eax
mov dword [ebp - 0x1c], eax
jmp 0x10038647
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x1378], 0xb905d09e
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edi
jl 0x10038636
xor esi, esi
lea ecx, [ebp - 0x9b0]
inc esi
push esi
call fcn.10019b25
mov dword [ebp - 4], 0x14
xor eax, eax
mov dword [ebp - 0x3c], 0x960f57a7
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], esi
jge 0x10038697