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

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffe4
push ebx
push esi
push edi
xor ebx, ebx
mov dword [ebp - 0x18], ebx
mov ebx, ecx
test ebx, ebx
js 0x41b29e
shr ebx, 2
mov esi, dword [edx + ebx*4]
dec ebx
push esi
jns 0x41b297
mov edx, esp
mov dword [ebp - 4], ecx
mov edi, edx
mov esi, eax
xor eax, eax
push ebp
push 0x41b485
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp + 8]
xor edx, edx
mov dword [eax], edx
push 0
lea eax, [ebp - 0x18]
mov ecx, 1
mov edx, dword [0x41b25c]
call fcn.004053c4
add esp, 4
push 0x40000
lea eax, [ebp - 0x18]
mov ecx, 1
mov edx, dword [0x41b25c]
call fcn.004053c4
add esp, 4
mov ebx, dword [0x422540]
mov bl, byte [ebx + 0x48]
xor bl, 0x48
mov dword [ebp - 0x10], 0
mov dword [ebp - 0xc], 0
jmp 0x41b3ac
xor eax, eax
mov al, bl
mov edx, dword [0x422540]
xor bl, byte [edx + eax]
push 0
push 0
push dword [ebp - 0xc]
push dword [ebp - 0x10]
push esi
call sub.kernel32.dll_SetFilePointerEx
push 0
lea eax, [ebp - 0x1c]
push eax
push 0x40000
mov eax, dword [ebp - 0x18]
push eax
push esi
call sub.kernel32.dll_ReadFile_1
cmp dword [ebp - 0xc], 0
jne 0x41b356
cmp dword [ebp - 0x10], 0
jne 0x41b356
mov eax, dword [ebp - 0x18]
mov al, byte [eax]
mov edx, dword [ebp + 0x10]
mov byte [edx], al
push edi
mov eax, dword [ebp - 4]
push eax
push ebx
mov eax, dword [ebp - 0x18]
call fcn.00405210
mov edx, eax
mov ecx, 0x40000
mov eax, dword [ebp - 0x18]
call fcn.00418800
push 0
push 0
push dword [ebp - 0xc]
push dword [ebp - 0x10]
push esi
call sub.kernel32.dll_SetFilePointerEx
push 0
lea eax, [ebp - 0x1c]
push eax
push 0x40000
mov eax, dword [ebp - 0x18]
push eax
push esi
call sub.kernel32.dll_WriteFile_1
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0xc]
add eax, 0x40000
adc edx, 0
mov dword [ebp - 0x10], eax
mov dword [ebp - 0xc], edx
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0xc]
add eax, 0x40000
adc edx, 0
cmp edx, dword [ebp + 0x18]
jne 0x41b3ca
cmp eax, dword [ebp + 0x14]
jbe 0x41b30e
jmp 0x41b3d0
jle 0x41b30e
mov eax, dword [ebp + 0x14]
sub eax, dword [ebp - 0x10]
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0
je 0x41b469
xor eax, eax
mov al, bl
mov edx, dword [0x422540]
xor bl, byte [edx + eax]
push 0
push 0
push dword [ebp - 0xc]
push dword [ebp - 0x10]
push esi
call sub.kernel32.dll_SetFilePointerEx
push 0
lea eax, [ebp - 0x1c]
push eax
mov eax, dword [ebp - 0x14]
push eax
mov eax, dword [ebp - 0x18]
push eax
push esi
call sub.kernel32.dll_ReadFile_1
cmp dword [ebp - 0xc], 0
jne 0x41b42a
cmp dword [ebp - 0x10], 0
jne 0x41b42a
mov eax, dword [ebp - 0x18]
mov al, byte [eax]
mov edx, dword [ebp + 0x10]
mov byte [edx], al
push edi
mov eax, dword [ebp - 4]
push eax
push ebx
mov eax, dword [ebp - 0x18]
call fcn.00405210
mov edx, eax
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x18]
call fcn.00418800
push 0
push 0
push dword [ebp - 0xc]
push dword [ebp - 0x10]
push esi
call sub.kernel32.dll_SetFilePointerEx
push 0
lea eax, [ebp - 0x1c]
push eax
mov eax, dword [ebp - 0x14]
push eax
mov eax, dword [ebp - 0x18]
push eax
push esi
call sub.kernel32.dll_WriteFile_1
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x41b48c
lea eax, [ebp - 0x18]
mov edx, dword [0x41b25c]
call fcn.004054c4
ret