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

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x324
mov eax, dword [0x101348c]
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0xc]
push ebx
mov ebx, dword [ebp + 0x1c]
mov dword [ebp - 0x320], eax
mov eax, dword [ebp + 0x10]
push esi
push edi
mov edi, dword [ebp + 8]
mov dword [ebp - 0x318], eax
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x324], eax
mov eax, dword [ebp + 0x18]
push 0x7f02
xor esi, esi
push esi
mov dword [ebp - 0x308], edi
mov dword [ebp - 0x314], eax
call dword [sym.imp.USER32.dll_LoadCursorW]
push eax
call dword [sym.imp.USER32.dll_SetCursor]
push 0x10013a4
push 0xffff
push edi
mov edi, dword [sym.imp.USER32.dll_SetDlgItemTextW]
call edi
push 0x100
lea eax, [ebp - 0x204]
push eax
push 0x2b
push esi
call dword [sym.imp.USER32.dll_LoadStringW]
lea eax, [ebp - 0x204]
push eax
push 0x3e8
push dword [ebp - 0x308]
call edi
push 0x100
lea eax, [ebp - 0x204]
push eax
push 0x2c
push esi
call dword [sym.imp.USER32.dll_LoadStringW]
lea eax, [ebp - 0x204]
push eax
push 0x3e9
push dword [ebp - 0x308]
call edi
mov edi, dword [sym.imp.USER32.dll_SetDlgItemInt]
push esi
push dword [0x1033928]
push 0x3ea
push dword [ebp - 0x308]
call edi
push esi
push esi
push 0x3eb
push dword [ebp - 0x308]
mov dword [ebp - 0x310], esi
call edi
push esi
push esi
push dword [ebp - 0x308]
call dword [sym.imp.USER32.dll_InvalidateRect]
lea eax, [ebx + 0x104]
push eax
movzx eax, word [ebx + 0x102]
push eax
lea eax, [ebp - 0x304]
push eax
call fcn.0100b7db
mov eax, dword [ebp - 0x314]
push esi
push esi
push dword [eax + 0x64]
push dword [ebp - 0x318]
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
cmp dword [0x1033928], esi
mov dword [ebp - 0x314], esi
jbe 0x1005348
mov ebx, dword [ebp - 0x324]
add ebx, 0x1a
push esi
push esi
push dword [ebx + 2]
push dword [ebp - 0x320]
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
xor eax, eax
mov ax, word [ebx]
push esi
lea ecx, [ebp - 0x31c]
push ecx
mov dword [ebp - 0x30c], eax
movzx eax, ax
shl eax, 1
push eax
lea eax, [ebp - 0x204]
push eax
push dword [ebp - 0x320]
call dword [sym.imp.KERNEL32.dll_ReadFile]
lea eax, [ebx - 0x1a]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
push esi
mov dword [ebp - 0x30c], eax
lea eax, [ebp - 0x31c]
push eax
push 2
lea eax, [ebp - 0x30c]
push eax
push dword [ebp - 0x318]
call dword [sym.imp.KERNEL32.dll_WriteFile]
push esi
lea eax, [ebp - 0x31c]
push eax
movzx eax, word [ebp - 0x30c]
shl eax, 1
push eax
lea eax, [ebx - 0x1a]
push eax
push dword [ebp - 0x318]
call dword [sym.imp.KERNEL32.dll_WriteFile]
xor eax, eax
mov ax, word [ebx]
push 0x7e
pop ecx
cmp ax, cx
mov dword [ebp - 0x30c], eax
jb 0x1005299
mov dword [ebp - 0x30c], ecx
push esi
lea eax, [ebp - 0x31c]
push eax
push 2
lea eax, [ebp - 0x30c]
push eax
push dword [ebp - 0x318]
call dword [sym.imp.KERNEL32.dll_WriteFile]
push esi
lea eax, [ebp - 0x31c]
push eax
movzx eax, word [ebp - 0x30c]
shl eax, 1
push eax
lea eax, [ebp - 0x204]
push eax
push dword [ebp - 0x318]
call dword [sym.imp.KERNEL32.dll_WriteFile]
inc dword [ebp - 0x310]
mov eax, dword [ebp - 0x310]
push 0x64
xor edx, edx
pop ecx
div ecx
test edx, edx
je 0x1005300
mov eax, dword [ebp - 0x310]
cmp eax, dword [0x1033928]
jne 0x100532e
push esi
push dword [ebp - 0x310]
push 0x3eb
push dword [ebp - 0x308]
call edi
push 0x3eb
push dword [ebp - 0x308]
call dword [sym.imp.USER32.dll_GetDlgItem]
push esi
push esi
push eax
call dword [sym.imp.USER32.dll_InvalidateRect]
inc dword [ebp - 0x314]
mov eax, dword [0x1033928]
add ebx, 0x20
cmp dword [ebp - 0x314], eax
jb 0x10051f4
push 0x7f00
push esi
call dword [sym.imp.USER32.dll_LoadCursorW]
push eax
call dword [sym.imp.USER32.dll_SetCursor]
mov ecx, dword [ebp - 4]
pop edi
xor eax, eax
pop esi
inc eax
pop ebx
call fcn.0100dd00
leave
ret 0x18