Function at 0x5884a8
Capabilities:
Copy file

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0x1a
push 0
push 0
dec ecx
jne 0x5884b0
push ebx
push esi
push edi
mov eax, 0x587ef8
call fcn.0040748c
xor eax, eax
push ebp
push 0x588f47
push dword fs:[eax]
mov dword fs:[eax], esp
xor eax, eax
push ebp
push 0x588504
push dword fs:[eax]
mov dword fs:[eax], esp
lea edx, [ebp - 0x14]
mov eax, 0x1a
call fcn.005697a0
mov edx, dword [ebp - 0x14]
mov eax, dword [0x59011c]
call fcn.00404e5c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x588526
xor eax, eax
push ebp
push 0x588c26
push dword fs:[eax]
mov dword fs:[eax], esp
xor eax, eax
push ebp
push 0x5885a0
push dword fs:[eax]
mov dword fs:[eax], esp
mov edx, dword [0x59011c]
mov edx, dword [edx]
lea eax, [ebp - 0x1c]
mov ecx, 0x588fdc
call fcn.00405124
mov edx, dword [ebp - 0x1c]
lea eax, [ebp - 0x18]
call fcn.004056f8
mov eax, dword [ebp - 0x18]
call fcn.0049de48
test al, al
jne 0x588596
mov edx, dword [0x59011c]
mov edx, dword [edx]
lea eax, [ebp - 0x24]
mov ecx, 0x588fdc
call fcn.00405124
mov edx, dword [ebp - 0x24]
lea eax, [ebp - 0x20]
call fcn.004056f8
mov eax, dword [ebp - 0x20]
call fcn.0049dea8
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x5885aa
xor eax, eax
push ebp
push 0x588616
push dword fs:[eax]
mov dword fs:[eax], esp
mov edx, dword [0x59011c]
mov edx, dword [edx]
lea eax, [ebp - 0x2c]
mov ecx, 0x588fec
call fcn.00405124
mov edx, dword [ebp - 0x2c]
lea eax, [ebp - 0x28]
call fcn.004056f8
mov eax, dword [ebp - 0x28]
call fcn.0049de48
test al, al
jne 0x58860c
mov edx, dword [0x59011c]
mov edx, dword [edx]
lea eax, [ebp - 0x34]
mov ecx, 0x588fec
call fcn.00405124
mov edx, dword [ebp - 0x34]
lea eax, [ebp - 0x30]
call fcn.004056f8
mov eax, dword [ebp - 0x30]
call fcn.0049dea8
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x588620
xor eax, eax
push ebp
push 0x58868c
push dword fs:[eax]
mov dword fs:[eax], esp
mov edx, dword [0x59011c]
mov edx, dword [edx]
lea eax, [ebp - 0x3c]
mov ecx, 0x589008
call fcn.00405124
mov edx, dword [ebp - 0x3c]
lea eax, [ebp - 0x38]
call fcn.004056f8
mov eax, dword [ebp - 0x38]
call fcn.0049de48
test al, al
jne 0x588682
mov edx, dword [0x59011c]
mov edx, dword [edx]
lea eax, [ebp - 0x44]
mov ecx, 0x589008
call fcn.00405124
mov edx, dword [ebp - 0x44]
lea eax, [ebp - 0x40]
call fcn.004056f8
mov eax, dword [ebp - 0x40]
call fcn.0049dea8
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x588696
xor eax, eax
push ebp
push 0x588788
push dword fs:[eax]
mov dword fs:[eax], esp
lea edx, [ebp - 0x54]
mov eax, dword [0x58ff04]
mov eax, dword [eax]
call fcn.004868fc
mov eax, dword [ebp - 0x54]
lea edx, [ebp - 0x50]
call fcn.0040abcc
mov eax, dword [ebp - 0x50]
lea ecx, [ebp - 0x4c]
mov edx, 0x3a8
call fcn.0056d834
lea eax, [ebp - 0x4c]
mov edx, 0x58901c
call fcn.00405790
mov edx, dword [ebp - 0x4c]
lea eax, [ebp - 0x48]
call fcn.004050a0
mov eax, dword [ebp - 0x48]
call fcn.0040a9c8
test al, al
je 0x58877e
push 0
mov edx, dword [0x59011c]
mov edx, dword [edx]
lea eax, [ebp - 0x58]
mov ecx, 0x589048
call fcn.00405124
mov eax, dword [ebp - 0x58]
call fcn.004052d8
push eax
lea edx, [ebp - 0x60]
mov eax, dword [0x58ff04]
mov eax, dword [eax]
call fcn.004868fc
mov eax, dword [ebp - 0x60]
lea edx, [ebp - 0x5c]
call fcn.0040abcc
lea eax, [ebp - 0x5c]
mov edx, 0x589068
call fcn.004050e0
mov eax, dword [ebp - 0x5c]
call fcn.004052d8
push eax
call sub.kernel32.dll_CopyFileA
test eax, eax
je 0x58877e
lea edx, [ebp - 0x68]
mov eax, dword [0x58ff04]
mov eax, dword [eax]
call fcn.004868fc
mov eax, dword [ebp - 0x68]
lea edx, [ebp - 0x64]
call fcn.0040abcc
lea eax, [ebp - 0x64]
mov edx, 0x589068
call fcn.004050e0
mov eax, dword [ebp - 0x64]
call fcn.0040aaf8
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x588792
xor eax, eax
push ebp
push 0x588899
push dword fs:[eax]
mov dword fs:[eax], esp
lea edx, [ebp - 0x78]
mov eax, dword [0x58ff04]
mov eax, dword [eax]
call fcn.004868fc
mov eax, dword [ebp - 0x78]
lea edx, [ebp - 0x74]
call fcn.0040abcc
mov eax, dword [ebp - 0x74]
lea ecx, [ebp - 0x70]
mov edx, 0x3a8
call fcn.0056d834
lea eax, [ebp - 0x70]
mov edx, 0x589080
call fcn.00405790
mov edx, dword [ebp - 0x70]
lea eax, [ebp - 0x6c]
call fcn.004050a0
mov eax, dword [ebp - 0x6c]
call fcn.0040a9c8
test al, al
je 0x58888f
push 0
mov edx, dword [0x59011c]
mov edx, dword [edx]
lea eax, [ebp - 0x7c]
mov ecx, 0x5890a4
call fcn.00405124
mov eax, dword [ebp - 0x7c]
call fcn.004052d8
push eax
lea edx, [ebp - 0x84]
mov eax, dword [0x58ff04]
mov eax, dword [eax]
call fcn.004868fc
mov eax, dword [ebp - 0x84]
lea edx, [ebp - 0x80]
call fcn.0040abcc
lea eax, [ebp - 0x80]
mov edx, 0x5890c0
call fcn.004050e0
mov eax, dword [ebp - 0x80]
call fcn.004052d8
push eax
call sub.kernel32.dll_CopyFileA
test eax, eax
je 0x58888f
lea edx, [ebp - 0x8c]
mov eax, dword [0x58ff04]
mov eax, dword [eax]
call fcn.004868fc
mov eax, dword [ebp - 0x8c]
lea edx, [ebp - 0x88]
call fcn.0040abcc
lea eax, [ebp - 0x88]
mov edx, 0x5890c0
call fcn.004050e0
mov eax, dword [ebp - 0x88]
call fcn.0040aaf8
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x5888a3
xor eax, eax
push ebp
push 0x588907
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, 0x5890d8
call fcn.0040a9c8
test al, al
je 0x5888fd
push 0
mov edx, dword [0x59011c]
mov edx, dword [edx]
lea eax, [ebp - 0x90]
mov ecx, 0x5890a4
call fcn.00405124
mov eax, dword [ebp - 0x90]
call fcn.004052d8
push eax
push 0x5890f0
call sub.kernel32.dll_CopyFileA
test eax, eax
je 0x5888fd
mov eax, 0x5890d8
call fcn.0040aaf8
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x588911
xor eax, eax
push ebp
push 0x588975
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, 0x589110
call fcn.0040a9c8
test al, al
je 0x58896b
push 0
mov edx, dword [0x59011c]
mov edx, dword [edx]
lea eax, [ebp - 0x94]
mov ecx, 0x589048
call fcn.00405124
mov eax, dword [ebp - 0x94]
call fcn.004052d8
push eax
push 0x58912c
call sub.kernel32.dll_CopyFileA
test eax, eax
je 0x58896b
mov eax, 0x589110
call fcn.0040aaf8
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x58897f
call fcn.00402ff4
test eax, eax
jle 0x588c1c
mov edx, 0x5926dc
mov eax, 1
call fcn.0040305c
mov edx, 0x5926e0
mov eax, 2
call fcn.0040305c
mov edx, 0x589150
mov eax, dword [0x5926dc]
call fcn.0040541c
inc eax
jle 0x588c1c
mov edx, dword [0x5926dc]
mov eax, 0x589150
call fcn.0040fdb8
mov edx, eax
mov eax, 0x5926dc
mov ecx, 0xa
call fcn.00405378
mov edx, dword [0x5926dc]
mov eax, 0x589164
call fcn.0040fdb8
mov edx, eax
mov eax, 0x5926dc
mov ecx, 1
call fcn.00405378
mov dl, 1
mov eax, dword [0x489edc]
call fcn.0048afac
mov esi, eax
mov dl, 1
mov eax, dword [0x489edc]
call fcn.0048afac
mov ebx, eax
mov dl, 1
mov eax, dword [0x489edc]
call fcn.0048afac
mov edi, eax
mov edx, dword [0x59011c]
mov edx, dword [edx]
lea eax, [ebp - 0x98]
mov ecx, 0x589048
call fcn.00405124
mov eax, dword [ebp - 0x98]
call fcn.0040a9c8
test al, al
je 0x588a89
mov edx, dword [0x59011c]
mov edx, dword [edx]
lea eax, [ebp - 0xa0]
mov ecx, 0x589048
call fcn.00405124
mov edx, dword [ebp - 0xa0]
lea eax, [ebp - 0x9c]
call fcn.004056f8
mov edx, dword [ebp - 0x9c]
mov eax, edi
mov ecx, dword [eax]
call dword [ecx + 0x6c]
mov edx, dword [0x59011c]
mov edx, dword [edx]
lea eax, [ebp - 0xa4]
mov ecx, 0x5890a4
call fcn.00405124
mov eax, dword [ebp - 0xa4]
call fcn.0040a9c8
test al, al
je 0x588ae6
mov edx, dword [0x59011c]
mov edx, dword [edx]
lea eax, [ebp - 0xac]
mov ecx, 0x5890a4
call fcn.00405124
mov edx, dword [ebp - 0xac]
lea eax, [ebp - 0xa8]
call fcn.004056f8
mov edx, dword [ebp - 0xa8]
mov eax, ebx
mov ecx, dword [eax]
call dword [ecx + 0x6c]
mov eax, edi
mov edx, dword [eax]
call dword [edx + 0x14]
push eax
mov eax, ebx
mov edx, dword [eax]
call dword [edx + 0x14]
pop edx
cmp edx, eax
jle 0x588b14
lea edx, [ebp - 0xb0]
mov eax, edi
mov ecx, dword [eax]
call dword [ecx + 0x1c]
mov edx, dword [ebp - 0xb0]
mov eax, ebx
mov ecx, dword [eax]
call dword [ecx + 0x2c]
lea edx, [ebp - 0xb4]
mov eax, ebx
mov ecx, dword [eax]
call dword [ecx + 0x1c]
mov eax, dword [ebp - 0xb4]
push eax
lea eax, [ebp - 0xb8]
mov edx, dword [0x5926dc]
call fcn.004056f8
mov eax, dword [ebp - 0xb8]
pop edx
call fcn.00405a9c
test eax, eax
jne 0x588c04
xor eax, eax
push ebp
push 0x588be0
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [0x59011c]
push dword [eax]
push 0x588fec
push dword [0x5926dc]
push 0x589170
lea eax, [ebp - 0xbc]
mov edx, 4
call fcn.00405198
mov eax, dword [ebp - 0xbc]
call fcn.0040a9c8
test al, al
jne 0x588bd6
mov eax, dword [0x59011c]
push dword [eax]
push 0x588fec
push dword [0x5926dc]
push 0x589170
lea eax, [ebp - 0xc4]
mov edx, 4
call fcn.00405198
mov edx, dword [ebp - 0xc4]
lea eax, [ebp - 0xc0]
call fcn.004056f8
mov edx, dword [ebp - 0xc0]
mov eax, esi
mov ecx, dword [eax]
call dword [ecx + 0x78]
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x588c1c
push 0x40
mov ecx, 0x589174
mov edx, 0x5891bc
mov eax, dword [0x58fd44]
mov eax, dword [eax]
call fcn.004987e4
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x588c30
mov eax, dword [0x58ff04]
mov eax, dword [eax]
mov eax, dword [eax + 0x30]
call fcn.00587e18
test al, al
jne 0x588e16
lea edx, [ebp - 0xd0]
mov eax, dword [0x58ff04]
mov eax, dword [eax]
call fcn.004868fc
mov eax, dword [ebp - 0xd0]
lea edx, [ebp - 0xcc]
call fcn.0040abcc
mov eax, dword [ebp - 0xcc]
lea ecx, [ebp - 0xc8]
mov edx, 0x3a8
call fcn.0056d834
lea eax, [ebp - 0xc8]
mov edx, 0x5891e8
call fcn.00405790
mov eax, dword [ebp - 0xc8]
call fcn.0049dfd0
mov eax, dword [0x58ff04]
mov eax, dword [eax]
call fcn.004861a4
mov eax, dword [0x58ff04]
mov eax, dword [eax]
mov edx, 0x589200
call fcn.00485d8c
mov ecx, dword [0x58feec]
mov eax, dword [0x58ff04]
mov eax, dword [eax]
mov edx, dword [0x562e98]
call fcn.004861bc
mov ecx, dword [0x58fd98]
mov eax, dword [0x58ff04]
mov eax, dword [eax]
mov edx, dword [0x52ba50]
call fcn.004861bc
mov ecx, dword [0x590150]
mov eax, dword [0x58ff04]
mov eax, dword [eax]
mov edx, dword [0x508234]
call fcn.004861bc
mov ecx, dword [0x58ff78]
mov eax, dword [0x58ff04]
mov eax, dword [eax]
mov edx, dword [0x52c950]
call fcn.004861bc
mov ecx, dword [0x58fd68]
mov eax, dword [0x58ff04]
mov eax, dword [eax]
mov edx, dword [0x52d3e8]
call fcn.004861bc
mov ecx, dword [0x58fb5c]
mov eax, dword [0x58ff04]
mov eax, dword [eax]
mov edx, dword [0x531890]
call fcn.004861bc
mov ecx, dword [0x5900f4]
mov eax, dword [0x58ff04]
mov eax, dword [eax]
mov edx, dword [0x53d1f0]
call fcn.004861bc
mov ecx, dword [0x590064]
mov eax, dword [0x58ff04]
mov eax, dword [eax]
mov edx, dword [0x531e2c]
call fcn.004861bc
mov ecx, dword [0x58fc8c]
mov eax, dword [0x58ff04]
mov eax, dword [eax]
mov edx, dword [0x561588]
call fcn.004861bc
mov ecx, dword [0x58ff6c]
mov eax, dword [0x58ff04]
mov eax, dword [eax]
mov edx, dword [0x561aac]
call fcn.004861bc
mov ecx, dword [0x58fc04]
mov eax, dword [0x58ff04]
mov eax, dword [eax]
mov edx, dword [0x52df44]
call fcn.004861bc
mov ecx, dword [0x58ffb8]
mov eax, dword [0x58ff04]
mov eax, dword [eax]
mov edx, dword [0x561d60]
call fcn.004861bc
mov ecx, dword [0x58fda4]
mov eax, dword [0x58ff04]
mov eax, dword [eax]
mov edx, dword [0x562228]
call fcn.004861bc
mov ecx, dword [0x58fb98]
mov eax, dword [0x58ff04]
mov eax, dword [eax]
mov edx, dword [0x56244c]
call fcn.004861bc
mov eax, dword [0x58ff04]
mov eax, dword [eax]
call fcn.0048623c
jmp 0x588e22
mov eax, dword [0x58ff04]
mov eax, dword [eax]
call fcn.00486328
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x588f51
lea eax, [ebp - 0xd0]
mov edx, 2
call fcn.00404e2c
lea eax, [ebp - 0xc8]
call fcn.00405524
lea eax, [ebp - 0xc4]
call fcn.00404e08
lea eax, [ebp - 0xc0]
call fcn.00405524
lea eax, [ebp - 0xbc]
call fcn.00404e08
lea eax, [ebp - 0xb8]
mov edx, 3
call fcn.0040553c
lea eax, [ebp - 0xac]
call fcn.00404e08
lea eax, [ebp - 0xa8]
call fcn.00405524
lea eax, [ebp - 0xa4]
mov edx, 2
call fcn.00404e2c
lea eax, [ebp - 0x9c]
call fcn.00405524
lea eax, [ebp - 0x98]
mov edx, 0xa
call fcn.00404e2c
lea eax, [ebp - 0x70]
call fcn.00405524
lea eax, [ebp - 0x6c]
mov edx, 8
call fcn.00404e2c
lea eax, [ebp - 0x4c]
call fcn.00405524
lea eax, [ebp - 0x48]
mov edx, 2
call fcn.00404e2c
lea eax, [ebp - 0x40]
call fcn.00405524
lea eax, [ebp - 0x3c]
call fcn.00404e08
lea eax, [ebp - 0x38]
call fcn.00405524
lea eax, [ebp - 0x34]
call fcn.00404e08
lea eax, [ebp - 0x30]
call fcn.00405524
lea eax, [ebp - 0x2c]
call fcn.00404e08
lea eax, [ebp - 0x28]
call fcn.00405524
lea eax, [ebp - 0x24]
call fcn.00404e08
lea eax, [ebp - 0x20]
call fcn.00405524
lea eax, [ebp - 0x1c]
call fcn.00404e08
lea eax, [ebp - 0x18]
call fcn.00405524
lea eax, [ebp - 0x14]
call fcn.00404e08
ret