Function at 0x401fc0
Capabilities:
Link many functions at runtime

Disassembly:
sub esp, 0x30
mov eax, dword [0x412ff8]
push ebx
push esi
push edi
xor edi, edi
push 0x7f00
push edi
mov dword [esp + 0x14], 0x30
mov dword [esp + 0x18], edi
mov dword [esp + 0x1c], 0x402b00
mov dword [esp + 0x20], edi
mov dword [esp + 0x24], edi
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edi
mov dword [esp + 0x40], edi
call dword [sym.imp.USER32.dll_LoadCursorW]
push 0xf
mov dword [esp + 0x2c], eax
call dword [sym.imp.USER32.dll_GetSysColorBrush]
mov esi, dword [sym.imp.USER32.dll_RegisterClassExW]
lea ecx, [esp + 0xc]
push ecx
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], edi
mov dword [esp + 0x38], str.PSW4WindowClass
call esi
test ax, ax
je 0x402242
lea edx, [esp + 0xc]
mov dword [esp + 0x14], 0x404cf0
push edx
mov dword [esp + 0x38], str.ProgressBarWindowClass
call esi
test ax, ax
je 0x402242
mov ebx, dword [sym.imp.KERNEL32.dll_LoadLibraryW]
push str.CAP4PMN.DLL
call ebx
cmp eax, edi
mov dword [0x412db4], eax
je 0x402242
mov esi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.PSM_GetPSWInfo
push eax
call esi
mov dword [0x412bd0], eax
mov eax, dword [0x412db4]
push str.PSM_GetPSWDisplay
push eax
call esi
mov ecx, dword [0x412db4]
push str.PSM_PrinterSpecificProc
push ecx
mov dword [0x413230], eax
call esi
mov edx, dword [0x412db4]
push str.PSM_CreateToolbar
push edx
mov dword [0x4126cc], eax
call esi
mov dword [0x4126c4], eax
mov eax, dword [0x412db4]
push str.PSM_GetMenuHelpText
push eax
call esi
mov ecx, dword [0x412db4]
push str.PSM_GetToolTipText
push ecx
mov dword [0x412dac], eax
call esi
mov edx, dword [0x412db4]
push str.PSM_GetFileName
push edx
mov dword [0x412fe0], eax
call esi
mov ecx, dword [0x412bd0]
mov dword [0x412618], eax
cmp ecx, edi
je 0x402236
cmp dword [0x413230], edi
je 0x402236
cmp dword [0x4126cc], edi
je 0x402236
cmp dword [0x4126c4], edi
je 0x402236
cmp dword [0x412dac], edi
je 0x402236
cmp dword [0x412fe0], edi
je 0x402236
cmp eax, edi
je 0x402236
push str.CAP4SMK.DLL
call ebx
cmp eax, edi
mov dword [0x412fec], eax
je 0x402236
push str.SmPsw_OpenPrinter
push eax
call esi
mov ecx, dword [0x412fec]
push str.SmPsw_ClosePrinter
push ecx
mov dword [0x412d78], eax
call esi
mov edx, dword [0x412fec]
push str.SmPsw_GetPrinterStatus
push edx
mov dword [0x41323c], eax
call esi
mov dword [0x413228], eax
mov eax, dword [0x412fec]
push str.SmPsw_JobRequest
push eax
call esi
mov ecx, dword [0x412fec]
push str.SmPsw_ChangePrinterName
push ecx
mov dword [0x412d74], eax
call esi
mov edx, dword [0x412fec]
push str.SmPsw_StartPolling
push edx
mov dword [0x4123a0], eax
call esi
mov dword [0x412ff4], eax
mov eax, dword [0x412fec]
push str.SmPsw_StopPolling
push eax
call esi
mov ecx, dword [0x412d78]
mov dword [0x41322c], eax
cmp ecx, edi
je 0x402215
cmp dword [0x41323c], edi
je 0x402215
cmp dword [0x413228], edi
je 0x402215
cmp dword [0x412d74], edi
je 0x402215
cmp dword [0x412ff4], edi
je 0x402215
cmp eax, edi
je 0x402215
cmp dword [0x4123a0], edi
je 0x402215
mov eax, 1
pop edi
pop esi
pop ebx
add esp, 0x30
ret
mov ecx, dword [0x412db4]
mov esi, dword [sym.imp.KERNEL32.dll_FreeLibrary]
push ecx
call esi
mov edx, dword [0x412fec]
push edx
call esi
xor eax, eax
pop edi
pop esi
pop ebx
add esp, 0x30
ret
mov eax, dword [0x412db4]
push eax
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
pop edi
pop esi
xor eax, eax
pop ebx
add esp, 0x30
ret