Function at 0x472089
Capabilities:
Create process on windows

Disassembly:
push 0x78
mov eax, 0x5b5221
call fcn.0058f792
mov eax, dword [ebp + 8]
xor edx, edx
mov ebx, dword [ebp + 0xc]
xor ecx, ecx
mov edi, dword [ebp + 0x10]
mov esi, dword [ebp + 0x14]
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 0x472396
cmp cx, word [eax]
je 0x472396
test ebx, ebx
je 0x4720d5
xor eax, eax
cmp ax, word [ebx]
jne 0x4720f3
test edi, edi
je 0x4720e0
xor eax, eax
cmp ax, word [edi]
jne 0x4720f3
test esi, esi
je 0x47238f
xor eax, eax
cmp ax, word [esi]
je 0x47238f
push 0x44
push edx
lea eax, [ebp - 0x84]
push eax
call fcn.0058e700
push str.use_printui_I_F._n
xor eax, eax
mov dword [ebp - 0x84], 0x44
push str.UpdatePrinterSettings
push 5
mov dword [ebp - 0x58], 1
mov word [ebp - 0x54], ax
call fcn.00424dad
push str.rundll32_printui.dll_PrintUIEntry
call fcn.0058edd4
add esp, 0x1c
lea ecx, [ebp - 0x28]
push eax
push str.rundll32_printui.dll_PrintUIEntry
call fcn.00404be0
push 0x5dbb88
call fcn.0058edd4
pop ecx
push eax
push 0x5dbb88
lea ecx, [ebp - 0x28]
call fcn.00404a83
push str._Xs
call fcn.0058edd4
pop ecx
push eax
push str._Xs
lea ecx, [ebp - 0x28]
call fcn.00404a83
push str._n__
call fcn.0058edd4
pop ecx
push eax
push str._n__
lea ecx, [ebp - 0x28]
call fcn.00404a83
mov eax, dword [ebp - 0x2c]
xor ecx, ecx
cmp word [eax], cx
je 0x4721a6
push eax
call fcn.0058edd4
pop ecx
mov ecx, eax
mov eax, dword [ebp - 0x2c]
push ecx
push eax
lea ecx, [ebp - 0x28]
call fcn.00404a83
push 0x5d08d8
call fcn.0058edd4
pop ecx
push eax
push 0x5d08d8
lea ecx, [ebp - 0x28]
call fcn.00404a83
test ebx, ebx
je 0x47222f
xor eax, eax
cmp ax, word [ebx]
je 0x47222f
push ebx
push str.pPlace
push str.UpdatePrinterSettings
push 4
call fcn.00424d8f
push str._Location__
call fcn.0058edd4
add esp, 0x14
lea ecx, [ebp - 0x28]
push eax
push str._Location__
call fcn.00404a83
xor eax, eax
cmp word [ebx], ax
je 0x47220f
push ebx
call fcn.0058edd4
pop ecx
push eax
push ebx
lea ecx, [ebp - 0x28]
call fcn.00404a83
mov ebx, 0x5d08d8
push ebx
call fcn.0058edd4
pop ecx
push eax
push ebx
lea ecx, [ebp - 0x28]
call fcn.00404a83
test edi, edi
je 0x472298
xor eax, eax
cmp ax, word [edi]
je 0x472298
push edi
push str.pComment
push str.UpdatePrinterSettings
push 4
call fcn.00424d8f
mov ebx, str._Comment__
push ebx
call fcn.0058edd4
add esp, 0x14
lea ecx, [ebp - 0x28]
push eax
push ebx
call fcn.00404a83
xor ebx, ebx
cmp word [edi], bx
jne 0x47226f
mov eax, ebx
jmp 0x472276
push edi
call fcn.0058edd4
pop ecx
push eax
push edi
lea ecx, [ebp - 0x28]
call fcn.00404a83
mov edi, 0x5d08d8
push edi
call fcn.0058edd4
pop ecx
push eax
push edi
lea ecx, [ebp - 0x28]
call fcn.00404a83
jmp 0x47229a
xor ebx, ebx
test esi, esi
je 0x4722ff
xor eax, eax
cmp ax, word [esi]
je 0x4722ff
push esi
push str.pShareName
push str.UpdatePrinterSettings
push 4
call fcn.00424d8f
mov edi, str._ShareName__
push edi
call fcn.0058edd4
add esp, 0x14
lea ecx, [ebp - 0x28]
push eax
push edi
call fcn.00404a83
cmp word [esi], bx
jne 0x4722d8
mov eax, ebx
jmp 0x4722df
push esi
call fcn.0058edd4
pop ecx
push eax
push esi
lea ecx, [ebp - 0x28]
call fcn.00404a83
mov esi, str.__attributes_Shared
push esi
call fcn.0058edd4
pop ecx
push eax
push esi
lea ecx, [ebp - 0x28]
call fcn.00404a83
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 0x47233f
push str.CreateProcess_failed._n
push str.UpdatePrinterSettings
push 2
call fcn.00424dad
add esp, 0xc
jmp 0x47239a
push str.CreateProcess_success._n
push str.UpdatePrinterSettings
push 4
call fcn.00424dad
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 0x47235e
lea eax, [ebp - 0x40]
push eax
push dword [ebp - 0x3c]
call dword [sym.imp.KERNEL32.dll_GetExitCodeProcess]
push dword [ebp - 0x3c]
call edi
jmp 0x47239a
xor esi, esi
inc esi
xor ebx, ebx
jmp 0x47239a
xor ebx, ebx
mov esi, ebx
push ebx
push 1
lea ecx, [ebp - 0x28]
call fcn.00404970
mov eax, esi
call fcn.0058f741
ret