Function at 0x3aacbd26
Capabilities:
Copy file
Create directory

Disassembly:
push 0x52c
mov eax, 0x3ab4c64b
call fcn.3ab359d8
xor ebx, ebx
mov esi, ecx
mov dword [ebp - 0x51c], ebx
mov dword [ebp - 4], ebx
mov edi, dword [sym.imp.OLEAUT32.dll_SysStringLen]
cmp byte [esi + 0x1160], bl
jne 0x3aacbeaa
mov eax, dword [esi + 0x184]
push 0x3aa63534
lea ecx, [ebp - 0x50c]
mov dword [ebp - 0x518], eax
call fcn.3ab3c1f6
mov dword [ebp - 0x514], eax
push 0x3aa635d0
lea ecx, [ebp - 0x510]
mov byte [ebp - 4], 1
call fcn.3ab3c1f6
mov byte [ebp - 4], 2
mov ecx, dword [ebp - 0x514]
mov eax, dword [eax]
mov ecx, dword [ecx]
lea edx, [ebp - 0x51c]
push edx
mov dword [ebp - 0x514], eax
mov eax, dword [ebp - 0x518]
mov eax, dword [eax]
push ecx
push dword [ebp - 0x514]
push dword [ebp - 0x518]
call dword [eax + 0x20]
push dword [ebp - 0x510]
call edi
mov byte [ebp - 4], bl
push dword [ebp - 0x50c]
call edi
push dword [ebp - 0x51c]
call fcn.3ab3c1f6
pop ecx
test eax, eax
jne 0x3aacbeaa
push dword [ebp - 0x51c]
call edi
mov eax, dword [esi + 0x184]
push 0x3aa63514
lea ecx, [ebp - 0x510]
mov dword [ebp - 0x51c], ebx
mov dword [ebp - 0x518], eax
call fcn.3ab3c1f6
mov dword [ebp - 0x50c], eax
push 0x3aa635d0
lea ecx, [ebp - 0x514]
mov byte [ebp - 4], 3
call fcn.3ab3c1f6
mov byte [ebp - 4], 4
mov ecx, dword [ebp - 0x50c]
mov eax, dword [eax]
mov ecx, dword [ecx]
lea edx, [ebp - 0x51c]
push edx
mov dword [ebp - 0x50c], eax
mov eax, dword [ebp - 0x518]
mov eax, dword [eax]
push ecx
push dword [ebp - 0x50c]
push dword [ebp - 0x518]
call dword [eax + 0x20]
push dword [ebp - 0x514]
call edi
mov byte [ebp - 4], bl
push dword [ebp - 0x510]
call edi
push dword [ebp - 0x51c]
call fcn.3ab3c1f6
pop ecx
test eax, eax
je 0x3aacbeaa
push ebx
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x50c], esp
push 0x3aa6c6a0
call fcn.3ab3c1f6
push esi
call fcn.3aab55fc
push dword [ebp - 0x51c]
call edi
xor eax, eax
call fcn.3ab35a6a
ret
push dword [ebp - 0x51c]
call edi
lea edx, [ebp - 0x51c]
lea eax, [esi + 0x100c]
mov ecx, dword [eax]
push edx
push eax
mov dword [ebp - 0x51c], ebx
call dword [ecx + 0x24]
push dword [ebp - 0x51c]
call fcn.3ab3c1f6
pop ecx
test eax, eax
je 0x3aacbeee
push ebx
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x50c], esp
push 0x3aa754f0
jmp 0x3aacbe8f
cmp byte [esi + 0x1154], bl
jne 0x3aacc770
push ebx
mov ecx, esi
call fcn.3aa9e9f2
test al, al
jne 0x3aacc770
lea eax, [ebp - 0x508]
push eax
mov ecx, esi
call fcn.3aa9a552
mov byte [ebp - 4], 5
cmp dword [ebp - 0x4f0], 8
mov eax, dword [ebp - 0x504]
jae 0x3aacbf31
lea eax, [ebp - 0x504]
push ebx
push eax
call fcn.3ab3c1f6
pop ecx
pop ecx
test eax, eax
je 0x3aacbfd5
push 0x3aa755a0
lea ecx, [ebp - 0x460]
call fcn.3ab3c1f6
push 0xffffffffffffffff
push ebx
lea eax, [ebp - 0x508]
push eax
lea ecx, [ebp - 0x460]
mov byte [ebp - 4], 6
call fcn.3ab3c1f6
push 0x3aa755f8
lea ecx, [ebp - 0x460]
call fcn.3ab3c1f6
cmp dword [ebp - 0x448], 8
mov eax, dword [ebp - 0x45c]
push ebx
jae 0x3aacbf91
lea eax, [ebp - 0x45c]
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x50c], esp
push eax
call fcn.3ab3c1f6
push esi
call fcn.3aab55fc
push ebx
push 1
lea ecx, [ebp - 0x460]
call fcn.3ab3c1f6
xor esi, esi
push ebx
push 1
lea ecx, [ebp - 0x508]
call fcn.3ab3c1f6
push dword [ebp - 0x51c]
call edi
mov eax, esi
jmp 0x3aacbea4
push 0x3aa74ac0
lea ecx, [ebp - 0x4b4]
call fcn.3ab3c1f6
lea eax, [ebp - 0x4b4]
push eax
lea eax, [ebp - 0x508]
push eax
lea eax, [ebp - 0x498]
push eax
mov byte [ebp - 4], 7
call fcn.3ab1628c
push ebx
push 1
lea ecx, [ebp - 0x4b4]
mov byte [ebp - 4], 9
call fcn.3ab3c1f6
cmp dword [ebp - 0x480], 8
mov eax, dword [ebp - 0x494]
jae 0x3aacc02a
lea eax, [ebp - 0x494]
push ebx
push eax
call fcn.3ab3c1f6
pop ecx
pop ecx
test eax, eax
je 0x3aacc054
cmp dword [ebp - 0x480], 8
mov eax, dword [ebp - 0x494]
jae 0x3aacc04c
lea eax, [ebp - 0x494]
push ebx
push eax
call dword [sym.imp.kernel32.dll_CreateDirectoryW]
lea eax, [esi + 0x254]
push eax
lea eax, [ebp - 0x498]
push eax
lea eax, [ebp - 0x444]
push eax
call fcn.3ab1628c
lea eax, [esi + 0x270]
mov byte [ebp - 4], 0xa
cmp dword [eax + 0x18], 8
jb 0x3aacc083
mov eax, dword [eax + 4]
jmp 0x3aacc086
add eax, 4
cmp dword [ebp - 0x42c], 8
mov ecx, dword [ebp - 0x440]
jae 0x3aacc09b
lea ecx, [ebp - 0x440]
push eax
push ecx
call fcn.3ab3c1f6
pop ecx
pop ecx
test eax, eax
je 0x3aacc26e
lea eax, [esi + 0x270]
cmp dword [eax + 0x18], 8
jb 0x3aacc0bd
mov eax, dword [eax + 4]
jmp 0x3aacc0c0
add eax, 4
push eax
lea ecx, [ebp - 0x514]
call fcn.3ab3c1f6
mov byte [ebp - 4], 0xb
cmp dword [ebp - 0x42c], 8
mov eax, dword [ebp - 0x440]
jae 0x3aacc0e5
lea eax, [ebp - 0x440]
push eax
lea ecx, [ebp - 0x510]
call fcn.3ab3c1f6
mov byte [ebp - 4], 0xc
push dword [ebp - 0x510]
mov eax, dword [esi + 0x18c]
push dword [ebp - 0x514]
mov ecx, dword [eax]
push eax
call dword [ecx + 0x3c]
cmp eax, ebx
mov dword [ebp - 0x518], eax
jge 0x3aacc16a
push ebx
push ebx
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x50c], esp
push 0x3aa75688
call fcn.3ab3c1f6
call fcn.3aab5930
push dword [ebp - 0x510]
call edi
push dword [ebp - 0x514]
call edi
push ebx
push 1
lea ecx, [ebp - 0x444]
call fcn.3ab3c1f6
push ebx
push 1
lea ecx, [ebp - 0x498]
call fcn.3ab3c1f6
mov esi, dword [ebp - 0x518]
jmp 0x3aacbfb8
mov eax, dword [esi + 0x18c]
push dword [ebp - 0x510]
mov ecx, dword [eax]
push eax
call dword [ecx + 0x20]
cmp eax, ebx
mov dword [ebp - 0x518], eax
jge 0x3aacc245
push 0x3aa6ae60
lea ecx, [ebp - 0x4d0]
call fcn.3ab3c1f6
mov dword [ebp - 0x50c], eax
push 0x3aa756f8
lea ecx, [ebp - 0x538]
mov byte [ebp - 4], 0xd
call fcn.3ab3c1f6
lea ecx, [ebp - 0x444]
push ecx
push eax
lea eax, [ebp - 0x47c]
push eax
mov byte [ebp - 4], 0xe
call fcn.3aa971a4
mov byte [ebp - 4], 0xf
push dword [ebp - 0x50c]
push eax
lea eax, [ebp - 0x4b4]
push eax
call fcn.3aa971a4
add esp, 0x18
push ebx
push 1
lea ecx, [ebp - 0x47c]
call fcn.3ab3c1f6
push ebx
push 1
lea ecx, [ebp - 0x538]
call fcn.3ab3c1f6
push ebx
push 1
lea ecx, [ebp - 0x4d0]
mov byte [ebp - 4], 0x13
call fcn.3ab3c1f6
push ebx
push ebx
sub esp, 0x1c
lea eax, [ebp - 0x4b4]
mov ecx, esp
mov dword [ebp - 0x50c], esp
push eax
call fcn.3ab3c1f6
call fcn.3aab5930
lea ecx, [ebp - 0x4b4]
push ebx
push 1
call fcn.3ab3c1f6
jmp 0x3aacc133
push 0xffffffffffffffff
push ebx
lea eax, [ebp - 0x444]
push eax
lea ecx, [esi + 0x270]
call fcn.3ab3c1f6
push dword [ebp - 0x510]
call edi
mov byte [ebp - 4], 0xa
push dword [ebp - 0x514]
call edi
lea eax, [esi + 0x28c]
push eax
lea eax, [ebp - 0x498]
push eax
lea eax, [ebp - 0x47c]
push eax
call fcn.3ab1628c
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [ebp - 0x444]
mov byte [ebp - 4], 0x14
call fcn.3ab3c1f6
push ebx
push 1
lea ecx, [ebp - 0x47c]
mov byte [ebp - 4], 0xa
call fcn.3ab3c1f6
lea eax, [esi + 0x2a8]
cmp dword [eax + 0x18], 8
jb 0x3aacc2be
mov eax, dword [eax + 4]
jmp 0x3aacc2c1
add eax, 4
cmp dword [ebp - 0x42c], 8
mov ecx, dword [ebp - 0x440]
jae 0x3aacc2d6
lea ecx, [ebp - 0x440]
push eax
push ecx
call fcn.3ab3c1f6
pop ecx
pop ecx
test eax, eax
je 0x3aacc465
lea eax, [esi + 0x2a8]
cmp dword [eax + 0x18], 8
jb 0x3aacc2f8
mov eax, dword [eax + 4]
jmp 0x3aacc2fb
add eax, 4
push eax
lea ecx, [ebp - 0x514]
call fcn.3ab3c1f6
mov byte [ebp - 4], 0x15
cmp dword [ebp - 0x42c], 8
mov eax, dword [ebp - 0x440]
jae 0x3aacc320
lea eax, [ebp - 0x440]
push eax
lea ecx, [ebp - 0x510]
call fcn.3ab3c1f6
mov byte [ebp - 4], 0x16
push dword [ebp - 0x510]
mov eax, dword [esi + 0x18c]
push dword [ebp - 0x514]
mov ecx, dword [eax]
push eax
call dword [ecx + 0x40]
cmp eax, ebx
mov dword [ebp - 0x518], eax
jge 0x3aacc369
push ebx
push ebx
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x50c], esp
push 0x3aa75768
jmp 0x3aacc129
mov eax, dword [esi + 0x18c]
push dword [ebp - 0x510]
mov ecx, dword [eax]
push eax
call dword [ecx + 0x28]
cmp eax, ebx
mov dword [ebp - 0x518], eax
jge 0x3aacc43c
push 0x3aa6ae60
lea ecx, [ebp - 0x4b4]
call fcn.3ab3c1f6
mov dword [ebp - 0x50c], eax
push 0x3aa757d8
lea ecx, [ebp - 0x538]
mov byte [ebp - 4], 0x17
call fcn.3ab3c1f6
lea ecx, [ebp - 0x444]
push ecx
push eax
lea eax, [ebp - 0x47c]
push eax
mov byte [ebp - 4], 0x18
call fcn.3aa971a4
mov byte [ebp - 4], 0x19
push dword [ebp - 0x50c]
push eax
lea eax, [ebp - 0x4d0]
push eax
call fcn.3aa971a4
add esp, 0x18
push ebx
push 1
lea ecx, [ebp - 0x47c]
call fcn.3ab3c1f6
push ebx
push 1
lea ecx, [ebp - 0x538]
call fcn.3ab3c1f6
push ebx
push 1
lea ecx, [ebp - 0x4b4]
mov byte [ebp - 4], 0x1d
call fcn.3ab3c1f6
push ebx
push ebx
sub esp, 0x1c
lea eax, [ebp - 0x4d0]
mov ecx, esp
mov dword [ebp - 0x50c], esp
push eax
call fcn.3ab3c1f6
call fcn.3aab5930
lea ecx, [ebp - 0x4d0]
jmp 0x3aacc238
push 0xffffffffffffffff
push ebx
lea eax, [ebp - 0x444]
push eax
lea ecx, [esi + 0x2a8]
call fcn.3ab3c1f6
push dword [ebp - 0x510]
call edi
mov byte [ebp - 4], 0xa
push dword [ebp - 0x514]
call edi
xor eax, eax
push 0x208
mov word [ebp - 0x21c], ax
lea eax, [ebp - 0x21a]
push ebx
push eax
call fcn.3ab033f0
add esp, 0xc
lea eax, [ebp - 0x21c]
push eax
push 0x104
call fcn.3ab3c1f6
push 0x3aa614f0
lea ecx, [ebp - 0x4d0]
call fcn.3ab3c1f6
lea eax, [ebp - 0x21c]
push eax
mov ecx, eax
mov byte [ebp - 4], 0x1e
call fcn.3aa9f51d
lea eax, [ebp - 0x21c]
push eax
lea ecx, [ebp - 0x47c]
call fcn.3ab3c1f6
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [ebp - 0x4d0]
mov byte [ebp - 4], 0x1f
call fcn.3ab3c1f6
push ebx
push 1
lea ecx, [ebp - 0x47c]
mov byte [ebp - 4], 0x1e
call fcn.3ab3c1f6
xor eax, eax
push 0x208
mov word [ebp - 0x428], ax
lea eax, [ebp - 0x426]
push ebx
push eax
call fcn.3ab033f0
mov eax, dword [ebp - 0x4cc]
add esp, 0xc
cmp dword [ebp - 0x4b8], 8
jae 0x3aacc520
lea eax, [ebp - 0x4cc]
push dword [ebp - 0x4bc]
push eax
lea eax, [ebp - 0x428]
push 0x105
push eax
call fcn.3ab3c1f6
add esp, 0x10
push 0x104
lea eax, [ebp - 0x428]
push eax
call fcn.3ab3c1f6
lea eax, [ebp - 0x428]
push eax
lea ecx, [ebp - 0x47c]
call fcn.3ab3c1f6
push 0x3aa63500
push eax
lea eax, [ebp - 0x4ec]
push eax
mov byte [ebp - 4], 0x20
call fcn.3aaa357c
add esp, 0xc
push ebx
push 1
lea ecx, [ebp - 0x47c]
mov byte [ebp - 4], 0x22
call fcn.3ab3c1f6
cmp dword [ebp - 0x4d4], 8
mov eax, dword [ebp - 0x4e8]
jae 0x3aacc59e
lea eax, [ebp - 0x4e8]
push ebx
push eax
call fcn.3ab3c1f6
pop ecx
pop ecx
test eax, eax
jne 0x3aacc72c
lea eax, [ebp - 0x4b4]
push eax
mov ecx, esi
call fcn.3aa9a552
push 0x3aa74ac0
lea ecx, [ebp - 0x538]
mov byte [ebp - 4], 0x23
call fcn.3ab3c1f6
lea eax, [ebp - 0x538]
push eax
lea eax, [ebp - 0x4b4]
push eax
lea eax, [ebp - 0x47c]
push eax
mov byte [ebp - 4], 0x24
call fcn.3ab1628c
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [ebp - 0x4b4]
mov byte [ebp - 4], 0x25
call fcn.3ab3c1f6
push ebx
push 1
lea ecx, [ebp - 0x47c]
call fcn.3ab3c1f6
push ebx
push 1
lea ecx, [ebp - 0x538]
mov byte [ebp - 4], 0x23
call fcn.3ab3c1f6
push 0x3aa63500
lea ecx, [ebp - 0x538]
call fcn.3ab3c1f6
lea eax, [ebp - 0x538]
push eax
lea eax, [ebp - 0x4b4]
push eax
lea eax, [ebp - 0x460]
push eax
mov byte [ebp - 4], 0x26
call fcn.3ab1628c
push ebx
push 1
lea ecx, [ebp - 0x538]
mov byte [ebp - 4], 0x28
call fcn.3ab3c1f6
cmp dword [ebp - 0x448], 8
mov ecx, dword [ebp - 0x45c]
jae 0x3aacc677
lea ecx, [ebp - 0x45c]
cmp dword [ebp - 0x4d4], 8
mov eax, dword [ebp - 0x4e8]
jae 0x3aacc68c
lea eax, [ebp - 0x4e8]
push ecx
push eax
call fcn.3ab3c1f6
pop ecx
pop ecx
test eax, eax
je 0x3aacc710
cmp dword [ebp - 0x448], 8
mov ecx, dword [ebp - 0x45c]
jae 0x3aacc6ae
lea ecx, [ebp - 0x45c]
cmp dword [ebp - 0x4d4], 8
mov eax, dword [ebp - 0x4e8]
jae 0x3aacc6c3
lea eax, [ebp - 0x4e8]
push ebx
push ecx
push eax
call dword [sym.imp.kernel32.dll_CopyFileW]
cmp eax, ebx
jne 0x3aacc710
push 0x3aa75848
lea ecx, [ebp - 0x47c]
call fcn.3ab3c1f6
push ebx
sub esp, 0x1c
mov byte [ebp - 4], 0x29
lea eax, [ebp - 0x47c]
mov ecx, esp
mov dword [ebp - 0x50c], esp
push eax
call fcn.3ab3c1f6
push esi
call fcn.3aab55fc
push ebx
push 1
lea ecx, [ebp - 0x47c]
call fcn.3ab3c1f6
push ebx
push 1
lea ecx, [ebp - 0x460]
call fcn.3ab3c1f6
push ebx
push 1
lea ecx, [ebp - 0x4b4]
call fcn.3ab3c1f6
xor esi, esi
push ebx
inc esi
push esi
lea ecx, [ebp - 0x4ec]
call fcn.3ab3c1f6
push ebx
push esi
lea ecx, [ebp - 0x4d0]
call fcn.3ab3c1f6
push ebx
push esi
lea ecx, [ebp - 0x444]
call fcn.3ab3c1f6
push ebx
push esi
lea ecx, [ebp - 0x498]
call fcn.3ab3c1f6
push ebx
push esi
lea ecx, [ebp - 0x508]
call fcn.3ab3c1f6
xor esi, esi
jmp 0x3aacbfc6