Function at 0x401039
Capabilities:
Accept command line arguments

Disassembly:
mov eax, 0x427df7
call fcn.004272c0
sub esp, 0xe4
push ebx
xor ebx, ebx
push esi
push ebx
call dword [sym.imp.ole32.dll_OleInitialize]
mov ecx, str.comctl32.dll
call fcn.00401993
cmp eax, 0x40047
mov dword [0x432178], eax
sbb al, al
lea ecx, [ebp - 0x78]
inc al
mov byte [0x432050], al
call fcn.004025a5
lea ecx, [ebp - 0x60]
mov dword [ebp - 4], ebx
mov byte [ebp - 0xd], bl
mov byte [ebp - 0xe], bl
call fcn.004025a5
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 1
call fcn.0041733a
mov byte [ebp - 4], 2
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
push eax
lea ecx, [ebp - 0x24]
call fcn.004025e8
lea edx, [ebp - 0x48]
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 3
call fcn.00401deb
push dword [ebp - 0x24]
mov byte [ebp - 4], 2
call fcn.004020c6
cmp dword [ebp - 0x44], ebx
pop ecx
jbe 0x4010d3
push ebx
lea ecx, [ebp - 0x48]
call fcn.00401af9
xor esi, esi
cmp dword [ebp - 0x44], ebx
jbe 0x401153
mov eax, dword [ebp - 0x48]
mov eax, dword [eax + esi*4]
mov edx, dword [eax + 4]
cmp edx, 1
jbe 0x40114d
mov eax, dword [eax]
cmp word [eax], 0x2d
jne 0x40114d
mov cx, word [eax + 2]
cmp cx, 0x41
jb 0x401103
cmp cx, 0x5a
ja 0x401103
add ecx, 0x20
cmp cx, 0x79
jne 0x401118
cmp edx, 2
mov byte [ebp - 0xd], 1
jne 0x40119d
jmp 0x40114d
cmp cx, 0x6f
jne 0x40113b
add eax, 4
lea ecx, [ebp - 0x60]
push eax
call fcn.004026e4
lea ecx, [ebp - 0x60]
call fcn.00404900
cmp dword [ebp - 0x5c], ebx
setne byte [ebp - 0xe]
jmp 0x40114d
cmp cx, 0x70
jne 0x40114d
add eax, 4
lea ecx, [ebp - 0x78]
push eax
call fcn.004026e4
inc esi
cmp esi, dword [ebp - 0x44]
jb 0x4010da
push edi
lea ecx, [ebp - 0x84]
call fcn.004025a5
lea ecx, [ebp - 0x84]
mov byte [ebp - 4], 4
call fcn.004038f6
lea ecx, [ebp - 0x6c]
call fcn.004025a5
mov ecx, dword [ebp - 0x84]
lea edx, [ebp - 0x6c]
mov byte [ebp - 4], 5
call fcn.00403cf2
test al, al
jne 0x4011b1
mov edx, str.Error_1329484
xor ecx, ecx
call fcn.0041006e
jmp 0x4012c1
mov edx, str.Bad_command
xor ecx, ecx
call fcn.0041006e
push 1
pop ebx
jmp 0x4015a4
push 0x18
call fcn.0040209f
pop ecx
mov dword [ebp - 0x18], eax
cmp eax, ebx
mov byte [ebp - 4], 6
je 0x4011cf
mov ecx, eax
call fcn.004016bf
mov edi, eax
jmp 0x4011d1
xor edi, edi
cmp edi, ebx
mov byte [ebp - 4], 5
mov dword [ebp - 0xbc], edi
je 0x4011e5
mov eax, dword [edi]
push edi
call dword [eax + 4]
mov ecx, edi
mov byte [ebp - 4], 7
call fcn.0040da98
cmp eax, ebx
je 0x401200
mov ecx, eax
call fcn.00401000
jmp 0x4012b3
push 0xa8
call fcn.0040209f
pop ecx
mov dword [ebp - 0x18], eax
cmp eax, ebx
mov byte [ebp - 4], 8
je 0x401221
mov ecx, eax
call fcn.004017f6
mov esi, eax
jmp 0x401223
xor esi, esi
cmp esi, ebx
mov byte [ebp - 4], 7
mov dword [ebp - 0x14], esi
je 0x401234
mov eax, dword [esi]
push esi
call dword [eax + 4]
mov ecx, esi
mov byte [ebp - 4], 9
call fcn.00411df6
cmp dword [ebp - 0x74], ebx
lea ecx, [esi + 0x68]
setne al
mov byte [esi + 0x64], al
lea eax, [ebp - 0x78]
push eax
call fcn.00402748
lea ecx, [ebp - 0xac]
call fcn.00401762
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 0xa
call fcn.004025a5
mov ecx, dword [ebp - 0x84]
lea edx, [ebp - 0x30]
mov byte [ebp - 4], 0xb
call fcn.00403d99
test al, al
jne 0x4012c8
mov edx, 0x42b500
xor ecx, ecx
call fcn.0041006e
push dword [ebp - 0x30]
call fcn.004020c6
push dword [ebp - 0xa0]
call fcn.004020c6
mov eax, dword [ebp - 0x14]
pop ecx
cmp eax, ebx
pop ecx
mov byte [ebp - 4], 7
je 0x4012b3
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
cmp edi, ebx
mov byte [ebp - 4], 5
je 0x4012c1
mov eax, dword [edi]
push edi
call dword [eax + 8]
push 1
jmp 0x40158d
cmp byte [ebp - 0xe], bl
lea eax, [ebp - 0x60]
jne 0x4012d3
lea eax, [ebp - 0x30]
push eax
lea ecx, [ebp - 0xa0]
call fcn.00402748
mov al, byte [ebp - 0xd]
xor ecx, ecx
cmp al, bl
mov byte [ebp - 0x86], al
setne cl
mov dword [ebp - 0xa4], ecx
lea ecx, [ebp - 0x3c]
mov dword [ebp - 0xa8], ebx
mov byte [ebp - 0x85], bl
call fcn.0041733a
lea ecx, [ebp - 0x54]
mov byte [ebp - 4], 0xc
call fcn.0041733a
lea eax, [ebp - 0x6c]
lea ecx, [ebp - 0x3c]
push eax
mov byte [ebp - 4], 0xd
call fcn.00401ab2
lea eax, [ebp - 0x6c]
lea ecx, [ebp - 0x54]
push eax
call fcn.00401ab2
lea ecx, [ebp - 0xf0]
call fcn.00401641
push 0x42b4fc
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 0xe
call fcn.004025e8
push 1
lea ecx, [ebp - 0x24]
pop eax
mov byte [ebp - 4], 0xf
push eax
push eax
push eax
push eax
push ecx
push eax
lea ecx, [ebp - 0xf0]
call fcn.00403320
push dword [ebp - 0x24]
call fcn.004020c6
pop ecx
mov byte [ebp - 0xf], bl
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x1c], ebx
lea ecx, [ebp - 0xb8]
mov byte [ebp - 4], 0x10
call fcn.0041733a
cmp byte [ebp - 0xd], bl
push ebx
lea eax, [ebp - 0xf]
push esi
push eax
lea edx, [ebp - 0xb8]
sete al
push eax
lea eax, [ebp - 0xac]
push eax
lea eax, [ebp - 0xf0]
push eax
lea eax, [ebp - 0x54]
push eax
lea eax, [ebp - 0x3c]
push eax
lea eax, [ebp - 0x24]
push eax
mov ecx, edi
mov byte [ebp - 4], 0x11
call fcn.00415c4b
mov dword [ebp - 0x18], eax
lea ecx, [ebp - 0xb8]
mov byte [ebp - 4], 0x10
call fcn.00401bf3
push dword [ebp - 0x24]
mov byte [ebp - 4], 0xe
call fcn.004020c6
pop ecx
mov ecx, dword [ebp - 0x18]
cmp ecx, ebx
jne 0x4014b2
cmp dword [esi + 0x58], ebx
jne 0x4013f8
cmp byte [esi + 0x5c], bl
je 0x40144e
lea ecx, [ebp - 0xf0]
mov byte [ebp - 4], 0xd
call fcn.00401671
lea ecx, [ebp - 0x54]
mov byte [ebp - 4], 0xc
call fcn.00411a11
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 0xb
call fcn.00411a11
push dword [ebp - 0x30]
call fcn.004020c6
push dword [ebp - 0xa0]
call fcn.004020c6
mov eax, dword [ebp - 0x14]
pop ecx
cmp eax, ebx
pop ecx
mov byte [ebp - 4], 7
je 0x40157d
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
jmp 0x40157d
lea ecx, [ebp - 0xf0]
mov byte [ebp - 4], 0xd
call fcn.00401671
lea ecx, [ebp - 0x54]
mov byte [ebp - 4], 0xc
call fcn.00411a11
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 0xb
call fcn.00411a11
push dword [ebp - 0x30]
call fcn.004020c6
push dword [ebp - 0xa0]
call fcn.004020c6
mov eax, dword [ebp - 0x14]
pop ecx
cmp eax, ebx
pop ecx
mov byte [ebp - 4], 7
je 0x40149b
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
cmp edi, ebx
mov byte [ebp - 4], 5
je 0x40158e
mov eax, dword [edi]
push edi
call dword [eax + 8]
jmp 0x40158e
cmp ecx, 0x80004004
jne 0x401517
lea ecx, [ebp - 0xf0]
mov byte [ebp - 4], 0xd
call fcn.00401671
lea ecx, [ebp - 0x54]
mov byte [ebp - 4], 0xc
call fcn.00411a11
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 0xb
call fcn.00411a11
push dword [ebp - 0x30]
call fcn.004020c6
push dword [ebp - 0xa0]
call fcn.004020c6
pop ecx
mov byte [ebp - 4], 7
pop ecx
lea ecx, [ebp - 0x14]
call fcn.0040747f
cmp eax, dword [eax]
push cs
adc dword [edi], ebp
and al, byte [esi]
add eax, 0xc262c23
sbb dword [edx], ecx
adc eax, dword [ecx]
adc ah, byte [edi]
add cl, byte [edi]
or eax, 0x181c1f1b
sbb ebx, dword [edi]
sbb al, 0x18
pop ss
or esp, dword [eax]
adc al, 0x16
push ds
sbb eax, 0x4251a15
pop es
sub byte [ecx], ah
or dword [eax], edx
and al, 0x2d
sub ecx, dword cs:[eax]
sub dword [edx], ebp
add esi, dword [ebx]
xor eax, 0x31363039
xor al, 0x38
aaa
xor al, byte [eax + 0x3e]
cmp eax, 0x3a3f3b3c
push esp
dec ebp
push ebp
push esi
push ecx
dec esp
dec ecx
dec edx
inc edi
dec eax
dec esi
inc esi
inc edx
dec ebx
push edx
pop eax
inc ebp
dec edi
push edi
inc ecx
inc ebx
inc esp
push ebx
push eax
pop edx
pop ecx
pushal
pop ebp
pop esp
pop edi
pop esi
pop ebx
jbe 0x4015da
ja 0x4015e0
insd dword es:[edi], dx
jb 0x4015e0
outsb dx, byte [esi]
jo 0x4015e1
jp 0x4015e9
push 0x666f6971
push 0x62
popal
arpl word [esp + ebp*2 + 0x6b], sp
mov dl, 0x90
xchg ebx, eax
adc dword [ebx + edi*4 - 0xb810059], 0xffffffe6
sahf
mov bh, al
mov dh, 0x87
imul esi, dword [edx - 0x6b7c6c70], 0xffffffbb
cmpsd dword [esi], dword es:[edi]
invalid
hlt
xchg edx, eax
stc
mov eax, dword [0xaf7cd8d6]
xchg edi, eax
jge 0x401617
ret 0xa1f9
out dx, al
cli
xchg edx, eax
lahf
ljmp 0x9886
invalid
ror byte [edi - 0x13143c05], cl
cld
std
pushfd
in eax, dx
mov byte [0x9b9ad1bf], al
test edi, ecx
aad 0xb1
cdq
fcmovnu st(0), st(4)
loopne 0x401587
invalid
invalid