Function at 0x1001c8a1
Capabilities:
Accept command line arguments
Get file system object information
Query environment variable
Terminate process

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x3cc
push ebx
push esi
push edi
push 3
pop edi
mov dword [ebp - 0x10c], edi
xor ebx, ebx
mov dword [ebp - 0x108], edi
push 2
mov dword [ebp - 0x104], edi
mov dword [ebp - 0x154], ecx
mov dword [ebp - 0x100], edi
pop ecx
mov dword [ebp - 0xc], ebx
push 1
mov dword [ebp - 0x1c], 7
mov dword [ebp - 0x16c], edx
mov dword [ebp - 0xc], ebx
pop esi
jmp 0x1001cb27
mov dword [ebp - 0x10], ebx
jmp 0x1001c901
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x60], 0x6e838462
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ecx
jl 0x1001c8f3
mov dword [ebp - 0x10], ebx
jmp 0x1001c91c
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x2e4], 0xfffffffb
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edi
jl 0x1001c90b
mov dword [ebp - 0x5c], edi
cmp dword [ebp - 0x5c], ebx
jl 0x1001cb1e
mov dword [ebp - 0x1e4], 0x4d39d982
mov dword [ebp - 0x1e0], 0x4d39d982
mov dword [ebp - 0x1dc], 0x4d39d982
mov dword [ebp - 0x1d8], 0x4d39d982
mov dword [ebp - 4], ebx
jmp 0x1001c968
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x34], 0xb61bab59
inc dword [ebp - 4]
cmp dword [ebp - 4], esi
jl 0x1001c95a
mov dword [ebp - 0x34], ebx
jmp 0x1001ca9e
mov dword [ebp - 8], 0x78dc2a82
mov dword [ebp - 0x10], 0xffffffff
mov dword [ebp - 0x2c], 0x6e90
mov dword [ebp - 8], ebx
jmp 0x1001ca8d
mov dword [ebp - 4], 0x1b552bf3
mov dword [ebp - 0x24], 0x30fc3532
mov dword [ebp - 4], ebx
jmp 0x1001ca40
mov dword [ebp - 0x28], 0xd021
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp + eax*4 - 0x10c]
mov eax, dword [ebp - 4]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 8]
cmp dword [ebp - 0x10], ebx
jne 0x1001c9db
mov eax, dword [ebp - 0x34]
cmp dword [ebp + eax*4 - 0x10c], ebx
je 0x1001c9df
cmp dword [ebp - 0x10], ebx
je 0x1001c9df
mov eax, esi
jmp 0x1001c9e1
mov eax, ebx
xor ecx, ecx
mov dword [ebp - 0x1d8], 0xa93826a0
cmp eax, 0xa93826a0
mov eax, dword [ebp - 4]
setne cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x28]
setl dl
xor ebx, ebx
cmp edx, eax
mov eax, dword [ebp - 0x34]
setl bl
xor ecx, ecx
mov eax, dword [ebp + eax*4 - 0x10c]
cmp ebx, eax
setge cl
xor ebx, ebx
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x10], ebx
jmp 0x1001ca38
mov dword [ebp - 0x24], 0x2a2c7a2e
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp + eax*4 - 0x10c]
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edi
jle 0x1001ca24
inc dword [ebp - 4]
cmp dword [ebp - 4], edi
jle 0x1001c9a8
cmp dword [ebp - 0xc], ebx
jne 0x1001ca80
mov edx, dword [ebp - 0x60]
xor ecx, ecx
mov eax, dword [ebp - 0x10]
sub edx, eax
mov eax, dword [ebp - 0x5c]
cmp edx, eax
mov eax, dword [ebp - 4]
setle cl
add eax, 6
add eax, ecx
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x5c]
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 0x10c]
mov dword [ebp - 0x1e4], 0xffffffff
inc dword [ebp - 8]
cmp dword [ebp - 8], edi
jle 0x1001c992
cmp dword [ebp - 0x2c], ebx
jne 0x1001caa7
inc dword [ebp - 0x34]
cmp dword [ebp - 0x34], edi
jle 0x1001c975
mov dword [ebp - 0x1c], ebx
jmp 0x1001cb0d
mov dword [ebp - 0x28], 0xffffffff
cmp dword [ebp - 0x5c], ebx
je 0x1001cad7
mov eax, dword [ebp - 0xc]
mov edx, esi
mov ecx, dword [ebp - 0x108]
mov eax, dword [ebp - 0x108]
sub ecx, eax
mov eax, dword [ebp - 0x1c]
cmp dword [ebp + eax*4 - 0x10c], ecx
jne 0x1001cad9
mov edx, ebx
mov eax, dword [ebp - 0x60]
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x1c]
sete cl
xor edx, edx
cmp ecx, 0xffffffff
mov eax, dword [ebp + eax*4 - 0x10c]
setge dl
xor ecx, ecx
cmp eax, edx
setne cl
mov dword [ebp - 0x2e4], ecx
mov dword [ebp - 0x28], ecx
cmp dword [ebp - 0xc], ebx
jne 0x1001cb12
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edi
jle 0x1001caac
dec dword [ebp - 0x5c]
jns 0x1001c92d
push 2
pop ecx
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x1c], eax
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], edi
jle 0x1001c8ee
mov dword [ebp - 0xfc], edi
mov dword [ebp - 0xf8], edi
mov dword [ebp - 0xf4], edi
mov dword [ebp - 0xf0], edi
mov dword [ebp - 0xc], ebx
mov dword [ebp - 8], 0x5540d7f8
mov dword [ebp - 0x28], 0x257ea0d0
mov dword [ebp - 4], ebx
jmp 0x1001cb6f
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x2cc], 0xffffffff
inc dword [ebp - 4]
cmp dword [ebp - 4], esi
jl 0x1001cb5e
mov dword [ebp - 8], ebx
jmp 0x1001cbfc
mov dword [ebp - 0xc], 0xce9d05ba
mov dword [ebp - 4], ebx
jmp 0x1001cb99
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x3a4], 0x82ff40fc
inc dword [ebp - 4]
cmp dword [ebp - 4], edi
jl 0x1001cb88
mov dword [ebp - 0xc], ebx
jmp 0x1001cbf3
mov dword [ebp - 4], 0x951ea66e
mov dword [ebp - 0x18], 0xffffffff
mov dword [ebp - 0x24], 0x1e5c8a52
mov dword [ebp - 4], ebx
jmp 0x1001cbca
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x380], edi
inc dword [ebp - 4]
cmp dword [ebp - 4], edi
jl 0x1001cbbd
mov dword [ebp - 4], ecx
cmp dword [ebp - 4], ebx
jl 0x1001cbf0
mov dword [ebp - 0x18], 0x69161d59
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x18], 0xfffffff6
inc dword [ebp - 0x24]
dec dword [ebp - 4]
jns 0x1001cbd7
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 0xd
jg 0x1001cba3
dec dword [ebp - 8]
cmp dword [ebp - 8], 0xffffffef
je 0x1001cb7c
mov dword [ebp - 0x28], 0x45a8cced
mov dword [ebp - 8], 7
mov dword [ebp - 0x20], 0x7b79f6a7
mov dword [ebp - 0x10], 0xe4c20f74
mov dword [ebp - 0xc], ebx
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x2c], 0x2a909f0
mov dword [ebp - 0x24], 0x1c4e
mov dword [ebp - 4], ebx
jmp 0x1001cc4c
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x148], 0xffffffff
inc dword [ebp - 4]
cmp dword [ebp - 4], ecx
jl 0x1001cc3b
mov eax, dword [ebp - 0x20]
xor ecx, ecx
cmp eax, 0xa3a92bd4
setne cl
neg ecx
jne 0x1001cc78
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x10], 0xb82c
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0xc]
cmp eax, dword [ebp - 0x20]
jne 0x1001cc9c
mov eax, ebx
cmp dword [ebp - 0xc], ebx
je 0x1001cc9e
mov eax, esi
mov dword [ebp - 0x1c], eax
xor edx, edx
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x20]
cmp ecx, eax
setle dl
add edx, 0x7c1ca7a4
je 0x1001ccc9
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x1001cd20
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_FileTimeToSystemTime]
jmp 0x1001cd20
mov dword [ebp - 4], ebx
jmp 0x1001ccdf
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x33c], 0xfffffffd
inc dword [ebp - 4]
cmp dword [ebp - 4], 2
jl 0x1001ccce
mov dword [ebp - 0x10], ebx
jmp 0x1001cd0a
mov dword [ebp - 0x1c], ebx
jmp 0x1001cd02
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x1001ccff
push ebx
call dword [sym.imp.KERNEL32.dll_SetDllDirectoryW]
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], esi
jle 0x1001ccef
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], esi
jle 0x1001ccea
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x1001cd20
push ebx
push ebx
call dword [sym.imp.USER32.dll_LoadMenuW]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x1c]
cmp dword [ebp - 0x10], eax
jge 0x1001cd35
mov eax, esi
cmp dword [ebp - 0xc], ebx
jne 0x1001cd37
mov eax, ebx
mov dword [ebp - 0x2c], eax
mov edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x1c]
sub edx, 0xc9fc22f7
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
setge cl
cmp ecx, dword [ebp - 0x144]
jge 0x1001cd5d
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 0xc]
xor ecx, ecx
mov eax, dword [ebp - 0x148]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0xc]
cmp eax, esi
setg cl
cmp ecx, esi
jg 0x1001cd7e
mov ecx, esi
cmp dword [ebp - 0x24], ebx
jne 0x1001cd80
mov ecx, ebx
xor eax, eax
cmp ecx, 0xfffffff7
setle al
cmp dword [ebp - 0x1c], eax
jge 0x1001cd94
mov eax, ebx
cmp dword [ebp - 0x1c], ebx
je 0x1001cd96
mov eax, esi
push 4
pop ecx
cmp ecx, eax
sbb ecx, ecx
xor edx, edx
neg ecx
add ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x10]
cmp ecx, eax
setg dl
xor eax, eax
cmp edx, 0x1945
setge al
add eax, dword [ebp - 0x144]
mov dword [ebp - 0x10], eax
mov eax, 0x34fda0e6
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x18], 0xca4f833f
mov dword [ebp - 0x204], eax
mov dword [ebp - 0x200], eax
mov dword [ebp - 0x1fc], eax
mov dword [ebp - 0x1f8], eax
mov dword [ebp - 0x18], 0x2038e85a
mov dword [ebp - 0x24], 0x956e74e8
mov dword [ebp - 0x18], esi
mov dword [ebp - 4], ebx
jmp 0x1001ce0e
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x334], 0x16b471df
inc dword [ebp - 4]
cmp dword [ebp - 4], 2
jl 0x1001cdfd
dec dword [ebp - 0x24]
mov eax, dword [ebp - 0x1f8]
mov dword [ebp - 0x1f8], eax
mov dword [ebp - 0xc], ebx
jmp 0x1001d664
mov dword [ebp - 4], 0x76820624
mov dword [ebp - 0x24], 0x1860ec01
mov dword [ebp - 0x28], esi
mov dword [ebp - 4], 0xfffffff1
jmp 0x1001ce59
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x1001ce56
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_FileTimeToLocalFileTime]
inc dword [ebp - 4]
cmp dword [ebp - 4], 0x1b
jle 0x1001ce45
mov eax, dword [ebp - 0x24]
neg eax
neg eax
push 4
sbb eax, eax
neg eax
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
neg eax
pop ecx
sbb eax, eax
neg eax
add eax, 0xffff2d0d
mov dword [ebp - 0x28], eax
mov dword [ebp - 4], 0x1c7b
mov dword [ebp - 0x20], 0x51dba339
mov dword [ebp - 0x24], 6
mov dword [ebp - 0x1c], 0xfffffffa
mov dword [ebp - 0x28], 7
mov dword [ebp - 0x2c], 0xffffffff
mov dword [ebp - 0x18], 0x950c
mov dword [ebp - 0x10], ebx
jmp 0x1001cece
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x3cc], 0xffffffff
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ecx
jl 0x1001cebd
mov dword [ebp - 0x10], ebx
jmp 0x1001cee5
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x158], esi
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], esi
jl 0x1001ced8
inc dword [ebp - 0x2c]
je 0x1001cef2
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 0x1c]
cmp dword [ebp - 0x158], ebx
je 0x1001cf0b
cmp dword [ebp - 0x20], ebx
jne 0x1001cf12
mov eax, ebx
cmp dword [ebp - 0x18], ebx
je 0x1001cf14
mov eax, esi
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x10], ebx
jmp 0x1001cf2a
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x54], 0x6e838462
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jl 0x1001cf1c
mov dword [ebp - 0x24], 0x8c6a53d0
mov dword [ebp - 0x24], 0xfffffffe
cmp dword [ebp - 0x24], ebx
je 0x1001d04d
mov dword [ebp - 4], 0x1836ccb0
mov dword [ebp - 4], ebx
jmp 0x1001cf64
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x140], 0x88a137b1
inc dword [ebp - 4]
cmp dword [ebp - 4], 2
jl 0x1001cf53
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x1001cf7f
push 0x2555
push ebx
call dword [sym.imp.KERNEL32.dll_TerminateProcess]
mov dword [ebp - 4], esi
cmp dword [ebp - 4], ebx
jl 0x1001d044
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x28], 0xfffffff9
mov ecx, dword [ebp - 0x140]
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x140], ecx
mov dword [ebp - 0x20], 0xffffffed
jmp 0x1001d031
mov dword [ebp - 0x1c], 0x3717be9f
mov dword [ebp - 0x1c], 0xffffffe3
jmp 0x1001d028
mov dword [ebp - 0x2c], 0xcd9d75
mov dword [ebp - 0x2c], esi
cmp dword [ebp - 0x2c], ebx
jl 0x1001d01e
mov dword [ebp - 0x10], 0xc1da7bc9
mov dword [ebp - 0x10], ebx
jmp 0x1001cffe
mov eax, dword [ebp - 4]
cmp dword [ebp + eax*4 - 0x140], ebx
jne 0x1001cff6
mov eax, dword [ebp - 4]
cmp dword [ebp + eax*4 - 0x140], ebx
mov eax, ebx
je 0x1001cff8
mov eax, esi
mov dword [ebp - 0x28], eax
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], esi
jle 0x1001cfdc
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x1001d019
push 0x10d3
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_ExpandEnvironmentStringsW]
dec dword [ebp - 0x2c]
jns 0x1001cfd0
mov dword [ebp - 0x28], 0xa2d34caa
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0xa
jg 0x1001cfc1
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 0x12
jge 0x1001cfb1
dec dword [ebp - 4]
jns 0x1001cf8b
inc dword [ebp - 0x24]
jne 0x1001cf47
mov dword [ebp - 0x10], ebx
jmp 0x1001d063
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x2d8], 0xfffffffb
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edi
jl 0x1001d052
mov dword [ebp - 0x50], edi
cmp dword [ebp - 0x50], ebx
jl 0x1001d408
mov eax, 0x4d39d982
mov dword [ebp - 0x21c], eax
mov dword [ebp - 0x218], eax
mov dword [ebp - 0x214], eax
mov dword [ebp - 0x210], eax
mov dword [ebp - 8], 6
mov dword [ebp - 8], 2
jmp 0x1001d0f9
mov dword [ebp - 0x24], ebx
mov dword [ebp - 4], ebx
jmp 0x1001d0ba
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x324], 7
inc dword [ebp - 4]
cmp dword [ebp - 4], 2
jl 0x1001d0a9
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x1001d0da
push 0xafb
push 0x189e
push ebx
call dword [sym.imp.KERNEL32.dll_SetHandleInformation]
mov dword [ebp - 0x24], esi
cmp dword [ebp - 0x24], ebx
jl 0x1001d0f6
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x1001d0f1
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
dec dword [ebp - 0x24]
jns 0x1001d0e2
inc dword [ebp - 8]
cmp dword [ebp - 8], 0xe
jl 0x1001d0a1
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x1001d11a
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
call dword [sym.imp.ADVAPI32.dll_RegQueryInfoKeyW]
mov dword [ebp - 8], 0xfffffff7
push 4
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 4], ebx
pop ecx
jmp 0x1001d13d
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x138], 0xffffffff
inc dword [ebp - 4]
cmp dword [ebp - 4], ecx
jl 0x1001d12c
mov eax, dword [ebp - 0x138]
cmp eax, dword [ebp - 0x12c]
jg 0x1001d1a4
mov dword [ebp - 0x28], 0xaeb9ae77
xor edx, edx
mov dword [ebp - 0x18], 0xfffffff8
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x138]
cmp ecx, eax
mov eax, dword [ebp - 0x138]
setne dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x12c]
setg cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x138]
setle dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x28]
setge cl
sub eax, ecx
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x18], eax
jmp 0x1001d1d7
mov dword [ebp - 4], 9
mov dword [ebp - 0x18], ebx
dec dword [ebp - 4]
je 0x1001d1c5
mov eax, dword [ebp - 4]
cmp eax, dword [ebp - 4]
jne 0x1001d1be
mov eax, dword [ebp - 4]
mov edx, esi
cmp dword [ebp - 4], esi
jle 0x1001d1c7
mov edx, ebx
mov eax, dword [ebp - 0x138]
xor ecx, ecx
cmp edx, eax
sete cl
mov dword [ebp - 0x18], ecx
mov dword [ebp - 8], ebx
jmp 0x1001d23e
mov dword [ebp - 0x24], 0x627e80a
mov dword [ebp - 4], ebx
jmp 0x1001d1f9
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x274], 0xfffffff7
inc dword [ebp - 4]
cmp dword [ebp - 4], 2
jl 0x1001d1e8
cmp dword [ebp - 0x24], ebx
jne 0x1001d225
cmp dword [ebp - 0x2c], ebx
jne 0x1001d21f
cmp dword [ebp - 0x130], esi
jne 0x1001d218
mov eax, esi
cmp dword [ebp - 0x24], ebx
jne 0x1001d21a
mov eax, ebx
cmp eax, dword [ebp - 0x24]
je 0x1001d225
mov eax, dword [ebp - 0x138]
mov dword [ebp - 0x270], esi
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x1001d23b
push ebx
call dword [sym.imp.USER32.dll_DestroyMenu]
dec dword [ebp - 8]
cmp dword [ebp - 8], 0xffffffe6
jge 0x1001d1dc
mov dword [ebp - 4], ebx
jmp 0x1001d257
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x38], 0xb61bab59
inc dword [ebp - 4]
cmp dword [ebp - 4], esi
jl 0x1001d249
mov dword [ebp - 0x38], ebx
jmp 0x1001d38b
mov dword [ebp - 0x1c], 0x78dc2a82
mov dword [ebp - 0x10], 0xffffffff
mov dword [ebp - 0x24], 0x6e90
mov dword [ebp - 0x1c], ebx
jmp 0x1001d37a
mov dword [ebp - 4], 0x1b552bf3
mov dword [ebp - 0x28], 0x30fc3532
mov dword [ebp - 4], ebx
jmp 0x1001d32d
mov dword [ebp - 0x18], 0xd021
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp + eax*4 - 0xfc]
mov eax, dword [ebp - 4]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x1c]
cmp dword [ebp - 0x10], ebx
jne 0x1001d2ca
mov eax, dword [ebp - 0x38]
cmp dword [ebp + eax*4 - 0xfc], ebx
je 0x1001d2ce
cmp dword [ebp - 0x10], ebx
je 0x1001d2ce
mov eax, esi
jmp 0x1001d2d0
mov eax, ebx
xor ecx, ecx
mov edx, 0xa93826a0
cmp eax, edx
mov dword [ebp - 0x210], edx
mov eax, dword [ebp - 4]
setne cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x18]
setl dl
xor ebx, ebx
cmp edx, eax
mov eax, dword [ebp - 0x38]
setl bl
xor ecx, ecx
mov eax, dword [ebp + eax*4 - 0xfc]
cmp ebx, eax
setge cl
xor ebx, ebx
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x10], ebx
jmp 0x1001d325
mov dword [ebp - 0x28], 0x2a2c7a2e
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp + eax*4 - 0xfc]
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edi
jle 0x1001d311
inc dword [ebp - 4]
cmp dword [ebp - 4], edi
jle 0x1001d297
cmp dword [ebp - 0xc], ebx
jne 0x1001d36d
mov eax, dword [ebp - 0x10]
xor edx, edx
mov ecx, dword [ebp - 0x54]
sub ecx, eax
mov eax, dword [ebp - 0x50]
cmp ecx, eax
mov eax, dword [ebp - 4]
setle dl
add eax, 6
add eax, edx
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 0x50]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 0xfc]
mov dword [ebp - 0x21c], 0xffffffff
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edi
jle 0x1001d281
cmp dword [ebp - 0x24], ebx
jne 0x1001d394
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], edi
jle 0x1001d264
mov dword [ebp - 8], ebx
jmp 0x1001d3fa
mov dword [ebp - 0x18], 0xffffffff
cmp dword [ebp - 0x50], ebx
je 0x1001d3c4
mov eax, dword [ebp - 0xc]
mov edx, esi
mov ecx, dword [ebp - 0xf8]
mov eax, dword [ebp - 0xf8]
sub ecx, eax
mov eax, dword [ebp - 8]
cmp dword [ebp + eax*4 - 0xfc], ecx
jne 0x1001d3c6
mov edx, ebx
mov eax, dword [ebp - 0x54]
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 8]
sete cl
xor edx, edx
cmp ecx, 0xffffffff
mov eax, dword [ebp + eax*4 - 0xfc]
setge dl
xor ecx, ecx
cmp eax, edx
setne cl
mov dword [ebp - 0x2d8], ecx
mov dword [ebp - 0x18], ecx
cmp dword [ebp - 0xc], ebx
jne 0x1001d3ff
inc dword [ebp - 8]
cmp dword [ebp - 8], edi
jle 0x1001d399
dec dword [ebp - 0x50]
jns 0x1001d074
mov dword [ebp - 0x20], 0x469ad59e
mov dword [ebp - 0x2c], 0x9a46bb21
mov dword [ebp - 0x28], 0xc59458d8
mov dword [ebp - 0x28], esi
mov dword [ebp - 0x20], ebx
jmp 0x1001d42f
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x30], esi
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], esi
jl 0x1001d425
mov dword [ebp - 0x20], ebx
jmp 0x1001d44a
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x20c], 0xafd208dd
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 2
jl 0x1001d439
mov dword [ebp - 0x20], ebx
jmp 0x1001d466
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x398], 0x5bcd
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], edi
jl 0x1001d455
mov dword [ebp - 0x20], ebx
jmp 0x1001d588
mov dword [ebp - 0x24], 0xffffffff
mov dword [ebp - 0x10], ebx
jmp 0x1001d490
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x2b4], 0x59653e3f
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edi
jl 0x1001d47f
mov dword [ebp - 0x10], ebx
jmp 0x1001d4ab
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x25c], 0xb5a26cde
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jl 0x1001d49a
mov eax, dword [ebp - 0x20]
cmp dword [ebp + eax*4 - 0x30], ebx
je 0x1001d500
mov eax, dword [ebp - 0x20]
cmp dword [ebp + eax*4 - 0x30], ebx
jne 0x1001d4f7
mov eax, dword [ebp - 0x20]
cmp dword [ebp + eax*4 - 0x30], 0xffffffff
jb 0x1001d4d4
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp + eax*4 - 0x30]
mov eax, dword [ebp - 0x20]
xor ecx, ecx
mov eax, dword [ebp + eax*4 - 0x30]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp + eax*4 - 0x30]
cmp eax, esi
mov eax, dword [ebp - 0x20]
setg cl
imul ecx, dword [ebp + eax*4 - 0x30]
mov eax, ebx
test ecx, ecx
je 0x1001d4f9
mov eax, esi
mov ecx, esi
cmp eax, dword [ebp - 0x30]
jne 0x1001d502
mov ecx, ebx
mov eax, dword [ebp - 0x20]
cmp ecx, 0xcadfb1af
mov edx, dword [ebp + eax*4 - 0x30]
sbb eax, eax
add eax, 0xffff0002
xor ecx, ecx
add edx, eax
mov eax, dword [ebp - 0x30]
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 - 0x20]
setne cl
add eax, ecx
mov dword [ebp - 0x2ac], eax
mov dword [ebp - 0x24], ebx
cmp dword [ebp - 0x24], ebx
jl 0x1001d585
mov dword [ebp - 4], 0xfb389fa1
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x25c], eax
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 0x2ac]
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov dword [ebp - 4], 0x6042c8cd
cmp dword [ebp - 0x2c], ebx
jne 0x1001d585
dec dword [ebp - 0x24]
jns 0x1001d546
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], ebx
jle 0x1001d473
mov eax, dword [ebp - 0x2c]
cmp dword [ebp - 0x20], eax
jne 0x1001d5de
mov dword [ebp - 0x18], 0x5c00d4b
mov dword [ebp - 0x10], ebx
jmp 0x1001d5b6
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x3b0], 0xfa755584
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edi
jl 0x1001d5a5
mov dword [ebp - 0x10], ebx
jmp 0x1001d5d1
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x26c], 0x3fa8726a
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edi
jl 0x1001d5c0
inc dword [ebp - 0x264]
jmp 0x1001d65b
mov dword [ebp - 4], 0x1e1d
mov dword [ebp - 0x18], 7
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x1001d60c
push 0x1abe
push 0x1e4c
push ebx
push 0x264b
push ebx
call dword [sym.imp.SHELL32.dll_SHGetFileInfoW]
mov eax, dword [ebp - 4]
add eax, dword [ebp - 4]
cmp eax, dword [ebp - 0x208]
jg 0x1001d61d
mov eax, dword [ebp - 0x2c]
cmp dword [ebp - 4], 0xfffffffc
je 0x1001d62a
mov eax, esi
cmp dword [ebp - 4], ebx
jne 0x1001d62c
mov eax, ebx
add eax, 0xaa7a
cmp eax, dword [ebp - 0x20]
je 0x1001d63d
mov edx, esi
cmp dword [ebp - 4], ebx
jne 0x1001d63f
mov edx, ebx
mov eax, dword [ebp - 0x208]
xor ecx, ecx
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x28]
cmp eax, edx
setg cl
mov dword [ebp - 0x28], ecx
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x18], ebx
mov eax, dword [ebp - 8]
mov dword [ebp - 8], eax
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], edi
jle 0x1001ce2b
mov edi, dword [sym.imp.KERNEL32.dll_GlobalUnlock]
mov dword [ebp - 0x10], 0x477862f
mov dword [ebp - 8], esi
mov dword [ebp - 0x1c], 0xa1e2510a
mov dword [ebp - 0x18], 0xfffc
mov dword [ebp - 0x10], 6
jmp 0x1001d8a2
mov dword [ebp - 0x2c], 0xeb1ec6c0
push 4
mov dword [ebp - 0x18], 7
mov dword [ebp - 4], ebx
pop ecx
jmp 0x1001d6be
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0xa0], 6
inc dword [ebp - 4]
cmp dword [ebp - 4], ecx
jl 0x1001d6ad
mov dword [ebp - 0x9c], 0x18
jmp 0x1001d78e
mov dword [ebp - 0x28], 0x9f3b06d9
mov dword [ebp - 0x28], ebx
mov dword [ebp - 4], ebx
jmp 0x1001d6f2
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x90], 0xffffffff
inc dword [ebp - 4]
cmp dword [ebp - 4], esi
jl 0x1001d6e1
cmp dword [ebp - 0x10], ebx
jne 0x1001d76a
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x94]
sub ecx, eax
cmp ecx, dword [ebp - 0x98]
jg 0x1001d715
mov eax, dword [ebp - 0x90]
mov eax, dword [ebp - 0x90]
imul eax, dword [ebp - 0x10]
test eax, eax
je 0x1001d726
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0xa0]
xor edx, edx
mov eax, dword [ebp - 0x9c]
mov eax, dword [ebp - 0x90]
imul ecx, dword [ebp - 0x10], 0xda6c
mov eax, dword [ebp - 0x10]
cmp ecx, eax
mov eax, 0xf7203fa0
setg dl
sub eax, edx
cmp eax, 0xffffffff
sbb eax, eax
neg eax
add eax, dword [ebp - 0x9c]
imul eax, eax, 0xfffffff9
mov dword [ebp - 0x28], eax
mov eax, ebx
cmp dword [ebp - 0x28], ebx
je 0x1001d76c
mov eax, esi
mov dword [ebp - 0x28], eax
xor ecx, ecx
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x9c]
mov eax, dword [ebp - 0x10]
cmp eax, 0x5f40
setg cl
mov dword [ebp - 8], ecx
dec dword [ebp - 0x9c]
cmp dword [ebp - 0x9c], 0x13
jg 0x1001d6d2
mov dword [ebp - 8], 0x13
jmp 0x1001d895
mov dword [ebp - 0xc], ebx
mov dword [ebp - 0x28], 0xffffffff
mov dword [ebp - 0xc], ebx
cmp dword [ebp - 0xc], 3
jg 0x1001d892
mov dword [ebp - 0x24], 0xfb49a5c1
mov dword [ebp - 0x24], 3
cmp dword [ebp - 0x24], ebx
jl 0x1001d840
mov dword [ebp - 4], 0xfffffffd
mov dword [ebp - 4], ebx
jmp 0x1001d7ea
mov dword [ebp - 0x1c], 0xb1d4416d
dec dword [ebp - 0x2c]
inc dword [ebp - 4]
cmp dword [ebp - 4], 3
jle 0x1001d7dd
mov dword [ebp - 4], 3
cmp dword [ebp - 4], ebx
jl 0x1001d83b
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x1001d808
push ebx
call edi
mov dword [ebp - 0x1c], ebx
jmp 0x1001d830
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x1001d82d
push 0x1c58
push 0x14fd
push ebx
push 0x366
push ebx
call dword [sym.imp.USER32.dll_GetMenuStringW]
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jle 0x1001d80d
dec dword [ebp - 4]
jns 0x1001d7fc
dec dword [ebp - 0x24]
jns 0x1001d7d1
cmp dword [ebp - 0x18], ebx
je 0x1001d84e
mov eax, dword [ebp - 0xa0]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0xc]
xor edx, edx
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x10]
cmp ecx, eax
mov eax, dword [ebp - 0x98]
setle dl
xor ebx, ebx
cmp eax, edx
mov eax, dword [ebp - 0xc]
push 0
setne bl
mov ecx, dword [ebp + eax*4 - 0xa0]
mov eax, dword [ebp - 0xc]
imul ecx, ebx
pop ebx
mov dword [ebp + eax*4 - 0xa0], ecx
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 3
jle 0x1001d7be
dec dword [ebp - 8]
cmp dword [ebp - 8], 9
jge 0x1001d7a7
dec dword [ebp - 0x10]
cmp dword [ebp - 0x10], 0xfffffff3
jl 0x1001d697
mov dword [ebp - 0x20], 0x15de
mov dword [ebp - 0x1c], 0x9b55bb2c
mov dword [ebp - 0xc], esi
mov dword [ebp - 4], 0x3fa9a180
mov dword [ebp - 0x2c], ebx
push 2
mov dword [ebp - 0x18], 0xf484
mov dword [ebp - 8], ebx
pop ecx
jmp 0x1001d8e7
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x11c], 0xb7f609b2
inc dword [ebp - 8]
cmp dword [ebp - 8], ecx
jl 0x1001d8d6
mov dword [ebp - 0x1c], ebx
jmp 0x1001d913
mov dword [ebp - 0x28], 0xbdf7cd95
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x118], eax
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0xc], esi
dec dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0xffffffef
jge 0x1001d8f1
cmp dword [ebp - 0xc], ebx
je 0x1001da38
mov dword [ebp - 0x10], 0xb94b
push 4
mov dword [ebp - 0x18], esi
mov dword [ebp - 8], ebx
pop ecx
jmp 0x1001d941
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x244], esi
inc dword [ebp - 8]
cmp dword [ebp - 8], ecx
jl 0x1001d934
mov dword [ebp - 8], ebx
jmp 0x1001d95c
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x2fc], 8
inc dword [ebp - 8]
cmp dword [ebp - 8], 3
jl 0x1001d94b
mov dword [ebp - 0x1c], 7
jmp 0x1001d9cb
push 4
pop ecx
mov dword [ebp - 4], esi
mov dword [ebp - 0x10], 0x477862f
mov dword [ebp - 8], esi
mov dword [ebp - 0x1c], 0xa1e2510a
mov dword [ebp - 0x18], 0xfffc
mov dword [ebp - 0x10], 6
jmp 0x1001dcbd
mov dword [ebp - 4], ebx
jmp 0x1001da4e
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x1c4], 0x58c9e433
inc dword [ebp - 4]
cmp dword [ebp - 4], ecx
jl 0x1001da3d
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x1001da62
call dword [sym.imp.KERNEL32.dll_IsDebuggerPresent]
mov dword [ebp - 4], ebx
cmp dword [ebp - 4], esi
jg 0x1001da0e
push 4
pop ecx
mov dword [ebp - 0xc], ebx
jmp 0x1001da83