Function at 0x402c80
Capabilities:
Link many functions at runtime

Disassembly:
sub esp, 0x30
mov eax, dword [0x41b418]
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], 0x4037c0
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.PSW3WindowClass
call esi
test ax, ax
je 0x402f02
lea edx, [esp + 0xc]
mov dword [esp + 0x14], 0x4064d0
push edx
mov dword [esp + 0x38], str.ProgressBarWindowClass
call esi
test ax, ax
je 0x402f02
mov ebx, dword [sym.imp.KERNEL32.dll_LoadLibraryW]
push str.CAP3PMN.DLL
call ebx
cmp eax, edi
mov dword [0x41b1c0], eax
je 0x402f02
mov esi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.PSM_GetPSWInfo
push eax
call esi
mov dword [0x41af08], eax
mov eax, dword [0x41b1c0]
push str.PSM_GetPSWDisplay
push eax
call esi
mov ecx, dword [0x41b1c0]
push str.PSM_PrinterSpecificProc
push ecx
mov dword [0x41b650], eax
call esi
mov edx, dword [0x41b1c0]
push str.PSM_CreateToolbar
push edx
mov dword [0x41a7f0], eax
call esi
mov dword [0x41a7e8], eax
mov eax, dword [0x41b1c0]
push str.PSM_GetMenuHelpText
push eax
call esi
mov ecx, dword [0x41b1c0]
push str.PSM_GetToolTipText
push ecx
mov dword [0x41b1b8], eax
call esi
mov edx, dword [0x41b1c0]
push str.PSM_GetFileName
push edx
mov dword [0x41b400], eax
call esi
mov ecx, dword [0x41af08]
mov dword [0x41a738], eax
cmp ecx, edi
je 0x402ef6
cmp dword [0x41b650], edi
je 0x402ef6
cmp dword [0x41a7f0], edi
je 0x402ef6
cmp dword [0x41a7e8], edi
je 0x402ef6
cmp dword [0x41b1b8], edi
je 0x402ef6
cmp dword [0x41b400], edi
je 0x402ef6
cmp eax, edi
je 0x402ef6
push str.CAP3SMK.DLL
call ebx
cmp eax, edi
mov dword [0x41b40c], eax
je 0x402ef6
push str.SmPsw_OpenPrinter
push eax
call esi
mov ecx, dword [0x41b40c]
push str.SmPsw_ClosePrinter
push ecx
mov dword [0x41b0b8], eax
call esi
mov edx, dword [0x41b40c]
push str.SmPsw_GetPrinterStatus
push edx
mov dword [0x41b86c], eax
call esi
mov dword [0x41b648], eax
mov eax, dword [0x41b40c]
push str.SmPsw_JobRequest
push eax
call esi
mov ecx, dword [0x41b40c]
push str.SmPsw_ChangePrinterName
push ecx
mov dword [0x41b0b4], eax
call esi
mov edx, dword [0x41b40c]
push str.SmPsw_StartPolling
push edx
mov dword [0x41a4d4], eax
call esi
mov dword [0x41b414], eax
mov eax, dword [0x41b40c]
push str.SmPsw_StopPolling
push eax
call esi
mov ecx, dword [0x41b0b8]
mov dword [0x41b64c], eax
cmp ecx, edi
je 0x402ed5
cmp dword [0x41b86c], edi
je 0x402ed5
cmp dword [0x41b648], edi
je 0x402ed5
cmp dword [0x41b0b4], edi
je 0x402ed5
cmp dword [0x41b414], edi
je 0x402ed5
cmp eax, edi
je 0x402ed5
cmp dword [0x41a4d4], edi
je 0x402ed5
mov eax, 1
pop edi
pop esi
pop ebx
add esp, 0x30
ret
mov ecx, dword [0x41b1c0]
mov esi, dword [sym.imp.KERNEL32.dll_FreeLibrary]
push ecx
call esi
mov edx, dword [0x41b40c]
push edx
call esi
xor eax, eax
pop edi
pop esi
pop ebx
add esp, 0x30
ret
mov eax, dword [0x41b1c0]
push eax
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
pop edi
pop esi
xor eax, eax
pop ebx
add esp, 0x30
ret