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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x3a4
push ebx
push esi
mov esi, dword [ebp + 0x18]
xor ecx, ecx
cmp esi, 3
push edi
mov dword [esp + 0x78], ecx
mov dword [esp + 0x70], ecx
jl 0x562d9c
fld qword [ebp + 0x24]
fcomp qword [ebp + 0x1c]
fnstsw ax
test ah, 0x40
jne 0x562d9c
fld qword [ebp + 0x24]
fsub qword [ebp + 0x1c]
mov edi, dword [ebp + 8]
xor ebx, ebx
mov dword [esp + 0x14], ecx
fmul qword [0x603788]
fld qword [ebp + 0x1c]
fadd qword [ebp + 0x24]
fmul qword [0x6031b8]
fld st(0)
fadd st(2)
fstp qword [esp + 0x30]
fsub st(1)
fstp qword [esp + 0x40]
fstp st(0)
fld qword [edi]
fcomp qword [esp + 0x30]
fnstsw ax
test ah, 1
je 0x562ad6
fld qword [edi]
fcomp qword [esp + 0x40]
fnstsw ax
test ah, 0x41
jne 0x562ad6
mov edx, 1
cmp esi, edx
jle 0x562ad6
lea esi, [edi + 8]
fld qword [esi]
fcomp qword [esp + 0x30]
fnstsw ax
test ah, 1
je 0x562ad4
fld qword [esi]
fcomp qword [esp + 0x40]
fnstsw ax
test ah, 0x41
jne 0x562ad4
mov eax, dword [ebp + 0x18]
inc edx
add esi, 8
cmp edx, eax
jl 0x562aad
jmp 0x562ad6
mov ecx, edx
fld qword [edi + ecx*8]
fcomp qword [esp + 0x30]
fnstsw ax
test ah, 1
jne 0x563313
mov eax, dword [ebp + 0x18]
or esi, 0xffffffff
inc ecx
mov dword [esp + 0xc], esi
cmp ecx, eax
mov dword [esp + 0x10], esi
mov dword [esp + 0x24], esi
jge 0x563c55
lea edx, [edi + ecx*8]
test ebx, ebx
je 0x562b17
fld qword [edx]
fcomp qword [esp + 0x40]
fnstsw ax
test ah, 0x41
jne 0x562b67
mov eax, dword [esp + 0x14]
test eax, eax
je 0x562b39
test ebx, ebx
jne 0x562b56
fld qword [edx]
fcomp qword [esp + 0x30]
fnstsw ax
test ah, 1
jne 0x562b56
mov ebx, 1
mov esi, ecx
jmp 0x562b56
test ebx, ebx
jne 0x562b56
fld qword [edx]
fcomp qword [esp + 0x40]
fnstsw ax
test ah, 0x41
je 0x562b56
mov dword [esp + 0x14], 1
mov dword [esp + 0xc], ecx
mov eax, dword [ebp + 0x18]
inc ecx
add edx, 8
cmp ecx, eax
jl 0x562b06
mov dword [esp + 0x10], esi
jmp 0x562b6f
mov dword [esp + 0x10], esi
mov dword [esp + 0x24], ecx
mov eax, dword [esp + 0xc]
test eax, eax
jle 0x563c55
test esi, esi
jle 0x5630d4
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [ebp + 8]
mov esi, dword [ebp + 0x28]
mov edi, dword [ebp + 0x24]
mov ebx, dword [ebp + 0x20]
sub eax, ecx
lea ecx, [edx + ecx*8]
lea edx, [esp + 0x18]
inc eax
push edx
push 0xc8
push eax
mov dword [esp + 0x78], eax
mov eax, dword [ebp + 0x1c]
push esi
push edi
push ebx
lea edx, [esp + 0xa8]
push eax
push edx
push ecx
mov dword [esp + 0x8c], ecx
call fcn.0054b6e0
add esp, 0x24
test eax, eax
jl 0x562d9c
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x24]
test eax, eax
mov dword [esp + 0x54], ecx
jle 0x562da8
mov edx, eax
mov eax, dword [esp + 0x10]
sub edx, eax
lea ecx, [edx + 1]
mov edx, dword [ebp + 8]
mov dword [esp + 0x74], ecx
lea eax, [edx + eax*8]
lea edx, [esp + 0x18]
push edx
push 0xc8
push ecx
mov ecx, dword [ebp + 0x1c]
push esi
push edi
push ebx
lea edx, [esp + 0xa8]
push ecx
push edx
push eax
mov dword [esp + 0x80], eax
call fcn.0054b6e0
add esp, 0x24
test eax, eax
jl 0x562d9c
fld qword [esp + 0x18]
fsub qword [esp + 0x50]
mov ebx, dword [esp + 0x24]
mov edx, dword [ebp + 8]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
fld st(0)
fmul qword [0x6034e0]
lea esi, [edx + ebx*8]
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], ecx
or ecx, 0xffffffff
fadd qword [esp + 0x50]
mov dword [esp + 0x14], ecx
mov dword [esp + 0x20], 0
fstp qword [esp + 0x30]
fld st(0)
fmul qword [0x60eaa0]
fadd qword [esp + 0x50]
fstp qword [esp + 0x60]
fld qword [esi]
fcomp qword [esp + 0x30]
fnstsw ax
test ah, 0x41
jne 0x562cdd
mov edi, dword [ebp + 0x18]
mov edx, ebx
cmp ebx, edi
jge 0x562cb2
fld qword [esi]
fcomp qword [esp + 0x30]
fnstsw ax
test ah, 0x41
jne 0x562cd9
inc edx
add esi, 8
cmp edx, edi
jl 0x562c9d
mov edi, dword [esp + 0x10]
cmp ecx, edi
mov edx, ecx
jl 0x562d1f
mov eax, dword [ebp + 8]
lea esi, [eax + ecx*8]
fld qword [esi]
fcomp qword [esp + 0x60]
fnstsw ax
test ah, 1
je 0x562d1b
dec edx
sub esi, 8
cmp edx, edi
jge 0x562cc2
jmp 0x562d1f
mov ecx, edx
jmp 0x562cb2
fld qword [esi]
fcomp qword [esp + 0x30]
fnstsw ax
test ah, 0x40
je 0x562cee
mov ecx, ebx
jmp 0x562cb2
mov edi, dword [esp + 0x10]
mov edx, ebx
cmp ebx, edi
jl 0x562cb6
fld qword [esi]
fcomp qword [esp + 0x30]
fnstsw ax
test ah, 1
je 0x562d0f
dec edx
sub esi, 8
cmp edx, edi
jge 0x562cf8
jmp 0x562cb6
mov ecx, edx
mov dword [esp + 0x20], 1
jmp 0x562cb6
mov dword [esp + 0x14], edx
test ecx, ecx
mov dword [esp + 0x24], 0xffffffff
jl 0x562d62
mov eax, dword [esp + 0x14]
test eax, eax
jl 0x562d62
mov edx, dword [esp + 0x20]
test edx, edx
je 0x562d40
cmp ecx, eax
jne 0x562d40
inc ecx
sub ecx, eax
sub ebx, eax
mov dword [esp + 0x70], ecx
mov dword [esp + 0x24], ebx
fild dword [esp + 0x70]
mov dword [esp + 0x70], 1
fdiv qword [ebp + 0xc]
fstp qword [esp + 0x88]
fmul qword [0x60eb00]
mov eax, dword [esp + 0x74]
lea ecx, [esp + 0x3c]
lea edx, [esp + 0x4c]
push ecx
mov ecx, dword [esp + 0x20]
push edx
mov edx, dword [esp + 0x20]
sub esp, 8
fstp qword [esp]
push eax
mov eax, dword [esp + 0x70]
push ecx
push edx
push eax
call fcn.0054b820
add esp, 0x20
test eax, eax
jge 0x562f41
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x24
mov eax, dword [ebp + 0x18]
mov ecx, dword [esp + 0x10]
mov edx, dword [ebp + 8]
sub eax, ecx
mov dword [esp + 0x14], eax
lea ecx, [edx + ecx*8]
lea edx, [esp + 0x18]
push edx
push 0xc8
push eax
mov eax, dword [ebp + 0x1c]
push esi
push edi
push ebx
lea edx, [esp + 0xa8]
push eax
push edx
push ecx
mov dword [esp + 0x80], ecx
call fcn.0054b6e0
add esp, 0x24
test eax, eax
jl 0x562d9c
fld qword [esp + 0x18]
fsub qword [esp + 0x50]
mov esi, dword [esp + 0x68]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x40], eax
fld st(0)
fmul qword [0x6034e0]
mov dword [esp + 0x44], ecx
or ecx, 0xffffffff
or ebx, 0xffffffff
mov dword [esp + 0x20], 0
fadd qword [esp + 0x50]
fstp qword [esp + 0x30]
fld st(0)
fmul qword [0x60eaa0]
fadd qword [esp + 0x50]
fstp qword [esp + 0x60]
fld qword [esi]
fcomp qword [esp + 0x30]
fnstsw ax
test ah, 0x41
jne 0x562e67
mov edx, dword [esp + 0xc]
mov edi, dword [esp + 0x10]
cmp edx, edi
jge 0x562e9f
fld qword [esi]
fcomp qword [esp + 0x30]
fnstsw ax
test ah, 0x41
jne 0x562e63
inc edx
add esi, 8
cmp edx, edi
jl 0x562e4c
jmp 0x562e9f
mov ecx, edx
jmp 0x562e9f
fld qword [esi]
fcomp qword [esp + 0x30]
fnstsw ax
test ah, 0x40
je 0x562e7a
mov ecx, dword [esp + 0xc]
jmp 0x562e9f
mov edx, dword [esp + 0xc]
fld qword [esi]
fcomp qword [esp + 0x30]
fnstsw ax
test ah, 1
je 0x562e95
dec edx
sub esi, 8
test edx, edx
jge 0x562e7e
jmp 0x562e9f
mov ecx, edx
mov dword [esp + 0x20], 1
test ecx, ecx
mov edx, ecx
jl 0x562ec4
mov eax, dword [ebp + 8]
lea esi, [eax + ecx*8]
fld qword [esi]
fcomp qword [esp + 0x60]
fnstsw ax
test ah, 1
je 0x562ec2
dec edx
sub esi, 8
test edx, edx
jge 0x562eab
jmp 0x562ec4
mov ebx, edx
test ecx, ecx
mov dword [esp + 0x24], 0xffffffff
jl 0x562f07
test ebx, ebx
jl 0x562f07
mov eax, dword [esp + 0x20]
test eax, eax
je 0x562ee1
cmp ecx, ebx
jne 0x562ee1
inc ecx
sub ecx, ebx
mov eax, dword [esp + 0xc]
mov dword [esp + 0x74], ecx
sub eax, ebx
fild dword [esp + 0x74]
mov dword [esp + 0x70], 1
mov dword [esp + 0x24], eax
fdiv qword [ebp + 0xc]
fstp qword [esp + 0x88]
fmul qword [0x60eb00]
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0x3c]
lea edx, [esp + 0x4c]
push ecx
mov ecx, dword [esp + 0x20]
push edx
mov edx, dword [esp + 0x20]
sub esp, 8
fstp qword [esp]
push eax
mov eax, dword [esp + 0x70]
push ecx
push edx
push eax
call fcn.0054b820
add esp, 0x20
test eax, eax
jl 0x562d9c
mov ebx, dword [esp + 0x5c]
or edx, 0xffffffff
mov dword [esp + 0x14], edx
mov dword [esp + 0x20], 0
fld qword [ebx]
fcomp qword [esp + 0x60]
fnstsw ax
test ah, 1
je 0x562fae
mov ecx, dword [esp + 0x10]
mov edi, dword [ebp + 0x18]
cmp ecx, edi
jge 0x562f83
mov esi, ebx
fld qword [esi]
fcomp qword [esp + 0x60]
fnstsw ax
test ah, 1
je 0x562faa
inc ecx
add esi, 8
cmp ecx, edi
jl 0x562f6e
mov esi, dword [esp + 0xc]
cmp edx, esi
mov ecx, edx
jl 0x562ff6
mov eax, dword [ebp + 8]
lea edi, [eax + edx*8]
fld qword [edi]
fcomp qword [esp + 0x30]
fnstsw ax
test ah, 0x41
jne 0x562ff2
dec ecx
sub edi, 8
cmp ecx, esi
jge 0x562f93
jmp 0x562ff6
mov edx, ecx
jmp 0x562f83
fld qword [ebx]
fcomp qword [esp + 0x60]
fnstsw ax
test ah, 0x40
je 0x562fc1
mov edx, dword [esp + 0x10]
jmp 0x562f83
mov ecx, dword [esp + 0x10]
mov esi, dword [esp + 0xc]
cmp ecx, esi
jl 0x562f87
mov edi, ebx
fld qword [edi]
fcomp qword [esp + 0x60]
fnstsw ax
test ah, 0x41
jne 0x562fe6
dec ecx
sub edi, 8
cmp ecx, esi
jge 0x562fcf
jmp 0x562f87
mov edx, ecx
mov dword [esp + 0x20], 1
jmp 0x562f87
mov esi, ecx
jmp 0x562ffa
mov esi, dword [esp + 0x14]
test edx, edx
jl 0x56302b
test esi, esi
jl 0x56302b
mov eax, dword [esp + 0x20]
test eax, eax
je 0x56300f
cmp edx, esi
jne 0x56300f
inc edx
sub edx, esi
mov dword [esp + 0x78], 1
mov dword [esp + 0x74], edx
fild dword [esp + 0x74]
fdiv qword [ebp + 0xc]
fstp qword [esp + 0x80]
fld qword [esp + 0x40]
fsub qword [esp + 0x50]
mov eax, dword [esp + 0x6c]
lea ecx, [esp + 0x28]
lea edx, [esp + 0x2c]
push ecx
mov ecx, dword [esp + 0x58]
push edx
mov edx, dword [esp + 0x58]
sub esp, 8
fmul qword [0x60eb00]
fstp qword [esp]
push eax
mov eax, dword [esp + 0x7c]
push ecx
push edx
push eax
call fcn.0054b940
add esp, 0x20
test eax, eax
jl 0x562d9c
test esi, esi
jl 0x563095
mov edi, dword [esp + 0x4c]
mov eax, dword [esp + 0x10]
test edi, edi
jl 0x563087
mov ecx, eax
sub ecx, esi
add edi, ecx
mov dword [esp + 0x4c], edi
mov edx, dword [esp + 0x3c]
test edx, edx
jl 0x5630a3
sub eax, esi
add edx, eax
jmp 0x56309f
or edi, 0xffffffff
or edx, 0xffffffff
mov dword [esp + 0x4c], edi
mov dword [esp + 0x3c], edx
mov eax, dword [esp + 0x24]
test eax, eax
jl 0x563b3e
mov ecx, dword [esp + 0x2c]
test ecx, ecx
jl 0x5630bd
add ecx, eax
mov dword [esp + 0x2c], ecx
mov ecx, dword [esp + 0x28]
test ecx, ecx
jl 0x563b49
add ecx, eax
mov dword [esp + 0x28], ecx
jmp 0x563b49
jge 0x563c55
mov eax, dword [ebp + 0x18]
mov ecx, dword [esp + 0xc]
mov edx, dword [ebp + 8]
mov esi, dword [ebp + 0x28]
mov edi, dword [ebp + 0x24]
mov ebx, dword [ebp + 0x20]
sub eax, ecx
lea ecx, [edx + ecx*8]
lea edx, [esp + 0x18]
mov dword [esp + 0x14], eax
push edx
push 0xc8
push eax
mov eax, dword [ebp + 0x1c]
push esi
push edi
push ebx
lea edx, [esp + 0xa8]
push eax
push edx
push ecx
mov dword [esp + 0x8c], ecx
call fcn.0054b6e0
add esp, 0x24
test eax, eax
jl 0x562d9c
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0xc]
lea edx, [esp + 0x18]
inc eax
push edx
push 0xc8
push eax
mov eax, dword [ebp + 8]
mov dword [esp + 0x60], ecx
mov ecx, dword [ebp + 0x1c]
push esi
push edi
push ebx
lea edx, [esp + 0xa8]
push ecx
push edx
push eax
call fcn.0054b6e0
add esp, 0x24
test eax, eax
jl 0x562d9c
fld qword [esp + 0x18]
fsub qword [esp + 0x50]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x40], ecx
mov ecx, dword [esp + 0x68]
fld st(0)
fmul qword [0x6034e0]
mov dword [esp + 0x44], edx
or edx, 0xffffffff
or ebx, 0xffffffff
mov dword [esp + 0x20], 0
fadd qword [esp + 0x50]
fstp qword [esp + 0x30]
fld st(0)
fmul qword [0x60eaa0]
fadd qword [esp + 0x50]
fstp qword [esp + 0x60]
fld qword [ecx]
fcomp qword [esp + 0x30]
fnstsw ax
test ah, 0x41
jne 0x5631ec
mov ecx, dword [esp + 0xc]
mov edi, dword [ebp + 0x18]
cmp ecx, edi
jge 0x563228
mov esi, dword [esp + 0x68]
fld qword [esi]
fcomp qword [esp + 0x30]
fnstsw ax
test ah, 0x41
jne 0x5631e8
inc ecx
add esi, 8
cmp ecx, edi
jl 0x5631d1
jmp 0x563228
mov edx, ecx
jmp 0x563228
fld qword [ecx]
fcomp qword [esp + 0x30]
fnstsw ax
test ah, 0x40
je 0x5631ff
mov edx, dword [esp + 0xc]
jmp 0x563228
mov ecx, dword [esp + 0xc]
mov esi, dword [esp + 0x68]
fld qword [esi]
fcomp qword [esp + 0x30]
fnstsw ax
test ah, 1
je 0x56321e
dec ecx
sub esi, 8
test ecx, ecx
jge 0x563207
jmp 0x563228
mov edx, ecx
mov dword [esp + 0x20], 1
test edx, edx
mov ecx, edx
jl 0x56327a
mov eax, dword [ebp + 8]
lea esi, [eax + edx*8]
fld qword [esi]
fcomp qword [esp + 0x60]
fnstsw ax
test ah, 1
je 0x56324b
dec ecx
sub esi, 8
test ecx, ecx
jge 0x563234
jmp 0x56324d
mov ebx, ecx
test ebx, ebx
jl 0x56327a
mov eax, dword [esp + 0x20]
test eax, eax
je 0x56325e
cmp edx, ebx
jne 0x56325e
inc edx
sub edx, ebx
mov dword [esp + 0x70], 1
mov dword [esp + 0x6c], edx
fild dword [esp + 0x6c]
fdiv qword [ebp + 0xc]
fstp qword [esp + 0x88]
fmul qword [0x60eb00]
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0x28]
lea edx, [esp + 0x2c]
push ecx
mov ecx, dword [esp + 0x58]
push edx
mov edx, dword [esp + 0x58]
sub esp, 8
fstp qword [esp]
push eax
mov eax, dword [esp + 0x7c]
push ecx
push edx
push eax
call fcn.0054b940
add esp, 0x20
test eax, eax
jl 0x562d9c
test ebx, ebx
jl 0x5632f5
mov eax, dword [esp + 0x2c]
test eax, eax
mov eax, dword [esp + 0xc]
jl 0x5632d2
mov edx, dword [esp + 0x2c]
mov ecx, eax
sub ecx, ebx
add edx, ecx
mov dword [esp + 0x2c], edx
mov ecx, dword [esp + 0x28]
test ecx, ecx
jl 0x563300
sub eax, ebx
or edi, 0xffffffff
add ecx, eax
or edx, 0xffffffff
mov dword [esp + 0x28], ecx
mov dword [esp + 0x4c], edi
mov dword [esp + 0x3c], edx
jmp 0x563b49
or eax, 0xffffffff
mov dword [esp + 0x2c], eax
mov dword [esp + 0x28], eax
or edi, 0xffffffff
or edx, 0xffffffff
mov dword [esp + 0x4c], edi
mov dword [esp + 0x3c], edx
jmp 0x563b49
fld qword [edi + ecx*8]
fcomp qword [esp + 0x40]
fnstsw ax
test ah, 0x41
je 0x563c55
mov eax, dword [ebp + 0x18]
or esi, 0xffffffff
inc ecx
mov dword [esp + 0x10], esi
cmp ecx, eax
mov dword [esp + 0xc], esi
mov dword [esp + 0x24], esi
jge 0x563c55
lea edx, [edi + ecx*8]
test ebx, ebx
je 0x563354
fld qword [edx]
fcomp qword [esp + 0x30]
fnstsw ax
test ah, 1
je 0x5633a4
mov eax, dword [esp + 0x14]
test eax, eax
je 0x563378
test ebx, ebx
jne 0x563393
fld qword [edx]
fcomp qword [esp + 0x40]
fnstsw ax
test ah, 0x41
je 0x563393
mov ebx, 1
mov dword [esp + 0xc], ecx
jmp 0x563393
test ebx, ebx
jne 0x563393
fld qword [edx]
fcomp qword [esp + 0x30]
fnstsw ax
test ah, 1
jne 0x563393
mov dword [esp + 0x14], 1
mov esi, ecx
mov eax, dword [ebp + 0x18]
inc ecx
add edx, 8
cmp ecx, eax
jl 0x563343
mov dword [esp + 0x10], esi
jmp 0x5633ac
mov dword [esp + 0x10], esi
mov dword [esp + 0x24], ecx
mov eax, dword [esp + 0xc]
test eax, eax
jle 0x56391a
test esi, esi
jle 0x563c55
mov ecx, dword [esp + 0x10]
mov edx, eax
sub edx, ecx
mov esi, dword [ebp + 0x28]
mov edi, dword [ebp + 0x24]
mov ebx, dword [ebp + 0x20]
lea eax, [edx + 1]
mov edx, dword [ebp + 8]
mov dword [esp + 0x7c], eax
lea ecx, [edx + ecx*8]
lea edx, [esp + 0x18]
push edx
push 0xc8
push eax
mov eax, dword [ebp + 0x1c]
push esi
push edi
push ebx
lea edx, [esp + 0xa8]
push eax
push edx
push ecx
mov dword [esp + 0x80], ecx
call fcn.0054b6e0
add esp, 0x24
test eax, eax
jl 0x562d9c
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x24]
test eax, eax
mov dword [esp + 0x44], ecx
jle 0x5635e5
mov edx, eax
mov eax, dword [esp + 0xc]
sub edx, eax
lea ecx, [edx + 1]
mov edx, dword [ebp + 8]
mov dword [esp + 0x74], ecx
lea eax, [edx + eax*8]
lea edx, [esp + 0x18]
push edx
push 0xc8
push ecx
mov ecx, dword [ebp + 0x1c]
push esi
push edi
push ebx
lea edx, [esp + 0xa8]
push ecx
push edx
push eax
mov dword [esp + 0x8c], eax
call fcn.0054b6e0
add esp, 0x24
test eax, eax
jl 0x562d9c
fld qword [esp + 0x40]
fsub qword [esp + 0x18]
mov ebx, dword [esp + 0x24]
mov edx, dword [ebp + 8]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
fld st(0)
fmul qword [0x6034e0]
lea esi, [edx + ebx*8]
mov dword [esp + 0x50], eax
mov dword [esp + 0x54], ecx
or ecx, 0xffffffff
fadd qword [esp + 0x18]
mov dword [esp + 0x14], ecx
mov dword [esp + 0x20], 0
fstp qword [esp + 0x30]
fld st(0)
fmul qword [0x60eaa0]
fadd qword [esp + 0x18]
fstp qword [esp + 0x60]
fld qword [esi]
fcomp qword [esp + 0x60]
fnstsw ax
test ah, 1
je 0x56351a
mov edi, dword [ebp + 0x18]
mov edx, ebx
cmp ebx, edi
jge 0x5634ef
fld qword [esi]
fcomp qword [esp + 0x60]
fnstsw ax
test ah, 1
je 0x563516
inc edx
add esi, 8
cmp edx, edi
jl 0x5634da
mov edi, dword [esp + 0xc]
cmp ecx, edi
mov edx, ecx
jl 0x56355c
mov eax, dword [ebp + 8]
lea esi, [eax + ecx*8]
fld qword [esi]
fcomp qword [esp + 0x30]
fnstsw ax
test ah, 0x41
jne 0x563558
dec edx
sub esi, 8
cmp edx, edi
jge 0x5634ff
jmp 0x56355c
mov ecx, edx
jmp 0x5634ef
fld qword [esi]
fcomp qword [esp + 0x60]
fnstsw ax
test ah, 0x40
je 0x56352b
mov ecx, ebx
jmp 0x5634ef
mov edi, dword [esp + 0xc]
mov edx, ebx
cmp ebx, edi
jl 0x5634f3
fld qword [esi]
fcomp qword [esp + 0x60]
fnstsw ax
test ah, 0x41
jne 0x56354c
dec edx
sub esi, 8
cmp edx, edi
jge 0x563535
jmp 0x5634f3
mov ecx, edx
mov dword [esp + 0x20], 1
jmp 0x5634f3
mov dword [esp + 0x14], edx
test ecx, ecx
mov dword [esp + 0x24], 0xffffffff
jl 0x56359f
mov eax, dword [esp + 0x14]
test eax, eax
jl 0x56359f
mov edx, dword [esp + 0x20]
test edx, edx
je 0x56357d
cmp ecx, eax
jne 0x56357d
inc ecx
sub ecx, eax
sub ebx, eax
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x78], 1
fild dword [esp + 0x6c]
mov dword [esp + 0x24], ebx
fdiv qword [ebp + 0xc]
fstp qword [esp + 0x80]
fmul qword [0x60eb00]
mov eax, dword [esp + 0x74]
lea ecx, [esp + 0x28]
lea edx, [esp + 0x2c]
push ecx
mov ecx, dword [esp + 0x20]
push edx
mov edx, dword [esp + 0x20]
sub esp, 8
fstp qword [esp]
push eax
mov eax, dword [esp + 0x7c]
push ecx
push edx
push eax
call fcn.0054b940
add esp, 0x20
test eax, eax
jge 0x563782
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x24
mov eax, dword [ebp + 0x18]
mov ecx, dword [esp + 0xc]
mov edx, dword [ebp + 8]
sub eax, ecx
mov dword [esp + 0x14], eax
lea ecx, [edx + ecx*8]
lea edx, [esp + 0x18]
push edx
push 0xc8
push eax
mov eax, dword [ebp + 0x1c]
push esi
push edi
push ebx
lea edx, [esp + 0xa8]
push eax
push edx
push ecx
mov dword [esp + 0x8c], ecx
call fcn.0054b6e0
add esp, 0x24
test eax, eax
jl 0x562d9c
fld qword [esp + 0x40]
fsub qword [esp + 0x18]
mov esi, dword [esp + 0x5c]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x50], eax
fld st(0)
fmul qword [0x6034e0]
mov dword [esp + 0x54], ecx
or ecx, 0xffffffff
or ebx, 0xffffffff
mov dword [esp + 0x20], 0
fadd qword [esp + 0x18]
fstp qword [esp + 0x30]
fld st(0)
fmul qword [0x60eaa0]
fadd qword [esp + 0x18]
fstp qword [esp + 0x60]
fld qword [esi]
fcomp qword [esp + 0x60]
fnstsw ax
test ah, 1
je 0x5636a8
mov edx, dword [esp + 0x10]
mov edi, dword [esp + 0xc]
cmp edx, edi
jge 0x5636e0
fld qword [esi]
fcomp qword [esp + 0x60]
fnstsw ax
test ah, 1
je 0x5636a4
inc edx
add esi, 8
cmp edx, edi
jl 0x56368d
jmp 0x5636e0
mov ecx, edx
jmp 0x5636e0
fld qword [esi]
fcomp qword [esp + 0x60]
fnstsw ax
test ah, 0x40
je 0x5636bb
mov ecx, dword [esp + 0x10]
jmp 0x5636e0
mov edx, dword [esp + 0x10]
fld qword [esi]
fcomp qword [esp + 0x60]
fnstsw ax
test ah, 0x41
jne 0x5636d6
dec edx
sub esi, 8
test edx, edx
jge 0x5636bf
jmp 0x5636e0
mov ecx, edx
mov dword [esp + 0x20], 1
test ecx, ecx
mov edx, ecx
jl 0x563705
mov eax, dword [ebp + 8]
lea esi, [eax + ecx*8]
fld qword [esi]
fcomp qword [esp + 0x30]
fnstsw ax
test ah, 0x41
jne 0x563703
dec edx
sub esi, 8
test edx, edx
jge 0x5636ec
jmp 0x563705
mov ebx, edx
test ecx, ecx
mov dword [esp + 0x24], 0xffffffff
jl 0x563748
test ebx, ebx
jl 0x563748
mov eax, dword [esp + 0x20]
test eax, eax
je 0x563722
cmp ecx, ebx
jne 0x563722
inc ecx
sub ecx, ebx
mov eax, dword [esp + 0x10]
mov dword [esp + 0x6c], ecx
sub eax, ebx
fild dword [esp + 0x6c]
mov dword [esp + 0x78], 1
mov dword [esp + 0x24], eax
fdiv qword [ebp + 0xc]
fstp qword [esp + 0x80]
fmul qword [0x60eb00]
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0x28]
lea edx, [esp + 0x2c]
push ecx
mov ecx, dword [esp + 0x20]
push edx
mov edx, dword [esp + 0x20]
sub esp, 8
fstp qword [esp]
push eax
mov eax, dword [esp + 0x7c]
push ecx
push edx
push eax
call fcn.0054b940
add esp, 0x20
test eax, eax
jl 0x562d9c
mov ebx, dword [esp + 0x68]
or edx, 0xffffffff
mov dword [esp + 0x14], edx
mov dword [esp + 0x20], 0
fld qword [ebx]
fcomp qword [esp + 0x30]
fnstsw ax
test ah, 0x41
jne 0x5637ef
mov ecx, dword [esp + 0xc]
mov edi, dword [ebp + 0x18]
cmp ecx, edi
jge 0x5637c4
mov esi, ebx
fld qword [esi]
fcomp qword [esp + 0x30]
fnstsw ax
test ah, 0x41
jne 0x5637eb
inc ecx
add esi, 8
cmp ecx, edi
jl 0x5637af
mov esi, dword [esp + 0x10]
cmp edx, esi
mov ecx, edx
jl 0x563837
mov eax, dword [ebp + 8]
lea edi, [eax + edx*8]
fld qword [edi]
fcomp qword [esp + 0x60]
fnstsw ax
test ah, 1
je 0x563833
dec ecx
sub edi, 8
cmp ecx, esi
jge 0x5637d4
jmp 0x563837
mov edx, ecx
jmp 0x5637c4
fld qword [ebx]
fcomp qword [esp + 0x30]
fnstsw ax
test ah, 0x40
je 0x563802
mov edx, dword [esp + 0xc]
jmp 0x5637c4
mov ecx, dword [esp + 0xc]
mov esi, dword [esp + 0x10]
cmp ecx, esi
jl 0x5637c8
mov edi, ebx
fld qword [edi]
fcomp qword [esp + 0x30]
fnstsw ax
test ah, 1
je 0x563827
dec ecx
sub edi, 8
cmp ecx, esi
jge 0x563810
jmp 0x5637c8
mov edx, ecx
mov dword [esp + 0x20], 1
jmp 0x5637c8
mov esi, ecx
jmp 0x56383b
mov esi, dword [esp + 0x14]
test edx, edx
jl 0x56386c
test esi, esi
jl 0x56386c
mov eax, dword [esp + 0x20]
test eax, eax
je 0x563850
cmp edx, esi
jne 0x563850
inc edx
sub edx, esi
mov dword [esp + 0x70], 1
mov dword [esp + 0x6c], edx
fild dword [esp + 0x6c]
fdiv qword [ebp + 0xc]
fstp qword [esp + 0x88]
fld qword [esp + 0x40]
fsub qword [esp + 0x50]
mov eax, dword [esp + 0x7c]
lea ecx, [esp + 0x3c]
lea edx, [esp + 0x4c]
push ecx
mov ecx, dword [esp + 0x48]
push edx
mov edx, dword [esp + 0x48]
sub esp, 8
fmul qword [0x60eb00]
fstp qword [esp]
push eax
mov eax, dword [esp + 0x70]
push ecx
push edx
push eax
call fcn.0054b820
add esp, 0x20
test eax, eax
jl 0x562d9c
test esi, esi
jl 0x5638de
mov eax, dword [esp + 0x2c]
test eax, eax
mov eax, dword [esp + 0xc]
jl 0x5638cc
mov edx, dword [esp + 0x2c]
mov ecx, eax
sub ecx, esi
add edx, ecx
mov dword [esp + 0x2c], edx
mov ecx, dword [esp + 0x28]
test ecx, ecx
jl 0x5638e9
sub eax, esi
add ecx, eax
mov dword [esp + 0x28], ecx
jmp 0x5638e9
or eax, 0xffffffff
mov dword [esp + 0x2c], eax
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x24]
test eax, eax
jl 0x563300
mov edi, dword [esp + 0x4c]
test edi, edi
jl 0x563903
add edi, eax
mov dword [esp + 0x4c], edi
mov edx, dword [esp + 0x3c]
test edx, edx
jl 0x563b49
add edx, eax
mov dword [esp + 0x3c], edx
jmp 0x563b49
test esi, esi
jle 0x563c55
mov eax, dword [esp + 0xc]
test eax, eax
jge 0x563c55
mov eax, dword [ebp + 0x18]
mov ecx, dword [esp + 0x10]
mov edx, dword [ebp + 8]
mov esi, dword [ebp + 0x28]
mov edi, dword [ebp + 0x24]
mov ebx, dword [ebp + 0x20]
sub eax, ecx
lea ecx, [edx + ecx*8]
lea edx, [esp + 0x18]
mov dword [esp + 0x14], eax
push edx
push 0xc8
push eax
mov eax, dword [ebp + 0x1c]
push esi
push edi
push ebx
lea edx, [esp + 0xa8]
push eax
push edx
push ecx
mov dword [esp + 0x80], ecx
call fcn.0054b6e0
add esp, 0x24
test eax, eax
jl 0x562d9c
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x10]
lea edx, [esp + 0x18]
inc eax
push edx
push 0xc8
push eax
mov eax, dword [ebp + 8]
mov dword [esp + 0x50], ecx
mov ecx, dword [ebp + 0x1c]
push esi
push edi
push ebx
lea edx, [esp + 0xa8]
push ecx
push edx
push eax
call fcn.0054b6e0
add esp, 0x24
test eax, eax
jl 0x562d9c
fld qword [esp + 0x40]
fsub qword [esp + 0x18]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x50], ecx
mov ecx, dword [esp + 0x5c]
fld st(0)
fmul qword [0x6034e0]
mov dword [esp + 0x54], edx
or edx, 0xffffffff
or ebx, 0xffffffff
mov dword [esp + 0x20], 0
fadd qword [esp + 0x18]
fstp qword [esp + 0x30]
fld st(0)
fmul qword [0x60eaa0]
fadd qword [esp + 0x18]
fstp qword [esp + 0x60]
fld qword [ecx]
fcomp qword [esp + 0x60]
fnstsw ax
test ah, 1
je 0x563a40
mov ecx, dword [esp + 0x10]
mov edi, dword [ebp + 0x18]
cmp ecx, edi
jge 0x563a7c
mov esi, dword [esp + 0x5c]
fld qword [esi]
fcomp qword [esp + 0x60]
fnstsw ax
test ah, 1
je 0x563a3c
inc ecx
add esi, 8
cmp ecx, edi
jl 0x563a25
jmp 0x563a7c
mov edx, ecx
jmp 0x563a7c
fld qword [ecx]
fcomp qword [esp + 0x60]
fnstsw ax
test ah, 0x40
je 0x563a53
mov edx, dword [esp + 0x10]
jmp 0x563a7c
mov ecx, dword [esp + 0x10]
mov esi, dword [esp + 0x5c]
fld qword [esi]
fcomp qword [esp + 0x60]
fnstsw ax
test ah, 0x41
jne 0x563a72
dec ecx
sub esi, 8
test ecx, ecx
jge 0x563a5b
jmp 0x563a7c
mov edx, ecx
mov dword [esp + 0x20], 1
test edx, edx
mov ecx, edx
jl 0x563ace
mov eax, dword [ebp + 8]
lea esi, [eax + edx*8]
fld qword [esi]
fcomp qword [esp + 0x30]
fnstsw ax
test ah, 0x41
jne 0x563a9f
dec ecx
sub esi, 8
test ecx, ecx
jge 0x563a88
jmp 0x563aa1
mov ebx, ecx
test ebx, ebx
jl 0x563ace
mov eax, dword [esp + 0x20]
test eax, eax
je 0x563ab2
cmp edx, ebx
jne 0x563ab2
inc edx
sub edx, ebx
mov dword [esp + 0x78], 1
mov dword [esp + 0x7c], edx
fild dword [esp + 0x7c]
fdiv qword [ebp + 0xc]
fstp qword [esp + 0x80]
fmul qword [0x60eb00]
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0x3c]
lea edx, [esp + 0x4c]
push ecx
mov ecx, dword [esp + 0x48]
push edx
mov edx, dword [esp + 0x48]
sub esp, 8
fstp qword [esp]
push eax
mov eax, dword [esp + 0x70]
push ecx
push edx
push eax
call fcn.0054b820
add esp, 0x20
test eax, eax
jl 0x562d9c
test ebx, ebx
jl 0x563b30
mov edi, dword [esp + 0x4c]
mov eax, dword [esp + 0x10]
test edi, edi
jl 0x563b22
mov ecx, eax
sub ecx, ebx
add edi, ecx
mov dword [esp + 0x4c], edi
mov edx, dword [esp + 0x3c]
test edx, edx
jl 0x563b3e
sub eax, ebx
add edx, eax
jmp 0x563b3a
or edi, 0xffffffff
or edx, 0xffffffff
mov dword [esp + 0x4c], edi
mov dword [esp + 0x3c], edx
or eax, 0xffffffff
mov dword [esp + 0x2c], eax
mov dword [esp + 0x28], eax
fld qword [esp + 0x50]
mov eax, dword [ebp + 0x14]
mov ecx, dword [esp + 0x40]
mov esi, dword [esp + 0x44]
fstp qword [eax]
fld qword [esp + 0x40]
fsub qword [esp + 0x50]
fld qword [ebp + 0x24]
fsub qword [esp + 0x40]
mov dword [eax + 8], ecx
mov dword [eax + 0xc], esi
mov esi, dword [esp + 0x78]
mov ecx, 0xbff00000
fdiv st(1)
test esi, esi
fmul qword [0x601ad8]
fstp qword [eax + 0x10]
fld qword [esp + 0x50]
fsub qword [ebp + 0x1c]
fdiv st(1)
fmul qword [0x601ad8]
fstp qword [eax + 0x18]
fstp st(0)
je 0x563bb1
mov esi, dword [esp + 0x80]
mov ebx, dword [esp + 0x84]
mov dword [eax + 0x20], esi
mov dword [eax + 0x24], ebx
jmp 0x563bbb
mov dword [eax + 0x20], 0
mov dword [eax + 0x24], ecx
mov esi, dword [esp + 0x70]
test esi, esi
je 0x563bd9
mov esi, dword [esp + 0x88]
mov ebx, dword [esp + 0x8c]
mov dword [eax + 0x28], esi
mov dword [eax + 0x2c], ebx
jmp 0x563be3
mov dword [eax + 0x28], 0
mov dword [eax + 0x2c], ecx
xor esi, esi
cmp edi, esi
jl 0x563bf5
fild dword [esp + 0x4c]
fdiv qword [ebp + 0xc]
fstp qword [eax + 0x30]
jmp 0x563bfb
mov dword [eax + 0x30], esi
mov dword [eax + 0x34], ecx
cmp edx, esi
jl 0x563c0b
fild dword [esp + 0x3c]
fdiv qword [ebp + 0xc]
fstp qword [eax + 0x38]
jmp 0x563c11
mov dword [eax + 0x38], esi
mov dword [eax + 0x3c], ecx
cmp dword [esp + 0x2c], esi
jl 0x563c23
fild dword [esp + 0x2c]
fdiv qword [ebp + 0xc]
fstp qword [eax + 0x40]
jmp 0x563c29
mov dword [eax + 0x40], esi
mov dword [eax + 0x44], ecx
cmp dword [esp + 0x28], esi
jl 0x563c44
fild dword [esp + 0x28]
fdiv qword [ebp + 0xc]
fstp qword [eax + 0x48]
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x24
mov dword [eax + 0x48], esi
mov dword [eax + 0x4c], ecx
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x24
mov eax, dword [ebp + 0x14]
xor edx, edx
mov ecx, 0xbff00000
pop edi
mov dword [eax], edx
mov dword [eax + 8], edx
mov dword [eax + 0x10], edx
mov dword [eax + 0x18], edx
mov dword [eax + 0x20], edx
mov dword [eax + 0x28], edx
mov dword [eax + 0x30], edx
mov dword [eax + 0x38], edx
mov dword [eax + 0x40], edx
mov dword [eax + 0x48], edx
mov dword [eax + 4], ecx
mov dword [eax + 0xc], ecx
mov dword [eax + 0x14], ecx
mov dword [eax + 0x1c], ecx
mov dword [eax + 0x24], ecx
mov dword [eax + 0x2c], ecx
mov dword [eax + 0x34], ecx
mov dword [eax + 0x3c], ecx
mov dword [eax + 0x44], ecx
mov dword [eax + 0x4c], ecx
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret 0x24