Function at 0x43e629
Capabilities:
Copy file
Delete file
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x10e68
call fcn.00441060
push ebx
push esi
mov esi, ecx
push edi
lea ecx, [ebp - 0x394]
call fcn.0043f82d
lea ecx, [ebp - 0xe68]
call fcn.0043f6b3
push 1
pop ebx
push 0
mov dword [ebp - 0x18], ebx
push dword [esi + 4]
push dword [esi]
call fcn.00441294
add esp, 0xc
lea eax, [ebp - 0x49c]
mov ecx, esi
push eax
push dword [ebp + 8]
call fcn.0043ea06
test eax, eax
je 0x43e682
push 6
jmp 0x43e809
push dword [esi]
lea eax, [ebp - 1]
push ebx
push ebx
push eax
call fcn.00441391
push dword [esi]
lea eax, [ebp - 0xc]
push ebx
push 4
push eax
call fcn.00441391
push dword [esi]
mov edi, dword [ebp - 0xc]
lea eax, [ebp - 0xc]
xor edi, 0x45aa
push ebx
push 4
push eax
call fcn.00441391
push dword [esi]
lea eax, [ebp - 0xc]
push ebx
push 4
push eax
call fcn.00441391
mov eax, dword [ebp - 0xc]
add esp, 0x40
push dword [esi]
xor eax, 0xc3d2
mov dword [ebp - 0x1c], eax
lea eax, [ebp - 0x20]
push ebx
push 4
push eax
call fcn.00441391
push dword [esi]
lea eax, [ebp - 0x24]
push ebx
push 4
push eax
call fcn.00441391
push dword [esi]
lea eax, [ebp - 0x28]
push ebx
push 4
push eax
call fcn.00441391
push dword [esi]
lea eax, [ebp - 0x2c]
push ebx
push 4
push eax
call fcn.00441391
add esp, 0x40
lea eax, [ebp - 0x134]
mov ecx, esi
push eax
call fcn.0043e5f3
lea eax, [ebp - 0x134]
push 0x455e84
push eax
call fcn.0044137e
pop ecx
mov dword [ebp - 0x10], eax
test eax, eax
pop ecx
jne 0x43e73a
push 9
jmp 0x43e809
mov eax, dword [esi + 8]
lea ecx, [ebp - 0xe68]
add eax, 0x22af
push eax
call fcn.0043f6c7
and dword [ebp - 8], 0
test edi, edi
jle 0x43e7e9
mov eax, dword [ebp - 8]
add eax, 0x10000
cmp eax, edi
jle 0x43e770
mov eax, edi
sub eax, dword [ebp - 8]
mov dword [ebp + 8], eax
jmp 0x43e77a
mov dword [ebp + 8], 0x10000
mov eax, dword [ebp + 8]
push dword [esi]
add dword [ebp - 8], eax
push eax
lea eax, [ebp - 0x10e68]
push ebx
push eax
call fcn.00441391
and dword [ebp - 0x14], 0
add esp, 0x10
cmp dword [ebp + 8], 0
jle 0x43e7b8
lea ecx, [ebp - 0xe68]
call fcn.0043f7e1
mov ecx, dword [ebp - 0x14]
xor byte [ebp + ecx - 0x10e68], al
inc ecx
cmp ecx, dword [ebp + 8]
mov dword [ebp - 0x14], ecx
jl 0x43e79a
push dword [ebp + 8]
lea eax, [ebp - 0x10e68]
lea ecx, [ebp - 0x18]
push eax
call fcn.0043fdfa
push dword [ebp - 0x10]
lea eax, [ebp - 0x10e68]
push dword [ebp + 8]
push ebx
push eax
call fcn.00441518
add esp, 0x10
cmp dword [ebp - 8], edi
jl 0x43e75a
push dword [ebp - 0x10]
call fcn.0044108f
mov eax, dword [ebp - 0x1c]
pop ecx
cmp eax, dword [ebp - 0x18]
je 0x43e80f
lea eax, [ebp - 0x134]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
push 0xa
pop eax
jmp 0x43e892
cmp byte [ebp - 1], bl
jne 0x43e85f
lea ecx, [ebp - 0x394]
call fcn.0043f82d
and dword [ebp - 0x380], 0
and dword [ebp - 0x37c], 0
lea eax, [ebp - 0x134]
push eax
lea eax, [ebp - 0x370]
push eax
call fcn.00440a20
push dword [ebp + 0xc]
lea eax, [ebp - 0x26b]
push eax
call fcn.00440a20
add esp, 0x10
lea ecx, [ebp - 0x394]
call fcn.0043f859
jmp 0x43e871
push 0
lea eax, [ebp - 0x134]
push dword [ebp + 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileA]
lea eax, [ebp - 0x134]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
lea eax, [ebp - 0x2c]
mov ecx, esi
push eax
lea eax, [ebp - 0x24]
push eax
push dword [ebp + 0xc]
call fcn.0043eb42
xor eax, eax
pop edi
pop esi
pop ebx
leave
ret 8