Function at 0x401595
Capabilities:
Accept command line arguments

Disassembly:
lea ecx, [esp + 4]
and esp, 0xfffffff0
push dword [ecx - 4]
push ebp
mov ebp, esp
push ebx
push ecx
lea eax, [ebp - 0x12c]
sub esp, 0x170
mov dword [ebp - 0x10c], ebp
mov dword [ebp - 0x104], esp
mov dword [ebp - 0x114], 0x454964
mov dword [ebp - 0x110], 0x4559d8
mov dword [ebp - 0x108], 0x401e23
mov dword [esp], eax
call fcn.00442d0b
and dword [esp], 0
or dword [ebp - 0x128], 0xffffffff
call dword [sym.imp.ole32.dll_OleInitialize]
push ebx
mov dword [esp], str.comctl32.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
push edx
mov dword [ebp - 0x134], eax
and dword [ebp - 0x13c], 0
test eax, eax
je 0x40166e
mov dword [esp + 4], str.DllGetVersion
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push ecx
push ecx
test eax, eax
je 0x401657
xorps xmm0, xmm0
lea ebx, [ebp - 0x48]
mov dword [ebp - 0x48], 0x14
movups xmmword [ebp - 0x44], xmm0
mov dword [esp], ebx
call eax
push edx
test eax, eax
js 0x401657
mov eax, dword [ebp - 0x44]
movzx edx, word [ebp - 0x40]
shl eax, 0x10
or edx, eax
mov dword [ebp - 0x13c], edx
mov eax, dword [ebp - 0x134]
mov dword [esp], eax
or dword [ebp - 0x128], 0xffffffff
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
push ebx
cmp dword [ebp - 0x13c], 0x40046
lea ecx, [ebp - 0xf4]
seta byte [section..data]
or dword [ebp - 0x128], 0xffffffff
call fcn.00404ec0
lea ecx, [ebp - 0xe8]
mov dword [ebp - 0x128], 1
call fcn.00404ec0
mov dword [ebp - 0x128], 3
and dword [ebp - 0xdc], 0
and dword [ebp - 0xd8], 0
and dword [ebp - 0xd4], 0
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
mov dword [esp], eax
lea ecx, [ebp - 0x48]
call fcn.00404f50
push ecx
lea eax, [ebp - 0xdc]
mov dword [esp + 4], eax
lea eax, [ebp - 0x48]
mov dword [esp], eax
mov dword [ebp - 0x128], 2
call fcn.00403280
mov eax, dword [ebp - 0x48]
call fcn.004014b4
cmp dword [ebp - 0xd8], 0
je 0x40186e
mov eax, dword [ebp - 0xdc]
mov eax, dword [eax]
mov dword [ebp - 0x134], eax
test eax, eax
je 0x40173a
mov eax, dword [eax]
call fcn.004014b4
mov dword [esp + 4], 0xc
mov eax, dword [ebp - 0x134]
mov dword [esp], eax
call fcn.0045465c
mov edx, dword [ebp - 0xd8]
mov eax, dword [ebp - 0xdc]
lea edx, [edx*4 - 4]
mov dword [esp], eax
mov dword [esp + 8], edx
lea edx, [eax + 4]
mov dword [esp + 4], edx
call sub.msvcrt.dll_memmove
dec dword [ebp - 0xd8]
mov byte [ebp - 0x13c], 0
mov byte [ebp - 0x134], 0
and dword [ebp - 0x140], 0
mov eax, dword [ebp - 0x140]
cmp eax, dword [ebp - 0xd8]
jae 0x40187c
mov eax, dword [ebp - 0xdc]
mov ebx, dword [ebp - 0x140]
mov eax, dword [eax + ebx*4]
mov ecx, dword [eax + 4]
cmp ecx, 1
jbe 0x401863
mov eax, dword [eax]
cmp word [eax], 0x2d
jne 0x401863
mov dx, word [eax + 2]
lea ebx, [edx - 0x41]
cmp bx, 0x19
ja 0x4017c4
add edx, 0x20
cmp dx, 0x79
jne 0x4017f8
cmp ecx, 2
je 0x40185c
mov dword [esp], str.Bad_command
mov dword [ebp - 0x128], 3
call fcn.0044d8d4
mov dword [ebp - 0x134], 1
jmp 0x401ff6
cmp dx, 0x6f
jne 0x401838
add eax, 4
lea ecx, [ebp - 0xe8]
mov dword [esp], eax
mov dword [ebp - 0x128], 3
call fcn.00405154
push edx
lea eax, [ebp - 0xe8]
mov dword [esp], eax
call fcn.0040ca38
cmp dword [ebp - 0xe4], 0
setne byte [ebp - 0x13c]
jmp 0x401863
cmp dx, 0x70
jne 0x401863
add eax, 4
lea ecx, [ebp - 0xf4]
mov dword [esp], eax
mov dword [ebp - 0x128], 3
call fcn.00405154
push eax
jmp 0x401863
mov byte [ebp - 0x134], 1
inc dword [ebp - 0x140]
jmp 0x40177b
mov byte [ebp - 0x13c], 0
mov byte [ebp - 0x134], 0
mov dword [ebp - 0x128], 3
lea ecx, [ebp - 0xd0]
call fcn.00404ec0
lea eax, [ebp - 0xd0]
mov dword [esp], eax
mov dword [ebp - 0x128], 4
call fcn.00408880
lea ecx, [ebp - 0xc4]
call fcn.00404ec0
lea eax, [ebp - 0xc4]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0xd0]
mov dword [esp], eax
mov dword [ebp - 0x128], 5
call fcn.00409ab6
test al, al
jne 0x4018f5
mov dword [esp], str.Error_1329484
call fcn.0044d8d4
mov dword [ebp - 0x134], 1
jmp 0x401e08
mov dword [esp], 0x18
mov dword [ebp - 0x128], 5
call fcn.0045466c
mov dword [eax], 0x45d96c
mov dword [eax + 4], 1
and dword [eax + 8], 0
and dword [eax + 0xc], 0
and dword [eax + 0x10], 0
and word [eax + 0x14], 0
mov dword [ebp - 0x138], eax
xchg ecx, eax
mov dword [ebp - 0x128], 6
call fcn.0041c0b0
test eax, eax
je 0x401957
call fcn.004014c9
mov dword [ebp - 0x134], 1
jmp 0x401dea
mov dword [esp], 0x90
mov dword [ebp - 0x128], 6
call fcn.0045466c
mov dword [eax], 0x45d794
lea ecx, [eax + 0x14]
mov dword [eax + 4], 0x45d7e4
mov dword [eax + 8], 0x45d7fc
mov dword [eax + 0xc], 0x45d814
and dword [eax + 0x10], 0
mov dword [ebp - 0x130], eax
mov dword [ebp - 0x128], 7
call fcn.00404ec0
mov dword [ebp - 0x128], 0xe
mov eax, dword [ebp - 0x130]
lea ecx, [eax + 0x24]
call fcn.00404ec0
mov dword [ebp - 0x128], 0xf
mov eax, dword [ebp - 0x130]
lea ecx, [eax + 0x30]
call fcn.00404ec0
mov eax, dword [ebp - 0x130]
mov word [eax + 0x3c], 1
lea ecx, [eax + 0x50]
and dword [eax + 0x4c], 0
mov dword [ebp - 0x128], 0x10
call fcn.00404ec0
mov dword [ebp - 0x128], 0x11
mov eax, dword [ebp - 0x130]
lea ecx, [eax + 0x5c]
call fcn.00404ec0
mov dword [ebp - 0x128], 0x12
mov eax, dword [ebp - 0x130]
lea ecx, [eax + 0x68]
call fcn.00404ec0
mov dword [ebp - 0x128], 0x13
mov eax, dword [ebp - 0x130]
lea ecx, [eax + 0x74]
call fcn.00404ec0
mov dword [ebp - 0x128], 0x14
mov eax, dword [ebp - 0x130]
lea ecx, [eax + 0x80]
call fcn.00404ec0
mov eax, dword [ebp - 0x130]
mov ebx, dword [ebp - 0x130]
mov byte [eax + 0x8e], 0
and word [eax + 0x8c], 0
mov dword [ebp - 0x144], eax
mov eax, dword [eax]
mov dword [esp], ebx
mov eax, dword [eax + 4]
and dword [ebp - 0x128], 0
call eax
push eax
mov ecx, dword [ebp - 0x130]
mov dword [ebp - 0x128], 8
call fcn.004236b8
lea ecx, [ebp - 0x34]
and dword [ebp - 0x48], 0
mov dword [ebp - 0x128], 8
and dword [ebp - 0x44], 0
and dword [ebp - 0x40], 0
and dword [ebp - 0x3c], 0
and dword [ebp - 0x38], 0
call fcn.00404ec0
lea ecx, [ebp - 0x18]
mov dword [ebp - 0x28], 0x10000
mov dword [ebp - 0x24], 0x10000
mov dword [ebp - 0x20], 1
mov dword [ebp - 0x1c], 0x100
mov dword [ebp - 0x128], 0x15
call fcn.00404ec0
lea ecx, [ebp - 0xb8]
and dword [ebp - 0xc], 0
mov dword [ebp - 0x128], 9
call fcn.00404ec0
lea eax, [ebp - 0xb8]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0xd0]
mov dword [esp], eax
mov dword [ebp - 0x128], 0xa
call fcn.00409e51
test al, al
jne 0x401b4f
mov dword [esp], str.Error_1329485
call fcn.0044d8d4
mov dword [ebp - 0x134], 1
jmp 0x401db1
cmp byte [ebp - 0x13c], 0
lea eax, [ebp - 0xb8]
je 0x401b64
lea eax, [ebp - 0xe8]
mov dword [esp], eax
lea ecx, [ebp - 0x34]
mov dword [ebp - 0x128], 0xa
call fcn.004051ca
push eax
movzx eax, byte [ebp - 0x134]
lea ecx, [ebp - 0xac]
mov byte [ebp - 9], 0
mov byte [ebp - 0xa], al
mov dword [ebp - 0x3c], eax
lea eax, [ebp - 0xc4]
and dword [ebp - 0x40], 0
and dword [ebp - 0xac], 0
and dword [ebp - 0xa8], 0
and dword [ebp - 0xa4], 0
and dword [ebp - 0xa0], 0
and dword [ebp - 0x9c], 0
and dword [ebp - 0x98], 0
mov dword [esp], eax
mov dword [ebp - 0x128], 0xb
call fcn.0040135a
push eax
lea eax, [ebp - 0xc4]
lea ecx, [ebp - 0xa0]
mov dword [esp], eax
call fcn.0040135a
push eax
lea ecx, [ebp - 0x78]
and dword [ebp - 0x7c], 0
call fcn.00404ec0
lea ecx, [ebp - 0x7c]
and dword [ebp - 0x6c], 0
mov dword [ebp - 0x128], 0xc
and dword [ebp - 0x68], 0
and dword [ebp - 0x64], 0
and dword [ebp - 0x60], 0
and dword [ebp - 0x5c], 0
and dword [ebp - 0x58], 0
and dword [ebp - 0x54], 0
and dword [ebp - 0x50], 0
and dword [ebp - 0x4c], 0
call fcn.004527a8
mov byte [ebp - 0xf5], 0
and dword [ebp - 0x88], 0
and dword [ebp - 0x84], 0
and dword [ebp - 0x80], 0
and dword [ebp - 0x94], 0
and dword [ebp - 0x90], 0
and dword [ebp - 0x8c], 0
and dword [esp + 0x28], 0
mov eax, dword [ebp - 0x130]
mov dword [esp + 0x24], eax
lea eax, [ebp - 0xf5]
mov dword [esp + 0x20], eax
mov al, byte [ebp - 0x134]
xor eax, 1
movzx eax, al
mov dword [esp + 0x1c], eax
lea eax, [ebp - 0x48]
mov dword [esp + 0x18], eax
lea eax, [ebp - 0x7c]
mov dword [esp + 0x14], eax
lea eax, [ebp - 0xa0]
mov dword [esp + 0x10], eax
lea eax, [ebp - 0xac]
mov dword [esp + 0xc], eax
lea eax, [ebp - 0x88]
mov dword [esp + 8], eax
lea eax, [ebp - 0x94]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x138]
mov dword [esp], eax
mov dword [ebp - 0x128], 0xd
call fcn.00402737
lea ecx, [ebp - 0x94]
mov dword [ebp - 0x13c], eax
call fcn.0044f5b8
mov eax, dword [ebp - 0x88]
test eax, eax
je 0x401cf7
mov dword [esp], eax
call fcn.00454644
cmp dword [ebp - 0x13c], 0
jne 0x401d1a
mov eax, dword [ebp - 0x130]
cmp dword [eax + 0x44], 0
jne 0x401d45
movzx eax, byte [eax + 0x48]
add eax, eax
mov dword [ebp - 0x134], eax
jmp 0x401d93
cmp dword [ebp - 0x13c], 0x80004004
je 0x401d89
cmp byte [ebp - 0xf5], 0
je 0x401d51
cmp dword [ebp - 0x13c], 0x8007000e
mov dword [ebp - 0x134], 8
je 0x401d93
mov dword [ebp - 0x134], 2
jmp 0x401d93
cmp dword [ebp - 0x13c], 1
jne 0x401d72
mov dword [esp], str.Error_in_archive
mov dword [ebp - 0x128], 0xc
call fcn.0044d8d4
jmp 0x401d45
mov dword [ebp - 0x128], 0xc
mov eax, dword [ebp - 0x13c]
call fcn.004014c9
jmp 0x401d2f
mov dword [ebp - 0x134], 0xff
lea ecx, [ebp - 0x7c]
call fcn.004529a4
lea ecx, [ebp - 0xa0]
call fcn.0044f528
lea ecx, [ebp - 0xac]
call fcn.0044f528
mov eax, dword [ebp - 0xb8]
call fcn.004014b4
mov eax, dword [ebp - 0x18]
call fcn.004014b4
mov eax, dword [ebp - 0x34]
call fcn.004014b4
mov eax, dword [ebp - 0x130]
mov ebx, dword [ebp - 0x130]
mov eax, dword [eax]
mov dword [esp], ebx
mov eax, dword [eax + 8]
and dword [ebp - 0x128], 0
call eax
push ebx
mov eax, dword [ebp - 0x138]
mov ebx, dword [ebp - 0x138]
mov eax, dword [eax]
mov dword [esp], ebx
mov eax, dword [eax + 8]
and dword [ebp - 0x128], 0
call eax
push ecx
mov eax, dword [ebp - 0xc4]
call fcn.004014b4
mov eax, dword [ebp - 0xd0]
call fcn.004014b4
jmp 0x401ff6
lea ecx, [ebp - 0xdc]
call fcn.0044f528
mov eax, dword [ebp - 0xe8]
call fcn.004014b4
mov eax, dword [ebp - 0xf4]
call fcn.004014b4
lea eax, [ebp - 0x12c]
mov dword [esp], eax
call fcn.00442d61
mov eax, dword [ebp - 0x134]
lea esp, [ebp - 8]
pop ecx
pop ebx
pop ebp
lea esp, [ecx - 4]
ret