Function at 0x45f600
Capabilities:
Read file on windows
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc64
mov eax, dword [0x55e2f4]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
mov ebx, dword [ebp + 0xc]
lea eax, [ebp - 0xc08]
push esi
mov esi, dword [ebp + 8]
push 0x802
push 0
push eax
mov dword [ebp - 0xc44], esi
mov dword [ebp - 0xc40], ebx
mov dword [ebp - 0xc0c], 0xffffffff
call fcn.004e46b0
push ebx
mov dword [ebp - 0xc10], 0
mov dword [ebp - 0xc20], 0
mov dword [ebp - 0xc1c], 0
call fcn.00429e10
add esp, 0x10
test eax, eax
jne 0x45f684
pop esi
mov eax, 0x1e
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004e1f40
mov esp, ebp
pop ebp
ret
push edi
push ebx
call fcn.00426940
add esp, 4
push 0x7d0
call dword [sym.imp.KERNEL32.DLL_Sleep]
lea eax, [ebp - 0xc0c]
push eax
lea eax, [ebp - 0xc08]
push eax
push ebx
push esi
call fcn.00460950
mov esi, eax
add esp, 0x10
mov dword [ebp - 0xc34], esi
test esi, esi
mov esi, dword [ebp - 0xc0c]
jne 0x45fb1f
lea eax, [ebp - 0xc4c]
push eax
push ebx
call fcn.004275e0
add esp, 8
test eax, eax
jne 0x45f6e3
lea ebx, [eax + 1]
jmp 0x45fb21
push 0x200
call fcn.004e240a
mov ebx, eax
add esp, 4
mov dword [ebp - 0xc20], ebx
test ebx, ebx
jne 0x45f704
lea ebx, [eax + 1]
jmp 0x45fb21
mov edi, dword [sym.imp.KERNEL32.DLL_DeviceIoControl]
lea eax, [ebp - 0xc10]
push 0
push eax
push 0x200
push ebx
push 0
push 0
push 0x700a0
push esi
call edi
test eax, eax
jne 0x45f731
lea ebx, [eax + 1]
jmp 0x45fb21
mov eax, dword [ebx + 0x10]
imul eax, dword [ebx + 0x14]
cmp dword [ebp + 0x10], 0
mov dword [ebp - 0xc3c], eax
je 0x45f799
lea eax, [ebp - 0xc38]
push eax
lea eax, [ebp - 0xc30]
push eax
lea eax, [ebp - 0xc28]
push eax
lea eax, [ebp - 0xc18]
push eax
push esi
call fcn.00460320
mov ebx, eax
add esp, 0x14
mov dword [ebp - 0xc34], ebx
test ebx, ebx
jne 0x45fb21
mov eax, dword [ebp - 0xc18]
mov ebx, dword [ebp - 0xc20]
mov dword [ebp - 0xc2c], eax
mov eax, dword [ebp - 0xc14]
mov dword [ebp - 0xc24], eax
jmp 0x45f7a6
cdq
mov dword [ebp - 0xc2c], eax
mov dword [ebp - 0xc24], edx
push 0
push 0
xorps xmm0, xmm0
movlpd qword [ebp - 0xc18], xmm0
push dword [ebp - 0xc14]
push dword [ebp - 0xc18]
push esi
call dword [sym.imp.KERNEL32.DLL_SetFilePointerEx]
test eax, eax
jne 0x45f7d4
lea ebx, [eax + 1]
jmp 0x45fb21
push 0
lea eax, [ebp - 0xc10]
push eax
push 0x200
lea eax, [ebp - 0x404]
push eax
push esi
call dword [sym.imp.KERNEL32.DLL_ReadFile]
test eax, eax
jne 0x45f7fc
lea ebx, [eax + 1]
jmp 0x45fb21
push 0x200
lea eax, [ebp - 0x204]
xorps xmm0, xmm0
push 0
push eax
movlpd qword [ebp - 0xc18], xmm0
call fcn.004e46b0
add esp, 0xc
push 0
push 0
push dword [ebp - 0xc14]
push dword [ebp - 0xc18]
push esi
call dword [sym.imp.KERNEL32.DLL_SetFilePointerEx]
test eax, eax
jne 0x45f840
lea ebx, [eax + 1]
jmp 0x45fb21
push 0
lea eax, [ebp - 0xc10]
push eax
push 0x200
lea eax, [ebp - 0x204]
push eax
push esi
call dword [sym.imp.KERNEL32.DLL_WriteFile]
test eax, eax
jne 0x45f868
lea ebx, [eax + 1]
jmp 0x45fb21
push esi
call dword [sym.imp.KERNEL32.DLL_FlushFileBuffers]
push 0
mov dword [ebp - 0xc64], 0
mov eax, dword [ebx + 0x28]
mov dword [ebp - 0xc60], eax
lea eax, [ebp - 0xc10]
push eax
push 0
push 0
push 0x18
lea eax, [ebp - 0xc64]
push eax
push 0x7c058
push esi
call edi
test eax, eax
jne 0x45f8ac
lea ebx, [eax + 1]
jmp 0x45fb21
push 0
lea eax, [ebp - 0xc10]
push eax
push 0
push 0
push 0
push 0
push 0x70140
push esi
call edi
test eax, eax
jne 0x45f8d1
lea ebx, [eax + 1]
jmp 0x45fb21
push 0x270
call fcn.004e240a
mov esi, eax
add esp, 4
mov dword [ebp - 0xc1c], esi
test esi, esi
jne 0x45f8f2
lea ebx, [eax + 1]
jmp 0x45fb21
push 0x270
push 0
push esi
call fcn.004e46b0
mov eax, dword [ebp - 0xc24]
add esp, 0xc
mov byte [esi + 0x4c], 1
mov dword [esi + 0x48], 0
mov byte [esi + 0xdc], 1
mov dword [esi + 0xd8], 0
mov byte [esi + 0x16c], 1
mov dword [esi + 0x168], 0
mov byte [esi + 0x1fc], 1
mov dword [esi + 0x1f8], 0
mov dword [esi], 0
mov dword [esi + 4], 4
mov ecx, dword [ebx + 0x28]
mov dword [esi + 8], ecx
mov ecx, dword [ebp - 0xc2c]
mov dword [esi + 0x3c], eax
mov eax, dword [ebp - 0xc3c]
mov dword [esi + 0x38], ecx
mov dword [esi + 0x30], 0
mov esi, dword [ebp - 0xc4c]
cdq
sub esi, ecx
mov ecx, dword [ebp - 0xc48]
mov edi, edx
sbb ecx, dword [ebp - 0xc24]
mov ebx, eax
push edi
push ebx
push ecx
push esi
call fcn.004e2b80
push edi
push ebx
push edx
push eax
call fcn.004e2b40
mov ebx, dword [ebp - 0xc1c]
push 0
mov dword [ebx + 0x40], eax
mov eax, dword [ebp - 0xc20]
mov dword [ebx + 0x44], edx
mov dword [ebx + 0x48], 1
mov byte [ebx + 0x4c], 1
mov word [ebx + 0x50], 7
mov byte [ebx + 0x52], 0
push dword [eax + 0x14]
push dword [ebp - 0xc24]
push dword [ebp - 0xc2c]
call fcn.004e2b80
mov edi, dword [ebp - 0xc0c]
mov esi, dword [sym.imp.KERNEL32.DLL_DeviceIoControl]
push 0
mov dword [ebx + 0x54], eax
lea eax, [ebp - 0xc10]
push eax
push 0
push 0
push 0x270
push ebx
push 0x7c054
push edi
call esi
test eax, eax
jne 0x45fa10
lea ebx, [eax + 1]
jmp 0x45fb27
push 0
lea eax, [ebp - 0xc10]
push eax
push 0
push 0
push 0
push 0
push 0x70140
push edi
call esi
test eax, eax
jne 0x45fa35
lea ebx, [eax + 1]
jmp 0x45fb27
mov ebx, dword [sym.imp.KERNEL32.DLL_SetFilePointerEx]
xorps xmm0, xmm0
push 0
push 0
movlpd qword [ebp - 0xc18], xmm0
push dword [ebp - 0xc14]
push dword [ebp - 0xc18]
push edi
call ebx
test eax, eax
jne 0x45fa65
lea ebx, [eax + 1]
jmp 0x45fb27
push 0
lea eax, [ebp - 0xc10]
push eax
push 0x200
lea eax, [ebp - 0x204]
push eax
push edi
call dword [sym.imp.KERNEL32.DLL_ReadFile]
test eax, eax
jne 0x45fa8d
lea ebx, [eax + 1]
jmp 0x45fb27
movups xmm0, xmmword [ebp - 0x46]
mov ax, word [ebp - 6]
push 0
movups xmmword [ebp - 0x246], xmm0
push 0
movups xmm0, xmmword [ebp - 0x36]
mov word [ebp - 0x206], ax
movups xmmword [ebp - 0x236], xmm0
movups xmm0, xmmword [ebp - 0x26]
movups xmmword [ebp - 0x226], xmm0
movups xmm0, xmmword [ebp - 0x16]
movups xmmword [ebp - 0x216], xmm0
xorps xmm0, xmm0
movlpd qword [ebp - 0xc18], xmm0
push dword [ebp - 0xc14]
push dword [ebp - 0xc18]
push edi
call ebx
test eax, eax
jne 0x45faeb
lea ebx, [eax + 1]
jmp 0x45fb27
push 0
lea eax, [ebp - 0xc10]
push eax
push 0x200
lea eax, [ebp - 0x404]
push eax
push edi
call dword [sym.imp.KERNEL32.DLL_WriteFile]
test eax, eax
jne 0x45fb10
lea ebx, [eax + 1]
jmp 0x45fb27
push edi
call dword [sym.imp.KERNEL32.DLL_FlushFileBuffers]
mov ebx, dword [ebp - 0xc34]
jmp 0x45fb27
mov ebx, eax
mov edi, dword [ebp - 0xc0c]
call dword [sym.imp.KERNEL32.DLL_GetLastError]
push dword [ebp - 0xc20]
mov esi, eax
call fcn.004e2413
push dword [ebp - 0xc1c]
call fcn.004e2413
add esp, 8
push edi
call dword [sym.imp.KERNEL32.DLL_CloseHandle]
mov edi, dword [ebp - 0xc40]
lea eax, [ebp - 0xc08]
push eax
push edi
call fcn.0042aae0
add esp, 8
push esi
call dword [sym.imp.KERNEL32.DLL_SetLastError]
test ebx, ebx
jne 0x45fbe8
push 0x7d0
call dword [sym.imp.KERNEL32.DLL_Sleep]
lea eax, [ebp - 0xc1c]
mov dword [ebp - 0xc1c], 0xffffffff
push eax
push edi
mov edi, dword [ebp - 0xc44]
push edi
call fcn.0045dd60
mov ebx, eax
add esp, 0xc
test ebx, ebx
jne 0x45fbe8
mov eax, dword [ebp + 0x14]
mov esi, dword [ebp - 0xc1c]
test eax, eax
je 0x45fbd8
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push eax
push esi
push edi
call fcn.0045dd20
add esp, 0x14
test eax, eax
jne 0x45fbd8
pop edi
pop esi
lea eax, [ebx + 1]
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004e1f40
mov esp, ebp
pop ebp
ret
push 0
push esi
push 0x8000
call fcn.004ca970
add esp, 0xc
mov ecx, dword [ebp - 4]
mov eax, ebx
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.004e1f40
mov esp, ebp
pop ebp
ret