Function at 0x4b9ae0
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x585064
mov eax, dword fs:[0]
push eax
sub esp, 0x274
mov eax, dword [0x5f8310]
xor eax, ebp
mov dword [ebp - 0xa0], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 4], 0
cmp dword [0x5f8620], 0
jne 0x4b9b33
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 8]
call dword [sym.imp.mfc90.dll_Ordinal_601]
jmp 0x4ba303
mov ecx, 0x5f88b0
call dword [sym.imp.mfc90.dll_Ordinal_3178]
test eax, eax
jle 0x4b9b57
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 8]
call dword [sym.imp.mfc90.dll_Ordinal_601]
jmp 0x4ba303
push 0x5a4770
mov ecx, 0x5f8888
call dword [sym.imp.mfc90.dll_Ordinal_910]
push eax
call dword [sym.imp.MSVCR90.dll_fopen]
add esp, 8
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0
jne 0x4b9baa
push 0
push 0
push 0x5a4774
call sub.mfc90.dll_Ordinal_1183
mov eax, dword [ebp - 0x24]
push eax
call dword [sym.imp.MSVCR90.dll_fclose]
add esp, 4
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 8]
call dword [sym.imp.mfc90.dll_Ordinal_601]
jmp 0x4ba303
cmp dword [0x5f8770], 0
jne 0x4b9c1d
push 2
push 0
mov ecx, dword [ebp - 0x24]
push ecx
call dword [sym.imp.MSVCR90.dll_fseek]
add esp, 0xc
mov edx, dword [ebp - 0x24]
push edx
call dword [sym.imp.MSVCR90.dll_ftell]
add esp, 4
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 1
jge 0x4b9c0a
push 0
push 0
push 0x5a4780
call sub.mfc90.dll_Ordinal_1183
mov eax, dword [ebp - 0x24]
push eax
call dword [sym.imp.MSVCR90.dll_fclose]
add esp, 4
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 8]
call dword [sym.imp.mfc90.dll_Ordinal_601]
jmp 0x4ba303
push 0
push 0
mov ecx, dword [ebp - 0x24]
push ecx
call dword [sym.imp.MSVCR90.dll_fseek]
add esp, 0xc
jmp 0x4b9c29
mov edx, dword [0x5f8770]
movsx eax, byte [edx]
mov dword [ebp - 0x20], eax
lea ecx, [ebp - 0x90]
call fcn.0040d700
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x9c]
call fcn.0040d700
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x84]
call sub.mfc90.dll_Ordinal_367
mov byte [ebp - 4], 3
mov dword [ebp - 0x74], 0x32
mov dword [ebp - 0x10], 0x50
cmp dword [0x5f8618], 0
jne 0x4b9c74
mov dword [ebp - 0x10], 0xffffffb0
push 0x5a478c
push 0
push 0
push 0
push 0
push 1
push 0
push 0
push 0
push 0x190
push 0
push 0
push 0
mov ecx, dword [0x5f7740]
push ecx
lea ecx, [ebp - 0x90]
call fcn.004c5c20
push 0x5a4794
push 0
push 0
push 0
push 0
push 1
push 0
push 0
push 0
push 0x190
push 0
push 0
push 0
mov edx, dword [0x5f7740]
add edx, 0xc
push edx
lea ecx, [ebp - 0x9c]
call fcn.004c5c20
lea ecx, [ebp + 8]
call dword [sym.imp.mfc90.dll_Ordinal_3178]
test eax, eax
jle 0x4b9d77
push 0
push 0
lea ecx, [ebp + 8]
call dword [sym.imp.mfc90.dll_Ordinal_910]
push eax
push str.WINSPOOL
call dword [sym.imp.GDI32.dll_CreateDCA]
push eax
lea ecx, [ebp - 0x84]
call sub.mfc90.dll_Ordinal_1357
test eax, eax
jne 0x4b9d72
push 0
push 0
push 0x5a47a8
call sub.mfc90.dll_Ordinal_1183
mov eax, dword [ebp - 0x24]
push eax
call dword [sym.imp.MSVCR90.dll_fclose]
add esp, 4
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x84]
call sub.mfc90.dll_Ordinal_636
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x9c]
call fcn.0040b730
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x90]
call fcn.0040b730
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 8]
call dword [sym.imp.mfc90.dll_Ordinal_601]
jmp 0x4ba303
jmp 0x4b9e30
push 0
push 0x14000c
push 0
lea ecx, [ebp - 0x26c]
call sub.mfc90.dll_Ordinal_531
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x26c]
call sub.mfc90.dll_Ordinal_2864
lea ecx, [ebp - 0x26c]
call sub.mfc90.dll_Ordinal_1871
push eax
lea ecx, [ebp - 0x84]
call sub.mfc90.dll_Ordinal_1357
test eax, eax
jne 0x4b9e21
push 0
push 0
push 0x5a47b8
call sub.mfc90.dll_Ordinal_1183
mov ecx, dword [ebp - 0x24]
push ecx
call dword [sym.imp.MSVCR90.dll_fclose]
add esp, 4
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x26c]
call fcn.004c5a30
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x84]
call sub.mfc90.dll_Ordinal_636
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x9c]
call fcn.0040b730
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x90]
call fcn.0040b730
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 8]
call dword [sym.imp.mfc90.dll_Ordinal_601]
jmp 0x4ba303
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x26c]
call fcn.004c5a30
mov dword [ebp - 0x78], 1
push 2
lea ecx, [ebp - 0x84]
call sub.mfc90.dll_Ordinal_6352
lea edx, [ebp - 0x90]
push edx
lea ecx, [ebp - 0x84]
call sub.mfc90.dll_Ordinal_6079
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0x70]
push eax
lea ecx, [ebp - 0x84]
call fcn.004c5cc0
mov ecx, dword [ebp - 0x70]
mov dword [ebp - 0x18], ecx
push 0x5a47c8
lea ecx, [ebp - 0x94]
call dword [sym.imp.mfc90.dll_Ordinal_310]
mov byte [ebp - 4], 5
push 0x14
push 0
lea edx, [ebp - 0x38]
push edx
call sub.MSVCR90.dll_memset
add esp, 0xc
mov dword [ebp - 0x38], 0x14
lea ecx, [ebp - 0x94]
call dword [sym.imp.mfc90.dll_Ordinal_910]
mov dword [ebp - 0x34], eax
lea eax, [ebp - 0x38]
push eax
lea ecx, [ebp - 0x84]
call fcn.004c5ce0
test eax, eax
jne 0x4b9f29
push 0
push 0
push 0x5a47dc
call sub.mfc90.dll_Ordinal_1183
mov ecx, dword [ebp - 0x24]
push ecx
call dword [sym.imp.MSVCR90.dll_fclose]
add esp, 4
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x94]
call dword [sym.imp.mfc90.dll_Ordinal_601]
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x84]
call sub.mfc90.dll_Ordinal_636
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x9c]
call fcn.0040b730
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x90]
call fcn.0040b730
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 8]
call dword [sym.imp.mfc90.dll_Ordinal_601]
jmp 0x4ba303
lea ecx, [ebp - 0x84]
call fcn.004c5d00
test eax, eax
jne 0x4b9fae
push 0
push 0
push 0x5a47ec
call sub.mfc90.dll_Ordinal_1183
cmp dword [0x5f8770], 0
jne 0x4b9f5c
mov edx, dword [ebp - 0x24]
push edx
call dword [sym.imp.MSVCR90.dll_fclose]
add esp, 4
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x94]
call dword [sym.imp.mfc90.dll_Ordinal_601]
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x84]
call sub.mfc90.dll_Ordinal_636
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x9c]
call fcn.0040b730
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x90]
call fcn.0040b730
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 8]
call dword [sym.imp.mfc90.dll_Ordinal_601]
jmp 0x4ba303
mov dword [ebp - 0x1c], 0
cmp dword [0x5f8770], 0
jne 0x4ba12f
mov eax, dword [ebp - 0x24]
push eax
call dword [sym.imp.MSVCR90.dll_feof]
add esp, 4
test eax, eax
jne 0x4ba11d
push 0x100
push 0
lea ecx, [ebp - 0x1a4]
push ecx
call sub.MSVCR90.dll_memset
add esp, 0xc
mov dword [ebp - 0x270], 0
mov edx, dword [ebp - 0x24]
push edx
call dword [sym.imp.MSVCR90.dll_feof]
add esp, 4
test eax, eax
jne 0x4ba099
mov eax, dword [ebp - 0x24]
push eax
push 1
push 1
lea ecx, [ebp - 0x85]
push ecx
call dword [sym.imp.MSVCR90.dll_fread]
add esp, 0x10
movsx edx, byte [ebp - 0x85]
cmp edx, 0xa
jne 0x4ba032
jmp 0x4ba099
movsx eax, byte [ebp - 0x85]
cmp eax, 1
jne 0x4ba052
lea ecx, [ebp - 0x9c]
push ecx
lea ecx, [ebp - 0x84]
call sub.mfc90.dll_Ordinal_6079
jmp 0x4b9ff7
movsx edx, byte [ebp - 0x85]
cmp edx, 2
jne 0x4ba072
lea eax, [ebp - 0x90]
push eax
lea ecx, [ebp - 0x84]
call sub.mfc90.dll_Ordinal_6079
jmp 0x4b9ff7
mov ecx, dword [ebp - 0x270]
mov dl, byte [ebp - 0x85]
mov byte [ebp + ecx - 0x1a4], dl
mov eax, dword [ebp - 0x270]
add eax, 1
mov dword [ebp - 0x270], eax
jmp 0x4b9ff7
lea ecx, [ebp - 0x1a4]
push ecx
call sub.MSVCR90.dll_strlen
add esp, 4
test eax, eax
jbe 0x4ba118
lea edx, [ebp - 0x1a4]
push edx
lea ecx, [ebp - 0x27c]
call dword [sym.imp.mfc90.dll_Ordinal_310]
mov byte [ebp - 4], 6
lea eax, [ebp - 0x27c]
push eax
mov ecx, dword [ebp - 0x10]
push ecx
mov edx, dword [ebp - 0x74]
push edx
lea ecx, [ebp - 0x84]
call fcn.004c5c80
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x27c]
call dword [sym.imp.mfc90.dll_Ordinal_601]
cmp dword [0x5f8618], 0
jne 0x4ba109
mov eax, dword [ebp - 0x18]
sub eax, dword [0x5f76fc]
mov ecx, dword [ebp - 0x10]
sub ecx, eax
mov dword [ebp - 0x10], ecx
jmp 0x4ba118
mov edx, dword [ebp - 0x18]
add edx, dword [0x5f76fc]
add edx, dword [ebp - 0x10]
mov dword [ebp - 0x10], edx
jmp 0x4b9fc2
mov eax, dword [ebp - 0x24]
push eax
call dword [sym.imp.MSVCR90.dll_fclose]
add esp, 4
jmp 0x4ba269
mov dword [ebp - 0x1a8], 0
mov ecx, dword [0x5f8770]
add ecx, 8
mov dword [ebp - 0x274], ecx
mov edx, dword [ebp - 0x1a8]
cmp edx, dword [ebp - 0x20]
jge 0x4ba269
push 0x100
push 0
lea eax, [ebp - 0x1a4]
push eax
call sub.MSVCR90.dll_memset
add esp, 0xc
mov dword [ebp - 0x278], 0
mov ecx, dword [ebp - 0x1a8]
cmp ecx, dword [ebp - 0x20]
jge 0x4ba1e5
mov edx, dword [ebp - 0x274]
add edx, dword [ebp - 0x1a8]
mov al, byte [edx]
mov byte [ebp - 0x85], al
mov ecx, dword [ebp - 0x1a8]
add ecx, 1
mov dword [ebp - 0x1a8], ecx
movsx edx, byte [ebp - 0x85]
cmp edx, 0xa
jne 0x4ba1b3
jmp 0x4ba1e5
movsx eax, byte [ebp - 0x85]
cmp eax, 1
jne 0x4ba1c1
jmp 0x4ba177
mov ecx, dword [ebp - 0x278]
mov dl, byte [ebp - 0x85]
mov byte [ebp + ecx - 0x1a4], dl
mov eax, dword [ebp - 0x278]
add eax, 1
mov dword [ebp - 0x278], eax
jmp 0x4ba177
lea ecx, [ebp - 0x1a4]
push ecx
call sub.MSVCR90.dll_strlen
add esp, 4
test eax, eax
jbe 0x4ba264
lea edx, [ebp - 0x1a4]
push edx
lea ecx, [ebp - 0x280]
call dword [sym.imp.mfc90.dll_Ordinal_310]
mov byte [ebp - 4], 7
lea eax, [ebp - 0x280]
push eax
mov ecx, dword [ebp - 0x10]
push ecx
mov edx, dword [ebp - 0x74]
push edx
lea ecx, [ebp - 0x84]
call fcn.004c5c80
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x280]
call dword [sym.imp.mfc90.dll_Ordinal_601]
cmp dword [0x5f8618], 0
jne 0x4ba255
mov eax, dword [ebp - 0x18]
sub eax, dword [0x5f76fc]
mov ecx, dword [ebp - 0x10]
sub ecx, eax
mov dword [ebp - 0x10], ecx
jmp 0x4ba264
mov edx, dword [ebp - 0x18]
add edx, dword [0x5f76fc]
add edx, dword [ebp - 0x10]
mov dword [ebp - 0x10], edx
jmp 0x4ba148
mov eax, dword [ebp - 0x14]
push eax
lea ecx, [ebp - 0x84]
call sub.mfc90.dll_Ordinal_6079
lea ecx, [ebp - 0x84]
call fcn.004c5d20
lea ecx, [ebp - 0x84]
call fcn.004c5d40
lea ecx, [ebp - 0x90]
call sub.mfc90.dll_Ordinal_2143
lea ecx, [ebp - 0x84]
call sub.mfc90.dll_Ordinal_2141
lea ecx, [ebp - 0x84]
call fcn.00405da0
push eax
call dword [sym.imp.GDI32.dll_DeleteDC]
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x94]
call dword [sym.imp.mfc90.dll_Ordinal_601]
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x84]
call sub.mfc90.dll_Ordinal_636
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x9c]
call fcn.0040b730
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x90]
call fcn.0040b730
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 8]
call dword [sym.imp.mfc90.dll_Ordinal_601]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0xa0]
xor ecx, ebp
call fcn.005795a6
mov esp, ebp
pop ebp
ret