Function at 0x465362
Capabilities:
Copy file
Create directory

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4d3930
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x4a8
mov dword [ebp - 0x4ac], ecx
mov eax, dword [ebp + 8]
push eax
lea ecx, [ebp - 0x38]
call fcn.004a6fb9
mov dword [ebp - 4], 0
push 0x5c
lea ecx, [ebp - 0x38]
call fcn.0049f832
mov dword [ebp - 0x1bc], eax
cmp dword [ebp - 0x1bc], 0xffffffff
jne 0x4653c6
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x38]
call fcn.004a6f4b
jmp 0x4657ca
lea ecx, [ebp - 0x38]
call fcn.00402de0
sub eax, dword [ebp - 0x1bc]
push eax
lea ecx, [ebp - 0x4a8]
push ecx
lea ecx, [ebp - 0x38]
call fcn.0049f73e
mov dword [ebp - 0x4b0], eax
mov edx, dword [ebp - 0x4b0]
mov dword [ebp - 0x4b4], edx
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0x4b4]
push eax
lea ecx, [ebp - 0x38]
call fcn.004a7084
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x4a8]
call fcn.004a6f4b
push 0x104
lea ecx, [ebp - 0x1b0]
push ecx
call fcn.00469bd8
add esp, 8
push str.Cache
lea edx, [ebp - 0x1b0]
push edx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
push 0
lea eax, [ebp - 0x1b0]
push eax
call fcn.0049043a
add esp, 8
test eax, eax
je 0x465462
push 0
lea ecx, [ebp - 0x1b0]
push ecx
call dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
lea ecx, [ebp - 0x38]
call fcn.00430bb0
push eax
lea edx, [ebp - 0x1b0]
push edx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
push 0
lea eax, [ebp - 0x1b0]
push eax
mov ecx, dword [ebp + 8]
push ecx
call dword [sym.imp.KERNEL32.dll_CopyFileA]
push 0x42
mov edx, dword [ebp + 8]
push edx
lea ecx, [ebp - 0xac]
call fcn.004a8166
mov byte [ebp - 4], 2
cmp dword [ebp - 0xa8], 0xffffffff
jne 0x4654cc
mov byte [ebp - 4], 0
lea ecx, [ebp - 0xac]
call fcn.004a8206
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x38]
call fcn.004a6f4b
jmp 0x4657ca
push 0x400
lea ecx, [ebp - 0x34]
call fcn.004b1c84
mov byte [ebp - 4], 3
lea eax, [ebp - 0x34]
push eax
lea ecx, [ebp - 0xac]
push ecx
call fcn.00468b10
add esp, 8
test eax, eax
jne 0x465523
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x34]
call fcn.004b1d49
mov byte [ebp - 4], 0
lea ecx, [ebp - 0xac]
call fcn.004a8206
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x38]
call fcn.004a6f4b
jmp 0x4657ca
lea ecx, [ebp - 0x9c]
call fcn.00467f80
mov byte [ebp - 4], 4
push 0
push 0x1000
push 1
lea edx, [ebp - 0x34]
push edx
lea ecx, [ebp - 0x200]
call fcn.004ad214
mov byte [ebp - 4], 5
lea eax, [ebp - 0x200]
push eax
lea ecx, [ebp - 0x9c]
call fcn.00469d55
lea ecx, [ebp - 0x200]
call fcn.004ad378
lea ecx, [ebp - 0xac]
call fcn.004a84de
lea ecx, [ebp - 0x78]
call fcn.004685c0
mov dword [ebp - 0x1b8], eax
mov dword [ebp - 0x1b4], 0
jmp 0x46559f
mov ecx, dword [ebp - 0x1b4]
add ecx, 1
mov dword [ebp - 0x1b4], ecx
mov edx, dword [ebp - 0x1b4]
cmp edx, dword [ebp - 0x1b8]
jge 0x465782
lea ecx, [ebp - 0x25c]
call fcn.0046b975
mov byte [ebp - 4], 6
mov eax, dword [ebp - 0x1b4]
push eax
lea ecx, [ebp - 0x78]
call fcn.004685e0
push eax
lea ecx, [ebp - 0x25c]
call fcn.0046b6a1
push 0x400
lea ecx, [ebp - 0x22c]
call fcn.004b1c84
mov byte [ebp - 4], 7
push 0
push 0x1000
push 0
lea ecx, [ebp - 0x22c]
push ecx
lea ecx, [ebp - 0x2a0]
call fcn.004ad214
mov byte [ebp - 4], 8
lea edx, [ebp - 0x2a0]
push edx
lea ecx, [ebp - 0x25c]
call fcn.0046ba6f
lea ecx, [ebp - 0x2a0]
call fcn.004ad378
lea ecx, [ebp - 0x22c]
call fcn.004a85bd
mov dword [ebp - 0x230], eax
mov eax, dword [ebp - 0x230]
push eax
push 0x42
call dword [sym.imp.KERNEL32.dll_GlobalAlloc]
mov dword [ebp - 0x204], eax
cmp dword [ebp - 0x204], 0
je 0x465750
mov ecx, dword [ebp - 0x204]
push ecx
call dword [sym.imp.KERNEL32.dll_GlobalLock]
mov dword [ebp - 0x2a4], eax
cmp dword [ebp - 0x2a4], 0
je 0x465743
lea ecx, [ebp - 0x22c]
call fcn.0040acc0
mov edx, dword [ebp - 0x230]
push edx
mov eax, dword [ebp - 0x2a4]
push eax
lea ecx, [ebp - 0x22c]
call fcn.004b1e66
mov ecx, dword [ebp - 0x204]
push ecx
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
push 0x200
push 0
lea edx, [ebp - 0x4a4]
push edx
call fcn.00490070
add esp, 0xc
lea ecx, [ebp - 0x250]
call fcn.00402de0
cmp eax, 0x100
jae 0x4656f0
lea ecx, [ebp - 0x250]
call fcn.00430bb0
push eax
lea eax, [ebp - 0x4a4]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
lea ecx, [ebp - 0x24c]
call fcn.00402de0
cmp eax, 0x100
jae 0x46571b
lea ecx, [ebp - 0x24c]
call fcn.00430bb0
push eax
lea ecx, [ebp - 0x3a4]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov edx, dword [ebp - 0x230]
push edx
lea eax, [ebp - 0x204]
push eax
lea ecx, [ebp - 0x4a4]
push ecx
push 1
mov edx, dword [0x50bd24]
mov eax, dword [edx]
mov ecx, dword [0x50bd24]
call dword [eax + 8]
mov ecx, dword [ebp - 0x204]
push ecx
call dword [sym.imp.KERNEL32.dll_GlobalFree]
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x2a0]
call fcn.004ad2f0
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x22c]
call fcn.004b1d49
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x25c]
call fcn.00468070
jmp 0x465590
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x200]
call fcn.004ad2f0
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x9c]
call fcn.00468000
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x34]
call fcn.004b1d49
mov byte [ebp - 4], 0
lea ecx, [ebp - 0xac]
call fcn.004a8206
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x38]
call fcn.004a6f4b
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret 4