Function at 0x407fc8
Capabilities:
Accept command line arguments

Disassembly:
lea eax, [ebp - 0x210]
push eax
push 0x40a0e8
push 0x15
push edi
push 0x405444
call dword [sym.imp.ole32.dll_CoCreateInstance]
cmp eax, edi
mov dword [ebp - 0x208], eax
mov ebx, 0x8007000e
jl 0x408262
mov eax, dword [ebp - 0x210]
cmp eax, edi
je 0x408262
mov ecx, dword [eax]
push edi
push eax
call dword [ecx + 0xc]
cmp eax, edi
mov dword [ebp - 0x208], eax
jl 0x408262
cmp dword [ebp - 0x210], edi
je 0x408262
push 0x40701f
lea eax, [ebp - 0x204]
push eax
call esi
lea edx, [ebp - 0x214]
test eax, eax
mov eax, dword [ebp - 0x210]
mov ecx, dword [eax]
mov esi, fcn.0040323c
push edx
push esi
jne 0x408154
push 0x4039c4
push eax
call dword [ecx + 0x24]
cmp eax, edi
mov dword [ebp - 0x208], eax
jl 0x408262
cmp dword [ebp - 0x214], edi
je 0x408262
mov eax, dword [ebp - 0x210]
mov ecx, dword [eax]
lea edx, [ebp - 0x220]
push edx
push esi
push 0x406bd1
push eax
call dword [ecx + 0x24]
cmp eax, edi
mov dword [ebp - 0x208], eax
jl 0x408262
cmp dword [ebp - 0x220], edi
je 0x408262
mov eax, dword [ebp - 0x214]
mov ecx, dword [eax]
lea edx, [ebp - 0x228]
push edx
lea edx, [ebp - 0x204]
push edx
push eax
call dword [ecx + 0xc]
cmp eax, edi
mov dword [ebp - 0x208], eax
jl 0x408262
mov eax, dword [ebp - 0x228]
cmp eax, edi
je 0x408262
mov ecx, dword [eax]
lea edx, [ebp - 0x224]
push edx
push 0x40618e
push eax
call dword [ecx]
cmp eax, edi
mov dword [ebp - 0x208], eax
jl 0x408262
cmp dword [ebp - 0x224], edi
je 0x408278
mov eax, dword [ebp - 0x220]
mov ecx, dword [eax]
lea edx, [ebp - 0x21c]
push edx
push eax
call dword [ecx + 0x10]
mov dword [ebp - 0x208], eax
mov eax, dword [ebp - 0x220]
cmp eax, edi
je 0x408135
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov dword [ebp - 0x220], edi
cmp dword [ebp - 0x208], edi
jl 0x408262
mov eax, dword [ebp - 0x21c]
cmp eax, edi
je 0x408262
jmp 0x40821b
push 0x404c7b
jmp 0x408054
mov eax, dword [ebp - 0x20c]
cmp eax, edi
je 0x408262
mov ecx, dword [eax]
lea edx, [ebp - 0x24c]
push edx
push eax
call dword [ecx + 0x1c]
test eax, eax
jge 0x408199
mov eax, dword [ebp - 0x20c]
cmp eax, edi
je 0x408215
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov dword [ebp - 0x20c], edi
jmp 0x408215
test byte [ebp - 0x24c], 4
je 0x408215
mov eax, dword [ebp - 0x224]
push dword [ebp - 0x20c]
mov ecx, dword [eax]
push eax
call dword [ecx + 0x18]
test eax, eax
jne 0x408215
mov eax, dword [ebp - 0x20c]
mov ecx, dword [eax]
lea edx, [ebp - 0x230]
push edx
push eax
call dword [ecx + 0xc]
cmp eax, edi
mov dword [ebp - 0x208], eax
jl 0x408215
push 0x100
call fcn.0040a2b4
mov esi, eax
cmp esi, edi
pop ecx
je 0x408246
push dword [ebp - 0x230]
push esi
call dword [sym.imp.KERNEL32.DLL_lstrcpyW]
push esi
lea ecx, [ebp - 0x248]
call fcn.00405b3e
test eax, eax
je 0x40823f
push dword [ebp - 0x230]
inc dword [ebp - 0x218]
call dword [sym.imp.ole32.dll_CoTaskMemFree]
mov eax, dword [ebp - 0x21c]
mov ecx, dword [eax]
lea edx, [ebp - 0x22c]
push edx
lea edx, [ebp - 0x20c]
push edx
push 1
push eax
call dword [ecx + 0xc]
cmp dword [ebp - 0x22c], edi
jne 0x40815e
jmp 0x40824c
push esi
call sub.KERNEL32.DLL_GetCommandLineA
pop ecx
mov dword [ebp - 0x208], ebx
mov eax, dword [ebp - 0x20c]
cmp eax, edi
je 0x408262
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov dword [ebp - 0x20c], edi
mov eax, dword [ebp - 0x224]
cmp eax, edi
je 0x408278
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov dword [ebp - 0x224], edi
mov eax, dword [ebp - 0x21c]
cmp eax, edi
je 0x40828e
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov dword [ebp - 0x21c], edi
mov eax, dword [ebp - 0x228]
cmp eax, edi
je 0x4082a4
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov dword [ebp - 0x228], edi
mov eax, dword [ebp - 0x20c]
cmp eax, edi
je 0x4082ba
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov dword [ebp - 0x20c], edi
mov eax, dword [ebp - 0x214]
cmp eax, edi
je 0x4082d0
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov dword [ebp - 0x214], edi
mov eax, dword [ebp - 0x210]
cmp eax, edi
je 0x4082f6
mov ecx, dword [eax]
push eax
call dword [ecx + 0x10]
mov eax, dword [ebp - 0x210]
cmp eax, edi
je 0x4082f6
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov dword [ebp - 0x210], edi
cmp dword [ebp - 0x208], edi
jl 0x408352
mov eax, dword [ebp - 0x218]
shl eax, 8
push eax
call dword [sym.imp.ole32.dll_CoTaskMemAlloc]
cmp eax, edi
mov ecx, dword [ebp - 0x234]
mov dword [ecx], eax
jne 0x408322
mov dword [ebp - 0x208], ebx
jmp 0x408352
xor esi, esi
cmp dword [ebp - 0x218], edi
jle 0x408352
mov ebx, eax
push esi
lea ecx, [ebp - 0x248]
call fcn.0040a144
push dword [eax]
push ebx
call dword [sym.imp.KERNEL32.DLL_lstrcpyW]
inc esi
add ebx, 0x102
cmp esi, dword [ebp - 0x218]
jl 0x40832e
lea ecx, [ebp - 0x248]
call fcn.0040a140
test eax, eax
jle 0x408385
push edi
lea ecx, [ebp - 0x248]
call fcn.0040a144
push dword [eax]
call sub.KERNEL32.DLL_GetCommandLineA
pop ecx
lea ecx, [ebp - 0x248]
inc edi
call fcn.0040a140
cmp edi, eax
jl 0x408361
mov eax, dword [ebp - 0x238]
mov ecx, dword [ebp - 0x218]
mov esi, dword [ebp - 0x208]
mov dword [eax], ecx
lea ecx, [ebp - 0x248]
call fcn.0040a020
mov eax, esi
jmp 0x4083b4
mov ecx, dword [ebp - 4]
pop edi
pop esi
pop ebx
call fcn.0040a158
leave
ret 0x14