Function at 0x430d50
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x58
movss xmm0, dword [0x496598]
movzx eax, word [ebp + 0xc]
push esi
xor esi, esi
cwde
cmp word [0x525114], 1
push edi
movss dword [esp + 0x18], xmm0
movss dword [esp + 0x1c], xmm0
movss dword [esp + 0x28], xmm0
movss dword [esp + 0x2c], xmm0
mov dword [esp + 0x10], eax
jle 0x430e23
mov edi, dword [ebp + 8]
shl eax, 9
movss xmm0, dword [eax + edi + 0x5c]
movss xmm2, dword [eax + edi + 0x64]
movss xmm1, dword [eax + edi + 0x60]
subss xmm2, xmm0
movss dword [esp + 0x2c], xmm0
movss xmm0, dword [eax + edi + 0x68]
subss xmm0, xmm1
movss dword [esp + 0x28], xmm1
movss dword [esp + 0x1c], xmm2
movaps xmm1, xmm0
movss dword [esp + 0x18], xmm0
mulss xmm1, xmm0
movaps xmm0, xmm2
mulss xmm0, xmm2
addss xmm1, xmm0
cvtps2pd xmm0, xmm1
xorps xmm1, xmm1
ucomisd xmm1, xmm0
ja 0x430df6
sqrtsd xmm0, xmm0
jmp 0x430dfb
call fcn.00467190
movss xmm1, dword [esp + 0x1c]
cvtsd2ss xmm0, xmm0
mov eax, dword [esp + 0x10]
divss xmm1, xmm0
movss dword [esp + 0x1c], xmm1
movss xmm1, dword [esp + 0x18]
divss xmm1, xmm0
movss dword [esp + 0x18], xmm1
push 0x4b6200
push eax
push str.BMQMAX
push 0x4b5c00
push str._s_s_i_s
push 0x4b5a00
call fcn.00401540
push 0x4b5a00
call fcn.004026a0
push 0x495470
push 0x4b5a00
call fcn.00457e2c
mov ecx, dword [esp + 0x34]
add esp, 0x24
mov edi, dword [ebp + 8]
mov edx, ecx
shl edx, 9
mov dword [0x63cd9c], eax
mov dword [esp + 0x14], edx
mov dword [esp + 0x44], 1
mov dword [esp + 0x38], 0x1770
test eax, eax
je 0x43119a
push eax
push 1
lea eax, [esp + 0x14]
push 2
push eax
call fcn.004580de
mov ecx, dword [esp + 0x24]
mov eax, 1
mov edx, eax
mov dword [esp + 0x34], eax
add esp, 0x10
xor esi, esi
cmp dx, word [ecx + edi + 0x1d6]
jg 0x43117f
mov ecx, dword [esp + 0x10]
shl ecx, 8
mov dword [esp + 0x40], ecx
cwde
mov edx, 1
add eax, ecx
movzx eax, word [edi + eax*2 + 0x2a]
cmp dx, ax
mov edx, dword [esp + 0x14]
jg 0x431168
mov dword [esp + 0x34], eax
nop word [eax + eax]
mov edi, 4
mov dword [esp + 0x30], edi
nop dword [eax]
push dword [0x63cd9c]
lea eax, [esp + 0x4c]
push 1
push 8
push eax
call fcn.004580de
push dword [0x63cd9c]
lea eax, [esp + 0x64]
push 1
push 8
push eax
call fcn.004580de
push dword [0x63cd9c]
lea eax, [esp + 0x7c]
push 1
push 8
push eax
call fcn.004580de
add esp, 0x30
cmp si, word [esp + 0x38]
jge 0x431145
movsd xmm0, qword [esp + 0x50]
inc esi
movsx edi, si
cvtpd2ps xmm0, xmm0
mov dword [esp + 0x3c], edi
mov eax, dword [edi*4 + 0x59da00]
movss dword [eax + 0xc], xmm0
movsd xmm0, qword [esp + 0x58]
andps xmm0, xmmword [0x4967e0]
mov eax, dword [edi*4 + 0x59da00]
cvtpd2ps xmm0, xmm0
movss dword [eax + 8], xmm0
movsd xmm0, qword [esp + 0x48]
mov eax, dword [edi*4 + 0x59da00]
cvtpd2ps xmm0, xmm0
movss dword [eax], xmm0
mov eax, dword [edi*4 + 0x59da00]
mov dword [eax + 4], 0
cmp word [0x525114], 1
je 0x431042
movss xmm1, dword [esp + 0x18]
lea eax, [esp + 8]
movss xmm0, dword [esp + 0x28]
cvtps2pd xmm1, xmm1
push eax
sub esp, 0x10
lea eax, [esp + 0x34]
cvtps2pd xmm0, xmm0
mulsd xmm1, qword [esp + 0x5c]
addsd xmm1, xmm0
cvtpd2ps xmm0, xmm1
movss xmm1, dword [esp + 0x30]
cvtps2pd xmm0, xmm0
cvtps2pd xmm1, xmm1
movsd qword [esp + 8], xmm0
movss xmm0, dword [esp + 0x40]
mulsd xmm1, qword [esp + 0x5c]
cvtps2pd xmm0, xmm0
addsd xmm1, xmm0
cvtpd2ps xmm0, xmm1
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
push eax
call fcn.0042fdd0
add esp, 0x18
cmp word [esp + 8], 1
jne 0x43102f
mov eax, 1
mov dword [esp + 0x20], eax
jmp 0x431039
mov eax, dword [esp + 0x20]
cmp ax, 1
jl 0x431042
cmp ax, word [0x525114]
jle 0x43104b
mov eax, 1
mov dword [esp + 0x20], eax
movsd xmm2, qword [0x4966c8]
cwde
imul edx, eax, 0x5c
mov eax, dword [edi*4 + 0x59da00]
mov edi, dword [esp + 0x24]
movsx ecx, di
mov edi, dword [esp + 0x3c]
movss xmm0, dword [edx + 0x61d880]
cvtps2pd xmm0, xmm0
mulsd xmm0, xmm2
cvtpd2ps xmm0, xmm0
movss dword [eax + 0x5c], xmm0
mov eax, dword [esp + 0x10]
shl eax, 7
add ecx, eax
mov eax, dword [ebp + 8]
movss xmm0, dword [eax + ecx*4 + 0xd0]
addss xmm0, dword [edx + 0x61d880]
mov eax, dword [edi*4 + 0x59da00]
cvtps2pd xmm0, xmm0
mulsd xmm0, xmm2
cvtpd2ps xmm0, xmm0
movss dword [eax + 0x1c], xmm0
mov eax, dword [edi*4 + 0x59da00]
cvtps2pd xmm1, xmm0
movaps xmm0, xmm1
subsd xmm0, qword [0x63c850]
cvtpd2ps xmm0, xmm0
movss dword [eax + 0x58], xmm0
subsd xmm1, qword [0x63c848]
mov eax, dword [edi*4 + 0x59da00]
cvtpd2ps xmm0, xmm1
movss dword [eax + 0x60], xmm0
movss xmm0, dword [edx + 0x61d880]
mov eax, dword [edi*4 + 0x59da00]
cvtps2pd xmm0, xmm0
movss xmm1, dword [eax + 0x60]
mulsd xmm0, qword [0x496628]
cvtps2pd xmm1, xmm1
mulsd xmm0, xmm2
subsd xmm1, xmm0
cvtpd2ps xmm0, xmm1
movss dword [eax + 0x64], xmm0
mov eax, dword [ebp + 8]
movss xmm0, dword [eax + ecx*4 + 0x124]
mov eax, dword [edi*4 + 0x59da00]
mov edi, dword [esp + 0x30]
cvtps2pd xmm0, xmm0
mulsd xmm0, xmm2
cvtpd2ps xmm0, xmm0
movss dword [eax + 0x14], xmm0
sub edi, 1
mov dword [esp + 0x30], edi
jne 0x430f00
sub dword [esp + 0x34], 1
jne 0x430ef0
mov edi, dword [ebp + 8]
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x24]
inc eax
mov dword [esp + 0x24], eax
cmp ax, word [edx + edi + 0x1d6]
jle 0x430ec7
push dword [0x63cd9c]
call fcn.00457b3e
movzx eax, word [ebp + 0xc]
add esp, 4
mov ecx, dword [esp + 0x10]
movsx edi, ax
jmp 0x4311a0
mov dword [esp + 0x14], edx
mov edi, ecx
push 0x4b6200
push ecx
push str.BMQMIN
push 0x4b5c00
push str._s_s_i_s
push 0x4b5a00
call fcn.00401540
push 0x4b5a00
call fcn.004026a0
push 0x495470
push 0x4b5a00
call fcn.00457e2c
add esp, 0x24
mov dword [0x63cd9c], eax
test eax, eax
je 0x43132a
push eax
push 1
lea eax, [esp + 0x14]
xor esi, esi
push 2
push eax
call fcn.004580de
mov ecx, dword [esp + 0x20]
mov eax, 1
mov edx, dword [esp + 0x24]
add esp, 0x10
mov dword [esp + 0x10], ecx
mov ecx, dword [ebp + 8]
mov dword [esp + 0x30], eax
cmp ax, word [edx + ecx + 0x1d6]
jg 0x43131c
shl edi, 8
mov dword [esp + 0x40], edi
nop dword [eax]
cwde
add eax, edi
movzx eax, word [ecx + eax*2 + 0x2a]
cmp word [esp + 0x44], ax
jg 0x4312fc
mov dword [esp + 0x34], eax
nop word [eax + eax]
mov edi, 4
nop word [eax + eax]
push dword [0x63cd9c]
lea eax, [esp + 0x4c]
push 1
push 8
push eax
call fcn.004580de
push dword [0x63cd9c]
lea eax, [esp + 0x64]
push 1
push 8
push eax
call fcn.004580de
push dword [0x63cd9c]
lea eax, [esp + 0x7c]
push 1
push 8
push eax
call fcn.004580de
add esp, 0x30
cmp si, word [esp + 0x38]
jge 0x4312dd
movsd xmm0, qword [esp + 0x50]
inc esi
movsx ecx, si
cvtpd2ps xmm0, xmm0
mov eax, dword [ecx*4 + 0x59da00]
movss dword [eax + 0x24], xmm0
movsd xmm0, qword [esp + 0x58]
andps xmm0, xmmword [0x4967e0]
mov eax, dword [ecx*4 + 0x59da00]
cvtpd2ps xmm0, xmm0
movss dword [eax + 0x20], xmm0
sub edi, 1
jne 0x431260
sub dword [esp + 0x34], 1
jne 0x431250
mov edi, dword [esp + 0x40]
mov ecx, dword [ebp + 8]
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x30]
inc eax
mov dword [esp + 0x30], eax
cmp ax, word [edx + ecx + 0x1d6]
jle 0x431230
mov ax, word [ebp + 0xc]
cwde
mov dword [esp + 0x10], eax
push dword [0x63cd9c]
call fcn.00457b3e
add esp, 4
mov eax, dword [ebp + 0x10]
push 0x4b6200
push str.BLAGER0
push 0x4b5c00
push str._s_s_s
push 0x4b5a00
mov word [eax], si
call fcn.00401540
push 0x495470
push 0x4b5a00
call fcn.00457e2c
mov esi, dword [esp + 0x2c]
add esp, 0x1c
mov dword [0x63cd9c], eax
test eax, eax
je 0x4313a5
imul ecx, esi, 0x23c
push 0
sub ecx, 0x23c
push ecx
push eax
call fcn.0046788c
push dword [0x63cd9c]
push 1
push 0x23c
push dword [ebp + 0x14]
call fcn.004580de
push dword [0x63cd9c]
call fcn.00457b3e
add esp, 0x20
push 0x4b6200
push str.BEAML
push 0x4b5c00
push str._s_s_s
push 0x4b5a00
call fcn.00401540
push 0x495470
push 0x4b5a00
call fcn.00457e2c
add esp, 0x1c
mov dword [0x63cd9c], eax
test eax, eax
je 0x431410
shl esi, 7
push 0
add esi, 0xffffff80
push esi
push eax
call fcn.0046788c
push dword [0x63cd9c]
push 1
push 0x80
push dword [ebp + 0x18]
call fcn.004580de
push dword [0x63cd9c]
call fcn.00457b3e
add esp, 0x20
pop edi
pop esi
mov esp, ebp
pop ebp
ret