Function at 0x42e0a0
Capabilities:
Move file

Disassembly:
sub esp, 0x530
push esi
mov esi, ecx
cmp dword [esi + 0x18], 0
push edi
mov dword [esp + 8], esi
mov byte [esp + 0x24], 0
je 0x42e115
mov eax, dword [esi + 0x18]
cmp dword [eax + 0x10], 0
jne 0x42e0ed
cmp dword [esi + 0x18], 0
jne 0x42e0cf
mov eax, 0x494380
jmp 0x42e0d5
mov eax, dword [esi + 0x18]
mov eax, dword [eax + 0x10]
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x42e0d8
sub eax, edx
mov dword [esp + 0xc], eax
je 0x42e3f0
cmp dword [esi + 0x18], 0
je 0x42e115
mov eax, dword [esi + 0x18]
mov eax, dword [eax + 0x10]
cmp byte [eax], 0x2f
je 0x42e136
cmp dword [esi + 0x18], 0
je 0x42e115
mov eax, dword [esi + 0x18]
mov eax, dword [eax + 0x10]
cmp byte [eax], 0x5c
je 0x42e136
cmp dword [esi + 0x18], 0
jne 0x42e11c
mov ecx, 0x494380
jmp 0x42e122
mov eax, dword [esi + 0x18]
mov ecx, dword [eax + 0x10]
lea edx, [esp + 0x24]
mov al, byte [ecx]
mov byte [edx], al
add ecx, 1
add edx, 1
test al, al
jne 0x42e126
jmp 0x42e15e
cmp dword [esi + 0x18], 0
jne 0x42e143
mov eax, 0x494380
jmp 0x42e149
mov eax, dword [esi + 0x18]
mov eax, dword [eax + 0x10]
add eax, 1
lea edx, [esp + 0x24]
sub edx, eax
mov cl, byte [eax]
mov byte [edx + eax], cl
add eax, 1
test cl, cl
jne 0x42e152
xor edi, edi
push ebx
mov dword [esp + 0x10], edi
lea esi, [esp + 0x28]
push ebp
lea ebx, [ebx]
push 0x2f
push esi
call fcn.00462050
push 0x5c
push esi
mov ebx, eax
call fcn.00462050
add esp, 0x10
cmp ebx, eax
mov ebp, ebx
jb 0x42e18d
mov ebp, eax
test ebp, ebp
jne 0x42e1a1
cmp ebx, eax
mov ebp, ebx
ja 0x42e199
mov ebp, eax
test ebp, ebp
je 0x42e2e1
mov eax, esi
mov byte [ebp], 0
lea edx, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x42e1b0
sub eax, edx
mov dword [esp + 0x28], eax
je 0x42e2c8
cmp edi, 1
jne 0x42e2b2
xor eax, eax
mov cl, byte [esp + eax + 0x2c]
mov byte [esp + eax + 0x220], cl
add eax, 1
test cl, cl
jne 0x42e1d0
lea edi, [esp + 0x220]
add edi, 0xffffffff
lea esp, [esp]
mov al, byte [edi + 1]
add edi, 1
test al, al
jne 0x42e1f0
mov ecx, 8
mov esi, str._04d__02d__02d__02d._02d._02d._03d
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
lea eax, [esp + 0x18]
push eax
movsb byte es:[edi], byte [esi]
call dword [sym.imp.KERNEL32.dll_GetLocalTime]
movzx ecx, word [esp + 0x26]
movzx edx, word [esp + 0x24]
movzx eax, word [esp + 0x22]
push ecx
movzx ecx, word [esp + 0x24]
push edx
movzx edx, word [esp + 0x26]
push eax
movzx eax, word [esp + 0x26]
push ecx
movzx ecx, word [esp + 0x28]
push edx
push eax
push ecx
lea edx, [esp + 0x23c]
push edx
lea eax, [esp + 0x36c]
push eax
call fcn.004616ad
add esp, 0x24
cmp byte [esp + 0x544], 0
je 0x42e273
lea ecx, [esp + 0x34c]
push ecx
lea edx, [esp + 0x30]
push edx
call dword [sym.imp.KERNEL32.dll_MoveFileA]
mov esi, dword [esp + 0x10]
add esi, 0x20
lea eax, [esp + 0x2c]
mov byte [esi + 4], 1
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x42e285
sub eax, edx
add eax, 1
push eax
mov ecx, esi
call fcn.004054e0
mov esi, dword [esi]
mov edx, dword [esi + 0x10]
lea ecx, [esp + 0x2c]
mov al, byte [ecx]
mov byte [edx], al
add ecx, 1
add edx, 1
test al, al
jne 0x42e2a4
lea eax, [esp + 0x2c]
push eax
call fcn.004851da
add esp, 4
add dword [esp + 0x14], 1
mov edi, dword [esp + 0x14]
cmp ebp, ebx
setne cl
sub cl, 1
and cl, 0xd3
add cl, 0x5c
mov byte [ebp], cl
lea esi, [ebp + 1]
jmp 0x42e170
pop ebp
lea ecx, [esi + 1]
pop ebx
mov al, byte [esi]
add esi, 1
test al, al
jne 0x42e2e6
sub esi, ecx
mov dword [esp + 0x20], esi
je 0x42e3d1
cmp edi, 1
jne 0x42e3c4
xor eax, eax
jmp 0x42e310
mov cl, byte [esp + eax + 0x24]
mov byte [esp + eax + 0x218], cl
add eax, 1
test cl, cl
jne 0x42e310
lea edi, [esp + 0x218]
add edi, 0xffffffff
lea esp, [esp]
mov al, byte [edi + 1]
add edi, 1
test al, al
jne 0x42e330
mov ecx, 8
mov esi, str._04d__02d__02d__02d._02d._02d._03d
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
lea edx, [esp + 0x10]
push edx
movsb byte es:[edi], byte [esi]
call dword [sym.imp.KERNEL32.dll_GetLocalTime]
movzx eax, word [esp + 0x1e]
movzx ecx, word [esp + 0x1c]
movzx edx, word [esp + 0x1a]
push eax
movzx eax, word [esp + 0x1c]
push ecx
movzx ecx, word [esp + 0x1e]
push edx
movzx edx, word [esp + 0x1e]
push eax
movzx eax, word [esp + 0x20]
push ecx
push edx
push eax
lea ecx, [esp + 0x234]
push ecx
lea edx, [esp + 0x364]
push edx
call fcn.004616ad
add esp, 0x24
cmp byte [esp + 0x53c], 0
je 0x42e3b3
lea eax, [esp + 0x344]
push eax
lea ecx, [esp + 0x28]
push ecx
call dword [sym.imp.KERNEL32.dll_MoveFileA]
mov ecx, dword [esp + 8]
lea edx, [esp + 0x24]
push edx
add ecx, 0x20
call fcn.0040cc60
lea eax, [esp + 0x24]
push eax
call fcn.004851da
add esp, 4
lea edi, [esp + 0x24]
add edi, 0xffffffff
mov al, byte [edi + 1]
add edi, 1
test al, al
jne 0x42e3d8
mov cx, word [0x49d074]
mov esi, dword [esp + 8]
mov word [edi], cx
cmp dword [esi + 0x10], 0
jne 0x42e3fd
mov eax, 0x494380
jmp 0x42e403
mov eax, dword [esi + 0x10]
mov eax, dword [eax + 0x10]
mov edx, eax
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x42e405
lea edi, [esp + 0x24]
sub eax, edx
add edi, 0xffffffff
mov cl, byte [edi + 1]
add edi, 1
test cl, cl
jne 0x42e417
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea edi, [esp + 0x24]
add edi, 0xffffffff
mov al, byte [edi + 1]
add edi, 1
test al, al
jne 0x42e438
mov edx, dword [str..log]
mov esi, dword [esp + 8]
mov al, byte [0x49e240]
mov dword [edi], edx
add esi, 0x50
cmp byte [esp + 0x53c], 0
mov byte [edi + 4], al
push 0x1b6
je 0x42e482
push 0xa
lea ecx, [esp + 0x2c]
push ecx
lea ecx, [esi + 4]
call fcn.0042d950
test eax, eax
jne 0x42e4b2
mov edx, dword [esi]
mov ecx, dword [edx + 4]
jmp 0x42e49a
push 2
lea eax, [esp + 0x2c]
push eax
lea ecx, [esi + 4]
call fcn.0042d950
test eax, eax
jne 0x42e4b2
mov ecx, dword [esi]
mov ecx, dword [ecx + 4]
mov eax, dword [ecx + esi + 8]
add ecx, esi
or al, 2
cmp dword [ecx + 0x28], 0
jne 0x42e4aa
or al, 4
push 0
push eax
call fcn.0045fbe7
pop edi
pop esi
add esp, 0x530
ret 4