Function at 0x433850
Capabilities:
Delete file
Move file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x644
mov eax, dword [0x470428]
xor eax, ebp
mov dword [ebp - 0x1c], eax
cmp dword [ebp + 8], 0
jne 0x433871
or eax, 0xffffffff
jmp 0x433c3c
mov eax, dword [ebp + 0xc]
push eax
lea ecx, [ebp - 0x220]
push ecx
call sub.MSVCR100.dll_strcpy
add esp, 8
push str..messages.tmp
lea edx, [ebp - 0x220]
push edx
call sub.MSVCR100.dll_strcat
add esp, 8
push 0x4508ac
lea eax, [ebp - 0x220]
push eax
call dword [sym.imp.MSVCR100.dll_fopen]
add esp, 8
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
jne 0x4338e9
lea ecx, [ebp - 0x220]
push ecx
push 0x4508b0
lea edx, [ebp - 0x620]
push edx
call dword [sym.imp.MSVCR100.dll_sprintf]
add esp, 0xc
lea eax, [ebp - 0x620]
push eax
call fcn.004361f0
add esp, 4
or eax, 0xffffffff
jmp 0x433c3c
push 0
mov ecx, dword [ebp + 8]
push ecx
call fcn.00436600
add esp, 8
mov dword [ebp - 0xc], eax
mov edx, dword [ebp + 0xc]
push edx
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 4]
push ecx
call fcn.00436640
add esp, 8
mov dword [ebp - 0x10], eax
mov edx, 1
mov word [ebp - 0x14], dx
mov eax, dword [ebp - 0xc]
add eax, 8
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 0xc]
mov dx, word [ecx]
mov word [ebp - 0x624], dx
jmp 0x43394c
mov ax, word [ebp - 0x624]
sub ax, 1
mov word [ebp - 0x624], ax
mov ecx, dword [ebp - 8]
add ecx, 4
mov dword [ebp - 8], ecx
movsx edx, word [ebp - 0x624]
test edx, edx
jle 0x433bd5
push 0
mov eax, dword [ebp - 8]
mov ecx, dword [eax]
push ecx
call fcn.00436600
add esp, 8
mov dword [ebp - 0x630], eax
cmp dword [ebp - 0x630], 0
jne 0x43397c
jmp 0x433931
mov dword [ebp - 0x628], 0
mov edx, dword [ebp - 0x630]
add edx, 0x68
mov dword [ebp - 0x62c], edx
mov eax, dword [ebp - 0x630]
mov cx, word [eax + 0x64]
mov word [ebp - 0x634], cx
jmp 0x4339c9
mov dx, word [ebp - 0x634]
sub dx, 1
mov word [ebp - 0x634], dx
mov eax, dword [ebp - 0x62c]
add eax, 4
mov dword [ebp - 0x62c], eax
movsx ecx, word [ebp - 0x634]
test ecx, ecx
jle 0x433bd0
mov edx, dword [ebp - 0x62c]
mov eax, dword [edx]
mov dword [ebp - 0x63c], eax
cmp dword [ebp - 0x63c], 0
jge 0x4339f1
jmp 0x4339a8
mov ecx, dword [ebp - 0x63c]
push ecx
mov edx, dword [ebp - 0xc]
mov eax, dword [edx + 4]
push eax
call fcn.00436600
add esp, 8
mov dword [ebp - 0x638], eax
mov ecx, dword [ebp - 0x638]
sub ecx, 0xc
mov dword [ebp - 0x638], ecx
mov edx, dword [ebp - 0x638]
cmp dword [edx], 0
jge 0x433abc
mov eax, dword [ebp - 0x638]
movsx ecx, byte [eax + 0xa]
and ecx, 1
je 0x433ab7
mov edx, dword [ebp - 0x638]
movsx eax, byte [edx + 0xa]
and eax, 2
jne 0x433ab7
cmp dword [ebp - 0x628], 0
jne 0x433a81
mov ecx, dword [ebp - 0x630]
push ecx
push 0x4508dc
mov edx, dword [ebp - 4]
push edx
call dword [sym.imp.MSVCR100.dll_fprintf]
add esp, 0xc
mov dword [ebp - 0x628], 1
mov ax, word [ebp - 0x14]
add ax, 1
mov word [ebp - 0x14], ax
mov cx, word [ebp - 0x14]
mov word [ebp - 0x642], cx
movzx edx, word [ebp - 0x642]
push edx
mov eax, dword [ebp - 0x10]
push eax
mov ecx, dword [ebp - 0x638]
push ecx
mov edx, dword [ebp - 4]
push edx
call fcn.00433c50
add esp, 0x10
mov ax, word [ebp - 0x14]
add ax, 1
mov word [ebp - 0x14], ax
jmp 0x4339a8
cmp dword [ebp - 0x63c], 0
jl 0x433bcb
mov ecx, dword [ebp - 0x638]
mov edx, dword [ecx]
push edx
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 4]
push ecx
call fcn.00436600
add esp, 8
mov dword [ebp - 0x640], eax
mov edx, dword [ebp - 0x638]
movsx eax, byte [edx + 0xa]
and eax, 2
jne 0x433b81
mov ecx, dword [ebp + 0xc]
push ecx
mov edx, dword [ebp - 0x640]
push edx
call sub.MSVCR100.dll_strcmp
add esp, 8
test eax, eax
jne 0x433b81
cmp dword [ebp - 0x628], 0
jne 0x433b49
mov eax, dword [ebp - 0x630]
push eax
push 0x4508e4
mov ecx, dword [ebp - 4]
push ecx
call dword [sym.imp.MSVCR100.dll_fprintf]
add esp, 0xc
mov dword [ebp - 0x628], 1
mov dx, word [ebp - 0x14]
add dx, 1
mov word [ebp - 0x14], dx
mov ax, word [ebp - 0x14]
mov word [ebp - 0x644], ax
movzx ecx, word [ebp - 0x644]
push ecx
mov edx, dword [ebp - 0x10]
push edx
mov eax, dword [ebp - 0x638]
push eax
mov ecx, dword [ebp - 4]
push ecx
call fcn.00433c50
add esp, 0x10
mov dx, word [ebp - 0x14]
add dx, 1
mov word [ebp - 0x14], dx
jmp 0x433bcb
mov eax, dword [ebp - 0x638]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x63c], ecx
cmp dword [ebp - 0x63c], 0
jge 0x433b9b
jmp 0x433bcb
mov edx, dword [ebp - 0x63c]
push edx
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 4]
push ecx
call fcn.00436600
add esp, 8
mov dword [ebp - 0x638], eax
mov edx, dword [ebp - 0x638]
sub edx, 0xc
mov dword [ebp - 0x638], edx
jmp 0x433abc
jmp 0x4339a8
jmp 0x433931
mov eax, dword [ebp - 4]
push eax
call dword [sym.imp.MSVCR100.dll_fclose]
add esp, 4
mov dword [ebp - 0x18], 0
mov ecx, dword [ebp + 0xc]
push ecx
call fcn.00435aa0
add esp, 4
test eax, eax
je 0x433c09
mov edx, dword [ebp + 0xc]
push edx
call dword [sym.imp.MSVCR100.dll_remove]
add esp, 4
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 0
jne 0x433c26
mov eax, dword [ebp + 0xc]
push eax
lea ecx, [ebp - 0x220]
push ecx
call dword [sym.imp.MSVCR100.dll_rename]
add esp, 8
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 0
je 0x433c3a
call dword [sym.imp.MSVCR100.dll__errno]
mov eax, dword [eax]
neg eax
jmp 0x433c3c
xor eax, eax
mov ecx, dword [ebp - 0x1c]
xor ecx, ebp
call fcn.00442e52
mov esp, ebp
pop ebp
ret