Function at 0x1042ffc
Capabilities:
Accept command line arguments
Create process on windows

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x240
mov eax, dword [0x1072c48]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push ebx
push esi
push edi
mov esi, 0x104
push esi
mov dword [ebp - 0x240], eax
push 1
lea eax, [ebp - 0x234]
push eax
xor edi, edi
call fcn.01058c4e
test eax, eax
je 0x10432de
lea eax, [ebp - 0x234]
push eax
call fcn.01055e5e
push 0x100429c
push esi
lea eax, [ebp - 0x234]
push eax
call fcn.010358a6
test eax, eax
jl 0x10432de
lea eax, [ebp - 0x234]
push eax
call fcn.010561eb
test eax, eax
je 0x10432de
push esi
lea eax, [ebp - 0x234]
push eax
push eax
call fcn.010582f3
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
mov esi, eax
mov dword [ebp - 0x23c], esi
cmp esi, edi
je 0x10432c9
mov dword [ebp - 0x238], esi
lea edx, [eax + 2]
mov cx, word [eax]
inc eax
inc eax
cmp cx, di
jne 0x10430a2
sub eax, edx
sar eax, 1
lea edi, [eax + 1]
xor ecx, ecx
push 2
pop edx
mov eax, edi
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call sub.msvcrt.dll_void____cdecl_operator_new___unsigned_int_
mov ebx, eax
pop ecx
test ebx, ebx
je 0x104316d
push esi
push edi
push ebx
call fcn.01035831
test eax, eax
jl 0x1043166
push ebx
call dword [sym.imp.msvcrt.dll__wcslwr]
mov edi, dword [sym.imp.msvcrt.dll_wcsstr]
mov dword [esp], 0x1004c78
push ebx
call edi
pop ecx
pop ecx
test eax, eax
je 0x1043117
push 0x22
add eax, 0x1a
pop ecx
cmp cx, word [eax]
jne 0x104310e
inc eax
inc eax
sub eax, ebx
sar eax, 1
lea eax, [esi + eax*2]
jmp 0x1043157
push 0x1004c64
push ebx
call edi
mov esi, eax
pop ecx
pop ecx
test esi, esi
je 0x104315f
add esi, 0x12
push 0x100429c
push esi
call edi
pop ecx
pop ecx
test eax, eax
je 0x104314a
mov ecx, dword [ebp - 0x23c]
sub eax, ebx
add eax, 0x18
sar eax, 1
lea eax, [ecx + eax*2]
jmp 0x1043157
mov eax, dword [ebp - 0x23c]
sub esi, ebx
sar esi, 1
lea eax, [eax + esi*2]
mov dword [ebp - 0x238], eax
jmp 0x1043166
and dword [ebp - 0x238], 0
push ebx
call sub.msvcrt.dll_void___cdecl_operator_delete___void__
pop ecx
mov ebx, dword [ebp - 0x240]
push 5
pop ecx
mov esi, 0x1004c4c
lea edi, [ebp - 0x1c]
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
test ebx, ebx
je 0x1043220
cmp word [ebx], 0
je 0x1043220
mov esi, 0x1004c3c
lea edi, [ebp - 0x2c]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
lea eax, [ebp - 0x1c]
movsw word es:[edi], word [esi]
lea edx, [eax + 2]
mov cx, word [eax]
inc eax
inc eax
test cx, cx
jne 0x10431a7
sub eax, edx
sar eax, 1
mov esi, eax
lea eax, [ebp - 0x2c]
lea ecx, [eax + 2]
mov dx, word [eax]
inc eax
inc eax
test dx, dx
jne 0x10431bd
sub eax, ecx
sar eax, 1
mov ecx, eax
mov eax, ebx
lea edx, [eax + 2]
mov di, word [eax]
inc eax
inc eax
test di, di
jne 0x10431d2
sub eax, edx
sar eax, 1
add eax, ecx
lea edi, [eax + esi + 1]
xor ecx, ecx
push 2
pop edx
mov eax, edi
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call sub.msvcrt.dll_void____cdecl_operator_new___unsigned_int_
mov esi, eax
pop ecx
test esi, esi
je 0x10432b3
lea eax, [ebp - 0x1c]
push eax
push edi
push esi
call fcn.01035831
lea eax, [ebp - 0x2c]
push eax
push edi
push esi
call fcn.010358a6
push ebx
jmp 0x104328c
cmp dword [ebp - 0x238], 0
je 0x10432b3
mov eax, dword [ebp - 0x238]
lea edx, [eax + 2]
mov cx, word [eax]
inc eax
inc eax
test cx, cx
jne 0x1043236
sub eax, edx
sar eax, 1
mov ecx, eax
lea eax, [ebp - 0x1c]
lea edx, [eax + 2]
mov si, word [eax]
inc eax
inc eax
test si, si
jne 0x104324c
sub eax, edx
sar eax, 1
lea edi, [eax + ecx + 1]
xor ecx, ecx
push 2
pop edx
mov eax, edi
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call sub.msvcrt.dll_void____cdecl_operator_new___unsigned_int_
mov esi, eax
pop ecx
test esi, esi
je 0x10432b3
lea eax, [ebp - 0x1c]
push eax
push edi
push esi
call fcn.01035831
push dword [ebp - 0x238]
push edi
push esi
call fcn.010358a6
push 0xa
xor eax, eax
push eax
push esi
lea ecx, [ebp - 0x234]
push ecx
push eax
push eax
call dword [sym.imp.SHELL32.dll_ShellExecuteW]
push esi
mov edi, eax
call sub.msvcrt.dll_void___cdecl_operator_delete___void__
pop ecx
jmp 0x10432de
push 0xa
xor eax, eax
push eax
push dword [ebp - 0x238]
lea ecx, [ebp - 0x234]
push ecx
push eax
push eax
jmp 0x10432d6
push 0xa
push edi
push edi
lea eax, [ebp - 0x234]
push eax
push edi
push edi
call dword [sym.imp.SHELL32.dll_ShellExecuteW]
mov edi, eax
mov ecx, dword [ebp - 4]
push 0x20
pop eax
cmp eax, edi
pop edi
sbb eax, eax
pop esi
xor ecx, ebp
neg eax
pop ebx
call fcn.01047480
leave
ret 4