Function at 0x401039
Capabilities:
Accept command line arguments

Disassembly:
mov eax, 0x41d6ed
call fcn.0041cd20
sub esp, 0x130
push ebx
push esi
push edi
xor ebx, ebx
push 3
lea ecx, [ebp - 0x7c]
mov dword [ebp - 0x7c], ebx
mov dword [ebp - 0x78], ebx
mov dword [ebp - 0x74], ebx
call fcn.00402164
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.00402164
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 1
call fcn.00402149
mov esi, 0x4203c4
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.00401c8a
lea edx, [ebp - 0x34]
lea ecx, [ebp - 0x70]
mov byte [ebp - 4], 3
call fcn.00402edf
push dword [ebp - 0x70]
mov byte [ebp - 4], 2
call fcn.00403159
cmp dword [ebp - 0x2c], ebx
pop ecx
jle 0x4010d0
push 1
push ebx
lea ecx, [ebp - 0x34]
call fcn.00401c26
cmp dword [ebp - 0x2c], ebx
mov dword [ebp - 0x14], ebx
jle 0x4011e6
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.0040322f
cmp eax, ebx
jne 0x4010fe
mov byte [ebp - 0xe], 1
jmp 0x4011d7
lea eax, [ebp - 0x70]
push 2
push eax
mov ecx, edi
call fcn.00401d84
mov ecx, dword [eax]
mov edx, 0x4260e8
mov byte [ebp - 4], 4
call fcn.0040322f
push dword [ebp - 0x70]
cmp eax, ebx
sete byte [ebp - 0xd]
mov byte [ebp - 4], 2
call fcn.00403159
cmp byte [ebp - 0xd], bl
pop ecx
push 2
je 0x401171
lea eax, [ebp - 0xf0]
mov ecx, edi
push eax
call fcn.00401d63
push eax
lea ecx, [ebp - 0x64]
mov byte [ebp - 4], 5
call fcn.00401d25
push dword [ebp - 0xf0]
mov byte [ebp - 4], 2
call fcn.00403159
pop ecx
lea ecx, [ebp - 0x64]
call fcn.0040516b
cmp dword [ebp - 0x60], ebx
setne byte [ebp - 0x16]
jmp 0x4011d7
lea eax, [ebp - 0xe4]
mov ecx, edi
push eax
call fcn.00401d84
mov ecx, dword [eax]
mov edx, 0x4260e0
mov byte [ebp - 4], 6
call fcn.0040322f
push dword [ebp - 0xe4]
cmp eax, ebx
sete byte [ebp - 0xd]
mov byte [ebp - 4], 2
call fcn.00403159
cmp byte [ebp - 0xd], bl
pop ecx
je 0x4011d7
lea eax, [ebp - 0xcc]
push 2
push eax
mov ecx, edi
call fcn.00401d63
push eax
lea ecx, [ebp - 0x7c]
mov byte [ebp - 4], 7
call fcn.00401d25
push dword [ebp - 0xcc]
mov byte [ebp - 4], 2
call fcn.00403159
pop ecx
inc dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
cmp eax, dword [ebp - 0x2c]
jl 0x4010dc
push 3
lea ecx, [ebp - 0x40]
mov dword [ebp - 0x40], ebx
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x38], ebx
call fcn.00402164
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 8
call fcn.00404043
push 3
lea ecx, [ebp - 0x4c]
mov dword [ebp - 0x4c], ebx
mov dword [ebp - 0x48], ebx
mov dword [ebp - 0x44], ebx
call fcn.00402164
mov ecx, dword [ebp - 0x40]
lea edx, [ebp - 0x4c]
mov byte [ebp - 4], 9
call fcn.004047b0
test al, al
jne 0x40126c
mov edx, str.Error_1329484
xor ecx, ecx
call fcn.00417dee
push dword [ebp - 0x4c]
call fcn.00403159
push dword [ebp - 0x40]
call fcn.00403159
pop ecx
mov dword [ebp - 0x34], esi
pop ecx
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x34]
call fcn.0040355b
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 1
call fcn.00403532
push 1
pop ebx
jmp 0x401756
push 0x1c
call fcn.00403132
mov edi, eax
pop ecx
mov dword [ebp - 0x20], edi
cmp edi, ebx
mov byte [ebp - 4], 0xb
je 0x401297
lea ecx, [edi + 8]
mov dword [edi + 4], ebx
call fcn.00401ed2
mov dword [edi], 0x4203b8
mov dword [ebp - 0x14], edi
jmp 0x40129c
mov dword [ebp - 0x14], ebx
mov edi, ebx
cmp edi, ebx
mov byte [ebp - 4], 9
mov dword [ebp - 0xd8], edi
je 0x4012b0
mov eax, dword [edi]
push edi
call dword [eax + 4]
mov ecx, edi
mov byte [ebp - 4], 0xc
call fcn.0040aa6e
cmp eax, ebx
je 0x4012f2
mov ecx, eax
call fcn.00401000
cmp edi, ebx
mov byte [ebp - 4], 9
je 0x4012d4
mov eax, dword [edi]
push edi
call dword [eax + 8]
push dword [ebp - 0x4c]
call fcn.00403159
push dword [ebp - 0x40]
call fcn.00403159
pop ecx
mov dword [ebp - 0x34], esi
pop ecx
mov byte [ebp - 4], 0xd
jmp 0x401250
push 0x54
call fcn.00403132
pop ecx
mov dword [ebp - 0x20], eax
cmp eax, ebx
mov byte [ebp - 4], 0xe
je 0x401310
mov ecx, eax
call fcn.004019a4
mov edi, eax
jmp 0x401312
xor edi, edi
cmp edi, ebx
mov byte [ebp - 4], 0xc
mov dword [ebp - 0x1c], edi
je 0x401323
mov eax, dword [edi]
push edi
call dword [eax + 4]
mov ecx, edi
mov byte [ebp - 4], 0xf
call fcn.0040bf16
cmp dword [ebp - 0x78], ebx
lea ecx, [edi + 0x48]
setne al
mov byte [edi + 0x44], al
lea eax, [ebp - 0x7c]
push eax
call fcn.00401d25
lea ecx, [ebp - 0xc0]
call fcn.00401975
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.00402164
mov ecx, dword [ebp - 0x40]
lea edx, [ebp - 0x58]
mov byte [ebp - 4], 0x11
call fcn.00404a2c
test al, al
jne 0x4013d9
mov edx, 0x4260a8
xor ecx, ecx
call fcn.00417dee
push dword [ebp - 0x58]
call fcn.00403159
push dword [ebp - 0xb0]
call fcn.00403159
mov eax, dword [ebp - 0x1c]
pop ecx
cmp eax, ebx
pop ecx
mov byte [ebp - 4], 0xc
je 0x4013aa
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x14]
mov byte [ebp - 4], 9
cmp eax, ebx
je 0x4013bb
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
push dword [ebp - 0x4c]
call fcn.00403159
push dword [ebp - 0x40]
call fcn.00403159
pop ecx
mov dword [ebp - 0x34], esi
pop ecx
mov byte [ebp - 4], 0x12
jmp 0x401250
cmp byte [ebp - 0x16], bl
lea eax, [ebp - 0x64]
jne 0x4013e4
lea eax, [ebp - 0x58]
push eax
lea ecx, [ebp - 0xb0]
call fcn.00401d25
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.00402149
mov dword [ebp - 0x90], esi
lea ecx, [ebp - 0xa4]
mov byte [ebp - 4], 0x13
call fcn.00402149
mov dword [ebp - 0xa4], esi
lea eax, [ebp - 0x4c]
lea ecx, [ebp - 0x90]
push eax
mov byte [ebp - 4], 0x14
call fcn.00401bdf
lea eax, [ebp - 0x4c]
lea ecx, [ebp - 0xa4]
push eax
call fcn.00401bdf
lea ecx, [ebp - 0x13c]
call fcn.0040182a
push 0x4260a4
lea ecx, [ebp - 0x70]
mov byte [ebp - 4], 0x15
call fcn.00401c8a
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.00403aeb
push dword [ebp - 0x70]
mov byte [ebp - 4], 0x15
call fcn.00403159
pop ecx
mov byte [ebp - 0x15], bl
push 4
lea ecx, [ebp - 0xd4]
call fcn.004017f1
mov dword [ebp - 0xd4], 0x4203b0
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.004027c6
lea ecx, [ebp - 0xd4]
mov dword [ebp - 0x20], eax
mov byte [ebp - 4], 0x15
call fcn.00403532
mov ecx, dword [ebp - 0x20]
cmp ecx, ebx
jne 0x401647
cmp dword [edi + 0x38], ebx
jne 0x40151d
cmp byte [edi + 0x3c], bl
je 0x4015df
lea ecx, [ebp - 0x13c]
mov byte [ebp - 4], 0x14
call fcn.00401882
mov dword [ebp - 0xa4], esi
lea ecx, [ebp - 0xa4]
mov byte [ebp - 4], 0x18
call fcn.0040355b
lea ecx, [ebp - 0xa4]
mov byte [ebp - 4], 0x13
call fcn.00403532
mov dword [ebp - 0x90], esi
lea ecx, [ebp - 0x90]
mov byte [ebp - 4], 0x19
call fcn.0040355b
lea ecx, [ebp - 0x90]
mov byte [ebp - 4], 0x11
call fcn.00403532
push dword [ebp - 0x58]
call fcn.00403159
push dword [ebp - 0xb0]
call fcn.00403159
mov eax, dword [ebp - 0x1c]
pop ecx
cmp eax, ebx
pop ecx
mov byte [ebp - 4], 0xc
je 0x40159a
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x14]
mov byte [ebp - 4], 9
cmp eax, ebx
je 0x4015ab
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
push dword [ebp - 0x4c]
call fcn.00403159
push dword [ebp - 0x40]
call fcn.00403159
pop ecx
mov dword [ebp - 0x34], esi
pop ecx
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 0x1a
call fcn.0040355b
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 1
call fcn.00403532
push 2
jmp 0x401266
lea ecx, [ebp - 0x13c]
mov byte [ebp - 4], 0x14
call fcn.00401882
lea ecx, [ebp - 0xa4]
mov byte [ebp - 4], 0x13
call fcn.00401ba7
lea ecx, [ebp - 0x90]
mov byte [ebp - 4], 0x11
call fcn.00401ba7
push dword [ebp - 0x58]
call fcn.00403159
push dword [ebp - 0xb0]
call fcn.00403159
pop ecx
mov byte [ebp - 4], 0xc
pop ecx
lea ecx, [ebp - 0x1c]
call fcn.00407560
mov eax, dword [ebp - 0x14]
mov byte [ebp - 4], 9
cmp eax, ebx
je 0x401738
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
jmp 0x401738
cmp ecx, 0x80004004
jne 0x4016b8
lea ecx, [ebp - 0x13c]
mov byte [ebp - 4], 0x14
call fcn.00401882
lea ecx, [ebp - 0xa4]
mov byte [ebp - 4], 0x13
call fcn.00401ba7
lea ecx, [ebp - 0x90]
mov byte [ebp - 4], 0x11
call fcn.00401ba7
push dword [ebp - 0x58]
call fcn.00403159
push dword [ebp - 0xb0]
call fcn.00403159
pop ecx
mov byte [ebp - 4], 0xc
pop ecx
lea ecx, [ebp - 0x1c]
call fcn.00407560
mov eax, dword [ebp - 0x14]
mov byte [ebp - 4], 9
cmp eax, ebx
je 0x4016ae
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov ebx, 0xff
jmp 0x401738
cmp byte [ebp - 0x15], bl
jne 0x40177e
cmp ecx, 1
jne 0x401779
mov edx, str.Error_in_archive
xor ecx, ecx
call fcn.00417dee
lea ecx, [ebp - 0x13c]
mov byte [ebp - 4], 0x14
call fcn.00401882
lea ecx, [ebp - 0xa4]
mov byte [ebp - 4], 0x13
call fcn.00401ba7
lea ecx, [ebp - 0x90]
mov byte [ebp - 4], 0x11
call fcn.00401ba7
push dword [ebp - 0x58]
call fcn.00403159
push dword [ebp - 0xb0]
call fcn.00403159
pop ecx
mov byte [ebp - 4], 0xc
pop ecx
lea ecx, [ebp - 0x1c]
call fcn.00407560
mov eax, dword [ebp - 0x14]
mov byte [ebp - 4], 9
cmp eax, ebx
je 0x401735
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
push 2
pop ebx
push dword [ebp - 0x4c]
call fcn.00403159
push dword [ebp - 0x40]
call fcn.00403159
pop ecx
mov byte [ebp - 4], 1
pop ecx
lea ecx, [ebp - 0x34]
call fcn.00401ba7
push dword [ebp - 0x64]
call fcn.00403159
push dword [ebp - 0x7c]
call fcn.00403159
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 0x4016d6
lea ecx, [ebp - 0x13c]
mov byte [ebp - 4], 0x14
call fcn.00401882
lea ecx, [ebp - 0xa4]
mov byte [ebp - 4], 0x13
call fcn.00401ba7
lea ecx, [ebp - 0x90]
mov byte [ebp - 4], 0x11
call fcn.00401ba7
push dword [ebp - 0x58]
call fcn.00403159
push dword [ebp - 0xb0]
call fcn.00403159
pop ecx
mov byte [ebp - 4], 0xc
pop ecx
lea ecx, [ebp - 0x1c]
call fcn.00407560
mov eax, dword [ebp - 0x14]
mov byte [ebp - 4], 9
cmp eax, ebx
je 0x4017ea
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
push 8
jmp 0x401737