Function at 0x1039991
Capabilities:
Copy file
Create directory

Disassembly:
push 0x98
mov eax, 0x10cd119
call fcn.010b53c2
mov edi, dword [ebp + 0xc]
mov esi, dword [ebp + 8]
push edi
push esi
mov dword [ebp - 0x34], esi
call fcn.01036094
pop ecx
pop ecx
test al, al
jne 0x1039ec7
push dword [edi + 0x14]
mov ecx, edi
push 0x1002650
mov byte [ebp - 0x2d], 1
call fcn.01035b55
xor ebx, ebx
cmp eax, 0xffffffff
jne 0x1039af8
push ebx
push 0x19
lea ecx, [ebp - 0x4c]
call fcn.01033bfc
push 0x1002c80
lea ecx, [ebp - 0x4c]
mov dword [ebp - 4], ebx
call fcn.01033c5d
push 0x1002c08
lea ecx, [ebp - 0x4c]
call fcn.01033c5d
push esi
lea eax, [ebp - 0xa0]
push 0x1002be4
push eax
call fcn.01033a74
add esp, 0xc
push eax
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 1
call fcn.01033bb7
xor esi, esi
push ebx
inc esi
push esi
lea ecx, [ebp - 0xa0]
mov byte [ebp - 4], bl
call fcn.01032f16
push edi
lea eax, [ebp - 0xa0]
push 0x1002bc4
push eax
call fcn.01033a74
add esp, 0xc
push eax
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 2
call fcn.01033bb7
push ebx
push esi
lea ecx, [ebp - 0xa0]
mov byte [ebp - 4], bl
call fcn.01032f16
mov eax, 0x1002bb8
cmp byte [ebp + 0x10], bl
jne 0x1039a76
mov eax, 0x1002bac
push eax
lea ecx, [ebp - 0x68]
call fcn.01033a48
mov edi, eax
push 0x1002b88
lea ecx, [ebp - 0x84]
mov byte [ebp - 4], 3
call fcn.01033a48
push edi
push eax
lea eax, [ebp - 0xa0]
push eax
mov byte [ebp - 4], 4
call fcn.010377fa
add esp, 0xc
push eax
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 5
call fcn.01033bb7
push ebx
push esi
lea ecx, [ebp - 0xa0]
call fcn.01032f16
push ebx
push esi
lea ecx, [ebp - 0x84]
call fcn.01032f16
push ebx
mov byte [ebp - 4], bl
push esi
lea ecx, [ebp - 0x68]
call fcn.01032f16
lea eax, [ebp - 0x4c]
push eax
lea ecx, [ebp - 0x7c]
call fcn.010907af
push 0x10de07c
lea eax, [ebp - 0x7c]
push eax
call fcn.010b4e4c
inc eax
push eax
push ebx
lea eax, [ebp - 0x2c]
push eax
mov ecx, edi
call fcn.010372dc
cmp dword [ebp - 0x14], 8
mov eax, dword [ebp - 0x28]
jae 0x1039b12
lea eax, [ebp - 0x28]
push ebx
push eax
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
cmp eax, ebx
jne 0x1039b2b
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
jne 0x1039b2e
mov byte [ebp - 0x2d], bl
xor esi, esi
push ebx
inc esi
push esi
lea ecx, [ebp - 0x2c]
call fcn.01032f16
cmp byte [ebp - 0x2d], bl
je 0x1039d37
push ebx
push 0x1002650
mov ecx, edi
call fcn.01035b25
cmp eax, 0xffffffff
je 0x1039d37
inc eax
push eax
push 0x1002650
mov ecx, edi
call fcn.01035b25
mov dword [ebp - 0xa4], eax
cmp eax, 0xffffffff
je 0x1039d37
inc eax
push eax
push ebx
lea eax, [ebp - 0x2c]
push eax
mov ecx, edi
call fcn.010372dc
cmp dword [ebp - 0x14], 8
mov eax, dword [ebp - 0x28]
mov dword [ebp - 4], 6
jae 0x1039b98
lea eax, [ebp - 0x28]
push ebx
push eax
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
cmp eax, ebx
jne 0x1039bb4
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x38], eax
cmp eax, 0xb7
jne 0x1039bca
or dword [ebp - 4], 0xffffffff
push ebx
push esi
lea ecx, [ebp - 0x2c]
call fcn.01032f16
mov eax, dword [ebp - 0xa4]
jmp 0x1039b5a
push ebx
push 7
lea ecx, [ebp - 0x4c]
call fcn.01033bfc
push 0x1002c80
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 7
call fcn.01033c5d
push dword [ebp - 0x38]
lea eax, [ebp - 0xa0]
push eax
call fcn.0103e9b9
push eax
lea eax, [ebp - 0x68]
push 0x1002b64
push eax
mov byte [ebp - 4], 8
call fcn.01033a74
add esp, 0xc
push eax
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 9
call fcn.01033bb7
push ebx
push esi
lea ecx, [ebp - 0x68]
call fcn.01032f16
push ebx
push esi
lea ecx, [ebp - 0xa0]
mov byte [ebp - 4], 7
call fcn.01032f16
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x68]
push 0x1002740
push eax
call fcn.01033a74
add esp, 0xc
push eax
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 0xa
call fcn.01033bb7
push ebx
push esi
lea ecx, [ebp - 0x68]
mov byte [ebp - 4], 7
call fcn.01032f16
push dword [ebp - 0x34]
lea eax, [ebp - 0x68]
push 0x1002be4
push eax
call fcn.01033a74
add esp, 0xc
push eax
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 0xb
call fcn.01033bb7
push ebx
push esi
lea ecx, [ebp - 0x68]
mov byte [ebp - 4], 7
call fcn.01032f16
push edi
lea eax, [ebp - 0x68]
push 0x1002bc4
push eax
call fcn.01033a74
add esp, 0xc
push eax
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 0xc
call fcn.01033bb7
mov byte [ebp - 4], 7
push ebx
push esi
lea ecx, [ebp - 0x68]
call fcn.01032f16
mov eax, 0x1002bb8
cmp byte [ebp + 0x10], bl
jne 0x1039cce
mov eax, 0x1002bac
push eax
lea ecx, [ebp - 0x84]
call fcn.01033a48
mov edi, eax
push 0x1002b88
lea ecx, [ebp - 0xa0]
mov byte [ebp - 4], 0xd
call fcn.01033a48
push edi
push eax
lea eax, [ebp - 0x68]
push eax
mov byte [ebp - 4], 0xe
call fcn.010377fa
add esp, 0xc
push eax
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 0xf
call fcn.01033bb7
push ebx
push esi
lea ecx, [ebp - 0x68]
call fcn.01032f16
push ebx
push esi
lea ecx, [ebp - 0xa0]
call fcn.01032f16
push ebx
mov byte [ebp - 4], 7
push esi
lea ecx, [ebp - 0x84]
jmp 0x1039ad9
cmp dword [edi + 0x18], 8
jb 0x1039d42
mov ecx, dword [edi + 4]
jmp 0x1039d45
lea ecx, [edi + 4]
mov eax, dword [ebp - 0x34]
cmp dword [eax + 0x18], 8
jb 0x1039d53
mov eax, dword [eax + 4]
jmp 0x1039d56
add eax, 4
movzx edx, byte [ebp + 0x10]
push edx
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileW]
cmp eax, ebx
jne 0x1039ec7
call dword [sym.imp.KERNEL32.dll_GetLastError]
push ebx
push 7
lea ecx, [ebp - 0x7c]
mov dword [ebp - 0x38], eax
call fcn.01033bfc
push 0x1002c80
lea ecx, [ebp - 0x7c]
mov dword [ebp - 4], 0x10
call fcn.01033c5d
push dword [ebp - 0x38]
lea eax, [ebp - 0x2c]
push eax
call fcn.0103e9b9
push eax
lea eax, [ebp - 0x68]
push 0x1002b50
push eax
mov byte [ebp - 4], 0x11
call fcn.01033a74
add esp, 0xc
push eax
lea ecx, [ebp - 0x78]
mov byte [ebp - 4], 0x12
call fcn.01033bb7
push ebx
push esi
lea ecx, [ebp - 0x68]
call fcn.01032f16
push ebx
push esi
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0x10
call fcn.01032f16
push dword [ebp - 0x34]
lea eax, [ebp - 0x68]
push 0x1002be4
push eax
call fcn.01033a74
add esp, 0xc
push eax
lea ecx, [ebp - 0x78]
mov byte [ebp - 4], 0x13
call fcn.01033bb7
push ebx
push esi
lea ecx, [ebp - 0x68]
mov byte [ebp - 4], 0x10
call fcn.01032f16
push edi
lea eax, [ebp - 0x68]
push 0x1002bc4
push eax
call fcn.01033a74
add esp, 0xc
push eax
lea ecx, [ebp - 0x78]
mov byte [ebp - 4], 0x14
call fcn.01033bb7
push ebx
push esi
lea ecx, [ebp - 0x68]
mov byte [ebp - 4], 0x10
call fcn.01032f16
mov eax, 0x1002bb8
cmp byte [ebp + 0x10], bl
jne 0x1039e45
mov eax, 0x1002bac
push eax
lea ecx, [ebp - 0xa0]
call fcn.01033a48
mov edi, eax
push 0x1002b88
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0x15
call fcn.01033a48
push edi
push eax
lea eax, [ebp - 0x68]
push eax
mov byte [ebp - 4], 0x16
call fcn.010377fa
add esp, 0xc
push eax
lea ecx, [ebp - 0x78]
mov byte [ebp - 4], 0x17
call fcn.01033bb7
push ebx
push esi
lea ecx, [ebp - 0x68]
call fcn.01032f16
push ebx
push esi
lea ecx, [ebp - 0x2c]
call fcn.01032f16
push ebx
push esi
lea ecx, [ebp - 0xa0]
mov byte [ebp - 4], 0x10
call fcn.01032f16
lea eax, [ebp - 0x7c]
push eax
lea ecx, [ebp - 0x98]
call fcn.010907af
push 0x10de07c
lea eax, [ebp - 0x98]
jmp 0x1039af2
call fcn.010b5454
ret 0xc