Function at 0x495270
Capabilities:
Delete file

Disassembly:
sub esp, 0x14c
mov eax, dword [0x52e144]
xor eax, esp
mov dword [esp + 0x148], eax
push ebp
mov ebp, dword [esp + 0x154]
mov dword [esp + 4], ebp
test ebp, ebp
jne 0x4952ac
xor al, al
pop ebp
mov ecx, dword [esp + 0x148]
xor ecx, esp
call fcn.004b6da3
add esp, 0x14c
ret
push esi
push edi
mov edi, dword [0x53ac78]
test edi, edi
je 0x4952c2
mov esi, dword [0x53ac7c]
test esi, esi
ja 0x4952de
mov edi, dword [0x537f04]
test edi, edi
je 0x49575c
mov esi, dword [0x537f08]
test esi, esi
jbe 0x49575c
test edi, edi
je 0x49575c
test esi, esi
jbe 0x49575c
push 0x31
lea eax, [esp + 0x125]
push 0
push eax
mov byte [esp + 0x12c], 0
call fcn.004b6dc0
add esp, 0xc
lea ecx, [esp + 0x120]
push ecx
push ebp
mov ecx, 0x53ac78
call fcn.0042fa30
test esi, esi
jbe 0x49566b
push ebx
mov bl, byte [esp + 0x164]
mov dword [esp + 0x1c], edi
mov dword [esp + 0x20], esi
push 0x30
lea edx, [esp + 0x128]
push edx
lea eax, [edi + 4]
push eax
call fcn.004b9e25
add esp, 0xc
test eax, eax
jne 0x495658
push ebp
push 0x5207f4
call fcn.00404690
add esp, 4
push eax
push 0x527e20
call fcn.00401350
push 0xff
lea ecx, [esp + 0x35]
push 0
push ecx
mov byte [esp + 0x30], 1
mov byte [esp + 0x3c], 0
call fcn.004b6dc0
add esp, 0x18
cmp bl, 1
jne 0x495396
mov byte [esp + 0x18], 2
jmp 0x4953a0
cmp bl, 2
jne 0x4953a0
mov byte [esp + 0x18], 6
mov eax, dword [edi]
test al, 2
je 0x49547e
mov dword [esp + 0x14], 0x42
test bl, bl
jne 0x4953f7
mov edx, dword [0x5207e0]
mov eax, dword [0x5207e4]
mov ecx, dword [0x5207e8]
mov dword [esp + 0x24], edx
mov edx, dword [0x5207ec]
mov dword [esp + 0x28], eax
mov ax, word [0x5207f0]
mov dword [esp + 0x2c], ecx
mov cl, byte [0x5207f2]
mov dword [esp + 0x30], edx
mov word [esp + 0x34], ax
mov byte [esp + 0x36], cl
jmp 0x495617
cmp bl, 1
jne 0x49543d
mov edx, dword [0x5207cc]
mov eax, dword [0x5207d0]
mov ecx, dword [0x5207d4]
mov dword [esp + 0x24], edx
mov edx, dword [0x5207d8]
mov dword [esp + 0x28], eax
mov ax, word [0x5207dc]
mov dword [esp + 0x2c], ecx
mov cl, byte [0x5207de]
mov dword [esp + 0x30], edx
mov word [esp + 0x34], ax
mov byte [esp + 0x36], cl
jmp 0x495617
mov edx, dword [0x5207b8]
mov eax, dword [0x5207bc]
mov ecx, dword [0x5207c0]
mov dword [esp + 0x24], edx
mov edx, dword [0x5207c4]
mov dword [esp + 0x28], eax
mov ax, word [0x5207c8]
mov dword [esp + 0x2c], ecx
mov cl, byte [0x5207ca]
mov dword [esp + 0x30], edx
mov word [esp + 0x34], ax
mov byte [esp + 0x36], cl
jmp 0x495617
test al, 4
je 0x49555a
mov dword [esp + 0x14], 0x20
test bl, bl
jne 0x4954d3
mov edx, dword [0x5207a4]
mov eax, dword [0x5207a8]
mov ecx, dword [0x5207ac]
mov dword [esp + 0x24], edx
mov edx, dword [0x5207b0]
mov dword [esp + 0x28], eax
mov ax, word [0x5207b4]
mov dword [esp + 0x2c], ecx
mov cl, byte [0x5207b6]
mov dword [esp + 0x30], edx
mov word [esp + 0x34], ax
mov byte [esp + 0x36], cl
jmp 0x495617
cmp bl, 1
jne 0x495519
mov edx, dword [0x520790]
mov eax, dword [0x520794]
mov ecx, dword [0x520798]
mov dword [esp + 0x24], edx
mov edx, dword [0x52079c]
mov dword [esp + 0x28], eax
mov ax, word [0x5207a0]
mov dword [esp + 0x2c], ecx
mov cl, byte [0x5207a2]
mov dword [esp + 0x30], edx
mov word [esp + 0x34], ax
mov byte [esp + 0x36], cl
jmp 0x495617
mov edx, dword [0x52077c]
mov eax, dword [0x520780]
mov ecx, dword [0x520784]
mov dword [esp + 0x24], edx
mov edx, dword [0x520788]
mov dword [esp + 0x28], eax
mov ax, word [0x52078c]
mov dword [esp + 0x2c], ecx
mov cl, byte [0x52078e]
mov dword [esp + 0x30], edx
mov word [esp + 0x34], ax
mov byte [esp + 0x36], cl
jmp 0x495617
test al, 8
je 0x495658
mov dword [esp + 0x14], 0x20
test bl, bl
jne 0x495685
mov edx, dword [0x520768]
mov eax, dword [0x52076c]
mov ecx, dword [0x520770]
mov dword [esp + 0x24], edx
mov edx, dword [0x520774]
mov dword [esp + 0x28], eax
mov ax, word [0x520778]
mov dword [esp + 0x2c], ecx
mov cl, byte [0x52077a]
push 0
push ebp
mov dword [esp + 0x38], edx
mov word [esp + 0x3c], ax
mov byte [esp + 0x3e], cl
call fcn.00494dd0
add esp, 8
test al, al
je 0x495617
push ebp
mov ebp, dword [sym.imp.KERNEL32.dll_DeleteFileA]
call ebp
mov ecx, 7
lea edi, [esp + 0x24]
test eax, eax
je 0x4955da
mov esi, 0x52074c
jmp 0x495611
mov esi, 0x520730
rep movsd dword es:[edi], dword [esi]
mov esi, dword [esp + 0x10]
push 1
push esi
call fcn.00494dd0
add esp, 8
test al, al
je 0x495755
push esi
call ebp
test eax, eax
je 0x495755
mov ecx, 7
mov esi, 0x520714
lea edi, [esp + 0x24]
rep movsd dword es:[edi], dword [esi]
mov ebp, dword [esp + 0x10]
mov eax, dword [0x527d88]
push 0x30
lea edx, [esp + 0x128]
push edx
push eax
push 0x50d930
call fcn.00404690
mov edx, dword [esp + 0x24]
add esp, 4
push eax
mov eax, dword [esp + 0x28]
push ebp
lea ecx, [esp + 0x38]
push ecx
push 0
push 0xe55c05
push edx
push eax
call fcn.0043c0b0
mov edi, dword [esp + 0x44]
add esp, 0x28
add edi, 0x38
sub dword [esp + 0x20], 1
mov dword [esp + 0x1c], edi
jne 0x495335
pop ebx
pop edi
pop esi
mov al, 1
pop ebp
mov ecx, dword [esp + 0x148]
xor ecx, esp
call fcn.004b6da3
add esp, 0x14c
ret
cmp bl, 1
jne 0x495729
mov edx, dword [0x520700]
mov eax, dword [0x520704]
mov ecx, dword [0x520708]
mov dword [esp + 0x24], edx
mov edx, dword [0x52070c]
mov dword [esp + 0x28], eax
mov ax, word [0x520710]
mov dword [esp + 0x2c], ecx
mov cl, byte [0x520712]
mov dword [esp + 0x30], edx
mov word [esp + 0x34], ax
mov byte [esp + 0x36], cl
xor ebp, ebp
lea esp, [esp]
mov esi, dword [esp + 0x10]
push esi
call fcn.00494fe0
add esp, 4
test al, al
je 0x4956ec
push esi
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
test eax, eax
jne 0x495701
inc ebp
cmp ebp, 0x14
jl 0x4956d0
mov ecx, 7
mov esi, 0x5206e4
jmp 0x49560d
cmp ebp, 0x14
mov ecx, 7
mov esi, 0x5206c8
lea edi, [esp + 0x24]
rep movsd dword es:[edi], dword [esi]
jl 0x495613
mov ecx, 7
mov esi, 0x5206e4
jmp 0x49560d
push ebp
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
mov ecx, 7
lea edi, [esp + 0x24]
test eax, eax
je 0x495749
mov esi, 0x5206ac
rep movsd dword es:[edi], dword [esi]
jmp 0x495617
mov esi, 0x520690
rep movsd dword es:[edi], dword [esi]
jmp 0x495617
mov ebp, esi
jmp 0x495617
mov ecx, dword [esp + 0x154]
pop edi
pop esi
pop ebp
xor ecx, esp
xor al, al
call fcn.004b6da3
add esp, 0x14c
ret