Function at 0x44fc3c
Capabilities:
Move file

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0x16
push 0
push 0
dec ecx
jne 0x44fc44
push ecx
push ebx
push esi
push edi
mov dword [ebp - 4], eax
xor eax, eax
push ebp
push 0x4504c1
push dword fs:[eax]
mov dword fs:[eax], esp
mov edi, dword [0x451dac]
mov edi, dword [edi]
dec edi
test edi, edi
jl 0x450426
inc edi
xor ebx, ebx
imul esi, ebx, 0xb
mov eax, dword [0x451d20]
mov eax, dword [eax]
cmp dword [eax + esi*4], 0
je 0x45041e
mov eax, dword [0x451d20]
mov eax, dword [eax]
cmp dword [eax + esi*4 + 0x1c], 9
jne 0x450020
mov eax, dword [0x451d20]
mov eax, dword [eax]
mov ecx, dword [eax + esi*4 + 4]
mov edx, dword [0x451b9c]
mov edx, dword [edx]
lea eax, [ebp - 0xc]
call fcn.00403d08
mov eax, dword [ebp - 0xc]
lea edx, [ebp - 8]
call fcn.00448420
mov edx, dword [ebp - 8]
mov eax, dword [0x451d20]
mov eax, dword [eax]
mov eax, dword [eax + esi*4 + 0x14]
call fcn.00403dcc
je 0x44fd40
call fcn.00408fb0
add esp, 0xfffffff8
fstp qword [esp]
wait
lea edx, [ebp - 0x10]
mov eax, 0x4504d8
call fcn.00409bf0
mov eax, dword [ebp - 0x10]
push eax
mov eax, dword [0x451d20]
mov eax, dword [eax]
mov ecx, dword [eax + esi*4 + 4]
lea eax, [ebp - 0x14]
mov edx, 0x4504fc
call fcn.00403d08
mov ecx, dword [ebp - 0x14]
mov eax, 0x45051c
pop edx
call fcn.00449648
mov eax, dword [0x451d20]
mov eax, dword [eax]
mov ecx, dword [eax + esi*4 + 4]
mov edx, dword [0x451b9c]
mov edx, dword [edx]
lea eax, [ebp - 0x18]
call fcn.00403d08
mov eax, dword [ebp - 0x18]
call fcn.00408060
jmp 0x45041e
mov eax, dword [0x451d20]
mov eax, dword [eax]
mov ecx, dword [eax + esi*4 + 4]
mov eax, dword [0x451d20]
mov eax, dword [eax]
mov edx, dword [eax + esi*4 + 8]
lea eax, [ebp - 0x1c]
call fcn.00403d08
mov eax, dword [ebp - 0x1c]
call fcn.00408050
test al, al
je 0x44ff0a
mov eax, dword [0x451d20]
mov eax, dword [eax]
mov ecx, dword [eax + esi*4 + 4]
mov eax, dword [0x451d20]
mov eax, dword [eax]
mov edx, dword [eax + esi*4 + 8]
lea eax, [ebp - 0x20]
call fcn.00403d08
mov eax, dword [ebp - 0x20]
call fcn.00408060
test al, al
je 0x44feb2
imul eax, ebx, 0xb
mov edx, dword [0x451d20]
mov edx, dword [edx]
mov ecx, dword [edx + eax*4 + 4]
mov eax, dword [0x451d20]
mov eax, dword [eax]
mov edx, dword [eax + esi*4 + 8]
lea eax, [ebp - 0x24]
call fcn.00403d08
mov eax, dword [ebp - 0x24]
call fcn.00403e80
push eax
mov eax, dword [0x451d20]
mov eax, dword [eax]
mov ecx, dword [eax + esi*4 + 4]
mov edx, dword [0x451b9c]
mov edx, dword [edx]
lea eax, [ebp - 0x28]
call fcn.00403d08
mov eax, dword [ebp - 0x28]
call fcn.00403e80
push eax
call sub.KERNEL32.DLL_MoveFileA
test eax, eax
je 0x44fe5a
call fcn.00408fb0
add esp, 0xfffffff8
fstp qword [esp]
wait
lea edx, [ebp - 0x2c]
mov eax, 0x4504d8
call fcn.00409bf0
mov eax, dword [ebp - 0x2c]
push eax
mov eax, dword [0x451d20]
mov eax, dword [eax]
mov ecx, dword [eax + esi*4 + 4]
lea eax, [ebp - 0x30]
mov edx, 0x450528
call fcn.00403d08
mov ecx, dword [ebp - 0x30]
mov eax, 0x45051c
pop edx
call fcn.00449648
mov eax, dword [0x451d20]
mov eax, dword [eax]
mov ecx, dword [eax + esi*4 + 0x10]
mov eax, dword [0x451d20]
mov eax, dword [eax]
mov edx, dword [eax + esi*4 + 4]
mov eax, dword [ebp - 4]
call fcn.0044ebc0
jmp 0x45041e
call fcn.00408fb0
add esp, 0xfffffff8
fstp qword [esp]
wait
lea edx, [ebp - 0x34]
mov eax, 0x4504d8
call fcn.00409bf0
mov eax, dword [ebp - 0x34]
push eax
push 0x45054c
mov eax, dword [0x451d20]
mov eax, dword [eax]
push dword [eax + esi*4 + 8]
mov eax, dword [0x451d20]
mov eax, dword [eax]
push dword [eax + esi*4 + 4]
lea eax, [ebp - 0x38]
mov edx, 3
call fcn.00403d7c
mov ecx, dword [ebp - 0x38]
mov eax, 0x45051c
pop edx
call fcn.00449648
jmp 0x45041e
call fcn.00408fb0
add esp, 0xfffffff8
fstp qword [esp]
wait
lea edx, [ebp - 0x3c]
mov eax, 0x4504d8
call fcn.00409bf0
mov eax, dword [ebp - 0x3c]
push eax
push 0x45056c
mov eax, dword [0x451d20]
mov eax, dword [eax]
push dword [eax + esi*4 + 8]
mov eax, dword [0x451d20]
mov eax, dword [eax]
push dword [eax + esi*4 + 4]
lea eax, [ebp - 0x40]
mov edx, 3
call fcn.00403d7c
mov ecx, dword [ebp - 0x40]
mov eax, 0x45051c
pop edx
call fcn.00449648
jmp 0x45041e
imul eax, ebx, 0xb
mov edx, dword [0x451d20]
mov edx, dword [edx]
mov ecx, dword [edx + eax*4 + 4]
mov eax, dword [0x451d20]
mov eax, dword [eax]
mov edx, dword [eax + esi*4 + 8]
lea eax, [ebp - 0x44]
call fcn.00403d08
mov eax, dword [ebp - 0x44]
call fcn.00403e80
push eax
mov eax, dword [0x451d20]
mov eax, dword [eax]
mov ecx, dword [eax + esi*4 + 4]
mov edx, dword [0x451b9c]
mov edx, dword [edx]
lea eax, [ebp - 0x48]
call fcn.00403d08
mov eax, dword [ebp - 0x48]
call fcn.00403e80
push eax
call sub.KERNEL32.DLL_MoveFileA
test eax, eax
je 0x44ffc8
call fcn.00408fb0
add esp, 0xfffffff8
fstp qword [esp]
wait
lea edx, [ebp - 0x4c]
mov eax, 0x4504d8
call fcn.00409bf0
mov eax, dword [ebp - 0x4c]
push eax
mov eax, dword [0x451d20]
mov eax, dword [eax]
mov ecx, dword [eax + esi*4 + 4]
lea eax, [ebp - 0x50]
mov edx, 0x45058c
call fcn.00403d08
mov ecx, dword [ebp - 0x50]
mov eax, 0x45051c
pop edx
call fcn.00449648
mov eax, dword [0x451d20]
mov eax, dword [eax]
mov ecx, dword [eax + esi*4 + 0x10]
mov eax, dword [0x451d20]
mov eax, dword [eax]
mov edx, dword [eax + esi*4 + 4]
mov eax, dword [ebp - 4]
call fcn.0044ebc0
jmp 0x45041e
call fcn.00408fb0
add esp, 0xfffffff8
fstp qword [esp]
wait
lea edx, [ebp - 0x54]
mov eax, 0x4504d8
call fcn.00409bf0
mov eax, dword [ebp - 0x54]
push eax
push 0x45054c
mov eax, dword [0x451d20]
mov eax, dword [eax]
push dword [eax + esi*4 + 8]
mov eax, dword [0x451d20]
mov eax, dword [eax]
push dword [eax + esi*4 + 4]
lea eax, [ebp - 0x58]
mov edx, 3
call fcn.00403d7c
mov ecx, dword [ebp - 0x58]
mov eax, 0x45051c
pop edx
call fcn.00449648
jmp 0x45041e
mov eax, dword [0x451d20]
mov eax, dword [eax]
mov ecx, dword [eax + esi*4 + 4]
mov edx, dword [0x451b9c]
mov edx, dword [edx]
lea eax, [ebp - 0x5c]
call fcn.00403d08
mov eax, dword [ebp - 0x5c]
call fcn.00408050
test al, al
je 0x45041e
mov eax, dword [0x451d20]
mov eax, dword [eax]
mov eax, dword [eax + esi*4 + 0x1c]
sub eax, 5
jb 0x450069
sub eax, 2
je 0x450069
sub eax, 3
jne 0x45041e
imul eax, ebx, 0xb
mov edx, dword [0x451d20]
mov edx, dword [edx]
cmp dword [edx + eax*4 + 0x1c], 7
jne 0x4500f2
mov eax, dword [0x451d20]
mov eax, dword [eax]
mov ecx, dword [eax + esi*4 + 4]
mov eax, dword [0x451d20]
mov eax, dword [eax]
mov edx, dword [eax + esi*4 + 8]
lea eax, [ebp - 0x60]
call fcn.00403d08
mov eax, dword [ebp - 0x60]
call fcn.00403e80
xor edx, edx
call fcn.0044c340
cmp eax, 0xc8
je 0x4500f2
call fcn.00408fb0
add esp, 0xfffffff8
fstp qword [esp]
wait
lea edx, [ebp - 0x64]
mov eax, 0x4504d8
call fcn.00409bf0
mov eax, dword [ebp - 0x64]
push eax
mov eax, dword [0x451d20]
mov eax, dword [eax]
mov ecx, dword [eax + esi*4 + 4]
lea eax, [ebp - 0x68]
mov edx, 0x4505b0
call fcn.00403d08
mov ecx, dword [ebp - 0x68]
mov eax, 0x45051c
pop edx
call fcn.00449648
mov eax, dword [0x451d20]
mov eax, dword [eax]
mov ecx, dword [eax + esi*4 + 4]
mov eax, dword [0x451d20]
mov eax, dword [eax]
mov edx, dword [eax + esi*4 + 8]
lea eax, [ebp - 0x6c]
call fcn.00403d08
mov eax, dword [ebp - 0x6c]
call fcn.00408050
test al, al
je 0x4502ec
mov eax, dword [0x451d20]
mov eax, dword [eax]
mov ecx, dword [eax + esi*4 + 4]
mov eax, dword [0x451d20]
mov eax, dword [eax]
mov edx, dword [eax + esi*4 + 8]
lea eax, [ebp - 0x74]
call fcn.00403d08
mov eax, dword [ebp - 0x74]
call fcn.00403e80
mov edx, eax
lea eax, [ebp - 0x70]
call fcn.00403bf4
mov eax, dword [ebp - 0x70]
call fcn.00408060
test al, al
je 0x450288
imul eax, ebx, 0xb
mov edx, dword [0x451d20]
mov edx, dword [edx]
mov ecx, dword [edx + eax*4 + 4]
mov eax, dword [0x451d20]
mov eax, dword [eax]
mov edx, dword [eax + esi*4 + 8]
lea eax, [ebp - 0x78]
call fcn.00403d08
mov eax, dword [ebp - 0x78]
call fcn.00403e80
push eax
mov eax, dword [0x451d20]
mov eax, dword [eax]
mov ecx, dword [eax + esi*4 + 4]
mov edx, dword [0x451b9c]
mov edx, dword [edx]
lea eax, [ebp - 0x7c]
call fcn.00403d08
mov eax, dword [ebp - 0x7c]
call fcn.00403e80
push eax
call sub.KERNEL32.DLL_MoveFileA
test eax, eax
je 0x450224
call fcn.00408fb0
add esp, 0xfffffff8
fstp qword [esp]
wait
lea edx, [ebp - 0x80]
mov eax, 0x4504d8
call fcn.00409bf0
mov eax, dword [ebp - 0x80]
push eax
mov eax, dword [0x451d20]
mov eax, dword [eax]
mov ecx, dword [eax + esi*4 + 4]
lea eax, [ebp - 0x84]
mov edx, 0x450528
call fcn.00403d08
mov ecx, dword [ebp - 0x84]
mov eax, 0x45051c
pop edx
call fcn.00449648
mov eax, dword [0x451d20]
mov eax, dword [eax]
mov ecx, dword [eax + esi*4 + 0x10]
mov eax, dword [0x451d20]
mov eax, dword [eax]
mov edx, dword [eax + esi*4 + 4]
mov eax, dword [ebp - 4]
call fcn.0044ebc0
jmp 0x45041e
call fcn.00408fb0
add esp, 0xfffffff8
fstp qword [esp]
wait
lea edx, [ebp - 0x88]
mov eax, 0x4504d8
call fcn.00409bf0
mov eax, dword [ebp - 0x88]
push eax
push 0x45054c
mov eax, dword [0x451d20]
mov eax, dword [eax]
push dword [eax + esi*4 + 8]
mov eax, dword [0x451d20]
mov eax, dword [eax]
push dword [eax + esi*4 + 4]
lea eax, [ebp - 0x8c]
mov edx, 3
call fcn.00403d7c
mov ecx, dword [ebp - 0x8c]
mov eax, 0x45051c
pop edx
call fcn.00449648
jmp 0x45041e
call fcn.00408fb0
add esp, 0xfffffff8
fstp qword [esp]
wait
lea edx, [ebp - 0x90]
mov eax, 0x4504d8
call fcn.00409bf0
mov eax, dword [ebp - 0x90]
push eax
push 0x45056c
mov eax, dword [0x451d20]
mov eax, dword [eax]
push dword [eax + esi*4 + 8]
mov eax, dword [0x451d20]
mov eax, dword [eax]
push dword [eax + esi*4 + 4]
lea eax, [ebp - 0x94]
mov edx, 3
call fcn.00403d7c
mov ecx, dword [ebp - 0x94]
mov eax, 0x45051c
pop edx
call fcn.00449648
jmp 0x45041e
imul eax, ebx, 0xb
mov edx, dword [0x451d20]
mov edx, dword [edx]
mov ecx, dword [edx + eax*4 + 4]
mov eax, dword [0x451d20]
mov eax, dword [eax]
mov edx, dword [eax + esi*4 + 8]
lea eax, [ebp - 0x98]
call fcn.00403d08
mov eax, dword [ebp - 0x98]
call fcn.00403e80
push eax
mov eax, dword [0x451d20]
mov eax, dword [eax]
mov ecx, dword [eax + esi*4 + 4]
mov edx, dword [0x451b9c]
mov edx, dword [edx]
lea eax, [ebp - 0x9c]
call fcn.00403d08
mov eax, dword [ebp - 0x9c]
call fcn.00403e80
push eax
call sub.KERNEL32.DLL_MoveFileA
test eax, eax
je 0x4503bf
call fcn.00408fb0
add esp, 0xfffffff8
fstp qword [esp]
wait
lea edx, [ebp - 0xa0]
mov eax, 0x4504d8
call fcn.00409bf0
mov eax, dword [ebp - 0xa0]
push eax
mov eax, dword [0x451d20]
mov eax, dword [eax]
mov ecx, dword [eax + esi*4 + 4]
lea eax, [ebp - 0xa4]
mov edx, 0x45058c
call fcn.00403d08
mov ecx, dword [ebp - 0xa4]
mov eax, 0x45051c
pop edx
call fcn.00449648
mov eax, dword [0x451d20]
mov eax, dword [eax]
mov ecx, dword [eax + esi*4 + 0x10]
mov eax, dword [0x451d20]
mov eax, dword [eax]
mov edx, dword [eax + esi*4 + 4]
mov eax, dword [ebp - 4]
call fcn.0044ebc0
jmp 0x45041e
call fcn.00408fb0
add esp, 0xfffffff8
fstp qword [esp]
wait
lea edx, [ebp - 0xa8]
mov eax, 0x4504d8
call fcn.00409bf0
mov eax, dword [ebp - 0xa8]
push eax
push 0x45054c
mov eax, dword [0x451d20]
mov eax, dword [eax]
push dword [eax + esi*4 + 8]
mov eax, dword [0x451d20]
mov eax, dword [eax]
push dword [eax + esi*4 + 4]
lea eax, [ebp - 0xac]
mov edx, 3
call fcn.00403d7c
mov ecx, dword [ebp - 0xac]
mov eax, 0x45051c
pop edx
call fcn.00449648
inc ebx
dec edi
jne 0x44fc74
mov eax, dword [0x451b90]
mov eax, dword [eax]
call fcn.00415e10
mov eax, dword [0x451b90]
mov eax, dword [eax]
call fcn.00402d40
mov ecx, dword [0x451b68]
mov ecx, dword [ecx]
mov edx, dword [0x451b9c]
mov edx, dword [edx]
lea eax, [ebp - 0xb4]
call fcn.00403d08
mov eax, dword [ebp - 0xb4]
call fcn.00403e80
mov edx, eax
lea eax, [ebp - 0xb0]
call fcn.00403bf4
mov eax, dword [ebp - 0xb0]
call fcn.00408060
mov eax, dword [0x451dac]
cmp dword [eax], 0
jne 0x450493
mov eax, dword [ebp - 4]
mov edx, dword [eax]
call dword [edx + 0xd8]
jmp 0x4504a3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2e0]
mov dl, 1
call fcn.00446460
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4504c8
lea eax, [ebp - 0xb4]
mov edx, 0x2c
call fcn.00403a60
ret