Function at 0x402f4b
Capabilities:
Copy file
Create directory
Delete file

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0xdc
mov dword [esp], 0x43a744
call fcn.00417d10
mov dword [esp], 0x43a734
mov ebx, eax
call fcn.00417d10
cmp byte [ebx], 0
mov edx, eax
lea eax, [eax + 0xa]
mov dword [ebp - 0xcc], eax
jne 0x402f9c
xor ecx, ecx
mov esi, 0x43b37e
mov edi, eax
mov dword [edx], ecx
mov dword [edx + 4], ecx
mov dword [edx + 8], ecx
mov ecx, 3
rep movsd dword es:[edi], dword [esi]
mov byte [ebx], 1
cmp byte [edx + 9], 0
jne 0x402ff3
lea ecx, [edx + 0xa]
mov esi, 0xffffff95
mov eax, dword [edx + 4]
mov ebx, dword [edx]
lea edi, [eax + 1]
cmp edi, ebx
jne 0x402fb9
inc eax
jmp 0x402fe5
lea edi, [eax + 2]
cmp edi, ebx
jne 0x402fc5
add eax, 2
jmp 0x402fe5
cmp eax, ebx
jne 0x402fcf
mov eax, esi
xor byte [ecx], al
jmp 0x402feb
lea edi, [eax + 4]
cmp ebx, edi
jne 0x402fdb
add eax, 3
jmp 0x402fe5
lea edi, [eax + 5]
cmp ebx, edi
jne 0x402feb
add eax, 4
xor byte [ecx], al
inc dword [edx]
jmp 0x402faa
inc esi
inc ecx
mov eax, esi
cmp al, 0xa1
jne 0x402faa
mov eax, dword [ebp - 0xcc]
mov byte [edx + 9], 1
lea ecx, [ebp - 0x30]
lea esi, [ebp - 0x30]
mov dword [esp], eax
call fcn.00401606
push eax
lea eax, [ebp - 0xc0]
mov dword [esp + 4], esi
mov dword [esp], eax
call fcn.00402283
mov ecx, esi
call fcn.0042da30
mov dword [esp], 0x43a764
call fcn.00417d10
mov dword [esp], 0x43a754
mov ebx, eax
call fcn.00417d10
cmp byte [ebx], 0
mov edx, eax
jne 0x403064
xor eax, eax
mov esi, 0x43b366
mov ecx, 3
mov dword [edx], eax
mov dword [edx + 4], eax
mov dword [edx + 8], eax
lea eax, [edx + 0xa]
mov edi, eax
rep movsd dword es:[edi], dword [esi]
mov byte [ebx], 1
cmp byte [edx + 9], 0
jne 0x4030bb
lea ecx, [edx + 0xa]
mov esi, 0xffffff95
mov eax, dword [edx + 4]
mov ebx, dword [edx]
lea edi, [eax + 1]
cmp ebx, edi
jne 0x403081
inc eax
jmp 0x4030ad
lea edi, [eax + 2]
cmp ebx, edi
jne 0x40308d
add eax, 2
jmp 0x4030ad
cmp ebx, eax
jne 0x403097
mov eax, esi
xor byte [ecx], al
jmp 0x4030b3
lea edi, [eax + 4]
cmp ebx, edi
jne 0x4030a3
add eax, 3
jmp 0x4030ad
lea edi, [eax + 5]
cmp ebx, edi
jne 0x4030b3
add eax, 4
xor byte [ecx], al
inc dword [edx]
jmp 0x403072
inc esi
inc ecx
mov eax, esi
cmp al, 0xa1
jne 0x403072
mov byte [edx + 9], 1
add edx, 0xa
lea esi, [ebp - 0x30]
mov dword [esp], edx
mov ecx, esi
call fcn.00401606
push eax
lea eax, [ebp - 0xa8]
mov dword [esp + 4], esi
mov dword [esp], eax
call fcn.00402283
mov ecx, esi
call fcn.0042da30
mov dword [esp], 0x43a7a4
call fcn.00417d10
mov dword [esp], 0x43a794
mov ebx, eax
call fcn.00417d10
cmp byte [ebx], 0
mov edx, eax
jne 0x403129
xor edi, edi
lea eax, [eax + 0xa]
mov esi, 0x43b336
mov ecx, 0xd
mov dword [eax - 0xa], edi
mov dword [eax - 6], edi
mov dword [eax - 2], edi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
mov byte [ebx], 1
cmp byte [edx + 9], 0
jne 0x403180
lea ecx, [edx + 0xa]
mov esi, 0xffffff96
mov eax, dword [edx + 4]
mov ebx, dword [edx]
lea edi, [eax + 1]
cmp ebx, edi
jne 0x403146
inc eax
jmp 0x403172
lea edi, [eax + 2]
cmp ebx, edi
jne 0x403152
add eax, 2
jmp 0x403172
cmp ebx, eax
jne 0x40315c
mov eax, esi
xor byte [ecx], al
jmp 0x403178
lea edi, [eax + 4]
cmp ebx, edi
jne 0x403168
add eax, 3
jmp 0x403172
lea edi, [eax + 5]
cmp ebx, edi
jne 0x403178
add eax, 4
xor byte [ecx], al
inc dword [edx]
jmp 0x403137
inc esi
inc ecx
mov eax, esi
cmp al, 0xa3
jne 0x403137
lea eax, [edx + 0xa]
mov byte [edx + 9], 1
mov dword [ebp - 0xcc], eax
mov dword [esp], 0x43a784
call fcn.00417d10
mov dword [esp], 0x43a774
mov ebx, eax
call fcn.00417d10
cmp byte [ebx], 0
mov edx, eax
jne 0x4031cd
xor esi, esi
lea eax, [eax + 0xa]
mov ecx, 0xe
mov dword [eax - 0xa], esi
mov dword [eax - 6], esi
mov dword [eax - 2], esi
mov esi, 0x43b34e
mov edi, eax
rep movsb byte es:[edi], byte [esi]
mov byte [ebx], 1
cmp byte [edx + 9], 0
jne 0x403224
lea ecx, [edx + 0xa]
mov esi, 0xffffff96
mov eax, dword [edx + 4]
mov ebx, dword [edx]
lea edi, [eax + 1]
cmp ebx, edi
jne 0x4031ea
inc eax
jmp 0x403216
lea edi, [eax + 2]
cmp ebx, edi
jne 0x4031f6
add eax, 2
jmp 0x403216
cmp ebx, eax
jne 0x403200
mov eax, esi
xor byte [ecx], al
jmp 0x40321c
lea edi, [eax + 4]
cmp ebx, edi
jne 0x40320c
add eax, 3
jmp 0x403216
lea edi, [eax + 5]
cmp ebx, edi
jne 0x40321c
add eax, 4
xor byte [ecx], al
inc dword [edx]
jmp 0x4031db
inc esi
inc ecx
mov eax, esi
cmp al, 0xa4
jne 0x4031db
mov byte [edx + 9], 1
lea esi, [ebp - 0x30]
add edx, 0xa
lea eax, [ebp - 0xc0]
mov dword [esp + 8], edx
mov dword [esp + 4], eax
mov dword [esp], esi
call fcn.00435770
mov eax, dword [ebp - 0xcc]
mov ecx, esi
mov dword [esp], eax
call fcn.0042eb80
push edx
lea ecx, [ebp - 0x90]
mov dword [esp], eax
call fcn.00430590
push ecx
mov ecx, esi
call fcn.0042da30
mov dword [esp], 0x43a7e4
call fcn.00417d10
mov dword [esp], 0x43a7d4
mov ebx, eax
call fcn.00417d10
cmp byte [ebx], 0
mov ecx, eax
lea edx, [eax + 0xa]
jne 0x4032a7
xor eax, eax
mov dword [ecx + 8], eax
mov dword [ecx], eax
mov dword [ecx + 4], eax
mov dword [ecx + 0xa], 0xffe1fdb9
mov byte [edx + 4], 0x9b
mov byte [ebx], 1
cmp byte [ecx + 9], 0
mov esi, 0xffffff97
jne 0x4032fb
mov eax, dword [ecx + 4]
mov ebx, dword [ecx]
lea edi, [eax + 1]
cmp ebx, edi
jne 0x4032c1
inc eax
jmp 0x4032ed
lea edi, [eax + 2]
cmp ebx, edi
jne 0x4032cd
add eax, 2
jmp 0x4032ed
cmp ebx, eax
jne 0x4032d7
mov eax, esi
xor byte [edx], al
jmp 0x4032f3
lea edi, [eax + 4]
cmp ebx, edi
jne 0x4032e3
add eax, 3
jmp 0x4032ed
lea edi, [eax + 5]
cmp ebx, edi
jne 0x4032f3
add eax, 4
xor byte [edx], al
inc dword [ecx]
jmp 0x4032b2
inc esi
inc edx
mov eax, esi
cmp al, 0x9c
jne 0x4032b2
lea eax, [ecx + 0xa]
mov byte [ecx + 9], 1
mov dword [ebp - 0xcc], eax
mov dword [esp], 0x43a7c4
call fcn.00417d10
mov dword [esp], 0x43a7b4
mov ebx, eax
call fcn.00417d10
cmp byte [ebx], 0
mov edx, eax
jne 0x403340
xor edi, edi
mov dword [eax + 8], 0xf5f90000
mov dword [eax], edi
mov dword [eax + 4], edi
mov word [eax + 0xc], 0x99fb
mov byte [ebx], 1
cmp byte [edx + 9], 0
jne 0x403397
lea ecx, [edx + 0xa]
mov esi, 0xffffff96
mov eax, dword [edx + 4]
mov ebx, dword [edx]
lea edi, [eax + 1]
cmp ebx, edi
jne 0x40335d
inc eax
jmp 0x403389
lea edi, [eax + 2]
cmp ebx, edi
jne 0x403369
add eax, 2
jmp 0x403389
cmp ebx, eax
jne 0x403373
mov eax, esi
xor byte [ecx], al
jmp 0x40338f
lea edi, [eax + 4]
cmp ebx, edi
jne 0x40337f
add eax, 3
jmp 0x403389
lea edi, [eax + 5]
cmp ebx, edi
jne 0x40338f
add eax, 4
xor byte [ecx], al
inc dword [edx]
jmp 0x40334e
inc esi
inc ecx
mov eax, esi
cmp al, 0x9a
jne 0x40334e
mov byte [edx + 9], 1
add edx, 0xa
lea ebx, [ebp - 0x30]
mov dword [esp], edx
mov ecx, ebx
call fcn.00401606
push esi
mov eax, dword [ebp - 0xcc]
mov ecx, ebx
mov dword [esp], eax
call fcn.0042eb80
push edx
lea ecx, [ebp - 0x78]
lea esi, [ebp - 0x90]
mov dword [esp], eax
call fcn.00430590
push ecx
mov ecx, ebx
call fcn.0042da30
mov dword [esp + 8], 0x43b0e2
mov dword [esp + 4], esi
mov dword [esp], ebx
call fcn.00435770
lea eax, [ebp - 0x78]
mov ecx, ebx
mov dword [esp], eax
call fcn.0042ed00
push edi
lea ecx, [ebp - 0x60]
mov dword [esp], eax
call fcn.00430590
mov ecx, ebx
push eax
call fcn.0042da30
lea eax, [ebp - 0x48]
mov dword [esp], eax
call fcn.00401ec2
xor ecx, ecx
mov dword [esp + 4], ecx
mov eax, dword [ebp - 0x90]
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
push edx
push edx
test eax, eax
je 0x403459
mov eax, dword [ebp - 0x60]
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
push ebx
xor edi, edi
mov dword [esp + 8], edi
mov eax, dword [ebp - 0x60]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x48]
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CopyFileA]
jmp 0x40346c
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
jne 0x403551
jmp 0x403431
sub esp, 0xc
test eax, eax
je 0x403551
mov dword [esp], 0x43a804
call fcn.00417d10
mov dword [esp], 0x43a7f4
mov ebx, eax
call fcn.00417d10
cmp byte [ebx], 0
mov edx, eax
jne 0x4034af
xor ecx, ecx
mov dword [eax + 8], 0xfaf80000
mov dword [eax], ecx
mov dword [eax + 4], ecx
mov word [eax + 0xc], 0x9afa
mov byte [ebx], 1
cmp byte [edx + 9], 0
jne 0x403506
lea ecx, [edx + 0xa]
mov esi, 0xffffff97
mov eax, dword [edx + 4]
mov ebx, dword [edx]
lea edi, [eax + 1]
cmp ebx, edi
jne 0x4034cc
inc eax
jmp 0x4034f8
lea edi, [eax + 2]
cmp ebx, edi
jne 0x4034d8
add eax, 2
jmp 0x4034f8
cmp ebx, eax
jne 0x4034e2
mov eax, esi
xor byte [ecx], al
jmp 0x4034fe
lea edi, [eax + 4]
cmp ebx, edi
jne 0x4034ee
add eax, 3
jmp 0x4034f8
lea edi, [eax + 5]
cmp ebx, edi
jne 0x4034fe
add eax, 4
xor byte [ecx], al
inc dword [edx]
jmp 0x4034bd
inc esi
inc ecx
mov eax, esi
cmp al, 0x9b
jne 0x4034bd
mov byte [edx + 9], 1
add edx, 0xa
lea ebx, [ebp - 0x30]
mov dword [esp], edx
mov ecx, ebx
call fcn.00401606
push eax
lea eax, [ebp - 0x60]
mov dword [esp + 4], eax
mov dword [esp], ebx
call fcn.004029b8
mov ecx, ebx
call fcn.0042da30
lea ecx, [ebp - 0x48]
call fcn.0042da30
lea ecx, [ebp - 0x60]
call fcn.0042da30
lea ecx, [ebp - 0x78]
call fcn.0042da30
lea ecx, [ebp - 0x90]
jmp 0x40356b
lea ecx, [ebp - 0x48]
call fcn.0042da30
lea ecx, [ebp - 0x60]
call fcn.0042da30
lea ecx, [ebp - 0x78]
call fcn.0042da30
mov ecx, esi
call fcn.0042da30
lea ecx, [ebp - 0xa8]
call fcn.0042da30
lea ecx, [ebp - 0xc0]
call fcn.0042da30
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret