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

Disassembly:
push ebx
push esi
push edi
push ebp
sub esp, 0xd0
mov ebp, dword [esp + 0xec]
test ebp, ebp
mov ebx, ecx
mov dword [esp + 0x10], 0xd
je 0x6147fe
mov ecx, ebp
call fcn.004f4930
test al, al
jne 0x613ab2
cmp byte [esp + 0xf0], 0
jne 0x613990
cmp dword [ebp + 0x184], 0
jne 0x613ab2
cmp dword [ebx + 0x1a8], ebp
jne 0x613980
mov ecx, ebp
push ebx
push 0x12
call fcn.00521f10
jmp 0x613ab2
mov ecx, ebp
push ebx
push 0x11
call fcn.00521f10
jmp 0x613ab2
mov esi, dword [ebp + 0x3d8]
mov al, byte [esi + 0x24]
mov dl, byte [esi + 0x25]
cmp dl, al
jle 0x6139f0
cmp byte [ebp + 0x160], 2
je 0x6139f0
mov eax, dword [ebp + 0x3a8]
cmp byte [eax + 0x1f8], 2
je 0x6139f0
call fcn.004bc120
mov edi, dword [eax + 0x170]
mov eax, dword [ebp + 0x3a8]
cmp edi, eax
jne 0x6139f0
call fcn.0044fe30
test al, al
jne 0x6139f0
mov eax, dword [ebp + 0x3a8]
mov ecx, ebp
push eax
push 0x12
call fcn.00521f10
jmp 0x613ab2
mov esi, dword [ebp + 0x3d8]
mov al, byte [esi + 0x24]
mov cl, byte [esi + 0x25]
cmp cl, al
jle 0x613a33
cmp byte [ebp + 0x160], 2
je 0x613a33
mov eax, dword [ebp + 0x3a8]
cmp byte [eax + 0x1f8], 2
je 0x613a33
call fcn.0044fe30
test al, al
jne 0x613a33
mov eax, dword [ebp + 0x3a8]
mov ecx, ebp
push eax
push 0x12
call fcn.00521f10
jmp 0x613ab2
mov edi, dword [ebp + 0x3d8]
mov al, byte [edi + 0x24]
mov dl, byte [edi + 0x25]
cmp dl, al
jg 0x613ab2
cmp byte [ebp + 0x160], 2
je 0x613ab2
mov eax, dword [ebp + 0x3a8]
cmp byte [eax + 0x1f8], 2
je 0x613ab2
call fcn.0044fe30
test al, al
jne 0x613ab2
mov ecx, ebp
push 0x2f
call fcn.005224b0
call fcn.006499f0
and eax, 0xffff
mov dword [esp + 0x28], eax
fild dword [esp + 0x28]
fmul dword [0x6d7744]
fmul dword [0x6d7924]
fnstcw word [esp + 0x14]
mov eax, dword [esp + 0x14]
or byte [esp + 0x15], 0xc
fldcw word [esp + 0x14]
mov dword [esp + 0x14], eax
fistp dword [esp + 0x28]
fldcw word [esp + 0x14]
mov eax, dword [esp + 0x28]
mov byte [ebp + 0x334], al
mov al, byte [ebp + 0x50]
and al, 7
cmp al, 3
jne 0x613ae6
mov eax, dword [ebp + 0x4c]
push 0x2000
push eax
call fcn.004075f0
test eax, eax
pop ecx
pop ecx
je 0x613ae6
nop
push 0x2000
push eax
or word [eax + 0x2e], 4
call fcn.004075a0
test eax, eax
pop ecx
pop ecx
jne 0x613ad0
cmp dword [ebp + 0x244], 0xb
jne 0x613af6
mov ecx, ebp
call fcn.004f7920
mov dword [ebp + 0x244], 1
mov esi, dword [ebp + 0x1f4]
mov eax, dword [ebp + 0x4c]
push dword [0x6d778c]
push 3
push esi
push eax
call fcn.00405640
add esp, 0x10
mov word [ebp + 0x380], 0xf
push ebp
push 0
call fcn.00500c60
pop ecx
pop ecx
mov ecx, ebp
push 1
call fcn.0050d110
lea esi, [ebx + 0x24]
fldz
fld dword [esi + 8]
fcomp dword [0x6d7724]
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x613b84
fld dword [ebx + 0x14]
fchs
fld dword [ebx + 0x18]
fpatan
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp st(1)
fld dword [0x6d776c]
push eax
fadd st(1)
fstp dword [esp]
fstp st(0)
call fcn.004a57f0
fstp dword [esp + 0x28]
pop ecx
lea ecx, [ebp + 4]
push dword [esp + 0x24]
jmp 0x613ba1
fld dword [ebx + 0x14]
fchs
fld dword [ebx + 0x18]
fpatan
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp st(1)
push eax
fst dword [esp]
fstp st(0)
lea ecx, [ebp + 4]
call fcn.004bba80
fldz
fldz
fldz
fld dword [ebp + 0xb8]
fdiv dword [ebx + 0xb8]
mov edx, dword [esp + 0xe4]
mov eax, edx
test eax, eax
fstp dword [esp + 0x18]
je 0x613e12
sub eax, 6
je 0x614070
sub eax, 0x21
je 0x613ce0
sub eax, 4
je 0x613e37
sub eax, 1
je 0x613c00
sub eax, 1
je 0x613e12
jmp 0x614070
mov eax, dword [ebp + 0x3a8]
add eax, 0x70
fld dword [eax]
fstp dword [ebp + 0x70]
fld dword [eax + 4]
fstp dword [ebp + 0x74]
fld dword [eax + 8]
fstp dword [ebp + 0x78]
fcompp
fstp st(0)
call fcn.006499f0
and eax, 0xffff
mov ecx, ebp
mov dword [esp + 0x28], eax
push eax
fldz
fild dword [esp + 0x2c]
fmul dword [0x6d7744]
fmul dword [0x6d77d8]
fadd dword [0x6d77e0]
fstp dword [esp]
fld dword [esp + 0x1c]
fmul dword [0x6d76e0]
push eax
fmul dword [ebx + 0x104]
fstp st(1)
fld dword [ebx + 0x110]
fmul st(1)
fstp dword [esp]
fld dword [ebx + 0x10c]
push eax
fmul st(1)
fstp dword [esp]
fstp st(0)
call fcn.004badc0
mov dword [ebp + 0x3f8], ebx
movzx eax, byte [esp + 0xe8]
cmp eax, 3
ja case.default.0x613c8e
jmp dword [eax*4 + 0x6d7a88]
mov dword [esp + 0x10], 0x1b
jmp case.default.0x613c8e
mov dword [esp + 0x10], 0x18
jmp case.default.0x613c8e
mov dword [esp + 0x10], 0x7e
jmp case.default.0x613c8e
mov dword [esp + 0x10], 0x17
cmp byte [ebx + 0x4dc], 0
jne 0x61435d
mov al, byte [ebp + 0x158]
and al, 0xfb
or al, 4
mov byte [ebp + 0x158], al
jmp 0x61435d
mov eax, dword [ebp + 0x3a8]
add eax, 0x70
fld dword [eax]
fstp dword [ebp + 0x70]
fld dword [eax + 4]
fstp dword [ebp + 0x74]
fld dword [eax + 8]
fstp dword [ebp + 0x78]
cmp byte [0x78403c], 0
jne 0x613d14
mov byte [0x78403c], 1
mov dword [0x784038], 0x41000000
cmp byte [0x784044], 0
jne 0x613d2e
mov byte [0x784044], 1
mov dword [0x784040], 0x41700000
fld dword [0x784040]
fstp dword [esp + 0x20]
fld dword [0x784038]
fstp dword [esp + 0x1c]
fcompp
fstp st(0)
call fcn.006499f0
and eax, 0xffff
mov ecx, ebp
fldz
fld dword [esp + 0x20]
mov dword [esp + 0x28], eax
push eax
fsub dword [esp + 0x20]
fild dword [esp + 0x2c]
fmul dword [0x6d7744]
fmulp st(1)
fadd dword [esp + 0x20]
fstp dword [esp]
fld dword [esp + 0x1c]
fmul dword [0x6d76e0]
push eax
fmul dword [ebx + 0x104]
fstp st(1)
fld dword [ebx + 0x110]
fmul st(1)
fstp dword [esp]
fld dword [ebx + 0x10c]
push eax
fmul st(1)
fstp dword [esp]
fstp st(0)
call fcn.004badc0
mov dword [ebp + 0x3f8], ebx
movzx eax, byte [esp + 0xe8]
cmp eax, 3
ja case.default.0x613db8
jmp dword [eax*4 + 0x6d7a78]
mov dword [esp + 0x10], 0x1b
jmp case.default.0x613db8
mov dword [esp + 0x10], 0x18
jmp case.default.0x613db8
mov dword [esp + 0x10], 0x19
jmp case.default.0x613db8
mov dword [esp + 0x10], 0x17
mov al, byte [ebp + 0x158]
mov ecx, ebp
and al, 0xfb
or al, 4
mov byte [ebp + 0x158], al
call fcn.004f4930
test al, al
je 0x61435d
mov ecx, ebp
push 0x68
call fcn.005226b0
jmp 0x61435d
mov dword [esp + 0x10], 0xad
fld dword [ebx + 0x70]
fstp dword [ebp + 0x70]
fld dword [ebx + 0x74]
fstp dword [ebp + 0x74]
fld dword [ebx + 0x78]
fstp dword [ebp + 0x78]
mov dword [ebp + 0x3f8], ebx
jmp 0x614820
fld dword [0x6d7758]
mov dword [esp + 0x10], 0x90
fmul dword [ebx + 0x78]
fstp st(2)
fld dword [0x6d7758]
fmul dword [ebx + 0x74]
fstp st(3)
fld dword [0x6d7758]
fmul dword [ebx + 0x70]
fstp dword [ebp + 0x70]
fld st(2)
fstp dword [ebp + 0x74]
fld st(1)
fstp dword [ebp + 0x78]
mov dword [ebp + 0x78], 0
mov dword [ebp + 0x3f8], ebx
fld dword [0x6d7728]
fmul dword [0x978d3c]
fadd dword [0x94dbc8]
fmul dword [0x6d7928]
fnstcw word [esp + 0x14]
mov eax, dword [esp + 0x14]
or byte [esp + 0x15], 0xc
fldcw word [esp + 0x14]
mov dword [esp + 0x14], eax
fistp dword [esp + 0x28]
fldcw word [esp + 0x14]
fld dword [0x6d7728]
fmul dword [0xa0d058]
mov eax, dword [esp + 0x28]
mov dword [esp + 0xc], eax
fadd dword [0x9b6aa4]
fmul dword [0x6d7928]
fnstcw word [esp + 0x14]
mov eax, dword [esp + 0x14]
or byte [esp + 0x15], 0xc
fldcw word [esp + 0x14]
mov dword [esp + 0x14], eax
fistp dword [esp + 0x28]
fldcw word [esp + 0x14]
fld dword [0x6d7728]
fmul dword [0xa0fc7c]
mov eax, dword [esp + 0x28]
mov dword [esp + 8], eax
fadd dword [0x9b6aa0]
fmul dword [0x6d7928]
fnstcw word [esp + 0x14]
mov eax, dword [esp + 0x14]
or byte [esp + 0x15], 0xc
fldcw word [esp + 0x14]
mov dword [esp + 0x14], eax
fistp dword [esp + 0x28]
fldcw word [esp + 0x14]
fcompp
mov eax, dword [esp + 0x28]
fstp st(0)
mov dword [esp + 4], eax
call fcn.006499f0
and eax, 0xffff
mov edi, dword [0x784045]
mov dword [esp + 0x28], eax
mov cl, byte [esp + 0xc]
fild dword [esp + 0x28]
mov dword [esp + 0x30], edi
mov byte [esp + 0x30], cl
mov cl, byte [esp + 8]
fmul dword [0x6d7744]
mov byte [esp + 0x31], cl
mov cl, byte [esp + 4]
mov byte [esp + 0x32], cl
mov ecx, 0xa10b8a
fmul dword [0x6d792c]
fnstcw word [esp + 0x14]
mov eax, dword [esp + 0x14]
or byte [esp + 0x15], 0xc
fldcw word [esp + 0x14]
mov dword [esp + 0x14], eax
fistp dword [esp + 0x28]
fldcw word [esp + 0x14]
mov eax, dword [esp + 0x28]
add al, 0x30
mov byte [esp + 0x33], al
mov eax, dword [ebp + 0x64]
push dword [0x6d7724]
push 0xa3
push eax
call fcn.005f9da0
fld dword [0x6d7930]
fmul dword [ebp + 0x70]
lea eax, [ebp + 0x34]
lea edi, [esp + 0x34]
push 0
fadd dword [eax]
fstp dword [esp + 0x8c]
fld dword [0x6d7930]
fmul dword [ebp + 0x74]
lea esi, [esp + 0x8c]
fadd dword [eax + 4]
fstp dword [esp + 0x90]
fld dword [0x6d7930]
fmul dword [ebp + 0x78]
fadd dword [eax + 8]
fstp dword [esp + 0x94]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov dword [esp + 0x44], 0
lea eax, [esp + 0x44]
push eax
push dword [esp + 0x44]
push dword [esp + 0x44]
push dword [esp + 0x44]
call fcn.005c2c80
add esp, 0x14
test al, al
je 0x61402b
mov eax, dword [esp + 0x40]
mov dword [esp + 0x3c], eax
lea eax, [esp + 0x30]
mov dword [esp + 0x44], 0
lea edx, [esp + 0x44]
mov dword [esp + 0x48], 0
push 1
push eax
lea eax, [esp + 0x3c]
push 0xc8
push dword [0x6d7724]
push edx
push eax
push 7
mov dword [esp + 0x68], 0x3dcccccd
call fcn.004e8480
add esp, 0x1c
jmp 0x61435d
movzx eax, byte [esp + 0xe8]
cmp eax, 3
ja case.default.0x614081
jmp dword [eax*4 + 0x6d7a68]
mov dword [esp + 0x10], 0x7e
mov dword [ebp + 0x70], 0
mov dword [ebp + 0x74], 0
mov dword [ebp + 0x78], 0x3dcccccd
fld dword [ebx + 0x74]
fstp st(3)
fld st(2)
fmul st(0)
fld dword [ebx + 0x70]
fstp st(4)
fld st(3)
fmul st(0)
faddp st(1)
fld dword [ebx + 0x78]
fstp st(4)
fld st(3)
fmul st(0)
faddp st(1)
fcomp dword [0x6d7844]
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x614810
fld dword [0x6d7740]
fmul dword [esi + 8]
fld dword [0x6d7934]
lea ecx, [ebx + 0x14]
push eax
fmul dword [ecx + 8]
faddp st(1)
fstp dword [esp]
fld dword [0x6d7740]
fmul dword [esi + 4]
fld dword [0x6d7934]
fmul dword [ecx + 4]
push eax
faddp st(1)
fstp dword [esp]
fld dword [0x6d7740]
fmul dword [esi]
fld dword [0x6d7934]
fmul dword [ecx]
push eax
mov ecx, ebp
faddp st(1)
fstp dword [esp]
fcompp
fstp st(0)
call fcn.004badc0
mov dword [ebp + 0x3f8], ebx
jmp 0x61435d
fld dword [ebx + 0x74]
fstp st(3)
fld st(2)
fmul st(0)
fld dword [ebx + 0x70]
fstp st(3)
fld st(2)
fmul st(0)
faddp st(1)
fld dword [ebx + 0x78]
fstp st(2)
fld st(1)
fmul st(0)
faddp st(1)
fcomp dword [0x6d7844]
fnstsw ax
test ah, 0x45
jne 0x6141f0
fld dword [0x6d7790]
fmul st(2)
mov dword [esp + 0x10], 0x1a
mov edi, esi
fstp dword [ebp + 0x70]
fld dword [0x6d7790]
fmul st(3)
fstp dword [ebp + 0x74]
fld dword [0x6d7790]
fmul st(1)
fstp dword [ebp + 0x78]
fld dword [0x6d7740]
fmul dword [edi + 8]
fld dword [0x6d77c4]
lea edx, [ebx + 4]
push eax
fmul dword [edx + 8]
mov ecx, ebp
faddp st(1)
fstp dword [esp]
fld dword [0x6d7740]
fmul dword [edi + 4]
fld dword [0x6d77c4]
fmul dword [edx + 4]
push eax
faddp st(1)
fstp dword [esp]
fld dword [0x6d7740]
fmul dword [edi]
fld dword [0x6d77c4]
fmul dword [edx]
push eax
faddp st(1)
fstp dword [esp]
fcompp
fstp st(0)
call fcn.004badc0
jmp 0x61435d
fld st(1)
mov dword [esp + 0x10], 0x17
push eax
fstp dword [ebp + 0x70]
fld dword [ebx + 0x74]
fstp dword [ebp + 0x74]
fld dword [ebx + 0x78]
fstp dword [ebp + 0x78]
fld dword [0x6d77d8]
fmul dword [esi + 8]
fld dword [0x6d7924]
lea ecx, [ebx + 4]
fmul dword [ecx + 8]
faddp st(1)
fstp dword [esp]
fld dword [0x6d77d8]
fmul dword [esi + 4]
fld dword [0x6d7924]
fmul dword [ecx + 4]
push eax
faddp st(1)
fstp dword [esp]
fld dword [0x6d77d8]
fmul dword [esi]
fld dword [0x6d7924]
jmp 0x61434a
fld dword [ebx + 0x74]
fstp st(3)
fld st(2)
fmul st(0)
fld dword [ebx + 0x70]
fstp st(3)
fld st(2)
fmul st(0)
faddp st(1)
fld dword [ebx + 0x78]
fstp st(2)
fld st(1)
fmul st(0)
faddp st(1)
fcomp dword [0x6d7844]
fnstsw ax
test ah, 0x45
jne 0x6142f0
fld dword [0x6d7790]
fmul st(2)
mov dword [esp + 0x10], 0x1c
mov edi, esi
fstp dword [ebp + 0x70]
fld dword [0x6d7790]
fmul st(3)
fstp dword [ebp + 0x74]
fld dword [0x6d7790]
fmul st(1)
fstp dword [ebp + 0x78]
fld dword [0x6d7740]
fmul dword [edi + 8]
fld dword [0x6d7934]
lea edx, [ebx + 4]
push eax
fmul dword [edx + 8]
faddp st(1)
fstp dword [esp]
fld dword [0x6d7740]
fmul dword [edi + 4]
fld dword [0x6d7934]
fmul dword [edx + 4]
push eax
faddp st(1)
fstp dword [esp]
fld dword [0x6d7740]
fmul dword [edi]
fld dword [0x6d7934]
fmul dword [edx]
jmp 0x61434c
fld st(1)
mov dword [esp + 0x10], 0x18
push eax
fstp dword [ebp + 0x70]
fld dword [ebx + 0x74]
fstp dword [ebp + 0x74]
fld dword [ebx + 0x78]
fstp dword [ebp + 0x78]
fld dword [0x6d77d8]
fmul dword [esi + 8]
fld dword [0x6d7938]
lea ecx, [ebx + 4]
fmul dword [ecx + 8]
faddp st(1)
fstp dword [esp]
fld dword [0x6d77d8]
fmul dword [esi + 4]
fld dword [0x6d7938]
fmul dword [ecx + 4]
push eax
faddp st(1)
fstp dword [esp]
fld dword [0x6d77d8]
fmul dword [esi]
fld dword [0x6d7938]
fmul dword [ecx]
push eax
mov ecx, ebp
faddp st(1)
fstp dword [esp]
fcompp
fstp st(0)
call fcn.004badc0
cmp dword [esp + 0xe4], 0x2b
jne 0x6143c8
mov al, byte [ebp + 0x14c]
and al, 0xfe
mov byte [ebp + 0x14c], al
mov al, byte [ebp + 0x14c]
and al, 0xfd
mov byte [ebp + 0x14c], al
mov al, byte [ebp + 0x14d]
and al, 0xf7
or al, 8
mov byte [ebp + 0x14d], al
mov al, byte [ebp + 0x11a]
and al, 0xef
or al, 0x10
mov byte [ebp + 0x11a], al
mov al, byte [ebp + 0x54]
and al, 0xfb
or al, 4
mov byte [ebp + 0x54], al
mov eax, dword [ebp + 0x4c]
push dword [0x6d77d8]
push 0x90
push 0
push eax
call fcn.00405640
add esp, 0x10
jmp 0x614425
cmp dword [esp + 0xe4], 0
je 0x614425
fld dword [ebp + 0x354]
fcomp dword [0x6d7724]
fnstsw ax
test ah, 0x45
jne 0x614400
mov ecx, ebp
push 0
push dword [esp + 0x14]
push 0x3e8
call fcn.004fd9f0
jmp 0x614417
mov ecx, ebp
push dword [0x6d7724]
push dword [0x6d77d8]
push dword [esp + 0x18]
call fcn.004f65c0
mov al, byte [ebp + 0x14c]
and al, 0xfe
mov byte [ebp + 0x14c], al
mov dword [esp], ebp
add dword [esp], 4
add dword [esp], 0x30
mov eax, dword [esp]
fld dword [eax]
fadd dword [0x6d7724]
push 0
push 0
fstp dword [esp + 0x9c]
fld dword [eax + 4]
fadd dword [0x6d7724]
push 0
push 0
fstp dword [esp + 0xa8]
fld dword [eax + 8]
fadd dword [0x6d7728]
push 0
push 1
fstp dword [esp + 0xb4]
push 0
push dword [0x6d77bc]
push dword [esp + 0xbc]
push dword [esp + 0xbc]
push dword [esp + 0xbc]
call fcn.004d3f40
add esp, 0x2c
test eax, eax
mov dword [esp + 0x50], eax
jne 0x614502
mov eax, dword [esp]
fld dword [eax]
fadd dword [0x6d7724]
push 0
push 0
fstp dword [esp + 0xa8]
fld dword [eax + 4]
fadd dword [0x6d7724]
push 0
push 0
fstp dword [esp + 0xb4]
fld dword [eax + 8]
fadd dword [0x6d7780]
push 0
push 1
fstp dword [esp + 0xc0]
push 0
push dword [0x6d77bc]
push dword [esp + 0xc8]
push dword [esp + 0xc8]
push dword [esp + 0xc8]
call fcn.004d3f40
add esp, 0x2c
mov dword [esp + 0x50], eax
cmp dword [esp + 0x50], 0
fldz
fldz
fldz
jne 0x6145b7
fld dword [0x975424]
fmul dword [ebp + 0x78]
mov edi, dword [esp]
push 0
fstp st(1)
fld dword [0x975424]
fmul dword [ebp + 0x74]
push 0
push 0
fstp st(2)
fld dword [0x975424]
fmul dword [ebp + 0x70]
push 0
push 0
fstp st(3)
fld dword [edi + 8]
fadd st(1)
fstp st(1)
fld dword [edi + 4]
fadd st(2)
fstp st(2)
fld dword [edi]
fadd st(3)
fstp st(3)
push 1
fld st(2)
fadd dword [0x6d7724]
push 0
push dword [0x6d77bc]
fstp dword [esp + 0xcc]
fld st(1)
fadd dword [0x6d7724]
fstp dword [esp + 0xd0]
fld st(0)
fadd dword [0x6d7728]
fstp dword [esp + 0xd4]
fcompp
push dword [esp + 0xd4]
push dword [esp + 0xd4]
push dword [esp + 0xd4]
fstp st(0)
call fcn.004d3f40
add esp, 0x2c
mov dword [esp + 0x50], eax
fldz
fldz
fldz
cmp dword [esp + 0x50], 0
jne 0x614842
fld dword [0x975424]
fmul dword [ebp + 0x78]
mov edx, dword [esp]
push 0
fstp st(1)
fld dword [0x975424]
fmul dword [ebp + 0x74]
push 0
push 0
fstp st(2)
fld dword [0x975424]
fmul dword [ebp + 0x70]
push 0
push 0
fstp st(3)
fld dword [edx + 8]
fadd st(1)
fstp st(1)
fld dword [edx + 4]
fadd st(2)
fstp st(2)
fld dword [edx]
fadd st(3)
fstp st(3)
push 1
fld st(2)
fadd dword [0x6d7724]
push 0
push dword [0x6d77bc]
fstp dword [esp + 0xd8]
fld st(1)
fadd dword [0x6d7724]
fstp dword [esp + 0xdc]
fld st(0)
fadd dword [0x6d7780]
fstp dword [esp + 0xe0]
fcompp
push dword [esp + 0xe0]
push dword [esp + 0xe0]
push dword [esp + 0xe0]
fstp st(0)
call fcn.004d3f40
add esp, 0x2c
mov dword [esp + 0x50], eax
cmp dword [esp + 0x50], 0
je 0x614743
mov eax, dword [esp]
lea edi, [esp + 0x7c]
lea esi, [eax]
movsd dword es:[edi], dword [esi]
push 0
push 0
push 0
push 0
push 0
push 0
movsd dword es:[edi], dword [esi]
push 1
movsd dword es:[edi], dword [esi]
fld dword [esp + 0xa0]
fsub dword [0x6d7748]
lea eax, [esp + 0x70]
mov dword [esp + 0x6c], 0
lea ecx, [esp + 0x6c]
push ecx
push eax
push eax
fstp dword [esp]
lea eax, [esp + 0xa4]
push eax
call fcn.004d8b00
add esp, 0x2c
test al, al
fldz
fldz
je 0x6146f0
cmp dword [ebp + 0x3a8], 0
je 0x6146d4
fcompp
mov ecx, ebp
call fcn.00511b10
jmp 0x614712
fcompp
mov ecx, ebp
mov dword [ebp + 0x3a8], ebx
call fcn.00511b10
mov dword [ebp + 0x3a8], 0
jmp 0x614712
add ebx, 0x34
fld dword [ebx + 8]
fsub dword [0x6d7748]
fstp st(1)
fld dword [ebx + 4]
fstp st(2)
fld dword [ebx]
fstp dword [ebp + 0x34]
fld st(1)
fstp dword [ebp + 0x38]
fst dword [ebp + 0x3c]
fcompp
mov eax, dword [ebp + 0x3a8]
mov dword [ebp + 0x3f8], eax
mov al, byte [ebp + 0x158]
and al, 0xfb
or al, 4
mov byte [ebp + 0x158], al
mov al, byte [ebp + 0x156]
and al, 0xdf
or al, 0x20
mov byte [ebp + 0x156], al
jmp 0x6147f4
cmp dword [esp + 0xe4], 0x27
jne 0x6147f4
mov eax, dword [esp]
fld dword [eax]
fadd dword [0x6d7724]
push 0
push 0
fstp dword [esp + 0xcc]
fld dword [eax + 4]
fadd dword [0x6d7724]
push 0
push 0
fstp dword [esp + 0xd8]
fld dword [eax + 8]
fadd dword [0x6d793c]
push 0
push 1
fstp dword [esp + 0xe4]
push 0
push dword [0x6d772c]
push dword [esp + 0xec]
push dword [esp + 0xec]
push dword [esp + 0xec]
call fcn.004d3f40
add esp, 0x2c
test eax, eax
fldz
fldz
jne 0x614850
mov eax, dword [esp]
fld dword [eax + 8]
fadd dword [0x6d7728]
mov eax, dword [esp]
fstp st(1)
fld dword [eax + 4]
fadd dword [0x6d7724]
mov eax, dword [esp]
fstp st(2)
fld dword [eax]
fadd dword [0x6d7724]
fstp dword [ebp + 0x34]
fld st(1)
fstp dword [ebp + 0x38]
fst dword [ebp + 0x3c]
fcompp
mov dword [ebp + 0x3a8], 0
add esp, 0xd0
mov eax, ebp
pop ebp
pop edi
pop esi
pop ebx
ret 0x10
fcompp
fstp st(0)
jmp 0x61412c
fcompp
fstp st(0)
jmp 0x61435d
fcompp
fstp st(0)
jmp 0x61435d
fcompp
fstp st(0)
jmp 0x614660
fcompp
jmp 0x6147f4