Function at 0x1000e600
Capabilities:
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x60
mov ebx, dword [ebp + 8]
test byte [0x100131d8], 8
jne 0x1000e750
xor eax, eax
mov word [ebp - 0x2c], ax
test ebx, ebx
je 0x1000e7a0
movzx eax, word [ebx]
cmp ax, 0x5c
je 0x1000e738
mov esi, ebx
test ax, ax
je 0x1000e880
mov eax, dword [ebp + 0xc]
mov dword [eax], 0
movzx eax, word [esi]
cmp ax, 0x2c
jne 0x1000e8c0
cmp word [esi + 2], 0x20
lea edi, [esi + 2]
jne 0x1000e669
nop
add edi, 2
cmp word [edi], 0x20
je 0x1000e660
mov edx, dword [sym.imp.ucrtbase.dll_wcsncmp]
mov dword [esp + 8], 0xb
mov dword [esp + 4], str.XcvMonitor
mov dword [ebp - 0x44], edx
mov dword [esp], edi
call edx
mov edx, dword [ebp - 0x44]
test eax, eax
jne 0x1000eefd
mov dword [esp + 4], 0xc
mov dword [esp], 1
call dword [sym.imp.ucrtbase.dll_calloc]
test eax, eax
je 0x1000e8ac
mov dword [eax], 2
lea ebx, [edi + 0x16]
xor edx, edx
mov dword [ebp - 0x44], eax
mov eax, ebx
call sym._monitor_load
mov ecx, dword [ebp - 0x44]
mov dword [ecx + 4], eax
test eax, eax
je 0x1000f063
mov edx, dword [eax + 0x50]
test edx, edx
je 0x1000e707
xor esi, esi
cmp dword [ebp + 0x10], 0
lea edi, [ecx + 8]
je 0x1000e6ea
mov esi, dword [ebp + 0x10]
mov esi, dword [esi + 8]
mov dword [esp + 0xc], edi
mov dword [esp + 8], esi
mov dword [esp + 4], ebx
mov eax, dword [eax + 0x70]
mov dword [ebp - 0x44], ecx
mov dword [esp], eax
call edx
mov ecx, dword [ebp - 0x44]
sub esp, 0x10
mov eax, dword [ecx + 8]
test eax, eax
je 0x1000f089
mov eax, dword [ebp + 0xc]
mov dword [eax], ecx
test byte [0x100131d8], 8
jne 0x1000e7cf
xor eax, eax
test ecx, ecx
setne al
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret 0xc
cmp word [ebx + 2], 0x5c
je 0x1000e808
mov eax, 0x5c
jmp 0x1000e634
mov edx, 0xffffffff
mov eax, ebx
call sym._wine_dbgstr_wn
mov edx, dword [ebp + 0x10]
mov esi, dword [ebp + 0xc]
mov dword [esp + 0xc], str.__s___p___p__n
mov dword [esp + 0x10], eax
mov dword [esp + 0x18], edx
mov dword [esp + 0x14], esi
mov dword [esp + 8], str.fpOpenPrinter
mov dword [esp + 4], 0x100131d8
mov dword [esp], 3
call sym._wine_dbg_log.constprop.0_1
xor eax, eax
mov word [ebp - 0x2c], ax
test ebx, ebx
jne 0x1000e627
mov dword [esp], 4
call dword [sym.imp.ucrtbase.dll_malloc]
mov ecx, eax
test eax, eax
je 0x1000e8ac
mov dword [eax], 0
mov eax, dword [ebp + 0xc]
mov dword [eax], ecx
test byte [0x100131d8], 8
je 0x1000e724
mov dword [esp + 0x10], ecx
mov dword [esp + 0xc], str.___p_n
mov dword [esp + 8], str.fpOpenPrinter
mov dword [esp + 4], 0x100131d8
mov dword [esp], 3
call sym._wine_dbg_log.constprop.0_1
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
jmp 0x1000e724
lea edx, [ebp - 0x2c]
mov eax, ebx
call sym._copy_servername_from_name.part.0
test eax, eax
je 0x1000f0f6
test byte [0x100131d8], 1
jne 0x1000e840
mov eax, dword fs:[0x18]
mov dword [eax + 0x34], 0x709
lea esp, [ebp - 0xc]
xor eax, eax
pop ebx
pop esi
pop edi
pop ebp
ret 0xc
mov edx, 0xffffffff
lea eax, [ebp - 0x2c]
call sym._wine_dbgstr_wn
mov dword [esp + 0xc], str.server__s_not_supported_n
mov dword [esp + 0x10], eax
mov dword [esp + 8], str.fpOpenPrinter
mov dword [esp + 4], 0x100131d8
mov dword [esp], 0
call sym._wine_dbg_log.constprop.0_1
jmp 0x1000e823
mov eax, dword fs:[0x18]
mov dword [eax + 0x34], 0x57
lea esp, [ebp - 0xc]
xor eax, eax
pop ebx
pop esi
pop edi
pop ebp
ret 0xc
mov dword [esp], ebx
mov ebx, dword [sym.imp.ucrtbase.dll_free]
call ebx
mov ecx, dword [ebp - 0x44]
mov dword [esp], ecx
call ebx
mov eax, dword [ebp + 0xc]
xor ecx, ecx
mov dword [eax], 0
jmp 0x1000e717
xor ecx, ecx
jmp 0x1000e8de
lea edx, [ecx + 1]
movzx eax, word [esi + edx*2]
lea edi, [edx + edx]
cmp ax, 0x2c
je 0x1000ebd0
mov ecx, edx
test ax, ax
jne 0x1000e8c8
mov eax, dword [ebp + 0xc]
xor edi, edi
mov dword [eax], 0
movzx eax, word [esi]
cmp ax, 0x2c
jne 0x1000e911
jmp 0x1000ea60
add edi, 1
movzx eax, word [esi + edi*2]
cmp ax, 0x2c
je 0x1000ea60
test ax, ax
jne 0x1000e900
mov eax, dword [ebp + 0xc]
mov edi, dword [sym.imp.ucrtbase.dll_calloc]
mov dword [eax], 0
mov dword [esp + 4], 0x1c
mov dword [esp], 1
call edi
mov ecx, eax
test eax, eax
je 0x1000e712
mov dword [eax], 1
mov dword [ebp - 0x44], eax
mov eax, dword [sym.imp.ucrtbase.dll__wcsdup]
mov dword [esp], ebx
mov dword [ebp - 0x48], eax
call eax
mov ecx, dword [ebp - 0x44]
mov dword [ecx + 8], eax
test eax, eax
je 0x1000f220
mov dword [ebp - 0x44], ecx
mov dword [ebp - 0x3c], 0
mov dword [esp], 0x10013180
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
mov edx, 0xffffffff
mov eax, esi
sub esp, 4
call sym._find_printer_info
mov ecx, dword [ebp - 0x44]
test eax, eax
mov dword [ebp - 0x4c], eax
je 0x1000ed00
mov dword [esp], 0x10013180
call dword [sym.imp.kernel32.dll_LeaveCriticalSection]
mov ecx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x4c]
sub esp, 4
mov edx, dword [ebp + 0x10]
mov dword [ecx + 4], eax
test edx, edx
je 0x1000e9ea
mov eax, dword [ebp + 0x10]
mov eax, dword [eax]
test eax, eax
je 0x1000e9d2
mov dword [ebp - 0x44], ecx
mov dword [esp], eax
mov eax, dword [ebp - 0x48]
call eax
mov ecx, dword [ebp - 0x44]
mov dword [ecx + 0x10], eax
mov eax, dword [ebp + 0x10]
mov eax, dword [eax + 4]
test eax, eax
je 0x1000e9ea
mov dword [ebp - 0x44], ecx
call sym._dup_devmode
mov ecx, dword [ebp - 0x44]
mov dword [ecx + 0x14], eax
mov eax, str.Windows_NT_x86
mov dword [ebp - 0x44], ecx
call sym._open_driver_reg
mov ecx, dword [ebp - 0x44]
test eax, eax
mov esi, eax
je 0x1000ea32
lea eax, [ebp - 0x30]
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
mov dword [esp], esi
call dword [sym.imp.advapi32.dll_RegOpenKeyW]
mov ebx, dword [sym.imp.advapi32.dll_RegCloseKey]
sub esp, 0xc
mov edi, eax
mov dword [esp], esi
call ebx
mov ecx, dword [ebp - 0x44]
sub esp, 4
test edi, edi
je 0x1000ef55
mov ebx, dword [ecx + 0xc]
test ebx, ebx
jne 0x1000e712
mov dword [ebp - 0x44], ecx
mov eax, dword [ebp - 0x48]
mov dword [esp], str.winprint
call eax
mov ecx, dword [ebp - 0x44]
mov dword [ecx + 0xc], eax
jmp 0x1000e712
lea edx, [edi + 1]
lea eax, [edx + edx]
lea ecx, [esi + eax]
mov dword [ebp - 0x44], ecx
movzx ecx, word [ecx]
cmp cx, 0x20
jne 0x1000ea97
mov dword [ebp - 0x48], edi
lea eax, [esi + eax + 2]
lea esi, [esi]
mov edi, eax
movzx ecx, word [eax]
add eax, 2
add edx, 1
cmp cx, 0x20
je 0x1000ea80
mov dword [ebp - 0x44], edi
mov edi, dword [ebp - 0x48]
mov dword [ebp - 0x48], edx
test cx, cx
je 0x1000e916
mov eax, dword [ebp - 0x44]
mov dword [esp + 8], 4
mov dword [esp + 4], str.Job
mov dword [esp], eax
call dword [sym.imp.ucrtbase.dll_wcsncmp]
test eax, eax
jne 0x1000e916
mov edx, dword [ebp - 0x48]
mov dword [esp + 8], 0xa
mov dword [esp + 4], 0
lea eax, [esi + edx*2 + 8]
mov dword [esp], eax
call dword [sym.imp.ucrtbase.dll_wcstoul]
mov edx, edi
mov ebx, eax
mov eax, esi
call sym._find_printer_info
mov esi, eax
test eax, eax
je 0x1000efe0
lea eax, [eax + 0x20]
mov dword [ebp - 0x44], eax
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
mov edi, dword [esi + 0x38]
lea eax, [esi + 0x38]
sub esp, 4
cmp eax, edi
jne 0x1000eb2a
jmp 0x1000efcc
mov edi, dword [edi]
cmp edi, eax
je 0x1000efcc
cmp ebx, dword [edi + 8]
jne 0x1000eb20
mov dword [esp], 8
call dword [sym.imp.ucrtbase.dll_malloc]
mov ecx, eax
test eax, eax
je 0x1000f0ce
mov dword [ecx], 4
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 3
mov dword [esp + 0xc], 0
mov dword [esp + 8], 7
mov dword [esp + 4], 0x80000000
mov eax, dword [edi + 0xc]
mov dword [ebp - 0x48], ecx
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_CreateFileW]
mov ecx, dword [ebp - 0x48]
sub esp, 0x1c
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x44]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_LeaveCriticalSection]
mov eax, esi
sub esp, 4
call sym._release_printer_info
mov ecx, dword [ebp - 0x48]
cmp dword [ecx + 4], 0xffffffff
jne 0x1000e712
mov dword [esp], ecx
call dword [sym.imp.ucrtbase.dll_free]
mov eax, dword [ebp + 0xc]
xor ecx, ecx
mov dword [eax], 0
jmp 0x1000e717
add ecx, 2
lea edx, [ecx + ecx]
lea eax, [esi + edx]
cmp word [eax], 0x20
jne 0x1000ebf4
lea ecx, [esi + ecx*2 + 2]
nop
lea esi, [esi]
mov eax, ecx
add ecx, 2
cmp word [ecx - 2], 0x20
je 0x1000ebe8
mov dword [ebp - 0x44], edx
mov dword [esp + 4], str.Port
mov dword [esp], eax
call dword [sym.imp.ucrtbase.dll_wcscmp]
test eax, eax
jne 0x1000e8e3
mov edx, dword [ebp - 0x44]
mov dword [esp], edx
call dword [sym.imp.ucrtbase.dll_malloc]
mov ebx, eax
test eax, eax
je 0x1000e8ac
mov dword [esp + 8], edi
mov dword [esp + 4], esi
mov dword [esp], eax
call sym._memcpy
xor eax, eax
mov word [ebx + edi], ax
mov dword [esp + 4], 0xc
mov dword [esp], 1
call dword [sym.imp.ucrtbase.dll_calloc]
test eax, eax
je 0x1000f0b1
mov dword [eax], 3
mov dword [ebp - 0x44], eax
mov eax, ebx
call sym._monitor_load_by_port
mov ecx, dword [ebp - 0x44]
mov dword [ecx + 4], eax
test eax, eax
je 0x1000e899
mov edx, dword [eax + 0x1c]
test edx, edx
je 0x1000ef7b
mov edi, dword [eax + 0x28]
test edi, edi
je 0x1000ef7b
mov edi, dword [eax + 0x34]
test edi, edi
je 0x1000ef7b
mov edi, dword [eax + 0x24]
test edi, edi
je 0x1000ef7b
mov edi, dword [eax + 0x30]
test edi, edi
je 0x1000ef7b
lea esi, [ecx + 8]
mov dword [esp + 4], ebx
mov dword [esp + 8], esi
mov eax, dword [eax + 0x70]
mov dword [ebp - 0x44], ecx
mov dword [esp], eax
call edx
sub esp, 0xc
mov dword [esp], ebx
call dword [sym.imp.ucrtbase.dll_free]
mov ecx, dword [ebp - 0x44]
mov eax, dword [ecx + 8]
test eax, eax
jne 0x1000e712
mov dword [esp], ecx
call sym._fpClosePrinter_4
mov eax, dword [ebp + 0xc]
xor ecx, ecx
sub esp, 4
mov dword [eax], 0
jmp 0x1000e717
lea eax, [ebp - 0x40]
mov dword [ebp - 0x44], ecx
mov dword [esp + 8], eax
mov dword [esp + 4], str.SystemCurrentControlSetControlPrintPrinters
mov dword [esp], 0x80000002
call dword [sym.imp.advapi32.dll_RegCreateKeyW]
mov ecx, dword [ebp - 0x44]
sub esp, 0xc
test eax, eax
je 0x1000ed7a
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x44], ecx
mov dword [esp], eax
call dword [sym.imp.advapi32.dll_RegCloseKey]
mov ecx, dword [ebp - 0x44]
sub esp, 4
mov dword [ebp - 0x44], ecx
mov dword [esp], 0x10013180
call dword [sym.imp.kernel32.dll_LeaveCriticalSection]
mov ecx, dword [ebp - 0x44]
sub esp, 4
mov dword [ecx + 4], 0
mov dword [esp], ecx
call sym._fpClosePrinter_4
xor ecx, ecx
mov eax, dword fs:[0x18]
sub esp, 4
mov dword [eax + 0x34], 0x709
jmp 0x1000e712
lea eax, [ebp - 0x3c]
mov dword [ebp - 0x50], ecx
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x40]
mov dword [esp + 4], esi
mov dword [esp], eax
call dword [sym.imp.advapi32.dll_RegOpenKeyW]
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x40]
sub esp, 0xc
mov dword [esp], eax
mov eax, dword [sym.imp.advapi32.dll_RegCloseKey]
mov dword [ebp - 0x44], eax
call eax
mov edx, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x50]
sub esp, 4
test edx, edx
jne 0x1000ed3e
mov dword [ebp - 0x4c], ecx
mov dword [esp + 4], 0x40
mov dword [esp], 1
call edi
mov ecx, dword [ebp - 0x4c]
test eax, eax
mov edi, eax
je 0x1000f1f4
mov dword [ebp - 0x4c], ecx
mov eax, dword [ebp - 0x48]
mov dword [esp], esi
call eax
mov edx, 0x1001636c
mov dword [edi], eax
mov eax, dword [ebp - 0x3c]
call sym._reg_query_value
mov edx, str.Print_Processor
mov dword [edi + 0x10], eax
mov eax, dword [ebp - 0x3c]
call sym._reg_query_value
mov edx, str.Datatype
mov dword [edi + 0x14], eax
mov eax, dword [ebp - 0x3c]
call sym._reg_query_value
mov dword [ebp - 0x30], 4
mov dword [edi + 0x18], eax
lea eax, [ebp - 0x30]
mov dword [esp + 0x14], eax
lea eax, [ebp - 0x34]
mov dword [esp + 0x10], eax
lea eax, [ebp - 0x38]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x3c]
mov dword [esp + 8], 0
mov dword [esp + 4], str.Attributes
mov dword [esp], eax
call dword [sym.imp.advapi32.dll_RegQueryValueExW]
mov ecx, dword [ebp - 0x4c]
mov edx, eax
sub esp, 0x18
xor eax, eax
test edx, edx
jne 0x1000ee64
cmp dword [ebp - 0x38], 4
jne 0x1000ee64
mov eax, dword [ebp - 0x34]
mov dword [edi + 0x1c], eax
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x4c], ecx
mov dword [esp], eax
mov eax, dword [ebp - 0x44]
call eax
mov eax, dword [edi]
mov ecx, dword [ebp - 0x4c]
sub esp, 4
test eax, eax
je 0x1000ef9c
mov esi, dword [edi + 0x10]
test esi, esi
je 0x1000ef9c
mov edx, dword [edi + 0x14]
test edx, edx
je 0x1000ef9c
mov esi, dword [edi + 0x18]
test esi, esi
je 0x1000ef9c
mov edx, dword [0x1001314c]
lea eax, [edi + 4]
mov dword [ebp - 0x44], ecx
mov dword [edi + 0xc], 1
mov dword [edi + 4], edx
mov dword [edi + 8], 0x1001314c
mov dword [0x1001314c], eax
mov dword [edx + 4], eax
lea eax, [edi + 0x20]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_InitializeCriticalSection]
lea eax, [edi + 0x38]
sub esp, 4
mov dword [edi + 0x3c], eax
mov dword [edi + 0x38], eax
mov dword [esp], 0x10013180
call dword [sym.imp.kernel32.dll_LeaveCriticalSection]
mov ecx, dword [ebp - 0x44]
mov eax, edi
sub esp, 4
jmp 0x1000e9ae
mov dword [esp + 8], 8
mov dword [esp + 4], str.XcvPort
mov dword [esp], edi
call edx
test eax, eax
jne 0x1000effd
mov dword [esp + 4], 0xc
lea ebx, [edi + 0x10]
mov dword [esp], 1
call dword [sym.imp.ucrtbase.dll_calloc]
test eax, eax
je 0x1000e8ac
mov dword [eax], 2
mov dword [ebp - 0x44], eax
mov eax, ebx
call sym._monitor_load_by_port
mov ecx, dword [ebp - 0x44]
mov dword [ecx + 4], eax
jmp 0x1000e6ca
mov eax, dword [ebp - 0x30]
mov edx, str.Print_Processor
call sym._reg_query_value
mov ecx, dword [ebp - 0x44]
mov dword [ecx + 0xc], eax
mov eax, dword [ebp - 0x30]
mov dword [esp], eax
call ebx
mov ecx, dword [ebp - 0x44]
sub esp, 4
jmp 0x1000ea32
test byte [0x100131d8], 1
jne 0x1000f024
mov dword [ebp - 0x44], ecx
mov dword [esp], ebx
call dword [sym.imp.ucrtbase.dll_free]
mov ecx, dword [ebp - 0x44]
jmp 0x1000ecde
mov dword [ebp - 0x44], ecx
mov ebx, dword [sym.imp.ucrtbase.dll_free]
mov dword [esp], eax
call ebx
mov eax, dword [edi + 0x10]
mov dword [esp], eax
call ebx
mov eax, dword [edi + 0x14]
mov dword [esp], eax
call ebx
mov eax, dword [edi + 0x18]
mov dword [esp], eax
call ebx
mov dword [esp], edi
call ebx
jmp 0x1000ed41
mov eax, dword [ebp - 0x44]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_LeaveCriticalSection]
push eax
mov eax, esi
call sym._release_printer_info
mov eax, dword fs:[0x18]
mov dword [eax + 0x34], 0x709
mov eax, dword [ebp + 0xc]
xor ecx, ecx
mov dword [eax], 0
jmp 0x1000e717
mov eax, dword [ebp + 0xc]
mov dword [eax], 0
movzx eax, word [esi]
cmp ax, 0x2c
jne 0x1000e8c0
mov edx, 2
mov ecx, 1
xor edi, edi
jmp 0x1000ebd6
mov edx, 0xffffffff
mov eax, esi
mov dword [ebp - 0x44], ecx
call sym._wine_dbgstr_wn
mov dword [esp + 0xc], str.port_not_supported:__s_n
mov dword [esp + 0x10], eax
mov dword [esp + 8], str.port_alloc_handle
mov dword [esp + 4], 0x100131d8
mov dword [esp], 0
call sym._wine_dbg_log.constprop.0_1
mov ecx, dword [ebp - 0x44]
jmp 0x1000ef88
mov dword [esp], ecx
call dword [sym.imp.ucrtbase.dll_free]
xor ecx, ecx
mov eax, dword fs:[0x18]
mov dword [eax + 0x34], 0x704
mov eax, dword [ebp + 0xc]
mov dword [eax], 0
jmp 0x1000e717
mov dword [esp], ecx
call sym._fpClosePrinter_4
xor ecx, ecx
mov eax, dword fs:[0x18]
mov dword [eax + 0x34], 0x57
mov eax, dword [ebp + 0xc]
sub esp, 4
mov dword [eax], 0
jmp 0x1000e717
mov dword [ebp - 0x44], eax
mov dword [esp], ebx
call dword [sym.imp.ucrtbase.dll_free]
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp - 0x44]
mov dword [eax], 0
jmp 0x1000e717
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x48], ecx
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_LeaveCriticalSection]
push eax
mov eax, esi
call sym._release_printer_info
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp - 0x48]
mov dword [eax], 0
jmp 0x1000e717
movzx eax, word [ebx]
cmp ax, 0x5c
jne 0x1000e634
cmp word [ebx + 2], 0x5c
jne 0x1000e743
lea eax, [ebx + 4]
mov dword [esp + 4], 0x5c
mov dword [esp], eax
call dword [sym.imp.ucrtbase.dll_wcschr]
mov edi, eax
test eax, eax
je 0x1000f1a0
cmp word [eax + 2], 0
je 0x1000f1a0
lea esi, [eax + 2]
cmp ebx, esi
je 0x1000e63f
test byte [0x100131d8], 8
je 0x1000e63f
or edx, 0xffffffff
mov eax, esi
call sym._wine_dbgstr_wn
or edx, 0xffffffff
mov dword [ebp - 0x44], eax
mov eax, ebx
call sym._wine_dbgstr_wn
mov ecx, dword [ebp - 0x44]
mov dword [esp + 0xc], str.converted__s_to__s_n
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], ecx
mov dword [esp + 8], str.fpOpenPrinter
mov dword [esp + 4], 0x100131d8
mov dword [esp], 3
call sym._wine_dbg_log.constprop.0_1
movzx eax, word [edi + 2]
jmp 0x1000e636
test byte [0x100131d8], 8
je 0x1000e7a0
or edx, 0xffffffff
xor eax, eax
call sym._wine_dbgstr_wn
or edx, 0xffffffff
mov esi, eax
mov eax, ebx
call sym._wine_dbgstr_wn
mov dword [esp + 0x14], esi
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], str.converted__s_to__s_n
mov dword [esp + 8], str.fpOpenPrinter
mov dword [esp + 4], 0x100131d8
mov dword [esp], 3
call sym._wine_dbg_log.constprop.0_1
jmp 0x1000e7a0
mov dword [ebp - 0x48], ecx
mov dword [esp], 0x10013180
call dword [sym.imp.kernel32.dll_LeaveCriticalSection]
mov eax, dword [ebp - 0x3c]
push edi
mov dword [esp], eax
mov eax, dword [ebp - 0x44]
call eax
mov ecx, dword [ebp - 0x48]
push eax
mov dword [ecx + 4], 0
jmp 0x1000ed5b
mov dword [esp], ecx
call sym._fpClosePrinter_4
xor ecx, ecx
push eax
jmp 0x1000e712