Function at 0x40fd60
Capabilities:
Accept command line arguments

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x43e428
mov eax, dword fs:[0]
push eax
sub esp, 0x34
push ebx
push esi
push edi
mov eax, dword [0x457078]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, ecx
mov byte [ebp - 0xd], 1
call dword [sym.imp.KERNEL32.dll_GetCommandLineA]
mov esi, eax
cmp dword [ebx], esi
je 0x40fde5
test esi, esi
je 0x40fdde
cmp byte [esi], 0
je 0x40fdde
push esi
call dword [sym.imp.MSVCR120.dll_strlen]
add esp, 4
mov ecx, ebx
lea edi, [eax + 1]
push edi
push 1
call fcn.0040a6d0
push 0xffffffffffffffff
push esi
push edi
push dword [ebx]
call dword [sym.imp.MSVCR120.dll_strncpy_s]
mov eax, dword [ebx]
add esp, 0x10
test eax, eax
je 0x40fde5
test edi, edi
mov ecx, 1
cmove edi, ecx
mov dword [eax - 0xc], edi
jmp 0x40fde5
mov ecx, ebx
call fcn.0040aa60
lea eax, [ebp - 0x18]
push eax
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
push eax
call dword [sym.imp.SHELL32.dll_CommandLineToArgvW]
mov edx, eax
mov dword [ebp - 0x1c], edx
test edx, edx
jne 0x40fe13
xor al, al
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 0x18]
test eax, eax
jle 0x40fe61
push dword [edx]
lea ecx, [ebp - 0x14]
call fcn.0040a840
mov dword [ebp - 4], 0
mov esi, dword [ebp - 0x14]
cmp dword [ebx + 4], esi
je 0x40fe4c
lea ecx, [ebx + 4]
call fcn.0040aa60
test esi, esi
je 0x40fe49
test byte [esi - 0xe], 8
jne 0x40fe49
inc word [esi - 0x10]
mov dword [ebx + 4], esi
lea ecx, [ebp - 0x14]
mov dword [ebp - 4], 0xffffffff
call fcn.0040aa60
mov eax, dword [ebp - 0x18]
mov edx, dword [ebp - 0x1c]
mov ecx, 1
mov dword [ebp - 0x24], ecx
cmp eax, ecx
jle 0x4102db
mov ecx, dword [edx + ecx*4]
movzx eax, word [ecx]
cmp eax, 0x2d
je 0x41007c
cmp eax, 0x2f
je 0x41007c
push ecx
lea ecx, [ebp - 0x20]
call fcn.0040a840
mov dword [ebp - 4], 3
mov esi, dword [ebp - 0x20]
cmp dword [ebx + 8], esi
je 0x40feba
lea ecx, [ebx + 8]
call fcn.0040aa60
test esi, esi
je 0x40feb7
test byte [esi - 0xe], 8
jne 0x40feb7
inc word [esi - 0x10]
mov dword [ebx + 8], esi
lea ecx, [ebp - 0x20]
mov dword [ebp - 4], 0xffffffff
call fcn.0040aa60
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 0
lea eax, [ebp - 0x34]
mov dword [ebp - 4], 4
push eax
push 0x448f8c
lea ecx, [ebx + 8]
call fcn.00410350
mov ecx, eax
mov dword [ebp - 0x28], ecx
cmp ecx, 1
jbe 0x40ff33
mov edx, dword [ebp - 0x34]
mov eax, dword [ebx + 0xc]
cmp eax, dword [edx + ecx*4 - 4]
je 0x40ff33
lea ecx, [ebx + 0xc]
call fcn.0040aa60
mov ecx, dword [ebp - 0x28]
mov edx, dword [ebp - 0x34]
mov eax, dword [edx + ecx*4 - 4]
test eax, eax
je 0x40ff2c
test byte [eax - 0xe], 8
jne 0x40ff2c
inc word [eax - 0x10]
mov eax, dword [edx + ecx*4 - 4]
mov dword [ebx + 0xc], eax
mov eax, dword [ebx + 0xc]
test eax, eax
je 0x40ff85
push 0
push 0
push 0x4495e8
push eax
call fcn.00413cd0
add esp, 0x10
test eax, eax
je 0x40ff85
sub eax, dword [ebx + 0xc]
js 0x40ff85
mov eax, dword [ebx + 0x10]
cmp eax, dword [ebx + 8]
je 0x410029
lea ecx, [ebx + 0x10]
call fcn.0040aa60
mov eax, dword [ebx + 8]
test eax, eax
je 0x40ff7a
test byte [eax - 0xe], 8
jne 0x40ff7a
inc word [eax - 0x10]
mov eax, dword [ebx + 8]
mov dword [ebx + 0x10], eax
jmp 0x410029
mov eax, dword [ebx + 0xc]
test eax, eax
je 0x40ffd0
push 0
push 0
push 0x447e8c
push eax
call fcn.00413cd0
add esp, 0x10
test eax, eax
je 0x40ffd0
sub eax, dword [ebx + 0xc]
js 0x40ffd0
mov eax, dword [ebx + 0x14]
cmp eax, dword [ebx + 8]
je 0x410029
lea ecx, [ebx + 0x14]
call fcn.0040aa60
mov eax, dword [ebx + 8]
test eax, eax
je 0x40ffc8
test byte [eax - 0xe], 8
jne 0x40ffc8
inc word [eax - 0x10]
mov eax, dword [ebx + 8]
mov dword [ebx + 0x14], eax
jmp 0x410029
mov eax, dword [ebx + 0xc]
test eax, eax
je 0x40fff2
push 0
push 0
push 0x4495ec
push eax
call fcn.00413cd0
add esp, 0x10
test eax, eax
je 0x40fff2
sub eax, dword [ebx + 0xc]
jns 0x410029
mov eax, dword [ebx + 0xc]
test eax, eax
je 0x410014
push 0
push 0
push 0x4495f0
push eax
call fcn.00413cd0
add esp, 0x10
test eax, eax
je 0x410014
sub eax, dword [ebx + 0xc]
jns 0x410029
push 0
push 0
push 0x4495f4
lea ecx, [ebx + 0xc]
call fcn.00409b90
test eax, eax
js 0x410036
push 0x448f8e
lea ecx, [ebx + 8]
call fcn.0040a1e0
mov dword [ebp - 4], 0xffffffff
mov esi, dword [ebp - 0x34]
test esi, esi
je 0x4102c8
push dword [ebp - 0x28]
lea eax, [ebp - 0xe]
push eax
push dword [ebp - 0x30]
push esi
call fcn.00410850
push esi
call dword [sym.imp.MSVCR120.dll_void___cdecl_operator_delete_void__]
add esp, 0x14
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 0
jmp 0x4102c8
lea eax, [ecx + 2]
push eax
lea ecx, [ebp - 0x14]
call fcn.0040a840
xor edi, edi
mov dword [ebp - 4], 1
mov dword [ebp - 0x40], edi
mov dword [ebp - 0x3c], edi
mov dword [ebp - 0x38], edi
push edi
mov byte [ebp - 4], 2
mov esi, dword [ebp - 0x14]
push str.register
push esi
call fcn.00413c20
add esp, 0xc
test eax, eax
jne 0x4100bd
mov byte [ebx + 0x18], 1
jmp 0x41021b
push 0
push 0x449578
push esi
call fcn.00413c20
add esp, 0xc
test eax, eax
je 0x410217
push 0
push str.NoDialogs
push esi
call fcn.00413c20
add esp, 0xc
test eax, eax
je 0x410217
push 0
push str.lwqbif
push esi
call fcn.00413c20
add esp, 0xc
test eax, eax
jne 0x41010a
mov byte [ebx + 0x1a], 1
jmp 0x41021b
push 0
push str.lwqbifnoui
push esi
call fcn.00413c20
add esp, 0xc
test eax, eax
jne 0x410127
mov byte [ebx + 0x1b], 1
jmp 0x41021b
push 0
push str.embedding
push esi
call fcn.00413c20
add esp, 0xc
test eax, eax
jne 0x410144
mov byte [ebx + 0x1c], 1
jmp 0x41021b
push 0
push str.silent
push esi
call fcn.00413c20
add esp, 0xc
test eax, eax
jne 0x410161
mov byte [ebx + 0x24], 1
jmp 0x41021b
push 0
push str.NoShowLoadingQBWnd
push esi
call fcn.00413c20
add esp, 0xc
test eax, eax
jne 0x41017e
mov byte [ebx + 0x1d], 1
jmp 0x41021b
push 0
push 0x4495c4
push esi
call fcn.00413c20
add esp, 0xc
test eax, eax
jne 0x41019b
mov byte [ebx + 0x25], 1
jmp 0x41021b
push 0
push str.UnitTest
push esi
call fcn.00413c20
add esp, 0xc
test eax, eax
jne 0x4101b5
mov byte [ebx + 0x26], 1
jmp 0x41021b
lea eax, [ebp - 0x40]
push eax
push 0x4495d4
lea ecx, [ebp - 0x14]
call fcn.00410350
mov edi, dword [ebp - 0x40]
cmp eax, 2
jne 0x41021b
push 0
push str.TickCount
push dword [edi]
call fcn.00413c20
add esp, 0xc
test eax, eax
jne 0x4101f4
push dword [edi + 4]
call dword [sym.imp.MSVCR120.dll_atol]
add esp, 4
mov dword [ebx + 0x20], eax
jmp 0x41021b
push 0
push 0x4495e4
push dword [edi]
call fcn.00413c20
add esp, 0xc
test eax, eax
jne 0x41021b
lea eax, [edi + 4]
push eax
lea ecx, [ebx + 0x28]
call fcn.0040aae0
jmp 0x41021b
mov byte [ebx + 0x19], 1
mov byte [ebp - 4], 1
test edi, edi
je 0x410252
push dword [ebp - 0x28]
lea eax, [ebp - 0xe]
push eax
push dword [ebp - 0x3c]
push edi
call fcn.00410850
push edi
call dword [sym.imp.MSVCR120.dll_void___cdecl_operator_delete_void__]
add esp, 0x14
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x38], 0
mov dword [ebp - 4], 0xffffffff
test esi, esi
jne 0x41027b
cmp dword [0x45b82c], esi
jne 0x410271
lea ecx, [ebp - 0x14]
call fcn.0040a9e0
mov esi, eax
jmp 0x410277
mov esi, dword [0x45b82c]
test esi, esi
je 0x4102ad
mov al, byte [esi - 0xe]
shr al, 3
and al, 1
jne 0x4102ad
movzx eax, word [esi - 0x10]
add esi, 0xfffffff0
cmp eax, 1
jg 0x41029f
push dword [esi + 8]
push esi
call fcn.004134a0
add esp, 8
jmp 0x4102ad
test byte [esi + 2], 8
jne 0x4102ad
mov eax, 0xffff
add word [esi], ax
cmp dword [0x45b82c], 0
jne 0x4102c0
lea ecx, [ebp - 0x14]
call fcn.0040a9e0
jmp 0x4102c5
mov eax, dword [0x45b82c]
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp - 0x1c]
inc ecx
mov dword [ebp - 0x24], ecx
cmp ecx, dword [ebp - 0x18]
jl 0x40fe71
push dword [ebp - 0x1c]
call dword [sym.imp.KERNEL32.dll_LocalFree]
mov al, byte [ebp - 0xd]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret