Function at 0x41e3c0
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x48
mov eax, dword [section..data]
xor eax, ebp
mov dword [ebp - 8], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x38], ecx
push ebx
push esi
mov esi, dword [0x42fb48]
lea ecx, [eax*8]
sub ecx, eax
mov ebx, dword [esi + ecx*8]
lea ecx, [esi + ecx*8]
mov ecx, dword [ecx + 0x1c]
lea esi, [eax + eax*4]
add esi, esi
add esi, esi
add esi, esi
cmp dword [0x430a60], 0
push edi
mov edi, dword [esi + 0x42fbd0]
mov byte [ebp - 0xc], 0
mov dword [ebp - 0x3c], esi
jne 0x41e435
mov eax, dword [0x430cf0]
mov esi, dword [ebp - 0x38]
mov dword [esi], eax
mov eax, dword [0x430cf4]
mov dword [esi + 4], eax
mov eax, dword [0x430cf8]
mov dword [esi + 8], eax
mov al, byte [0x430cfc]
mov byte [esi + 0xc], al
mov esi, dword [ebp - 0x3c]
cmp dword [esi + 0x42fbc0], 0
mov dword [ebp - 0x28], 0
jle 0x41e8fb
mov dword [ebp - 0x40], edx
mov dword [ebp - 0x24], ecx
nop
cmp dword [esi + 0x42fbc4], 0
fldz
fst qword [ebp - 0x34]
mov dword [ebp - 0x48], ecx
je 0x41e6e2
cmp edi, 8
jne 0x41e48a
push ebx
fstp st(0)
push 1
lea eax, [esi + 0x42fbe0]
push edi
push eax
call dword [sym.imp.MSVCR100.dll_fread]
add esp, 0x10
cmp eax, 1
jne 0x41e4a4
fld qword [ebp - 0x34]
xor edi, edi
movzx eax, byte [esi + edi + 0x42fbe0]
mov dword [ebp - 0x44], eax
cmp eax, 0xfc
jg 0x41e4ba
fstp st(0)
je 0x41e4a4
test eax, eax
jne 0x41e4cd
mov eax, 1
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.00425fc4
mov esp, ebp
pop ebp
ret
sub eax, 0xfd
je 0x41e5c7
dec eax
je 0x41e4fa
dec eax
fstp st(0)
je 0x41e4e5
fild dword [ebp - 0x44]
inc edi
mov dword [esi + 0x42fbd0], edi
fsub qword [0x42e1f8]
fst qword [ebp - 0x34]
jmp 0x41e788
fld qword [0x430d18]
inc edi
fst qword [ebp - 0x34]
mov dword [esi + 0x42fbd0], edi
jmp 0x41e788
mov ecx, dword [ebp - 0x24]
cmp word [ecx + 0x20], 0
je 0x41e6d6
xor eax, eax
mov cl, byte [eax + 0x430cf0]
mov byte [ebp + eax - 0x18], cl
inc eax
test cl, cl
jne 0x41e50a
mov edx, dword [ebp - 0x24]
cmp word [edx + 0x1e], 8
jle 0x41e6d6
inc dword [ebp - 0x28]
add dword [ebp - 0x24], 0x30
inc edi
cmp edi, 8
jne 0x41e558
push ebx
fstp st(0)
push 1
lea eax, [esi + 0x42fbe0]
push edi
push eax
call dword [sym.imp.MSVCR100.dll_fread]
add esp, 0x10
cmp eax, 1
jne 0x41e4a4
fld qword [ebp - 0x34]
xor edi, edi
mov al, byte [esi + edi + 0x42fbe0]
cmp al, 0xfe
jne 0x41e580
mov eax, dword [str.]
mov cl, byte [0x42d108]
inc edi
mov dword [ebp - 0x10], eax
mov byte [ebp - 0xc], cl
mov dword [esi + 0x42fbd0], edi
jmp 0x41e788
cmp al, 0xfd
jne 0x41e6d6
push ebx
fstp st(0)
push 1
lea edx, [ebp - 0x20]
push 8
push edx
call dword [sym.imp.MSVCR100.dll_fread]
add esp, 0x10
cmp eax, 1
jne 0x41e4a4
push 4
lea eax, [ebp - 0x20]
push eax
lea ecx, [ebp - 0x10]
push ecx
call dword [sym.imp.MSVCR100.dll_strncpy]
fld qword [ebp - 0x34]
add esp, 0xc
inc edi
mov dword [esi + 0x42fbd0], edi
jmp 0x41e788
mov edx, dword [ebp - 0x24]
fstp st(0)
cmp word [edx + 0x1c], 1
jne 0x41e5e1
push ebx
push 1
push 8
lea edx, [ebp - 0x34]
push edx
jmp 0x41e6c1
xor eax, eax
mov cl, byte [eax + 0x430cf0]
mov byte [ebp + eax - 0x18], cl
inc eax
test cl, cl
jne 0x41e5e3
cmp word [edx + 0x20], 0
push ebx
push 1
push 8
je 0x41e6bd
lea eax, [ebp - 0x18]
push eax
call dword [sym.imp.MSVCR100.dll_fread]
add esp, 0x10
cmp eax, 1
jne 0x41e4a4
mov ecx, dword [ebp - 0x24]
cmp word [ecx + 0x1e], 8
jle 0x41e6d3
inc dword [ebp - 0x28]
add dword [ebp - 0x24], 0x30
inc edi
cmp edi, 8
jne 0x41e651
push ebx
push eax
lea eax, [esi + 0x42fbe0]
push edi
push eax
call dword [sym.imp.MSVCR100.dll_fread]
add esp, 0x10
cmp eax, 1
jne 0x41e4a4
xor edi, edi
mov al, byte [esi + edi + 0x42fbe0]
cmp al, 0xfe
jne 0x41e67c
mov edx, dword [str.]
fld qword [ebp - 0x34]
mov al, byte [0x42d108]
inc edi
mov dword [ebp - 0x10], edx
mov byte [ebp - 0xc], al
mov dword [esi + 0x42fbd0], edi
jmp 0x41e788
cmp al, 0xfd
jne 0x41e6d3
push ebx
push 1
lea ecx, [ebp - 0x20]
push 8
push ecx
call dword [sym.imp.MSVCR100.dll_fread]
add esp, 0x10
cmp eax, 1
jne 0x41e4a4
push 4
lea edx, [ebp - 0x20]
push edx
lea eax, [ebp - 0x10]
push eax
call dword [sym.imp.MSVCR100.dll_strncpy]
fld qword [ebp - 0x34]
add esp, 0xc
inc edi
mov dword [esi + 0x42fbd0], edi
jmp 0x41e788
lea ecx, [ebp - 0x20]
push ecx
call dword [sym.imp.MSVCR100.dll_fread]
add esp, 0x10
cmp eax, 1
jne 0x41e4a4
fld qword [ebp - 0x34]
inc edi
mov dword [esi + 0x42fbd0], edi
jmp 0x41e788
cmp word [ecx + 0x1c], 1
fstp st(0)
jne 0x41e6f0
lea edx, [ebp - 0x34]
jmp 0x41e76d
cmp word [ecx + 0x20], 0
je 0x41e76a
xor eax, eax
lea esp, [esp]
mov cl, byte [eax + 0x430cf0]
mov byte [ebp + eax - 0x18], cl
inc eax
test cl, cl
jne 0x41e700
push ebx
push 1
lea eax, [ebp - 0x18]
push 8
push eax
call dword [sym.imp.MSVCR100.dll_fread]
add esp, 0x10
cmp eax, 1
jne 0x41e4a4
mov ecx, dword [ebp - 0x24]
cmp word [ecx + 0x1e], 8
jle 0x41e785
push ebx
push eax
lea edx, [ebp - 0x20]
push 8
push edx
call dword [sym.imp.MSVCR100.dll_fread]
add esp, 0x10
cmp eax, 1
jne 0x41e4a4
push 4
lea eax, [ebp - 0x20]
push eax
lea ecx, [ebp - 0x10]
push ecx
call dword [sym.imp.MSVCR100.dll_strncpy]
inc dword [ebp - 0x28]
add esp, 0xc
add dword [ebp - 0x24], 0x30
jmp 0x41e785
lea edx, [ebp - 0x20]
push ebx
push 1
push 8
push edx
call dword [sym.imp.MSVCR100.dll_fread]
add esp, 0x10
cmp eax, 1
jne 0x41e4a4
fld qword [ebp - 0x34]
mov ecx, dword [ebp - 0x48]
movzx eax, word [ecx + 0x20]
cmp ax, 1
jne 0x41e88c
mov eax, dword [ecx + 0x18]
add eax, 3
cmp eax, 6
ja case.default.0x41e7a8
jmp dword [eax*4 + 0x41e910]
fcom qword [ecx]
fnstsw ax
test ah, 1
jne 0x41e7c2
fcom qword [ecx + 8]
fnstsw ax
test ah, 0x41
jnp 0x41e7d4
fld st(0)
fld qword [ecx + 0x10]
fucompp
fnstsw ax
test ah, 0x44
jp case.default.0x41e7a8
mov eax, dword [ebp - 0x40]
fstp st(0)
fld qword [0x430d18]
add eax, 8
fstp qword [eax - 8]
mov dword [ebp - 0x40], eax
jmp 0x41e8e0
fcom qword [ecx]
fnstsw ax
test ah, 1
jne case.default.0x41e7a8
fcom qword [ecx + 8]
fnstsw ax
test ah, 0x41
jp case.default.0x41e7a8
mov eax, dword [ebp - 0x40]
fstp st(0)
fld qword [0x430d18]
add eax, 8
fstp qword [eax - 8]
mov dword [ebp - 0x40], eax
jmp 0x41e8e0
fld qword [0x430d18]
fcom st(1)
fnstsw ax
test ah, 1
jne 0x41e87d
mov eax, dword [ebp - 0x40]
fstp st(1)
fstp qword [eax]
add eax, 8
mov dword [ebp - 0x40], eax
jmp 0x41e8e0
fld st(0)
fld qword [ecx]
jmp 0x41e7c7
fld st(0)
fld qword [ecx]
fucompp
fnstsw ax
test ah, 0x44
jnp 0x41e7d4
fld st(0)
fld qword [ecx + 8]
jmp 0x41e7c7
fld st(0)
fld qword [ecx]
fucompp
fnstsw ax
test ah, 0x44
jnp 0x41e7d4
fld st(0)
fld qword [ecx + 8]
fucompp
fnstsw ax
test ah, 0x44
jmp 0x41e7c0
fstp st(0)
mov eax, dword [ebp - 0x40]
fstp qword [eax]
add eax, 8
mov dword [ebp - 0x40], eax
jmp 0x41e8e0
cmp ax, 0xffff
jne 0x41e8de
cmp dword [0x430a60], 0
je 0x41e8b6
fadd qword [0x42e1f0]
sub esp, 8
fstp qword [esp]
call sub.MSVCR100.dll_floor
mov eax, dword [ebp - 0x38]
fstp qword [eax]
add esp, 8
jmp 0x41e8e0
mov edx, dword [ebp - 0x38]
fstp st(0)
lea eax, [ebp - 0x18]
mov ecx, eax
sub edx, ecx
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x41e8c2
mov esi, dword [ebp - 0x38]
mov eax, 0xc
call fcn.00403be0
mov esi, dword [ebp - 0x3c]
jmp 0x41e8e0
fstp st(0)
mov eax, dword [ebp - 0x28]
add dword [ebp - 0x24], 0x30
inc eax
mov dword [ebp - 0x28], eax
cmp eax, dword [esi + 0x42fbc0]
jge 0x41e8fb
mov ecx, dword [ebp - 0x24]
jmp 0x41e450
mov ecx, dword [ebp - 8]
pop edi
pop esi
xor ecx, ebp
xor eax, eax
pop ebx
call fcn.00425fc4
mov esp, ebp
pop ebp
ret