Function at 0x41dd70
Capabilities:
Read file on windows

Disassembly:
push 0xffffffffffffffff
push 0x453238
mov eax, dword fs:[0]
push eax
sub esp, 0x20
mov eax, dword [0x4652b0]
xor eax, esp
mov dword [esp + 0x1c], eax
push ebx
push ebp
push edi
mov eax, dword [0x4652b0]
xor eax, esp
push eax
lea eax, [esp + 0x30]
mov dword fs:[0], eax
mov ebp, dword [esp + 0x40]
xor ebx, ebx
cmp ebp, ebx
jne 0x41dde9
cmp byte [esi + 0x44], bl
jne 0x41dde2
mov byte [esi + 0x44], 1
mov dword [esi + 0x48], 2
mov edx, dword [str.Failed_to_open_file]
mov eax, edx
lea edi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x41ddc6
sub eax, edi
push eax
push edx
lea ecx, [esi + 0x4c]
call fcn.004053c0
or eax, 0xffffffff
mov dword [esi + 0x70], eax
mov dword [esi + 0x6c], eax
xor al, al
jmp 0x41dfc8
mov edi, dword [esi + 0x18]
cmp edi, ebx
je 0x41de01
mov ecx, edi
mov eax, dword [ecx]
mov edx, dword [eax]
mov edi, dword [edi + 0x40]
push 1
call edx
cmp edi, ebx
jne 0x41ddf0
push 2
or eax, 0xffffffff
mov dword [esi + 0x18], ebx
mov dword [esi + 0x1c], ebx
push ebx
push ebp
mov dword [esi + 8], eax
mov dword [esi + 4], eax
call fcn.00440430
push ebp
call fcn.004402ef
push ebx
push ebx
push ebp
mov edi, eax
call fcn.00440430
add esp, 0x1c
cmp edi, ebx
jne 0x41de5c
cmp byte [esi + 0x44], bl
jne 0x41dde2
mov byte [esi + 0x44], 1
mov dword [esi + 0x48], 0xd
mov edx, dword [str.Error_document_empty.]
mov eax, edx
lea edi, [eax + 1]
jmp 0x41de50
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x41de50
jmp 0x41ddcd
mov dword [esp + 0x28], 0xf
mov dword [esp + 0x24], ebx
mov byte [esp + 0x14], bl
mov dword [esp + 0x38], ebx
cmp edi, 0xf
je 0x41de9b
push 1
push edi
lea ecx, [esp + 0x18]
call fcn.00405780
test al, al
je 0x41de9b
cmp dword [esp + 0x28], 0x10
mov eax, dword [esp + 0x14]
mov dword [esp + 0x24], ebx
jae 0x41de98
lea eax, [esp + 0x14]
mov byte [eax], 0
lea eax, [edi + 1]
push eax
call fcn.0043d9cc
push ebp
push 1
mov ebx, eax
push edi
push ebx
mov byte [ebx], 0
call fcn.00440019
add esp, 0x14
cmp eax, 1
je 0x41df12
cmp byte [esi + 0x44], 0
jne 0x41def3
mov byte [esi + 0x44], 1
mov dword [esi + 0x48], 2
mov edx, dword [str.Failed_to_open_file]
mov eax, edx
lea edi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x41ded7
sub eax, edi
push eax
push edx
lea ecx, [esi + 0x4c]
call fcn.004053c0
or eax, 0xffffffff
mov dword [esi + 0x70], eax
mov dword [esi + 0x6c], eax
cmp dword [esp + 0x28], 0x10
jb 0x41dde2
mov ecx, dword [esp + 0x14]
push ecx
call fcn.0043ea71
add esp, 4
xor al, al
jmp 0x41dfc8
mov byte [ebx + edi], 0
cmp byte [ebx], 0
mov eax, ebx
mov ebp, ebx
je 0x41df79
nop
mov cl, byte [ebp]
cmp cl, 0xa
jne 0x41df3d
mov edx, ebp
sub edx, eax
inc edx
push edx
push eax
lea eax, [esp + 0x18]
call fcn.0041ed20
inc ebp
mov eax, ebp
jmp 0x41df73
cmp cl, 0xd
jne 0x41df72
mov ecx, ebp
sub ecx, eax
test ecx, ecx
jle 0x41df55
push ecx
push eax
lea eax, [esp + 0x18]
call fcn.0041ed20
push 0xa
mov eax, 1
lea edi, [esp + 0x14]
call fcn.0041ef80
cmp byte [ebp + 1], 0xa
jne 0x41df38
add ebp, 2
mov eax, ebp
jmp 0x41df73
inc ebp
cmp byte [ebp], 0
jne 0x41df20
sub ebp, eax
je 0x41df88
push ebp
push eax
lea eax, [esp + 0x18]
call fcn.0041ed20
push ebx
call fcn.0043f105
mov eax, dword [esp + 0x18]
add esp, 4
cmp dword [esp + 0x28], 0x10
jae 0x41dfa0
lea eax, [esp + 0x14]
mov edx, dword [esi]
push 0
push 0
push eax
mov eax, dword [edx + 8]
mov ecx, esi
call eax
cmp byte [esi + 0x44], 0
lea ecx, [esp + 0x10]
je 0x41dfc1
call fcn.00405990
xor al, al
jmp 0x41dfc8
call fcn.00405990
mov al, 1
mov ecx, dword [esp + 0x30]
mov dword fs:[0], ecx
pop ecx
pop edi
pop ebp
pop ebx
mov ecx, dword [esp + 0x1c]
xor ecx, esp
call fcn.0043defc
add esp, 0x2c
ret 4