Function at 0x40d9c7
Capabilities:
Accept command line arguments

Disassembly:
mov eax, 0x4231a3
call fcn.00414c98
sub esp, 0x240
mov eax, dword [0x431d24]
push ebx
push esi
push edi
xor eax, ebp
xor edi, edi
mov dword [ebp - 0x10], eax
mov ebx, ecx
mov dword [ebp - 0x22c], edi
mov dword [ebp - 0x22c], ebp
push edi
push dword [ebp - 0x22c]
push str.int___thiscall_CCmdlineParser::_Parser_void_
call fcn.0040c4cf
mov esi, eax
add esp, 0xc
cmp esi, edi
mov eax, 0x428b88
jne 0x40da15
mov esi, eax
push edi
push edi
push edi
push ebx
push eax
push 0x428b54
push esi
lea ecx, [ebp - 0x24c]
call fcn.0040b312
mov dword [ebp - 4], edi
cmp esi, edi
jne 0x40da34
push ebp
pop ebp
cmp dword [ebx + 0x1c], edi
je 0x40ddd0
mov dword [ebp - 0x21c], edi
mov byte [ebp - 4], 1
mov dword [ebp - 0x22c], edi
mov byte [ebp - 4], 2
lea eax, [ebp - 0x220]
push eax
push dword [ebx + 0x1c]
mov dword [ebp - 0x220], edi
call dword [sym.imp.SHELL32.dll_CommandLineToArgvW]
cmp dword [ebp - 0x220], 0
mov dword [ebp - 0x230], eax
mov esi, 0x428b24
jle 0x40daf4
push esi
call fcn.0040663e
test eax, eax
pop ecx
jne 0x40daeb
mov eax, dword [ebp - 0x230]
push 1
push dword [eax + edi*4]
call fcn.00413e1d
pop ecx
push eax
mov eax, dword [ebp - 0x230]
push str._len_:
push dword [eax + edi*4]
push 0x428b18
push edi
push str._param
push ebx
push esi
call fcn.0040a806
pop ecx
pop ecx
mov ecx, eax
call fcn.0040ca6a
mov ecx, eax
call fcn.004010c6
mov ecx, eax
call fcn.0040ca6a
mov ecx, eax
call fcn.0040133c
mov ecx, eax
call fcn.0040ca6a
mov ecx, eax
call fcn.004010c6
mov ecx, eax
call fcn.0040b2e1
inc edi
cmp edi, dword [ebp - 0x220]
jl 0x40da7b
mov eax, dword [ebp - 0x230]
mov eax, dword [eax]
xor edx, edx
cmp eax, edx
mov dword [ebp - 0x224], edx
mov dword [ebp - 0x228], eax
je 0x40dbab
xor eax, eax
mov word [ebp - 0x218], dx
mov ecx, 0x81
lea edi, [ebp - 0x216]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
push 0x104
lea eax, [ebp - 0x218]
push eax
push edx
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
mov edi, dword [sym.imp.SHLWAPI.dll_PathFindFileNameW]
lea eax, [ebp - 0x218]
push eax
call edi
push dword [ebp - 0x228]
mov dword [ebp - 0x234], eax
call edi
push dword [ebp - 0x228]
mov edi, eax
lea eax, [ebp - 0x218]
push eax
call fcn.0041550a
test eax, eax
pop ecx
pop ecx
je 0x40dba1
push dword [ebp - 0x228]
push dword [ebp - 0x234]
call fcn.0041550a
test eax, eax
pop ecx
pop ecx
je 0x40dba1
test edi, edi
je 0x40dbab
push edi
push dword [ebp - 0x234]
call fcn.0041550a
test eax, eax
pop ecx
pop ecx
jne 0x40dbab
mov dword [ebp - 0x224], 1
mov eax, dword [ebp - 0x224]
cmp eax, dword [ebp - 0x220]
jge 0x40ddaf
inc eax
mov dword [ebp - 0x228], eax
mov eax, dword [ebp - 0x230]
mov ecx, dword [ebp - 0x224]
mov edi, dword [eax + ecx*4]
mov ax, word [edi]
cmp ax, 0x2f
je 0x40dc90
cmp ax, 0x2d
je 0x40dc90
push esi
call fcn.0040663e
test eax, eax
pop ecx
jne 0x40dc4f
push 1
push edi
call fcn.00413e1d
pop ecx
push eax
push str._Length_:
push edi
push str.__FixItem_:
push dword [ebp - 0x224]
push str._Fixed_Item
push ebx
push esi
call fcn.0040a806
pop ecx
pop ecx
mov ecx, eax
call fcn.0040ca6a
mov ecx, eax
call fcn.004010c6
mov ecx, eax
call fcn.0040ca6a
mov ecx, eax
call fcn.0040133c
mov ecx, eax
call fcn.0040ca6a
mov ecx, eax
call fcn.004010c6
mov ecx, eax
call fcn.0040b2e1
push edi
lea ecx, [ebp - 0x22c]
call fcn.004030d8
cmp dword [ebp - 0x22c], 0
je 0x40dd91
push dword [ebp - 0x22c]
call dword [sym.imp.OLEAUT32.dll_VariantInit]
test eax, eax
jbe 0x40dd91
lea eax, [ebp - 0x22c]
push eax
lea ecx, [ebx + 0xc]
call fcn.00408d59
jmp 0x40dd91
add edi, 2
push edi
lea ecx, [ebp - 0x21c]
call fcn.004030d8
lea ecx, [ebp - 0x21c]
call fcn.00403138
mov edi, dword [0x434a60]
lea eax, [ebp - 0x21c]
push eax
lea eax, [ebp - 0x234]
push eax
mov ecx, 0x434a5c
call fcn.00404a8a
cmp dword [eax], edi
jne 0x40dd1d
mov eax, dword [ebp - 0x228]
cmp eax, dword [ebp - 0x220]
jge 0x40dd1d
mov ecx, dword [ebp - 0x224]
mov eax, dword [ebp - 0x230]
mov eax, dword [eax + ecx*4 + 4]
mov cx, word [eax]
cmp cx, 0x2d
je 0x40dd1d
cmp cx, 0x2f
je 0x40dd1d
push eax
lea eax, [ebp - 0x21c]
push eax
mov ecx, ebx
call fcn.00408cd4
mov ecx, eax
call fcn.004030d8
inc dword [ebp - 0x224]
inc dword [ebp - 0x228]
jmp 0x40dd37
lea eax, [ebp - 0x21c]
push 0x428ae0
mov ecx, ebx
push eax
call fcn.00408cd4
mov ecx, eax
call fcn.004039ac
push esi
call fcn.0040663e
test eax, eax
pop ecx
jne 0x40dd91
lea eax, [ebp - 0x21c]
mov ecx, ebx
push eax
call fcn.00408cd4
mov eax, dword [eax]
push 1
push eax
push str.__Value_:
push dword [ebp - 0x21c]
push str._Key_:
push ebx
push esi
call fcn.0040a806
pop ecx
pop ecx
mov ecx, eax
call fcn.0040ca6a
mov ecx, eax
call fcn.0040133c
mov ecx, eax
call fcn.0040ca6a
mov ecx, eax
call fcn.0040133c
mov ecx, eax
call fcn.0040b2e1
inc dword [ebp - 0x224]
mov eax, dword [ebp - 0x224]
inc dword [ebp - 0x228]
cmp eax, dword [ebp - 0x220]
jl 0x40dbc4
mov byte [ebp - 4], 1
push dword [ebp - 0x22c]
mov esi, dword [sym.imp.OLEAUT32.dll_SysStringLen]
call esi
mov byte [ebp - 4], 0
push dword [ebp - 0x21c]
call esi
xor edi, edi
inc edi
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x24c]
call fcn.0040cd39
mov ecx, dword [ebp - 0xc]
mov eax, edi
mov dword fs:[0], ecx
mov ecx, dword [ebp - 0x10]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0041428f
leave
ret