Function at 0x470e48
Capabilities:
Create process on windows

Disassembly:
push 0x78
mov eax, 0x5ae2be
call fcn.00588aeb
mov eax, dword [ebp + 8]
mov ebx, dword [ebp + 0xc]
mov edi, dword [ebp + 0x10]
mov esi, dword [ebp + 0x14]
xor edx, edx
xor ecx, ecx
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x14], 7
mov dword [ebp - 0x18], edx
mov word [ebp - 0x28], cx
mov dword [ebp - 4], edx
test eax, eax
je 0x471155
cmp cx, word [eax]
je 0x471155
test ebx, ebx
je 0x470e94
xor eax, eax
cmp ax, word [ebx]
jne 0x470eb2
test edi, edi
je 0x470e9f
xor eax, eax
cmp ax, word [edi]
jne 0x470eb2
test esi, esi
je 0x47114e
xor eax, eax
cmp ax, word [esi]
je 0x47114e
push 0x44
push edx
lea eax, [ebp - 0x84]
push eax
call fcn.00587a70
push str.use_printui_I_F._n
xor eax, eax
push str.UpdatePrinterSettings
push 5
mov dword [ebp - 0x84], 0x44
mov dword [ebp - 0x58], 1
mov word [ebp - 0x54], ax
call fcn.00423f75
push str.rundll32_printui.dll_PrintUIEntry
call fcn.00588144
add esp, 0x1c
lea ecx, [ebp - 0x28]
push eax
push str.rundll32_printui.dll_PrintUIEntry
call fcn.00403cef
push 0x5d5b28
call fcn.00588144
pop ecx
push eax
push 0x5d5b28
lea ecx, [ebp - 0x28]
call fcn.00403b92
push str._Xs
call fcn.00588144
pop ecx
push eax
push str._Xs
lea ecx, [ebp - 0x28]
call fcn.00403b92
push str._n__
call fcn.00588144
pop ecx
push eax
push str._n__
lea ecx, [ebp - 0x28]
call fcn.00403b92
mov eax, dword [ebp - 0x2c]
xor ecx, ecx
cmp word [eax], cx
je 0x470f65
push eax
call fcn.00588144
pop ecx
mov ecx, eax
mov eax, dword [ebp - 0x2c]
push ecx
push eax
lea ecx, [ebp - 0x28]
call fcn.00403b92
push 0x5ca810
call fcn.00588144
pop ecx
push eax
push 0x5ca810
lea ecx, [ebp - 0x28]
call fcn.00403b92
test ebx, ebx
je 0x470fee
xor eax, eax
cmp ax, word [ebx]
je 0x470fee
push ebx
push str.pPlace
push str.UpdatePrinterSettings
push 4
call fcn.00423f57
push str._Location__
call fcn.00588144
add esp, 0x14
lea ecx, [ebp - 0x28]
push eax
push str._Location__
call fcn.00403b92
xor eax, eax
cmp word [ebx], ax
je 0x470fce
push ebx
call fcn.00588144
pop ecx
push eax
push ebx
lea ecx, [ebp - 0x28]
call fcn.00403b92
mov ebx, 0x5ca810
push ebx
call fcn.00588144
pop ecx
push eax
push ebx
lea ecx, [ebp - 0x28]
call fcn.00403b92
test edi, edi
je 0x471057
xor eax, eax
cmp ax, word [edi]
je 0x471057
push edi
push str.pComment
push str.UpdatePrinterSettings
push 4
call fcn.00423f57
mov ebx, str._Comment__
push ebx
call fcn.00588144
add esp, 0x14
lea ecx, [ebp - 0x28]
push eax
push ebx
call fcn.00403b92
xor ebx, ebx
cmp word [edi], bx
jne 0x47102e
mov eax, ebx
jmp 0x471035
push edi
call fcn.00588144
pop ecx
push eax
push edi
lea ecx, [ebp - 0x28]
call fcn.00403b92
mov edi, 0x5ca810
push edi
call fcn.00588144
pop ecx
push eax
push edi
lea ecx, [ebp - 0x28]
call fcn.00403b92
jmp 0x471059
xor ebx, ebx
test esi, esi
je 0x4710be
xor eax, eax
cmp ax, word [esi]
je 0x4710be
push esi
push str.pShareName
push str.UpdatePrinterSettings
push 4
call fcn.00423f57
mov edi, str._ShareName__
push edi
call fcn.00588144
add esp, 0x14
lea ecx, [ebp - 0x28]
push eax
push edi
call fcn.00403b92
cmp word [esi], bx
jne 0x471097
mov eax, ebx
jmp 0x47109e
push esi
call fcn.00588144
pop ecx
push eax
push esi
lea ecx, [ebp - 0x28]
call fcn.00403b92
mov esi, str.__attributes_Shared
push esi
call fcn.00588144
pop ecx
push eax
push esi
lea ecx, [ebp - 0x28]
call fcn.00403b92
cmp dword [ebp - 0x14], 8
lea ecx, [ebp - 0x3c]
push ecx
lea ecx, [ebp - 0x84]
push ecx
push ebx
push ebx
push ebx
push ebx
push ebx
lea eax, [ebp - 0x28]
cmovae eax, dword [ebp - 0x28]
push ebx
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_CreateProcessW]
mov esi, eax
test esi, esi
jne 0x4710fe
push str.CreateProcess_failed._n
push str.UpdatePrinterSettings
push 2
call fcn.00423f75
add esp, 0xc
jmp 0x471159
push str.CreateProcess_success._n
push str.UpdatePrinterSettings
push 4
call fcn.00423f75
mov edi, dword [sym.imp.KERNEL32.dll_CloseHandle]
add esp, 0xc
push dword [ebp - 0x38]
call edi
push 0x1f4
call dword [sym.imp.KERNEL32.dll_Sleep]
push 0x64
push dword [ebp - 0x3c]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
cmp eax, 0x102
je 0x47111d
lea eax, [ebp - 0x40]
push eax
push dword [ebp - 0x3c]
call dword [sym.imp.KERNEL32.dll_GetExitCodeProcess]
push dword [ebp - 0x3c]
call edi
jmp 0x471159
xor esi, esi
inc esi
xor ebx, ebx
jmp 0x471159
xor ebx, ebx
mov esi, ebx
push ebx
push 1
lea ecx, [ebp - 0x28]
call fcn.00403a7f
mov eax, esi
call fcn.00588a9a
ret