Function at 0x25d2550
Capabilities:
Check if file exists
Delete file
Move file
Read file on windows
Terminate process

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x13e0
call fcn.026a6d30
push esi
push edi
lea edi, [ebp - 0x13e0]
mov ecx, 0x4f8
mov eax, 0xcccccccc
rep stosd dword es:[edi], eax
mov eax, dword [0x23f6480]
xor eax, ebp
mov dword [ebp - 4], eax
cmp dword [0x240a2e0], 0
jne 0x25d2589
jmp 0x25d315c
mov eax, 1
imul ecx, eax, 0
mov dword [ebp - 0x138c], ecx
cmp dword [ebp - 0x138c], 0x100
jae 0x25d25a5
jmp 0x25d25ab
call fcn.026a5cbe
nop
mov edx, dword [ebp - 0x138c]
mov byte [ebp + edx - 0x108], 0
mov eax, dword [0x240a2e0]
add eax, 0x200
push eax
push 0x100
lea ecx, [ebp - 0x108]
push ecx
call fcn.026c443d
add esp, 0xc
lea edx, [ebp - 0x108]
push edx
push 0x100
lea eax, [ebp - 0x210]
push eax
call fcn.026c4380
add esp, 0xc
push 0x2565620
push 0x100
lea ecx, [ebp - 0x210]
push ecx
call fcn.026c443d
add esp, 0xc
lea edx, [ebp - 0x210]
mov dword [ebp - 0x320], edx
jmp 0x25d2629
mov eax, dword [ebp - 0x320]
add eax, 1
mov dword [ebp - 0x320], eax
mov ecx, dword [ebp - 0x320]
movsx edx, byte [ecx]
test edx, edx
je 0x25d264f
mov eax, dword [ebp - 0x320]
movsx ecx, byte [eax]
cmp ecx, 0x5c
jne 0x25d264d
mov edx, dword [ebp - 0x320]
mov byte [edx], 0x2f
jmp 0x25d261a
mov eax, 4
imul ecx, eax, 0
mov edx, dword [0x240a2e0]
cmp dword [edx + ecx + 0x408], 0
jne 0x25d2c83
push 0x100
lea eax, [ebp - 0x210]
push eax
lea ecx, [ebp - 0x318]
push ecx
call fcn.026c44a0
add esp, 0xc
push 0x2f
lea edx, [ebp - 0x318]
push edx
call fcn.025d4f60
add esp, 8
mov dword [ebp - 0x324], eax
cmp dword [ebp - 0x324], 0
je 0x25d26c7
mov eax, 1
imul ecx, eax, 0
mov edx, dword [ebp - 0x324]
mov byte [edx + ecx], 0
lea eax, [ebp - 0x318]
push eax
call fcn.025dcc80
add esp, 4
mov ecx, dword [0x240a2e0]
mov eax, dword [ecx + 0x45c]
cdq
mov ecx, dword [0x240a2e0]
push edx
push eax
mov edx, dword [ecx + 0x404]
push edx
mov eax, dword [ecx + 0x400]
push eax
call fcn.026a6bc0
mov dword [ebp - 0x32c], eax
mov dword [ebp - 0x328], edx
mov ecx, dword [0x240a2e0]
mov eax, dword [ecx + 0x45c]
cdq
mov ecx, dword [0x240a2e0]
push edx
push eax
mov edx, dword [ecx + 0x404]
push edx
mov eax, dword [ecx + 0x400]
push eax
call fcn.026a6c70
mov dword [ebp - 0x334], eax
mov dword [ebp - 0x330], edx
push 0x58
push 0
push 0x23fa288
call fcn.026a9140
add esp, 0xc
mov dword [ebp - 0x338], 0
jmp 0x25d275b
mov ecx, dword [ebp - 0x338]
add ecx, 1
mov dword [ebp - 0x338], ecx
mov edx, dword [0x240a2e0]
mov eax, dword [ebp - 0x338]
cmp eax, dword [edx + 0x45c]
jge 0x25d2c83
mov eax, dword [ebp - 0x338]
cdq
mov ecx, dword [ebp - 0x328]
push ecx
mov ecx, dword [ebp - 0x32c]
push ecx
push edx
push eax
call fcn.026a60a0
mov dword [ebp - 0x344], eax
mov dword [ebp - 0x340], edx
mov edx, dword [ebp - 0x344]
add edx, dword [ebp - 0x32c]
mov eax, dword [ebp - 0x340]
adc eax, dword [ebp - 0x328]
mov dword [ebp - 0x34c], edx
mov dword [ebp - 0x348], eax
cmp dword [ebp - 0x338], 0
jle 0x25d2921
push 0x256559c
mov ecx, dword [ebp - 0x338]
push ecx
lea edx, [ebp - 0x210]
push edx
push 0x2565628
call fcn.025dcb40
add esp, 0xc
push eax
call fcn.026c4a16
add esp, 8
mov dword [ebp - 0x33c], eax
push 2
push 0
push 0
mov eax, dword [ebp - 0x33c]
push eax
call fcn.026c516e
add esp, 0x10
mov ecx, dword [ebp - 0x33c]
push ecx
call fcn.026c599c
add esp, 4
add eax, dword [ebp - 0x344]
adc edx, dword [ebp - 0x340]
mov dword [ebp - 0x344], eax
mov dword [ebp - 0x340], edx
mov edx, dword [ebp - 0x33c]
push edx
call fcn.026c599c
add esp, 4
mov dword [ebp - 0x1394], eax
mov dword [ebp - 0x1390], edx
mov eax, dword [0x23fa278]
mov ecx, dword [0x23fa27c]
mov dword [ebp - 0x139c], eax
mov dword [ebp - 0x1398], ecx
mov edx, dword [ebp - 0x139c]
add edx, dword [ebp - 0x1394]
mov eax, dword [ebp - 0x1398]
adc eax, dword [ebp - 0x1390]
mov dword [0x23fa278], edx
mov dword [0x23fa27c], eax
mov ecx, dword [ebp - 0x33c]
push ecx
call fcn.026c599c
add esp, 4
mov dword [ebp - 0x13a4], eax
mov dword [ebp - 0x13a0], edx
mov edx, dword [0x23fa250]
mov eax, dword [0x23fa254]
mov dword [ebp - 0x13ac], edx
mov dword [ebp - 0x13a8], eax
mov ecx, dword [ebp - 0x13ac]
add ecx, dword [ebp - 0x13a4]
mov edx, dword [ebp - 0x13a8]
adc edx, dword [ebp - 0x13a0]
mov dword [0x23fa250], ecx
mov dword [0x23fa254], edx
mov eax, dword [0x240a2e0]
mov ecx, dword [eax + 0x45c]
sub ecx, 1
cmp dword [ebp - 0x338], ecx
jne 0x25d291c
mov edx, dword [ebp - 0x34c]
add edx, dword [ebp - 0x334]
mov eax, dword [ebp - 0x348]
adc eax, dword [ebp - 0x330]
mov dword [ebp - 0x34c], edx
mov dword [ebp - 0x348], eax
jmp 0x25d2a5b
mov ecx, dword [0x240a2e0]
cmp dword [ecx + 0x45c], 1
jne 0x25d295a
push 0x2565630
lea edx, [ebp - 0x210]
push edx
call fcn.026c4a16
add esp, 8
mov dword [ebp - 0x33c], eax
xorps xmm0, xmm0
movlpd qword [ebp - 0x344], xmm0
jmp 0x25d2a5b
push 0x2565634
lea eax, [ebp - 0x210]
push eax
call fcn.026c4a16
add esp, 8
mov dword [ebp - 0x33c], eax
push 2
push 0
push 0
mov ecx, dword [ebp - 0x33c]
push ecx
call fcn.026c516e
add esp, 0x10
mov edx, dword [ebp - 0x33c]
push edx
call fcn.026c599c
add esp, 4
add eax, dword [ebp - 0x344]
adc edx, dword [ebp - 0x340]
mov dword [ebp - 0x344], eax
mov dword [ebp - 0x340], edx
mov eax, dword [ebp - 0x33c]
push eax
call fcn.026c599c
add esp, 4
mov dword [ebp - 0x13b4], eax
mov dword [ebp - 0x13b0], edx
mov ecx, dword [0x23fa278]
mov edx, dword [0x23fa27c]
mov dword [ebp - 0x13bc], ecx
mov dword [ebp - 0x13b8], edx
mov eax, dword [ebp - 0x13bc]
add eax, dword [ebp - 0x13b4]
mov ecx, dword [ebp - 0x13b8]
adc ecx, dword [ebp - 0x13b0]
mov dword [0x23fa278], eax
mov dword [0x23fa27c], ecx
mov edx, dword [ebp - 0x33c]
push edx
call fcn.026c599c
add esp, 4
mov dword [ebp - 0x13c4], eax
mov dword [ebp - 0x13c0], edx
mov eax, dword [0x23fa250]
mov ecx, dword [0x23fa254]
mov dword [ebp - 0x13cc], eax
mov dword [ebp - 0x13c8], ecx
mov edx, dword [ebp - 0x13cc]
add edx, dword [ebp - 0x13c4]
mov eax, dword [ebp - 0x13c8]
adc eax, dword [ebp - 0x13c0]
mov dword [0x23fa250], edx
mov dword [0x23fa254], eax
cmp dword [ebp - 0x33c], 0
jne 0x25d2aaf
mov byte [0x240a2df], 0
mov esi, esp
push 0x10
push 0x2565638
lea ecx, [ebp - 0x108]
push ecx
push 0x2565640
call fcn.025dcb40
add esp, 8
push eax
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
cmp esi, esp
call fcn.026a5ffe
mov esi, esp
push 1
call dword [sym.imp.KERNEL32.dll_ExitProcess]
mov edx, dword [ebp - 0x344]
cmp edx, dword [ebp - 0x34c]
jne 0x25d2acf
mov eax, dword [ebp - 0x340]
cmp eax, dword [ebp - 0x348]
je 0x25d2c7e
mov dword [ebp - 0x350], 0
mov ecx, dword [ebp - 0x34c]
sub ecx, 1
mov edx, dword [ebp - 0x348]
sbb edx, 0
push edx
push ecx
mov eax, dword [ebp - 0x340]
push eax
mov ecx, dword [ebp - 0x344]
push ecx
push 0x2565660
call fcn.025dcb40
add esp, 0x14
push eax
mov edx, dword [ebp - 0x350]
push edx
call fcn.025eca50
add esp, 8
mov dword [ebp - 0x350], eax
mov eax, dword [ebp - 0x338]
mov ecx, dword [0x240a2e0]
mov edx, dword [ebp - 0x33c]
mov dword [ecx + eax*4 + 0x430], edx
call fcn.025eb720
mov dword [ebp - 0x13d0], eax
mov eax, dword [ebp - 0x338]
mov ecx, dword [0x240a2e0]
mov edx, dword [ebp - 0x13d0]
mov dword [ecx + eax*4 + 0x408], edx
mov eax, dword [0x240a2e0]
push eax
push 0x2712
mov ecx, dword [ebp - 0x338]
mov edx, dword [0x240a2e0]
mov eax, dword [edx + ecx*4 + 0x408]
push eax
call fcn.025eccc0
add esp, 0xc
mov ecx, dword [ebp - 0x33c]
push ecx
push 0x2711
mov edx, dword [ebp - 0x338]
mov eax, dword [0x240a2e0]
mov ecx, dword [eax + edx*4 + 0x408]
push ecx
call fcn.025eccc0
add esp, 0xc
push 0x25d2390
push 0x4e2b
mov edx, dword [ebp - 0x338]
mov eax, dword [0x240a2e0]
mov ecx, dword [eax + edx*4 + 0x408]
push ecx
call fcn.025eccc0
add esp, 0xc
push 1
push 0x2d
mov edx, dword [ebp - 0x338]
mov eax, dword [0x240a2e0]
mov ecx, dword [eax + edx*4 + 0x408]
push ecx
call fcn.025eccc0
add esp, 0xc
mov edx, dword [ebp - 0x350]
push edx
push 0x2727
mov eax, dword [ebp - 0x338]
mov ecx, dword [0x240a2e0]
mov edx, dword [ecx + eax*4 + 0x408]
push edx
call fcn.025eccc0
add esp, 0xc
push 1
push 0x34
mov eax, dword [ebp - 0x338]
mov ecx, dword [0x240a2e0]
mov edx, dword [ecx + eax*4 + 0x408]
push edx
call fcn.025eccc0
add esp, 0xc
push 0
push 0
push 0xffffffffffffffff
push 0x23fa288
call fcn.0266bca0
add esp, 0x10
mov dword [0x23fa29c], 0xffff
mov dword [0x23fa298], 0x23fa2e0
mov eax, dword [ebp - 0x338]
mov ecx, dword [0x240a2e0]
mov edx, dword [ecx + eax*4 + 0x408]
push edx
mov eax, dword [0x23fa284]
push eax
call fcn.025f25c0
add esp, 8
jmp 0x25d274c
lea ecx, [ebp - 0x358]
push ecx
mov edx, dword [0x23fa284]
push edx
call fcn.025f2f50
add esp, 8
cmp dword [ebp - 0x358], 0
jne 0x25d315c
mov byte [ebp - 0x35d], 1
mov eax, 4
imul ecx, eax, 0
mov edx, dword [0x240a2e0]
cmp dword [edx + ecx + 0x430], 0
je 0x25d2d12
mov dword [ebp - 0x364], 0
jmp 0x25d2ce0
mov eax, dword [ebp - 0x364]
add eax, 1
mov dword [ebp - 0x364], eax
mov ecx, dword [0x240a2e0]
mov edx, dword [ebp - 0x364]
cmp edx, dword [ecx + 0x45c]
jge 0x25d2d12
mov eax, dword [ebp - 0x364]
mov ecx, dword [0x240a2e0]
mov edx, dword [ecx + eax*4 + 0x430]
push edx
call fcn.026c4728
add esp, 4
jmp 0x25d2cd1
mov dword [ebp - 0x368], 0
lea eax, [ebp - 0x358]
push eax
mov ecx, dword [0x23fa284]
push ecx
call fcn.025f33e0
add esp, 8
mov dword [ebp - 0x368], eax
cmp dword [ebp - 0x368], 0
je 0x25d2f59
mov edx, dword [ebp - 0x368]
cmp dword [edx], 1
jne 0x25d2f59
mov eax, dword [ebp - 0x368]
mov ecx, dword [eax + 8]
mov dword [ebp - 0x36c], ecx
mov edx, dword [ebp - 0x368]
mov eax, dword [edx + 4]
mov dword [ebp - 0x370], eax
mov ecx, dword [ebp - 0x370]
push ecx
mov edx, dword [0x23fa284]
push edx
call fcn.025f2910
add esp, 8
mov eax, dword [ebp - 0x370]
push eax
call fcn.025eb830
add esp, 4
push 0x23fa288
call fcn.0266b2a0
add esp, 4
cmp dword [ebp - 0x36c], 0
jne 0x25d2f05
mov ecx, dword [0x240a2e0]
cmp dword [ecx + 0x45c], 1
jne 0x25d2f03
mov esi, esp
lea edx, [ebp - 0x108]
push edx
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
cmp esi, esp
call fcn.026a5ffe
test eax, eax
jne 0x25d2e58
mov esi, esp
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp esi, esp
call fcn.026a5ffe
cmp eax, 2
je 0x25d2e58
mov esi, esp
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp esi, esp
call fcn.026a5ffe
mov dword [ebp - 0x13d4], eax
mov eax, dword [0x240a2e0]
mov dword [ebp - 0x13d8], eax
mov esi, esp
push 0x10
push 0x2565678
mov ecx, dword [ebp - 0x13d4]
push ecx
mov edx, dword [ebp - 0x13d8]
push edx
push 0x2565680
call fcn.025dcb40
add esp, 0xc
push eax
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
cmp esi, esp
call fcn.026a5ffe
mov esi, esp
push 1
call dword [sym.imp.KERNEL32.dll_ExitProcess]
mov esi, esp
lea eax, [ebp - 0x108]
push eax
lea ecx, [ebp - 0x210]
push ecx
call dword [sym.imp.KERNEL32.dll_MoveFileA]
cmp esi, esp
call fcn.026a5ffe
test eax, eax
jne 0x25d2ef6
mov esi, esp
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp esi, esp
call fcn.026a5ffe
mov dword [ebp - 0x13dc], eax
mov edx, dword [0x240a2e0]
mov dword [ebp - 0x13e0], edx
mov esi, esp
push 0x10
push 0x25656a4
mov eax, dword [ebp - 0x13dc]
push eax
mov ecx, dword [ebp - 0x13e0]
push ecx
push 0x25656ac
call fcn.025dcb40
add esp, 0xc
push eax
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
cmp esi, esp
call fcn.026a5ffe
mov esi, esp
lea edx, [ebp - 0x210]
push edx
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
cmp esi, esp
call fcn.026a5ffe
mov esi, esp
push 1
call dword [sym.imp.KERNEL32.dll_ExitProcess]
mov eax, dword [0x23fa244]
add eax, 1
mov dword [0x23fa244], eax
jmp 0x25d2f59
lea ecx, [ebp - 0x210]
push ecx
call fcn.026b6b98
add esp, 4
mov esi, esp
push 0x10
push 0x25656cc
mov edx, dword [ebp - 0x36c]
push edx
mov eax, dword [0x240a2e0]
push eax
push 0x25656d4
call fcn.025dcb40
add esp, 0xc
push eax
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
cmp esi, esp
call fcn.026a5ffe
mov esi, esp
push 1
call dword [sym.imp.KERNEL32.dll_ExitProcess]
cmp dword [ebp - 0x368], 0
jne 0x25d2d1c
mov ecx, dword [0x240a2e0]
cmp dword [ecx + 0x45c], 1
jle 0x25d3152
lea edx, [ebp - 0x108]
push edx
call fcn.026b6b98
add esp, 4
push 0x2565700
lea eax, [ebp - 0x108]
push eax
call fcn.026c4a16
add esp, 8
mov dword [ebp - 0x374], eax
mov dword [ebp - 0x378], 0
jmp 0x25d2fbd
mov ecx, dword [ebp - 0x378]
add ecx, 1
mov dword [ebp - 0x378], ecx
mov edx, dword [0x240a2e0]
mov eax, dword [ebp - 0x378]
cmp eax, dword [edx + 0x45c]
jge 0x25d3134
cmp dword [ebp - 0x378], 0
jle 0x25d300f
push 0x2565704
mov ecx, dword [ebp - 0x378]
push ecx
lea edx, [ebp - 0x210]
push edx
push 0x2565708
call fcn.025dcb40
add esp, 0xc
push eax
call fcn.026c4a16
add esp, 8
mov dword [ebp - 0x37c], eax
jmp 0x25d3029
push 0x2565710
lea eax, [ebp - 0x210]
push eax
call fcn.026c4a16
add esp, 8
mov dword [ebp - 0x37c], eax
mov ecx, dword [ebp - 0x37c]
push ecx
push 0x1000
push 1
lea edx, [ebp - 0x1380]
push edx
call fcn.026c4cc8
add esp, 0x10
mov dword [ebp - 0x1388], eax
cmp dword [ebp - 0x1388], 0
jle 0x25d30e2
mov eax, dword [ebp - 0x374]
push eax
mov ecx, dword [ebp - 0x1388]
push ecx
push 1
lea edx, [ebp - 0x1380]
push edx
call fcn.026c5e0e
add esp, 0x10
cmp eax, dword [ebp - 0x1388]
je 0x25d30dd
mov eax, dword [ebp - 0x374]
push eax
call fcn.026c4728
add esp, 4
lea ecx, [ebp - 0x108]
push ecx
call fcn.026b6b98
add esp, 4
mov esi, esp
push 0x10
push 0x2565714
mov edx, dword [0x240a2e0]
push edx
push 0x256571c
call fcn.025dcb40
add esp, 8
push eax
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
cmp esi, esp
call fcn.026a5ffe
mov esi, esp
push 1
call dword [sym.imp.KERNEL32.dll_ExitProcess]
jmp 0x25d3029
mov eax, dword [ebp - 0x37c]
push eax
call fcn.026c4728
add esp, 4
cmp dword [ebp - 0x378], 0
jle 0x25d3120
mov ecx, dword [ebp - 0x378]
push ecx
lea edx, [ebp - 0x210]
push edx
push 0x2565734
call fcn.025dcb40
add esp, 0xc
push eax
call fcn.026b6b98
add esp, 4
jmp 0x25d312f
lea eax, [ebp - 0x210]
push eax
call fcn.026b6b98
add esp, 4
jmp 0x25d2fae
mov ecx, dword [ebp - 0x374]
push ecx
call fcn.026c4728
add esp, 4
mov edx, dword [0x23fa244]
add edx, 1
mov dword [0x23fa244], edx
mov dword [0x240a2e0], 0
push edx
mov ecx, ebp
push eax
lea edx, [0x25d318c]
call fcn.026a5faa
pop eax
pop edx
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.026a6086
add esp, 0x13e0
cmp ebp, esp
call fcn.026a5ffe
mov esp, ebp
pop ebp
ret