Function at 0x401039
Capabilities:
Accept command line arguments

Disassembly:
mov eax, 0x41d97d
call fcn.0041cfb0
sub esp, 0x130
push ebx
push esi
xor ebx, ebx
push edi
push ebx
call dword [sym.imp.ole32.dll_OleInitialize]
push 3
lea ecx, [ebp - 0x7c]
mov dword [ebp - 0x7c], ebx
mov dword [ebp - 0x78], ebx
mov dword [ebp - 0x74], ebx
call fcn.0040216b
push 3
lea ecx, [ebp - 0x64]
mov dword [ebp - 4], ebx
mov byte [ebp - 0xe], bl
mov byte [ebp - 0x16], bl
mov dword [ebp - 0x64], ebx
mov dword [ebp - 0x60], ebx
mov dword [ebp - 0x5c], ebx
call fcn.0040216b
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 1
call fcn.00402150
mov esi, 0x4203dc
mov dword [ebp - 0x34], esi
mov byte [ebp - 4], 2
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
push eax
lea ecx, [ebp - 0x70]
call fcn.00401c91
lea edx, [ebp - 0x34]
lea ecx, [ebp - 0x70]
mov byte [ebp - 4], 3
call fcn.00402ecf
push dword [ebp - 0x70]
mov byte [ebp - 4], 2
call fcn.00403149
cmp dword [ebp - 0x2c], ebx
pop ecx
jle 0x4010d7
push 1
push ebx
lea ecx, [ebp - 0x34]
call fcn.00401c2d
cmp dword [ebp - 0x2c], ebx
mov dword [ebp - 0x14], ebx
jle 0x4011ed
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x14]
mov edx, 0x4260f0
mov edi, dword [eax + ecx*4]
mov ecx, dword [edi]
call fcn.0040321f
cmp eax, ebx
jne 0x401105
mov byte [ebp - 0xe], 1
jmp 0x4011de
lea eax, [ebp - 0x70]
push 2
push eax
mov ecx, edi
call fcn.00401d8b
mov ecx, dword [eax]
mov edx, 0x4260e8
mov byte [ebp - 4], 4
call fcn.0040321f
push dword [ebp - 0x70]
cmp eax, ebx
sete byte [ebp - 0xd]
mov byte [ebp - 4], 2
call fcn.00403149
cmp byte [ebp - 0xd], bl
pop ecx
push 2
je 0x401178
lea eax, [ebp - 0xf0]
mov ecx, edi
push eax
call fcn.00401d6a
push eax
lea ecx, [ebp - 0x64]
mov byte [ebp - 4], 5
call fcn.00401d2c
push dword [ebp - 0xf0]
mov byte [ebp - 4], 2
call fcn.00403149
pop ecx
lea ecx, [ebp - 0x64]
call fcn.0040515b
cmp dword [ebp - 0x60], ebx
setne byte [ebp - 0x16]
jmp 0x4011de
lea eax, [ebp - 0xe4]
mov ecx, edi
push eax
call fcn.00401d8b
mov ecx, dword [eax]
mov edx, 0x4260e0
mov byte [ebp - 4], 6
call fcn.0040321f
push dword [ebp - 0xe4]
cmp eax, ebx
sete byte [ebp - 0xd]
mov byte [ebp - 4], 2
call fcn.00403149
cmp byte [ebp - 0xd], bl
pop ecx
je 0x4011de
lea eax, [ebp - 0xcc]
push 2
push eax
mov ecx, edi
call fcn.00401d6a
push eax
lea ecx, [ebp - 0x7c]
mov byte [ebp - 4], 7
call fcn.00401d2c
push dword [ebp - 0xcc]
mov byte [ebp - 4], 2
call fcn.00403149
pop ecx
inc dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
cmp eax, dword [ebp - 0x2c]
jl 0x4010e3
push 3
lea ecx, [ebp - 0x40]
mov dword [ebp - 0x40], ebx
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x38], ebx
call fcn.0040216b
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 8
call fcn.00404033
push 3
lea ecx, [ebp - 0x4c]
mov dword [ebp - 0x4c], ebx
mov dword [ebp - 0x48], ebx
mov dword [ebp - 0x44], ebx
call fcn.0040216b
mov ecx, dword [ebp - 0x40]
lea edx, [ebp - 0x4c]
mov byte [ebp - 4], 9
call fcn.004047a0
test al, al
jne 0x401273
mov edx, str.Error_1329484
xor ecx, ecx
call fcn.00418079
push dword [ebp - 0x4c]
call fcn.00403149
push dword [ebp - 0x40]
call fcn.00403149
pop ecx
mov dword [ebp - 0x34], esi
pop ecx
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x34]
call fcn.0040354b
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 1
call fcn.00403522
push 1
pop ebx
jmp 0x40175d
push 0x1c
call fcn.00403122
mov edi, eax
pop ecx
mov dword [ebp - 0x20], edi
cmp edi, ebx
mov byte [ebp - 4], 0xb
je 0x40129e
lea ecx, [edi + 8]
mov dword [edi + 4], ebx
call fcn.00401ed9
mov dword [edi], 0x4203d0
mov dword [ebp - 0x14], edi
jmp 0x4012a3
mov dword [ebp - 0x14], ebx
mov edi, ebx
cmp edi, ebx
mov byte [ebp - 4], 9
mov dword [ebp - 0xd8], edi
je 0x4012b7
mov eax, dword [edi]
push edi
call dword [eax + 4]
mov ecx, edi
mov byte [ebp - 4], 0xc
call fcn.0040ab6d
cmp eax, ebx
je 0x4012f9
mov ecx, eax
call fcn.00401000
cmp edi, ebx
mov byte [ebp - 4], 9
je 0x4012db
mov eax, dword [edi]
push edi
call dword [eax + 8]
push dword [ebp - 0x4c]
call fcn.00403149
push dword [ebp - 0x40]
call fcn.00403149
pop ecx
mov dword [ebp - 0x34], esi
pop ecx
mov byte [ebp - 4], 0xd
jmp 0x401257
push 0x54
call fcn.00403122
pop ecx
mov dword [ebp - 0x20], eax
cmp eax, ebx
mov byte [ebp - 4], 0xe
je 0x401317
mov ecx, eax
call fcn.004019ab
mov edi, eax
jmp 0x401319
xor edi, edi
cmp edi, ebx
mov byte [ebp - 4], 0xc
mov dword [ebp - 0x1c], edi
je 0x40132a
mov eax, dword [edi]
push edi
call dword [eax + 4]
mov ecx, edi
mov byte [ebp - 4], 0xf
call fcn.0040c03c
cmp dword [ebp - 0x78], ebx
lea ecx, [edi + 0x48]
setne al
mov byte [edi + 0x44], al
lea eax, [ebp - 0x7c]
push eax
call fcn.00401d2c
lea ecx, [ebp - 0xc0]
call fcn.0040197c
push 3
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 0x10
mov dword [ebp - 0x58], ebx
mov dword [ebp - 0x54], ebx
mov dword [ebp - 0x50], ebx
call fcn.0040216b
mov ecx, dword [ebp - 0x40]
lea edx, [ebp - 0x58]
mov byte [ebp - 4], 0x11
call fcn.00404a1c
test al, al
jne 0x4013e0
mov edx, 0x4260a8
xor ecx, ecx
call fcn.00418079
push dword [ebp - 0x58]
call fcn.00403149
push dword [ebp - 0xb0]
call fcn.00403149
mov eax, dword [ebp - 0x1c]
pop ecx
cmp eax, ebx
pop ecx
mov byte [ebp - 4], 0xc
je 0x4013b1
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x14]
mov byte [ebp - 4], 9
cmp eax, ebx
je 0x4013c2
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
push dword [ebp - 0x4c]
call fcn.00403149
push dword [ebp - 0x40]
call fcn.00403149
pop ecx
mov dword [ebp - 0x34], esi
pop ecx
mov byte [ebp - 4], 0x12
jmp 0x401257
cmp byte [ebp - 0x16], bl
lea eax, [ebp - 0x64]
jne 0x4013eb
lea eax, [ebp - 0x58]
push eax
lea ecx, [ebp - 0xb0]
call fcn.00401d2c
mov al, byte [ebp - 0xe]
xor ecx, ecx
cmp al, bl
mov byte [ebp - 0xbe], al
setne cl
mov dword [ebp - 0xb4], ecx
lea ecx, [ebp - 0x90]
mov dword [ebp - 0xb8], ebx
mov byte [ebp - 0xbd], bl
call fcn.00402150
mov dword [ebp - 0x90], esi
lea ecx, [ebp - 0xa4]
mov byte [ebp - 4], 0x13
call fcn.00402150
mov dword [ebp - 0xa4], esi
lea eax, [ebp - 0x4c]
lea ecx, [ebp - 0x90]
push eax
mov byte [ebp - 4], 0x14
call fcn.00401be6
lea eax, [ebp - 0x4c]
lea ecx, [ebp - 0xa4]
push eax
call fcn.00401be6
lea ecx, [ebp - 0x13c]
call fcn.00401831
push 0x4260a4
lea ecx, [ebp - 0x70]
mov byte [ebp - 4], 0x15
call fcn.00401c91
push 1
lea ecx, [ebp - 0x70]
pop eax
mov byte [ebp - 4], 0x16
push eax
push eax
push eax
push ecx
push eax
lea ecx, [ebp - 0x13c]
call fcn.00403adb
push dword [ebp - 0x70]
mov byte [ebp - 4], 0x15
call fcn.00403149
pop ecx
mov byte [ebp - 0x15], bl
push 4
lea ecx, [ebp - 0xd4]
call fcn.004017f8
mov dword [ebp - 0xd4], 0x4203c8
cmp byte [ebp - 0xe], bl
push ebx
lea eax, [ebp - 0x15]
push edi
push eax
mov ecx, dword [ebp - 0x14]
sete al
push eax
lea eax, [ebp - 0xc0]
push eax
lea eax, [ebp - 0x13c]
push eax
lea eax, [ebp - 0xa4]
push eax
lea eax, [ebp - 0x90]
push eax
lea edx, [ebp - 0xd4]
mov byte [ebp - 4], 0x17
call fcn.004027c7
lea ecx, [ebp - 0xd4]
mov dword [ebp - 0x20], eax
mov byte [ebp - 4], 0x15
call fcn.00403522
mov ecx, dword [ebp - 0x20]
cmp ecx, ebx
jne 0x40164e
cmp dword [edi + 0x38], ebx
jne 0x401524
cmp byte [edi + 0x3c], bl
je 0x4015e6
lea ecx, [ebp - 0x13c]
mov byte [ebp - 4], 0x14
call fcn.00401889
mov dword [ebp - 0xa4], esi
lea ecx, [ebp - 0xa4]
mov byte [ebp - 4], 0x18
call fcn.0040354b
lea ecx, [ebp - 0xa4]
mov byte [ebp - 4], 0x13
call fcn.00403522
mov dword [ebp - 0x90], esi
lea ecx, [ebp - 0x90]
mov byte [ebp - 4], 0x19
call fcn.0040354b
lea ecx, [ebp - 0x90]
mov byte [ebp - 4], 0x11
call fcn.00403522
push dword [ebp - 0x58]
call fcn.00403149
push dword [ebp - 0xb0]
call fcn.00403149
mov eax, dword [ebp - 0x1c]
pop ecx
cmp eax, ebx
pop ecx
mov byte [ebp - 4], 0xc
je 0x4015a1
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x14]
mov byte [ebp - 4], 9
cmp eax, ebx
je 0x4015b2
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
push dword [ebp - 0x4c]
call fcn.00403149
push dword [ebp - 0x40]
call fcn.00403149
pop ecx
mov dword [ebp - 0x34], esi
pop ecx
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 0x1a
call fcn.0040354b
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 1
call fcn.00403522
push 2
jmp 0x40126d
lea ecx, [ebp - 0x13c]
mov byte [ebp - 4], 0x14
call fcn.00401889
lea ecx, [ebp - 0xa4]
mov byte [ebp - 4], 0x13
call fcn.00401bae
lea ecx, [ebp - 0x90]
mov byte [ebp - 4], 0x11
call fcn.00401bae
push dword [ebp - 0x58]
call fcn.00403149
push dword [ebp - 0xb0]
call fcn.00403149
pop ecx
mov byte [ebp - 4], 0xc
pop ecx
lea ecx, [ebp - 0x1c]
call fcn.00407529
mov eax, dword [ebp - 0x14]
mov byte [ebp - 4], 9
cmp eax, ebx
je 0x40173f
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
jmp 0x40173f
cmp ecx, 0x80004004
jne 0x4016bf
lea ecx, [ebp - 0x13c]
mov byte [ebp - 4], 0x14
call fcn.00401889
lea ecx, [ebp - 0xa4]
mov byte [ebp - 4], 0x13
call fcn.00401bae
lea ecx, [ebp - 0x90]
mov byte [ebp - 4], 0x11
call fcn.00401bae
push dword [ebp - 0x58]
call fcn.00403149
push dword [ebp - 0xb0]
call fcn.00403149
pop ecx
mov byte [ebp - 4], 0xc
pop ecx
lea ecx, [ebp - 0x1c]
call fcn.00407529
mov eax, dword [ebp - 0x14]
mov byte [ebp - 4], 9
cmp eax, ebx
je 0x4016b5
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov ebx, 0xff
jmp 0x40173f
cmp byte [ebp - 0x15], bl
jne 0x401785
cmp ecx, 1
jne 0x401780
mov edx, str.Error_in_archive
xor ecx, ecx
call fcn.00418079
lea ecx, [ebp - 0x13c]
mov byte [ebp - 4], 0x14
call fcn.00401889
lea ecx, [ebp - 0xa4]
mov byte [ebp - 4], 0x13
call fcn.00401bae
lea ecx, [ebp - 0x90]
mov byte [ebp - 4], 0x11
call fcn.00401bae
push dword [ebp - 0x58]
call fcn.00403149
push dword [ebp - 0xb0]
call fcn.00403149
pop ecx
mov byte [ebp - 4], 0xc
pop ecx
lea ecx, [ebp - 0x1c]
call fcn.00407529
mov eax, dword [ebp - 0x14]
mov byte [ebp - 4], 9
cmp eax, ebx
je 0x40173c
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
push 2
pop ebx
push dword [ebp - 0x4c]
call fcn.00403149
push dword [ebp - 0x40]
call fcn.00403149
pop ecx
mov byte [ebp - 4], 1
pop ecx
lea ecx, [ebp - 0x34]
call fcn.00401bae
push dword [ebp - 0x64]
call fcn.00403149
push dword [ebp - 0x7c]
call fcn.00403149
pop ecx
mov eax, ebx
pop ecx
pop edi
mov ecx, dword [ebp - 0xc]
pop esi
pop ebx
mov dword fs:[0], ecx
leave
ret
call fcn.00401000
cmp dword [ebp - 0x20], 0x8007000e
jne 0x4016dd
lea ecx, [ebp - 0x13c]
mov byte [ebp - 4], 0x14
call fcn.00401889
lea ecx, [ebp - 0xa4]
mov byte [ebp - 4], 0x13
call fcn.00401bae
lea ecx, [ebp - 0x90]
mov byte [ebp - 4], 0x11
call fcn.00401bae
push dword [ebp - 0x58]
call fcn.00403149
push dword [ebp - 0xb0]
call fcn.00403149
pop ecx
mov byte [ebp - 4], 0xc
pop ecx
lea ecx, [ebp - 0x1c]
call fcn.00407529
mov eax, dword [ebp - 0x14]
mov byte [ebp - 4], 9
cmp eax, ebx
je 0x4017f1
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
push 8
jmp 0x40173e