Function at 0x4df3ac
Capabilities:
Move file

Disassembly:
push ebp
mov ebp, esp
push ecx
mov ecx, 0x11
push 0
push 0
dec ecx
jne 0x4df3b5
xchg dword [ebp - 4], ecx
push ebx
push esi
push edi
mov dword [ebp - 0xc], ecx
mov dword [ebp - 8], edx
mov dword [ebp - 4], eax
mov eax, dword [ebp - 8]
call fcn.00404f04
mov eax, dword [ebp - 0xc]
call fcn.00404f04
xor eax, eax
push ebp
push 0x4dfc82
push dword fs:[eax]
mov dword fs:[eax], esp
mov bl, 1
mov eax, dword [ebp + 8]
mov byte [eax], 0
mov byte [ebp - 0xe], 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x4ec]
mov edx, dword [ebp - 8]
call fcn.004a6f88
mov byte [ebp - 0xf], al
mov al, byte [ebp + 0x14]
or al, byte [ebp - 0xf]
mov byte [ebp + 0x14], al
lea edx, [ebp - 0x28]
mov eax, dword [ebp - 0xc]
call fcn.0049f458
mov edx, dword [ebp - 0x28]
lea eax, [ebp - 0xc]
call fcn.00404aec
lea edx, [ebp - 0x2c]
mov eax, dword [ebp - 0xc]
call fcn.0040a198
mov eax, dword [ebp - 0x2c]
lea ecx, [ebp - 0x24]
xor edx, edx
call fcn.004336b0
lea edx, [ebp - 0x30]
mov eax, dword [ebp - 0xc]
call fcn.0040a2b4
mov edx, dword [ebp - 0x30]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40c]
call fcn.00469c98
lea eax, [ebp - 0x34]
push eax
mov eax, dword [ebp - 4]
mov esi, dword [eax + 0x414]
mov eax, esi
call fcn.0046966c
mov ecx, eax
mov edx, dword [esi + 0x160]
mov eax, dword [ebp - 0x24]
call fcn.0048ec10
mov edx, dword [ebp - 0x34]
mov eax, esi
call fcn.00469c98
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x420]
xor edx, edx
call fcn.0045356c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x420]
mov edx, 0xa
call fcn.00453578
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x420]
mov edx, 1
call fcn.004535d4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x420]
xor edx, edx
call fcn.00453588
mov eax, dword [0x4fdd78]
mov eax, dword [eax]
call fcn.0048a274
mov eax, dword [ebp - 4]
call fcn.004dc0d0
test al, al
je 0x4dfaff
mov eax, dword [ebp - 8]
call fcn.00409d68
mov ebx, eax
test bl, bl
jne 0x4df530
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x4ec]
call fcn.004a38f0
test al, al
je 0x4df530
lea edx, [ebp - 0x38]
mov eax, dword [ebp - 8]
call fcn.0049f458
mov edx, dword [ebp - 0x38]
lea eax, [ebp - 8]
call fcn.00404aec
mov eax, dword [ebp - 8]
call fcn.00409d68
mov ebx, eax
mov byte [ebp + 0x14], 1
test bl, bl
jne 0x4df58a
lea edx, [ebp - 0x3c]
mov eax, dword [ebp - 4]
call fcn.004e9274
mov eax, dword [ebp - 0x3c]
mov edx, 0x4dfc9c
call fcn.00431348
test al, al
je 0x4df55f
push dword [ebp + 0x28]
push dword [ebp + 0x24]
call fcn.0049f29c
test al, al
jne 0x4df563
xor eax, eax
jmp 0x4df565
mov al, 1
mov byte [ebp - 0xe], al
cmp byte [ebp - 0xe], 0
jne 0x4df584
lea edx, [ebp - 8]
mov ecx, dword [ebp - 0xc]
mov eax, dword [ebp - 4]
call fcn.004df010
test al, al
jne 0x4df584
xor ebx, ebx
jmp 0x4df586
mov bl, 1
mov byte [ebp + 0x14], 1
mov al, byte [ebp - 0xe]
xor al, 1
test al, al
je 0x4df5ae
lea eax, [ebp - 0x40]
mov ecx, dword [ebp - 0xc]
mov edx, 0x4dfcac
call fcn.00404d60
mov edx, dword [ebp - 0x40]
mov eax, dword [ebp - 4]
call fcn.004de360
test bl, bl
je 0x4dfa4d
mov al, byte [ebp - 0xe]
xor al, 1
test al, al
je 0x4dfc35
cmp byte [ebp + 0x18], 0
jne 0x4df5e3
mov eax, dword [ebp + 0x24]
push eax
mov ecx, dword [ebp + 0x2c]
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 8]
call fcn.004debdc
test al, al
je 0x4dfa3b
push dword [ebp + 0x28]
push dword [ebp + 0x24]
call fcn.0049f1a8
test al, al
je 0x4df5fa
mov eax, dword [ebp - 0xc]
call fcn.0049ae50
cmp byte [ebp + 0x1c], 0
je 0x4df6ac
push dword [ebp + 0x28]
push dword [ebp + 0x24]
call fcn.0049f274
test al, al
jne 0x4df6ac
push dword [ebp + 0x28]
push dword [ebp + 0x24]
call fcn.0049f2dc
test al, al
je 0x4df64d
push 0x4dfcc4
push dword [ebp - 0xc]
push 0x4dfce4
lea eax, [ebp - 0x44]
mov edx, 3
call fcn.00404dd4
mov edx, dword [ebp - 0x44]
xor ecx, ecx
mov eax, dword [ebp - 4]
call fcn.004ddf98
push dword [ebp + 0x28]
push dword [ebp + 0x24]
call fcn.0049f1a8
test al, al
je 0x4df685
push 0x4dfcf0
push dword [ebp - 0xc]
push 0x4dfce4
lea eax, [ebp - 0x48]
mov edx, 3
call fcn.00404dd4
mov edx, dword [ebp - 0x48]
xor ecx, ecx
mov eax, dword [ebp - 4]
call fcn.004ddf98
jmp 0x4df6ac
push 0x4dfd0c
push dword [ebp - 0xc]
push 0x4dfce4
lea eax, [ebp - 0x4c]
mov edx, 3
call fcn.00404dd4
mov edx, dword [ebp - 0x4c]
xor ecx, ecx
mov eax, dword [ebp - 4]
call fcn.004ddf98
cmp byte [ebp + 0x20], 0
je 0x4df6d9
push 0x4dfd24
push dword [ebp - 0xc]
push 0x4dfce4
lea eax, [ebp - 0x50]
mov edx, 3
call fcn.00404dd4
mov edx, dword [ebp - 0x50]
xor ecx, ecx
mov eax, dword [ebp - 4]
call fcn.004ddf98
mov byte [ebp - 0xd], 1
mov eax, dword [ebp - 0xc]
call fcn.00409d68
test al, al
je 0x4df714
xor edx, edx
mov eax, dword [ebp - 0xc]
call fcn.00409f2c
mov eax, dword [ebp - 0xc]
call fcn.004383ac
test al, al
jne 0x4df707
mov eax, dword [ebp - 0xc]
call fcn.0040a048
mov eax, dword [ebp - 0xc]
call fcn.00409d68
xor al, 1
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x4df85c
cmp byte [ebp + 0x14], 0
jne 0x4df73f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x4ec]
call fcn.004a38e8
test al, al
jne 0x4df73f
call fcn.004327dc
test al, al
jne 0x4df743
xor eax, eax
jmp 0x4df745
mov al, 1
mov byte [ebp - 0x10], al
lea eax, [ebp - 0x54]
push eax
mov ecx, 3
mov edx, 1
mov eax, dword [ebp - 0xc]
call fcn.00404f74
mov eax, dword [ebp - 0x54]
push eax
lea eax, [ebp - 0x58]
push eax
mov ecx, 3
mov edx, 1
mov eax, dword [ebp - 8]
call fcn.00404f74
mov eax, dword [ebp - 0x58]
pop edx
call fcn.00431348
test al, al
je 0x4df7a1
lea eax, [ebp - 0x5c]
mov ecx, 0x4dfd44
mov edx, dword [ebp - 8]
call fcn.00404d60
mov eax, dword [ebp - 0x5c]
call fcn.00409d68
test al, al
je 0x4df7a5
xor eax, eax
jmp 0x4df7a7
mov al, 1
test byte [ebp - 0x10], al
je 0x4df821
mov eax, dword [ebp - 4]
mov esi, dword [eax + 0x420]
mov eax, esi
call fcn.004533a0
mov edx, eax
sar edx, 1
jns 0x4df7c5
adc edx, 0
mov eax, esi
call fcn.00453588
push 0xb
mov eax, dword [ebp - 0xc]
call fcn.00404f14
push eax
mov eax, dword [ebp - 8]
call fcn.00404f14
push eax
call sub.KERNEL32.DLL_MoveFileExA
cmp eax, 1
sbb eax, eax
inc eax
mov byte [ebp - 0xd], al
mov eax, dword [ebp - 4]
mov esi, dword [eax + 0x420]
mov eax, esi
call fcn.004533a0
mov edx, eax
mov eax, esi
call fcn.00453588
mov al, byte [ebp - 0xd]
and al, byte [ebp + 0xc]
je 0x4df85c
mov ecx, 1
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 4]
call fcn.004df220
jmp 0x4df85c
mov al, byte [ebp - 0x10]
push eax
mov eax, dword [ebp - 0xc]
call fcn.00404f14
push eax
mov eax, dword [ebp - 8]
call fcn.00404f14
mov edx, eax
mov eax, dword [ebp - 4]
pop ecx
call fcn.004df2ac
mov byte [ebp - 0xd], al
mov al, byte [ebp - 0xd]
and al, byte [ebp + 0xc]
je 0x4df85c
mov ecx, 1
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 4]
call fcn.004df220
cmp byte [ebp - 0xd], 0
je 0x4df8c9
mov edx, 0x4dfd54
mov eax, dword [ebp - 4]
call fcn.004de360
push dword [ebp + 0x28]
push dword [ebp + 0x24]
call fcn.0049f2c4
mov edx, eax
mov eax, dword [ebp - 0xc]
call fcn.00409f2c
lea edx, [ebp - 0x60]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x4ec]
call fcn.004a3150
mov eax, dword [ebp - 0x60]
xor edx, edx
call fcn.00409998
mov esi, eax
cmp byte [ebp + 0x10], 0
je 0x4df8a9
xor esi, esi
lea edx, [ebp - 0x64]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x4ec]
call fcn.004a3114
cmp dword [ebp - 0x64], 0
je 0x4df8c9
push ebp
mov eax, esi
call fcn.004df36c
pop ecx
push dword [ebp + 0x28]
push dword [ebp + 0x24]
call fcn.0049f1d0
test al, al
je 0x4df8ee
mov eax, dword [ebp + 0x24]
mov ecx, eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x48c]
mov edx, dword [ebp - 0xc]
mov esi, dword [eax]
call dword [esi + 0x3c]
push dword [ebp + 0x28]
push dword [ebp + 0x24]
call fcn.0049f224
test al, al
je 0x4df913
mov eax, dword [ebp + 0x24]
mov ecx, eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x490]
mov edx, dword [ebp - 0xc]
mov esi, dword [eax]
call dword [esi + 0x3c]
push dword [ebp + 0x28]
push dword [ebp + 0x24]
call fcn.0049f1f8
test al, al
je 0x4df938
mov eax, dword [ebp + 0x24]
mov ecx, eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x494]
mov edx, dword [ebp - 0xc]
mov esi, dword [eax]
call dword [esi + 0x3c]
push dword [ebp + 0x28]
push dword [ebp + 0x24]
call fcn.0049f24c
test al, al
je 0x4df95d
mov eax, dword [ebp + 0x24]
mov ecx, eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x498]
mov edx, dword [ebp - 0xc]
mov esi, dword [eax]
call dword [esi + 0x3c]
cmp byte [ebp - 0xd], 0
jne 0x4dfa0a
lea edx, [ebp - 0x68]
mov eax, dword [ebp - 0xc]
call fcn.0040a198
push dword [ebp - 0x68]
push 0x4dfd68
lea edx, [ebp - 0x6c]
mov eax, dword [ebp - 0xc]
call fcn.0040a2b4
push dword [ebp - 0x6c]
lea eax, [ebp - 0x20]
mov edx, 3
call fcn.00404dd4
push 0
mov eax, dword [ebp - 0x20]
call fcn.00404f14
push eax
mov eax, dword [ebp - 8]
call fcn.00404f14
mov edx, eax
mov eax, dword [ebp - 4]
pop ecx
call fcn.004df2ac
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x4df9c6
xor edx, edx
mov eax, dword [ebp - 0x20]
call fcn.00409f2c
mov bl, byte [ebp - 0xd]
cmp byte [ebp - 0xd], 0
jne 0x4df9dc
mov edx, 0x4dfd74
mov eax, dword [ebp - 4]
call fcn.004de360
cmp byte [ebp - 0xd], 0
je 0x4dfa0a
mov edx, 0x4dfd8c
mov eax, dword [ebp - 4]
call fcn.004de360
mov eax, dword [ebp + 8]
mov byte [eax], 1
mov eax, dword [ebp - 4]
mov byte [eax + 0x4a0], 1
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x20]
call fcn.00438fb0
cmp byte [ebp - 0xf], 0
jne 0x4dfc35
cmp byte [ebp + 0x14], 0
jne 0x4dfc35
mov eax, dword [ebp - 8]
call fcn.00409d68
test al, al
je 0x4dfc35
mov eax, dword [ebp - 8]
call fcn.0040a048
jmp 0x4dfc35
mov edx, 0x4dfda8
mov eax, dword [ebp - 4]
call fcn.004de360
jmp 0x4dfc35
mov edx, 0x4dfdd0
mov eax, dword [ebp - 4]
call fcn.004de360
mov eax, dword [ebp - 0x18]
push eax
lea eax, [ebp - 0x70]
push eax
mov ecx, 0x4dfdf0
mov edx, 0x4dfdfc
mov eax, dword [ebp - 4]
call fcn.004e2220
mov edx, dword [ebp - 0x70]
lea eax, [ebp - 0x18]
call fcn.00404aec
push 0x4dfe10
lea eax, [ebp - 0x14]
push eax
mov ecx, 0x4dfe10
mov edx, 0x4dfe20
mov eax, dword [ebp - 4]
call fcn.004e2220
push 0x4dfe30
lea eax, [ebp - 0x1c]
push eax
mov ecx, 0x4dfe68
mov edx, 0x4dfe20
mov eax, dword [ebp - 4]
call fcn.004e2220
lea eax, [ebp - 0x74]
push eax
mov eax, dword [ebp - 8]
mov dword [ebp - 0x7c], eax
mov byte [ebp - 0x78], 0xb
lea edx, [ebp - 0x7c]
xor ecx, ecx
mov eax, dword [ebp - 0x18]
call fcn.0040af50
mov edx, dword [ebp - 0x74]
lea eax, [ebp - 0x18]
call fcn.00404aec
mov eax, dword [ebp - 0x1c]
push eax
call fcn.004aae0c
push eax
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x18]
xor eax, eax
call fcn.004310e8
mov eax, dword [ebp - 4]
call fcn.004ecb38
jmp 0x4dfc35
cmp byte [ebp + 0x10], 0
jne 0x4dfc35
mov esi, 0x32
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x41c]
call fcn.004533a0
cmp eax, 0x14
jle 0x4dfb23
xor esi, esi
lea edx, [ebp - 0x80]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x4ec]
call fcn.004a3114
cmp dword [ebp - 0x80], 0
je 0x4dfb6a
mov eax, esi
cdq
push edx
push eax
lea edx, [ebp - 0x84]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x4ec]
call fcn.004a3150
mov eax, dword [ebp - 0x84]
xor edx, edx
call fcn.00409998
cdq
push edx
push eax
call fcn.0042fa2c
mov esi, eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x4ec]
call fcn.004a3c3c
test al, al
je 0x4dfc2c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x420]
xor edx, edx
call fcn.0045356c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x420]
mov edx, 0xa
call fcn.00453578
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x420]
mov edx, 1
call fcn.004535d4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x420]
xor edx, edx
call fcn.00453588
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x420]
call fcn.004533a0
mov edi, eax
test edi, edi
jle 0x4dfc35
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x420]
call fcn.00453610
push ebp
push 0
push 1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x420]
call fcn.004533a0
mov dword [ebp - 0x88], eax
fild dword [ebp - 0x88]
mov dword [ebp - 0x8c], esi
fild dword [ebp - 0x8c]
fdivrp st(1)
call fcn.00402bc0
push edx
push eax
call fcn.0042fa2c
call fcn.004df36c
pop ecx
dec edi
jne 0x4dfbda
jmp 0x4dfc35
push ebp
mov eax, esi
call fcn.004df36c
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4dfc89
lea eax, [ebp - 0x84]
mov edx, 2
call fcn.00404a78
lea eax, [ebp - 0x74]
mov edx, 0x10
call fcn.00404a78
lea eax, [ebp - 0x34]
call fcn.00404a54
lea eax, [ebp - 0x30]
mov edx, 8
call fcn.00404a78
lea eax, [ebp - 0xc]
mov edx, 2
call fcn.00404a78
ret