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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x6c
push ebx
push esi
push edi
mov dword [ebp - 0x5c], 0
push 0x6de0ec
call fcn.004c2770
add esp, 4
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x54], 0
mov dword [ebp - 0x50], 0
mov dword [ebp - 0x58], 0
push 0xff
push 0xff
push 0xff
call fcn.0064655b
add esp, 0xc
mov eax, dword [0x681ad0]
mov dword [ebp - 0x60], eax
mov eax, dword [ebp - 0x60]
push eax
mov eax, dword [eax]
call dword [eax + 0x8c]
add esp, 4
mov dword [ebp - 0x64], eax
jmp 0x4ebf60
mov eax, dword [ebp - 0x64]
push 0x675424
push eax
mov eax, dword [eax]
call dword [eax + 0x34]
add esp, 4
push eax
call fcn.004c27b0
add esp, 8
mov edi, eax
cmp edi, 0x66dc40
je 0x4ebf60
mov dword [edi + 0x1c4], 0
cmp dword [edi + 0x14], 0x5a
jne 0x4ea1e9
cmp dword [ebp + 8], 0
jne 0x4ea1e7
jmp 0x4ebf60
jmp 0x4ea1f4
cmp dword [ebp + 8], 0
je 0x4ea1f4
jmp 0x4ebf60
cmp dword [edi + 0xc0], 1
jne 0x4ea202
jmp 0x4ebf60
mov eax, dword [edi + 0xc]
sub eax, dword [0x681e4c]
cdq
idiv dword [0x681e5c]
mov dword [ebp - 0x48], eax
mov eax, dword [edi + 0x10]
sub eax, dword [0x681e50]
cdq
idiv dword [0x681e60]
mov dword [ebp - 0x4c], eax
fld dword [edi + 0x1c]
mov eax, dword [0x6812f8]
mov dword [ebp - 0x6c], eax
fild dword [ebp - 0x6c]
fsubp st(1)
mov eax, dword [0x681e64]
mov dword [ebp - 0x6c], eax
fild dword [ebp - 0x6c]
faddp st(1)
fstp dword [ebp - 0x28]
fld dword [edi + 0x20]
mov eax, dword [0x6812fc]
mov dword [ebp - 0x6c], eax
fild dword [ebp - 0x6c]
fsubp st(1)
mov eax, dword [0x681e68]
mov dword [ebp - 0x6c], eax
fild dword [ebp - 0x6c]
faddp st(1)
fstp dword [ebp - 0x2c]
mov eax, dword [0x681e5c]
neg eax
mov dword [ebp - 0x6c], eax
fild dword [ebp - 0x6c]
fld dword [ebp - 0x28]
fucompp
fnstsw ax
sahf
setb al
movzx eax, al
cmp eax, 0
jne 0x4ea2a6
mov eax, dword [0x681e5c]
add eax, 0x780
mov dword [ebp - 0x6c], eax
fild dword [ebp - 0x6c]
fld dword [ebp - 0x28]
fucompp
fnstsw ax
sahf
seta al
movzx eax, al
cmp eax, 0
jne 0x4ea2c6
mov eax, dword [0x681e60]
neg eax
mov dword [ebp - 0x6c], eax
fild dword [ebp - 0x6c]
fld dword [ebp - 0x2c]
fucompp
fnstsw ax
sahf
setb al
movzx eax, al
cmp eax, 0
jne 0x4ea2e9
mov eax, dword [0x681e60]
add eax, 0x438
mov dword [ebp - 0x6c], eax
fild dword [ebp - 0x6c]
fld dword [ebp - 0x2c]
fucompp
fnstsw ax
sahf
seta al
movzx eax, al
cmp eax, 0
je 0x4ea321
fld dword [ebp - 0x28]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
mov dword [edi + 0x170], eax
fld dword [ebp - 0x2c]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
mov dword [edi + 0x174], eax
jmp 0x4ebf60
push dword [ebp - 0x4c]
push dword [ebp - 0x48]
call dword [0x67b36c]
add esp, 8
cmp eax, 1
jne 0x4ea33e
mov dword [ebp - 0x5c], 1
jmp 0x4ea345
mov dword [ebp - 0x5c], 0
cmp dword [ebp - 0x4c], 0
jge 0x4ea350
jmp 0x4ebf60
cmp dword [ebp - 0x48], 0
jge 0x4ea35b
jmp 0x4ebf60
cmp dword [edi + 0x9c], 0
je 0x4ea38f
push dword [ebp - 0x4c]
push dword [ebp - 0x48]
call dword [0x67b36c]
add esp, 8
cmp eax, 1
jne 0x4ea388
add dword [0x683720], 1
add dword [0x68371c], 1
jmp 0x4ea38f
add dword [0x68371c], 1
mov eax, dword [edi + 0x11c]
cmp eax, 0
setne al
movzx eax, al
cmp eax, 0
jne 0x4ea3b2
mov eax, dword [edi + 0x148]
cmp eax, 0
setne al
movzx eax, al
cmp eax, 0
je 0x4ea3bc
jmp 0x4ebf60
mov eax, dword [edi + 0x50]
mov dword [ebp - 0x44], eax
mov eax, edi
push eax
mov eax, dword [eax]
call dword [eax + 0x30]
add esp, 4
fldz
fxch st(1)
fucompp
fnstsw ax
sahf
setbe al
movzx eax, al
cmp eax, 0
jne 0x4ea570
cmp dword [edi + 0x14], 0x5a
jne 0x4ea565
mov eax, dword [0x6834c8]
mov edx, dword [eax + 0xac]
mov eax, dword [edi + 0xc]
mov dword [edx + 8], eax
mov eax, dword [0x6834c8]
mov edx, dword [eax + 0xac]
mov eax, dword [edi + 0x10]
mov dword [edx + 0xc], eax
cmp dword [edi + 0x17c], 1
jne 0x4ea47a
fld dword [edi + 0x58]
mov eax, 0x3e8
cdq
idiv dword [edi + 0x6c]
mov dword [ebp - 0x6c], eax
fild dword [ebp - 0x6c]
fmul dword [0x681a10]
fmul dword [0x691124]
faddp st(1)
fstp dword [edi + 0x58]
fld dword [edi + 0x58]
mov eax, dword [edi + 0x74]
mov dword [ebp - 0x6c], eax
fild dword [ebp - 0x6c]
fxch st(1)
fucompp
fnstsw ax
sahf
setb al
movzx eax, al
cmp eax, 0
jne 0x4ea475
push 0
mov eax, dword [edi + 0x74]
sub eax, 1
push eax
call fcn.004c1800
add esp, 8
mov dword [ebp - 0x6c], eax
fild dword [ebp - 0x6c]
fstp dword [edi + 0x58]
jmp 0x4ea563
cmp dword [edi + 0x17c], 0
jne 0x4ea4c5
fld dword [edi + 0x58]
mov eax, 0x3e8
cdq
idiv dword [edi + 0x6c]
mov dword [ebp - 0x6c], eax
fild dword [ebp - 0x6c]
fmul dword [0x681a10]
faddp st(1)
fstp dword [edi + 0x58]
fld dword [edi + 0x58]
fld dword [0x691128]
fxch st(1)
fucompp
fnstsw ax
sahf
setb al
movzx eax, al
cmp eax, 0
jne 0x4ea4c0
fldz
fstp dword [edi + 0x58]
jmp 0x4ea563
cmp dword [edi + 0x17c], 3
jne 0x4ea521
fld dword [edi + 0x58]
mov eax, 0x1f4
cdq
idiv dword [edi + 0x6c]
mov dword [ebp - 0x6c], eax
fild dword [ebp - 0x6c]
fmul dword [0x681a10]
faddp st(1)
fstp dword [edi + 0x58]
fld dword [edi + 0x58]
fld dword [0x69112c]
fxch st(1)
fucompp
fnstsw ax
sahf
setb al
movzx eax, al
cmp eax, 0
jne 0x4ea51f
fldz
fstp dword [edi + 0x58]
mov dword [edi + 0x17c], 0
mov dword [edi + 0x184], 8
jmp 0x4ea563
cmp dword [edi + 0x17c], 2
jne 0x4ea563
fld dword [edi + 0x58]
mov eax, 0x1f4
cdq
idiv dword [edi + 0x6c]
mov dword [ebp - 0x6c], eax
fild dword [ebp - 0x6c]
fmul dword [0x681a10]
faddp st(1)
fstp dword [edi + 0x58]
fld dword [edi + 0x58]
fldz
fxch st(1)
fucompp
fnstsw ax
sahf
setb al
movzx eax, al
cmp eax, 0
jne 0x4ea563
fldz
fstp dword [edi + 0x58]
jmp 0x4ea56e
push edi
call fcn.004f0e8e
add esp, 4
jmp 0x4ea578
fld1
fstp dword [edi + 0x178]
fld dword [ebp - 0x28]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
mov dword [edi + 0x170], eax
fld dword [ebp - 0x2c]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
mov dword [edi + 0x174], eax
fld dword [0x682128]
fmul dword [0x691130]
fstp dword [edi + 0x178]
cmp dword [edi + 0x14c], 0x1c
jne 0x4ea5f7
fld qword [0x691138]
fstp qword [ebp - 8]
fld dword [0x681a38]
sub esp, 8
fstp qword [esp]
call fcn.004bcd80
add esp, 8
fld qword [0x691140]
fmulp st(1)
fld qword [ebp - 8]
faddp st(1)
fstp qword [ebp - 8]
fld qword [ebp - 8]
fstp dword [edi + 0x178]
mov eax, dword [edi + 0x14c]
cmp eax, 0x1e
sete al
movzx eax, al
cmp eax, 0
jne 0x4ea61a
mov eax, dword [edi + 0x14c]
cmp eax, 0xf
sete al
movzx eax, al
cmp eax, 0
je 0x4ea627
fld1
fstp dword [edi + 0x178]
cmp dword [edi + 0x14], 0x53
jne 0x4ea69c
mov eax, dword [edi + 0x184]
cmp eax, 1
je 0x4ea656
cmp eax, 2
je 0x4ea664
cmp eax, 3
je 0x4ea672
cmp eax, 4
je 0x4ea680
cmp eax, 5
je 0x4ea68e
fld1
fstp dword [edi + 0x178]
jmp 0x4ea69c
fld dword [0x691148]
fstp dword [edi + 0x178]
jmp 0x4ea69c
fld dword [0x69114c]
fstp dword [edi + 0x178]
jmp 0x4ea69c
fld dword [0x691150]
fstp dword [edi + 0x178]
jmp 0x4ea69c
fld dword [0x691154]
fstp dword [edi + 0x178]
jmp 0x4ea69c
fld dword [0x691158]
fstp dword [edi + 0x178]
jmp 0x4ea69c
cmp dword [edi + 0x154], 0
jle 0x4ea982
mov ebx, 0
mov ecx, 2
mov eax, dword [edi + 0x154]
cdq
idiv ecx
mov eax, edx
cmp eax, 0
jne 0x4ea733
fld dword [edi + 0x160]
fld dword [0x69115c]
fadd dword [edi + 0x164]
fmul dword [0x681a10]
faddp st(1)
fstp dword [edi + 0x160]
fldz
sub esp, 8
fstp qword [esp]
fld dword [edi + 0x164]
fsub dword [0x681a10]
sub esp, 8
fstp qword [esp]
call fcn.004c18c0
add esp, 0x10
fstp dword [edi + 0x164]
fld dword [edi + 0x160]
fld dword [edi + 0x15c]
fxch st(1)
fucompp
fnstsw ax
sahf
setbe al
movzx eax, al
cmp eax, 0
jne 0x4ea72e
mov ebx, 1
jmp 0x4ea7ea
fld dword [edi + 0x160]
fld dword [0x691160]
fadd dword [edi + 0x164]
fmul dword [0x681a10]
fsubp st(1)
fstp dword [edi + 0x160]
fld dword [edi + 0x160]
fldz
fxch st(1)
fucompp
fnstsw ax
sahf
seta al
movzx eax, al
cmp eax, 0
jne 0x4ea79b
fld dword [0x691164]
sub esp, 8
fstp qword [esp]
fld dword [edi + 0x164]
fsub dword [0x681a10]
sub esp, 8
fstp qword [esp]
call fcn.004c18c0
add esp, 0x10
fstp dword [edi + 0x164]
jmp 0x4ea7c7
fld dword [0x691168]
sub esp, 8
fstp qword [esp]
fld dword [edi + 0x164]
fadd dword [0x681a10]
sub esp, 8
fstp qword [esp]
call fcn.004c18a0
add esp, 0x10
fstp dword [edi + 0x164]
fld dword [edi + 0x160]
fld dword [edi + 0x168]
fxch st(1)
fucompp
fnstsw ax
sahf
seta al
movzx eax, al
cmp eax, 0
jne 0x4ea7ea
mov ebx, 2
cmp ebx, 0
je 0x4ea8ab
sub dword [edi + 0x154], 1
cmp dword [edi + 0x154], 0
jle 0x4ea8ab
mov ecx, 2
mov eax, dword [edi + 0x154]
cdq
idiv ecx
mov eax, edx
cmp eax, 0
jne 0x4ea8a9
fld dword [edi + 0x158]
fmul dword [0x681b54]
fstp dword [edi + 0x158]
fld dword [edi + 0x158]
fld1
fxch st(1)
fucompp
fnstsw ax
sahf
seta al
movzx eax, al
cmp eax, 0
jne 0x4ea858
mov dword [edi + 0x154], 0
jmp 0x4ea8a9
fld dword [0x69116c]
fstp dword [edi + 0x164]
fld dword [edi + 0x15c]
mov eax, dword [0x681b50]
mov dword [ebp - 0x6c], eax
fild dword [ebp - 0x6c]
fsubp st(1)
fstp dword [edi + 0x15c]
fld dword [edi + 0x15c]
fldz
fxch st(1)
fucompp
fnstsw ax
sahf
seta al
movzx eax, al
cmp eax, 0
jne 0x4ea8a1
mov dword [edi + 0x154], 0
fldz
fstp dword [edi + 0x160]
jmp 0x4ea8ab
cmp dword [edi + 0x154], 0
jle 0x4ea982
fld dword [edi + 0x158]
fld dword [edi + 0x160]
fdiv dword [edi + 0x15c]
fmulp st(1)
fstp dword [ebp - 0x14]
fld dword [edi + 0xf4]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
cmp eax, 0
jge 0x4ea8ed
add eax, 0x168
fld dword [ebp - 0x14]
mov edx, dword [0x682db0]
fmul dword [edx + eax*4 + 0x18]
fld dword [ebp - 0x28]
faddp st(1)
fstp dword [ebp - 0x28]
fld dword [ebp - 0x14]
mov edx, dword [0x682da8]
fmul dword [edx + eax*4 + 0x18]
fld dword [ebp - 0x2c]
faddp st(1)
fstp dword [ebp - 0x2c]
fld dword [ebp - 0x28]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
mov dword [edi + 0x170], eax
fld dword [ebp - 0x2c]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
mov dword [edi + 0x174], eax
fld dword [edi + 0x16c]
fldz
fxch st(1)
fucompp
fnstsw ax
sahf
sete al
movzx eax, al
cmp eax, 0
jne 0x4ea982
fld dword [0x691170]
fld dword [ebp - 0x14]
fmul dword [edi + 0x16c]
faddp st(1)
fmul dword [0x682128]
fmul dword [0x691174]
fstp dword [edi + 0x178]
cmp dword [0x682cdc], 0
je 0x4eaa2d
mov eax, dword [0x682cdc]
cmp dword [edi + 0x14], eax
jne 0x4eaa2d
mov edx, dword [0x6835c0]
mov eax, dword [ebp - 0x48]
cmp eax, dword [edx + 0x14]
setge al
movzx eax, al
cmp eax, 0
je 0x4ea9c6
mov edx, dword [0x6835c0]
mov eax, dword [ebp - 0x48]
cmp eax, dword [edx + 0x1c]
setl al
movzx eax, al
cmp eax, 0
je 0x4ea9dd
mov edx, dword [0x6835c0]
mov eax, dword [ebp - 0x4c]
cmp eax, dword [edx + 0x18]
setge al
movzx eax, al
cmp eax, 0
je 0x4ea9f4
mov edx, dword [0x6835c0]
mov eax, dword [ebp - 0x4c]
cmp eax, dword [edx + 0x20]
setl al
movzx eax, al
cmp eax, 0
je 0x4eaa2d
push 1
push 0xffffffffffffffff
call fcn.00659bc1
add esp, 8
mov dword [ebp - 0x6c], eax
fild dword [ebp - 0x6c]
fld dword [ebp - 0x28]
faddp st(1)
fstp dword [ebp - 0x28]
push 1
push 0xffffffffffffffff
call fcn.00659bc1
add esp, 8
mov dword [ebp - 0x6c], eax
fild dword [ebp - 0x6c]
fld dword [ebp - 0x2c]
faddp st(1)
fstp dword [ebp - 0x2c]
fld dword [0x68256c]
fstp dword [ebp - 0x34]
mov eax, dword [edi + 0xc]
sub eax, dword [0x6812f8]
add eax, dword [0x681e64]
mov esi, eax
mov eax, dword [edi + 0x10]
sub eax, dword [0x6812fc]
add eax, dword [0x681e68]
mov edx, eax
mov eax, dword [0x682138]
add eax, 0x64
cmp esi, eax
setg al
movzx eax, al
cmp eax, 0
je 0x4eaa83
mov eax, dword [0x682138]
add eax, dword [0x682140]
sub eax, 0x64
cmp esi, eax
setl al
movzx eax, al
cmp eax, 0
je 0x4eaa98
mov eax, dword [0x68213c]
add eax, 0x64
cmp edx, eax
setg al
movzx eax, al
cmp eax, 0
je 0x4eaab3
mov eax, dword [0x68213c]
add eax, dword [0x682144]
sub eax, 0x64
cmp edx, eax
setl al
movzx eax, al
cmp eax, 0
je 0x4eae98
mov eax, dword [ebp - 0x5c]
cmp eax, 0
sete al
movzx eax, al
cmp eax, 0
jne 0x4eaadb
mov eax, dword [0x687118]
cmp eax, 1
sete al
movzx eax, al
cmp eax, 0
jne 0x4eaaee
mov eax, dword [0x683564]
cmp eax, 0
setg al
movzx eax, al
cmp eax, 0
je 0x4eaafd
mov esi, 0
mov edx, 0
mov eax, dword [edi + 0x150]
cmp eax, 0
setne al
movzx eax, al
cmp eax, 0
je 0x4eab20
mov eax, dword [edi + 0x14c]
cmp eax, 0x14
sete al
movzx eax, al
cmp eax, 0
je 0x4eab3b
mov eax, dword [0x6834c8]
mov eax, dword [eax + 0x54]
mov dword [eax + 8], esi
mov eax, dword [0x6834c8]
mov eax, dword [eax + 0x54]
mov dword [eax + 0xc], edx
mov ebx, dword [0x681e48]
mov ecx, dword [ebp - 0x48]
mov eax, dword [0x681e48]
imul ecx, dword [eax + 0x18]
mov eax, ecx
add eax, dword [ebp - 0x4c]
mov eax, dword [ebx + eax*4 + 0x1c]
mov eax, dword [eax + 0xcc]
cmp eax, 0
sete al
movzx eax, al
cmp eax, 0
je 0x4eab91
mov ebx, dword [0x681e48]
mov ecx, dword [ebp - 0x48]
mov eax, dword [0x681e48]
imul ecx, dword [eax + 0x18]
mov eax, ecx
add eax, dword [ebp - 0x4c]
mov eax, dword [ebx + eax*4 + 0x1c]
mov eax, dword [eax + 0x70]
cmp eax, 0
sete al
movzx eax, al
cmp eax, 0
je 0x4eabbd
mov ebx, dword [0x681e48]
mov ecx, dword [ebp - 0x48]
mov eax, dword [0x681e48]
imul ecx, dword [eax + 0x18]
mov eax, ecx
add eax, dword [ebp - 0x4c]
mov eax, dword [ebx + eax*4 + 0x1c]
mov eax, dword [eax + 0x5c]
cmp eax, 0
sete al
movzx eax, al
cmp eax, 0
je 0x4eabec
mov ebx, dword [0x681e48]
mov ecx, dword [ebp - 0x48]
mov eax, dword [0x681e48]
imul ecx, dword [eax + 0x18]
mov eax, ecx
add eax, dword [ebp - 0x4c]
mov eax, dword [ebx + eax*4 + 0x1c]
mov eax, dword [eax + 0xbc]
cmp eax, 0
sete al
movzx eax, al
cmp eax, 0
je 0x4eae98
cmp dword [edi + 0x14c], 0x1e
jne 0x4eac1a
mov eax, dword [0x6834c8]
mov eax, dword [eax + 0xdc]
mov dword [eax + 8], esi
mov eax, dword [0x6834c8]
mov eax, dword [eax + 0xdc]
mov dword [eax + 0xc], edx
cmp dword [edi + 0x14], 0x1b
jne 0x4eac3c
mov eax, dword [0x6834c8]
mov eax, dword [eax + 0x154]
mov dword [eax + 8], esi
mov eax, dword [0x6834c8]
mov eax, dword [eax + 0x154]
mov dword [eax + 0xc], edx
cmp dword [edi + 0x14], 0x51
jne 0x4eac5e
mov eax, dword [0x6834c8]
mov eax, dword [eax + 0x134]
mov dword [eax + 8], esi
mov eax, dword [0x6834c8]
mov eax, dword [eax + 0x134]
mov dword [eax + 0xc], edx
cmp dword [edi + 0x14], 0x64
jne 0x4eac80
mov eax, dword [0x6834c8]
mov eax, dword [eax + 0x1f4]
mov dword [eax + 8], esi
mov eax, dword [0x6834c8]
mov eax, dword [eax + 0x1f4]
mov dword [eax + 0xc], edx
cmp dword [edi + 0x14], 0x66
jne 0x4eacc4
mov eax, dword [0x6834c8]
mov eax, dword [eax + 0x244]
mov dword [eax + 8], esi
mov eax, dword [0x6834c8]
mov eax, dword [eax + 0x244]
mov dword [eax + 0xc], edx
mov eax, dword [0x6834c8]
mov ecx, dword [eax + 0x248]
mov eax, dword [ebp - 0x48]
mov dword [ecx + 8], eax
mov eax, dword [0x6834c8]
mov ecx, dword [eax + 0x248]
mov eax, dword [ebp - 0x4c]
mov dword [ecx + 0xc], eax
cmp dword [edi + 0x14], 0x5f
jne 0x4eace6
mov eax, dword [0x6834c8]
mov eax, dword [eax + 0x174]
mov dword [eax + 8], esi
mov eax, dword [0x6834c8]
mov eax, dword [eax + 0x174]
mov dword [eax + 0xc], edx
cmp dword [edi + 0x14], 0x60
jne 0x4ead08
mov eax, dword [0x6834c8]
mov eax, dword [eax + 0x178]
mov dword [eax + 8], esi
mov eax, dword [0x6834c8]
mov eax, dword [eax + 0x178]
mov dword [eax + 0xc], edx
cmp dword [edi + 0x14], 0x62
jne 0x4ead2a
mov eax, dword [0x6834c8]
mov eax, dword [eax + 0x190]
mov dword [eax + 8], esi
mov eax, dword [0x6834c8]
mov eax, dword [eax + 0x190]
mov dword [eax + 0xc], edx
cmp dword [edi + 0x14], 0x63
jne 0x4ead4c
mov eax, dword [0x6834c8]
mov eax, dword [eax + 0x194]
mov dword [eax + 8], esi
mov eax, dword [0x6834c8]
mov eax, dword [eax + 0x194]
mov dword [eax + 0xc], edx
cmp dword [edi + 0x14], 0x4e
jne 0x4ead6e
mov eax, dword [0x6834c8]
mov eax, dword [eax + 0x19c]
mov dword [eax + 8], esi
mov eax, dword [0x6834c8]
mov eax, dword [eax + 0x19c]
mov dword [eax + 0xc], edx
cmp dword [edi + 0x14], 0x10
jne 0x4ead90
mov eax, dword [0x6834c8]
mov eax, dword [eax + 0x1a0]
mov dword [eax + 8], esi
mov eax, dword [0x6834c8]
mov eax, dword [eax + 0x1a0]
mov dword [eax + 0xc], edx
cmp dword [edi + 0x14c], 0x1c
jne 0x4eadb5
mov eax, dword [0x6834c8]
mov eax, dword [eax + 0x128]
mov dword [eax + 8], esi
mov eax, dword [0x6834c8]
mov eax, dword [eax + 0x128]
mov dword [eax + 0xc], edx
cmp dword [edi + 0x14c], 0xb
jne 0x4eade0
mov eax, dword [0x6834c8]
mov ecx, dword [eax + 0x130]
mov eax, dword [edi + 0xc]
mov dword [ecx + 8], eax
mov eax, dword [0x6834c8]
mov ecx, dword [eax + 0x130]
mov eax, dword [edi + 0x10]
mov dword [ecx + 0xc], eax
cmp dword [edi + 0x14c], 0x1d
jne 0x4eae29
mov eax, dword [0x6834c8]
mov eax, dword [eax + 0x138]
mov dword [eax + 8], esi
mov eax, dword [0x6834c8]
mov eax, dword [eax + 0x138]
mov dword [eax + 0xc], edx
mov eax, dword [0x6834c8]
mov eax, dword [eax + 0x138]
mov dword [eax + 0x14], 0x4001
mov eax, dword [0x6834c8]
mov eax, dword [eax + 0x138]
mov dword [eax + 0x18], 0
cmp dword [edi + 0x14c], 0xd
jne 0x4eae4e
mov eax, dword [0x6834c8]
mov eax, dword [eax + 0x188]
mov dword [eax + 8], esi
mov eax, dword [0x6834c8]
mov eax, dword [eax + 0x188]
mov dword [eax + 0xc], edx
cmp dword [edi + 0x14c], 0xf
jne 0x4eae73
mov eax, dword [0x6834c8]
mov eax, dword [eax + 0x1b0]
mov dword [eax + 8], esi
mov eax, dword [0x6834c8]
mov eax, dword [eax + 0x1b0]
mov dword [eax + 0xc], edx
cmp dword [edi + 0x14c], 0xe
jne 0x4eae98
mov eax, dword [0x6834c8]
mov eax, dword [eax + 0x18c]
mov dword [eax + 8], esi
mov eax, dword [0x6834c8]
mov eax, dword [eax + 0x18c]
mov dword [eax + 0xc], edx
mov eax, dword [0x682ce4]
cmp eax, 1
sete al
movzx eax, al
cmp eax, 0
je 0x4eaeb9
mov eax, dword [0x68717c]
cmp eax, 1
sete al
movzx eax, al
cmp eax, 0
je 0x4eaf2f
mov eax, dword [edi + 0x8c]
cmp eax, 0
sete al
movzx eax, al
cmp eax, 0
je 0x4eaee1
mov eax, dword [edi + 0xc0]
cmp eax, 0
sete al
movzx eax, al
cmp eax, 0
je 0x4eaef5
mov eax, dword [edi + 0x84]
cmp eax, 0
sete al
movzx eax, al
cmp eax, 0
je 0x4eaf2f
push 1
push dword [edi + 0x10]
push dword [edi + 0xc]
call fcn.0057c2b1
add esp, 0xc
fstp dword [ebp - 0x34]
fld dword [0x691178]
fld dword [ebp - 0x34]
fucompp
fnstsw ax
sahf
setne al
movzx eax, al
cmp eax, 0
jne 0x4eaf2f
fld dword [0x69117c]
fstp dword [ebp - 0x34]
fld dword [edi + 0x10c]
fldz
fxch st(1)
fucompp
fnstsw ax
sahf
setne al
movzx eax, al
cmp eax, 0
jne 0x4eaf52
fld dword [ebp - 0x34]
fstp dword [edi + 0x108]
cmp dword [edi + 0x124], 0
jle 0x4eb0b7
mov eax, dword [edi + 0x124]
mov dword [ebp - 0x6c], eax
fild dword [ebp - 0x6c]
fld dword [0x691180]
fxch st(1)
fucompp
fnstsw ax
sahf
setae al
movzx eax, al
cmp eax, 0
jne 0x4eb0b7
fld dword [edi + 0x10c]
fldz
fxch st(1)
fucompp
fnstsw ax
sahf
setne al
movzx eax, al
cmp eax, 0
jne 0x4eb045
mov edx, dword [edi + 0xc]
add edx, dword [0x681e64]
sub edx, dword [0x6812f8]
mov eax, dword [edi + 0x10]
add eax, dword [0x681e68]
sub eax, dword [0x6812fc]
cmp dword [edi + 0x14], 0x5c
jne 0x4eaff2
push 0xc8
push 0xc8
push 0xc8
push 0x3ecccccd
push 0xc0000000
push 0x18
push 0xfffffffffffffff6
push eax
push edx
call fcn.0055098a
add esp, 0x24
jmp 0x4eb045
cmp dword [edi + 0x14], 0x5d
jne 0x4eb01e
push 0x14
push 0xd2
push 0xfa
push 0x3f000000
push 0xc0000000
push 0x18
push 0xfffffffffffffff6
push eax
push edx
call fcn.0055098a
add esp, 0x24
jmp 0x4eb045
cmp dword [edi + 0x14], 0x5b
jne 0x4eb045
push 0x3c
push 0xfa
push 0x64
push 0x3f000000
push 0xc0000000
push 0x18
push 0xfffffffffffffff6
push eax
push edx
call fcn.0055098a
add esp, 0x24
fld dword [edi + 0x10c]
fldz
fxch st(1)
fucompp
fnstsw ax
sahf
setne al
movzx eax, al
cmp eax, 0
jne 0x4eb077
fld dword [0x691184]
fstp dword [edi + 0x10c]
fld dword [0x691188]
fstp dword [edi + 0x108]
fld dword [0x682128]
fmul dword [0x69118c]
fstp dword [ebp - 0xc]
fld dword [0x691190]
sub esp, 8
fstp qword [esp]
fld dword [edi + 0x108]
sub esp, 8
fstp qword [esp]
call fcn.004c18c0
add esp, 0x10
fld dword [ebp - 0xc]
fmulp st(1)
fstp dword [ebp - 0xc]
fld dword [ebp - 0xc]
fstp dword [edi + 0x178]
cmp dword [edi + 0x14], 0x1a
jge 0x4eb0c5
fld1
fstp dword [edi + 0x178]
push dword [edi + 0x178]
push dword [edi + 0x178]
call fcn.00646a94
add esp, 8
fld dword [edi + 0x10c]
fldz
fxch st(1)
fucompp
fnstsw ax
sahf
sete al
movzx eax, al
cmp eax, 0
jne 0x4eb226
mov eax, dword [0x682ce4]
cmp eax, 1
setne al
movzx eax, al
cmp eax, 0
je 0x4eb116
mov eax, dword [edi + 0x14]
cmp eax, 0x5a
setne al
movzx eax, al
cmp eax, 0
je 0x4eb226
fld dword [edi + 0x108]
fld dword [edi + 0x10c]
fmul dword [0x681a10]
faddp st(1)
fstp dword [edi + 0x108]
cmp dword [edi + 0x14c], 0
jne 0x4eb1c6
fld dword [edi + 0x108]
fldz
fxch st(1)
fucompp
fnstsw ax
sahf
seta al
movzx eax, al
cmp eax, 0
jne 0x4eb19a
fldz
fstp dword [edi + 0x108]
cmp dword [edi + 0x124], 0
jle 0x4eb185
mov dword [edi + 0x124], 0
fldz
fstp dword [edi + 0x10c]
jmp 0x4eb19a
cmp dword [edi + 0x8c], 0
jne 0x4eb19a
fld dword [0x691194]
fstp dword [edi + 0x10c]
fld dword [edi + 0x108]
fld1
fxch st(1)
fucompp
fnstsw ax
sahf
setb al
movzx eax, al
cmp eax, 0
jne 0x4eb1c4
fld1
fstp dword [edi + 0x108]
fldz
fstp dword [edi + 0x10c]
jmp 0x4eb226
fld dword [edi + 0x108]
fld1
fxch st(1)
fucompp
fnstsw ax
sahf
setb al
movzx eax, al
cmp eax, 0
jne 0x4eb1f0
fld1
fstp dword [edi + 0x108]
fldz
fstp dword [edi + 0x10c]
fld dword [edi + 0x108]
fld dword [0x691198]
fxch st(1)
fucompp
fnstsw ax
sahf
seta al
movzx eax, al
cmp eax, 0
jne 0x4eb226
fld dword [0x69119c]
fstp dword [edi + 0x108]
fld dword [0x6911a0]
fstp dword [edi + 0x10c]
fld dword [edi + 0x108]
fstp dword [ebp - 0x34]
mov eax, dword [edi + 0x14]
cmp eax, 0x66
sete al
movzx eax, al
cmp eax, 0
jne 0x4eb24c
mov eax, dword [edi + 0x14]
cmp eax, 0x64
sete al
movzx eax, al
cmp eax, 0
jne 0x4eb25d
mov eax, dword [edi + 0x14]
cmp eax, 0x51
sete al
movzx eax, al
cmp eax, 0
jne 0x4eb26e
mov eax, dword [edi + 0x14]
cmp eax, 0x62
sete al
movzx eax, al
cmp eax, 0
jne 0x4eb27f
mov eax, dword [edi + 0x14]
cmp eax, 0x63
sete al
movzx eax, al
cmp eax, 0
jne 0x4eb290
mov eax, dword [edi + 0x14]
cmp eax, 0x5a
sete al
movzx eax, al
cmp eax, 0
jne 0x4eb2a4
mov eax, dword [edi + 0x14c]
cmp eax, 0xd
sete al
movzx eax, al
cmp eax, 0
jne 0x4eb2b8
mov eax, dword [edi + 0x14c]
cmp eax, 0xe
sete al
movzx eax, al
cmp eax, 0
je 0x4eb2cf
mov eax, dword [ebp - 0x68]
push edi
push eax
mov eax, dword [eax]
call dword [eax + 0x44]
add esp, 8
jmp 0x4ebd62
cmp dword [edi + 0x14], 0x4c
jne 0x4eb4a8
push 3
call fcn.006465db
add esp, 4
push dword [ebp - 0x34]
call fcn.00646614
add esp, 4
cmp dword [edi + 0x140], 0
jne 0x4eb31a
push 0
call fcn.00646a65
add esp, 4
push dword [edi + 0x58]
push dword [ebp - 0x2c]
push dword [ebp - 0x28]
push dword [ebp - 0x44]
call fcn.004e9070
add esp, 0x10
jmp 0x4eb4a3
cmp dword [edi + 0x140], 1
jne 0x4eb349
push 0x42b40000
call fcn.00646a65
add esp, 4
push dword [edi + 0x58]
push dword [ebp - 0x2c]
push dword [ebp - 0x28]
push dword [ebp - 0x44]
call fcn.004e9070
add esp, 0x10
jmp 0x4eb4a3
cmp dword [edi + 0x140], 2
jne 0x4eb396
push 0
call fcn.00646a65
add esp, 4
push dword [edi + 0x58]
push dword [ebp - 0x2c]
push dword [ebp - 0x28]
push dword [ebp - 0x44]
call fcn.004e9070
add esp, 0x10
push 0x42b40000
call fcn.00646a65
add esp, 4
push dword [edi + 0x58]
push dword [ebp - 0x2c]
push dword [ebp - 0x28]
push dword [ebp - 0x44]
call fcn.004e9070
add esp, 0x10
jmp 0x4eb4a3
cmp dword [edi + 0x140], 3
jne 0x4eb3e6
push 0x42340000
call fcn.00646a65
add esp, 4
push dword [edi + 0x58]
push dword [ebp - 0x2c]
push dword [ebp - 0x28]
push dword [ebp - 0x44]
call fcn.004e9070
add esp, 0x10
push 0x43070000
call fcn.00646a65
add esp, 4
push dword [edi + 0x58]
push dword [ebp - 0x2c]
push dword [ebp - 0x28]
push dword [ebp - 0x44]
call fcn.004e9070
add esp, 0x10
jmp 0x4eb4a3
cmp dword [edi + 0x140], 4
jne 0x4eb415
push 0
call fcn.00646a65
add esp, 4
push dword [edi + 0x58]
push dword [ebp - 0x2c]
push dword [ebp - 0x28]
push dword [0x681ae8]
call fcn.004e9070
add esp, 0x10
jmp 0x4eb4a3
cmp dword [edi + 0x140], 5
jne 0x4eb4a3
push 0x42340000
call fcn.00646a65
add esp, 4
push dword [edi + 0x58]
push dword [ebp - 0x2c]
push dword [ebp - 0x28]
push dword [ebp - 0x44]
call fcn.004e9070
add esp, 0x10
push 0x43070000
call fcn.00646a65
add esp, 4
push dword [edi + 0x58]
push dword [ebp - 0x2c]
push dword [ebp - 0x28]
push dword [ebp - 0x44]
call fcn.004e9070
add esp, 0x10
push 0
call fcn.00646a65
add esp, 4
push dword [edi + 0x58]
push dword [ebp - 0x2c]
push dword [ebp - 0x28]
push dword [ebp - 0x44]
call fcn.004e9070
add esp, 0x10
push 0x42b40000
call fcn.00646a65
add esp, 4
push dword [edi + 0x58]
push dword [ebp - 0x2c]
push dword [ebp - 0x28]
push dword [ebp - 0x44]
call fcn.004e9070
add esp, 0x10
jmp 0x4ebd62
cmp dword [edi + 0x14], 0x4d
jne 0x4eb4ea
push 3
call fcn.006465db
add esp, 4
push dword [ebp - 0x34]
call fcn.00646614
add esp, 4
push dword [edi + 0xc4]
call fcn.00646a65
add esp, 4
push dword [edi + 0x58]
push dword [ebp - 0x2c]
push dword [ebp - 0x28]
push dword [ebp - 0x44]
call fcn.004e9070
add esp, 0x10
jmp 0x4ebd62
push dword [edi + 0xc4]
call fcn.00646a65
add esp, 4
push 3
call fcn.006465db
add esp, 4
push dword [ebp - 0x34]
call fcn.00646614
add esp, 4
mov eax, dword [edi + 0x74]
mov dword [ebp - 0x30], eax
fld dword [edi + 0x58]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
mov dword [ebp - 0x24], eax
cmp dword [edi + 0x14], 0x52
jne 0x4eb53c
mov eax, dword [ebp - 0x30]
cmp dword [ebp - 0x24], eax
jl 0x4eb53c
mov dword [ebp - 0x24], 0
mov eax, dword [edi + 0x1a8]
cmp eax, 1
sete al
movzx eax, al
cmp eax, 0
je 0x4eb55e
mov eax, dword [0x682ce4]
cmp eax, 0
sete al
movzx eax, al
cmp eax, 0
je 0x4eb578
fld dword [edi + 0x10c]
fldz
fxch st(1)
fucompp
fnstsw ax
sahf
sete al
movzx eax, al
cmp eax, 0
je 0x4eb630
push 0xc3
push 0xc3
push 0xff
call fcn.0064655b
add esp, 0xc
push dword [0x681f40]
call fcn.00646614
add esp, 4
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x6c], eax
fild dword [ebp - 0x6c]
sub esp, 4
fstp dword [esp]
push dword [ebp - 0x2c]
push dword [ebp - 0x28]
push dword [ebp - 0x44]
call fcn.004e9070
add esp, 0x10
push 4
call fcn.006465db
add esp, 4
fld dword [0x681f40]
fmul dword [0x6911a4]
sub esp, 4
fstp dword [esp]
call fcn.00646614
add esp, 4
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x6c], eax
fild dword [ebp - 0x6c]
sub esp, 4
fstp dword [esp]
push dword [ebp - 0x2c]
push dword [ebp - 0x28]
push dword [ebp - 0x44]
call fcn.004e9070
add esp, 0x10
push 3
call fcn.006465db
add esp, 4
push 0xff
push 0xff
push 0xff
call fcn.0064655b
add esp, 0xc
jmp 0x4ebbb3
mov eax, dword [edi + 0x14]
cmp eax, dword [0x681dfc]
sete al
movzx eax, al
cmp eax, 0
je 0x4eb652
mov eax, dword [0x682ce4]
cmp eax, 0
sete al
movzx eax, al
cmp eax, 0
je 0x4eb66c
fld dword [edi + 0x10c]
fldz
fxch st(1)
fucompp
fnstsw ax
sahf
sete al
movzx eax, al
cmp eax, 0
je 0x4eb872
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x6c], eax
fild dword [ebp - 0x6c]
sub esp, 4
fstp dword [esp]
push dword [ebp - 0x2c]
push dword [ebp - 0x28]
push dword [ebp - 0x44]
call fcn.004e9070
add esp, 0x10
mov eax, dword [0x681e4c]
mov edx, dword [0x681e08]
mov edx, dword [edx + 8]
imul edx, dword [0x681e5c]
add eax, edx
add eax, dword [0x681e64]
sub eax, dword [0x6812f8]
mov ebx, dword [0x681e50]
mov edx, dword [0x681e08]
mov edx, dword [edx + 0xc]
imul edx, dword [0x681e60]
add ebx, edx
add ebx, dword [0x681e68]
sub ebx, dword [0x6812fc]
fld1
sub esp, 8
fstp qword [esp]
fld dword [ebp - 0x28]
mov dword [ebp - 0x6c], eax
fild dword [ebp - 0x6c]
fsubp st(1)
sub esp, 8
fstp qword [esp]
call fcn.004c1830
add esp, 8
fstp dword [ebp - 0x10]
fld dword [ebp - 0x2c]
mov dword [ebp - 0x6c], ebx
fild dword [ebp - 0x6c]
fsubp st(1)
sub esp, 8
fstp qword [esp]
call fcn.004c1830
add esp, 8
fld dword [ebp - 0x10]
faddp st(1)
fstp dword [ebp - 0x10]
fld dword [ebp - 0x10]
fdiv dword [0x6911a8]
sub esp, 8
fstp qword [esp]
call fcn.004c18c0
add esp, 0x10
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
fld dword [0x6911ac]
mov dword [ebp - 0x6c], eax
fild dword [ebp - 0x6c]
fdivp st(1)
cmp dword [edi + 0x14], 1
jne 0x4eb779
fld dword [0x6911b0]
sub esp, 8
fstp qword [esp]
sub esp, 8
fstp qword [esp]
call fcn.004c18a0
add esp, 0x10
jmp 0x4eb817
cmp dword [edi + 0x14], 4
jne 0x4eb79b
fld dword [0x6911b4]
sub esp, 8
fstp qword [esp]
sub esp, 8
fstp qword [esp]
call fcn.004c18a0
add esp, 0x10
jmp 0x4eb817
cmp dword [edi + 0x14], 6
jne 0x4eb7bd
fld dword [0x6911b8]
sub esp, 8
fstp qword [esp]
sub esp, 8
fstp qword [esp]
call fcn.004c18a0
add esp, 0x10
jmp 0x4eb817
cmp dword [edi + 0x14], 7
jne 0x4eb7df
fld dword [0x6911bc]
sub esp, 8
fstp qword [esp]
sub esp, 8
fstp qword [esp]
call fcn.004c18a0
add esp, 0x10
jmp 0x4eb817
cmp dword [edi + 0x14], 9
jne 0x4eb801
fld dword [0x6911c0]
sub esp, 8
fstp qword [esp]
sub esp, 8
fstp qword [esp]
call fcn.004c18a0
add esp, 0x10
jmp 0x4eb817
fld1
sub esp, 8
fstp qword [esp]
sub esp, 8
fstp qword [esp]
call fcn.004c18a0
add esp, 0x10
fld dword [edi + 0x100]
fld dword [0x681a10]
fmul dword [0x6911c4]
faddp st(1)
fstp dword [edi + 0x100]
fld dword [edi + 0x100]
fucomp st(1)
fnstsw ax
sahf
setbe al
movzx eax, al
cmp eax, 0
jne 0x4eb84d
fst dword [edi + 0x100]
fld dword [0x6911c8]
fxch st(1)
fucompp
fnstsw ax
sahf
setae al
movzx eax, al
cmp eax, 0
jne 0x4eb86d
fldz
fstp dword [edi + 0x100]
jmp 0x4ebbb3
fld dword [edi + 0x100]
fldz
fxch st(1)
fucompp
fnstsw ax
sahf
setbe al
movzx eax, al
cmp eax, 0
jne 0x4eb8e1
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x6c], eax
fild dword [ebp - 0x6c]
sub esp, 4
fstp dword [esp]
push dword [ebp - 0x2c]
push dword [ebp - 0x28]
push dword [ebp - 0x44]
call fcn.004e9070
add esp, 0x10
fldz
sub esp, 8
fstp qword [esp]
fld dword [edi + 0x100]
fld dword [0x681a10]
fmul dword [0x6911cc]
fsubp st(1)
sub esp, 8
fstp qword [esp]
call fcn.004c18c0
add esp, 0x10
fstp dword [edi + 0x100]
jmp 0x4ebbb3
mov eax, dword [edi + 0x14]
cmp eax, 0x11
setge al
movzx eax, al
cmp eax, 0
je 0x4eb8fe
mov eax, dword [edi + 0x14]
cmp eax, 0x18
setle al
movzx eax, al
cmp eax, 0
je 0x4ebb5e
mov ecx, 4
mov eax, dword [0x68716c]
cdq
idiv ecx
mov eax, edx
cmp eax, 0
jne 0x4ebb5e
push 1
push 0x186a0
call fcn.00659bc1
add esp, 8
cmp eax, 0x182b8
setg al
movzx eax, al
cmp eax, 0
je 0x4eb953
mov eax, dword [edi + 0x1ac]
add eax, dword [edi + 0x1b0]
cmp eax, 0
setne al
movzx eax, al
cmp eax, 0
je 0x4ebb5e
mov eax, dword [edi + 0x1b4]
mov dword [ebp - 0x6c], eax
fild dword [ebp - 0x6c]
fmul dword [0x6911d0]
fstp dword [ebp - 0x1c]
mov eax, dword [edi + 0x1b8]
mov dword [ebp - 0x6c], eax
fild dword [ebp - 0x6c]
fmul dword [0x6911d4]
fstp dword [ebp - 0x18]
mov eax, dword [edi + 0x14]
cmp eax, 0x11
je 0x4eb9b9
cmp eax, 0x12
je 0x4eb9d3
cmp eax, 0x13
je 0x4eb9ea
cmp eax, 0x14
je 0x4eba01
cmp eax, 0x15
je 0x4eba18
cmp eax, 0x16
je 0x4eba2f
cmp eax, 0x17
je 0x4eba46
jmp 0x4eba5d
mov dword [ebp - 0x54], 0x19
mov dword [ebp - 0x50], 0x9b
mov dword [ebp - 0x58], 0x23
jmp 0x4eba5d
mov dword [ebp - 0x54], 0xc8
mov dword [ebp - 0x50], 0x19
mov dword [ebp - 0x58], 0x19
jmp 0x4eba5d
mov dword [ebp - 0x54], 0xcd
mov dword [ebp - 0x50], 0x9b
mov dword [ebp - 0x58], 0x55
jmp 0x4eba5d
mov dword [ebp - 0x54], 0x37
mov dword [ebp - 0x50], 0x37
mov dword [ebp - 0x58], 0x55
jmp 0x4eba5d
mov dword [ebp - 0x54], 0x9b
mov dword [ebp - 0x50], 0xc8
mov dword [ebp - 0x58], 0xff
jmp 0x4eba5d
mov dword [ebp - 0x54], 0x37
mov dword [ebp - 0x50], 0x9b
mov dword [ebp - 0x58], 0xcd
jmp 0x4eba5d
mov dword [ebp - 0x54], 0x9b
mov dword [ebp - 0x50], 0xff
mov dword [ebp - 0x58], 0x19
jmp 0x4eba5d
mov esi, 0
mov ebx, 1
jmp 0x4ebb55
push 0
push 4
push 1
push 0x43480000
push 0
push 1
push dword [ebp - 0x58]
push dword [ebp - 0x50]
push dword [ebp - 0x54]
push 0x3c
push 0x20
fld1
sub esp, 8
fstp qword [esp]
fld qword [0x6911d8]
sub esp, 8
fstp qword [esp]
call fcn.00659b80
add esp, 0x10
sub esp, 4
fstp dword [esp]
push 0x3fe00000
push 0x3f800000
push esi
fld dword [ebp - 0x18]
sub esp, 8
fstp qword [esp]
fld dword [ebp - 0x18]
fchs
sub esp, 8
fstp qword [esp]
call fcn.00659b80
add esp, 0x10
sub esp, 4
fstp dword [esp]
fld dword [ebp - 0x1c]
sub esp, 8
fstp qword [esp]
fld dword [ebp - 0x1c]
fchs
sub esp, 8
fstp qword [esp]
call fcn.00659b80
add esp, 0x10
sub esp, 4
fstp dword [esp]
push 0xfffffffffffffff6
fld dword [ebp - 0x2c]
mov eax, dword [edi + 0x1b0]
mov dword [ebp - 0x6c], eax
fild dword [ebp - 0x6c]
faddp st(1)
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
fld dword [ebp - 0x28]
mov eax, dword [edi + 0x1ac]
mov dword [ebp - 0x6c], eax
fild dword [ebp - 0x6c]
faddp st(1)
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
push 0x2e
push dword [0x683ac8]
call fcn.00547993
add esp, 0x58
mov eax, ebx
imul eax, eax, 0x28
mov esi, eax
add ebx, 1
cmp ebx, 8
jle 0x4eba6c
cmp dword [ebp - 0x44], 0x66dc40
je 0x4ebb9c
cmp dword [edi + 0x14], 0x52
jne 0x4ebb7c
mov eax, dword [ebp - 0x30]
cmp dword [ebp - 0x24], eax
jl 0x4ebb7c
mov dword [ebp - 0x24], 0
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x6c], eax
fild dword [ebp - 0x6c]
sub esp, 4
fstp dword [esp]
push dword [ebp - 0x2c]
push dword [ebp - 0x28]
push dword [ebp - 0x44]
call fcn.004e9070
add esp, 0x10
push 0xff
push 0xff
push 0xff
call fcn.0064655b
add esp, 0xc
fld dword [edi + 0x100]
fldz
fxch st(1)
fucompp
fnstsw ax
sahf
setbe al
movzx eax, al
cmp eax, 0
jne 0x4ebc26
push 4
call fcn.006465db
add esp, 4
fld dword [edi + 0x100]
fmul dword [ebp - 0x34]
sub esp, 4
fstp dword [esp]
call fcn.00646614
add esp, 4
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x6c], eax
fild dword [ebp - 0x6c]
sub esp, 4
fstp dword [esp]
push dword [ebp - 0x2c]
push dword [ebp - 0x28]
push dword [ebp - 0x44]
call fcn.004e9070
add esp, 0x10
push 3
call fcn.006465db
add esp, 4
push dword [0x68256c]
call fcn.00646614
add esp, 4
cmp dword [edi + 0x14], 0x65
jne 0x4ebd62
mov ebx, dword [edi + 0x180]
cmp ebx, 0x1a
jne 0x4ebc3e
add ebx, 1
fld dword [edi + 0x178]
fmul dword [0x6911e0]
sub esp, 4
fstp dword [esp]
fld dword [edi + 0x178]
fmul dword [0x6911e4]
sub esp, 4
fstp dword [esp]
call fcn.00646a94
add esp, 8
push ebx
call fcn.004ee54f
add esp, 4
mov esi, eax
cmp ebx, 0x1a
jne 0x4ebc93
push 0x9b
push 0xff
push 0xff
call fcn.0064655b
add esp, 0xc
jmp 0x4ebcaa
push 0xff
push 0x96
push 0x96
call fcn.0064655b
add esp, 0xc
fld dword [ebp - 0x34]
fmul dword [0x6911e8]
sub esp, 4
fstp dword [esp]
call fcn.00646614
add esp, 4
push 0
push dword [ebp - 0x2c]
push dword [ebp - 0x28]
push dword [esi + 8]
call fcn.004e9070
add esp, 0x10
fld dword [ebp - 0x34]
fmul dword [0x6911ec]
sub esp, 4
fstp dword [esp]
call fcn.00646614
add esp, 4
push 4
call fcn.006465db
add esp, 4
push 0
push dword [ebp - 0x2c]
push dword [ebp - 0x28]
push dword [esi + 8]
call fcn.004e9070
add esp, 0x10
push 3
call fcn.006465db
add esp, 4
push dword [0x68256c]
call fcn.00646614
add esp, 4
push dword [edi + 0x178]
push dword [edi + 0x178]
call fcn.00646a94
add esp, 8
push 0xff
push 0xff
push 0xff
call fcn.0064655b
add esp, 0xc
push dword [edi + 0x58]
push dword [ebp - 0x2c]
push dword [ebp - 0x28]
push dword [0x6838b0]
call fcn.004e9070
add esp, 0x10
cmp dword [0x680aac], 1
jne 0x4ebe34
mov eax, dword [edi + 0x14c]
cmp eax, 0
setne al
movzx eax, al
cmp eax, 0
je 0x4ebd91
mov eax, dword [0x681a24]
cmp eax, 2
sete al
movzx eax, al
cmp eax, 0
je 0x4ebe34
push 0x66dc40
call fcn.00646b3b
add esp, 4
push 0
call fcn.00646a65
add esp, 4
push 0xff
push 0xff
push 0xff
call fcn.0064655b
add esp, 0xc
push 0x3f800000
call fcn.00646614
add esp, 4
push 3
call fcn.006465db
add esp, 4
push 0x3f800000
push 0x3f800000
call fcn.00646a94
add esp, 8
push dword [ebp - 0x2c]
push dword [ebp - 0x28]
push dword [edi + 0x14]
call fcn.004c1310
add esp, 4
push eax
call fcn.00646042
add esp, 0xc
push dword [ebp - 0x2c]
fld dword [ebp - 0x28]
fadd dword [0x6911f0]
sub esp, 4
fstp dword [esp]
push dword [edi + 0x14c]
call fcn.004c1310
add esp, 4
push eax
call fcn.00646042
add esp, 0xc
fld dword [edi + 0x10c]
fld dword [0x6911f4]
fxch st(1)
fucompp
fnstsw ax
sahf
setne al
movzx eax, al
cmp eax, 0
jne 0x4ebf60
mov ecx, dword [0x681e48]
mov eax, dword [ebp - 0x48]
mov edx, dword [0x681e48]
imul eax, dword [edx + 0x18]
add eax, dword [ebp - 0x4c]
mov eax, dword [ecx + eax*4 + 0x1c]
cmp dword [eax + 0x30], edi
jne 0x4ebee6
mov ebx, 0x66dc40
inc dword [ebx + 4]
mov edx, dword [0x681e48]
mov eax, dword [ebp - 0x48]
mov ecx, dword [0x681e48]
imul eax, dword [ecx + 0x18]
add eax, dword [ebp - 0x4c]
mov eax, dword [edx + eax*4 + 0x1c]
mov eax, dword [eax + 0x30]
dec dword [eax + 4]
jne 0x4ebea8
push eax
call fcn.004c1de0
add esp, 4
mov edx, dword [0x681e48]
mov eax, dword [ebp - 0x48]
mov ecx, dword [0x681e48]
imul eax, dword [ecx + 0x18]
add eax, dword [ebp - 0x4c]
mov eax, dword [edx + eax*4 + 0x1c]
mov dword [eax + 0x30], ebx
mov ecx, dword [0x681e48]
mov eax, dword [ebp - 0x48]
mov edx, dword [0x681e48]
imul eax, dword [edx + 0x18]
add eax, dword [ebp - 0x4c]
mov eax, dword [ecx + eax*4 + 0x1c]
mov dword [eax + 0x48], 0
mov ecx, dword [0x681e48]
mov eax, dword [ebp - 0x48]
mov edx, dword [0x681e48]
imul eax, dword [edx + 0x18]
add eax, dword [ebp - 0x4c]
mov eax, dword [ecx + eax*4 + 0x1c]
cmp dword [eax + 0x1c], edi
jne 0x4ebf55
mov ebx, 0x66dc40
inc dword [ebx + 4]
mov edx, dword [0x681e48]
mov eax, dword [ebp - 0x48]
mov ecx, dword [0x681e48]
imul eax, dword [ecx + 0x18]
add eax, dword [ebp - 0x4c]
mov eax, dword [edx + eax*4 + 0x1c]
mov eax, dword [eax + 0x1c]
dec dword [eax + 4]
jne 0x4ebf38
push eax
call fcn.004c1de0
add esp, 4
mov edx, dword [0x681e48]
mov eax, dword [ebp - 0x48]
mov ecx, dword [0x681e48]
imul eax, dword [ecx + 0x18]
add eax, dword [ebp - 0x4c]
mov eax, dword [edx + eax*4 + 0x1c]
mov dword [eax + 0x1c], ebx
push 0
push edi
call fcn.004ee8c3
add esp, 8
mov eax, dword [ebp - 0x64]
push eax
mov eax, dword [eax]
call dword [eax + 0x30]
add esp, 4
cmp eax, 0
jne 0x4ea1a4
push dword [0x68256c]
call fcn.00646614
add esp, 4
push 0x3f800000
push 0x3f800000
call fcn.00646a94
add esp, 8
push 0
call fcn.00646a65
add esp, 4
mov esi, dword [0x681ad0]
mov eax, esi
push eax
mov eax, dword [eax]
call dword [eax + 0x8c]
add esp, 4
mov dword [ebp - 0x40], eax
jmp 0x4ecb9c
mov eax, dword [ebp - 0x40]
push 0x675424
push eax
mov eax, dword [eax]
call dword [eax + 0x34]
add esp, 4
push eax
call fcn.004c27b0
add esp, 8
mov edi, eax
cmp edi, 0x66dc40
je 0x4ecb9c
cmp edi, 0x66dc40
jne 0x4ebff0
jmp 0x4ecb9c
cmp dword [edi + 0xc0], 1
jne 0x4ebffe
jmp 0x4ecb9c
mov eax, dword [edi + 0x11c]
cmp eax, 0
setne al
movzx eax, al
cmp eax, 0
jne 0x4ec021
mov eax, dword [edi + 0x148]
cmp eax, 0
setne al
movzx eax, al
cmp eax, 0
je 0x4ec02b
jmp 0x4ecb9c
mov eax, dword [edi + 0xc]
sub eax, dword [0x6812f8]
add eax, dword [0x681e64]
mov dword [ebp - 0x6c], eax
fild dword [ebp - 0x6c]
fstp dword [ebp - 0x28]
mov eax, dword [edi + 0x10]
sub eax, dword [0x6812fc]
add eax, dword [0x681e68]
mov dword [ebp - 0x6c], eax
fild dword [ebp - 0x6c]
fstp dword [ebp - 0x2c]
mov eax, dword [0x6828b8]
cmp eax, 1
sete al
movzx eax, al
cmp eax, 0
je 0x4ec07c
mov eax, dword [0x6828bc]
cmp eax, 0
sete al
movzx eax, al
cmp eax, 0
je 0x4ec086
jmp 0x4ec133
mov eax, dword [0x681e64]
neg eax
mov dword [ebp - 0x6c], eax
fild dword [ebp - 0x6c]
fmul dword [0x682128]
fld dword [ebp - 0x28]
fucompp
fnstsw ax
sahf
setb al
movzx eax, al
cmp eax, 0
jne 0x4ec0d5
fld dword [0x6911f8]
mov eax, dword [0x681e64]
neg eax
mov dword [ebp - 0x6c], eax
fild dword [ebp - 0x6c]
fmul dword [0x682128]
fsubp st(1)
fld dword [ebp - 0x28]
fucompp
fnstsw ax
sahf
seta al
movzx eax, al
cmp eax, 0
jne 0x4ec0fb
mov eax, dword [0x681e68]
neg eax
mov dword [ebp - 0x6c], eax
fild dword [ebp - 0x6c]
fmul dword [0x68212c]
fld dword [ebp - 0x2c]
fucompp
fnstsw ax
sahf
setb al
movzx eax, al
cmp eax, 0
jne 0x4ec129
fld dword [0x6911fc]
mov eax, dword [0x681e68]
neg eax
mov dword [ebp - 0x6c], eax
fild dword [ebp - 0x6c]
fmul dword [0x68212c]
fsubp st(1)
fld dword [ebp - 0x2c]
fucompp
fnstsw ax
sahf
seta al
movzx eax, al
cmp eax, 0
je 0x4ec133
jmp 0x4ecb9c
fld dword [0x68256c]
fstp dword [ebp - 0x20]
mov eax, dword [0x682ce4]
cmp eax, 1
sete al
movzx eax, al
cmp eax, 0
je 0x4ec15d
mov eax, dword [0x68717c]
cmp eax, 1
sete al
movzx eax, al
cmp eax, 0
je 0x4ec197
push 1
push dword [edi + 0x10]
push dword [edi + 0xc]
call fcn.0057c2b1
add esp, 0xc
fstp dword [ebp - 0x20]
fld dword [0x691200]
fld dword [ebp - 0x20]
fucompp
fnstsw ax
sahf
setne al
movzx eax, al
cmp eax, 0
jne 0x4ec197
fld dword [0x691204]
fstp dword [ebp - 0x20]
mov eax, dword [edi + 0xc]
sub eax, dword [0x681e4c]
cdq
mov eax, dword [edi + 0x10]
sub eax, dword [0x681e50]
cdq
cmp dword [ebp - 0x5c], 0
jne 0x4ec1bd
fld dword [ebp - 0x20]
fmul dword [0x691208]
fstp dword [ebp - 0x20]
cmp dword [edi + 0x9c], 1
jne 0x4ec28c
mov eax, dword [0x682fe4]
and eax, 1
cmp eax, 0
jne 0x4ec23d
fld dword [edi + 0xa8]
fld dword [0x681a10]
mov eax, dword [0x681d60]
mov eax, dword [eax + 0x28]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0x18]
mov eax, dword [eax + 0x3c]
mov dword [ebp - 0x6c], eax
fild dword [ebp - 0x6c]
fmulp st(1)
faddp st(1)
fstp dword [edi + 0xa8]
fld dword [edi + 0xa8]
mov eax, dword [0x681d60]
mov eax, dword [eax + 0x28]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0x18]
mov eax, dword [eax + 0x38]
mov dword [ebp - 0x6c], eax
fild dword [ebp - 0x6c]
fxch st(1)
fucompp
fnstsw ax
sahf
setb al
movzx eax, al
cmp eax, 0
jne 0x4ec23b
fldz
fstp dword [edi + 0xa8]
jmp 0x4ec245
fldz
fstp dword [edi + 0xa8]
push dword [ebp - 0x20]
fld dword [0x68212c]
fmul dword [0x69120c]
sub esp, 4
fstp dword [esp]
fld dword [0x682128]
fmul dword [0x691210]
sub esp, 4
fstp dword [esp]
push dword [edi + 0xa0]
push dword [edi + 0xa8]
push dword [0x681b38]
push dword [edi + 0x10]
push dword [edi + 0xc]
call fcn.004edade
add esp, 0x20
cmp dword [edi + 0x9c], 2
jne 0x4ec35b
mov eax, dword [0x682fe4]
and eax, 1
cmp eax, 0
jne 0x4ec30c
fld dword [edi + 0xa8]
fld dword [0x681a10]
mov eax, dword [0x681d60]
mov eax, dword [eax + 0x28]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0x1c]
mov eax, dword [eax + 0x3c]
mov dword [ebp - 0x6c], eax
fild dword [ebp - 0x6c]
fmulp st(1)
faddp st(1)
fstp dword [edi + 0xa8]
fld dword [edi + 0xa8]
mov eax, dword [0x681d60]
mov eax, dword [eax + 0x28]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0x1c]
mov eax, dword [eax + 0x38]
mov dword [ebp - 0x6c], eax
fild dword [ebp - 0x6c]
fxch st(1)
fucompp
fnstsw ax
sahf
setb al
movzx eax, al
cmp eax, 0
jne 0x4ec30a
fldz
fstp dword [edi + 0xa8]
jmp 0x4ec314
fldz
fstp dword [edi + 0xa8]
push dword [ebp - 0x20]
fld dword [0x68212c]
fmul dword [0x691214]
sub esp, 4
fstp dword [esp]
fld dword [0x682128]
fmul dword [0x691218]
sub esp, 4
fstp dword [esp]
push dword [edi + 0xa4]
push dword [edi + 0xa8]
push dword [0x681b3c]
push dword [edi + 0x10]
push dword [edi + 0xc]
call fcn.004edade
add esp, 0x20
mov eax, dword [edi + 0x18c]
and eax, 1
cmp eax, 0
je 0x4ec4b8
mov eax, dword [edi + 0x194]
mov dword [ebp - 0x6c], eax
fild dword [ebp - 0x6c]
fsub dword [0x681a08]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
mov dword [edi + 0x194], eax
cmp dword [edi + 0x194], 0
jg 0x4ec3c0
add dword [edi + 0x190], 1
cmp dword [edi + 0x190], 0x20
jl 0x4ec3b6
mov dword [edi + 0x190], 0
mov dword [edi + 0x194], 0x14
fld dword [0x68256c]
fmul dword [0x69121c]
sub esp, 4
fstp dword [esp]
call fcn.00646614
add esp, 4
push dword [0x681af8]
call fcn.00646d79
add esp, 4
push 0x3f800000
push 0x3f800000
call fcn.00646a94
add esp, 8
push 4
call fcn.006465db
add esp, 4
mov eax, dword [edi + 0xc]
sub eax, dword [0x6812f8]
add eax, dword [0x681e64]
mov dword [ebp - 0x6c], eax
fild dword [ebp - 0x6c]
fstp dword [ebp - 0x28]
mov eax, dword [edi + 0x10]
sub eax, dword [0x6812fc]
add eax, dword [0x681e68]
mov dword [ebp - 0x6c], eax
fild dword [ebp - 0x6c]
fstp dword [ebp - 0x2c]
mov eax, dword [edi + 0x190]
mov dword [ebp - 0x6c], eax
fild dword [ebp - 0x6c]
sub esp, 4
fstp dword [esp]
push dword [ebp - 0x2c]
push dword [ebp - 0x28]
push dword [0x681af8]
call fcn.004e9070
add esp, 0x10
mov eax, dword [0x6834c8]
mov ebx, dword [eax + 0xa4]
fld dword [ebp - 0x28]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
mov dword [ebx + 8], eax
mov eax, dword [0x6834c8]
mov ebx, dword [eax + 0xa4]
fld dword [ebp - 0x2c]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
mov dword [ebx + 0xc], eax
push 0x3f800000
push 0x3f800000
call fcn.00646a94
add esp, 8
push dword [0x68256c]
call fcn.00646614
add esp, 4
mov eax, dword [edi + 0x18c]
and eax, 2
cmp eax, 0
je 0x4ec631
mov eax, dword [edi + 0x194]
mov dword [ebp - 0x6c], eax
fild dword [ebp - 0x6c]
fsub dword [0x681a08]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
mov dword [edi + 0x194], eax
cmp dword [edi + 0x194], 0
jg 0x4ec51d
add dword [edi + 0x190], 1
cmp dword [edi + 0x190], 0x20
jl 0x4ec513
mov dword [edi + 0x190], 0
mov dword [edi + 0x194], 0x14
push dword [0x68256c]
call fcn.00646614
add esp, 4
push dword [0x681af8]
call fcn.00646d79
add esp, 4
push 0x3f800000
push 0x3f800000
call fcn.00646a94
add esp, 8
push 4
call fcn.006465db
add esp, 4
mov eax, dword [edi + 0xc]
sub eax, dword [0x6812f8]
add eax, dword [0x681e64]
mov dword [ebp - 0x6c], eax
fild dword [ebp - 0x6c]
fstp dword [ebp - 0x28]
mov eax, dword [edi + 0x10]
sub eax, dword [0x6812fc]
add eax, dword [0x681e68]
mov dword [ebp - 0x6c], eax
fild dword [ebp - 0x6c]
fstp dword [ebp - 0x2c]
push 0
push 0
push 0xff
call fcn.0064655b
add esp, 0xc
mov eax, dword [edi + 0x190]
mov dword [ebp - 0x6c], eax
fild dword [ebp - 0x6c]
sub esp, 4
fstp dword [esp]
push dword [ebp - 0x2c]
push dword [ebp - 0x28]
push dword [0x681af8]
call fcn.004e9070
add esp, 0x10
mov eax, dword [0x6834c8]
mov ebx, dword [eax + 0x16c]
fld dword [ebp - 0x28]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
mov dword [ebx + 8], eax
mov eax, dword [0x6834c8]
mov ebx, dword [eax + 0x16c]
fld dword [ebp - 0x2c]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
mov dword [ebx + 0xc], eax
push 0xff
push 0xff
push 0xff
call fcn.0064655b
add esp, 0xc
push 0x3f800000
push 0x3f800000
call fcn.00646a94
add esp, 8
push dword [0x68256c]
call fcn.00646614
add esp, 4
mov eax, dword [edi + 0x18c]
and eax, 4
cmp eax, 0
je 0x4ec7a2
push dword [0x68256c]
call fcn.00646614
add esp, 4
push 0x3f800000
push 0x3f800000
call fcn.00646a94
add esp, 8
push 4
call fcn.006465db
add esp, 4
mov eax, dword [edi + 0xc]
sub eax, dword [0x6812f8]
add eax, dword [0x681e64]
mov dword [ebp - 0x6c], eax
fild dword [ebp - 0x6c]
fstp dword [ebp - 0x28]
mov eax, dword [edi + 0x10]
sub eax, dword [0x6812fc]
add eax, dword [0x681e68]
mov dword [ebp - 0x6c], eax
fild dword [ebp - 0x6c]
fstp dword [ebp - 0x2c]
push 0xff
push 0xff
push 0xff
call fcn.0064655b
add esp, 0xc
mov eax, dword [edi + 0x1c0]
mov dword [ebp - 0x6c], eax
fild dword [ebp - 0x6c]
fsub dword [0x681a08]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
mov dword [edi + 0x1c0], eax
cmp dword [edi + 0x1c0], 0
jg 0x4ec707
add dword [edi + 0x1bc], 1
cmp dword [edi + 0x1bc], 0x10
jl 0x4ec6fd
mov dword [edi + 0x1bc], 0
mov dword [edi + 0x1c0], 0x96
mov eax, dword [edi + 0x1bc]
mov dword [ebp - 0x6c], eax
fild dword [ebp - 0x6c]
sub esp, 4
fstp dword [esp]
push dword [ebp - 0x2c]
push dword [ebp - 0x28]
push dword [0x6838b4]
call fcn.004e9070
add esp, 0x10
mov eax, dword [0x6834c8]
mov ebx, dword [eax + 0x1f8]
fld dword [ebp - 0x28]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
mov dword [ebx + 8], eax
mov eax, dword [0x6834c8]
mov ebx, dword [eax + 0x1f8]
fld dword [ebp - 0x2c]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
mov dword [ebx + 0xc], eax
push 0xff
push 0xff
push 0xff
call fcn.0064655b
add esp, 0xc
push 0x3f800000
push 0x3f800000
call fcn.00646a94
add esp, 8
push dword [0x68256c]
call fcn.00646614
add esp, 4
cmp dword [edi + 0xd0], 0xffffffff
je 0x4ec850
push 4
call fcn.006465db
add esp, 4
push 0xff
push 0xff
push 0xff
call fcn.0064655b
add esp, 0xc
mov eax, dword [edi + 0xd0]
mov dword [ebp - 0x6c], eax
fild dword [ebp - 0x6c]
sub esp, 4
fstp dword [esp]
call fcn.00646a65
add esp, 4
push 0
push dword [ebp - 0x2c]
push dword [ebp - 0x28]
push dword [0x68388c]
call fcn.004e9070
add esp, 0x10
push 0
call fcn.00646a65
add esp, 4
mov eax, dword [edi + 0xd4]
mov dword [ebp - 0x6c], eax
fild dword [ebp - 0x6c]
fadd dword [0x681a08]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
mov dword [edi + 0xd4], eax
cmp dword [edi + 0xd4], 0x3e8
jle 0x4ec850
mov dword [edi + 0xd4], 0
mov dword [edi + 0xd0], 0xffffffff
cmp dword [edi + 0x114], 1
jne 0x4ec9f9
fld dword [0x691220]
sub esp, 8
fstp qword [esp]
fld dword [ebp - 0x20]
fld dword [0x681a48]
fmul dword [0x691224]
faddp st(1)
fsub dword [0x691228]
sub esp, 8
fstp qword [esp]
call fcn.004c18c0
add esp, 0x10
sub esp, 4
fstp dword [esp]
call fcn.00646614
add esp, 4
fld dword [0x68212c]
fmul dword [0x69122c]
sub esp, 4
fstp dword [esp]
fld dword [0x682128]
fmul dword [0x691230]
sub esp, 4
fstp dword [esp]
call fcn.00646a94
add esp, 8
push 3
call fcn.006465db
add esp, 4
mov eax, dword [0x682fe4]
and eax, 1
cmp eax, 0
jne 0x4ec995
fld dword [edi + 0xa0]
fldz
fxch st(1)
fucompp
fnstsw ax
sahf
setb al
movzx eax, al
cmp eax, 0
jne 0x4ec919
fld dword [edi + 0xa8]
fld dword [0x681a10]
fmul dword [0x691234]
faddp st(1)
fstp dword [edi + 0xa8]
jmp 0x4ec933
fld dword [edi + 0xa8]
fld dword [0x681a10]
fmul dword [0x691238]
fsubp st(1)
fstp dword [edi + 0xa8]
fld dword [edi + 0xa8]
fld dword [0x69123c]
fxch st(1)
fucompp
fnstsw ax
sahf
setb al
movzx eax, al
cmp eax, 0
jne 0x4ec969
fld dword [0x691240]
fstp dword [edi + 0xa0]
fld dword [0x691244]
fstp dword [edi + 0xa8]
fld dword [edi + 0xa8]
fldz
fxch st(1)
fucompp
fnstsw ax
sahf
setae al
movzx eax, al
cmp eax, 0
jne 0x4ec993
fld1
fstp dword [edi + 0xa0]
fldz
fstp dword [edi + 0xa8]
jmp 0x4ec99d
fldz
fstp dword [edi + 0xa8]
mov eax, dword [edi + 0xc]
sub eax, dword [0x6812f8]
add eax, dword [0x681e64]
mov dword [ebp - 0x6c], eax
fild dword [ebp - 0x6c]
fstp dword [ebp - 0x28]
mov eax, dword [edi + 0x10]
sub eax, dword [0x6812fc]
add eax, dword [0x681e68]
mov dword [ebp - 0x6c], eax
fild dword [ebp - 0x6c]
fstp dword [ebp - 0x2c]
push dword [edi + 0xa8]
push dword [ebp - 0x2c]
push dword [ebp - 0x28]
push dword [0x681b00]
call fcn.004e9070
add esp, 0x10
push 0x3f800000
push 0x3f800000
call fcn.00646a94
add esp, 8
cmp dword [edi + 0x114], 2
jne 0x4ecb9c
push dword [ebp - 0x20]
call fcn.00646614
add esp, 4
fld dword [0x68212c]
fmul dword [0x691248]
sub esp, 4
fstp dword [esp]
fld dword [0x682128]
fmul dword [0x69124c]
sub esp, 4
fstp dword [esp]
call fcn.00646a94
add esp, 8
push 3
call fcn.006465db
add esp, 4
mov eax, dword [0x682fe4]
and eax, 1
cmp eax, 0
jne 0x4ecb0a
fld dword [edi + 0xa0]
fldz
fxch st(1)
fucompp
fnstsw ax
sahf
setb al
movzx eax, al
cmp eax, 0
jne 0x4eca8e
fld dword [edi + 0xa8]
fld dword [0x681a10]
fmul dword [0x691250]
faddp st(1)
fstp dword [edi + 0xa8]
jmp 0x4ecaa8
fld dword [edi + 0xa8]
fld dword [0x681a10]
fmul dword [0x691254]
fsubp st(1)
fstp dword [edi + 0xa8]
fld dword [edi + 0xa8]
fld dword [0x691258]
fxch st(1)
fucompp
fnstsw ax
sahf
setb al
movzx eax, al
cmp eax, 0
jne 0x4ecade
fld dword [0x69125c]
fstp dword [edi + 0xa0]
fld dword [0x691260]
fstp dword [edi + 0xa8]
fld dword [edi + 0xa8]
fldz
fxch st(1)
fucompp
fnstsw ax
sahf
setae al
movzx eax, al
cmp eax, 0
jne 0x4ecb08
fld1
fstp dword [edi + 0xa0]
fldz
fstp dword [edi + 0xa8]
jmp 0x4ecb12
fldz
fstp dword [edi + 0xa8]
mov eax, dword [edi + 0xc]
sub eax, dword [0x6812f8]
add eax, dword [0x681e64]
mov dword [ebp - 0x6c], eax
fild dword [ebp - 0x6c]
fstp dword [ebp - 0x28]
mov eax, dword [edi + 0x10]
sub eax, dword [0x6812fc]
add eax, dword [0x681e68]
mov dword [ebp - 0x6c], eax
fild dword [ebp - 0x6c]
fstp dword [ebp - 0x2c]
push 0xcd
push 0xff
push 0xff
call fcn.0064655b
add esp, 0xc
push dword [edi + 0xa8]
push dword [ebp - 0x2c]
push dword [ebp - 0x28]
push dword [0x681b00]
call fcn.004e9070
add esp, 0x10
push 0x3f800000
push 0x3f800000
call fcn.00646a94
add esp, 8
push 0xff
push 0xff
push 0xff
call fcn.0064655b
add esp, 0xc
mov eax, dword [ebp - 0x40]
push eax
mov eax, dword [eax]
call dword [eax + 0x30]
add esp, 4
cmp eax, 0
jne 0x4ebfbb
mov eax, dword [ebp - 0x68]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x38]
push eax
mov eax, dword [eax]
call dword [eax + 0x8c]
add esp, 4
mov dword [ebp - 0x3c], eax
jmp 0x4ed813
mov eax, dword [ebp - 0x3c]
push 0x675424
push eax
mov eax, dword [eax]
call dword [eax + 0x34]
add esp, 4
push eax
call fcn.004c27b0
add esp, 8
mov edi, eax
cmp edi, 0x66dc40
je 0x4ed813
cmp edi, 0x66dc40
jne 0x4ecc03
jmp 0x4ed813
mov eax, dword [edi + 0xfc]
sub eax, 0x10e
push eax
call fcn.004c17b0
add esp, 4
mov esi, eax
mov ebx, 3
mov dword [ebp - 0x6c], esi
fild dword [ebp - 0x6c]
fsub dword [edi + 0xc4]
sub esp, 8
fstp qword [esp]
call fcn.004c1830
add esp, 8
fld dword [0x691264]
fxch st(1)
fucompp
fnstsw ax
sahf
setae al
movzx eax, al
cmp eax, 0
jne 0x4ecc6b
mov dword [ebp - 0x6c], esi
fild dword [ebp - 0x6c]
fsub dword [edi + 0xc4]
fldz
fxch st(1)
fucompp
fnstsw ax
sahf
setb al
movzx eax, al
cmp eax, 0
je 0x4ecc76
mov eax, ebx
neg eax
mov ebx, eax
cmp ebx, 0
jle 0x4eccbb
fld dword [edi + 0xc4]
mov dword [ebp - 0x6c], ebx
fild dword [ebp - 0x6c]
faddp st(1)
fstp dword [edi + 0xc4]
fld dword [edi + 0xc4]
mov dword [ebp - 0x6c], esi
fild dword [ebp - 0x6c]
fxch st(1)
fucompp
fnstsw ax
sahf
setbe al
movzx eax, al
cmp eax, 0
jne 0x4eccb9
mov dword [ebp - 0x6c], esi
fild dword [ebp - 0x6c]
fstp dword [edi + 0xc4]
jmp 0x4ecd18
cmp ebx, 0
jge 0x4ecd18
fld dword [edi + 0xc4]
mov dword [ebp - 0x6c], ebx
fild dword [ebp - 0x6c]
faddp st(1)
fstp dword [edi + 0xc4]
fld dword [edi + 0xc4]
fldz
fxch st(1)
fucompp
fnstsw ax
sahf
setae al
movzx eax, al
cmp eax, 0
jne 0x4ecd18
fld dword [0x691268]
fadd dword [edi + 0xc4]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
cmp eax, esi
jge 0x4ecd18
mov dword [ebp - 0x6c], esi
fild dword [ebp - 0x6c]
fstp dword [edi + 0xc4]
mov dword [ebp - 0x6c], esi
fild dword [ebp - 0x6c]
fsub dword [edi + 0xc4]
sub esp, 8
fstp qword [esp]
call fcn.004c1830
add esp, 8
fld dword [0x69126c]
fxch st(1)
fucompp
fnstsw ax
sahf
setae al
movzx eax, al
cmp eax, 0
jne 0x4ecd56
mov dword [ebp - 0x6c], esi
fild dword [ebp - 0x6c]
fstp dword [edi + 0xc4]
push dword [edi + 0xc4]
call fcn.00646a65
add esp, 4
push 3
call fcn.006465db
add esp, 4
push dword [edi + 0x108]
call fcn.00646614
add esp, 4
fld dword [edi + 0x10c]
fldz
fxch st(1)
fucompp
fnstsw ax
sahf
sete al
movzx eax, al
cmp eax, 0
jne 0x4ece08
fld dword [edi + 0x108]
fld dword [edi + 0x10c]
fmul dword [0x681a10]
faddp st(1)
fstp dword [edi + 0x108]
fld dword [edi + 0x108]
fldz
fxch st(1)
fucompp
fnstsw ax
sahf
seta al
movzx eax, al
cmp eax, 0
jne 0x4ecdde
fldz
fstp dword [edi + 0x108]
fld dword [0x691270]
fstp dword [edi + 0x10c]
fld dword [edi + 0x108]
fld1
fxch st(1)
fucompp
fnstsw ax
sahf
setb al
movzx eax, al
cmp eax, 0
jne 0x4ece08
fld1
fstp dword [edi + 0x108]
fldz
fstp dword [edi + 0x10c]
push dword [edi + 0x178]
push dword [edi + 0x178]
call fcn.00646a94
add esp, 8
cmp dword [edi + 0x14], 0x5a
jne 0x4ecf84
mov eax, dword [edi + 0x17c]
cmp eax, 2
sete al
movzx eax, al
cmp eax, 0
jne 0x4ece49
mov eax, dword [edi + 0x17c]
cmp eax, 3
sete al
movzx eax, al
cmp eax, 0
je 0x4ecf4d
push dword [edi + 0x58]
mov eax, dword [edi + 0x174]
mov dword [ebp - 0x6c], eax
fild dword [ebp - 0x6c]
sub esp, 4
fstp dword [esp]
mov eax, dword [edi + 0x170]
mov dword [ebp - 0x6c], eax
fild dword [ebp - 0x6c]
sub esp, 4
fstp dword [esp]
push dword [0x681b34]
call fcn.004e9070
add esp, 0x10
cmp dword [edi + 0x184], 1
jle 0x4ecf4b
mov eax, dword [0x682e88]
mov eax, dword [eax + 0x60]
push dword [eax + 8]
call fcn.00646b3b
add esp, 4
push 0
push 0
push 0
call fcn.0064655b
add esp, 0xc
mov eax, dword [edi + 0x174]
sub eax, 4
mov dword [ebp - 0x6c], eax
fild dword [ebp - 0x6c]
sub esp, 4
fstp dword [esp]
mov eax, dword [edi + 0x170]
mov dword [ebp - 0x6c], eax
fild dword [ebp - 0x6c]
sub esp, 4
fstp dword [esp]
push dword [edi + 0x184]
call fcn.004c1310
add esp, 4
push eax
call fcn.00646042
add esp, 0xc
push 0xff
push 0xff
push 0xff
call fcn.0064655b
add esp, 0xc
mov eax, dword [edi + 0x174]
sub eax, 5
mov dword [ebp - 0x6c], eax
fild dword [ebp - 0x6c]
sub esp, 4
fstp dword [esp]
mov eax, dword [edi + 0x170]
sub eax, 1
mov dword [ebp - 0x6c], eax
fild dword [ebp - 0x6c]
sub esp, 4
fstp dword [esp]
push dword [edi + 0x184]
call fcn.004c1310
add esp, 4
push eax
call fcn.00646042
add esp, 0xc
jmp 0x4ecf7f
push dword [edi + 0x58]
mov eax, dword [edi + 0x174]
mov dword [ebp - 0x6c], eax
fild dword [ebp - 0x6c]
sub esp, 4
fstp dword [esp]
mov eax, dword [edi + 0x170]
mov dword [ebp - 0x6c], eax
fild dword [ebp - 0x6c]
sub esp, 4
fstp dword [esp]
push dword [edi + 0x50]
call fcn.004e9070
add esp, 0x10
jmp 0x4ed813
cmp dword [edi + 0x14], 0x62
jne 0x4ed08e
push 0x9b
push 0x9b
push 0x9b
call fcn.0064655b
add esp, 0xc
mov eax, dword [0x682fe4]
and eax, 1
cmp eax, 0
jne 0x4ecfe8
fld dword [0x691274]
sub esp, 8
fstp qword [esp]
fld dword [edi + 0xa0]
fld dword [0x681a10]
fmul dword [0x691278]
faddp st(1)
sub esp, 8
fstp qword [esp]
call fcn.004c1880
add esp, 0x10
fstp dword [edi + 0xa0]
jmp 0x4ecff0
fldz
fstp dword [edi + 0xa0]
push dword [edi + 0xa0]
call fcn.00646a65
add esp, 4
push 0
mov eax, dword [edi + 0x174]
mov dword [ebp - 0x6c], eax
fild dword [ebp - 0x6c]
sub esp, 4
fstp dword [esp]
mov eax, dword [edi + 0x170]
mov dword [ebp - 0x6c], eax
fild dword [ebp - 0x6c]
sub esp, 4
fstp dword [esp]
push dword [0x6838f8]
call fcn.004e9070
add esp, 0x10
push 0xff
push 0xff
push 0xff
call fcn.0064655b
add esp, 0xc
push dword [edi + 0xc4]
call fcn.00646a65
add esp, 4
push dword [edi + 0x58]
mov eax, dword [edi + 0x174]
mov dword [ebp - 0x6c], eax
fild dword [ebp - 0x6c]
sub esp, 4
fstp dword [esp]
mov eax, dword [edi + 0x170]
mov dword [ebp - 0x6c], eax
fild dword [ebp - 0x6c]
sub esp, 4
fstp dword [esp]
push dword [edi + 0x50]
call fcn.004e9070
add esp, 0x10
jmp 0x4ed813
cmp dword [edi + 0x14], 0x4f
jne 0x4ed1a9
push 0x37
push 0x9b
push 0x9b
call fcn.0064655b
add esp, 0xc
push 4
call fcn.006465db
add esp, 4
mov eax, dword [0x682fe4]
and eax, 1
cmp eax, 0
jne 0x4ed0f9
fld dword [0x69127c]
sub esp, 8
fstp qword [esp]
fld dword [edi + 0xa0]
fld dword [0x681a10]
fmul dword [0x691280]
faddp st(1)
sub esp, 8
fstp qword [esp]
call fcn.004c1880
add esp, 0x10
fstp dword [edi + 0xa0]
jmp 0x4ed101
fldz
fstp dword [edi + 0xa0]
push dword [edi + 0xa0]
call fcn.00646a65
add esp, 4
push 0
mov eax, dword [edi + 0x174]
mov dword [ebp - 0x6c], eax
fild dword [ebp - 0x6c]
sub esp, 4
fstp dword [esp]
mov eax, dword [edi + 0x170]
mov dword [ebp - 0x6c], eax
fild dword [ebp - 0x6c]
sub esp, 4
fstp dword [esp]
push dword [0x6838f8]
call fcn.004e9070
add esp, 0x10
push 3
call fcn.006465db
add esp, 4
push 0xff
push 0xff
push 0xff
call fcn.0064655b
add esp, 0xc
push dword [edi + 0xc4]
call fcn.00646a65
add esp, 4
push dword [edi + 0x58]
mov eax, dword [edi + 0x174]
mov dword [ebp - 0x6c], eax
fild dword [ebp - 0x6c]
sub esp, 4
fstp dword [esp]
mov eax, dword [edi + 0x170]
mov dword [ebp - 0x6c], eax
fild dword [ebp - 0x6c]
sub esp, 4
fstp dword [esp]
push dword [edi + 0x50]
call fcn.004e9070
add esp, 0x10
jmp 0x4ed813
cmp dword [edi + 0x14], 0x63
jne 0x4ed2c1
push 0x19
push 0x37
push 0xff
call fcn.0064655b
add esp, 0xc
push 4
call fcn.006465db
add esp, 4
mov eax, dword [0x682fe4]
and eax, 1
cmp eax, 0
jne 0x4ed211
fld dword [0x691284]
sub esp, 8
fstp qword [esp]
fld dword [edi + 0xa0]
fld dword [0x681a10]
fmul dword [0x691288]
faddp st(1)
sub esp, 8
fstp qword [esp]
call fcn.004c1880
add esp, 0x10
fstp dword [edi + 0xa0]
jmp 0x4ed219
fldz
fstp dword [edi + 0xa0]
push dword [edi + 0xa0]
call fcn.00646a65
add esp, 4
push 0
mov eax, dword [edi + 0x174]
mov dword [ebp - 0x6c], eax
fild dword [ebp - 0x6c]
sub esp, 4
fstp dword [esp]
mov eax, dword [edi + 0x170]
mov dword [ebp - 0x6c], eax
fild dword [ebp - 0x6c]
sub esp, 4
fstp dword [esp]
push dword [0x6838f8]
call fcn.004e9070
add esp, 0x10
push 3
call fcn.006465db
add esp, 4
push 0xff
push 0xff
push 0xff
call fcn.0064655b
add esp, 0xc
push dword [edi + 0xc4]
call fcn.00646a65
add esp, 4
push dword [edi + 0x58]
mov eax, dword [edi + 0x174]
mov dword [ebp - 0x6c], eax
fild dword [ebp - 0x6c]
sub esp, 4
fstp dword [esp]
mov eax, dword [edi + 0x170]
mov dword [ebp - 0x6c], eax
fild dword [ebp - 0x6c]
sub esp, 4
fstp dword [esp]
push dword [edi + 0x50]
call fcn.004e9070
add esp, 0x10
jmp 0x4ed813
cmp dword [edi + 0x14c], 0xd
jne 0x4ed301
push dword [edi + 0x58]
mov eax, dword [edi + 0x174]
mov dword [ebp - 0x6c], eax
fild dword [ebp - 0x6c]
sub esp, 4
fstp dword [esp]
mov eax, dword [edi + 0x170]
mov dword [ebp - 0x6c], eax
fild dword [ebp - 0x6c]
sub esp, 4
fstp dword [esp]
push dword [edi + 0x50]
call fcn.004e9070
add esp, 0x10
jmp 0x4ed813
cmp dword [edi + 0x14c], 0xf
jne 0x4ed341
push dword [edi + 0x58]
mov eax, dword [edi + 0x174]
mov dword [ebp - 0x6c], eax
fild dword [ebp - 0x6c]
sub esp, 4
fstp dword [esp]
mov eax, dword [edi + 0x170]
mov dword [ebp - 0x6c], eax
fild dword [ebp - 0x6c]
sub esp, 4
fstp dword [esp]
push dword [edi + 0x50]
call fcn.004e9070
add esp, 0x10
jmp 0x4ed813
cmp dword [edi + 0x14], 0x64
jne 0x4ed43e
push dword [edi + 0x58]
mov eax, dword [edi + 0x174]
mov dword [ebp - 0x6c], eax
fild dword [ebp - 0x6c]
sub esp, 4
fstp dword [esp]
mov eax, dword [edi + 0x170]
mov dword [ebp - 0x6c], eax
fild dword [ebp - 0x6c]
sub esp, 4
fstp dword [esp]
push dword [edi + 0x50]
call fcn.004e9070
add esp, 0x10
push dword [edi + 0x5c]
mov eax, dword [edi + 0x174]
mov dword [ebp - 0x6c], eax
fild dword [ebp - 0x6c]
sub esp, 4
fstp dword [esp]
mov eax, dword [edi + 0x170]
mov dword [ebp - 0x6c], eax
fild dword [ebp - 0x6c]
sub esp, 4
fstp dword [esp]
push dword [0x6838a8]
call fcn.004e9070
add esp, 0x10
cmp dword [edi + 0x80], 0
jne 0x4ed3ff
fld dword [edi + 0x5c]
fld dword [0x69128c]
fmul dword [0x681a10]
faddp st(1)
fstp dword [edi + 0x5c]
fld dword [edi + 0x5c]
fld dword [0x691290]
fxch st(1)
fucompp
fnstsw ax
sahf
setbe al
movzx eax, al
cmp eax, 0
jne 0x4ed3fd
fld dword [0x691294]
fstp dword [edi + 0x5c]
mov dword [edi + 0x80], 1
jmp 0x4ed439
fld dword [edi + 0x5c]
fld dword [0x691298]
fmul dword [0x681a10]
fsubp st(1)
fstp dword [edi + 0x5c]
fld dword [edi + 0x5c]
fldz
fxch st(1)
fucompp
fnstsw ax
sahf
setae al
movzx eax, al
cmp eax, 0
jne 0x4ed439
fldz
fstp dword [edi + 0x5c]
mov dword [edi + 0x80], 0
jmp 0x4ed813
cmp dword [edi + 0x14], 0x66
jne 0x4ed731
push dword [edi + 0x58]
mov eax, dword [edi + 0x174]
mov dword [ebp - 0x6c], eax
fild dword [ebp - 0x6c]
sub esp, 4
fstp dword [esp]
mov eax, dword [edi + 0x170]
mov dword [ebp - 0x6c], eax
fild dword [ebp - 0x6c]
sub esp, 4
fstp dword [esp]
push dword [edi + 0x50]
call fcn.004e9070
add esp, 0x10
fld dword [edi + 0x5c]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push 0
call fcn.00646a65
add esp, 4
push 0x3f333333
push 0x3f333333
call fcn.00646a94
add esp, 8
push dword [edi + 0x5c]
mov eax, dword [edi + 0x174]
mov dword [ebp - 0x6c], eax
fild dword [ebp - 0x6c]
sub esp, 4
fstp dword [esp]
mov eax, dword [edi + 0x170]
mov dword [ebp - 0x6c], eax
fild dword [ebp - 0x6c]
sub esp, 4
fstp dword [esp]
push dword [edi + 0x54]
call fcn.004e9070
add esp, 0x10
push 0x3f800000
push 0x3f800000
call fcn.00646a94
add esp, 8
push dword [edi + 0xc4]
call fcn.00646a65
add esp, 4
push dword [edi + 0x58]
mov eax, dword [edi + 0x174]
mov dword [ebp - 0x6c], eax
fild dword [ebp - 0x6c]
sub esp, 4
fstp dword [esp]
mov eax, dword [edi + 0x170]
mov dword [ebp - 0x6c], eax
fild dword [ebp - 0x6c]
sub esp, 4
fstp dword [esp]
push dword [0x683868]
call fcn.004e9070
add esp, 0x10
cmp dword [edi + 0x80], 0xffffffff
jne 0x4ed573
fld dword [edi + 0x5c]
fld dword [0x69129c]
fmul dword [0x681a10]
faddp st(1)
fstp dword [edi + 0x5c]
fld dword [edi + 0x5c]
mov eax, dword [edi + 0x78]
mov dword [ebp - 0x6c], eax
fild dword [ebp - 0x6c]
fxch st(1)
fucompp
fnstsw ax
sahf
setb al
movzx eax, al
cmp eax, 0
jne 0x4ed56e
fldz
fstp dword [edi + 0x5c]
jmp 0x4ed603
cmp dword [edi + 0x80], 0
jne 0x4ed5c9
fld dword [edi + 0x5c]
fld dword [0x6912a0]
fmul dword [0x681a10]
faddp st(1)
fstp dword [edi + 0x5c]
fld dword [edi + 0x5c]
mov eax, dword [edi + 0x78]
mov dword [ebp - 0x6c], eax
fild dword [ebp - 0x6c]
fxch st(1)
fucompp
fnstsw ax
sahf
setb al
movzx eax, al
cmp eax, 0
jne 0x4ed5c7
mov eax, dword [edi + 0x78]
sub eax, 1
mov dword [ebp - 0x6c], eax
fild dword [ebp - 0x6c]
fstp dword [edi + 0x5c]
mov dword [edi + 0x80], 1
jmp 0x4ed603
fld dword [edi + 0x5c]
fld dword [0x6912a4]
fmul dword [0x681a10]
fsubp st(1)
fstp dword [edi + 0x5c]
fld dword [edi + 0x5c]
fldz
fxch st(1)
fucompp
fnstsw ax
sahf
setae al
movzx eax, al
cmp eax, 0
jne 0x4ed603
fldz
fstp dword [edi + 0x5c]
mov dword [edi + 0x80], 0
push 0
call fcn.00646a65
add esp, 4
mov edx, dword [0x682e88]
mov eax, dword [0x6835d0]
mov eax, dword [edx + eax*4 + 0x18]
push dword [eax + 8]
call fcn.00646b3b
add esp, 4
cmp dword [edi + 0x184], 1
jg 0x4ed643
push 0x19
push 0x19
push 0xff
call fcn.0064655b
add esp, 0xc
jmp 0x4ed65a
push 0xff
push 0xff
push 0xff
call fcn.0064655b
add esp, 0xc
push 0
mov eax, dword [edi + 0x174]
add eax, 0x28
mov dword [ebp - 0x6c], eax
fild dword [ebp - 0x6c]
sub esp, 4
fstp dword [esp]
mov eax, dword [edi + 0x170]
mov dword [ebp - 0x6c], eax
fild dword [ebp - 0x6c]
sub esp, 4
fstp dword [esp]
push dword [0x68386c]
call fcn.004e9070
add esp, 0x10
push 0x32
push 0x10
push 0x10
call fcn.0064655b
add esp, 0xc
push 0
push 0
mov eax, dword [edi + 0x174]
add eax, 0x28
push eax
push dword [edi + 0x170]
push dword [edi + 0x184]
call fcn.004c1310
add esp, 4
push eax
call fcn.004e6fce
add esp, 0x14
cmp dword [edi + 0x184], 1
jg 0x4ed6e6
push 0x19
push 0x19
push 0xff
call fcn.0064655b
add esp, 0xc
jmp 0x4ed6fd
push 0xff
push 0xff
push 0xff
call fcn.0064655b
add esp, 0xc
push 0
push 0
mov eax, dword [edi + 0x174]
add eax, 0x29
push eax
mov eax, dword [edi + 0x170]
add eax, 1
push eax
push dword [edi + 0x184]
call fcn.004c1310
add esp, 4
push eax
call fcn.004e6fce
add esp, 0x14
jmp 0x4ed813
cmp dword [edi + 0x14], 0x51
jne 0x4ed7e1
push dword [edi + 0x58]
mov eax, dword [edi + 0x174]
mov dword [ebp - 0x6c], eax
fild dword [ebp - 0x6c]
sub esp, 4
fstp dword [esp]
mov eax, dword [edi + 0x170]
mov dword [ebp - 0x6c], eax
fild dword [ebp - 0x6c]
sub esp, 4
fstp dword [esp]
push dword [edi + 0x50]
call fcn.004e9070
add esp, 0x10
push dword [edi + 0x5c]
mov eax, dword [edi + 0x174]
mov dword [ebp - 0x6c], eax
fild dword [ebp - 0x6c]
sub esp, 4
fstp dword [esp]
mov eax, dword [edi + 0x170]
mov dword [ebp - 0x6c], eax
fild dword [ebp - 0x6c]
sub esp, 4
fstp dword [esp]
push dword [0x6838ac]
call fcn.004e9070
add esp, 0x10
cmp dword [edi + 0x80], 0
jne 0x4ed7df
fld dword [edi + 0x5c]
fld dword [0x6912a8]
fmul dword [0x681a10]
faddp st(1)
fstp dword [edi + 0x5c]
fld dword [edi + 0x5c]
fld dword [0x6912ac]
fxch st(1)
fucompp
fnstsw ax
sahf
setbe al
movzx eax, al
cmp eax, 0
jne 0x4ed7df
fldz
fstp dword [edi + 0x5c]
jmp 0x4ed813
push dword [edi + 0x58]
mov eax, dword [edi + 0x174]
mov dword [ebp - 0x6c], eax
fild dword [ebp - 0x6c]
sub esp, 4
fstp dword [esp]
mov eax, dword [edi + 0x170]
mov dword [ebp - 0x6c], eax
fild dword [ebp - 0x6c]
sub esp, 4
fstp dword [esp]
push dword [edi + 0x50]
call fcn.004e9070
add esp, 0x10
mov eax, dword [ebp - 0x3c]
push eax
mov eax, dword [eax]
call dword [eax + 0x30]
add esp, 4
cmp eax, 0
jne 0x4ecbce
mov eax, 0
jmp 0x4ed82f
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret