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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
mov eax, 0x1db74
call fcn.004180f0
push ebx
push esi
mov esi, dword [ebp + 8]
mov eax, dword [esi + 4]
mov ebx, dword [eax + 4]
mov ecx, dword [esi]
mov edx, dword [ecx + 4]
sub ebx, 1
mov dword [esp + 0x38], ebx
mov ebx, dword [eax]
mov eax, dword [eax + 8]
sub ebx, 1
mov dword [esp + 0x3c], ebx
mov ebx, dword [esi + 8]
mov ebx, dword [ebx + 8]
mov dword [esp + 0x54], ebx
mov ebx, dword [ecx + 8]
fld qword [ebx]
push edi
fld qword [ebp + 0xc]
mov edi, dword [ecx]
fcom st(1)
mov dword [esp + 0x50], eax
sub edi, 1
sub edx, 1
mov dword [esp + 0x30], edi
fnstsw ax
fstp st(1)
test ah, 5
jp 0x453a58
fstp st(0)
fld qword [ebx]
fst qword [ebp + 0xc]
fcom qword [ebx + edx*8]
fnstsw ax
test ah, 0x41
jne 0x453a6a
fstp st(0)
fld qword [ebx + edx*8]
fst qword [ebp + 0xc]
mov edx, dword [esp + 0x50]
fld qword [edx]
fld qword [ebp + 0x14]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 5
jp 0x453a85
fstp st(0)
fld qword [edx]
fst qword [ebp + 0x14]
mov ebx, dword [esp + 0x3c]
fcomp qword [edx + ebx*8]
fnstsw ax
test ah, 0x41
jne 0x453a99
fld qword [edx + ebx*8]
fstp qword [ebp + 0x14]
cmp byte [esi + 0x10], 0
mov ebx, dword [ebp + 0x1c]
mov dword [esp + 0x20], ebx
mov dword [esp + 0x5c], ebx
jne 0x453abe
cmp edi, ebx
jge 0x453ab2
mov dword [esp + 0x20], edi
mov eax, dword [esp + 0x40]
cmp eax, ebx
jge 0x453abe
mov dword [esp + 0x5c], eax
sub esp, 8
fstp qword [esp]
push ecx
call fcn.0046cc20
fld qword [ebp + 0xc]
mov edx, dword [esp + 0x2c]
add esp, 0xc
lea ecx, [esp + 0x6c0]
push ecx
push edx
push eax
mov dword [esp + 0x60], eax
mov eax, dword [esi]
sub esp, 8
fstp qword [esp]
push eax
call fcn.004ba490
fld qword [ebp + 0x14]
mov ecx, dword [esi + 4]
fstp qword [esp + 0x10]
add esp, 0x10
push ecx
call fcn.0046cc20
fld qword [ebp + 0x14]
mov ecx, dword [esp + 0x68]
add esp, 0xc
lea edx, [esp + 0x54e0]
push edx
mov edx, dword [esi + 4]
push ecx
push eax
sub esp, 8
fstp qword [esp]
push edx
mov dword [esp + 0x68], eax
call fcn.004ba490
fldz
add esp, 0x18
add edi, 1
cmp byte [esi + 0x10], 0
jne 0x453fff
cmp edi, ebx
jg 0x453bc8
sub ebx, edi
add ebx, 1
xor edx, edx
cmp ebx, 4
lea esi, [ebx - 1]
jl 0x453b94
mov eax, dword [ebp + 0x20]
mov eax, dword [eax + edi*4]
mov ecx, ebx
add eax, 8
shr ecx, 2
lea edx, [ecx*4]
fst qword [eax + 8]
add eax, 0x60
sub ecx, 1
fst qword [eax - 0x60]
fst qword [eax - 0x68]
fst qword [eax - 0x40]
fst qword [eax - 0x48]
fst qword [eax - 0x50]
fst qword [eax - 0x28]
fst qword [eax - 0x30]
fst qword [eax - 0x38]
fst qword [eax - 0x10]
fst qword [eax - 0x18]
fst qword [eax - 0x20]
jne 0x453b68
cmp edx, esi
jg 0x453bba
mov eax, dword [ebp + 0x20]
mov eax, dword [eax + edi*4]
lea ecx, [edx + edx*2]
sub esi, edx
lea eax, [eax + ecx*8]
add esi, 1
fst qword [eax + 0x10]
add eax, 0x18
sub esi, 1
fst qword [eax - 0x10]
fst qword [eax - 0x18]
jne 0x453ba9
add edi, 1
sub ebx, 1
cmp edi, dword [ebp + 0x1c]
jle 0x453b49
mov ebx, dword [ebp + 0x1c]
mov eax, dword [esp + 0x40]
add eax, 1
cmp eax, ebx
jg 0x453c71
mov edx, dword [ebp + 0x1c]
lea ecx, [eax + eax*2]
add ecx, ecx
add ecx, ecx
sub edx, eax
add ecx, ecx
add edx, 1
mov dword [esp + 0x38], edx
xor esi, esi
cmp edx, 4
lea ebx, [edx - 1]
jl 0x453c46
mov eax, dword [ebp + 0x20]
add eax, 8
shr edx, 2
mov edi, edx
lea esi, [edi*4]
mov edx, dword [eax - 8]
fst qword [edx + ecx + 0x10]
add edx, ecx
fst qword [edx + 8]
add eax, 0x10
fst qword [edx]
mov edx, dword [eax - 0x14]
fst qword [edx + ecx + 0x10]
add edx, ecx
fst qword [edx + 8]
fst qword [edx]
mov edx, dword [eax - 0x10]
add edx, ecx
fst qword [edx + 0x10]
fst qword [edx + 8]
fst qword [edx]
mov edx, dword [eax - 0xc]
add edx, ecx
sub edi, 1
fst qword [edx + 0x10]
fst qword [edx + 8]
fst qword [edx]
jne 0x453c08
cmp esi, ebx
jg 0x453c61
mov edx, dword [ebp + 0x20]
mov eax, dword [edx + esi*4]
add eax, ecx
fst qword [eax + 0x10]
add esi, 1
cmp esi, ebx
fst qword [eax + 8]
fst qword [eax]
jle 0x453c4d
add ecx, 0x18
sub dword [esp + 0x38], 1
mov edx, ebx
jne 0x453bec
mov eax, dword [esp + 0x20]
test eax, eax
jl 0x4548a2
mov ecx, dword [ebp + 0x20]
mov edx, dword [ebp + 0x1c]
mov dword [esp + 0x20], ecx
lea ecx, [esp + 0x6c8]
add eax, 1
mov dword [esp + 0x24], 0
mov dword [esp + 0x28], edx
mov dword [esp + 0x44], ecx
mov dword [esp + 0x3c], eax
cmp dword [esp + 0x40], 0
jl 0x453e33
mov eax, dword [esp + 0x40]
mov esi, dword [esp + 0x50]
sub esi, eax
shl esi, 5
add eax, 1
lea ecx, [esp + 0x88]
mov dword [esp + 0x48], eax
mov edi, dword [esp + 0x30]
fst qword [ecx + 8]
lea eax, [edi + 1]
fst qword [ecx]
xor edx, edx
fst qword [ecx - 8]
cmp eax, 4
jl 0x453dc7
mov edx, dword [esp + 0x54]
mov ebx, dword [esp + 0x58]
mov eax, dword [esp + 0x44]
sub edx, edi
add edi, 1
shr edi, 2
mov dword [esp + 0x60], edi
add edi, edi
add edi, edi
lea edx, [ebx + edx*4 + 8]
mov dword [esp + 0x4c], edi
mov ebx, dword [edx - 4]
mov edi, dword [edx - 8]
fld qword [edi + esi]
add ebx, esi
fmul qword [eax - 8]
mov dword [esp + 0x2c], ebx
mov ebx, dword [edx]
add ebx, esi
fadd qword [ecx - 8]
add edi, esi
fld qword [eax]
mov dword [esp + 0x34], ebx
mov ebx, dword [edx + 4]
add ebx, esi
mov dword [esp + 0x38], ebx
mov ebx, dword [esp + 0x2c]
fmul qword [ebx]
mov ebx, dword [esp + 0x34]
add edx, 0x10
add eax, 0x20
sub dword [esp + 0x60], 1
faddp st(1)
fld qword [ebx]
mov ebx, dword [esp + 0x38]
fmul qword [eax - 0x18]
faddp st(1)
fld qword [ebx]
mov ebx, dword [esp + 0x2c]
fmul qword [eax - 0x10]
faddp st(1)
fstp qword [ecx - 8]
fld qword [edi + 8]
fmul qword [eax - 0x28]
fadd qword [ecx]
fld qword [ebx + 8]
mov ebx, dword [esp + 0x34]
fmul qword [eax - 0x20]
faddp st(1)
fld qword [ebx + 8]
mov ebx, dword [esp + 0x38]
fmul qword [eax - 0x18]
faddp st(1)
fld qword [ebx + 8]
fmul qword [eax - 0x10]
faddp st(1)
fstp qword [ecx]
fld qword [edi + 0x10]
mov edi, dword [esp + 0x2c]
fmul qword [eax - 0x28]
fadd qword [ecx + 8]
fld qword [edi + 0x10]
mov edi, dword [esp + 0x34]
fmul qword [eax - 0x20]
faddp st(1)
fld qword [edi + 0x10]
fmul qword [eax - 0x18]
faddp st(1)
fld qword [ebx + 0x10]
fmul qword [eax - 0x10]
faddp st(1)
fstp qword [ecx + 8]
jne 0x453d09
mov edx, dword [esp + 0x4c]
mov edi, dword [esp + 0x30]
cmp edx, edi
jg 0x453e22
mov ebx, dword [esp + 0x58]
mov eax, dword [esp + 0x24]
mov edi, edx
sub edi, dword [esp + 0x30]
add eax, edx
add edi, dword [esp + 0x54]
lea eax, [esp + eax*8 + 0x6c0]
lea ebx, [ebx + edi*4]
mov edi, dword [esp + 0x30]
sub edi, edx
add edi, 1
mov edx, dword [ebx]
fld qword [edx + esi]
add edx, esi
fmul qword [eax]
add ebx, 4
add eax, 8
sub edi, 1
fadd qword [ecx - 8]
fstp qword [ecx - 8]
fld qword [edx + 8]
fmul qword [eax - 8]
fadd qword [ecx]
fstp qword [ecx]
fld qword [edx + 0x10]
fmul qword [eax - 8]
fadd qword [ecx + 8]
fstp qword [ecx + 8]
jne 0x453df2
add ecx, 0x20
add esi, 0x20
sub dword [esp + 0x48], 1
jne 0x453ccb
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x5c]
cmp ecx, eax
jge 0x453e41
mov eax, ecx
xor ebx, ebx
cmp eax, ebx
jl 0x453fd1
mov edx, dword [esp + 0x20]
lea ecx, [esp + 0x54e8]
mov dword [esp + 0x34], ecx
mov ecx, dword [edx]
mov dword [esp + 0x60], ecx
add ecx, 8
add eax, 1
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x2c]
fst qword [eax + 8]
xor edi, edi
fst qword [eax]
mov eax, dword [esp + 0x60]
fst qword [eax + ebx]
mov eax, dword [esp + 0x40]
add eax, 1
cmp eax, 4
jl 0x453f53
mov ecx, dword [esp + 0x20]
mov esi, dword [esp + 0x40]
mov edx, dword [ecx]
mov ecx, dword [esp + 0x34]
add esi, 1
shr esi, 2
lea eax, [ebx + edx]
lea edx, [esp + 0x88]
lea edi, [esi*4]
fld qword [edx - 8]
add ecx, 0x20
fmul qword [ecx - 0x28]
add edx, 0x80
sub esi, 1
fadd qword [eax]
fstp qword [eax]
fld qword [edx - 0x80]
fmul qword [ecx - 0x28]
fadd qword [eax + 8]
fstp qword [eax + 8]
fld qword [edx - 0x78]
fmul qword [ecx - 0x28]
fadd qword [eax + 0x10]
fstp qword [eax + 0x10]
fld qword [edx - 0x68]
fmul qword [ecx - 0x20]
fadd qword [eax]
fstp qword [eax]
fld qword [edx - 0x60]
fmul qword [ecx - 0x20]
fadd qword [eax + 8]
fstp qword [eax + 8]
fld qword [edx - 0x58]
fmul qword [ecx - 0x20]
fadd qword [eax + 0x10]
fstp qword [eax + 0x10]
fld qword [edx - 0x48]
fmul qword [ecx - 0x18]
fadd qword [eax]
fstp qword [eax]
fld qword [edx - 0x40]
fmul qword [ecx - 0x18]
fadd qword [eax + 8]
fstp qword [eax + 8]
fld qword [edx - 0x38]
fmul qword [ecx - 0x18]
fadd qword [eax + 0x10]
fstp qword [eax + 0x10]
fld qword [edx - 0x28]
fmul qword [ecx - 0x10]
fadd qword [eax]
fstp qword [eax]
fld qword [edx - 0x20]
fmul qword [ecx - 0x10]
fadd qword [eax + 8]
fstp qword [eax + 8]
fld qword [edx - 0x18]
fmul qword [ecx - 0x10]
fadd qword [eax + 0x10]
fstp qword [eax + 0x10]
jne 0x453eb9
cmp edi, dword [esp + 0x40]
jg 0x453fb1
mov eax, dword [esp + 0x20]
mov ecx, dword [eax]
mov esi, dword [esp + 0x40]
lea eax, [ebx + ecx]
mov ecx, dword [esp + 0x4c]
mov edx, edi
shl edx, 5
add ecx, edi
sub esi, edi
lea edx, [esp + edx + 0x88]
lea ecx, [esp + ecx*8 + 0x54e0]
add esi, 1
fld qword [edx - 8]
add ecx, 8
fmul qword [ecx - 8]
add edx, 0x20
sub esi, 1
fadd qword [eax]
fstp qword [eax]
fld qword [ecx - 8]
fmul qword [edx - 0x20]
fadd qword [eax + 8]
fstp qword [eax + 8]
fld qword [edx - 0x18]
fmul qword [ecx - 8]
fadd qword [eax + 0x10]
fstp qword [eax + 0x10]
jne 0x453f84
add dword [esp + 0x34], 0x190
add dword [esp + 0x2c], 0x18
add dword [esp + 0x4c], 0x32
add ebx, 0x18
sub dword [esp + 0x48], 1
jne 0x453e72
add dword [esp + 0x44], 0x190
add dword [esp + 0x24], 0x32
add dword [esp + 0x20], 4
mov eax, 1
sub dword [esp + 0x28], eax
sub dword [esp + 0x3c], eax
jne 0x453ca5
fstp st(0)
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp edi, ebx
jg 0x454046
mov edx, edi
imul edx, edx, 0x640
mov eax, ebx
sub eax, edi
lea esi, [esp + edx + 0xa308]
mov edx, eax
lea edi, [eax + 1]
test edx, edx
jl 0x454038
mov eax, esi
lea ecx, [edx + 1]
fst qword [eax - 8]
add eax, 0x20
sub ecx, 1
fst qword [eax - 0x20]
fst qword [eax - 0x18]
fst qword [eax - 0x10]
jne 0x454024
sub edx, 1
add esi, 0x640
sub edi, 1
jne 0x45401b
mov ecx, dword [esp + 0x40]
add ecx, 1
cmp ecx, ebx
jg 0x454099
mov eax, ecx
shl eax, 5
lea esi, [esp + eax + 0xa308]
mov eax, ebx
sub eax, ecx
mov edx, eax
lea edi, [eax + 1]
test edx, edx
jl 0x45408e
mov eax, esi
lea ecx, [edx + 1]
fst qword [eax - 8]
add eax, 0x640
sub ecx, 1
fst qword [eax - 0x640]
fst qword [eax - 0x638]
fst qword [eax - 0x630]
jne 0x45406f
sub edx, 1
add esi, 0x20
sub edi, 1
jne 0x454066
mov eax, dword [esp + 0x20]
test eax, eax
jl 0x45443e
lea ecx, [esp + 0xa308]
mov dword [esp + 0x38], ecx
mov edx, ebx
lea ecx, [esp + 0x6c8]
add eax, 1
mov dword [esp + 0x34], 0
mov dword [esp + 0x2c], edx
mov dword [esp + 0x44], ecx
mov dword [esp + 0x60], eax
cmp dword [esp + 0x40], 0
jl 0x454295
mov eax, dword [esp + 0x40]
mov edi, dword [esp + 0x50]
sub edi, eax
shl edi, 5
add eax, 1
lea ecx, [esp + 0x88]
mov dword [esp + 0x24], edi
mov dword [esp + 0x48], eax
mov esi, dword [esp + 0x30]
fst qword [ecx - 8]
lea eax, [esi + 1]
fst qword [ecx]
xor edx, edx
fst qword [ecx + 8]
cmp eax, 4
fst qword [ecx + 0x10]
jl 0x454219
mov edx, dword [esp + 0x54]
mov ebx, dword [esp + 0x58]
mov eax, dword [esp + 0x44]
sub edx, esi
add esi, 1
shr esi, 2
mov dword [esp + 0x3c], esi
add esi, esi
add esi, esi
lea edx, [ebx + edx*4 + 8]
mov dword [esp + 0x4c], esi
mov ebx, dword [edx - 4]
fld qword [eax - 8]
mov esi, dword [edx - 8]
fmul qword [esi + edi]
add ebx, edi
mov dword [esp + 0x20], ebx
mov ebx, dword [edx]
fadd qword [ecx - 8]
add ebx, edi
add esi, edi
mov dword [esp + 0x28], ebx
mov ebx, dword [edx + 4]
add edi, ebx
mov ebx, dword [esp + 0x20]
fld qword [ebx]
mov ebx, dword [esp + 0x28]
fmul qword [eax]
add edx, 0x10
add eax, 0x20
sub dword [esp + 0x3c], 1
faddp st(1)
fld qword [eax - 0x18]
fmul qword [ebx]
mov ebx, dword [esp + 0x20]
faddp st(1)
fld qword [eax - 0x10]
fmul qword [edi]
faddp st(1)
fstp qword [ecx - 8]
fld qword [esi + 8]
fmul qword [eax - 0x28]
fadd qword [ecx]
fld qword [ebx + 8]
mov ebx, dword [esp + 0x28]
fmul qword [eax - 0x20]
faddp st(1)
fld qword [ebx + 8]
mov ebx, dword [esp + 0x20]
fmul qword [eax - 0x18]
faddp st(1)
fld qword [edi + 8]
fmul qword [eax - 0x10]
faddp st(1)
fstp qword [ecx]
fld qword [esi + 0x10]
fmul qword [eax - 0x28]
fadd qword [ecx + 8]
fld qword [ebx + 0x10]
mov ebx, dword [esp + 0x28]
fmul qword [eax - 0x20]
faddp st(1)
fld qword [ebx + 0x10]
fmul qword [eax - 0x18]
faddp st(1)
fld qword [edi + 0x10]
fmul qword [eax - 0x10]
faddp st(1)
fstp qword [ecx + 8]
fld qword [esi + 0x18]
mov esi, dword [esp + 0x20]
fmul qword [eax - 0x28]
fadd qword [ecx + 0x10]
fld qword [esi + 0x18]
fmul qword [eax - 0x20]
faddp st(1)
fld qword [ebx + 0x18]
fmul qword [eax - 0x18]
faddp st(1)
fld qword [edi + 0x18]
mov edi, dword [esp + 0x24]
fmul qword [eax - 0x10]
faddp st(1)
fstp qword [ecx + 0x10]
jne 0x45413b
mov edx, dword [esp + 0x4c]
mov esi, dword [esp + 0x30]
cmp edx, esi
jg 0x454280
mov ebx, dword [esp + 0x58]
mov eax, dword [esp + 0x34]
mov esi, edx
sub esi, dword [esp + 0x30]
add eax, edx
add esi, dword [esp + 0x54]
lea eax, [esp + eax*8 + 0x6c0]
lea ebx, [ebx + esi*4]
mov esi, dword [esp + 0x30]
sub esi, edx
add esi, 1
mov edx, dword [ebx]
fld qword [edx + edi]
add edx, edi
fmul qword [eax]
add ebx, 4
add eax, 8
sub esi, 1
fadd qword [ecx - 8]
fstp qword [ecx - 8]
fld qword [edx + 8]
fmul qword [eax - 8]
fadd qword [ecx]
fstp qword [ecx]
fld qword [edx + 0x10]
fmul qword [eax - 8]
fadd qword [ecx + 8]
fstp qword [ecx + 8]
fld qword [edx + 0x18]
fmul qword [eax - 8]
fadd qword [ecx + 0x10]
fstp qword [ecx + 0x10]
jne 0x454244
add edi, 0x20
add ecx, 0x20
sub dword [esp + 0x48], 1
mov dword [esp + 0x24], edi
jne 0x4540fa
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x5c]
cmp eax, ecx
jge 0x4542a3
mov ecx, eax
test ecx, ecx
jl 0x454416
mov ebx, dword [esp + 0x40]
lea eax, [esp + 0x54e8]
add ecx, 1
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0x24], 0
mov dword [esp + 0x3c], ecx
fst qword [eax - 8]
lea ecx, [ebx + 1]
fst qword [eax]
xor edi, edi
cmp ecx, 4
fst qword [eax + 8]
fst qword [eax + 0x10]
jl 0x45439e
mov ecx, dword [esp + 0x28]
lea esi, [ebx + 1]
shr esi, 2
lea edx, [esp + 0x88]
lea edi, [esi*4]
fld qword [edx - 8]
add ecx, 0x20
fmul qword [ecx - 0x28]
add edx, 0x80
sub esi, 1
fadd qword [eax - 8]
fld qword [edx - 0x68]
fmul qword [ecx - 0x20]
faddp st(1)
fld qword [edx - 0x48]
fmul qword [ecx - 0x18]
faddp st(1)
fld qword [edx - 0x28]
fmul qword [ecx - 0x10]
faddp st(1)
fstp qword [eax - 8]
fld qword [ecx - 0x28]
fmul qword [edx - 0x80]
fadd qword [eax]
fld qword [edx - 0x60]
fmul qword [ecx - 0x20]
faddp st(1)
fld qword [edx - 0x40]
fmul qword [ecx - 0x18]
faddp st(1)
fld qword [edx - 0x20]
fmul qword [ecx - 0x10]
faddp st(1)
fstp qword [eax]
fld qword [edx - 0x78]
fmul qword [ecx - 0x28]
fadd qword [eax + 8]
fld qword [edx - 0x58]
fmul qword [ecx - 0x20]
faddp st(1)
fld qword [edx - 0x38]
fmul qword [ecx - 0x18]
faddp st(1)
fld qword [edx - 0x18]
fmul qword [ecx - 0x10]
faddp st(1)
fstp qword [eax + 8]
fld qword [edx - 0x70]
fmul qword [ecx - 0x28]
fadd qword [eax + 0x10]
fld qword [edx - 0x50]
fmul qword [ecx - 0x20]
faddp st(1)
fld qword [edx - 0x30]
fmul qword [ecx - 0x18]
faddp st(1)
fld qword [edx - 0x10]
fmul qword [ecx - 0x10]
faddp st(1)
fstp qword [eax + 0x10]
jne 0x4542fe
cmp edi, ebx
jg 0x4543fb
mov ecx, edi
shl ecx, 5
lea edx, [esp + ecx + 0x88]
mov ecx, dword [esp + 0x24]
mov esi, ebx
add ecx, edi
sub esi, edi
lea ecx, [esp + ecx*8 + 0x54e0]
add esi, 1
fld qword [edx - 8]
add ecx, 8
fmul qword [ecx - 8]
add edx, 0x20
sub esi, 1
fadd qword [eax - 8]
fstp qword [eax - 8]
fld qword [ecx - 8]
fmul qword [edx - 0x20]
fadd qword [eax]
fstp qword [eax]
fld qword [edx - 0x18]
fmul qword [ecx - 8]
fadd qword [eax + 8]
fstp qword [eax + 8]
fld qword [edx - 0x10]
fmul qword [ecx - 8]
fadd qword [eax + 0x10]
fstp qword [eax + 0x10]
jne 0x4543c2
add dword [esp + 0x28], 0x190
add dword [esp + 0x24], 0x32
add eax, 0x20
sub dword [esp + 0x3c], 1
jne 0x4542cd
add dword [esp + 0x44], 0x190
add dword [esp + 0x34], 0x32
add dword [esp + 0x38], 0x640
mov eax, 1
sub dword [esp + 0x2c], eax
sub dword [esp + 0x60], eax
jne 0x4540d0
mov eax, dword [ebp + 0x1c]
test eax, eax
mov dword [esp + 0x34], 0
jl 0x4548a2
mov ecx, dword [ebp + 0x20]
lea edx, [esp + 0xa308]
mov dword [esp + 0x2c], edx
mov dword [esp + 0x30], ecx
mov dword [esp + 0x54], 0x55cf38
mov dword [esp + 0x58], eax
mov edx, dword [esp + 0x54]
fld qword [edx]
xor edi, edi
cmp dword [esp + 0x58], edi
fst qword [esp + 0x60]
jl 0x454875
mov eax, dword [esp + 0x30]
mov eax, dword [eax]
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x48], eax
add eax, 0x10
mov dword [esp + 0x3c], eax
mov eax, 0x55cf38
sub eax, 0x18
mov dword [esp + 0x20], edi
mov dword [esp + 0x5c], eax
mov dword [esp + 0x44], ecx
cmp edi, 4
fld qword [eax + 0x18]
mov ecx, dword [esp + 0x44]
fld qword [ecx - 8]
fld qword [ecx]
fld qword [ecx + 8]
mov ecx, 1
jl 0x454598
mov ebx, dword [esp + 0x20]
mov esi, eax
mov eax, dword [esp + 0x30]
mov eax, dword [eax]
lea edx, [esp + 0xa358]
lea eax, [ebx + eax - 8]
fld qword [edx - 0x20]
add ecx, 4
fmul st(4)
lea ebx, [edi - 3]
fld qword [ecx*8 + 0x55cf18]
add edx, 0x80
fmul qword [esi + 0x10]
sub esi, 0x20
sub eax, 0x60
cmp ecx, ebx
fdivp st(1)
fchs
fld qword [eax + 0x50]
fmul st(1)
faddp st(4)
fld qword [eax + 0x58]
fmul st(1)
faddp st(3)
fmul qword [eax + 0x60]
faddp st(1)
fld qword [edx - 0x80]
fmul st(4)
fld qword [ecx*8 + 0x55cf20]
fmul qword [esi + 0x28]
fdivp st(1)
fchs
fld qword [eax + 0x38]
fmul st(1)
faddp st(4)
fld qword [eax + 0x40]
fmul st(1)
faddp st(3)
fmul qword [eax + 0x48]
faddp st(1)
fld qword [edx - 0x60]
fmul st(4)
fld qword [ecx*8 + 0x55cf28]
fmul qword [esi + 0x20]
fdivp st(1)
fchs
fld qword [eax + 0x20]
fmul st(1)
faddp st(4)
fld qword [eax + 0x28]
fmul st(1)
faddp st(3)
fmul qword [eax + 0x30]
faddp st(1)
fld qword [edx - 0x40]
fmul st(4)
fld qword [ecx*8 + 0x55cf30]
fmul qword [esi + 0x18]
fdivp st(1)
fchs
fld qword [eax + 8]
fmul st(1)
faddp st(4)
fld qword [eax + 0x10]
fmul st(1)
faddp st(3)
fmul qword [eax + 0x18]
faddp st(1)
jle 0x4544e2
mov eax, dword [esp + 0x5c]
cmp ecx, edi
jg 0x4545fc
mov esi, dword [esp + 0x30]
mov esi, dword [esi]
mov edx, ecx
shl edx, 5
lea ebx, [esp + edx + 0xa318]
mov edx, edi
sub edx, ecx
mov dword [esp + 0x50], edx
lea edx, [edx + edx*2]
lea edx, [esi + edx*8]
mov esi, dword [esp + 0x50]
lea esi, [esi*8 + 0x55cf38]
fld st(3)
add ecx, 1
fmul qword [ebx]
add ebx, 0x20
fld qword [ecx*8 + 0x55cf30]
sub esi, 8
fmul qword [esi + 8]
sub edx, 0x18
cmp ecx, edi
fdivp st(1)
fchs
fld qword [edx + 0x18]
fmul st(1)
faddp st(4)
fld qword [edx + 0x20]
fmul st(1)
faddp st(3)
fmul qword [edx + 0x28]
faddp st(1)
jle 0x4545c7
mov ecx, dword [esp + 0x54]
cmp ecx, 0x55cf40
mov esi, 1
mov dword [esp + 0x4c], esi
jl 0x45481f
mov ebx, dword [esp + 0x30]
add ebx, 0xfffffffc
lea edx, [esp + 0xa998]
add ecx, 0xfffffff8
mov dword [esp + 0x24], 0x32
mov dword [esp + 0x50], edx
mov dword [esp + 0x28], ebx
mov dword [esp + 0x38], ecx
jmp 0x454642
fxch st(1)
fxch st(2)
fxch st(1)
fld qword [esi*8 + 0x55cf38]
mov ecx, dword [esp + 0x38]
fmul qword [ecx]
mov ecx, dword [ebx]
fld qword [edx - 0x40]
mov esi, dword [esp + 0x20]
fmulp st(6)
add ecx, esi
cmp eax, 0x55cf40
fdiv st(5), st(0)
fxch st(5)
fchs
fld qword [ecx]
fmul st(1)
faddp st(4)
fxch st(3)
fstp qword [esp + 0x68]
fld qword [ecx + 8]
fmul st(3)
faddp st(2)
fxch st(1)
fstp qword [esp + 0x70]
fld qword [ecx + 0x10]
mov ecx, 1
fmulp st(2)
faddp st(1)
fstp qword [esp + 0x78]
fld st(2)
fld st(3)
fld st(4)
jl 0x45475a
mov esi, eax
mov eax, dword [ebx]
mov ebx, dword [esp + 0x20]
lea eax, [ebx + eax - 8]
fld qword [edx - 0x20]
add ecx, 4
fmul st(4)
lea ebx, [edi - 3]
fld qword [ecx*8 + 0x55cf18]
add edx, 0x80
fmul qword [esi + 0x10]
sub esi, 0x20
sub eax, 0x60
cmp ecx, ebx
fdivp st(1)
fld qword [eax + 0x50]
fmul st(1)
faddp st(2)
fld qword [eax + 0x58]
fmul st(1)
faddp st(3)
fmul qword [eax + 0x60]
faddp st(3)
fld qword [edx - 0x80]
fmul st(4)
fld qword [ecx*8 + 0x55cf20]
fmul qword [esi + 0x28]
fdivp st(1)
fld qword [eax + 0x38]
fmul st(1)
faddp st(2)
fld qword [eax + 0x40]
fmul st(1)
faddp st(3)
fmul qword [eax + 0x48]
faddp st(3)
fld qword [edx - 0x60]
fmul st(4)
fld qword [ecx*8 + 0x55cf28]
fmul qword [esi + 0x20]
fdivp st(1)
fld qword [eax + 0x20]
fmul st(1)
faddp st(2)
fld qword [eax + 0x28]
fmul st(1)
faddp st(3)
fmul qword [eax + 0x30]
faddp st(3)
fld qword [edx - 0x40]
fmul st(4)
fld qword [ecx*8 + 0x55cf30]
fmul qword [esi + 0x18]
fdivp st(1)
fld qword [eax + 8]
fmul st(1)
faddp st(2)
fld qword [eax + 0x10]
fmul st(1)
faddp st(3)
fmul qword [eax + 0x18]
faddp st(3)
jle 0x4546a8
mov eax, dword [esp + 0x5c]
mov ebx, dword [esp + 0x28]
cmp ecx, edi
jg 0x4547bc
mov edx, dword [esp + 0x24]
mov ebx, dword [ebx]
add edx, ecx
shl edx, 5
mov esi, edi
sub esi, ecx
lea eax, [esi + esi*2]
lea edx, [esp + edx + 0xa318]
lea eax, [ebx + eax*8]
lea esi, [esi*8 + 0x55cf38]
fld qword [edx]
add ecx, 1
fmul st(4)
add edx, 0x20
fld qword [ecx*8 + 0x55cf30]
sub esi, 8
fmul qword [esi + 8]
sub eax, 0x18
cmp ecx, edi
fdivp st(1)
fld st(0)
fmul qword [eax + 0x18]
faddp st(2)
fld qword [eax + 0x20]
fmul st(1)
faddp st(3)
fmul qword [eax + 0x28]
faddp st(3)
jle 0x454781
mov ebx, dword [esp + 0x28]
mov eax, dword [esp + 0x5c]
fld qword [esp + 0x60]
mov esi, dword [esp + 0x4c]
fld st(0)
mov edx, dword [esp + 0x50]
fdivrp st(6)
sub dword [esp + 0x38], 8
add dword [esp + 0x24], 0x32
add esi, 1
add edx, 0x640
sub ebx, 4
cmp esi, dword [esp + 0x34]
mov dword [esp + 0x4c], esi
mov dword [esp + 0x50], edx
mov dword [esp + 0x28], ebx
fxch st(5)
fchs
fmul st(1), st(0)
fxch st(1)
fadd qword [esp + 0x68]
fxch st(2)
fmul st(1)
fadd qword [esp + 0x70]
fxch st(3)
fmulp st(1)
fadd qword [esp + 0x78]
jle 0x45463c
fstp st(3)
fld qword [esp + 0xa318]
jmp 0x45482e
fstp st(3)
fld qword [esp + 0xa318]
fxch st(1)
fxch st(2)
fxch st(1)
fdiv st(1), st(0)
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x48]
add dword [esp + 0x44], 0x20
add edi, 1
add eax, 8
add edx, 0x18
mov dword [esp + 0x5c], eax
mov dword [esp + 0x20], edx
fxch st(1)
fstp qword [edx + ecx - 0x18]
mov ecx, dword [esp + 0x3c]
add ecx, 0x18
cmp edi, dword [esp + 0x58]
fdiv st(1), st(0)
mov dword [esp + 0x3c], ecx
fxch st(1)
fstp qword [ecx - 0x20]
fdivp st(1)
fstp qword [ecx - 0x18]
jle 0x4544ae
mov eax, dword [esp + 0x34]
fstp st(0)
sub dword [esp + 0x58], 1
add dword [esp + 0x54], 8
add dword [esp + 0x30], 4
add dword [esp + 0x2c], 0x640
add eax, 1
cmp eax, dword [ebp + 0x1c]
mov dword [esp + 0x34], eax
jle 0x45446f
pop edi
fstp st(0)
pop esi
pop ebx
mov esp, ebp
pop ebp
ret