Function at 0x5ff9b8
Capabilities:
Copy file

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffcfc
push ebx
push esi
push edi
xor ecx, ecx
mov dword [ebp - 0x304], ecx
mov dword [ebp - 0x300], ecx
mov dword [ebp - 8], ecx
mov dword [ebp - 0xc], ecx
mov dword [ebp - 4], edx
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 4]
call fcn.0040bbbc
xor eax, eax
push ebp
push 0x5ffdbe
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 8]
mov edx, dword [ebp - 4]
call fcn.0040bf00
mov ecx, 1
mov edx, dword [ebp - 8]
mov eax, 0x5ffdd8
call fcn.0040cb00
lea edx, [ebp - 8]
mov ecx, 6
xchg edx, eax
call fcn.0040c9ec
lea eax, [ebp - 8]
mov edx, 0x5ffde8
call fcn.0040c7dc
xor ecx, ecx
mov edx, dword [ebp - 8]
lea eax, [ebp - 0x2fc]
call fcn.00407f3c
call fcn.00407170
lea eax, [ebp - 0x2fc]
call fcn.00407bf0
call fcn.00407170
lea eax, [ebp - 0x2fc]
call fcn.00408044
call fcn.00407170
push 0
mov eax, dword [ebp - 8]
call fcn.0040c5d0
push eax
push 0x5ffdf4
call sub.kernel32.dll_CopyFileW
xor ecx, ecx
mov edx, dword [ebp - 4]
lea eax, [ebp - 0x2fc]
call fcn.00407f3c
call fcn.00407170
lea eax, [ebp - 0x2fc]
call fcn.00407bf0
call fcn.00407170
mov eax, dword [ebp - 0x10]
mov esi, dword [eax + 8]
cmp byte [esi + 0x20], 0
je 0x5ffad0
xor edx, edx
mov eax, esi
call fcn.005feeec
cmp dword [esi + 0x28], 1
jne 0x5ffac4
mov edx, 2
mov eax, esi
call fcn.005ff190
jmp 0x5ffad0
mov edx, 1
mov eax, esi
call fcn.005ff190
mov edx, dword [esi + 0x28]
lea eax, [ebp - 0x2fc]
call fcn.004092a8
call fcn.004096bc
call fcn.00407170
mov edi, 1
mov ebx, 1
mov eax, ebx
add eax, eax
add eax, eax
lea eax, [esi + eax*8]
mov eax, dword [eax + edi*4 + 0x30]
cmp dword [eax + 0x210], 0
jl 0x5ffb57
mov eax, ebx
add eax, eax
add eax, eax
lea eax, [esi + eax*8]
mov eax, dword [eax + edi*4 + 0x30]
fild dword [eax + 0x210]
fstp xword [ebp - 0x20]
wait
movzx eax, word [ebp - 0x18]
push eax
push dword [ebp - 0x1c]
push dword [ebp - 0x20]
lea ecx, [ebp - 0xc]
mov edx, dword [0x635928]
mov eax, 0x5ffe14
call fcn.00429894
mov edx, dword [ebp - 0xc]
lea eax, [ebp - 0x2fc]
call fcn.004094a8
call fcn.00408038
call fcn.00407170
jmp 0x5ffb7f
mov eax, ebx
add eax, eax
add eax, eax
lea eax, [esi + eax*8]
mov eax, dword [eax + edi*4 + 0x30]
mov edx, dword [eax + 0x210]
lea eax, [ebp - 0x2fc]
call fcn.004092a8
call fcn.00408038
call fcn.00407170
inc ebx
cmp ebx, 9
jne 0x5ffaf2
mov edx, 0x5ffe28
lea eax, [ebp - 0x2fc]
call fcn.004094a8
call fcn.00408038
call fcn.00407170
inc edi
cmp edi, 9
jne 0x5ffaed
mov eax, esi
call fcn.005fe4b8
mov ebx, eax
test ebx, ebx
jl 0x5ffbe1
inc ebx
xor edi, edi
mov edx, edi
mov eax, esi
call fcn.005fe4b0
mov edx, eax
lea eax, [ebp - 0x2fc]
call fcn.004092a8
call fcn.00408038
call fcn.00407170
inc edi
dec ebx
jne 0x5ffbbd
mov edx, 0x5ffe28
lea eax, [ebp - 0x2fc]
call fcn.004094a8
call fcn.00408038
call fcn.00407170
mov eax, esi
call fcn.005fe48c
mov ebx, eax
test ebx, ebx
jl 0x5ffc2f
inc ebx
xor edi, edi
mov edx, edi
mov eax, esi
call fcn.005fe484
mov edx, eax
lea eax, [ebp - 0x2fc]
call fcn.004092a8
call fcn.00408038
call fcn.00407170
inc edi
dec ebx
jne 0x5ffc0b
mov edx, 0x5ffe28
lea eax, [ebp - 0x2fc]
call fcn.004094a8
call fcn.00408038
call fcn.00407170
movzx edx, byte [esi + 0x154]
lea eax, [ebp - 0x2fc]
call fcn.00409260
call fcn.004096bc
call fcn.00407170
movzx edx, byte [esi + 0x155]
lea eax, [ebp - 0x2fc]
call fcn.00409260
call fcn.004096bc
call fcn.00407170
mov edx, dword [0x6359c0]
mov edx, dword [edx]
lea eax, [ebp - 0x2fc]
call fcn.004092a8
call fcn.004096bc
call fcn.00407170
mov edx, dword [esi + 0x4c]
lea eax, [ebp - 0x2fc]
call fcn.004094a8
call fcn.004096bc
call fcn.00407170
mov edx, dword [esi + 0x50]
lea eax, [ebp - 0x2fc]
call fcn.004094a8
call fcn.004096bc
call fcn.00407170
lea eax, [ebp - 0x2fc]
call fcn.00408044
call fcn.00407170
mov eax, dword [ebp - 0x10]
mov edx, dword [eax + 4]
lea eax, [ebp - 0x300]
mov ecx, 0x5ffe3c
call fcn.0040c834
mov edx, dword [ebp - 0x300]
xor ecx, ecx
lea eax, [ebp - 0x2fc]
call fcn.00407f3c
call fcn.00407170
mov eax, dword [ebp - 0x10]
mov edx, dword [eax + 4]
lea eax, [ebp - 0x304]
mov ecx, 0x5ffe3c
call fcn.0040c834
mov eax, dword [ebp - 0x304]
mov dl, 1
call fcn.00427538
test al, al
jne 0x5ffd43
lea eax, [ebp - 0x2fc]
call fcn.00407bf0
call fcn.00407170
lea eax, [ebp - 0x2fc]
call fcn.00407bfc
call fcn.00407170
mov edx, dword [ebp - 4]
lea eax, [ebp - 0x2fc]
call fcn.004094a8
call fcn.004096bc
call fcn.00407170
lea eax, [ebp - 0x2fc]
call fcn.00408044
call fcn.00407170
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 8]
mov eax, dword [eax + 4]
mov edx, dword [eax + 0x40]
mov eax, 0x5ffe60
call fcn.005f63ac
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x5ffdc5
lea eax, [ebp - 0x304]
mov edx, 2
call fcn.0040bb28
lea eax, [ebp - 0xc]
mov edx, 3
call fcn.0040bb28
pop eax
jmp eax