Function at 0x402460
Capabilities:
Copy file
Get common file path

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x135c
call fcn.004316c0
mov eax, dword [0x45b854]
xor eax, ebp
mov dword [ebp - 8], eax
mov dword [ebp - 0x135c], ecx
push str.__________________________________Start_AddMonitor______
mov ecx, dword [ebp - 0x135c]
add ecx, 8
call fcn.00401520
mov dword [ebp - 4], 0
mov dword [ebp - 0x120], 0
mov dword [ebp - 0x123c], 0
mov byte [ebp - 0x130], 0
xor eax, eax
mov dword [ebp - 0x12f], eax
mov dword [ebp - 0x12b], eax
mov dword [ebp - 0x127], eax
mov word [ebp - 0x123], ax
mov byte [ebp - 0x121], al
lea ecx, [ebp - 0x120]
push ecx
lea edx, [ebp - 4]
push edx
push 0x1000
lea eax, [ebp - 0x1238]
push eax
push 1
push 0
call sub.WINSPOOL.DRV_EnumMonitorsA
test eax, eax
je 0x402580
lea ecx, [ebp - 0x1238]
mov dword [ebp - 0x123c], ecx
mov dword [ebp - 0x1240], 0
jmp 0x402522
mov edx, dword [ebp - 0x1240]
add edx, 1
mov dword [ebp - 0x1240], edx
mov eax, dword [ebp - 0x1240]
cmp eax, dword [ebp - 0x120]
jge 0x40256b
push 0x448cc8
mov ecx, dword [ebp - 0x1240]
mov edx, dword [ebp - 0x123c]
mov eax, dword [edx + ecx*4]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpA]
test eax, eax
jne 0x402569
push 0x448ce0
mov ecx, dword [ebp - 0x135c]
add ecx, 8
call fcn.00401520
xor eax, eax
jmp 0x40294d
jmp 0x402513
push 0x448d00
mov ecx, dword [ebp - 0x135c]
add ecx, 8
call fcn.00401520
jmp 0x4025a1
push 0x448d40
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
mov ecx, dword [ebp - 0x135c]
add ecx, 8
call fcn.004015d0
xor eax, eax
jmp 0x40294d
mov cl, byte [0x4489d7]
mov byte [ebp - 0x238], cl
push 0x103
push 0
lea edx, [ebp - 0x237]
push edx
call fcn.00430be0
add esp, 0xc
mov al, byte [0x4489e3]
mov byte [ebp - 0x110], al
push 0x103
push 0
lea ecx, [ebp - 0x10f]
push ecx
call fcn.00430be0
add esp, 0xc
push 0x448d68
mov edx, dword [ebp - 0x135c]
add edx, 0x140
push edx
call fcn.00401690
add esp, 8
test eax, eax
jne 0x4027c5
push 0x448d74
mov eax, dword [ebp - 0x135c]
mov ecx, dword [eax]
push ecx
push str._sx64_s
lea edx, [ebp - 0x110]
push edx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x10
push 0x448d94
lea eax, [ebp - 0x130]
push eax
call fcn.004308f0
add esp, 8
mov byte [ebp - 0x1348], 0
push 0x104
push 0
lea ecx, [ebp - 0x1347]
push ecx
call fcn.00430be0
add esp, 0xc
mov dword [ebp - 0x1350], 0
push 0x104
lea edx, [ebp - 0x1348]
push edx
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryA]
push str.Kernel32.dll
lea eax, [ebp - 0x1348]
push eax
call fcn.00430900
add esp, 8
lea ecx, [ebp - 0x1348]
push ecx
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov dword [ebp - 0x134c], eax
cmp dword [ebp - 0x134c], 0
je 0x4027c0
push str.Wow64DisableWow64FsRedirection
mov edx, dword [ebp - 0x134c]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [ebp - 0x1354], eax
cmp dword [ebp - 0x1354], 0
jne 0x4026df
mov eax, dword [ebp - 0x134c]
push eax
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
xor eax, eax
jmp 0x40294d
lea ecx, [ebp - 0x1358]
push ecx
call dword [ebp - 0x1354]
mov dword [ebp - 0x1350], eax
push 0x104
lea edx, [ebp - 0x238]
push edx
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryA]
push 0x448dd0
lea eax, [ebp - 0x238]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatA]
push 0x448dd4
lea ecx, [ebp - 0x238]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
lea edx, [ebp - 0x238]
push edx
mov ecx, dword [ebp - 0x135c]
add ecx, 8
call fcn.00401520
push 0
lea eax, [ebp - 0x238]
push eax
lea ecx, [ebp - 0x110]
push ecx
call dword [sym.imp.KERNEL32.dll_CopyFileA]
test eax, eax
jne 0x402778
push 0x448de8
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
mov ecx, dword [ebp - 0x135c]
add ecx, 8
call fcn.004015d0
xor eax, eax
jmp 0x40294d
push str.Wow64RevertWow64FsRedirection
mov edx, dword [ebp - 0x134c]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [ebp - 0x1354], eax
cmp dword [ebp - 0x1354], 0
jne 0x4027ad
mov eax, dword [ebp - 0x134c]
push eax
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
xor eax, eax
jmp 0x40294d
lea ecx, [ebp - 0x1358]
push ecx
call dword [ebp - 0x1354]
mov dword [ebp - 0x1350], eax
jmp 0x4028b9
push 0x448e24
mov edx, dword [ebp - 0x135c]
add edx, 0x140
push edx
call fcn.00401690
add esp, 8
test eax, eax
jne 0x4028a6
push 0x448e34
mov eax, dword [ebp - 0x135c]
mov ecx, dword [eax]
push ecx
push str._sx86_s
lea edx, [ebp - 0x110]
push edx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x10
push 0x448e54
lea eax, [ebp - 0x130]
push eax
call fcn.004308f0
add esp, 8
push 0x104
lea ecx, [ebp - 0x238]
push ecx
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryA]
push 0x448e64
lea edx, [ebp - 0x238]
push edx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
push 0x448e68
lea eax, [ebp - 0x238]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatA]
lea ecx, [ebp - 0x238]
push ecx
mov ecx, dword [ebp - 0x135c]
add ecx, 8
call fcn.00401520
push 0
lea edx, [ebp - 0x238]
push edx
lea eax, [ebp - 0x110]
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileA]
test eax, eax
jne 0x4028a4
push 0x448e7c
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
mov ecx, dword [ebp - 0x135c]
add ecx, 8
call fcn.004015d0
xor eax, eax
jmp 0x40294d
jmp 0x4028b9
push 0x448e98
mov ecx, dword [ebp - 0x135c]
add ecx, 8
call fcn.00401520
lea ecx, [ebp - 0x110]
push ecx
mov ecx, dword [ebp - 0x135c]
add ecx, 8
call fcn.00401520
lea edx, [ebp - 0x130]
push edx
mov ecx, dword [ebp - 0x135c]
add ecx, 8
call fcn.00401520
mov dword [ebp - 0x11c], str.Hancom_PDF_Port_Monitor
lea eax, [ebp - 0x130]
mov dword [ebp - 0x118], eax
mov dword [ebp - 0x114], str.HNCE2PPRMONP.dll
lea ecx, [ebp - 0x11c]
push ecx
push 2
push 0
call sub.WINSPOOL.DRV_AddMonitorA
test eax, eax
jne 0x402935
push 0x448ef0
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
mov ecx, dword [ebp - 0x135c]
add ecx, 8
call fcn.004015d0
xor eax, eax
jmp 0x40294d
push str.__________________________________End___AddMonitor______
mov ecx, dword [ebp - 0x135c]
add ecx, 8
call fcn.00401520
mov eax, 1
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.004308d4
mov esp, ebp
pop ebp
ret