Function at 0x43cf70
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5757a4
mov eax, dword fs:[0]
push eax
sub esp, 0x2c
mov eax, dword [0x5e9750]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, dword [ebp + 8]
mov edi, ecx
mov dword [ebp - 0x38], edi
mov dword [ebp - 0x34], ebx
test ebx, ebx
jne 0x43cfbb
push ebx
push ebx
push ebx
push 2
call fcn.00443c90
xor al, al
jmp 0x43d1b2
mov esi, dword [edi + 0x18]
test esi, esi
je 0x43cfd3
mov ecx, esi
mov eax, dword [ecx]
mov edx, dword [eax]
mov esi, dword [esi + 0x40]
push 1
call edx
test esi, esi
jne 0x43cfc2
xor ecx, ecx
push 2
or eax, 0xffffffff
push ecx
mov dword [edi + 0x18], ecx
mov dword [edi + 0x1c], ecx
push ebx
mov dword [edi + 8], eax
mov dword [edi + 4], eax
call fcn.00549b77
push ebx
call fcn.0054ac36
xor esi, esi
push esi
mov ebx, eax
mov eax, dword [ebp - 0x34]
push esi
push eax
call fcn.00549b77
add esp, 0x1c
cmp ebx, esi
jg 0x43d01c
push esi
push esi
push esi
push 0xd
mov ecx, edi
call fcn.00443c90
xor al, al
jmp 0x43d1b2
mov dword [ebp - 0x18], 0xf
mov dword [ebp - 0x1c], esi
mov byte [ebp - 0x2c], 0
mov dword [ebp - 4], esi
cmp ebx, 0xf
je 0x43d053
push 1
push ebx
lea ecx, [ebp - 0x2c]
call fcn.00424619
test al, al
je 0x43d053
cmp dword [ebp - 0x18], 0x10
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x1c], esi
jae 0x43d050
lea eax, [ebp - 0x2c]
mov byte [eax], 0
lea ecx, [ebx + 1]
push ecx
call fcn.00446646
mov edx, dword [ebp - 0x34]
push edx
mov esi, eax
push 1
push ebx
push esi
mov dword [ebp - 0x30], esi
mov byte [esi], 0
call fcn.005490b1
add esp, 0x14
cmp eax, 1
je 0x43d0aa
push esi
call fcn.0044663b
add esp, 4
push 0
push 0
push 0
push 2
mov ecx, edi
call fcn.00443c90
cmp dword [ebp - 0x18], 0x10
jb 0x43d0a3
mov eax, dword [ebp - 0x2c]
push eax
call fcn.0044663b
add esp, 4
xor al, al
jmp 0x43d1b2
mov eax, dword [ebp - 0x30]
add ebx, eax
mov byte [ebx], 0
cmp byte [eax], 0
mov edi, esi
je 0x43d160
lea ecx, [ecx]
cmp esi, ebx
jb 0x43d0db
push 0x410
push 0x58ee38
push str.p____buflength_
call fcn.00549ebb
add esp, 0xc
mov al, byte [esi]
cmp al, 0xa
jne 0x43d0fe
mov ecx, esi
sub ecx, edi
inc ecx
push ecx
push edi
lea ecx, [ebp - 0x2c]
call fcn.004410b0
inc esi
mov edi, esi
cmp esi, ebx
jbe 0x43d157
push 0x417
jmp 0x43d142
cmp al, 0xd
jne 0x43d156
mov eax, esi
sub eax, edi
test eax, eax
jle 0x43d114
push eax
push edi
lea ecx, [ebp - 0x2c]
call fcn.004410b0
push 0xa
push 1
lea ecx, [ebp - 0x2c]
call fcn.00440ab0
cmp byte [esi + 1], 0xa
jne 0x43d136
add esi, 2
mov edi, esi
cmp esi, ebx
jbe 0x43d157
push 0x425
jmp 0x43d142
inc esi
mov edi, esi
cmp esi, ebx
jbe 0x43d157
push 0x42b
push 0x58ee38
push 0x58f474
call fcn.00549ebb
add esp, 0xc
jmp 0x43d157
inc esi
cmp byte [esi], 0
jne 0x43d0c0
sub esi, edi
je 0x43d16e
push esi
push edi
lea ecx, [ebp - 0x2c]
call fcn.004410b0
mov edx, dword [ebp - 0x30]
push edx
call fcn.0044663b
mov eax, dword [ebp - 0x2c]
add esp, 4
cmp dword [ebp - 0x18], 0x10
jae 0x43d186
lea eax, [ebp - 0x2c]
mov ecx, dword [ebp + 0xc]
mov esi, dword [ebp - 0x38]
mov edx, dword [esi]
mov edx, dword [edx + 8]
push ecx
push 0
push eax
mov ecx, esi
call edx
cmp byte [esi + 0x44], 0
lea ecx, [ebp - 0x2c]
je 0x43d1ab
call fcn.00403640
xor al, al
jmp 0x43d1b2
call fcn.00403640
mov al, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00545559
mov esp, ebp
pop ebp
ret 8