Function at 0x402ef0
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 [0x449594]
mov dword [ebp - 0x2af8], eax
mov ecx, dword [0x449598]
mov dword [ebp - 0x2af4], ecx
mov edx, dword [0x44959c]
mov dword [ebp - 0x2af0], edx
mov eax, dword [0x4495a0]
mov dword [ebp - 0x2aec], eax
mov cl, byte [0x4495a4]
mov byte [ebp - 0x2ae8], cl
push 0xf4
push 0
lea edx, [ebp - 0x2ae7]
push edx
call fcn.00430be0
add esp, 0xc
mov eax, dword [0x4495a8]
mov dword [ebp - 0x29f3], eax
mov ecx, dword [0x4495ac]
mov dword [ebp - 0x29ef], ecx
mov edx, dword [0x4495b0]
mov dword [ebp - 0x29eb], edx
mov eax, dword [0x4495b4]
mov dword [ebp - 0x29e7], eax
push 0xf5
push 0
lea ecx, [ebp - 0x29e3]
push ecx
call fcn.00430be0
add esp, 0xc
mov edx, dword [0x4495b8]
mov dword [ebp - 0x28ee], edx
mov eax, dword [0x4495bc]
mov dword [ebp - 0x28ea], eax
mov ecx, dword [0x4495c0]
mov dword [ebp - 0x28e6], ecx
mov edx, dword [0x4495c4]
mov dword [ebp - 0x28e2], edx
push 0xf5
push 0
lea eax, [ebp - 0x28de]
push eax
call fcn.00430be0
add esp, 0xc
mov ecx, dword [0x4495c8]
mov dword [ebp - 0x27e9], ecx
mov edx, dword [0x4495cc]
mov dword [ebp - 0x27e5], edx
mov eax, dword [0x4495d0]
mov dword [ebp - 0x27e1], eax
mov ecx, dword [0x4495d4]
mov dword [ebp - 0x27dd], ecx
push 0xf5
push 0
lea edx, [ebp - 0x27d9]
push edx
call fcn.00430be0
add esp, 0xc
mov eax, dword [0x4495d8]
mov dword [ebp - 0x26e4], eax
mov ecx, dword [0x4495dc]
mov dword [ebp - 0x26e0], ecx
mov edx, dword [0x4495e0]
mov dword [ebp - 0x26dc], edx
mov eax, dword [0x4495e4]
mov dword [ebp - 0x26d8], eax
push 0xf5
push 0
lea ecx, [ebp - 0x26d4]
push ecx
call fcn.00430be0
add esp, 0xc
mov edx, dword [0x4495e8]
mov dword [ebp - 0x25df], edx
mov eax, dword [0x4495ec]
mov dword [ebp - 0x25db], eax
mov ecx, dword [0x4495f0]
mov dword [ebp - 0x25d7], ecx
mov edx, dword [0x4495f4]
mov dword [ebp - 0x25d3], edx
push 0xf5
push 0
lea eax, [ebp - 0x25cf]
push eax
call fcn.00430be0
add esp, 0xc
mov ecx, dword [0x4495f8]
mov dword [ebp - 0x24da], ecx
mov edx, dword [0x4495fc]
mov dword [ebp - 0x24d6], edx
mov eax, dword [0x449600]
mov dword [ebp - 0x24d2], eax
mov ecx, dword [0x449604]
mov dword [ebp - 0x24ce], ecx
push 0xf5
push 0
lea edx, [ebp - 0x24ca]
push edx
call fcn.00430be0
add esp, 0xc
mov eax, dword [0x449608]
mov dword [ebp - 0x23d5], eax
mov ecx, dword [0x44960c]
mov dword [ebp - 0x23d1], ecx
mov edx, dword [0x449610]
mov dword [ebp - 0x23cd], edx
mov eax, dword [0x449614]
mov dword [ebp - 0x23c9], eax
push 0xf5
push 0
lea ecx, [ebp - 0x23c5]
push ecx
call fcn.00430be0
add esp, 0xc
mov edx, dword [0x449618]
mov dword [ebp - 0x22d0], edx
mov eax, dword [0x44961c]
mov dword [ebp - 0x22cc], eax
mov ecx, dword [0x449620]
mov dword [ebp - 0x22c8], ecx
mov edx, dword [0x449624]
mov dword [ebp - 0x22c4], edx
push 0xf5
push 0
lea eax, [ebp - 0x22c0]
push eax
call fcn.00430be0
add esp, 0xc
mov ecx, dword [0x449628]
mov dword [ebp - 0x21cb], ecx
mov edx, dword [0x44962c]
mov dword [ebp - 0x21c7], edx
mov eax, dword [0x449630]
mov dword [ebp - 0x21c3], eax
mov ecx, dword [0x449634]
mov dword [ebp - 0x21bf], ecx
push 0xf5
push 0
lea edx, [ebp - 0x21bb]
push edx
call fcn.00430be0
add esp, 0xc
mov eax, dword [0x449638]
mov dword [ebp - 0x20c6], eax
mov ecx, dword [0x44963c]
mov dword [ebp - 0x20c2], ecx
mov edx, dword [0x449640]
mov dword [ebp - 0x20be], edx
mov eax, dword [0x449644]
mov dword [ebp - 0x20ba], eax
push 0xf5
push 0
lea ecx, [ebp - 0x20b6]
push ecx
call fcn.00430be0
add esp, 0xc
mov edx, dword [0x449648]
mov dword [ebp - 0x1fc1], edx
mov eax, dword [0x44964c]
mov dword [ebp - 0x1fbd], eax
mov ecx, dword [0x449650]
mov dword [ebp - 0x1fb9], ecx
mov edx, dword [0x449654]
mov dword [ebp - 0x1fb5], edx
push 0xf5
push 0
lea eax, [ebp - 0x1fb1]
push eax
call fcn.00430be0
add esp, 0xc
mov ecx, dword [0x449658]
mov dword [ebp - 0x1ebc], ecx
mov edx, dword [0x44965c]
mov dword [ebp - 0x1eb8], edx
mov eax, dword [0x449660]
mov dword [ebp - 0x1eb4], eax
mov ecx, dword [0x449664]
mov dword [ebp - 0x1eb0], ecx
push 0xf5
push 0
lea edx, [ebp - 0x1eac]
push edx
call fcn.00430be0
add esp, 0xc
mov eax, dword [0x449668]
mov dword [ebp - 0x1db7], eax
mov ecx, dword [0x44966c]
mov dword [ebp - 0x1db3], ecx
mov edx, dword [0x449670]
mov dword [ebp - 0x1daf], edx
mov eax, dword [0x449674]
mov dword [ebp - 0x1dab], eax
push 0xf5
push 0
lea ecx, [ebp - 0x1da7]
push ecx
call fcn.00430be0
add esp, 0xc
mov edx, dword [0x449678]
mov dword [ebp - 0x1cb2], edx
mov eax, dword [0x44967c]
mov dword [ebp - 0x1cae], eax
mov ecx, dword [0x449680]
mov dword [ebp - 0x1caa], ecx
mov edx, dword [0x449684]
mov dword [ebp - 0x1ca6], edx
push 0xf5
push 0
lea eax, [ebp - 0x1ca2]
push eax
call fcn.00430be0
add esp, 0xc
mov ecx, dword [0x449688]
mov dword [ebp - 0x1bad], ecx
mov edx, dword [0x44968c]
mov dword [ebp - 0x1ba9], edx
mov eax, dword [0x449690]
mov dword [ebp - 0x1ba5], eax
mov ecx, dword [0x449694]
mov dword [ebp - 0x1ba1], ecx
push 0xf5
push 0
lea edx, [ebp - 0x1b9d]
push edx
call fcn.00430be0
add esp, 0xc
mov eax, dword [0x449698]
mov dword [ebp - 0x1aa8], eax
mov ecx, dword [0x44969c]
mov dword [ebp - 0x1aa4], ecx
mov edx, dword [0x4496a0]
mov dword [ebp - 0x1aa0], edx
mov eax, dword [0x4496a4]
mov dword [ebp - 0x1a9c], eax
push 0xf5
push 0
lea ecx, [ebp - 0x1a98]
push ecx
call fcn.00430be0
add esp, 0xc
mov edx, dword [0x4496a8]
mov dword [ebp - 0x19a3], edx
mov eax, dword [0x4496ac]
mov dword [ebp - 0x199f], eax
mov ecx, dword [0x4496b0]
mov dword [ebp - 0x199b], ecx
mov edx, dword [0x4496b4]
mov dword [ebp - 0x1997], edx
push 0xf5
push 0
lea eax, [ebp - 0x1993]
push eax
call fcn.00430be0
add esp, 0xc
mov ecx, dword [0x4496b8]
mov dword [ebp - 0x189e], ecx
mov edx, dword [0x4496bc]
mov dword [ebp - 0x189a], edx
mov eax, dword [0x4496c0]
mov dword [ebp - 0x1896], eax
mov ecx, dword [0x4496c4]
mov dword [ebp - 0x1892], ecx
push 0xf5
push 0
lea edx, [ebp - 0x188e]
push edx
call fcn.00430be0
add esp, 0xc
mov eax, dword [0x4496c8]
mov dword [ebp - 0x1799], eax
mov ecx, dword [0x4496cc]
mov dword [ebp - 0x1795], ecx
mov edx, dword [0x4496d0]
mov dword [ebp - 0x1791], edx
mov eax, dword [0x4496d4]
mov dword [ebp - 0x178d], eax
mov cx, word [0x4496d8]
mov word [ebp - 0x1789], cx
push 0xf3
push 0
lea edx, [ebp - 0x1787]
push edx
call fcn.00430be0
add esp, 0xc
mov eax, dword [0x4496dc]
mov dword [ebp - 0x1694], eax
mov ecx, dword [0x4496e0]
mov dword [ebp - 0x1690], ecx
mov edx, dword [0x4496e4]
mov dword [ebp - 0x168c], edx
mov eax, dword [0x4496e8]
mov dword [ebp - 0x1688], eax
mov cx, word [0x4496ec]
mov word [ebp - 0x1684], cx
push 0xf3
push 0
lea edx, [ebp - 0x1682]
push edx
call fcn.00430be0
add esp, 0xc
mov eax, dword [0x4496f0]
mov dword [ebp - 0x158f], eax
mov ecx, dword [0x4496f4]
mov dword [ebp - 0x158b], ecx
mov edx, dword [0x4496f8]
mov dword [ebp - 0x1587], edx
mov eax, dword [0x4496fc]
mov dword [ebp - 0x1583], eax
mov cx, word [0x449700]
mov word [ebp - 0x157f], cx
push 0xf3
push 0
lea edx, [ebp - 0x157d]
push edx
call fcn.00430be0
add esp, 0xc
mov eax, dword [0x449704]
mov dword [ebp - 0x148a], eax
mov ecx, dword [0x449708]
mov dword [ebp - 0x1486], ecx
mov edx, dword [0x44970c]
mov dword [ebp - 0x1482], edx
mov eax, dword [0x449710]
mov dword [ebp - 0x147e], eax
mov cx, word [0x449714]
mov word [ebp - 0x147a], cx
push 0xf3
push 0
lea edx, [ebp - 0x1478]
push edx
call fcn.00430be0
add esp, 0xc
mov eax, dword [0x449718]
mov dword [ebp - 0x1385], eax
mov ecx, dword [0x44971c]
mov dword [ebp - 0x1381], ecx
mov edx, dword [0x449720]
mov dword [ebp - 0x137d], edx
mov eax, dword [0x449724]
mov dword [ebp - 0x1379], eax
mov cx, word [0x449728]
mov word [ebp - 0x1375], cx
push 0xf3
push 0
lea edx, [ebp - 0x1373]
push edx
call fcn.00430be0
add esp, 0xc
mov eax, dword [0x44972c]
mov dword [ebp - 0x1280], eax
mov ecx, dword [0x449730]
mov dword [ebp - 0x127c], ecx
mov edx, dword [0x449734]
mov dword [ebp - 0x1278], edx
mov eax, dword [0x449738]
mov dword [ebp - 0x1274], eax
mov cx, word [0x44973c]
mov word [ebp - 0x1270], cx
push 0xf3
push 0
lea edx, [ebp - 0x126e]
push edx
call fcn.00430be0
add esp, 0xc
mov eax, dword [0x449740]
mov dword [ebp - 0x117b], eax
mov ecx, dword [0x449744]
mov dword [ebp - 0x1177], ecx
mov edx, dword [0x449748]
mov dword [ebp - 0x1173], edx
mov eax, dword [0x44974c]
mov dword [ebp - 0x116f], eax
mov cx, word [0x449750]
mov word [ebp - 0x116b], cx
push 0xf3
push 0
lea edx, [ebp - 0x1169]
push edx
call fcn.00430be0
add esp, 0xc
mov eax, dword [0x449754]
mov dword [ebp - 0x1076], eax
mov ecx, dword [0x449758]
mov dword [ebp - 0x1072], ecx
mov edx, dword [0x44975c]
mov dword [ebp - 0x106e], edx
mov eax, dword [0x449760]
mov dword [ebp - 0x106a], eax
mov cx, word [0x449764]
mov word [ebp - 0x1066], cx
push 0xf3
push 0
lea edx, [ebp - 0x1064]
push edx
call fcn.00430be0
add esp, 0xc
mov eax, dword [0x449768]
mov dword [ebp - 0xf71], eax
mov ecx, dword [0x44976c]
mov dword [ebp - 0xf6d], ecx
mov edx, dword [0x449770]
mov dword [ebp - 0xf69], edx
mov eax, dword [0x449774]
mov dword [ebp - 0xf65], eax
mov cx, word [0x449778]
mov word [ebp - 0xf61], cx
push 0xf3
push 0
lea edx, [ebp - 0xf5f]
push edx
call fcn.00430be0
add esp, 0xc
mov eax, dword [0x44977c]
mov dword [ebp - 0xe6c], eax
mov ecx, dword [0x449780]
mov dword [ebp - 0xe68], ecx
mov edx, dword [0x449784]
mov dword [ebp - 0xe64], edx
mov eax, dword [0x449788]
mov dword [ebp - 0xe60], eax
mov cx, word [0x44978c]
mov word [ebp - 0xe5c], cx
push 0xf3
push 0
lea edx, [ebp - 0xe5a]
push edx
call fcn.00430be0
add esp, 0xc
mov eax, dword [0x449790]
mov dword [ebp - 0xd67], eax
mov ecx, dword [0x449794]
mov dword [ebp - 0xd63], ecx
mov edx, dword [0x449798]
mov dword [ebp - 0xd5f], edx
mov eax, dword [0x44979c]
mov dword [ebp - 0xd5b], eax
mov cx, word [0x4497a0]
mov word [ebp - 0xd57], cx
push 0xf3
push 0
lea edx, [ebp - 0xd55]
push edx
call fcn.00430be0
add esp, 0xc
mov eax, dword [0x4497a4]
mov dword [ebp - 0xc62], eax
mov ecx, dword [0x4497a8]
mov dword [ebp - 0xc5e], ecx
mov edx, dword [0x4497ac]
mov dword [ebp - 0xc5a], edx
mov eax, dword [0x4497b0]
mov dword [ebp - 0xc56], eax
mov cx, word [0x4497b4]
mov word [ebp - 0xc52], cx
push 0xf3
push 0
lea edx, [ebp - 0xc50]
push edx
call fcn.00430be0
add esp, 0xc
mov eax, dword [0x4497b8]
mov dword [ebp - 0xb5d], eax
mov ecx, dword [0x4497bc]
mov dword [ebp - 0xb59], ecx
mov edx, dword [0x4497c0]
mov dword [ebp - 0xb55], edx
mov eax, dword [0x4497c4]
mov dword [ebp - 0xb51], eax
mov cx, word [0x4497c8]
mov word [ebp - 0xb4d], cx
push 0xf3
push 0
lea edx, [ebp - 0xb4b]
push edx
call fcn.00430be0
add esp, 0xc
mov eax, dword [0x4497cc]
mov dword [ebp - 0xa58], eax
mov ecx, dword [0x4497d0]
mov dword [ebp - 0xa54], ecx
mov edx, dword [0x4497d4]
mov dword [ebp - 0xa50], edx
mov eax, dword [0x4497d8]
mov dword [ebp - 0xa4c], eax
mov cx, word [0x4497dc]
mov word [ebp - 0xa48], cx
push 0xf3
push 0
lea edx, [ebp - 0xa46]
push edx
call fcn.00430be0
add esp, 0xc
mov eax, dword [0x4497e0]
mov dword [ebp - 0x953], eax
mov ecx, dword [0x4497e4]
mov dword [ebp - 0x94f], ecx
mov edx, dword [0x4497e8]
mov dword [ebp - 0x94b], edx
mov eax, dword [0x4497ec]
mov dword [ebp - 0x947], eax
mov cx, word [0x4497f0]
mov word [ebp - 0x943], cx
push 0xf3
push 0
lea edx, [ebp - 0x941]
push edx
call fcn.00430be0
add esp, 0xc
mov eax, dword [0x4497f4]
mov dword [ebp - 0x84e], eax
mov ecx, dword [0x4497f8]
mov dword [ebp - 0x84a], ecx
mov edx, dword [0x4497fc]
mov dword [ebp - 0x846], edx
mov eax, dword [0x449800]
mov dword [ebp - 0x842], eax
mov cx, word [0x449804]
mov word [ebp - 0x83e], cx
push 0xf3
push 0
lea edx, [ebp - 0x83c]
push edx
call fcn.00430be0
add esp, 0xc
mov eax, dword [0x449808]
mov dword [ebp - 0x749], eax
mov ecx, dword [0x44980c]
mov dword [ebp - 0x745], ecx
mov edx, dword [0x449810]
mov dword [ebp - 0x741], edx
mov eax, dword [0x449814]
mov dword [ebp - 0x73d], eax
mov cx, word [0x449818]
mov word [ebp - 0x739], cx
push 0xf3
push 0
lea edx, [ebp - 0x737]
push edx
call fcn.00430be0
add esp, 0xc
mov eax, dword [0x44981c]
mov dword [ebp - 0x644], eax
mov ecx, dword [0x449820]
mov dword [ebp - 0x640], ecx
mov edx, dword [0x449824]
mov dword [ebp - 0x63c], edx
mov eax, dword [0x449828]
mov dword [ebp - 0x638], eax
mov cx, word [0x44982c]
mov word [ebp - 0x634], cx
push 0xf3
push 0
lea edx, [ebp - 0x632]
push edx
call fcn.00430be0
add esp, 0xc
mov eax, dword [0x449830]
mov dword [ebp - 0x53f], eax
mov ecx, dword [0x449834]
mov dword [ebp - 0x53b], ecx
mov edx, dword [0x449838]
mov dword [ebp - 0x537], edx
mov al, byte [0x44983c]
mov byte [ebp - 0x533], al
push 0xf8
push 0
lea ecx, [ebp - 0x532]
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
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 0x449864
mov ecx, dword [ebp - 0x2b00]
add ecx, 0x140
push ecx
call fcn.00401690
add esp, 8
test eax, eax
jne 0x403b56
mov edx, dword [ebp - 0x2b00]
mov eax, dword [edx]
push eax
push 0x449870
lea ecx, [ebp - 0x110]
push ecx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
jmp 0x403b92
push 0x449878
mov edx, dword [ebp - 0x2b00]
add edx, 0x140
push edx
call fcn.00401690
add esp, 8
test eax, eax
jne 0x403b92
mov eax, dword [ebp - 0x2b00]
mov ecx, dword [eax]
push ecx
push 0x449888
lea edx, [ebp - 0x110]
push edx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
mov dword [ebp - 0x2afc], 0
jmp 0x403bad
mov eax, dword [ebp - 0x2afc]
add eax, 1
mov dword [ebp - 0x2afc], eax
cmp dword [ebp - 0x2afc], 0x26
jge 0x403ccf
push 0x449890
mov ecx, dword [ebp - 0x2afc]
imul ecx, ecx, 0x105
lea edx, [ebp + ecx - 0x2af8]
push edx
call fcn.00401690
add esp, 8
test eax, eax
jne 0x403bfb
lea eax, [ebp - 0x218]
push eax
mov ecx, dword [ebp - 0x2b00]
add ecx, 0x158
push ecx
call fcn.004308f0
add esp, 8
mov edx, dword [ebp - 0x2afc]
imul edx, edx, 0x105
lea eax, [ebp + edx - 0x2af8]
push eax
lea ecx, [ebp - 0x218]
push ecx
push 0x4498a4
lea edx, [ebp - 0x430]
push edx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x10
mov eax, dword [ebp - 0x2afc]
imul eax, eax, 0x105
lea ecx, [ebp + eax - 0x2af8]
push ecx
lea edx, [ebp - 0x110]
push edx
push 0x4498ac
lea eax, [ebp - 0x328]
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x10
push 0
lea ecx, [ebp - 0x430]
push ecx
lea edx, [ebp - 0x328]
push edx
call dword [sym.imp.KERNEL32.dll_CopyFileA]
test eax, eax
jne 0x403cca
push 0x4498b4
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
mov ecx, dword [ebp - 0x2b00]
add ecx, 8
call fcn.004015d0
lea eax, [ebp - 0x430]
push eax
mov ecx, dword [ebp - 0x2b00]
add ecx, 8
call fcn.00401520
lea ecx, [ebp - 0x328]
push ecx
mov ecx, dword [ebp - 0x2b00]
add ecx, 8
call fcn.00401520
mov edx, dword [ebp - 0x2b00]
mov dword [edx + 4], 4
xor eax, eax
jmp 0x403cd5
jmp 0x403b9e
mov eax, dword [ebp - 0x434]
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004308d4
mov esp, ebp
pop ebp
ret