Function at 0x426177
Capabilities:
Delete file
Move file

Disassembly:
sub esp, 0x40
cmp dword [0x45c494], 0
push ebx
push esi
push edi
push ebp
je 0x43c816
cmp dword [0x45c4b4], 0
jne 0x43ca62
cmp dword [0x45c4e4], 0
je 0x43c823
mov ecx, 0x466010
call fcn.0041ccca
mov eax, dword [0x466024]
push eax
call dword [sym.imp.MSVCRT40.dll_fflush]
add esp, 4
mov eax, dword [0x466024]
mov ecx, dword [0x45c544]
mov dword [0x466490], eax
push 0x456d18
push 0x456f78
push ecx
mov ecx, 0x466010
call fcn.00417638
mov dword [0x45c4e4], 0
mov dword [0x45c790], 1
mov eax, dword [0x466490]
push eax
call dword [sym.imp.MSVCRT40.dll_fflush]
add esp, 4
mov dword [0x469160], eax
cmp eax, 0xffffffff
je 0x43c9f6
push 2
mov eax, dword [0x466490]
push 0
push eax
call dword [sym.imp.MSVCRT40.dll_fseek]
add esp, 0xc
mov dword [0x469160], eax
test eax, eax
jne 0x43ca1a
mov eax, dword [0x466490]
push eax
call dword [sym.imp.MSVCRT40.dll_ftell]
add esp, 4
mov dword [0x469160], eax
cmp eax, 0xffffffff
je 0x43ca3e
mov dword [0x45bb8c], eax
mov eax, dword [0x45bb8c]
sub eax, 0x470
mov dword [0x45c730], eax
call fcn.00425fb9
mov ebx, dword [sym.imp.MSVCRT40.dll_rewind]
mov ecx, 0x466010
call fcn.0041ccca
mov eax, dword [0x466024]
push eax
call dword [sym.imp.MSVCRT40.dll_fflush]
add esp, 4
mov eax, dword [0x466024]
push eax
call ebx
add esp, 4
mov ecx, 0x466120
call fcn.0041ccca
mov eax, dword [0x466134]
push eax
call dword [sym.imp.MSVCRT40.dll_fflush]
add esp, 4
mov eax, dword [0x466134]
push eax
call ebx
add esp, 4
mov eax, dword [0x466024]
mov esi, dword [sym.imp.MSVCRT40.dll__chsize]
push 0
mov ecx, dword [eax + 0x10]
push ecx
call esi
add esp, 8
mov dword [0x469160], eax
cmp eax, 0xffffffff
je 0x43cd51
push 0
mov eax, dword [0x466134]
mov ecx, dword [eax + 0x10]
push ecx
call esi
add esp, 8
mov dword [0x469160], eax
cmp eax, 0xffffffff
je 0x43cd71
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x40
ret
call fcn.00448a7d
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x40
ret
mov edi, dword [0x45c544]
mov ecx, 0xffffffff
sub eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
shr ecx, 2
mov esi, edi
lea edi, [esp + 0x10]
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, 0x456f78
mov ecx, 0xffffffff
sub eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov edx, ecx
mov esi, edi
mov ecx, 0xffffffff
lea edi, [esp + 0x10]
sub eax, eax
repne scasb al, byte es:[edi]
dec edi
mov ecx, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, 0x466010
call fcn.0041f432
mov eax, dword [0x45c4d0]
push eax
call dword [sym.imp.MSVCRT40.dll_remove]
add esp, 4
mov esi, dword [sym.imp.MSVCRT40.dll__errno]
test eax, eax
je 0x43c8bb
call esi
cmp dword [eax], 0xd
jne 0x43c8bb
mov eax, dword [0x45c4d0]
mov edx, 0x158
push eax
mov ecx, 0x53
call fcn.004472b0
mov eax, dword [0x45c4d0]
lea ecx, [esp + 0x10]
push eax
push ecx
call dword [sym.imp.MSVCRT40.dll_rename]
add esp, 8
test eax, eax
je 0x43c99b
call esi
mov eax, dword [eax]
cmp eax, 2
je 0x43c981
cmp eax, 0xd
je 0x43c981
cmp eax, 0x12
jne 0x4261f7
push 0x456f2c
mov eax, dword [0x45c4d0]
push eax
call dword [sym.imp.MSVCRT40.dll_fopen]
add esp, 8
mov dword [0x466490], eax
test eax, eax
jne 0x43c928
mov eax, dword [0x45c4d0]
mov edx, 0x158
push eax
mov ecx, 0x53
call fcn.004472b0
push 0x456f74
mov eax, dword [0x45c544]
push 0x456f78
mov ecx, 0x466010
mov dword [0x45c790], 1
push eax
call fcn.00417638
mov ecx, 0x8000
call fcn.0040e85e
push 0x7fffffff
mov edx, dword [0x466490]
mov ecx, dword [0x466024]
mov dword [0x468cd4], eax
call fcn.00426302
mov ecx, dword [0x468cd4]
call fcn.0040f3c8
jmp 0x4261f7
mov eax, dword [0x45c4d0]
mov edx, 0x158
push eax
mov ecx, 0x53
call fcn.004472b0
jmp 0x4261f7
push 0x456f74
mov eax, dword [0x45c4d0]
push eax
call dword [sym.imp.MSVCRT40.dll_fopen]
add esp, 8
mov dword [0x466490], eax
test eax, eax
jne 0x43c9cd
mov eax, dword [0x45c4d0]
mov edx, 0x158
push eax
mov ecx, 0x53
call fcn.004472b0
push 0x456f2c
mov eax, dword [0x45c544]
push 0x456f78
mov ecx, 0x466010
mov dword [0x45c790], 1
push eax
call fcn.00417638
jmp 0x4261f7
push 0x77b
mov eax, dword [0x45c4d0]
push str.pch.c
mov edx, 0x158
push eax
mov ecx, 0x58
call fcn.0044725e
jmp 0x426214
push 0x77c
mov eax, dword [0x45c4d0]
push str.pch.c
mov edx, 0x158
push eax
mov ecx, 0x56
call fcn.0044725e
jmp 0x426234
push 0x781
mov eax, dword [0x45c4d0]
push str.pch.c
mov edx, 0x158
push eax
mov ecx, 0x57
call fcn.0044725e
jmp 0x426251
push 0x456f7c
mov eax, dword [0x45c4d0]
push eax
call dword [sym.imp.MSVCRT40.dll_fopen]
add esp, 8
mov dword [0x468d48], eax
test eax, eax
jne 0x43ca94
mov eax, dword [0x45c4d0]
mov edx, 0x158
push eax
mov ecx, 0x53
call fcn.004472b0
mov eax, dword [0x466490]
mov ebx, dword [sym.imp.MSVCRT40.dll_rewind]
mov dword [0x45c794], 1
push eax
call ebx
add esp, 4
mov ecx, 0x466010
call fcn.0041ccca
mov ecx, dword [0x466024]
push ecx
call dword [sym.imp.MSVCRT40.dll_fflush]
add esp, 4
mov eax, dword [0x466024]
push eax
call ebx
add esp, 4
mov ecx, 0x8000
call fcn.0040e85e
mov edx, dword [0x468d48]
mov ecx, dword [0x466490]
mov dword [0x468cd4], eax
mov eax, dword [0x45c730]
add eax, 0x470
push eax
call fcn.00426302
push 0x7fffffff
mov edx, dword [0x468d48]
mov ecx, dword [0x466024]
call fcn.00426302
mov ecx, 0x466120
add dword [0x45c730], eax
mov eax, dword [0x45c730]
add eax, 0x470
mov dword [0x45bb8c], eax
call fcn.0041ccca
mov ecx, dword [0x466134]
push ecx
call dword [sym.imp.MSVCRT40.dll_fflush]
add esp, 4
mov ecx, dword [0x466134]
push ecx
call ebx
add esp, 4
mov ecx, dword [0x45c728]
mov edx, dword [0x468d48]
push ecx
mov ecx, dword [0x466490]
call fcn.00426302
push 0x7fffffff
mov edx, dword [0x468d48]
mov ecx, dword [0x466134]
call fcn.00426302
mov ecx, 0x4609e0
add dword [0x45c728], eax
call fcn.0041ccca
mov ecx, dword [0x4609f4]
push ecx
call dword [sym.imp.MSVCRT40.dll_fflush]
add esp, 4
mov ecx, dword [0x4609f4]
push ecx
call ebx
add esp, 4
mov edx, dword [0x468d48]
mov ecx, dword [0x4609f4]
push 0x7fffffff
call fcn.00426302
mov ecx, dword [0x465fe0]
mov dword [0x45c72c], eax
cmp dword [0x465fe4], ecx
je 0x43cc16
mov ebp, dword [0x465fe4]
mov esi, ecx
sub ebp, ecx
lea eax, [ebp + 1]
test eax, eax
jge 0x43cd16
xor eax, eax
and dword [0x4662f8], eax
je 0x43cc0c
mov edi, dword [0x4662e4]
mov ecx, ebp
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, ebp
and ecx, 3
rep movsb byte es:[edi], byte [esi]
add dword [0x4662e4], ebp
mov eax, dword [0x465fe0]
mov dword [0x465fe4], eax
mov ecx, 0x4662e0
call fcn.0041ccca
mov eax, dword [0x4662f4]
push eax
call dword [sym.imp.MSVCRT40.dll_fflush]
add esp, 4
mov eax, dword [0x4662f4]
push eax
call ebx
add esp, 4
mov edx, dword [0x468d48]
mov ecx, dword [0x4662f4]
push 0x7fffffff
call fcn.00426302
cmp dword [0x45c0ec], 0
mov dword [0x45c734], eax
je 0x43ccb8
cmp dword [0x45c0f0], 0
jne 0x43cc79
cmp dword [0x46630c], 0
je 0x43ccb8
cmp dword [0x45c178], 0
jne 0x43ccb8
mov ecx, 0x460a58
call fcn.0041ccca
mov eax, dword [0x460a6c]
push eax
call dword [sym.imp.MSVCRT40.dll_fflush]
add esp, 4
mov eax, dword [0x460a6c]
push eax
call ebx
add esp, 4
mov edx, dword [0x468d48]
mov ecx, dword [0x460a6c]
push 0x7fffffff
call fcn.00426302
mov dword [0x45c738], eax
mov eax, dword [0x466490]
mov ebp, dword [sym.imp.MSVCRT40.dll_fclose]
push eax
call ebp
add esp, 4
mov dword [0x469160], eax
cmp eax, 0xffffffff
jne 0x43ccee
push 0x7b5
mov edx, 0x153
push str.pch.c
mov ecx, 0x52
push 0
call fcn.0044725e
mov dword [0x45c790], 1
mov dword [0x45c794], 0
mov eax, dword [0x468d48]
mov dword [0x466490], eax
call fcn.004260b8
jmp 0x426270
mov ecx, dword [0x4662e4]
mov edx, dword [0x4662e8]
add ecx, ebp
add edx, dword [0x4662e0]
inc ecx
cmp ecx, edx
jbe 0x43cd47
push eax
mov ecx, 0x4662e0
call fcn.0040e7b7
test eax, eax
mov eax, 0
je 0x43cbea
mov eax, 1
jmp 0x43cbea
push 0x7c2
mov edx, 0x153
push str.pch.c
mov ecx, 0x59
push 0
call fcn.0044725e
jmp 0x4262dc
push 0x7c3
mov edx, 0x153
push str.pch.c
mov ecx, 0x59
push 0
call fcn.0044725e
jmp 0x4262fa