Function at 0x106fbd6
Capabilities:
Accept command line arguments
Print debug messages

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
push ecx
push ebx
push esi
mov esi, dword [ebp + 8]
xor ebx, ebx
push edi
mov edi, ecx
mov dword [ebp - 4], 1
cmp esi, ebx
jne 0x106fbfd
mov dword [ebp - 4], 0x80004003
jmp 0x106fe3d
cmp dword [ebp + 0xc], ebx
jne 0x106fc0e
mov dword [ebp - 4], 0x80070057
jmp 0x106fe3d
xor eax, eax
mov word [esi], ax
mov eax, dword [edi + 0x14]
mov dword [ebp + 8], esi
cmp byte [edi + 0x6c], bl
je 0x106fc21
mov eax, dword [edi + 0x5c]
cmp eax, ebx
je 0x106fc90
cmp word [eax], bx
je 0x106fc90
push eax
push 0x106fe60
push dword [ebp + 0xc]
push esi
call fcn.0104d241
add esp, 0x10
cmp eax, ebx
mov dword [ebp - 4], eax
jge 0x106fc77
mov eax, dword [0x10f52cc]
cmp eax, 0x10f52cc
je 0x106fe3d
cmp byte [eax + 0x19], 2
jb 0x106fe3d
push dword [ebp - 4]
push 0x106b628
push 0xa
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.010a4e26
jmp 0x106fe3d
mov eax, esi
lea edx, [eax + 2]
mov cx, word [eax]
inc eax
inc eax
cmp cx, bx
jne 0x106fc7c
sub eax, edx
sar eax, 1
sub dword [ebp + 0xc], eax
lea esi, [esi + eax*2]
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
cmp eax, ebx
jne 0x106fca6
mov dword [ebp - 4], 0x8007000e
jmp 0x106fe3d
xor dl, dl
movzx ecx, word [eax]
cmp cx, 0x20
je 0x106fcc9
cmp cx, 9
je 0x106fcc9
cmp cx, 0x22
jne 0x106fcc4
cmp dl, bl
sete dl
jmp 0x106fccd
cmp cx, bx
jmp 0x106fccb
cmp dl, bl
je 0x106fcd1
inc eax
inc eax
jmp 0x106fca8
movzx ecx, word [eax]
cmp cx, 0x20
je 0x106fce0
cmp cx, 9
jne 0x106fce4
inc eax
inc eax
jmp 0x106fcd1
cmp word [eax], bx
je 0x106fd3c
push eax
push dword [ebp + 0xc]
push esi
call fcn.0100a593
cmp eax, ebx
mov dword [ebp - 4], eax
jge 0x106fd23
mov eax, dword [0x10f52cc]
cmp eax, 0x10f52cc
je 0x106fe3d
cmp byte [eax + 0x19], 2
jb 0x106fe3d
push dword [ebp - 4]
push 0x106b628
push 0xb
jmp 0x106fc67
mov eax, esi
lea edx, [eax + 2]
mov cx, word [eax]
inc eax
inc eax
cmp cx, bx
jne 0x106fd28
sub eax, edx
sar eax, 1
sub dword [ebp + 0xc], eax
lea esi, [esi + eax*2]
mov eax, dword [edi + 0x24]
cmp eax, ebx
jne 0x106fd49
cmp dword [edi + 0x28], 1
je 0x106fd53
cmp eax, 1
jne 0x106fd84
cmp dword [edi + 0x28], ebx
jne 0x106fd84
mov eax, dword [0x10f52cc]
cmp eax, 0x10f52cc
je 0x106fc02
cmp byte [eax + 0x19], 2
jb 0x106fc02
push 0x106b628
push 0xc
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.0106f7c2
jmp 0x106fc02
mov eax, dword [edi + 0x28]
cmp eax, 1
jne 0x106fdca
push 0x106fe54
push dword [ebp + 0xc]
push esi
call fcn.0106fb60
cmp eax, ebx
mov dword [ebp - 4], eax
jge 0x106fe04
mov eax, dword [0x10f52cc]
cmp eax, 0x10f52cc
je 0x106fe3d
cmp byte [eax + 0x19], 2
jb 0x106fe3d
push dword [ebp - 4]
push 0x106b628
push 0xd
jmp 0x106fc67
cmp eax, ebx
jne 0x106fe04
push 0x106fe48
push dword [ebp + 0xc]
push esi
call fcn.0106fb60
cmp eax, ebx
mov dword [ebp - 4], eax
jge 0x106fe04
mov eax, dword [0x10f52cc]
cmp eax, 0x10f52cc
je 0x106fe3d
cmp byte [eax + 0x19], 2
jb 0x106fe3d
push dword [ebp - 4]
push 0x106b628
push 0xe
jmp 0x106fc67
mov eax, dword [0x10f52cc]
cmp eax, 0x10f52cc
je 0x106fe2b
cmp byte [eax + 0x19], 4
jb 0x106fe2b
push dword [ebp + 8]
push 0x106b628
push 0xf
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.0106f7e8
push dword [ebp + 8]
mov esi, dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
call esi
push 0x104e074
call esi
mov eax, dword [ebp - 4]
pop edi
pop esi
pop ebx
leave
ret 8