Function at 0x403cf0
Capabilities:
Copy file

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x2b00
call fcn.004316c0
mov eax, dword [0x45b854]
xor eax, ebp
mov dword [ebp - 4], eax
mov dword [ebp - 0x2b00], ecx
mov eax, dword [str.HNCE2PPRUIP.kor]
mov dword [ebp - 0x2af8], eax
mov ecx, dword [0x4498c8]
mov dword [ebp - 0x2af4], ecx
mov edx, dword [0x4498cc]
mov dword [ebp - 0x2af0], edx
mov eax, dword [0x4498d0]
mov dword [ebp - 0x2aec], eax
push 0xf5
push 0
lea ecx, [ebp - 0x2ae8]
push ecx
call fcn.00430be0
add esp, 0xc
mov edx, dword [str.HNCE2PPRUIP.enu]
mov dword [ebp - 0x29f3], edx
mov eax, dword [0x4498d8]
mov dword [ebp - 0x29ef], eax
mov ecx, dword [0x4498dc]
mov dword [ebp - 0x29eb], ecx
mov edx, dword [0x4498e0]
mov dword [ebp - 0x29e7], edx
push 0xf5
push 0
lea eax, [ebp - 0x29e3]
push eax
call fcn.00430be0
add esp, 0xc
mov ecx, dword [str.HNCE2PPRUIP.ara]
mov dword [ebp - 0x28ee], ecx
mov edx, dword [0x4498e8]
mov dword [ebp - 0x28ea], edx
mov eax, dword [0x4498ec]
mov dword [ebp - 0x28e6], eax
mov ecx, dword [0x4498f0]
mov dword [ebp - 0x28e2], ecx
push 0xf5
push 0
lea edx, [ebp - 0x28de]
push edx
call fcn.00430be0
add esp, 0xc
mov eax, dword [str.HNCE2PPRUIP.chs]
mov dword [ebp - 0x27e9], eax
mov ecx, dword [0x4498f8]
mov dword [ebp - 0x27e5], ecx
mov edx, dword [0x4498fc]
mov dword [ebp - 0x27e1], edx
mov eax, dword [0x449900]
mov dword [ebp - 0x27dd], eax
push 0xf5
push 0
lea ecx, [ebp - 0x27d9]
push ecx
call fcn.00430be0
add esp, 0xc
mov edx, dword [str.HNCE2PPRUIP.cht]
mov dword [ebp - 0x26e4], edx
mov eax, dword [0x449908]
mov dword [ebp - 0x26e0], eax
mov ecx, dword [0x44990c]
mov dword [ebp - 0x26dc], ecx
mov edx, dword [0x449910]
mov dword [ebp - 0x26d8], edx
push 0xf5
push 0
lea eax, [ebp - 0x26d4]
push eax
call fcn.00430be0
add esp, 0xc
mov ecx, dword [str.HNCE2PPRUIP.deu]
mov dword [ebp - 0x25df], ecx
mov edx, dword [0x449918]
mov dword [ebp - 0x25db], edx
mov eax, dword [0x44991c]
mov dword [ebp - 0x25d7], eax
mov ecx, dword [0x449920]
mov dword [ebp - 0x25d3], ecx
push 0xf5
push 0
lea edx, [ebp - 0x25cf]
push edx
call fcn.00430be0
add esp, 0xc
mov eax, dword [str.HNCE2PPRUIP.jpn]
mov dword [ebp - 0x24da], eax
mov ecx, dword [0x449928]
mov dword [ebp - 0x24d6], ecx
mov edx, dword [0x44992c]
mov dword [ebp - 0x24d2], edx
mov eax, dword [0x449930]
mov dword [ebp - 0x24ce], eax
push 0xf5
push 0
lea ecx, [ebp - 0x24ca]
push ecx
call fcn.00430be0
add esp, 0xc
mov edx, dword [str.HNCE2PPRUIP.rus]
mov dword [ebp - 0x23d5], edx
mov eax, dword [0x449938]
mov dword [ebp - 0x23d1], eax
mov ecx, dword [0x44993c]
mov dword [ebp - 0x23cd], ecx
mov edx, dword [0x449940]
mov dword [ebp - 0x23c9], edx
push 0xf5
push 0
lea eax, [ebp - 0x23c5]
push eax
call fcn.00430be0
add esp, 0xc
mov ecx, dword [str.HNCE2PPRUIP.ptb]
mov dword [ebp - 0x22d0], ecx
mov edx, dword [0x449948]
mov dword [ebp - 0x22cc], edx
mov eax, dword [0x44994c]
mov dword [ebp - 0x22c8], eax
mov ecx, dword [0x449950]
mov dword [ebp - 0x22c4], ecx
push 0xf5
push 0
lea edx, [ebp - 0x22c0]
push edx
call fcn.00430be0
add esp, 0xc
mov eax, dword [str.HNCE2PPRUIP.spa]
mov dword [ebp - 0x21cb], eax
mov ecx, dword [0x449958]
mov dword [ebp - 0x21c7], ecx
mov edx, dword [0x44995c]
mov dword [ebp - 0x21c3], edx
mov eax, dword [0x449960]
mov dword [ebp - 0x21bf], eax
push 0xf5
push 0
lea ecx, [ebp - 0x21bb]
push ecx
call fcn.00430be0
add esp, 0xc
mov edx, dword [str.HNCE2PPRUIP.far]
mov dword [ebp - 0x20c6], edx
mov eax, dword [0x449968]
mov dword [ebp - 0x20c2], eax
mov ecx, dword [0x44996c]
mov dword [ebp - 0x20be], ecx
mov edx, dword [0x449970]
mov dword [ebp - 0x20ba], edx
push 0xf5
push 0
lea eax, [ebp - 0x20b6]
push eax
call fcn.00430be0
add esp, 0xc
mov ecx, dword [str.HNCE2PPRUIP.eng]
mov dword [ebp - 0x1fc1], ecx
mov edx, dword [0x449978]
mov dword [ebp - 0x1fbd], edx
mov eax, dword [0x44997c]
mov dword [ebp - 0x1fb9], eax
mov ecx, dword [0x449980]
mov dword [ebp - 0x1fb5], ecx
push 0xf5
push 0
lea edx, [ebp - 0x1fb1]
push edx
call fcn.00430be0
add esp, 0xc
mov eax, dword [str.HNCE2PPRUIP.fra]
mov dword [ebp - 0x1ebc], eax
mov ecx, dword [0x449988]
mov dword [ebp - 0x1eb8], ecx
mov edx, dword [0x44998c]
mov dword [ebp - 0x1eb4], edx
mov eax, dword [0x449990]
mov dword [ebp - 0x1eb0], eax
push 0xf5
push 0
lea ecx, [ebp - 0x1eac]
push ecx
call fcn.00430be0
add esp, 0xc
mov edx, dword [str.HNCE2PPRUIP.nld]
mov dword [ebp - 0x1db7], edx
mov eax, dword [0x449998]
mov dword [ebp - 0x1db3], eax
mov ecx, dword [0x44999c]
mov dword [ebp - 0x1daf], ecx
mov edx, dword [0x4499a0]
mov dword [ebp - 0x1dab], edx
push 0xf5
push 0
lea eax, [ebp - 0x1da7]
push eax
call fcn.00430be0
add esp, 0xc
mov ecx, dword [str.HNCE2PPRUIP.esp]
mov dword [ebp - 0x1cb2], ecx
mov edx, dword [0x4499a8]
mov dword [ebp - 0x1cae], edx
mov eax, dword [0x4499ac]
mov dword [ebp - 0x1caa], eax
mov ecx, dword [0x4499b0]
mov dword [ebp - 0x1ca6], ecx
push 0xf5
push 0
lea edx, [ebp - 0x1ca2]
push edx
call fcn.00430be0
add esp, 0xc
mov eax, dword [str.HNCE2PPRUIP.ita]
mov dword [ebp - 0x1bad], eax
mov ecx, dword [0x4499b8]
mov dword [ebp - 0x1ba9], ecx
mov edx, dword [0x4499bc]
mov dword [ebp - 0x1ba5], edx
mov eax, dword [0x4499c0]
mov dword [ebp - 0x1ba1], eax
push 0xf5
push 0
lea ecx, [ebp - 0x1b9d]
push ecx
call fcn.00430be0
add esp, 0xc
mov edx, dword [str.HNCE2PPRUIP.pol]
mov dword [ebp - 0x1aa8], edx
mov eax, dword [0x4499c8]
mov dword [ebp - 0x1aa4], eax
mov ecx, dword [0x4499cc]
mov dword [ebp - 0x1aa0], ecx
mov edx, dword [0x4499d0]
mov dword [ebp - 0x1a9c], edx
push 0xf5
push 0
lea eax, [ebp - 0x1a98]
push eax
call fcn.00430be0
add esp, 0xc
mov ecx, dword [str.HNCE2PPRCONVP.kor]
mov dword [ebp - 0x19a3], ecx
mov edx, dword [0x4499d8]
mov dword [ebp - 0x199f], edx
mov eax, dword [0x4499dc]
mov dword [ebp - 0x199b], eax
mov ecx, dword [0x4499e0]
mov dword [ebp - 0x1997], ecx
mov dx, word [0x4499e4]
mov word [ebp - 0x1993], dx
push 0xf3
push 0
lea eax, [ebp - 0x1991]
push eax
call fcn.00430be0
add esp, 0xc
mov ecx, dword [str.HNCE2PPRCONVP.enu]
mov dword [ebp - 0x189e], ecx
mov edx, dword [0x4499ec]
mov dword [ebp - 0x189a], edx
mov eax, dword [0x4499f0]
mov dword [ebp - 0x1896], eax
mov ecx, dword [0x4499f4]
mov dword [ebp - 0x1892], ecx
mov dx, word [0x4499f8]
mov word [ebp - 0x188e], dx
push 0xf3
push 0
lea eax, [ebp - 0x188c]
push eax
call fcn.00430be0
add esp, 0xc
mov ecx, dword [str.HNCE2PPRCONVP.ara]
mov dword [ebp - 0x1799], ecx
mov edx, dword [0x449a00]
mov dword [ebp - 0x1795], edx
mov eax, dword [0x449a04]
mov dword [ebp - 0x1791], eax
mov ecx, dword [0x449a08]
mov dword [ebp - 0x178d], ecx
mov dx, word [0x449a0c]
mov word [ebp - 0x1789], dx
push 0xf3
push 0
lea eax, [ebp - 0x1787]
push eax
call fcn.00430be0
add esp, 0xc
mov ecx, dword [str.HNCE2PPRCONVP.chs]
mov dword [ebp - 0x1694], ecx
mov edx, dword [0x449a14]
mov dword [ebp - 0x1690], edx
mov eax, dword [0x449a18]
mov dword [ebp - 0x168c], eax
mov ecx, dword [0x449a1c]
mov dword [ebp - 0x1688], ecx
mov dx, word [0x449a20]
mov word [ebp - 0x1684], dx
push 0xf3
push 0
lea eax, [ebp - 0x1682]
push eax
call fcn.00430be0
add esp, 0xc
mov ecx, dword [str.HNCE2PPRCONVP.cht]
mov dword [ebp - 0x158f], ecx
mov edx, dword [0x449a28]
mov dword [ebp - 0x158b], edx
mov eax, dword [0x449a2c]
mov dword [ebp - 0x1587], eax
mov ecx, dword [0x449a30]
mov dword [ebp - 0x1583], ecx
mov dx, word [0x449a34]
mov word [ebp - 0x157f], dx
push 0xf3
push 0
lea eax, [ebp - 0x157d]
push eax
call fcn.00430be0
add esp, 0xc
mov ecx, dword [str.HNCE2PPRCONVP.deu]
mov dword [ebp - 0x148a], ecx
mov edx, dword [0x449a3c]
mov dword [ebp - 0x1486], edx
mov eax, dword [0x449a40]
mov dword [ebp - 0x1482], eax
mov ecx, dword [0x449a44]
mov dword [ebp - 0x147e], ecx
mov dx, word [0x449a48]
mov word [ebp - 0x147a], dx
push 0xf3
push 0
lea eax, [ebp - 0x1478]
push eax
call fcn.00430be0
add esp, 0xc
mov ecx, dword [str.HNCE2PPRCONVP.jpn]
mov dword [ebp - 0x1385], ecx
mov edx, dword [0x449a50]
mov dword [ebp - 0x1381], edx
mov eax, dword [0x449a54]
mov dword [ebp - 0x137d], eax
mov ecx, dword [0x449a58]
mov dword [ebp - 0x1379], ecx
mov dx, word [0x449a5c]
mov word [ebp - 0x1375], dx
push 0xf3
push 0
lea eax, [ebp - 0x1373]
push eax
call fcn.00430be0
add esp, 0xc
mov ecx, dword [str.HNCE2PPRCONVP.rus]
mov dword [ebp - 0x1280], ecx
mov edx, dword [0x449a64]
mov dword [ebp - 0x127c], edx
mov eax, dword [0x449a68]
mov dword [ebp - 0x1278], eax
mov ecx, dword [0x449a6c]
mov dword [ebp - 0x1274], ecx
mov dx, word [0x449a70]
mov word [ebp - 0x1270], dx
push 0xf3
push 0
lea eax, [ebp - 0x126e]
push eax
call fcn.00430be0
add esp, 0xc
mov ecx, dword [str.HNCE2PPRCONVP.ptb]
mov dword [ebp - 0x117b], ecx
mov edx, dword [0x449a78]
mov dword [ebp - 0x1177], edx
mov eax, dword [0x449a7c]
mov dword [ebp - 0x1173], eax
mov ecx, dword [0x449a80]
mov dword [ebp - 0x116f], ecx
mov dx, word [0x449a84]
mov word [ebp - 0x116b], dx
push 0xf3
push 0
lea eax, [ebp - 0x1169]
push eax
call fcn.00430be0
add esp, 0xc
mov ecx, dword [str.HNCE2PPRCONVP.spa]
mov dword [ebp - 0x1076], ecx
mov edx, dword [0x449a8c]
mov dword [ebp - 0x1072], edx
mov eax, dword [0x449a90]
mov dword [ebp - 0x106e], eax
mov ecx, dword [0x449a94]
mov dword [ebp - 0x106a], ecx
mov dx, word [0x449a98]
mov word [ebp - 0x1066], dx
push 0xf3
push 0
lea eax, [ebp - 0x1064]
push eax
call fcn.00430be0
add esp, 0xc
mov ecx, dword [str.HNCE2PPRCONVP.far]
mov dword [ebp - 0xf71], ecx
mov edx, dword [0x449aa0]
mov dword [ebp - 0xf6d], edx
mov eax, dword [0x449aa4]
mov dword [ebp - 0xf69], eax
mov ecx, dword [0x449aa8]
mov dword [ebp - 0xf65], ecx
mov dx, word [0x449aac]
mov word [ebp - 0xf61], dx
push 0xf3
push 0
lea eax, [ebp - 0xf5f]
push eax
call fcn.00430be0
add esp, 0xc
mov ecx, dword [str.HNCE2PPRCONVP.eng]
mov dword [ebp - 0xe6c], ecx
mov edx, dword [0x449ab4]
mov dword [ebp - 0xe68], edx
mov eax, dword [0x449ab8]
mov dword [ebp - 0xe64], eax
mov ecx, dword [0x449abc]
mov dword [ebp - 0xe60], ecx
mov dx, word [0x449ac0]
mov word [ebp - 0xe5c], dx
push 0xf3
push 0
lea eax, [ebp - 0xe5a]
push eax
call fcn.00430be0
add esp, 0xc
mov ecx, dword [str.HNCE2PPRCONVP.fra]
mov dword [ebp - 0xd67], ecx
mov edx, dword [0x449ac8]
mov dword [ebp - 0xd63], edx
mov eax, dword [0x449acc]
mov dword [ebp - 0xd5f], eax
mov ecx, dword [0x449ad0]
mov dword [ebp - 0xd5b], ecx
mov dx, word [0x449ad4]
mov word [ebp - 0xd57], dx
push 0xf3
push 0
lea eax, [ebp - 0xd55]
push eax
call fcn.00430be0
add esp, 0xc
mov ecx, dword [str.HNCE2PPRCONVP.nld]
mov dword [ebp - 0xc62], ecx
mov edx, dword [0x449adc]
mov dword [ebp - 0xc5e], edx
mov eax, dword [0x449ae0]
mov dword [ebp - 0xc5a], eax
mov ecx, dword [0x449ae4]
mov dword [ebp - 0xc56], ecx
mov dx, word [0x449ae8]
mov word [ebp - 0xc52], dx
push 0xf3
push 0
lea eax, [ebp - 0xc50]
push eax
call fcn.00430be0
add esp, 0xc
mov ecx, dword [str.HNCE2PPRCONVP.esp]
mov dword [ebp - 0xb5d], ecx
mov edx, dword [0x449af0]
mov dword [ebp - 0xb59], edx
mov eax, dword [0x449af4]
mov dword [ebp - 0xb55], eax
mov ecx, dword [0x449af8]
mov dword [ebp - 0xb51], ecx
mov dx, word [0x449afc]
mov word [ebp - 0xb4d], dx
push 0xf3
push 0
lea eax, [ebp - 0xb4b]
push eax
call fcn.00430be0
add esp, 0xc
mov ecx, dword [str.HNCE2PPRCONVP.ita]
mov dword [ebp - 0xa58], ecx
mov edx, dword [0x449b04]
mov dword [ebp - 0xa54], edx
mov eax, dword [0x449b08]
mov dword [ebp - 0xa50], eax
mov ecx, dword [0x449b0c]
mov dword [ebp - 0xa4c], ecx
mov dx, word [0x449b10]
mov word [ebp - 0xa48], dx
push 0xf3
push 0
lea eax, [ebp - 0xa46]
push eax
call fcn.00430be0
add esp, 0xc
mov ecx, dword [str.HNCE2PPRCONVP.pol]
mov dword [ebp - 0x953], ecx
mov edx, dword [0x449b18]
mov dword [ebp - 0x94f], edx
mov eax, dword [0x449b1c]
mov dword [ebp - 0x94b], eax
mov ecx, dword [0x449b20]
mov dword [ebp - 0x947], ecx
mov dx, word [0x449b24]
mov word [ebp - 0x943], dx
push 0xf3
push 0
lea eax, [ebp - 0x941]
push eax
call fcn.00430be0
add esp, 0xc
push 0x414
push 0
lea ecx, [ebp - 0x84e]
push ecx
call fcn.00430be0
add esp, 0xc
mov byte [ebp - 0x218], 0
push 0x104
push 0
lea edx, [ebp - 0x217]
push edx
call fcn.00430be0
add esp, 0xc
mov byte [ebp - 0x430], 0
push 0x104
push 0
lea eax, [ebp - 0x42f]
push eax
call fcn.00430be0
add esp, 0xc
mov byte [ebp - 0x328], 0
push 0x104
push 0
lea ecx, [ebp - 0x327]
push ecx
call fcn.00430be0
add esp, 0xc
mov byte [ebp - 0x110], 0
push 0x104
push 0
lea edx, [ebp - 0x10f]
push edx
call fcn.00430be0
add esp, 0xc
mov dword [ebp - 0x21c], 0x104
mov dword [ebp - 0x434], 0
lea eax, [ebp - 0x21c]
push eax
push 0x104
lea ecx, [ebp - 0x218]
push ecx
push 1
mov edx, dword [ebp - 0x2b00]
add edx, 0x140
push edx
push 0
call sub.WINSPOOL.DRV_GetPrinterDriverDirectoryA
mov dword [ebp - 0x434], eax
push str.Copy_to_GetPrinterDriverDirectory__Resource_File
mov ecx, dword [ebp - 0x2b00]
add ecx, 8
call fcn.00401520
lea eax, [ebp - 0x218]
push eax
mov ecx, dword [ebp - 0x2b00]
add ecx, 8
call fcn.00401520
push str.Windows_x64
mov ecx, dword [ebp - 0x2b00]
add ecx, 0x140
push ecx
call fcn.00401690
add esp, 8
test eax, eax
jne 0x404852
mov edx, dword [ebp - 0x2b00]
mov eax, dword [edx]
push eax
push str._sx64
lea ecx, [ebp - 0x110]
push ecx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
jmp 0x40488e
push str.Windows_NT_x86
mov edx, dword [ebp - 0x2b00]
add edx, 0x140
push edx
call fcn.00401690
add esp, 8
test eax, eax
jne 0x40488e
mov eax, dword [ebp - 0x2b00]
mov ecx, dword [eax]
push ecx
push str._sx86
lea edx, [ebp - 0x110]
push edx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
mov dword [ebp - 0x2afc], 0
jmp 0x4048a9
mov eax, dword [ebp - 0x2afc]
add eax, 1
mov dword [ebp - 0x2afc], eax
cmp dword [ebp - 0x2afc], 0x22
jge 0x40498a
mov ecx, dword [ebp - 0x2afc]
imul ecx, ecx, 0x105
lea edx, [ebp + ecx - 0x2af8]
push edx
lea eax, [ebp - 0x218]
push eax
push str._s3_s
lea ecx, [ebp - 0x430]
push ecx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x10
mov edx, dword [ebp - 0x2afc]
imul edx, edx, 0x105
lea eax, [ebp + edx - 0x2af8]
push eax
lea ecx, [ebp - 0x110]
push ecx
push str._s_s
lea edx, [ebp - 0x328]
push edx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x10
push 0
lea eax, [ebp - 0x430]
push eax
lea ecx, [ebp - 0x328]
push ecx
call dword [sym.imp.KERNEL32.dll_CopyFileA]
test eax, eax
jne 0x404985
push str.Copy_File_Error
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
mov ecx, dword [ebp - 0x2b00]
add ecx, 8
call fcn.004015d0
lea edx, [ebp - 0x430]
push edx
mov ecx, dword [ebp - 0x2b00]
add ecx, 8
call fcn.00401520
lea eax, [ebp - 0x328]
push eax
mov ecx, dword [ebp - 0x2b00]
add ecx, 8
call fcn.00401520
mov ecx, dword [ebp - 0x2b00]
mov dword [ecx + 4], 4
xor eax, eax
jmp 0x404990
jmp 0x40489a
mov eax, dword [ebp - 0x434]
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004308d4
mov esp, ebp
pop ebp
ret