Function at 0x4025f3
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x14c
mov dword [ebp - 0x114], sym.___gxx_personality_sj0
mov dword [ebp - 0x110], 0x45e900
lea eax, [ebp - 0x10c]
lea edi, [ebp - 0x18]
mov dword [eax], edi
mov edx, 0x402ac0
mov dword [eax + 4], edx
mov dword [eax + 8], esp
lea eax, [ebp - 0x12c]
mov dword [esp], eax
call sym.__Unwind_SjLj_Register
mov dword [esp + 4], 0x2e
mov eax, dword [ebp + 0xc]
mov dword [esp], eax
call sym._strrchr
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
je 0x4026d0
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x2c], str..stl
jmp 0x4026a2
movsx eax, al
mov dword [esp], eax
mov eax, dword [sym.imp.msvcrt.dll_tolower]
call eax
mov dword [ebp - 0x140], eax
movsx eax, byte [ebp - 0x13c]
mov dword [esp], eax
mov eax, dword [sym.imp.msvcrt.dll_tolower]
call eax
cmp dword [ebp - 0x140], eax
je 0x40269a
mov edi, dword [ebp - 0x140]
sub edi, eax
mov eax, edi
jmp 0x4026cc
add dword [ebp - 0x28], 1
add dword [ebp - 0x2c], 1
mov eax, dword [ebp - 0x28]
movzx eax, byte [eax]
test al, al
je 0x4026bc
mov edx, dword [ebp - 0x2c]
movzx ebx, byte [edx]
mov byte [ebp - 0x13c], bl
test bl, bl
jne 0x402662
movsx edx, al
mov eax, dword [ebp - 0x2c]
movzx eax, byte [eax]
movsx eax, al
sub edx, eax
mov eax, edx
test eax, eax
je 0x4026d7
mov eax, 0
jmp 0x4026dc
mov eax, 1
test al, al
je 0x402708
mov eax, dword [ebp + 0x10]
mov dword [esp + 8], eax
mov eax, dword [ebp + 0xc]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
mov dword [ebp - 0x128], 0xffffffff
call sym.loadModelSTL_SimpleModel__char_const__FMatrix3x3_
jmp 0x402ab8
mov eax, dword [ebp + 0xc]
movzx eax, byte [eax]
cmp al, 0x23
jne 0x402aac
mov eax, dword [0x463028]
test eax, eax
jne 0x402a99
jmp 0x402ab3
add dword [ebp + 0xc], 1
mov dword [ebp - 0x7c], 0
mov dword [ebp - 0x78], 0
mov dword [ebp - 0x74], 0
mov eax, dword [ebp + 8]
lea edx, [ebp - 0x7c]
mov dword [esp], edx
mov dword [ebp - 0x128], 1
mov ecx, eax
call method.void_std::vector_SimpleVolume__std::allocator_SimpleVolume___.emplace_back_SimpleVolume__SimpleVolume___clone_.local.137_
sub esp, 4
mov eax, dword [ebp - 0x7c]
test eax, eax
je 0x40276d
mov dword [esp], eax
call sym.operator_delete_void_
mov eax, dword [ebp + 8]
mov edx, dword [eax]
mov eax, dword [ebp + 8]
mov eax, dword [eax + 4]
mov ecx, eax
mov eax, edx
sub ecx, eax
mov eax, ecx
sar eax, 2
imul eax, eax, 0xaaaaaaab
lea ecx, [eax - 1]
mov eax, ecx
add eax, eax
add eax, ecx
shl eax, 2
add eax, edx
mov dword [ebp - 0x13c], eax
mov eax, dword [0x463028]
mov dword [esp + 0xc], eax
mov dword [esp + 8], 4
mov dword [esp + 4], 1
lea eax, [ebp - 0x80]
mov dword [esp], eax
mov dword [ebp - 0x128], 0xffffffff
call sym._fread
test eax, eax
je 0x402a92
mov eax, dword [ebp - 0x80]
mov dword [esp + 4], eax
mov dword [esp], str.Reading_mesh_from_binary_blob_with__i_vertexes_n
call method.cura.log_char_const__..._
mov dword [ebp - 0x1c], 0
jmp 0x402a84
mov eax, dword [0x463028]
mov dword [esp + 0xc], eax
mov dword [esp + 8], 4
mov dword [esp + 4], 3
lea eax, [ebp - 0x8c]
mov dword [esp], eax
mov dword [ebp - 0x128], 0xffffffff
call sym._fread
test eax, eax
je 0x402a91
fld dword [ebp - 0x84]
fld dword [ebp - 0x88]
fld dword [ebp - 0x8c]
fstp qword [ebp - 0xa8]
fstp qword [ebp - 0xa0]
fstp qword [ebp - 0x98]
mov eax, dword [ebp - 0x1c]
add eax, 1
mov dword [ebp - 0x24], eax
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0xa8]
mov dword [ebp - 0xc0], eax
mov eax, dword [ebp - 0xa4]
mov dword [ebp - 0xbc], eax
mov eax, dword [ebp - 0xa0]
mov dword [ebp - 0xb8], eax
mov eax, dword [ebp - 0x9c]
mov dword [ebp - 0xb4], eax
mov eax, dword [ebp - 0x98]
mov dword [ebp - 0xb0], eax
mov eax, dword [ebp - 0x94]
mov dword [ebp - 0xac], eax
fld qword [ebp - 0xc0]
fstp qword [ebp - 0x38]
fld qword [ebp - 0xb8]
fstp qword [ebp - 0x40]
fld qword [ebp - 0xb0]
fstp qword [ebp - 0x48]
mov eax, dword [ebp - 0x30]
fld qword [eax + 0x10]
fmul qword [ebp - 0x38]
mov eax, dword [ebp - 0x30]
fld qword [eax + 0x28]
fmul qword [ebp - 0x40]
faddp st(1)
mov eax, dword [ebp - 0x30]
fld qword [eax + 0x40]
fmul qword [ebp - 0x48]
faddp st(1)
fld qword [0x460148]
fmulp st(1)
fnstcw word [ebp - 0x12e]
movzx eax, word [ebp - 0x12e]
mov ah, 0xc
mov word [ebp - 0x130], ax
fldcw word [ebp - 0x130]
fistp qword [ebp - 0x138]
fldcw word [ebp - 0x12e]
mov eax, dword [ebp - 0x138]
mov edx, dword [ebp - 0x134]
mov ecx, eax
mov eax, dword [ebp - 0x30]
fld qword [eax + 8]
fmul qword [ebp - 0x38]
mov eax, dword [ebp - 0x30]
fld qword [eax + 0x20]
fmul qword [ebp - 0x40]
faddp st(1)
mov eax, dword [ebp - 0x30]
fld qword [eax + 0x38]
fmul qword [ebp - 0x48]
faddp st(1)
fld qword [0x460148]
fmulp st(1)
fldcw word [ebp - 0x130]
fistp qword [ebp - 0x138]
fldcw word [ebp - 0x12e]
mov eax, dword [ebp - 0x138]
mov edx, dword [ebp - 0x134]
mov ebx, eax
mov eax, dword [ebp - 0x30]
fld qword [eax]
fmul qword [ebp - 0x38]
mov eax, dword [ebp - 0x30]
fld qword [eax + 0x18]
fmul qword [ebp - 0x40]
faddp st(1)
mov eax, dword [ebp - 0x30]
fld qword [eax + 0x30]
fmul qword [ebp - 0x48]
faddp st(1)
fld qword [0x460148]
fmulp st(1)
fldcw word [ebp - 0x130]
fistp qword [ebp - 0x138]
fldcw word [ebp - 0x12e]
mov eax, dword [ebp - 0x138]
mov edx, dword [ebp - 0x134]
mov dword [ebp - 0xcc], eax
mov dword [ebp - 0xc8], ebx
mov dword [ebp - 0xc4], ecx
mov edx, dword [ebp - 0x1c]
mov eax, edx
add eax, eax
add eax, edx
shl eax, 2
lea esi, [ebp - 0x18]
add eax, esi
sub eax, 0xd8
mov edx, dword [ebp - 0xcc]
mov dword [eax], edx
mov edx, dword [ebp - 0xc8]
mov dword [eax + 4], edx
mov edx, dword [ebp - 0xc4]
mov dword [eax + 8], edx
cmp dword [ebp - 0x24], 3
jne 0x402a75
mov eax, dword [ebp - 0x13c]
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0xf0]
mov dword [ebp - 0x70], eax
mov eax, dword [ebp - 0xec]
mov dword [ebp - 0x6c], eax
mov eax, dword [ebp - 0xe8]
mov dword [ebp - 0x68], eax
mov eax, dword [ebp - 0xe4]
mov dword [ebp - 0x64], eax
mov eax, dword [ebp - 0xe0]
mov dword [ebp - 0x60], eax
mov eax, dword [ebp - 0xdc]
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp - 0xd8]
mov dword [ebp - 0x58], eax
mov eax, dword [ebp - 0xd4]
mov dword [ebp - 0x54], eax
mov eax, dword [ebp - 0xd0]
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x4c]
lea edx, [ebp - 0x70]
mov dword [esp], edx
mov dword [ebp - 0x128], 0xffffffff
mov ecx, eax
call method.void_std::vector_SimpleFace__std::allocator_SimpleFace___.emplace_back_SimpleFace__SimpleFace___clone_.local.154_
sub esp, 4
mov dword [ebp - 0x1c], 0
jmp 0x402a7b
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x80]
sub eax, 1
mov dword [ebp - 0x80], eax
mov eax, dword [ebp - 0x80]
test eax, eax
jne 0x4027f2
jmp 0x402a99
nop
mov eax, 0
jmp 0x402ab8
mov eax, dword [ebp + 0xc]
movzx eax, byte [eax]
cmp al, 0x23
je 0x402728
mov eax, dword [ebp + 8]
jmp 0x402ab8
mov eax, 0
jmp 0x402ab8
mov eax, 0
mov dword [ebp - 0x13c], eax
jmp 0x402af6
lea eax, [ebp - 0x12c]
mov dword [esp], eax
call sym.__Unwind_SjLj_Unregister
mov eax, dword [ebp - 0x13c]
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret