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

Disassembly:
sub esp, 0x3f4
push ebx
mov ebx, dword [esp + 0x3fc]
push ebp
push esi
mov esi, dword [sym.imp.KERNEL32.dll_SetFilePointer]
push edi
lea eax, [esp + 0x3c]
xor ebp, ebp
push 1
push eax
push ebp
push ebx
mov dword [esp + 0x48], ebp
mov dword [esp + 0x4c], ebp
call esi
mov dword [esp + 0x38], eax
mov ecx, 0xdb
xor eax, eax
lea edi, [esp + 0x95]
mov byte [esp + 0x94], 0
push ebp
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
lea ecx, [esp + 0x98]
push ebp
push ecx
push ebx
stosb byte es:[edi], al
call fcn.0041ddb0
add esp, 0x10
test eax, eax
je 0x41d9c1
mov ecx, 0xf
xor eax, eax
lea edi, [esp + 0x55]
mov byte [esp + 0x54], 0
rep stosd dword es:[edi], eax
mov ecx, dword [esp + 0x2f0]
lea edx, [esp + 0x2c]
stosw word es:[edi], ax
stosb byte es:[edi], al
push edx
mov edx, dword [esp + 0x2ec]
lea eax, [esp + 0x58]
push 0x40
push eax
mov eax, dword [esp + 0x1c0]
push ecx
push edx
push eax
mov dword [esp + 0x44], ebp
call fcn.00425950
mov edx, dword [esp + 0x44]
lea ecx, [esp + 0x1d4]
push ecx
lea eax, [esp + 0x70]
push edx
push eax
call fcn.00429400
add esp, 0x24
test eax, eax
jne 0x41d9ce
push 0x24cf
push 0x1b
call fcn.0041aab0
add esp, 8
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x3f4
ret
mov ecx, dword [esp + 0x1b8]
push ecx
call fcn.00410a20
add esp, 4
cmp eax, ebp
mov dword [esp + 0x48], eax
jne 0x41d9ef
push 0x24da
push 0xc
jmp 0x41d9b9
cmp dword [esp + 0x1dc], ebp
jne 0x41da08
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x3f4
ret
mov edx, dword [esp + 0xb8]
mov eax, dword [esp + 0xb4]
mov edi, dword [esp + 0x40c]
push edx
push eax
push edi
call fcn.00412ac0
add esp, 0xc
test eax, eax
jne 0x41da35
push 0x24e7
push 0x25
jmp 0x41d9b9
mov edx, dword [esp + 0x38]
lea ecx, [esp + 0x3c]
push ebp
push ecx
push edx
push ebx
call esi
mov eax, dword [esp + 0x1cc]
mov ecx, dword [esp + 0x1d0]
lea edx, [esp + 0x50]
push 1
push edx
push eax
push ebx
mov dword [esp + 0x5c], eax
mov dword [esp + 0x60], ecx
call esi
push ebp
push ebp
push ebp
push edi
call esi
xor eax, eax
xor esi, esi
mov dword [esp + 0x18], eax
mov dword [esp + 0x34], ebp
mov dword [esp + 0x1c], eax
mov dword [esp + 0x10], ebp
mov dword [esp + 0x14], ebp
mov dword [esp + 0x20], eax
mov dword [esp + 0x30], ebp
xor ebx, ebx
mov ecx, dword [esp + 0x1dc]
inc eax
cmp eax, ecx
mov dword [esp + 0x44], eax
ja 0x41dc26
xor ecx, ecx
lea edx, [esp + 0x24]
mov dword [esp + 0x14], ecx
lea eax, [esp + 0x14]
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], ecx
push ecx
mov dword [esp + 0x24], ecx
mov dword [esp + 0x28], ecx
mov ecx, dword [esp + 0x40c]
push edx
push 0x10
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x41dc30
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x41dc39
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x30]
cmp ecx, eax
jae 0x41db19
test esi, esi
je 0x41db02
push esi
call fcn.004d248b
mov eax, dword [esp + 0x20]
add esp, 4
push eax
mov dword [esp + 0x34], eax
call fcn.004d2462
mov esi, eax
add esp, 4
test esi, esi
je 0x41dc42
mov ecx, dword [esp + 0x30]
xor eax, eax
mov edx, ecx
mov edi, esi
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, edx
mov edx, dword [esp + 0x408]
and ecx, 3
push 0
rep stosb byte es:[edi], al
mov ecx, dword [esp + 0x20]
lea eax, [esp + 0x28]
push eax
push ecx
push esi
push edx
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x41dc5b
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x24]
cmp ecx, eax
jb 0x41dc64
mov ecx, dword [esp + 0x18]
push ecx
push eax
push esi
call fcn.00429370
add esp, 0xc
test eax, eax
je 0x41dc6d
mov eax, dword [esp + 0x1c]
mov edi, dword [esp + 0x20]
cmp eax, edi
jbe 0x41db87
mov edi, eax
cmp ebx, edi
jae 0x41dbad
test ebp, ebp
je 0x41db98
push ebp
call fcn.004d248b
add esp, 4
push edi
mov ebx, edi
call fcn.004d2462
mov ebp, eax
add esp, 4
test ebp, ebp
je 0x41dc76
mov ecx, ebx
xor eax, eax
mov edx, ecx
mov edi, ebp
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, edx
lea edx, [esp + 0x28]
and ecx, 3
push edx
rep stosb byte es:[edi], al
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x4c]
push ebx
push ebp
mov eax, dword [ecx]
push edx
mov edx, dword [esp + 0x3c]
push esi
push edx
lea edx, [esp + 0x6c]
xor edi, edi
push edx
mov dword [esp + 0x44], edi
call dword [eax + 0x14]
test eax, eax
je 0x41dc7f
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x40c]
lea eax, [esp + 0x40]
push edi
push eax
push ecx
push ebp
push edx
mov dword [esp + 0x54], edi
call dword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
je 0x41dc88
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x28]
cmp eax, ecx
jb 0x41dc8f
mov eax, dword [esp + 0x44]
jmp 0x41da8c
mov dword [esp + 0x34], 1
jmp 0x41dca6
push 0x250e
push 0xd
jmp 0x41dc96
push 0x2516
push 0xd
jmp 0x41dc96
push 0x2523
push 0x21
call fcn.0041aab0
add esp, 8
mov dword [esp + 0x10], 1
jmp 0x41dcb3
push 0x252d
push 0xd
jmp 0x41dc96
push 0x2533
push 0xd
jmp 0x41dc96
push 0x253b
push 0x1c
jmp 0x41dc96
push 0x254a
push 0x21
jmp 0x41dc96
push 0x2556
push 0x12
jmp 0x41dc96
push 0x2561
jmp 0x41dc94
push 0x2567
push 0xe
call fcn.0041aab0
add esp, 8
mov dword [esp + 0x10], 1
test esi, esi
je 0x41dcb3
push esi
call fcn.004d248b
add esp, 4
test ebp, ebp
je 0x41dcc0
push ebp
call fcn.004d248b
add esp, 4
mov ecx, dword [esp + 0x40c]
push ecx
call dword [sym.imp.KERNEL32.dll_SetEndOfFile]
mov eax, dword [esp + 0x34]
test eax, eax
je 0x41d9c1
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x41d9c1
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x3f4
ret