Function at 0x50aa50
Capabilities:
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x40
mov eax, dword [0x5f13cc]
xor eax, esp
mov dword [esp + 0x38], eax
fldz
push ebx
fld qword [esp + 0x48]
push esi
fcom st(1)
push edi
mov esi, ecx
mov byte [esp + 0x1c], 0x63
mov byte [esp + 0x1d], 0x48
mov byte [esp + 0x1e], 0x52
fnstsw ax
mov byte [esp + 0x1f], 0x4d
fld qword [esp + 0x58]
mov byte [esp + 0x20], 0
test ah, 5
jnp 0x50aece
fld qword [0x5d13f8]
fcom st(2)
fnstsw ax
test ah, 5
jnp 0x50aecc
fxch st(1)
fcom st(3)
fnstsw ax
test ah, 5
jnp 0x50aed2
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
je 0x50aece
fld st(1)
fadd st(1)
fld qword [0x5ca998]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 5
jnp 0x50aed8
fld qword [0x5d1218]
fnstcw word [esp + 0xe]
movzx eax, word [esp + 0xe]
fmul st(3), st(0)
fld qword [0x5d1220]
or eax, 0xc00
mov dword [esp + 0x10], eax
fadd st(4), st(0)
fldcw word [esp + 0x10]
fxch st(4)
fistp qword [esp + 0x10]
mov eax, dword [esp + 0x10]
mov ecx, eax
shr ecx, 0x18
fldcw word [esp + 0xe]
mov byte [esp + 0x24], cl
mov edx, eax
mov ecx, eax
mov byte [esp + 0x27], al
shr edx, 0x10
mov byte [esp + 0x25], dl
shr ecx, 8
fnstcw word [esp + 0xe]
mov byte [esp + 0x26], cl
fmul st(2), st(0)
movzx eax, word [esp + 0xe]
fxch st(2)
or eax, 0xc00
mov dword [esp + 0x10], eax
fadd st(3)
fldcw word [esp + 0x10]
fistp qword [esp + 0x10]
mov eax, dword [esp + 0x10]
mov edx, eax
shr edx, 0x18
fldcw word [esp + 0xe]
mov byte [esp + 0x28], dl
mov ecx, eax
mov edx, eax
mov byte [esp + 0x2b], al
shr ecx, 0x10
shr edx, 8
mov byte [esp + 0x29], cl
fld qword [esp + 0x60]
mov byte [esp + 0x2a], dl
fcom st(4)
fnstsw ax
test ah, 5
jnp 0x50ae7e
fld qword [esp + 0x68]
fcom st(5)
fnstsw ax
test ah, 5
jnp 0x50aea4
fld st(1)
fadd st(1)
fcomp st(3)
fnstsw ax
test ah, 0x41
je 0x50aea4
fnstcw word [esp + 0xe]
movzx eax, word [esp + 0xe]
fxch st(1)
fmul st(3)
or eax, 0xc00
mov dword [esp + 0x10], eax
fadd st(4)
fldcw word [esp + 0x10]
fistp qword [esp + 0x10]
mov eax, dword [esp + 0x10]
mov ecx, eax
shr ecx, 0x18
fldcw word [esp + 0xe]
mov byte [esp + 0x2c], cl
mov edx, eax
mov ecx, eax
mov byte [esp + 0x2f], al
shr edx, 0x10
mov byte [esp + 0x2d], dl
shr ecx, 8
fnstcw word [esp + 0xe]
mov byte [esp + 0x2e], cl
fmul st(2)
movzx eax, word [esp + 0xe]
or eax, 0xc00
mov dword [esp + 0x10], eax
fadd st(3)
fldcw word [esp + 0x10]
fistp qword [esp + 0x10]
mov eax, dword [esp + 0x10]
mov edx, eax
shr edx, 0x18
fldcw word [esp + 0xe]
mov byte [esp + 0x30], dl
mov ecx, eax
mov edx, eax
mov byte [esp + 0x33], al
shr ecx, 0x10
shr edx, 8
mov byte [esp + 0x31], cl
fld qword [esp + 0x70]
mov byte [esp + 0x32], dl
fcom st(4)
fnstsw ax
test ah, 5
jnp 0x50ae30
fld qword [esp + 0x78]
fcom st(5)
fnstsw ax
test ah, 5
jnp 0x50ae56
fld st(1)
fadd st(1)
fcomp st(3)
fnstsw ax
test ah, 0x41
je 0x50ae56
fnstcw word [esp + 0xe]
movzx eax, word [esp + 0xe]
fxch st(1)
fmul st(3)
or eax, 0xc00
mov dword [esp + 0x10], eax
fadd st(4)
fldcw word [esp + 0x10]
fistp qword [esp + 0x10]
mov eax, dword [esp + 0x10]
mov ecx, eax
shr ecx, 0x18
fldcw word [esp + 0xe]
mov byte [esp + 0x34], cl
mov edx, eax
mov ecx, eax
mov byte [esp + 0x37], al
shr edx, 0x10
mov byte [esp + 0x35], dl
shr ecx, 8
fnstcw word [esp + 0xe]
mov byte [esp + 0x36], cl
fmul st(2)
movzx eax, word [esp + 0xe]
or eax, 0xc00
mov dword [esp + 0x10], eax
fadd st(3)
fldcw word [esp + 0x10]
fistp qword [esp + 0x10]
mov eax, dword [esp + 0x10]
mov edx, eax
shr edx, 0x18
fldcw word [esp + 0xe]
mov byte [esp + 0x38], dl
mov ecx, eax
mov edx, eax
mov byte [esp + 0x3b], al
shr ecx, 0x10
shr edx, 8
mov byte [esp + 0x39], cl
fld qword [esp + 0x80]
mov byte [esp + 0x3a], dl
fcom st(4)
fnstsw ax
test ah, 5
jnp 0x50ade6
fld qword [esp + 0x88]
fcom st(5)
fnstsw ax
fstp st(5)
test ah, 5
jnp 0x50ade6
fld st(0)
fadd st(5)
fcomp st(2)
fnstsw ax
fstp st(1)
test ah, 0x41
je 0x50ae0c
fnstcw word [esp + 0xe]
mov ebx, 0x20
movzx eax, word [esp + 0xe]
fmul st(1)
or eax, 0xc00
mov dword [esp + 0x10], eax
lea edi, [esp + 0x1c]
fadd st(2)
fldcw word [esp + 0x10]
fistp qword [esp + 0x10]
mov eax, dword [esp + 0x10]
mov ecx, eax
shr ecx, 0x18
fldcw word [esp + 0xe]
mov edx, eax
mov byte [esp + 0x3c], cl
mov ecx, eax
mov byte [esp + 0x3f], al
shr edx, 0x10
mov byte [esp + 0x3d], dl
shr ecx, 8
fnstcw word [esp + 0xe]
mov byte [esp + 0x3e], cl
fmulp st(2)
movzx eax, word [esp + 0xe]
or eax, 0xc00
mov dword [esp + 0x10], eax
faddp st(1)
fldcw word [esp + 0x10]
fistp qword [esp + 0x10]
mov eax, dword [esp + 0x10]
mov edx, eax
shr edx, 0x18
fldcw word [esp + 0xe]
mov byte [esp + 0x40], dl
mov ecx, eax
mov edx, eax
mov byte [esp + 0x43], al
lea eax, [esp + 0x24]
shr ecx, 0x10
shr edx, 8
push eax
mov eax, esi
mov byte [esp + 0x45], cl
mov byte [esp + 0x46], dl
call fcn.00509690
add esp, 4
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x38]
xor ecx, esp
call fcn.005787fd
add esp, 0x40
ret
fstp st(2)
mov edx, str.Invalid_cHRM_blue_point_specified
fstp st(2)
fstp st(2)
fstp st(1)
fstp st(0)
call fcn.004f9a60
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x38]
xor ecx, esp
call fcn.005787fd
add esp, 0x40
ret
fstp st(1)
mov edx, str.Invalid_cHRM_blue_point_specified
fstp st(1)
fstp st(1)
fstp st(0)
call fcn.004f9a60
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x38]
xor ecx, esp
call fcn.005787fd
add esp, 0x40
ret
fstp st(2)
mov edx, str.Invalid_cHRM_green_point_specified
fstp st(2)
fstp st(2)
fstp st(1)
fstp st(0)
call fcn.004f9a60
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x38]
xor ecx, esp
call fcn.005787fd
add esp, 0x40
ret
fstp st(3)
mov edx, str.Invalid_cHRM_green_point_specified
fstp st(3)
fstp st(3)
fstp st(1)
fstp st(0)
fstp st(0)
call fcn.004f9a60
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x38]
xor ecx, esp
call fcn.005787fd
add esp, 0x40
ret
fstp st(2)
mov edx, str.Invalid_cHRM_red_point_specified
fstp st(2)
fstp st(2)
fstp st(1)
fstp st(0)
call fcn.004f9a60
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x38]
xor ecx, esp
call fcn.005787fd
add esp, 0x40
ret
fstp st(3)
mov edx, str.Invalid_cHRM_red_point_specified
fstp st(3)
fstp st(3)
fstp st(1)
fstp st(0)
fstp st(0)
call fcn.004f9a60
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x38]
xor ecx, esp
call fcn.005787fd
add esp, 0x40
ret
fstp st(2)
fstp st(1)
jmp 0x50aedc
fstp st(2)
fstp st(0)
jmp 0x50aedc
fstp st(2)
fstp st(2)
fstp st(1)
mov edx, str.Invalid_cHRM_white_point_specified
fstp st(0)
call fcn.004f9a60
fld qword [esp + 0x58]
sub esp, 0x10
fstp qword [esp + 8]
fld qword [esp + 0x60]
fstp qword [esp]
push str.white_x_f__white_y_f_n
call fcn.0057f692
add eax, 0x40
push eax
call fcn.0057dba4
mov ecx, dword [esp + 0x5c]
add esp, 0x18
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.005787fd
add esp, 0x40
ret