Function at 0x10023a6
Capabilities:
Accept command line arguments
Print debug messages
Terminate process

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x54
push ebx
push esi
push edi
xor ebx, ebx
push ebx
push ebx
xor esi, esi
inc esi
push esi
push ebx
mov dword [ebp - 0xc], ebx
mov dword [ebp - 0x10], ebx
call dword [sym.imp.KERNEL32.dll_HeapSetInformation]
push 0x10024cf
push ebx
call dword [sym.imp.msvcrt.dll_setlocale]
pop ecx
pop ecx
push ebx
call dword [sym.imp.KERNEL32.dll_SetThreadUILanguage]
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
cmp eax, ebx
je 0x100315c
lea ecx, [ebp - 0x1c]
push ecx
push eax
call dword [sym.imp.SHELL32.dll_CommandLineToArgvW]
mov edi, eax
cmp edi, ebx
je 0x1003175
lea eax, [ebp - 0x54]
push eax
call fcn.010011fd
push 0xfffffffffffffff5
mov dword [ebp - 8], ebx
mov dword [ebp - 0x14], ebx
call dword [sym.imp.KERNEL32.dll_GetStdHandle]
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 8]
push eax
push dword [ebp - 0x1c]
lea eax, [ebp - 0x54]
push edi
push eax
call fcn.010021c0
cmp eax, 0x667
je 0x1003183
mov ecx, 0x2e4
cmp eax, ecx
je 0x100318f
cmp eax, ebx
jne 0x10031c5
cmp dword [ebp - 0x54], ebx
sete byte [ebp - 0x18]
cmp byte [ebp - 0x18], 1
jne 0x1002471
push ebx
push ebx
call dword [sym.imp.ole32.dll_CoInitializeEx]
lea eax, [ebp - 0xc]
push eax
call fcn.01001473
lea eax, [ebp - 0x10]
push eax
call fcn.010032e4
cmp dword [ebp - 0x28], ebx
push 0x2710
sete byte [ebp - 1]
call fcn.01001708
pop ecx
cmp dword [ebp - 0x54], ebx
jne 0x10031d8
mov al, 1
cmp al, bl
je 0x10024a9
push dword [ebp - 0x10]
push dword [ebp - 0xc]
push dword [ebp - 0x18]
cmp byte [ebp - 1], bl
jne 0x100329c
call fcn.01001e4a
push edi
call dword [sym.imp.KERNEL32.dll_GlobalFree]
lea eax, [ebp - 0xc]
push eax
call 0x10024d5
lea eax, [ebp - 0x10]
push eax
call 0x10024d5
call dword [sym.imp.ole32.dll_CoUninitialize]
push ebx
call dword [sym.imp.msvcrt.dll_exit]
add byte [eax - 0x6f6f6f70], dl
mov edi, edi
push ebp
mov ebp, esp
push esi
mov esi, dword [ebp + 8]
test esi, esi
je 0x10024f1
mov eax, dword [esi]
test eax, eax
je 0x10024f1
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
and dword [esi], 0
pop esi
pop ebp
ret 4
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x10032c8
call sub.ntdll.dll_DbgPrint
pop ecx
pop ecx
push esi
jmp 0x10024c9
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x10032ac
jmp 0x1003168
push 0x28aa
call fcn.01001708
jmp 0x100316e
push ebx
push ebx
lea eax, [ebp - 8]
push eax
push ebx
push ecx
push ebx
push 0x1100
mov dword [ebp - 8], ebx
call dword [sym.imp.KERNEL32.dll_FormatMessageW]
test eax, eax
jbe 0x10031ba
push dword [ebp - 8]
push 0x10032a8
call dword [sym.imp.msvcrt.dll_printf]
pop ecx
pop ecx
push dword [ebp - 8]
call dword [sym.imp.KERNEL32.dll_LocalFree]
jmp 0x100316f
push 0x28a9
call fcn.01001708
mov dword [esp], 0x28aa
jmp 0x1003188
cmp dword [ebp - 0x50], ebx
jne 0x10031e7
push dword [ebp - 8]
call fcn.01003f94
jmp 0x1003266
cmp dword [ebp - 0x4c], ebx
jne 0x10031f6
push dword [ebp - 8]
call fcn.01003feb
jmp 0x1003266
cmp dword [ebp - 0x48], ebx
jne 0x1003205
call fcn.01004847
jmp 0x10024a9
cmp dword [ebp - 0x44], ebx
jne 0x1003214
call fcn.0100487f
jmp 0x10024a9
cmp dword [ebp - 0x40], ebx
jne 0x1003223
call fcn.01004fab
jmp 0x10024a9
cmp dword [ebp - 0x3c], ebx
jne 0x1003235
push dword [ebp - 8]
call fcn.01004042
jmp 0x10024a9
cmp dword [ebp - 0x38], ebx
jne 0x100324a
push dword [ebp - 0x14]
push dword [ebp - 8]
call fcn.010042c0
jmp 0x10024a9
cmp dword [ebp - 0x24], ebx
jne 0x1003259
push dword [ebp - 8]
call fcn.01003ec8
jmp 0x1003266
cmp dword [ebp - 0x20], ebx
jne 0x1003271
push dword [ebp - 8]
call fcn.01003f0c
neg eax
sbb al, al
inc al
jmp 0x100248e
cmp dword [ebp - 0x34], ebx
jne 0x1003283
push dword [ebp - 8]
call fcn.01003f50
jmp 0x10024a9
cmp dword [ebp - 0x30], ebx
jne 0x1002492
push dword [ebp - 0x14]
push dword [ebp - 8]
call fcn.01004606
jmp 0x10024a9
call fcn.01005082
jmp 0x10024a9