Function at 0x43dbd0
Capabilities:
Move file

Disassembly:
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x4d6fa9
push eax
mov al, byte [0x4fb97b]
mov dword fs:[0], esp
sub esp, 0x330
test al, al
push ebx
push ebp
push esi
push edi
mov ebx, ecx
jne 0x43de8f
mov eax, dword [ebx + 0x60]
mov ecx, dword [ebx + 0x44]
cmp eax, ecx
jge 0x43de8f
test eax, eax
jl 0x43de8f
mov ecx, dword [ebx + 0x40]
mov esi, dword [ecx + eax*4]
test esi, esi
mov dword [esp + 0x14], esi
je 0x43de8f
mov ecx, esi
call fcn.00454cb0
mov edi, dword [sym.imp.kernel32.dll_lstrcpy]
lea edx, [esp + 0x34]
push eax
push edx
call edi
lea eax, [esp + 0x34]
push eax
call fcn.00443d50
mov ebp, eax
add esp, 4
test ebp, ebp
je 0x43de8f
lea ecx, [esp + 0x138]
push ebp
push ecx
call edi
push 0x4ee7c8
push ebp
call edi
push 0x4e20
mov dword [esp + 0x1c], 0x4d8784
mov dword [esp + 0x24], 0x1388
call fcn.004c7e90
mov ecx, dword [esp + 0x24]
mov edi, eax
xor eax, eax
mov dword [esp + 0x20], edi
rep stosd dword es:[edi], eax
xor edi, edi
add esp, 4
mov dword [esp + 0x24], edi
mov dword [esp + 0x2c], edi
mov dword [esp + 0x30], edi
mov dword [esp + 0x18], 0x4d8780
mov edx, dword [0x4fb820]
lea eax, [esp + 0x34]
push edx
push eax
lea ecx, [esp + 0x20]
mov dword [esp + 0x350], edi
mov dword [esp + 0x30], 1
call fcn.0041cc00
push 0x14
call fcn.004c7e90
add esp, 4
mov dword [esp + 0x10], eax
cmp eax, edi
mov byte [esp + 0x348], 1
je 0x43dcfa
lea ecx, [esp + 0x138]
push 0x4fbe40
push ecx
mov ecx, eax
call fcn.0041c790
mov edi, eax
test edi, edi
mov byte [esp + 0x348], 0
jne 0x43dd0c
mov dword [esp + 0x10], edi
jmp 0x43dd4a
mov edx, dword [esp + 0x20]
mov ecx, edi
push edx
call fcn.0041ca10
mov ecx, dword [esp + 0x1c]
mov esi, dword [ecx + eax*4]
test esi, esi
je 0x43dd36
push edi
mov ecx, esi
call fcn.0041c860
test eax, eax
jne 0x43dd36
mov esi, dword [esi + 4]
test esi, esi
jne 0x43dd23
test esi, esi
mov dword [esp + 0x10], esi
je 0x43dd46
mov edx, dword [edi]
push 1
mov ecx, edi
call dword [edx]
mov esi, dword [esp + 0x14]
mov ecx, dword [ebx + 0xc]
mov edx, dword [ebx + 4]
lea eax, [esp + 0x138]
push eax
push ecx
push edx
call fcn.00404020
mov edi, eax
add esp, 0xc
test edi, edi
je 0x43de36
mov ecx, esi
call fcn.004549b0
test eax, eax
je 0x43dd88
mov ecx, dword [ebx + 8]
call fcn.0045e270
push 1
mov ecx, esi
call fcn.00454350
lea eax, [esp + 0x23c]
push ebp
push eax
call dword [sym.imp.kernel32.dll_lstrcpy]
push edi
push ebp
call dword [sym.imp.kernel32.dll_lstrcpy]
lea ecx, [esp + 0x34]
push ecx
mov ecx, esi
call fcn.00454cb0
push eax
call dword [sym.imp.kernel32.dll_MoveFileA]
test eax, eax
je 0x43de0d
mov ebp, dword [ebx]
mov ecx, esi
call fcn.00454cb0
push eax
mov ecx, ebx
call dword [ebp + 4]
lea edx, [esp + 0x34]
mov ecx, esi
push edx
call fcn.00454cc0
mov ecx, dword [esp + 0x10]
test ecx, ecx
je 0x43ddfd
push edi
call fcn.0041c9f0
mov eax, dword [0x4fb820]
mov ecx, dword [0x4fb81c]
push eax
lea edx, [esp + 0x240]
push ecx
push edx
lea ecx, [esp + 0x24]
call fcn.0041cdb0
mov ecx, ebx
call fcn.0043b990
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0xc]
jmp 0x43de22
mov ecx, dword [ebx + 0xc]
mov edx, dword [ebx + 4]
push 0x224
push ecx
push edx
call fcn.00443860
add esp, 0xc
push 0xffffffffffffffff
mov ecx, esi
call fcn.00454bc0
test eax, eax
jne 0x43de36
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x2c]
mov eax, dword [esp + 0x28]
mov dword [esp + 0x348], 0xffffffff
test eax, eax
mov dword [esp + 0x18], 0x4d8784
je 0x43de82
mov eax, dword [esp + 0x20]
xor edi, edi
test eax, eax
jle 0x43de82
mov ecx, dword [esp + 0x1c]
mov ecx, dword [ecx + edi*4]
test ecx, ecx
je 0x43de79
mov esi, dword [ecx + 4]
test ecx, ecx
je 0x43de73
mov edx, dword [ecx]
push 1
call dword [edx]
test esi, esi
mov ecx, esi
jne 0x43de66
mov eax, dword [esp + 0x20]
inc edi
cmp edi, eax
jl 0x43de5b
mov eax, dword [esp + 0x1c]
push eax
call fcn.004c7e56
add esp, 4
mov ecx, dword [esp + 0x340]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x33c
ret