Function at 0x482160
Capabilities:
Read file on windows

Disassembly:
sub esp, 0xc
push ebx
push esi
push edi
push ebp
sub esi, esi
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x28]
cmp edx, esi
je 0x482352
mov edi, dword [esp + 0x20]
mov al, byte [edi + 0x4a12f0]
test al, 2
jne 0x482352
test al, 0x48
je 0x4821a9
mov al, byte [edi + str._n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n]
cmp al, 0xa
je 0x4821a9
mov byte [ecx], al
inc ecx
mov esi, 1
dec edx
mov byte [edi + str._n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n], 0xa
lea eax, [esp + 0x18]
push 0
push eax
push edx
push ecx
mov eax, dword [edi*4 + 0x4a13f0]
push eax
call sub.KERNEL32.dll_ReadFile
or eax, eax
jne 0x482216
call sub.KERNEL32.dll_GetLastError
mov esi, eax
cmp esi, 5
jne 0x4821f0
call fcn.0047f070
mov dword [eax], 9
call fcn.0047f080
mov dword [eax], esi
mov eax, 0xffffffff
pop ebp
pop edi
pop esi
pop ebx
add esp, 0xc
ret
cmp esi, 0x6d
jne 0x482200
sub eax, eax
pop ebp
pop edi
pop esi
pop ebx
add esp, 0xc
ret
push esi
call fcn.0047eff0
add esp, 4
mov eax, 0xffffffff
pop ebp
pop edi
pop esi
pop ebx
add esp, 0xc
ret
add esi, dword [esp + 0x18]
mov al, byte [edi + 0x4a12f0]
test al, 0x80
je 0x482348
mov ecx, dword [esp + 0x24]
cmp byte [ecx], 0xa
jne 0x482235
or al, 4
jmp 0x482237
and al, 0xfb
mov byte [edi + 0x4a12f0], al
mov ebp, dword [esp + 0x24]
mov ebx, ebp
mov eax, ebp
add eax, esi
mov dword [esp + 0x14], eax
mov ecx, ebp
cmp ecx, eax
jae 0x482342
mov al, byte [ebx]
cmp al, 0x1a
je 0x482330
cmp al, 0xd
je 0x482270
mov byte [ebp], al
inc ebx
jmp 0x48231f
mov ecx, dword [esp + 0x14]
dec ecx
cmp ecx, ebx
jbe 0x48229a
lea ecx, [ebx + 1]
cmp byte [ecx], 0xa
jne 0x482290
add ebx, 2
mov byte [ebp], 0xa
jmp 0x48231f
mov byte [ebp], al
mov ebx, ecx
jmp 0x48231f
sub esi, esi
lea eax, [esp + 0x18]
push esi
push eax
lea eax, [esp + 0x1b]
push 1
inc ebx
push eax
mov eax, dword [edi*4 + 0x4a13f0]
push eax
call sub.KERNEL32.dll_ReadFile
cmp eax, esi
jne 0x4822c2
call sub.KERNEL32.dll_GetLastError
mov esi, eax
or esi, esi
jne 0x48231b
cmp dword [esp + 0x18], 0
je 0x48231b
test byte [edi + 0x4a12f0], 0x48
je 0x4822f4
cmp byte [esp + 0x13], 0xa
jne 0x4822e3
mov byte [ebp], 0xa
jmp 0x48231f
mov byte [ebp], 0xd
inc ebp
mov al, byte [esp + 0x13]
mov byte [edi + str._n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n], al
jmp 0x482320
cmp dword [esp + 0x24], ebp
jne 0x482307
cmp byte [esp + 0x13], 0xa
jne 0x482307
mov byte [ebp], 0xa
jmp 0x48231f
push 1
push 0xffffffffffffffff
push edi
call fcn.00481e10
add esp, 0xc
cmp byte [esp + 0x13], 0xa
je 0x482320
mov byte [ebp], 0xd
inc ebp
cmp ebx, dword [esp + 0x14]
jb 0x482255
jmp 0x482342
mov al, byte [edi + 0x4a12f0]
test al, 0x40
jne 0x482342
or al, 2
mov byte [edi + 0x4a12f0], al
mov esi, ebp
sub esi, dword [esp + 0x24]
mov eax, esi
pop ebp
pop edi
pop esi
pop ebx
add esp, 0xc
ret
sub eax, eax
pop ebp
pop edi
pop esi
pop ebx
add esp, 0xc
ret