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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x70
push ebx
push ebp
push esi
mov esi, dword [0x465c58]
lea eax, [esi - 3]
mov ebx, 0x7fffffff
push edi
mov dword [esp + 0x20], ebx
cmp eax, 1
ja 0x415559
cmp dword [0x464a9c], 0
je 0x41500d
push str.Blending_highlights..._n
call fcn.00434a96
add eax, 0x40
push eax
call fcn.00435780
mov esi, dword [0x465c58]
add esp, 8
xor edi, edi
test esi, esi
jle 0x415038
fld qword [0x4517b0]
fld dword [edi*4 + 0x486150]
fmul st(1)
call fcn.00436cf0
cmp ebx, eax
jle 0x41502d
mov ebx, eax
inc edi
cmp edi, esi
jl 0x415019
fstp st(0)
mov dword [esp + 0x20], ebx
movzx ecx, word [0x4ac486]
test ecx, ecx
jle 0x415559
movzx eax, word [0x466040]
fldz
mov dword [esp + 0x1c], 0
mov dword [esp + 0x30], ecx
mov dword [esp + 0x18], 0
test eax, eax
jle 0x415548
xor eax, eax
test esi, esi
jle 0x415098
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
add ecx, edx
mov edx, dword [0x4ac418]
lea ecx, [edx + ecx*8]
mov edx, dword [esp + 0x20]
movzx edi, word [ecx]
cmp edi, edx
jg 0x415098
inc eax
add ecx, 2
cmp eax, esi
jl 0x415089
cmp eax, esi
je 0x415530
xor ebx, ebx
xor ecx, ecx
cmp esi, 4
jl 0x4151b2
fild dword [esp + 0x20]
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
add eax, edx
mov edx, dword [0x4ac418]
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
lea edi, [esi - 3]
lea edx, [edx + eax*8]
movzx eax, word [edx]
mov dword [esp + 0x2c], eax
fild dword [esp + 0x2c]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fst dword [esp + ecx*4 + 0x60]
fcom st(1)
fnstsw ax
test ah, 5
jp 0x4150f5
fstp dword [esp + 0x14]
jmp 0x4150fb
fstp st(0)
fst dword [esp + 0x14]
movzx eax, word [edx + 2]
fld dword [esp + 0x14]
mov dword [esp + 0x2c], eax
fstp dword [esp + ecx*4 + 0x70]
fild dword [esp + 0x2c]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fst dword [esp + ecx*4 + 0x64]
fcom st(1)
fnstsw ax
test ah, 5
jp 0x41512a
fstp dword [esp + 0x14]
jmp 0x415130
fstp st(0)
fst dword [esp + 0x14]
movzx eax, word [edx + 4]
fld dword [esp + 0x14]
mov dword [esp + 0x2c], eax
fstp dword [esp + ecx*4 + 0x74]
fild dword [esp + 0x2c]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fst dword [esp + ecx*4 + 0x68]
fcom st(1)
fnstsw ax
test ah, 5
jp 0x41515f
fstp dword [esp + 0x14]
jmp 0x415165
fstp st(0)
fst dword [esp + 0x14]
movzx eax, word [edx + 6]
fld dword [esp + 0x14]
mov dword [esp + 0x2c], eax
fstp dword [esp + ecx*4 + 0x78]
fild dword [esp + 0x2c]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fst dword [esp + ecx*4 + 0x6c]
fcom st(1)
fnstsw ax
test ah, 5
jp 0x415194
fstp dword [esp + 0x14]
jmp 0x41519a
fstp st(0)
fst dword [esp + 0x14]
fld dword [esp + 0x14]
add ecx, 4
fstp dword [esp + ecx*4 + 0x6c]
add edx, 8
cmp ecx, edi
jl 0x4150cf
fstp st(0)
cmp ecx, esi
jge 0x415215
mov eax, dword [esp + 0x18]
fild dword [esp + 0x20]
mov edx, dword [esp + 0x1c]
add edx, eax
mov eax, dword [0x4ac418]
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
lea edx, [ecx + edx*4]
lea edx, [eax + edx*2]
movzx eax, word [edx]
mov dword [esp + 0x2c], eax
fild dword [esp + 0x2c]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fst dword [esp + ecx*4 + 0x60]
fcom st(1)
fnstsw ax
test ah, 5
jp 0x4151fd
fstp dword [esp + 0x14]
jmp 0x415203
fstp st(0)
fst dword [esp + 0x14]
fld dword [esp + 0x14]
inc ecx
fstp dword [esp + ecx*4 + 0x6c]
add edx, 2
cmp ecx, esi
jl 0x4151d7
fstp st(0)
lea ecx, [esp + 0x40]
mov dword [esp + 0x24], ebx
mov dword [esp + 0x28], ecx
mov dword [esp + 0x14], ebx
xor edi, edi
mov dword [esp + 0x2c], edi
test esi, esi
jle 0x4152ff
mov ebx, dword [esp + 0x28]
xor ebp, ebp
fst dword [ebx]
cmp esi, 4
jl 0x4152bb
mov eax, dword [esp + 0x14]
lea ecx, [edi + esi*4 - 0xc]
lea edx, [edi + esi*4]
shl ecx, 4
lea edi, [esi - 4]
shl edx, 4
shr edi, 2
add ecx, 0x44ed08
inc edi
lea eax, [esp + eax + 0x64]
lea edx, [edx + 0x44ec50]
lea ebp, [edi*4]
fld dword [eax - 4]
add ecx, 0x10
fmul dword [ecx - 0x10]
add edx, 0x10
add eax, 0x10
sub edi, 1
fadd dword [ebx]
fstp dword [esp + 0x34]
fld dword [esp + 0x34]
fld dword [edx - 0x14]
fmul dword [eax - 0x10]
faddp st(1)
fstp dword [esp + 0x34]
fld dword [esp + 0x34]
fld dword [eax - 0xc]
fmul dword [edx - 0x10]
faddp st(1)
fstp dword [esp + 0x34]
fld dword [esp + 0x34]
fld dword [eax - 8]
fmul dword [edx - 0xc]
faddp st(1)
fstp dword [ebx]
jne 0x41526f
mov edi, dword [esp + 0x2c]
cmp ebp, esi
jge 0x4152ef
mov edx, dword [esp + 0x24]
lea eax, [edi + esi*4 - 0xc]
lea ecx, [ebp + eax*4]
add edx, ebp
mov eax, esi
lea edx, [esp + edx*4 + 0x60]
lea ecx, [ecx*4 + 0x44ed08]
sub eax, ebp
fld dword [ecx]
add ecx, 4
fmul dword [edx]
add edx, 4
sub eax, 1
fadd dword [ebx]
fstp dword [ebx]
jne 0x4152dc
inc edi
add ebx, 4
cmp edi, esi
mov dword [esp + 0x2c], edi
jl 0x415237
mov edi, dword [esp + 0x24]
lea eax, [esi - 1]
fst dword [esp + edi + 0x38]
cmp eax, 4
mov edx, 1
jl 0x415376
mov eax, dword [esp + 0x14]
lea ecx, [esi - 5]
shr ecx, 2
inc ecx
lea eax, [esp + eax + 0x48]
lea edx, [ecx*4 + 1]
fld dword [eax - 4]
add eax, 0x10
sub ecx, 1
fld dword [eax - 0x10]
fld dword [eax - 0xc]
fld dword [eax - 8]
fld st(3)
fmulp st(4)
fld dword [esp + edi + 0x38]
faddp st(4)
fxch st(3)
fstp dword [esp + 0x34]
fld dword [esp + 0x34]
fld st(2)
fmulp st(3)
faddp st(2)
fxch st(1)
fstp dword [esp + 0x34]
fld st(0)
fmulp st(1)
fadd dword [esp + 0x34]
fstp dword [esp + 0x34]
fld st(0)
fmulp st(1)
fadd dword [esp + 0x34]
fstp dword [esp + edi + 0x38]
jne 0x41532a
cmp edx, esi
jge 0x415399
lea eax, [edi + edx]
mov ecx, esi
lea eax, [esp + eax*4 + 0x40]
sub ecx, edx
fld dword [eax]
add eax, 4
sub ecx, 1
fmul st(0), st(0)
fadd dword [esp + edi + 0x38]
fstp dword [esp + edi + 0x38]
jne 0x415385
mov eax, dword [esp + 0x14]
add dword [esp + 0x28], 0x10
add eax, 0x10
add edi, 4
cmp eax, 0x20
mov dword [esp + 0x14], eax
mov dword [esp + 0x24], edi
jl 0x415225
fstp st(0)
fld dword [esp + 0x3c]
fdiv dword [esp + 0x38]
call fcn.00447860
fstp dword [esp + 0x34]
fld dword [esp + 0x34]
lea ecx, [esi - 1]
cmp ecx, 4
mov eax, 1
jl 0x41540f
lea ecx, [esi - 3]
fld dword [esp + eax*4 + 0x40]
add eax, 4
cmp eax, ecx
fmul st(1)
fstp dword [esp + eax*4 + 0x30]
fld st(0)
fmul dword [esp + eax*4 + 0x34]
fstp dword [esp + eax*4 + 0x34]
fld dword [esp + eax*4 + 0x38]
fmul st(1)
fstp dword [esp + eax*4 + 0x38]
fld dword [esp + eax*4 + 0x3c]
fmul st(1)
fstp dword [esp + eax*4 + 0x3c]
jl 0x4153e0
cmp eax, esi
jge 0x415422
fld dword [esp + eax*4 + 0x40]
inc eax
cmp eax, esi
fmul st(1)
fstp dword [esp + eax*4 + 0x3c]
jl 0x415413
xor ebp, ebp
fstp st(0)
fldz
test esi, esi
jle 0x4154d3
lea edx, [esp + 0x60]
xor eax, eax
fst dword [edx]
cmp esi, 4
jl 0x4154a3
lea ebx, [esi - 3]
lea edi, [ebp + ebx*4]
shl edi, 4
lea ecx, [ebp + esi*4]
add edi, 0x44ed88
shl ecx, 4
lea ecx, [ecx + 0x44ecd0]
fld dword [esp + eax*4 + 0x44]
add eax, 4
fmul dword [ecx - 4]
add edi, 0x10
fld dword [esp + eax*4 + 0x30]
add ecx, 0x10
cmp eax, ebx
fmul dword [edi - 0x10]
fadd dword [edx]
fstp dword [esp + 0x34]
fadd dword [esp + 0x34]
fstp dword [esp + 0x34]
fld dword [esp + 0x34]
fld dword [esp + eax*4 + 0x38]
fmul dword [ecx - 0x10]
faddp st(1)
fstp dword [esp + 0x34]
fld dword [esp + 0x34]
fld dword [esp + eax*4 + 0x3c]
fmul dword [ecx - 0xc]
faddp st(1)
fstp dword [edx]
jl 0x41545a
cmp eax, esi
jge 0x4154c7
lea ecx, [ebp + esi*4 - 0xc]
lea ecx, [eax + ecx*4]
lea ecx, [ecx*4 + 0x44ed88]
fld dword [esp + eax*4 + 0x40]
inc eax
fmul dword [ecx]
add ecx, 4
cmp eax, esi
fadd dword [edx]
fstp dword [edx]
jl 0x4154b5
inc ebp
add edx, 4
cmp ebp, esi
jl 0x415434
xor ecx, ecx
test esi, esi
jle 0x415530
fild dword [0x465c58]
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
add edx, eax
mov eax, dword [0x4ac418]
fstp dword [esp + 0x34]
fld dword [esp + 0x34]
lea edx, [eax + edx*8]
fld dword [esp + ecx*4 + 0x60]
inc ecx
fdiv st(1)
add edx, 2
fnstcw word [esp + 0x14]
movzx eax, word [esp + 0x14]
or eax, 0xc00
cmp ecx, esi
mov dword [esp + 0x34], eax
fldcw word [esp + 0x34]
fistp dword [esp + 0x34]
mov ax, word [esp + 0x34]
mov word [edx - 2], ax
fldcw word [esp + 0x14]
jl 0x4154f9
fstp st(0)
mov ecx, dword [esp + 0x18]
movzx eax, word [0x466040]
inc ecx
cmp ecx, eax
mov dword [esp + 0x18], ecx
jl 0x41506c
add dword [esp + 0x1c], eax
sub dword [esp + 0x30], 1
jne 0x41505c
fstp st(0)
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret