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

Disassembly:
push ebx
push esi
push edi
push ebp
add esp, 0xffffff70
mov eax, dword [0x454184]
test eax, eax
je 0x414eeb
push str.Rebuilding_highlights..._n
mov edx, dword [0x4606dc]
push edx
call fcn.0042586c
add esp, 8
mov ecx, 4
mov eax, dword [0x454180]
sub ecx, eax
mov dword [esp + 0x70], ecx
fild dword [esp + 0x70]
fmul dword [0x415548]
add esp, 0xfffffff8
fstp qword [esp]
push 0x40000000
push 0
call fcn.0044dc04
add esp, 0x10
fstp dword [esp + 0xc]
xor ebp, ebp
lea eax, [esp + 0x60]
mov dword [esp + 0x3c], eax
mov dword [esp + 0x38], 0x4cb694
jmp 0x414f54
fld dword [0x41554c]
mov edx, dword [esp + 0x38]
fmul dword [edx]
call fcn.0044d7fc
mov edx, dword [esp + 0x3c]
mov dword [edx], eax
inc ebp
add dword [esp + 0x3c], 4
add dword [esp + 0x38], 4
mov ecx, dword [0x4a9520]
cmp ebp, ecx
jb 0x414f32
xor eax, eax
mov dword [esp + 0x30], eax
mov ebp, 1
mov dword [esp + 0x40], 0x4cb698
jmp 0x414f93
mov eax, dword [esp + 0x30]
mov edx, dword [esp + 0x40]
fld dword [eax*4 + 0x4cb694]
fcomp dword [edx]
fnstsw ax
sahf
jae 0x414f8d
mov dword [esp + 0x30], ebp
inc ebp
add dword [esp + 0x40], 4
mov edx, dword [0x4a9520]
cmp ebp, edx
jb 0x414f73
mov ecx, dword [0x4a9540]
mov eax, 4
sar eax, cl
push eax
mov eax, dword [0x4a9530]
pop edx
mov ecx, edx
cdq
idiv ecx
mov dword [esp + 0x20], eax
mov ecx, dword [0x4a9540]
mov eax, 4
sar eax, cl
push eax
mov eax, dword [0x4a9534]
pop edx
mov ecx, edx
cdq
idiv ecx
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x24]
shl eax, 2
push eax
mov eax, dword [esp + 0x24]
push eax
call fcn.0044521c
add esp, 8
mov dword [esp], eax
push str.recover_highlights__
mov edx, dword [esp + 4]
push edx
call fcn.004014a4
add esp, 8
xor ebp, ebp
lea eax, [esp + 0x60]
mov dword [esp + 0x40], eax
jmp 0x415522
mov edx, dword [esp + 0x30]
cmp ebp, edx
je 0x41551c
mov ecx, dword [esp + 0x20]
imul ecx, dword [esp + 0x24]
shl ecx, 2
push ecx
push 0
mov eax, dword [esp + 8]
push eax
call fcn.00446730
add esp, 0xc
xor edx, edx
mov dword [esp + 0x28], edx
mov ecx, dword [esp + 0x40]
mov eax, ecx
mov dword [esp + 0x50], eax
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x20]
cmp edx, ecx
jae 0x4151bb
xor edi, edi
mov eax, dword [esp + 0x50]
mov edx, eax
mov dword [esp + 0x4c], edx
mov ecx, dword [esp + 0x24]
cmp edi, ecx
jae 0x4151a7
xor eax, eax
mov ecx, dword [0x4a9540]
mov dword [esp + 0x10], eax
mov dword [esp + 0x74], eax
fild dword [esp + 0x74]
mov edx, 4
sar edx, cl
fst dword [esp + 8]
fstp dword [esp + 4]
imul edx, dword [esp + 0x28]
mov dword [esp + 0x2c], edx
mov eax, dword [esp + 0x4c]
mov edx, eax
mov dword [esp + 0x48], edx
jmp 0x41513b
mov esi, eax
mov eax, dword [esp + 0x48]
imul esi, edi
mov edx, eax
mov dword [esp + 0x44], edx
jmp 0x415120
mov ebx, dword [esp + 0x2c]
mov eax, dword [0x4a955c]
imul ebx, dword [0x4a9534]
add ebx, esi
mov edx, dword [esp + 0x44]
shl ebx, 3
add ebx, eax
movzx ecx, word [ebx + ebp*2]
mov eax, ecx
push ecx
mov ecx, dword [edx]
cdq
idiv ecx
dec eax
pop ecx
jne 0x41511f
mov eax, dword [esp + 0x30]
cmp word [ebx + eax*2], 0x5dc0
jbe 0x41511f
mov dword [esp + 0x78], ecx
fild dword [esp + 0x78]
fadd dword [esp + 4]
fstp dword [esp + 4]
mov ecx, dword [esp + 0x30]
movzx eax, word [ebx + ecx*2]
mov dword [esp + 0x7c], eax
fild dword [esp + 0x7c]
fadd dword [esp + 8]
fstp dword [esp + 8]
inc dword [esp + 0x10]
inc esi
mov ecx, dword [0x4a9540]
mov edx, 4
sar edx, cl
lea eax, [edi + 1]
imul edx, eax
cmp esi, edx
jb 0x4150bc
inc dword [esp + 0x2c]
mov ecx, dword [0x4a9540]
mov eax, 4
sar eax, cl
mov edx, eax
mov ecx, dword [esp + 0x28]
inc ecx
imul edx, ecx
mov ecx, dword [esp + 0x2c]
cmp edx, ecx
ja 0x4150ab
mov ecx, dword [0x4a9540]
mov eax, 4
sar eax, cl
mov ecx, dword [0x4a9540]
mov edx, 4
sar edx, cl
imul edx
mov edx, dword [esp + 0x10]
cmp eax, edx
jne 0x41519a
fld dword [esp + 4]
fdiv dword [esp + 8]
mov eax, dword [esp + 0x28]
imul dword [esp + 0x24]
add eax, edi
mov ecx, dword [esp]
fstp dword [ecx + eax*4]
inc edi
mov eax, dword [esp + 0x24]
cmp edi, eax
jb 0x415070
inc dword [esp + 0x28]
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x20]
cmp edx, ecx
jb 0x415058
fld dword [0x415550]
fdiv dword [esp + 0xc]
call fcn.0044d7fc
mov dword [esp + 0x14], eax
jmp 0x41536d
xor edx, edx
mov dword [esp + 0x28], edx
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x20]
cmp ecx, eax
jae 0x41531c
xor edi, edi
mov eax, dword [esp + 0x24]
cmp edi, eax
jae 0x415308
mov edx, dword [esp + 0x28]
imul edx, dword [esp + 0x24]
add edx, edi
mov ecx, dword [esp]
fld dword [ecx + edx*4]
fcomp dword [0x415554]
fnstsw ax
sahf
jne 0x4152fb
xor edx, edx
xor eax, eax
mov dword [esp + 0x10], edx
mov dword [esp + 0x80], edx
fild dword [esp + 0x80]
mov edx, 0x455204
fstp dword [esp + 4]
mov dword [esp + 0x34], eax
movsx ecx, byte [edx]
movsx ebx, byte [edx + 1]
mov eax, dword [esp + 0x28]
add ebx, edi
add ecx, eax
mov eax, dword [esp + 0x20]
cmp ecx, eax
jae 0x4152b9
mov eax, dword [esp + 0x24]
cmp ebx, eax
jae 0x4152b9
mov eax, ecx
imul eax, dword [esp + 0x24]
add eax, ebx
mov esi, dword [esp]
fld dword [esi + eax*4]
fcomp dword [0x415554]
fnstsw ax
sahf
jbe 0x4152b9
mov eax, dword [esp + 0x34]
and eax, 1
inc eax
mov dword [esp + 0x84], eax
xor eax, eax
mov dword [esp + 0x88], eax
fild qword [esp + 0x84]
imul ecx, dword [esp + 0x24]
add ebx, ecx
mov ecx, dword [esp]
fmul dword [ecx + ebx*4]
fadd dword [esp + 4]
fstp dword [esp + 4]
mov eax, dword [esp + 0x34]
and eax, 1
mov ecx, dword [esp + 0x10]
add eax, ecx
inc eax
mov dword [esp + 0x10], eax
inc dword [esp + 0x34]
add edx, 2
mov eax, dword [esp + 0x34]
cmp eax, 8
jb 0x41523a
mov edx, dword [esp + 0x10]
cmp edx, 3
jle 0x4152fb
fld dword [esp + 4]
fadd dword [esp + 0xc]
mov ecx, dword [esp + 0x28]
mov eax, dword [esp]
imul ecx, dword [esp + 0x24]
fchs
fild dword [esp + 0x10]
add ecx, edi
fadd dword [esp + 0xc]
fdivp st(1)
fstp dword [eax + ecx*4]
inc edi
mov edx, dword [esp + 0x24]
cmp edi, edx
jb 0x4151f7
inc dword [esp + 0x28]
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x20]
cmp ecx, eax
jb 0x4151e9
xor edx, edx
mov dword [esp + 0x1c], edx
mov dword [esp + 0x18], edx
mov eax, dword [esp]
mov ecx, dword [esp + 0x1c]
lea edx, [eax + ecx*4]
jmp 0x415354
fld dword [edx]
fcomp dword [0x415554]
fnstsw ax
sahf
jae 0x41534d
fld dword [edx]
fchs
fstp dword [edx]
mov dword [esp + 0x18], 1
inc dword [esp + 0x1c]
add edx, 4
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x1c]
imul ecx, dword [esp + 0x24]
cmp ecx, eax
ja 0x415332
mov edx, dword [esp + 0x18]
test edx, edx
je 0x41537e
mov ecx, dword [esp + 0x14]
add dword [esp + 0x14], 0xffffffff
test ecx, ecx
jne 0x4151d3
xor eax, eax
mov dword [esp + 0x1c], eax
mov edx, dword [esp]
mov ecx, edx
mov dword [esp + 0x50], ecx
jmp 0x4153b3
mov eax, dword [esp + 0x50]
fld dword [eax]
fcomp dword [0x415554]
fnstsw ax
sahf
jne 0x4153aa
mov edx, dword [esp + 0x50]
mov dword [edx], 0x3f800000
inc dword [esp + 0x1c]
add dword [esp + 0x50], 4
mov eax, dword [esp + 0x20]
imul dword [esp + 0x24]
mov edx, dword [esp + 0x1c]
cmp eax, edx
ja 0x41538f
xor ecx, ecx
mov dword [esp + 0x28], ecx
mov eax, dword [esp + 0x40]
mov edx, eax
mov dword [esp + 0x50], edx
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x20]
cmp ecx, eax
jae 0x41551c
xor edi, edi
mov eax, dword [esp + 0x50]
mov edx, eax
mov dword [esp + 0x5c], edx
mov ecx, dword [esp + 0x24]
cmp edi, ecx
jae 0x415508
mov ecx, dword [0x4a9540]
mov eax, 4
sar eax, cl
imul dword [esp + 0x28]
mov dword [esp + 0x2c], eax
mov edx, dword [esp + 0x5c]
mov eax, edx
mov dword [esp + 0x58], eax
jmp 0x4154d8
mov esi, eax
mov eax, dword [esp + 0x58]
imul esi, edi
mov edx, eax
mov dword [esp + 0x54], edx
jmp 0x4154ba
mov ebx, dword [esp + 0x2c]
mov eax, dword [0x4a955c]
imul ebx, dword [0x4a9534]
add ebx, esi
mov edx, dword [esp + 0x54]
shl ebx, 3
add ebx, eax
mov ecx, dword [edx]
movzx eax, word [ebx + ebp*2]
cdq
idiv ecx
dec eax
jle 0x4154b9
mov eax, dword [esp + 0x30]
movzx eax, word [ebx + eax*2]
mov dword [esp + 0x8c], eax
fild dword [esp + 0x8c]
mov edx, dword [esp + 0x28]
imul edx, dword [esp + 0x24]
add edx, edi
mov ecx, dword [esp]
fmul dword [ecx + edx*4]
call fcn.0044d7fc
movzx edx, word [ebx + ebp*2]
cmp eax, edx
jle 0x4154b9
cmp eax, 0xffff
jge 0x415499
mov ecx, eax
jmp 0x41549e
mov ecx, 0xffff
test ecx, ecx
jge 0x4154a6
xor edx, edx
jmp 0x4154b5
cmp eax, 0xffff
jge 0x4154b1
mov edx, eax
jmp 0x4154b5
mov dx, 0xffff
mov word [ebx + ebp*2], dx
inc esi
mov ecx, dword [0x4a9540]
mov eax, 4
sar eax, cl
lea edx, [edi + 1]
imul edx
cmp esi, eax
jb 0x415433
inc dword [esp + 0x2c]
mov ecx, dword [0x4a9540]
mov eax, 4
sar eax, cl
mov edx, eax
mov ecx, dword [esp + 0x28]
inc ecx
imul edx, ecx
mov ecx, dword [esp + 0x2c]
cmp edx, ecx
ja 0x41541f
inc edi
mov eax, dword [esp + 0x24]
cmp edi, eax
jb 0x4153fb
inc dword [esp + 0x28]
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x20]
cmp edx, eax
jb 0x4153e3
inc ebp
add dword [esp + 0x40], 4
mov edx, dword [0x4a9520]
cmp ebp, edx
jb 0x415010
mov ecx, dword [esp]
push ecx
call fcn.004456c8
pop ecx
add esp, 0x90
pop ebp
pop edi
pop esi
pop ebx
ret