Function at 0x4032b0
Capabilities:
Delete file
Read file on windows
Write file on windows

Disassembly:
sub esp, 0x3fc
lea eax, [esp + 4]
push ebx
push ebp
push esi
push edi
push eax
call fcn.00403cd0
mov cx, word [0x41f06c]
lea edi, [esp + 0x18]
mov word [0x4299a4], cx
or ecx, 0xffffffff
xor eax, eax
mov dl, byte [0x41f06e]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov byte [0x4299a6], dl
mov esi, edi
mov edx, ecx
mov edi, 0x4299a4
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
push 0x4299a4
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, str.ocsprogcdusrlogsengines.logs
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edx, ecx
mov edi, 0x4299a4
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call fcn.00403f60
mov ebp, dword [sym.imp.KERNEL32.dll_WriteFile]
mov ebx, dword [sym.imp.KERNEL32.dll_CloseHandle]
add esp, 8
test eax, eax
jne 0x403442
mov ax, word [0x41f06c]
mov cl, byte [0x41f06e]
mov word [0x4299a4], ax
mov byte [0x4299a6], cl
lea edi, [esp + 0x14]
or ecx, 0xffffffff
xor eax, eax
push 0x4299a4
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edx, ecx
mov edi, 0x4299a4
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, str.ocsprogcdusrlogs
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edx, ecx
mov edi, 0x4299a4
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call fcn.00404030
mov edi, str.engines.logs
or ecx, 0xffffffff
xor eax, eax
add esp, 4
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
push eax
mov esi, edi
mov edx, ecx
mov edi, 0x4299a4
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
push 0x10000080
mov ecx, edx
push 2
push eax
and ecx, 3
push 3
push 0xc0000000
push 0x4299a4
rep movsb byte es:[edi], byte [esi]
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov esi, eax
mov ecx, 0x6c
xor eax, eax
lea edi, [esp + 0x58]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
lea eax, [esp + 0x10]
push 0
push eax
lea ecx, [esp + 0x60]
push 0x1b2
push ecx
push esi
call ebp
push esi
call ebx
push 0
push 0x10000080
push 3
push 0
push 3
push 0xc0000000
push 0x4299a4
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov esi, eax
cmp esi, 0xffffffff
je 0x403786
push 0x1b2
push 0
push esi
call fcn.00404210
add esp, 0xc
test eax, eax
jne 0x40348e
push esi
call ebx
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x3fc
ret
lea edx, [esp + 0x10]
push 0
push edx
lea eax, [esp + 0x60]
push 0x1b2
push eax
push esi
call dword [sym.imp.KERNEL32.dll_ReadFile]
mov edi, dword [esp + 0x58]
inc edi
cmp edi, 0x61a80
mov dword [esp + 0x58], edi
jle 0x403699
push 0x1b2
push 0
push esi
call fcn.00404270
add esp, 0xc
push esi
call ebx
mov cx, word [0x41f06c]
lea edi, [esp + 0x14]
mov word [esp + 0x20c], cx
or ecx, 0xffffffff
xor eax, eax
mov dl, byte [0x41f06e]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov byte [esp + 0x20e], dl
lea edx, [esp + 0x20c]
mov esi, edi
mov edi, edx
mov edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
lea edx, [esp + 0x20c]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, str.ocsprogcdusrlogsengine_a.logs
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edi, edx
mov edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
mov ax, word [0x41f06c]
and ecx, 3
mov word [esp + 0x30c], ax
rep movsb byte es:[edi], byte [esi]
mov cl, byte [0x41f06e]
lea edi, [esp + 0x14]
mov byte [esp + 0x30e], cl
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x30c]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edi, edx
mov edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
lea edx, [esp + 0x30c]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, str.ocsprogcdusrlogsengine_b.logs
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edi, edx
mov edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
lea eax, [esp + 0x20c]
and ecx, 3
push eax
rep movsb byte es:[edi], byte [esi]
call fcn.00403f60
add esp, 4
test eax, eax
je 0x40361a
mov esi, dword [sym.imp.KERNEL32.dll_DeleteFileA]
lea ecx, [esp + 0x30c]
push ecx
call esi
lea edx, [esp + 0x30c]
lea eax, [esp + 0x20c]
push edx
push eax
call fcn.00403260
lea ecx, [esp + 0x214]
push ecx
push 0x4299a4
call fcn.00403260
add esp, 0x10
push 0x4299a4
call esi
jmp 0x40363a
lea edx, [esp + 0x20c]
push edx
push 0x4299a4
call fcn.00403260
add esp, 8
push 0x4299a4
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
push 6
call fcn.004042e0
add esp, 4
push 0
push 0x10000080
push 2
push 0
push 3
push 0xc0000000
push 0x4299a4
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov esi, eax
mov ecx, 0x6c
xor eax, eax
lea edi, [esp + 0x58]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
lea eax, [esp + 0x10]
push 0
push eax
lea ecx, [esp + 0x60]
push 0x1b2
push ecx
push esi
call ebp
push esi
call ebx
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x3fc
ret
push 0
push 0
push 0
push esi
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
lea edx, [esp + 0x10]
push 0
push edx
lea eax, [esp + 0x60]
push 0x1b2
push eax
push esi
call ebp
mov eax, dword [esp + 0x410]
lea ecx, [esp + 0x60]
push ecx
push eax
mov dword [esp + 0x60], edi
mov dword [esp + 0x64], eax
call fcn.00401750
lea edx, [esp + 0x50]
push edx
call fcn.00403ef0
mov ecx, dword [eax]
mov dword [esp + 0xc6], ecx
mov edx, dword [eax + 4]
mov dword [esp + 0xca], edx
mov ecx, dword [eax + 8]
mov dword [esp + 0xce], ecx
mov edx, dword [eax + 0xc]
lea eax, [esp + 0xd6]
push eax
mov dword [esp + 0xd6], edx
call fcn.00403cd0
mov ecx, dword [esp + 0x428]
add esp, 0x10
lea edx, [esp + 0x88]
push 0x31
push ecx
push edx
call dword [sym.imp.KERNEL32.dll_lstrcpynA]
mov eax, dword [esp + 0x414]
push 0x12a
lea ecx, [esp + 0xe2]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcpynA]
lea eax, [edi + edi*2]
push 0
push 0
lea edx, [eax + eax*8]
lea eax, [edi + edx*8]
shl eax, 1
push eax
push esi
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
lea ecx, [esp + 0x10]
push 0
push ecx
lea edx, [esp + 0x60]
push 0x1b2
push edx
push esi
call ebp
push 0x1b2
push 0
push esi
call fcn.00404270
add esp, 0xc
push esi
call ebx
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x3fc
ret