Function at 0x428ba0
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x11420
call fcn.0042b680
push ebx
push esi
push edi
mov esi, ecx
call fcn.00428f78
mov ax, word [ebp + 8]
push 0x400
mov word [0x451d3a], ax
lea eax, [ebp - 0x420]
push eax
mov al, byte [esi + 0x34b3]
push eax
mov ecx, esi
call fcn.00425d04
lea eax, [ebp - 0x420]
mov ebx, 0x8000
push eax
lea eax, [ebp - 0x8420]
push ebx
push eax
movzx eax, word [0x451d3a]
mov edi, 0x454168
push dword [eax*4 + 0x435ba8]
push edi
call fcn.00420804
add esp, 0x14
lea eax, [ebp - 0x8420]
push eax
push str.Set_print_spooler_message_to___s_
push dword [esi + 0x58]
call fcn.0041e63d
add esp, 0xc
lea eax, [ebp - 0x8420]
mov ecx, 0x453670
push 3
push eax
push 8
call fcn.004278da
lea eax, [esi + 0x3ce8]
push 0x2c
push 0
push eax
call fcn.0042b620
add esp, 0xc
lea eax, [ebp - 0x420]
push eax
movzx eax, word [esi + 0x3cd0]
push eax
push 1
lea eax, [ebp - 0x8420]
push ebx
push eax
movzx eax, word [0x451d3a]
push dword [eax*4 + 0x435b98]
push edi
call fcn.00420804
add esp, 0x1c
lea eax, [ebp - 0x8420]
mov dword [esi + 0x3ce8], eax
mov dword [esi + 0x3cf8], 3
push 1
pop eax
mov dword [esi + 0x3cf4], eax
cmp word [0x451d3a], 0
jne 0x428dec
mov al, byte [esi + 0x34b3]
cmp al, 0x16
ja 0x428cb6
movzx eax, al
jmp 0x428cb9
push 0x16
pop eax
mov al, byte [eax + 0x435bb8]
xor edx, edx
mov byte [0x451d36], al
movzx ecx, byte [esi + 0x3ce3]
movzx cx, byte [ecx + 0x435bd0]
mov word [0x451d38], cx
mov cl, byte [esi + 0x3ce3]
shr cl, 1
and cl, 1
cmp word [esi + 0x3ce0], 2
movzx cx, cl
sete dl
xor ecx, edx
xor edx, edx
cmp al, 1
lea eax, [ebp - 0x420]
push eax
lea eax, [ebp - 0x11420]
push ebx
push eax
mov ax, word [0x452f08]
sete dl
xor ecx, edx
neg ax
sbb eax, eax
mov word [0x451d34], cx
and al, 0xef
add eax, 0x10046
push eax
push edi
call fcn.00420804
movzx eax, word [esi + 0x3cd0]
add esp, 0x14
cmp eax, dword [0x452f10]
jb 0x428d5b
push eax
push 1
lea eax, [ebp - 0x11420]
push ebx
push eax
push 0x10036
push edi
call fcn.00420848
add esp, 0x18
cmp word [esi + 0x3cde], 0
je 0x428d79
lea eax, [ebp - 0x11420]
push ebx
push eax
push 0x10037
mov ecx, edi
call fcn.004207d1
lea eax, [ebp - 0x11420]
mov dword [esi + 0x3d04], 0x140
mov dword [esi + 0x3cec], eax
mov dword [esi + 0x3d08], 0xf0
mov dword [esi + 0x3d0c], 0x64
cmp byte [0x451d36], 1
mov ecx, 0x44dbec
je 0x428db6
mov ecx, 0x44dbe8
cmp word [esi + 0x3ce0], 2
mov eax, str.Short
je 0x428dca
mov eax, str.Long
movzx edx, byte [esi + 0x3ce3]
push dword [edx*4 + 0x442a74]
push ecx
push eax
push str.Show_manual_duplex_paper_turn_dialog___s_edge_bind__s__s_
push dword [esi + 0x58]
call fcn.0041e63d
add esp, 0x14
jmp 0x428e15
mov dword [esi + 0x3cf0], 0x30
cmp word [0x451d3a], ax
jne 0x428e06
push str.Show_manual_duplex_dialog_to_request_user_to_remove_existing_paper_from_bypass_cassette
jmp 0x428e0b
push str.Show_manual_duplex_dialog_to_request_user_to_set_paper_size_for_bypass_cassette
push dword [esi + 0x58]
call fcn.0041e63d
pop ecx
pop ecx
xor ebx, ebx
cmp word [0x452ef4], bx
je 0x428edf
push 0x455106
lea eax, [ebp - 0x9420]
push 0x1000
push eax
push 0x10032
push edi
call fcn.00420804
lea eax, [ebp - 0x9420]
mov cx, word [0x451d38]
mov dword [ebp - 0x1c], eax
lea eax, [ebp - 0x8420]
mov dword [ebp - 0x18], eax
mov eax, dword [esi + 0x3cec]
mov dword [ebp - 0x14], eax
mov ax, word [0x451d34]
add esp, 0x14
mov dword [ebp - 8], ebx
neg ax
sbb eax, eax
sub cx, 2
and eax, 4
push 0x4553b0
neg cx
sbb ecx, ecx
and ecx, 0xfffffffe
inc ecx
inc ecx
or eax, ecx
xor ecx, ecx
cmp byte [0x451d36], 1
sete cl
or eax, ecx
mov ecx, 0x451cd8
mov dword [ebp - 4], eax
mov eax, dword [0x4553b8]
mov dword [ebp - 0xc], eax
lea eax, [esi + 0x3620]
mov dword [ebp - 0x10], eax
lea eax, [ebp - 0x1c]
push eax
call fcn.00422661
test ax, ax
jne 0x428edf
push str.Displaying_duplex_dialog_using_RemoteUI
mov dword [0x4553b4], esi
push dword [esi + 0x58]
call fcn.0041e63d
pop ecx
pop ecx
xor ax, ax
pop edi
pop esi
pop ebx
leave
ret 4
cmp word [0x451d3a], bx
jne 0x428f0c
mov ecx, esi
call fcn.00428fde
mov ecx, 0x451d28
call fcn.0042878c
test ax, ax
jne 0x428f6f
cmp dword [0x451d30], ebx
jne 0x428f0c
mov dword [esi + 0x3d04], ebx
push dword [0x451d2c]
call dword [sym.imp.KERNEL32.dll_ResetEvent]
lea eax, [ebp - 0x20]
mov word [esi + 0x18bc], bx
push eax
push ebx
push esi
push 0x429109
push ebx
push ebx
call fcn.0042b9c1
add esp, 0x18
cmp eax, ebx
mov dword [esi + 0x3ce4], eax
jne 0x428f45
push str.Failed_to_create_duplex_thread
jmp 0x428f65
push 0xffffffffffffffff
push dword [0x451d2c]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
cmp word [esi + 0x18bc], bx
jne 0x428ed5
push str.Failed_to_create_duplex_dialog
push dword [esi + 0x58]
call fcn.0041e63d
pop ecx
pop ecx
mov ax, 0x264
jmp 0x428ed8