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

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
and esp, 0xfffffff0
sub esp, 0xd0
mov eax, dword [ebp + 0x10]
mov edi, dword [ebp + 8]
mov edx, dword [0x4b850c]
mov dword [esp + 0xcc], edx
xor edx, edx
mov ebx, dword [ebp + 0xc]
movdqu xmm0, xmmword [eax]
movdqu xmm1, xmmword [eax + 0x10]
mov esi, dword [eax + 0x20]
movups xmmword [esp + 0x84], xmm0
mov eax, dword [esp + 0x88]
mov dword [esp + 0xa4], esi
movups xmmword [esp + 0x94], xmm1
test eax, eax
js 0x429fc0
mov ecx, dword [esp + 0x94]
mov dword [esp + 0x38], ecx
test ecx, ecx
js 0x429fc0
mov ecx, dword [esp + 0xa0]
mov dword [esp + 0x34], ecx
test ecx, ecx
js 0x429fc0
mov edx, dword [esp + 0x84]
mov dword [esp + 0x28], edx
test edx, edx
js 0x429fc0
mov ecx, dword [esp + 0x90]
mov dword [esp + 0x30], ecx
test ecx, ecx
js 0x429fc0
mov edx, dword [esp + 0x9c]
mov dword [esp + 0x24], edx
test edx, edx
js 0x429fc0
mov edx, dword [esp + 0x8c]
mov dword [esp + 0x20], edx
test edx, edx
js 0x429fc0
mov edx, dword [esp + 0x98]
mov dword [esp + 0x1c], edx
test edx, edx
js 0x429fc0
test esi, esi
js 0x429fc0
mov edx, 0x7fffffff
sub edx, eax
cmp ecx, edx
jg 0x429fc0
mov ecx, dword [esp + 0x38]
lea edx, [eax + ecx]
mov ecx, 0x7fffffff
mov dword [esp + 0x18], edx
sub ecx, edx
cmp dword [esp + 0x24], ecx
jg 0x429fc0
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x34]
add edx, ecx
mov dword [esp + 0x18], edx
cmp edx, 0x186a0
je 0x429eef
test edx, edx
je 0x429fc0
mov ecx, dword [esp + 0x28]
test ecx, ecx
je 0x429d10
fnstcw word [esp + 0x3e]
fild dword [esp + 0x28]
fmul dword [0x48c3c8]
fild dword [esp + 0x18]
movzx ecx, word [esp + 0x3e]
fdivp st(1)
and ch, 0xf3
or ch, 4
mov word [esp + 0x3c], cx
fadd dword [0x48c334]
fldcw word [esp + 0x3c]
frndint
fldcw word [esp + 0x3e]
fld qword [0x48c338]
fcompi st(1)
jb 0x429f9d
fld dword [0x48c340]
fxch st(1)
fcomi st(1)
fstp st(1)
jb 0x429fa1
fstp qword [esp + 0x28]
cvttsd2si ecx, qword [esp + 0x28]
mov dword [esp + 0x84], ecx
test eax, eax
je 0x429d76
fnstcw word [esp + 0x3e]
mov dword [esp + 0x28], eax
fild dword [esp + 0x28]
fmul dword [0x48c3c8]
fild dword [esp + 0x18]
movzx eax, word [esp + 0x3e]
fdivp st(1)
and ah, 0xf3
or ah, 4
mov word [esp + 0x3c], ax
fadd dword [0x48c334]
fldcw word [esp + 0x3c]
frndint
fldcw word [esp + 0x3e]
fld qword [0x48c338]
fcompi st(1)
jb 0x429fa5
fld dword [0x48c340]
fxch st(1)
fcomi st(1)
fstp st(1)
jb 0x429fa9
fstp qword [esp + 0x28]
cvttsd2si eax, qword [esp + 0x28]
mov edx, dword [esp + 0x20]
mov dword [esp + 0x88], eax
test edx, edx
je 0x429de7
fnstcw word [esp + 0x3e]
fild dword [esp + 0x20]
fmul dword [0x48c3c8]
fild dword [esp + 0x18]
movzx eax, word [esp + 0x3e]
fdivp st(1)
and ah, 0xf3
or ah, 4
mov word [esp + 0x3c], ax
fadd dword [0x48c334]
fldcw word [esp + 0x3c]
frndint
fldcw word [esp + 0x3e]
fld qword [0x48c338]
fcompi st(1)
jb 0x429fad
fld dword [0x48c340]
fxch st(1)
fcomi st(1)
fstp st(1)
jb 0x429fb1
fstp qword [esp + 0x28]
cvttsd2si eax, qword [esp + 0x28]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x8c], eax
mov eax, dword [esp + 0x30]
test eax, eax
je 0x429e46
fild dword [esp + 0x30]
fmul dword [0x48c3c8]
fild dword [esp + 0x18]
fdivp st(1)
fadd dword [0x48c334]
fstp qword [esp]
call fcn.0046a8c0
fld qword [0x48c338]
fcompi st(1)
jb 0x429fb5
fld dword [0x48c340]
fxch st(1)
fcomi st(1)
fstp st(1)
jb 0x429fb9
fstp qword [esp + 0x28]
cvttsd2si eax, qword [esp + 0x28]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x30]
mov edx, dword [esp + 0x38]
mov ecx, 0x186a0
mov dword [esp + 0x90], eax
mov eax, dword [esp + 0x18]
mov dword [esp], eax
lea eax, [esp + 0x94]
call fcn.00426710
test eax, eax
je 0x429fc0
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov dword [esp], eax
lea eax, [esp + 0x98]
call fcn.00426710
test eax, eax
je 0x429fc0
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x24]
mov dword [esp], eax
lea eax, [esp + 0x9c]
call fcn.00426710
test eax, eax
je 0x429fc0
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x34]
mov dword [esp], eax
lea eax, [esp + 0xa0]
call fcn.00426710
test eax, eax
je 0x429fc0
mov eax, dword [esp + 0x18]
mov edx, esi
mov dword [esp], eax
lea eax, [esp + 0xa4]
call fcn.00426710
test eax, eax
je 0x429fc0
lea edx, [esp + 0x84]
lea eax, [esp + 0x44]
call fcn.00426c50
test eax, eax
jne 0x429ff0
mov eax, dword [esp + 0xa4]
lea edx, [esp + 0x44]
movdqu xmm2, xmmword [esp + 0x84]
movdqu xmm3, xmmword [esp + 0x94]
mov dword [esp + 0xc8], eax
lea eax, [esp + 0xa8]
movups xmmword [esp + 0xa8], xmm2
movups xmmword [esp + 0xb8], xmm3
call fcn.004295f0
test eax, eax
jne 0x429ff0
lea edx, [esp + 0xa8]
lea eax, [esp + 0x64]
call fcn.00426c50
test eax, eax
jne 0x429ff0
mov ecx, 5
lea edx, [esp + 0x64]
lea eax, [esp + 0x44]
call fcn.00425bb0
test eax, eax
je 0x429fc0
mov eax, dword [ebp + 0x14]
lea ecx, [esp + 0x44]
mov edx, ebx
mov dword [esp + 4], eax
lea eax, [esp + 0x84]
mov dword [esp], eax
mov eax, edi
call fcn.00425d60
jmp 0x429fd8
fstp st(0)
jmp 0x429fc0
fstp st(0)
jmp 0x429fc0
fstp st(0)
jmp 0x429fc0
fstp st(0)
jmp 0x429fc0
fstp st(0)
jmp 0x429fc0
fstp st(0)
jmp 0x429fc0
fstp st(0)
jmp 0x429fc0
fstp st(0)
lea esi, cs:[esi]
or word [ebx + 0x4a], 0x8000
mov dword [esp + 4], str.invalid_end_points
mov dword [esp], edi
call fcn.0042b9f0
xor eax, eax
mov edx, dword [esp + 0xcc]
sub edx, dword [0x4b850c]
jne 0x42a012
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
movzx edx, word [ebx + 0x4a]
cmp eax, 1
je 0x429fc0
or dx, 0x8000
mov word [ebx + 0x4a], dx
mov dword [esp + 4], str.internal_error_checking_chromaticities
mov dword [esp], edi
call fcn.0042b7c0
call fcn.00464ba0
lea esi, cs:[esi]
nop