Function at 0x408c70
Capabilities:
Move file

Disassembly:
sub esp, 0x41c
mov eax, dword [0x463610]
xor eax, esp
mov dword [esp + 0x418], eax
mov eax, edx
push esi
mov dword [esp + 0x10], edx
lea esi, [eax + 1]
mov edi, edi
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x408c90
sub eax, esi
cmp eax, 0x1fb
jb 0x408cbb
or eax, 0xffffffff
pop esi
mov ecx, dword [esp + 0x418]
xor ecx, esp
call fcn.0043197e
add esp, 0x41c
ret
push ebp
push 0x180
push 0x8002
push edx
call fcn.00446cbe
mov ebp, eax
add esp, 0xc
cmp ebp, 0xffffffff
je 0x40906c
push 2
push 0xffffffffffffff9c
push ebp
call fcn.00441285
push 0x64
lea eax, [esp + 0x30]
push eax
push ebp
call fcn.00445398
add esp, 0x18
cmp eax, 0x64
je 0x408d1e
push ebp
call fcn.004417e8
add esp, 4
pop ebp
mov eax, 0xfffffffd
pop esi
mov ecx, dword [esp + 0x418]
xor ecx, esp
call fcn.0043197e
add esp, 0x41c
ret
cmp byte [esp + 0x20], 0x33
jne 0x409047
cmp byte [esp + 0x2a], 0x2e
jne 0x409047
mov al, 0x31
cmp byte [esp + 0x34], al
jne 0x409047
cmp byte [esp + 0x3e], 0x34
jne 0x409047
cmp byte [esp + 0x48], al
jne 0x409047
cmp byte [esp + 0x52], 0x35
jne 0x409047
cmp byte [esp + 0x5c], 0x39
jne 0x409047
cmp byte [esp + 0x66], 0x32
jne 0x409047
cmp byte [esp + 0x70], 0x36
jne 0x409047
push ebx
push edi
push 2
push 0
push ebp
call fcn.00441285
push ebp
call fcn.0044ba96
mov ebx, eax
lea ecx, [ebx - 0xc8]
mov eax, 0x66666667
imul ecx
sar edx, 1
mov esi, edx
shr esi, 0x1f
add esi, edx
add esp, 0x10
cmp esi, 0x100000
lea ecx, [esi + esi*2 + 3]
mov dword [esp + 0x10], ebx
mov dword [esp + 0x14], ecx
jle 0x408dc9
mov edi, 0xfffe8
jmp 0x408e00
cmp esi, 0x19000
jle 0x408dd8
mov edi, 0x18fe8
jmp 0x408e00
cmp esi, 0x2800
jle 0x408de7
mov edi, 0x27e8
jmp 0x408e00
xor edx, edx
cmp esi, 0x400
setle dl
sub edx, 1
and edx, 0x384
add edx, 0x64
mov edi, edx
lea eax, [ebx - 0x64]
push eax
mov dword [esp + 0x1c], eax
call fcn.00415d30
mov ebx, eax
add esp, 4
test ebx, ebx
jne 0x408e3d
push ebp
call fcn.004417e8
add esp, 4
mov eax, 0xfffffffc
pop edi
pop ebx
pop ebp
pop esi
mov ecx, dword [esp + 0x418]
xor ecx, esp
call fcn.0043197e
add esp, 0x41c
ret
mov eax, dword [esp + 0x18]
push eax
push 0
push ebx
call fcn.00436760
push 0
push 0
push ebp
call fcn.00441285
mov ecx, dword [esp + 0x30]
push ecx
push ebx
push ebp
call fcn.00445398
push ebp
mov dword [esp + 0x4c], eax
call fcn.004417e8
mov eax, dword [esp + 0x38]
add eax, 0xffffff9c
add esp, 0x28
cmp dword [esp + 0x24], eax
mov dword [esp + 0x20], eax
je 0x408e8e
push ebx
call fcn.00415d35
add esp, 4
mov eax, 0xfffffffb
jmp 0x408e24
push edi
call fcn.00415d30
push edi
mov ebp, eax
call fcn.00415d30
add esp, 8
test ebp, ebp
mov dword [esp + 0x10], eax
je 0x409016
test eax, eax
je 0x409016
push edi
lea esi, [ebx + esi + 7]
push esi
push ebp
call fcn.0043bae0
mov edx, dword [esp + 0x20]
lea eax, [ebx + edx]
push edi
push eax
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x24]
push eax
call fcn.0043bae0
mov ecx, dword [esp + 0x28]
push edi
push ecx
push esi
call fcn.0043bae0
mov edx, dword [esp + 0x38]
push edi
push ebp
push edx
call fcn.0043bae0
push ebp
call fcn.00415d35
mov eax, dword [esp + 0x44]
push eax
call fcn.00415d35
mov ebp, dword [esp + 0x54]
lea esi, [esp + 0x260]
add esp, 0x38
mov eax, ebp
sub esi, ebp
mov cl, byte [eax]
mov byte [esi + eax], cl
add eax, 1
test cl, cl
jne 0x408f10
lea ecx, [esp + 0x228]
push 0x5c
push ecx
call fcn.00432fa0
add esp, 8
test eax, eax
jne 0x408f70
lea edx, [esp + 0x228]
push 0x2f
push edx
call fcn.00432fa0
add esp, 8
test eax, eax
jne 0x408f70
mov eax, dword [str.temp.dll]
mov ecx, dword [0x457878]
mov dl, byte [0x45787c]
mov dword [esp + 0x228], eax
mov dword [esp + 0x22c], ecx
mov byte [esp + 0x230], dl
jmp 0x408f8b
mov ecx, dword [str.temp.dll]
mov dword [eax + 1], ecx
mov edx, dword [0x457878]
mov dword [eax + 5], edx
mov cl, byte [0x45787c]
mov byte [eax + 9], cl
push 0x180
lea edx, [esp + 0x22c]
push 0x8102
push edx
call fcn.00446cbe
mov esi, eax
add esp, 0xc
cmp esi, 0xffffffff
je 0x409003
push 0
push 0
push esi
call fcn.00441285
mov eax, dword [esp + 0x24]
push eax
push ebx
push esi
call fcn.00441137
push esi
mov edi, eax
call fcn.004417e8
push ebx
call fcn.00415d35
add esp, 0x20
cmp edi, dword [esp + 0x20]
je 0x408fe3
mov eax, 0xfffffff9
jmp 0x408e24
push 1
push ebp
lea ecx, [esp + 0x230]
push ecx
call dword [sym.imp.KERNEL32.dll_MoveFileExA]
neg eax
sbb eax, eax
and eax, 8
add eax, 0xfffffff8
jmp 0x408e24
push ebx
call fcn.00415d35
add esp, 4
mov eax, 0xfffffff7
jmp 0x408e24
push ebx
call fcn.00415d35
add esp, 4
test ebp, ebp
je 0x40902c
push ebp
call fcn.00415d35
add esp, 4
mov eax, dword [esp + 0x10]
test eax, eax
je 0x40903d
push eax
call fcn.00415d35
add esp, 4
mov eax, 0xfffffffa
jmp 0x408e24
push ebp
call fcn.004417e8
add esp, 4
pop ebp
mov eax, 1
pop esi
mov ecx, dword [esp + 0x418]
xor ecx, esp
call fcn.0043197e
add esp, 0x41c
ret
mov ecx, dword [esp + 0x420]
pop ebp
pop esi
xor ecx, esp
mov eax, 0xfffffffe
call fcn.0043197e
add esp, 0x41c
ret