Function at 0x540c9d
Capabilities:
Parse credit card information
Parse pe header
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xec
push ebx
push esi
mov esi, dword [ebp + 8]
cmp dword [esi + 0x7c], 0
jle 0x540cbb
mov eax, 0
jmp 0x54afad
cmp dword [0x6874d0], 0
jle 0x540cd9
push dword [esi + 8]
call fcn.005378c8
add esp, 4
mov eax, 0
jmp 0x54afad
mov eax, dword [0x687710]
cmp eax, 0
setg al
movzx eax, al
cmp eax, 0
jne 0x540cfa
mov eax, dword [0x687ed8]
cmp eax, 1
sete al
movzx eax, al
cmp eax, 0
je 0x540d10
mov eax, dword [esi + 0xc0]
cmp eax, 0x671c40
sete al
movzx eax, al
cmp eax, 0
je 0x540d24
mov eax, dword [esi + 0xe8]
cmp eax, 0
setg al
movzx eax, al
cmp eax, 0
je 0x540d3d
fld dword [esi + 0x6c]
fld dword [0x69f20c]
fmul dword [0x685ba0]
fsubp st(1)
fstp dword [esi + 0x6c]
cmp dword [0x6865d4], 1
jne 0x540d5a
fld dword [esi + 0x6c]
fld dword [0x69f210]
fmul dword [0x685ba0]
fsubp st(1)
fstp dword [esi + 0x6c]
fld dword [esi + 0x40]
fstp dword [ebp - 0xe8]
fld dword [esi + 0x44]
fstp dword [ebp - 0xe4]
mov eax, dword [0x68b344]
cmp eax, 1
sete al
movzx eax, al
cmp eax, 0
jne 0x540d8f
mov eax, dword [0x68b344]
cmp eax, 0x4000
sete al
movzx eax, al
cmp eax, 0
je 0x540e2f
cmp dword [0x685bb8], 0x28
jge 0x540dbc
cmp dword [esi + 0x7c], 0
jle 0x540dbc
push dword [esi + 8]
call fcn.005378c8
add esp, 4
mov eax, 0
jmp 0x54afad
mov eax, dword [esi + 0xec]
add eax, dword [esi + 0xf0]
cmp eax, 0
je 0x540e2d
fld dword [esi + 0x40]
mov eax, dword [0x685488]
mov dword [ebp - 0xec], eax
fild dword [ebp - 0xec]
fsubp st(1)
mov eax, dword [esi + 0xec]
mov dword [ebp - 0xec], eax
fild dword [ebp - 0xec]
faddp st(1)
fstp dword [ebp - 0xe8]
fld dword [esi + 0x44]
mov eax, dword [0x68548c]
mov dword [ebp - 0xec], eax
fild dword [ebp - 0xec]
fsubp st(1)
mov eax, dword [esi + 0xf0]
mov dword [ebp - 0xec], eax
fild dword [ebp - 0xec]
faddp st(1)
fstp dword [ebp - 0xe4]
jmp 0x540e41
fld dword [esi + 0x40]
fstp dword [ebp - 0xe8]
fld dword [esi + 0x44]
fstp dword [ebp - 0xe4]
cmp dword [esi + 0xc8], 0x661724
je 0x540e61
push esi
call dword [esi + 0xc8]
add esp, 4
mov eax, 0
jmp 0x54afad
mov eax, dword [esi + 0x80]
cmp eax, 0
setg al
movzx eax, al
cmp eax, 0
jne 0x540e86
mov eax, dword [esi + 0x80]
cmp eax, 0xffffd8f0
sete al
movzx eax, al
cmp eax, 0
jne 0x540e9c
mov eax, dword [esi + 0x80]
cmp eax, 0xffffb1e0
sete al
movzx eax, al
cmp eax, 0
je 0x540ec5
fld dword [ebp - 0xe8]
fadd dword [0x687eac]
fstp dword [ebp - 0xe8]
fld dword [ebp - 0xe4]
fadd dword [0x687eb0]
fstp dword [ebp - 0xe4]
fld dword [esi + 0xa8]
fldz
fxch st(1)
fucompp
fnstsw ax
sahf
sete al
movzx eax, al
cmp eax, 0
jne 0x540f1d
mov eax, dword [0x687e60]
mov dword [ebp - 0xec], eax
fild dword [ebp - 0xec]
fld dword [ebp - 0xe8]
faddp st(1)
fstp dword [ebp - 0xe8]
mov eax, dword [0x687e64]
mov dword [ebp - 0xec], eax
fild dword [ebp - 0xec]
fld dword [ebp - 0xe4]
faddp st(1)
fstp dword [ebp - 0xe4]
mov eax, dword [esi + 0xc]
cmp eax, 0x5a
je 0x54128e
cmp eax, 0x32
je 0x54167c
cmp eax, 0x3e
je 0x54168a
cmp eax, 0x3f
je 0x54183e
cmp eax, 0x53
je 0x5419e0
cmp eax, 0x57
je 0x541bdd
cmp eax, 0x58
je 0x541e78
cmp eax, 0x59
je 0x5420a8
cmp eax, 0x5d
je 0x54224f
cmp eax, 0x64
je 0x5423ca
cmp eax, 0x4b
je 0x542722
cmp eax, 0x48
je 0x542880
cmp eax, 0x51
je 0x542914
cmp eax, 0x49
je 0x5429a8
cmp eax, 0x4a
je 0x542b20
cmp eax, 0x4f
je 0x542c45
cmp eax, 0x47
je 0x542cf4
cmp eax, 0x50
je 0x542f73
cmp eax, 0x52
je 0x543497
cmp eax, 0x45
je 0x5439bc
cmp eax, 0x3b
je 0x543bb2
cmp eax, 0x3a
je 0x543d91
cmp eax, 0x39
je 0x543f73
cmp eax, 0x37
je 0x544011
cmp eax, 0x38
je 0x5440af
cmp eax, 0x2a
je 0x544195
cmp eax, 0
je 0x54434b
cmp eax, 0x2e
je 0x544479
cmp eax, 0x65
je 0x5445fe
cmp eax, 0x6a
je 0x544826
cmp eax, 0x63
je 0x544b99
cmp eax, 0x4e
je 0x545085
cmp eax, 0x43
je 0x5451f9
cmp eax, 0x54
je 0x545366
cmp eax, 0x31
je 0x5454d3
cmp eax, 0x68
je 0x545686
cmp eax, 0x4d
je 0x545879
cmp eax, 0x4c
je 0x545a51
cmp eax, 0x5e
je 0x545c3c
cmp eax, 0x30
je 0x545e10
cmp eax, 0x22
je 0x545f98
cmp eax, 5
je 0x546184
cmp eax, 6
je 0x546281
cmp eax, 7
je 0x5463e7
cmp eax, 0x3c
je 0x5464de
cmp eax, 8
je 0x546660
cmp eax, 9
je 0x546704
cmp eax, 0x5f
je 0x5467c8
cmp eax, 0x60
je 0x546979
cmp eax, 0x61
je 0x546b0c
cmp eax, 0xa
je 0x546c9f
cmp eax, 0x17
je 0x546e29
cmp eax, 0x27
je 0x546f42
cmp eax, 0x29
je 0x54712b
cmp eax, 0x67
je 0x54725a
cmp eax, 0xd
je 0x547392
cmp eax, 0xe
je 0x54747f
cmp eax, 0xb
je 0x5475f4
cmp eax, 0x28
je 0x547783
cmp eax, 0x66
je 0x547964
cmp eax, 0x56
je 0x547b45
cmp eax, 0x2f
je 0x547d06
cmp eax, 0x44
je 0x547e5c
cmp eax, 0xf
je 0x5480ca
cmp eax, 0x33
je 0x548325
cmp eax, 0x10
je 0x548516
cmp eax, 0x3d
je 0x548524
cmp eax, 0x24
je 0x548532
cmp eax, 0x12
je 0x548540
cmp eax, 0x13
je 0x5486ca
cmp eax, 0x14
je 0x5486d8
cmp eax, 0x15
je 0x5486e6
cmp eax, 0x69
je 0x54880a
cmp eax, 0x55
je 0x548a2c
cmp eax, 0x5b
je 0x548c3c
cmp eax, 0x62
je 0x548dbe
cmp eax, 0x5c
je 0x548fde
cmp eax, 0x16
je 0x549202
cmp eax, 0x18
je 0x5493cb
cmp eax, 0x42
je 0x549587
cmp eax, 0x41
je 0x549738
cmp eax, 0x19
je 0x5498a2
cmp eax, 0x34
je 0x5499d3
cmp eax, 0x23
je 0x549bcd
cmp eax, 0x1a
je 0x549daa
cmp eax, 0x1f
je 0x549ec5
cmp eax, 0x2d
je 0x54a010
cmp eax, 0x1b
je 0x54a15b
cmp eax, 0x1c
je 0x54a1d9
cmp eax, 0x26
je 0x54a2f1
cmp eax, 0x1d
je 0x54a529
cmp eax, 0x2b
je 0x54a5ef
cmp eax, 0x1e
je 0x54a66d
cmp eax, 0x2c
je 0x54a7c3
cmp eax, 0x20
je 0x54a975
cmp eax, 0x21
je 0x54ab01
cmp eax, 0x25
je 0x54accc
jmp 0x54af69
push 3
call fcn.0064aa63
add esp, 4
push dword [esi + 0x6c]
call fcn.0064aa9c
add esp, 4
fld dword [esi + 0x64]
fld dword [esi + 0xb0]
fxch st(1)
fucompp
fnstsw ax
sahf
setae al
movzx eax, al
cmp eax, 0
jne 0x5412d8
fld dword [esi + 0x64]
fld dword [0x685ba0]
fmul dword [0x69f214]
faddp st(1)
fstp dword [esi + 0x64]
fld dword [esi + 0x64]
fstp dword [esi + 0x68]
mov ebx, 0
mov eax, dword [esi + 0xd8]
cmp dword [esi + 0x90], eax
jge 0x5413a7
fld dword [esi + 0x58]
fld dword [esi + 0x5c]
fmul dword [0x685ba0]
faddp st(1)
fstp dword [esi + 0x58]
fld dword [esi + 0xac]
fldz
fxch st(1)
fucompp
fnstsw ax
sahf
setbe al
movzx eax, al
cmp eax, 0
jne 0x541359
push dword [esi + 0x68]
push dword [esi + 0x64]
call fcn.0064af1c
add esp, 8
fld dword [esi + 0x60]
fldz
fxch st(1)
fucompp
fnstsw ax
sahf
setbe al
movzx eax, al
cmp eax, 0
jne 0x541352
fld dword [esi + 0x60]
fld dword [esi + 0x58]
fmul dword [0x685ba0]
fsubp st(1)
fstp dword [esi + 0x60]
jmp 0x541357
mov ebx, 1
jmp 0x5413a2
push dword [esi + 0x68]
fld dword [esi + 0x64]
fchs
sub esp, 4
fstp dword [esp]
call fcn.0064af1c
add esp, 8
fld dword [esi + 0x60]
fld dword [0x69f218]
fxch st(1)
fucompp
fnstsw ax
sahf
setae al
movzx eax, al
cmp eax, 0
jne 0x54139d
fld dword [esi + 0x60]
fld dword [esi + 0x58]
fmul dword [0x685ba0]
faddp st(1)
fstp dword [esi + 0x60]
jmp 0x5413a2
mov ebx, 1
jmp 0x541459
fld dword [esi + 0xac]
fldz
fxch st(1)
fucompp
fnstsw ax
sahf
setbe al
movzx eax, al
cmp eax, 0
jne 0x54140a
push dword [esi + 0x68]
push dword [esi + 0x64]
call fcn.0064af1c
add esp, 8
fld dword [esi + 0x60]
fld dword [0x69f21c]
fxch st(1)
fucompp
fnstsw ax
sahf
setae al
movzx eax, al
cmp eax, 0
jne 0x541403
fld dword [esi + 0x60]
fld dword [esi + 0x58]
fmul dword [0x69f220]
fmul dword [0x685ba0]
faddp st(1)
fstp dword [esi + 0x60]
jmp 0x541408
mov ebx, 1
jmp 0x541459
push dword [esi + 0x68]
fld dword [esi + 0x64]
fchs
sub esp, 4
fstp dword [esp]
call fcn.0064af1c
add esp, 8
fld dword [esi + 0x60]
fld dword [0x69f224]
fxch st(1)
fucompp
fnstsw ax
sahf
setbe al
movzx eax, al
cmp eax, 0
jne 0x541454
fld dword [esi + 0x60]
fld dword [esi + 0x58]
fmul dword [0x69f228]
fmul dword [0x685ba0]
fsubp st(1)
fstp dword [esi + 0x60]
jmp 0x541459
mov ebx, 1
push dword [esi + 0x60]
call fcn.0064aeed
add esp, 4
fld dword [esi + 0xbc]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
fld dword [esi + 0xb8]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
fld dword [esi + 0xb4]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
call fcn.0064a9e3
add esp, 0xc
mov dword [0x6865b4], 0x3e8
push dword [esi + 0x14]
push dword [ebp - 0xe4]
push dword [ebp - 0xe8]
push dword [esi + 0x10]
call fcn.004eae37
add esp, 0x10
cmp ebx, 1
jne 0x54161b
fld dword [esi + 0xe4]
fld1
fxch st(1)
fucompp
fnstsw ax
sahf
setne al
movzx eax, al
cmp eax, 0
jne 0x5415bd
cmp dword [esi + 0xe0], 0
jne 0x54156c
fld dword [esi + 0x14]
fld dword [0x685ba0]
mov eax, dword [esi + 0x98]
mov dword [ebp - 0xec], eax
fild dword [ebp - 0xec]
fmulp st(1)
faddp st(1)
fstp dword [esi + 0x14]
fld dword [esi + 0x14]
mov eax, dword [esi + 0x94]
mov dword [ebp - 0xec], eax
fild dword [ebp - 0xec]
fxch st(1)
fucompp
fnstsw ax
sahf
setb al
movzx eax, al
cmp eax, 0
jne 0x54156a
mov eax, dword [esi + 0x94]
sub eax, 1
mov dword [ebp - 0xec], eax
fild dword [ebp - 0xec]
fstp dword [esi + 0x14]
mov dword [esi + 0xe0], 1
jmp 0x5415bb
fld dword [esi + 0x14]
fld dword [0x685ba0]
mov eax, dword [esi + 0x98]
mov dword [ebp - 0xec], eax
fild dword [ebp - 0xec]
fmulp st(1)
fsubp st(1)
fstp dword [esi + 0x14]
fld dword [esi + 0x14]
fldz
fxch st(1)
fucompp
fnstsw ax
sahf
setae al
movzx eax, al
cmp eax, 0
jne 0x5415bb
fldz
fstp dword [esi + 0x14]
mov dword [esi + 0xe0], 0
add dword [esi + 0x90], 1
jmp 0x54161b
cmp dword [esi + 0x94], 0
jle 0x54161b
fld dword [esi + 0x14]
fld dword [0x685ba0]
mov eax, dword [esi + 0x98]
mov dword [ebp - 0xec], eax
fild dword [ebp - 0xec]
fmulp st(1)
faddp st(1)
fstp dword [esi + 0x14]
fld dword [esi + 0x14]
mov eax, dword [esi + 0x94]
mov dword [ebp - 0xec], eax
fild dword [ebp - 0xec]
fxch st(1)
fucompp
fnstsw ax
sahf
setb al
movzx eax, al
cmp eax, 0
jne 0x54161b
fldz
fstp dword [esi + 0x14]
add dword [esi + 0x90], 1
mov eax, dword [esi + 0xd8]
cmp dword [esi + 0x90], eax
jl 0x54163a
fld dword [esi + 0x6c]
fld dword [esi + 0x70]
fmul dword [0x685ba0]
fsubp st(1)
fstp dword [esi + 0x6c]
fld dword [esi + 0x6c]
fldz
fxch st(1)
fucompp
fnstsw ax
sahf
setbe al
movzx eax, al
cmp eax, 0
jne 0x541667
fld dword [esi + 0x64]
fld dword [0x69f22c]
fxch st(1)
fucompp
fnstsw ax
sahf
setbe al
movzx eax, al
cmp eax, 0
je 0x541677
push dword [esi + 8]
call fcn.005378c8
add esp, 4
jmp 0x54af69
push esi
call fcn.0055287a
add esp, 4
jmp 0x54af69
cmp dword [esi + 0x28], 1
jne 0x54169c
push 4
call fcn.0064aa63
add esp, 4
jmp 0x5416a6
push 3
call fcn.0064aa63
add esp, 4
push dword [esi + 0x6c]
call fcn.0064aa9c
add esp, 4
fld dword [esi + 0xac]
fld dword [esi + 0x78]
fmul dword [esi + 0x3c]
faddp st(1)
fstp dword [esi + 0x64]
push dword [esi + 0x64]
push dword [esi + 0x64]
call fcn.0064af1c
add esp, 8
fld dword [esi + 0x58]
fld dword [esi + 0x5c]
fmul dword [0x685b98]
fdiv dword [0x69f230]
faddp st(1)
fstp dword [esi + 0x58]
fld dword [esi + 0x60]
fstp dword [ebp - 4]
fld dword [0x69f234]
sub esp, 8
fstp qword [esp]
fld dword [esi + 0x58]
fmul dword [0x685b98]
fdiv dword [0x69f238]
sub esp, 8
fstp qword [esp]
call fcn.004c1880
add esp, 0x10
fld dword [ebp - 4]
faddp st(1)
fstp dword [ebp - 4]
fld dword [ebp - 4]
fstp dword [esi + 0x60]
push dword [esi + 0x60]
call fcn.0064aeed
add esp, 4
fld dword [esi + 0xbc]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
fld dword [esi + 0xb8]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
fld dword [esi + 0xb4]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
call fcn.0064a9e3
add esp, 0xc
push dword [esi + 0x14]
push dword [ebp - 0xe4]
push dword [ebp - 0xe8]
push dword [esi + 0x10]
call fcn.004eae37
add esp, 0x10
fld dword [esi + 0x6c]
fld dword [0x685ba0]
fmul dword [esi + 0x70]
fsubp st(1)
fstp dword [esi + 0x6c]
cmp dword [esi + 0x94], 0
jle 0x5417ff
fld dword [esi + 0x14]
fld dword [0x685ba0]
mov eax, dword [esi + 0x98]
mov dword [ebp - 0xec], eax
fild dword [ebp - 0xec]
fmulp st(1)
faddp st(1)
fstp dword [esi + 0x14]
fld dword [esi + 0x14]
mov eax, dword [esi + 0x94]
mov dword [ebp - 0xec], eax
fild dword [ebp - 0xec]
fxch st(1)
fucompp
fnstsw ax
sahf
setb al
movzx eax, al
cmp eax, 0
jne 0x5417ff
fldz
fstp dword [esi + 0x14]
sub dword [esi + 0x90], 1
fld dword [esi + 0x6c]
fld dword [0x69f23c]
fxch st(1)
fucompp
fnstsw ax
sahf
setbe al
movzx eax, al
cmp eax, 0
jne 0x541829
mov eax, dword [esi + 0x90]
cmp eax, 0
setle al
movzx eax, al
cmp eax, 0
je 0x541839
push dword [esi + 8]
call fcn.005378c8
add esp, 4
jmp 0x54af69
cmp dword [esi + 0x28], 1
jne 0x541850
push 4
call fcn.0064aa63
add esp, 4
jmp 0x54185a
push 3
call fcn.0064aa63
add esp, 4
push dword [esi + 0x6c]
call fcn.0064aa9c
add esp, 4
fld dword [esi + 0xac]
fld dword [esi + 0x78]
fmul dword [esi + 0x3c]
faddp st(1)
fstp dword [esi + 0x64]
push dword [esi + 0x64]
push dword [esi + 0x64]
call fcn.0064af1c
add esp, 8
fld dword [esi + 0x58]
fld dword [esi + 0x5c]
fmul dword [0x685b98]
fdiv dword [0x69f240]
faddp st(1)
fstp dword [esi + 0x58]
fld dword [esi + 0x60]
fstp dword [ebp - 8]
fld dword [0x69f244]
sub esp, 8
fstp qword [esp]
fld dword [esi + 0x58]
fmul dword [0x685b98]
fdiv dword [0x69f248]
sub esp, 8
fstp qword [esp]
call fcn.004c1880
add esp, 0x10
fld dword [ebp - 8]
faddp st(1)
fstp dword [ebp - 8]
fld dword [ebp - 8]
fstp dword [esi + 0x60]
push dword [esi + 0x60]
call fcn.0064aeed
add esp, 4
fld dword [esi + 0xbc]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
fld dword [esi + 0xb8]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
fld dword [esi + 0xb4]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
call fcn.0064a9e3
add esp, 0xc
push dword [esi + 0x14]
push dword [ebp - 0xe4]
push dword [ebp - 0xe8]
push dword [esi + 0x10]
call fcn.004eae37
add esp, 0x10
cmp dword [esi + 0x90], 0
jg 0x54195e
fld dword [esi + 0x6c]
fld dword [0x685ba0]
fmul dword [esi + 0x70]
fsubp st(1)
fstp dword [esi + 0x6c]
cmp dword [esi + 0x94], 0
jle 0x5419b5
fld dword [esi + 0x14]
fld dword [0x685ba0]
mov eax, dword [esi + 0x98]
mov dword [ebp - 0xec], eax
fild dword [ebp - 0xec]
fmulp st(1)
faddp st(1)
fstp dword [esi + 0x14]
fld dword [esi + 0x14]
mov eax, dword [esi + 0x94]
mov dword [ebp - 0xec], eax
fild dword [ebp - 0xec]
fxch st(1)
fucompp
fnstsw ax
sahf
setb al
movzx eax, al
cmp eax, 0
jne 0x5419b5
fldz
fstp dword [esi + 0x14]
fld dword [esi + 0x6c]
fld dword [0x69f24c]
fxch st(1)
fucompp
fnstsw ax
sahf
seta al
movzx eax, al
cmp eax, 0
jne 0x5419db
push dword [esi + 8]
call fcn.005378c8
add esp, 4
jmp 0x54af69
cmp dword [esi + 0x28], 1
jne 0x5419f2
push 4
call fcn.0064aa63
add esp, 4
jmp 0x5419fc
push 3
call fcn.0064aa63
add esp, 4
fld dword [esi + 0x3c]
fld dword [0x69f250]
fxch st(1)
fucompp
fnstsw ax
sahf
seta al
movzx eax, al
cmp eax, 0
jne 0x541a57
fld dword [esi + 0xac]
fld dword [esi + 0x78]
fmul dword [esi + 0x3c]
fmul dword [0x69f254]
faddp st(1)
fstp dword [esi + 0x64]
fld1
sub esp, 8
fstp qword [esp]
fld dword [esi + 0x6c]
fld dword [0x685ba0]
fmul dword [esi + 0x70]
faddp st(1)
sub esp, 8
fstp qword [esp]
call fcn.004c18a0
add esp, 0x10
fstp dword [esi + 0x6c]
jmp 0x541a99
fld dword [esi + 0x78]
fld dword [0x69f258]
fsub dword [esi + 0x3c]
fmulp st(1)
fmul dword [0x69f25c]
fld dword [esi + 0x64]
fxch st(1)
fsub dword [esi + 0x64]
fmul dword [0x69f260]
faddp st(1)
fstp dword [esi + 0x64]
mov dword [esi + 0x80], 0xfffffc19
fld dword [esi + 0x6c]
fld dword [0x685ba0]
fmul dword [esi + 0x70]
fsubp st(1)
fstp dword [esi + 0x6c]
push dword [esi + 0x6c]
call fcn.0064aa9c
add esp, 4
push dword [esi + 0x64]
push dword [esi + 0x64]
call fcn.0064af1c
add esp, 8
fld dword [esi + 0x60]
fstp dword [ebp - 0xc]
fld dword [0x69f264]
sub esp, 8
fstp qword [esp]
fld dword [esi + 0x58]
fmul dword [0x685b98]
fdiv dword [0x69f268]
sub esp, 8
fstp qword [esp]
call fcn.004c1880
add esp, 0x10
fld dword [ebp - 0xc]
faddp st(1)
fstp dword [ebp - 0xc]
fld dword [ebp - 0xc]
fstp dword [esi + 0x60]
push dword [esi + 0x60]
call fcn.0064aeed
add esp, 4
fld dword [esi + 0xbc]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
fld dword [esi + 0xb8]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
fld dword [esi + 0xb4]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
call fcn.0064a9e3
add esp, 0xc
push dword [esi + 0x14]
push dword [ebp - 0xe4]
push dword [ebp - 0xe8]
push dword [esi + 0x10]
call fcn.004eae37
add esp, 0x10
cmp dword [esi + 0x94], 0
jle 0x541bb2
fld dword [esi + 0x14]
fld dword [0x685ba0]
mov eax, dword [esi + 0x98]
mov dword [ebp - 0xec], eax
fild dword [ebp - 0xec]
fmulp st(1)
faddp st(1)
fstp dword [esi + 0x14]
fld dword [esi + 0x14]
mov eax, dword [esi + 0x94]
mov dword [ebp - 0xec], eax
fild dword [ebp - 0xec]
fxch st(1)
fucompp
fnstsw ax
sahf
setb al
movzx eax, al
cmp eax, 0
jne 0x541bb2
fldz
fstp dword [esi + 0x14]
fld dword [esi + 0x6c]
fld dword [0x69f26c]
fxch st(1)
fucompp
fnstsw ax
sahf
seta al
movzx eax, al
cmp eax, 0
jne 0x541bd8
push dword [esi + 8]
call fcn.005378c8
add esp, 4
jmp 0x54af69
cmp dword [esi + 0x28], 1
jne 0x541bef
push 4
call fcn.0064aa63
add esp, 4
jmp 0x541bf9
push 3
call fcn.0064aa63
add esp, 4
fld dword [esi + 0x3c]
fld dword [0x69f270]
fxch st(1)
fucompp
fnstsw ax
sahf
seta al
movzx eax, al
cmp eax, 0
jne 0x541c2d
fld dword [esi + 0xac]
fld dword [esi + 0x78]
fmul dword [esi + 0x3c]
fmul dword [0x69f274]
faddp st(1)
fstp dword [esi + 0x64]
jmp 0x541c5c
fld dword [0x69f278]
fld dword [esi + 0xac]
fadd dword [esi + 0x78]
fld dword [0x69f27c]
fsub dword [esi + 0x3c]
fmulp st(1)
fmul dword [0x69f280]
faddp st(1)
fstp dword [esi + 0x64]
mov dword [esi + 0x80], 0xfffffc19
push dword [esi + 0x6c]
call fcn.0064aa9c
add esp, 4
push dword [esi + 0x64]
push dword [esi + 0x64]
call fcn.0064af1c
add esp, 8
fld dword [esi + 0x60]
fstp dword [ebp - 0x10]
fld dword [0x69f284]
sub esp, 8
fstp qword [esp]
fld dword [esi + 0x58]
fmul dword [0x685b98]
fdiv dword [0x69f288]
sub esp, 8
fstp qword [esp]
call fcn.004c1880
add esp, 0x10
fld dword [ebp - 0x10]
faddp st(1)
fstp dword [ebp - 0x10]
fld dword [ebp - 0x10]
fstp dword [esi + 0x60]
push dword [esi + 0x60]
call fcn.0064aeed
add esp, 4
fld dword [esi + 0xbc]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
fld dword [esi + 0xb8]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
fld dword [esi + 0xb4]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
call fcn.0064a9e3
add esp, 0xc
push dword [esi + 0x14]
push dword [ebp - 0xe4]
push dword [ebp - 0xe8]
push dword [esi + 0x10]
call fcn.004eae37
add esp, 0x10
cmp dword [esi + 0x94], 0
jle 0x541e4d
mov eax, dword [esi + 0x98]
mov dword [ebp - 0xec], eax
fild dword [ebp - 0xec]
fmul dword [esi + 0x3c]
fmul dword [esi + 0x70]
sub esp, 8
fstp qword [esp]
mov eax, dword [esi + 0x98]
mov dword [ebp - 0xec], eax
fild dword [ebp - 0xec]
sub esp, 8
fstp qword [esp]
call fcn.004c18c0
add esp, 0x10
cmp dword [esi + 0xd8], 0
jne 0x541db3
fld dword [esi + 0x14]
fld dword [0x685ba0]
fmulp st(2)
faddp st(1)
fstp dword [esi + 0x14]
fld dword [esi + 0x14]
mov eax, dword [esi + 0x94]
mov dword [ebp - 0xec], eax
fild dword [ebp - 0xec]
fxch st(1)
fucompp
fnstsw ax
sahf
setb al
movzx eax, al
cmp eax, 0
jne 0x541dae
fldz
fstp dword [esi + 0x14]
jmp 0x541e4d
cmp dword [esi + 0xdc], 0
jne 0x541e17
fld dword [esi + 0x14]
fld dword [0x685ba0]
fmulp st(2)
faddp st(1)
fstp dword [esi + 0x14]
fld dword [esi + 0x14]
mov eax, dword [esi + 0x94]
mov dword [ebp - 0xec], eax
fild dword [ebp - 0xec]
fxch st(1)
fucompp
fnstsw ax
sahf
setb al
movzx eax, al
cmp eax, 0
jne 0x541e15
mov eax, dword [esi + 0x94]
sub eax, 1
mov dword [ebp - 0xec], eax
fild dword [ebp - 0xec]
fstp dword [esi + 0x14]
mov dword [esi + 0xdc], 1
jmp 0x541e4d
fld dword [esi + 0x14]
fld dword [0x685ba0]
fmulp st(2)
fsubrp st(1)
fstp dword [esi + 0x14]
fld dword [esi + 0x14]
fldz
fxch st(1)
fucompp
fnstsw ax
sahf
setae al
movzx eax, al
cmp eax, 0
jne 0x541e4d
fldz
fstp dword [esi + 0x14]
mov dword [esi + 0xdc], 0
fld dword [esi + 0x6c]
fld dword [0x69f28c]
fxch st(1)
fucompp
fnstsw ax
sahf
seta al
movzx eax, al
cmp eax, 0
jne 0x541e73
push dword [esi + 8]
call fcn.005378c8
add esp, 4
jmp 0x54af69
cmp dword [esi + 0x28], 1
jne 0x541e8a
push 4
call fcn.0064aa63
add esp, 4
jmp 0x541e94
push 3
call fcn.0064aa63
add esp, 4
fld dword [esi + 0xac]
fld dword [esi + 0x78]
fmul dword [esi + 0x3c]
fsubp st(1)
fstp dword [esi + 0x64]
push dword [esi + 0x6c]
call fcn.0064aa9c
add esp, 4
push dword [esi + 0x64]
push dword [esi + 0x64]
call fcn.0064af1c
add esp, 8
fld dword [esi + 0x60]
fstp dword [ebp - 0x14]
fld dword [0x69f290]
sub esp, 8
fstp qword [esp]
fld dword [esi + 0x58]
fmul dword [0x685b98]
fdiv dword [0x69f294]
sub esp, 8
fstp qword [esp]
call fcn.004c1880
add esp, 0x10
fld dword [ebp - 0x14]
faddp st(1)
fstp dword [ebp - 0x14]
fld dword [ebp - 0x14]
fstp dword [esi + 0x60]
push dword [esi + 0x60]
call fcn.0064aeed
add esp, 4
fld dword [esi + 0xbc]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
fld dword [esi + 0xb8]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
fld dword [esi + 0xb4]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
call fcn.0064a9e3
add esp, 0xc
push dword [esi + 0x14]
push dword [ebp - 0xe4]
push dword [ebp - 0xe8]
push dword [esi + 0x10]
call fcn.004eae37
add esp, 0x10
cmp dword [esi + 0x94], 0
jle 0x5420a3
cmp dword [esi + 0x90], 0
jle 0x54209e
fld dword [esi + 0x3c]
fld dword [0x69f298]
fxch st(1)
fucompp
fnstsw ax
sahf
setbe al
movzx eax, al
cmp eax, 0
jne 0x542022
mov eax, dword [esi + 0x98]
mov dword [ebp - 0xec], eax
fild dword [ebp - 0xec]
fmul dword [esi + 0x3c]
fmul dword [esi + 0x70]
fmul dword [0x69f29c]
sub esp, 8
fstp qword [esp]
mov eax, dword [esi + 0x98]
mov dword [ebp - 0xec], eax
fild dword [ebp - 0xec]
sub esp, 8
fstp qword [esp]
call fcn.004c18c0
add esp, 0x10
fld dword [esi + 0x14]
fld dword [0x685ba0]
fmulp st(2)
faddp st(1)
fstp dword [esi + 0x14]
fld dword [esi + 0x14]
mov eax, dword [esi + 0x94]
mov dword [ebp - 0xec], eax
fild dword [ebp - 0xec]
fxch st(1)
fucompp
fnstsw ax
sahf
setb al
movzx eax, al
cmp eax, 0
jne 0x542020
fldz
fstp dword [esi + 0x14]
jmp 0x54209c
mov eax, dword [esi + 0x98]
mov dword [ebp - 0xec], eax
fild dword [ebp - 0xec]
fmul dword [esi + 0x3c]
fmul dword [esi + 0x70]
sub esp, 8
fstp qword [esp]
mov eax, dword [esi + 0x98]
mov dword [ebp - 0xec], eax
fild dword [ebp - 0xec]
sub esp, 8
fstp qword [esp]
call fcn.004c18c0
add esp, 0x10
fld dword [esi + 0x14]
fld dword [0x685ba0]
fmulp st(2)
faddp st(1)
fstp dword [esi + 0x14]
fld dword [esi + 0x14]
mov eax, dword [esi + 0x94]
mov dword [ebp - 0xec], eax
fild dword [ebp - 0xec]
fxch st(1)
fucompp
fnstsw ax
sahf
setb al
movzx eax, al
cmp eax, 0
jne 0x54209c
fldz
fstp dword [esi + 0x14]
jmp 0x5420a3
fldz
fstp dword [esi + 0x14]
jmp 0x54af69
cmp dword [esi + 0x28], 1
jne 0x5420ba
push 4
call fcn.0064aa63
add esp, 4
jmp 0x5420c4
push 3
call fcn.0064aa63
add esp, 4
fld dword [esi + 0x3c]
fld dword [0x69f2a0]
fxch st(1)
fucompp
fnstsw ax
sahf
seta al
movzx eax, al
cmp eax, 0
jne 0x5420f8
fld dword [esi + 0xac]
fld dword [esi + 0x78]
fmul dword [esi + 0x3c]
fmul dword [0x69f2a4]
faddp st(1)
fstp dword [esi + 0x64]
jmp 0x542133
fld dword [0x69f2a8]
sub esp, 8
fstp qword [esp]
fld dword [esi + 0x64]
fld dword [0x685ba0]
fmul dword [esi + 0x70]
fmul dword [0x69f2ac]
fsubp st(1)
sub esp, 8
fstp qword [esp]
call fcn.004c18c0
add esp, 0x10
fstp dword [esi + 0x64]
mov dword [esi + 0x80], 0xfffffc19
push dword [esi + 0x6c]
call fcn.0064aa9c
add esp, 4
fld dword [esi + 0x64]
cmp dword [esi + 0xd8], 0xffffffff
jne 0x542150
fmul dword [0x69f2b0]
sub esp, 4
fstp dword [esp]
push dword [esi + 0x64]
call fcn.0064af1c
add esp, 8
fld dword [0x69f2b4]
sub esp, 8
fstp qword [esp]
fld dword [esi + 0x60]
fadd dword [0x69f2b8]
sub esp, 8
fstp qword [esp]
call fcn.004c1880
add esp, 0x10
sub esp, 4
fstp dword [esp]
call fcn.0064aeed
add esp, 4
fld dword [esi + 0xbc]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
fld dword [esi + 0xb8]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
fld dword [esi + 0xb4]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
call fcn.0064a9e3
add esp, 0xc
push dword [esi + 0x14]
push dword [ebp - 0xe4]
push dword [ebp - 0xe8]
push dword [esi + 0x10]
call fcn.004eae37
add esp, 0x10
cmp dword [esi + 0x94], 0
jle 0x54224a
fld dword [esi + 0x14]
fld dword [0x685ba0]
mov eax, dword [esi + 0x98]
mov dword [ebp - 0xec], eax
fild dword [ebp - 0xec]
fmulp st(1)
faddp st(1)
fstp dword [esi + 0x14]
fld dword [esi + 0x14]
mov eax, dword [esi + 0x94]
mov dword [ebp - 0xec], eax
fild dword [ebp - 0xec]
fxch st(1)
fucompp
fnstsw ax
sahf
setb al
movzx eax, al
cmp eax, 0
jne 0x54224a
fldz
fstp dword [esi + 0x14]
jmp 0x54af69
cmp dword [esi + 0x28], 1
jne 0x542261
push 4
call fcn.0064aa63
add esp, 4
jmp 0x54226b
push 3
call fcn.0064aa63
add esp, 4
fld dword [esi + 0x3c]
fld dword [0x69f2bc]
fxch st(1)
fucompp
fnstsw ax
sahf
seta al
movzx eax, al
cmp eax, 0
jne 0x5422c6
fld dword [esi + 0xac]
fld dword [esi + 0x78]
fmul dword [esi + 0x3c]
fmul dword [0x69f2c0]
faddp st(1)
fstp dword [esi + 0x64]
fld1
sub esp, 8
fstp qword [esp]
fld dword [esi + 0x6c]
fld dword [0x685ba0]
fmul dword [esi + 0x70]
faddp st(1)
sub esp, 8
fstp qword [esp]
call fcn.004c18a0
add esp, 0x10
fstp dword [esi + 0x6c]
jmp 0x5422e9
fld dword [0x69f2c4]
fld dword [esi + 0x64]
fxch st(1)
fsub dword [esi + 0x64]
fmul dword [0x69f2c8]
faddp st(1)
fstp dword [esi + 0x64]
mov dword [esi + 0x80], 0xfffffc19
push dword [esi + 0x6c]
call fcn.0064aa9c
add esp, 4
push dword [esi + 0x64]
push dword [esi + 0x64]
call fcn.0064af1c
add esp, 8
push dword [esi + 0x60]
call fcn.0064aeed
add esp, 4
fld dword [esi + 0xbc]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
fld dword [esi + 0xb8]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
fld dword [esi + 0xb4]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
call fcn.0064a9e3
add esp, 0xc
push dword [esi + 0x14]
push dword [ebp - 0xe4]
push dword [ebp - 0xe8]
push dword [esi + 0x10]
call fcn.004eae37
add esp, 0x10
cmp dword [esi + 0x94], 0
jle 0x5423c5
fld dword [esi + 0x14]
fld dword [0x685ba0]
mov eax, dword [esi + 0x98]
mov dword [ebp - 0xec], eax
fild dword [ebp - 0xec]
fmulp st(1)
faddp st(1)
fstp dword [esi + 0x14]
fld dword [esi + 0x14]
mov eax, dword [esi + 0x94]
mov dword [ebp - 0xec], eax
fild dword [ebp - 0xec]
fxch st(1)
fucompp
fnstsw ax
sahf
setb al
movzx eax, al
cmp eax, 0
jne 0x5423c5
fldz
fstp dword [esi + 0x14]
jmp 0x54af69
cmp dword [esi + 0x28], 1
jne 0x5423dc
push 4
call fcn.0064aa63
add esp, 4
jmp 0x5423e6
push 3
call fcn.0064aa63
add esp, 4
push dword [esi + 0x64]
push dword [esi + 0x64]
call fcn.0064af1c
add esp, 8
push dword [esi + 0x60]
call fcn.0064aeed
add esp, 4
fld dword [esi + 0xbc]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
fld dword [esi + 0xb8]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
fld dword [esi + 0xb4]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
call fcn.0064a9e3
add esp, 0xc
mov dword [esi + 0x80], 0xfffffc19
fld dword [esi + 0x3c]
fld dword [0x69f2cc]
fxch st(1)
fucompp
fnstsw ax
sahf
seta al
movzx eax, al
cmp eax, 0
jne 0x5425b1
fld dword [esi + 0xac]
fld dword [esi + 0x78]
fmul dword [esi + 0x3c]
fmul dword [0x69f2d0]
faddp st(1)
fstp dword [esi + 0x64]
fld1
sub esp, 8
fstp qword [esp]
fld dword [esi + 0x6c]
fld dword [0x685ba0]
fmul dword [esi + 0x70]
fmul dword [0x69f2d4]
faddp st(1)
sub esp, 8
fstp qword [esp]
call fcn.004c18a0
add esp, 0x10
fstp dword [esi + 0x6c]
push 4
call fcn.0064aa63
add esp, 4
push 0
push dword [ebp - 0xe4]
push dword [ebp - 0xe8]
push dword [0x687d20]
call fcn.004eae37
add esp, 0x10
fld dword [esi + 0x6c]
fmul dword [0x69f2d8]
sub esp, 4
fstp dword [esp]
call fcn.0064aa9c
add esp, 4
cmp dword [esi + 0x28], 1
jne 0x542502
push 4
call fcn.0064aa63
add esp, 4
jmp 0x54250c
push 3
call fcn.0064aa63
add esp, 4
push dword [esi + 0x6c]
call fcn.0064aa9c
add esp, 4
push dword [esi + 0x14]
push dword [ebp - 0xe4]
push dword [ebp - 0xe8]
push dword [esi + 0x10]
call fcn.004eae37
add esp, 0x10
mov eax, dword [esi + 0x98]
mov dword [ebp - 0xec], eax
fild dword [ebp - 0xec]
fsub dword [0x685ba0]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
mov dword [esi + 0x98], eax
cmp dword [esi + 0x98], 0
jg 0x5425a2
mov eax, dword [esi + 0x9c]
mov dword [esi + 0x98], eax
fld dword [esi + 0x14]
fadd dword [0x69f2dc]
fstp dword [esi + 0x14]
fld dword [esi + 0x14]
fld dword [0x69f2e0]
fxch st(1)
fucompp
fnstsw ax
sahf
setbe al
movzx eax, al
cmp eax, 0
jne 0x5425a2
fld dword [0x69f2e4]
fstp dword [esi + 0x14]
mov dword [esi + 0x90], 1
jmp 0x54271d
mov eax, dword [esi + 0x90]
cmp eax, 1
setge al
movzx eax, al
cmp eax, 0
je 0x5425d4
mov eax, dword [esi + 0x90]
cmp eax, 2
setle al
movzx eax, al
cmp eax, 0
je 0x5425e9
add dword [esi + 0x90], 1
fld dword [0x69f2e8]
fstp dword [esi + 0x14]
fld dword [0x69f2ec]
fld dword [esi + 0x64]
fxch st(1)
fsub dword [esi + 0x64]
fmul dword [0x69f2f0]
fmul dword [0x685ba0]
faddp st(1)
fstp dword [esi + 0x64]
fld dword [esi + 0x6c]
fmul dword [0x69f2f4]
sub esp, 4
fstp dword [esp]
call fcn.0064aa9c
add esp, 4
push 4
call fcn.0064aa63
add esp, 4
push 0
push dword [ebp - 0xe4]
push dword [ebp - 0xe8]
push dword [0x687d20]
call fcn.004eae37
add esp, 0x10
cmp dword [esi + 0x28], 1
jne 0x542657
push 4
call fcn.0064aa63
add esp, 4
jmp 0x542661
push 3
call fcn.0064aa63
add esp, 4
push dword [esi + 0x6c]
call fcn.0064aa9c
add esp, 4
push dword [esi + 0x14]
push dword [ebp - 0xe4]
push dword [ebp - 0xe8]
push dword [esi + 0x10]
call fcn.004eae37
add esp, 0x10
mov eax, dword [esi + 0x98]
mov dword [ebp - 0xec], eax
fild dword [ebp - 0xec]
fld dword [0x685ba0]
fmul dword [0x69f2f8]
fsubp st(1)
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
mov dword [esi + 0x98], eax
cmp dword [esi + 0x98], 0
jg 0x54271d
mov eax, dword [esi + 0x9c]
mov dword [esi + 0x98], eax
fld dword [esi + 0x14]
fadd dword [0x69f2fc]
fstp dword [esi + 0x14]
fld dword [esi + 0x14]
mov eax, dword [esi + 0x94]
sub eax, 1
mov dword [ebp - 0xec], eax
fild dword [ebp - 0xec]
fxch st(1)
fucompp
fnstsw ax
sahf
setb al
movzx eax, al
cmp eax, 0
jne 0x54271d
mov eax, dword [esi + 0x94]
sub eax, 1
mov dword [ebp - 0xec], eax
fild dword [ebp - 0xec]
fstp dword [esi + 0x14]
jmp 0x54af69
push 4
call fcn.0064aa63
add esp, 4
fld dword [esi + 0xbc]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
fld dword [esi + 0xb8]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
fld dword [esi + 0xb4]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
call fcn.0064a9e3
add esp, 0xc
push dword [esi + 0x6c]
call fcn.0064aa9c
add esp, 4
push dword [esi + 0x68]
push dword [esi + 0x64]
call fcn.0064af1c
add esp, 8
push dword [esi + 0x60]
call fcn.0064aeed
add esp, 4
push dword [esi + 0x14]
push dword [ebp - 0xe4]
push dword [ebp - 0xe8]
push dword [esi + 0x10]
call fcn.004eae37
add esp, 0x10
fld dword [esi + 0x58]
fld dword [esi + 0x5c]
fmul dword [0x685ba0]
faddp st(1)
fstp dword [esi + 0x58]
fld dword [esi + 0x60]
fstp dword [ebp - 0x18]
fld dword [0x69f300]
sub esp, 8
fstp qword [esp]
fld dword [esi + 0x58]
fmul dword [0x685ba0]
sub esp, 8
fstp qword [esp]
call fcn.004c1880
add esp, 0x10
fld dword [ebp - 0x18]
faddp st(1)
fstp dword [ebp - 0x18]
fld dword [ebp - 0x18]
fstp dword [esi + 0x60]
mov eax, dword [esi + 0x90]
mov dword [ebp - 0xec], eax
fild dword [ebp - 0xec]
fsub dword [0x685b98]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
mov dword [esi + 0x90], eax
cmp dword [esi + 0x90], 0
jg 0x54287b
fld dword [esi + 0x6c]
fld dword [0x685ba0]
fmul dword [esi + 0x70]
fsubp st(1)
fstp dword [esi + 0x6c]
fld dword [esi + 0x64]
fld dword [0x685b98]
fdiv dword [0x69f304]
fsubp st(1)
fstp dword [esi + 0x64]
fld dword [esi + 0x64]
fstp dword [esi + 0x68]
fld dword [esi + 0x6c]
fldz
fxch st(1)
fucompp
fnstsw ax
sahf
seta al
movzx eax, al
cmp eax, 0
jne 0x54287b
push dword [esi + 8]
call fcn.005378c8
add esp, 4
jmp 0x54af69
push 3
call fcn.0064aa63
add esp, 4
push dword [esi + 0x6c]
call fcn.0064aa9c
add esp, 4
push dword [esi + 0x64]
push dword [esi + 0x64]
call fcn.0064af1c
add esp, 8
push dword [esi + 0x60]
call fcn.0064aeed
add esp, 4
fld dword [esi + 0xbc]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
fld dword [esi + 0xb8]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
fld dword [esi + 0xb4]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
call fcn.0064a9e3
add esp, 0xc
push dword [esi + 0x14]
push dword [ebp - 0xe4]
push dword [ebp - 0xe8]
push dword [esi + 0x10]
call fcn.004eae37
add esp, 0x10
jmp 0x54af69
push 3
call fcn.0064aa63
add esp, 4
push dword [esi + 0x6c]
call fcn.0064aa9c
add esp, 4
push dword [esi + 0x64]
push dword [esi + 0x64]
call fcn.0064af1c
add esp, 8
push dword [esi + 0x60]
call fcn.0064aeed
add esp, 4
fld dword [esi + 0xbc]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
fld dword [esi + 0xb8]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
fld dword [esi + 0xb4]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
call fcn.0064a9e3
add esp, 0xc
push dword [esi + 0x14]
push dword [ebp - 0xe4]
push dword [ebp - 0xe8]
push dword [esi + 0x10]
call fcn.004eae37
add esp, 0x10
jmp 0x54af69
cmp dword [esi + 0x28], 1
jne 0x5429ba
push 4
call fcn.0064aa63
add esp, 4
jmp 0x5429c4
push 3
call fcn.0064aa63
add esp, 4
fld dword [esi + 0x6c]
fld dword [esi + 0x74]
fldz
fxch st(1)
fucompp
fnstsw ax
sahf
sete al
movzx eax, al
cmp eax, 0
je 0x5429e2
fstp st(0)
jmp 0x542a33
mov eax, dword [esi + 0x90]
cmp eax, dword [esi + 0xdc]
sete al
movzx eax, al
cmp eax, 0
jne 0x542a08
mov eax, dword [esi + 0x90]
cmp eax, 0
setle al
movzx eax, al
cmp eax, 0
jne 0x542a11
fstp st(0)
jmp 0x542a13
jmp 0x542a31
mov ebx, dword [0x686f50]
fld dword [esi + 0x3c]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
fld dword [ebx + eax*4 + 0x18]
fmul dword [esi + 0x70]
jmp 0x542a51
mov ebx, dword [0x686f50]
fld dword [esi + 0x3c]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
fld dword [ebx + eax*4 + 0x18]
fmul dword [esi + 0x70]
fld dword [esi + 0xe4]
fldz
fxch st(1)
fucompp
fnstsw ax
sahf
sete al
movzx eax, al
cmp eax, 0
jne 0x542a8a
fstp st(0)
fld dword [esi + 0xe4]
sub esp, 8
fstp qword [esp]
fld dword [esi + 0x6c]
sub esp, 8
fstp qword [esp]
call fcn.004c18c0
add esp, 0x10
sub esp, 4
fstp dword [esp]
call fcn.0064aa9c
add esp, 4
fld dword [esi + 0x64]
fmul dword [esi + 0x68]
sub esp, 4
fstp dword [esp]
push dword [esi + 0x64]
call fcn.0064af1c
add esp, 8
push dword [esi + 0x60]
call fcn.0064aeed
add esp, 4
fld dword [esi + 0xbc]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
fld dword [esi + 0xb8]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
fld dword [esi + 0xb4]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
call fcn.0064a9e3
add esp, 0xc
push dword [esi + 0x14]
push dword [ebp - 0xe4]
push dword [ebp - 0xe8]
push dword [esi + 0x10]
call fcn.004eae37
add esp, 0x10
jmp 0x54af69
cmp dword [esi + 0xd8], 1
jne 0x542b35
push 4
call fcn.0064aa63
add esp, 4
jmp 0x542b3f
push 3
call fcn.0064aa63
add esp, 4
push dword [esi + 0x6c]
call fcn.0064aa9c
add esp, 4
cmp dword [esi + 0xdc], 1
jne 0x542b6b
push dword [esi + 0x64]
fld dword [esi + 0x64]
fchs
sub esp, 4
fstp dword [esp]
call fcn.0064af1c
add esp, 8
jmp 0x542bc3
cmp dword [esi + 0xdc], 2
jne 0x542b8c
fld dword [esi + 0x64]
fchs
sub esp, 4
fstp dword [esp]
push dword [esi + 0x64]
call fcn.0064af1c
add esp, 8
jmp 0x542bc3
cmp dword [esi + 0xdc], 3
jne 0x542bb5
fld dword [esi + 0x64]
fchs
sub esp, 4
fstp dword [esp]
fld dword [esi + 0x64]
fchs
sub esp, 4
fstp dword [esp]
call fcn.0064af1c
add esp, 8
jmp 0x542bc3
push dword [esi + 0x64]
push dword [esi + 0x64]
call fcn.0064af1c
add esp, 8
push dword [esi + 0x60]
call fcn.0064aeed
add esp, 4
fld dword [esi + 0xbc]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
fld dword [esi + 0xb8]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
fld dword [esi + 0xb4]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
call fcn.0064a9e3
add esp, 0xc
push dword [esi + 0x14]
push dword [ebp - 0xe4]
push dword [ebp - 0xe8]
push dword [esi + 0x10]
call fcn.004eae37
add esp, 0x10
fld dword [esi + 0x14]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
jmp 0x54af69
cmp dword [esi + 0x28], 1
jne 0x542c57
push 4
call fcn.0064aa63
add esp, 4
jmp 0x542c61
push 3
call fcn.0064aa63
add esp, 4
push dword [esi + 0x6c]
call fcn.0064aa9c
add esp, 4
fld dword [esi + 0x64]
fmul dword [esi + 0x68]
sub esp, 4
fstp dword [esp]
push dword [esi + 0x64]
call fcn.0064af1c
add esp, 8
push dword [esi + 0x60]
call fcn.0064aeed
add esp, 4
fld dword [esi + 0xbc]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
fld dword [esi + 0xb8]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
fld dword [esi + 0xb4]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
call fcn.0064a9e3
add esp, 0xc
push dword [esi + 0x14]
push dword [ebp - 0xe4]
push dword [ebp - 0xe8]
push dword [esi + 0x10]
call fcn.004eae37
add esp, 0x10
jmp 0x54af69
push 3
call fcn.0064aa63
add esp, 4
push dword [esi + 0x6c]
call fcn.0064aa9c
add esp, 4
fld dword [esi + 0xac]
fld dword [esi + 0x64]
fxch st(1)
fucompp
fnstsw ax
sahf
setbe al
movzx eax, al
cmp eax, 0
jne 0x542d6c
fld dword [esi + 0xac]
fld dword [0x69f308]
fmul dword [0x685ba0]
fsubp st(1)
fstp dword [esi + 0xac]
fld dword [esi + 0xac]
fld dword [esi + 0x68]
fxch st(1)
fucompp
fnstsw ax
sahf
seta al
movzx eax, al
cmp eax, 0
jne 0x542d6c
fld dword [esi + 0x68]
fstp dword [esi + 0xac]
mov dword [esi + 0x90], 0
push dword [esi + 0xac]
push dword [esi + 0xac]
call fcn.0064af1c
add esp, 8
push 0
call fcn.0064aeed
add esp, 4
mov eax, dword [0x687030]
mov eax, dword [eax + 0x88]
push dword [eax + 8]
call fcn.0064afc3
add esp, 4
mov eax, dword [esi + 0xe0]
mov dword [ebp - 0xec], eax
fild dword [ebp - 0xec]
fmul dword [0x69f30c]
fmul dword [esi + 0xac]
fld dword [ebp - 0xe8]
fsubrp st(1)
fstp dword [ebp - 0xe8]
fld dword [esi + 0xe4]
fmul dword [0x69f310]
fmul dword [esi + 0xac]
fld dword [ebp - 0xe4]
fsubrp st(1)
fstp dword [ebp - 0xe4]
cmp dword [esi + 0xd8], 1
jne 0x542e49
push 0
push 0
push 0
call fcn.0064a9e3
add esp, 0xc
push 1
fld dword [ebp - 0xe4]
fadd dword [0x69f314]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
fld dword [ebp - 0xe8]
fsub dword [0x69f318]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
push dword [0x685b40]
call fcn.004e8c3b
add esp, 0x10
fld dword [esi + 0xbc]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
fld dword [esi + 0xb8]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
fld dword [esi + 0xb4]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
call fcn.0064a9e3
add esp, 0xc
push 1
fld dword [ebp - 0xe4]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
fld dword [ebp - 0xe8]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
push dword [0x685b40]
call fcn.004e8c3b
add esp, 0x10
cmp dword [esi + 0x90], 0
jg 0x542f08
cmp dword [esi + 0xd8], 1
jne 0x542eef
fld dword [esi + 0x6c]
fld dword [esi + 0x70]
fmul dword [0x685ba0]
fsubp st(1)
fstp dword [esi + 0x6c]
jmp 0x542f06
fld dword [esi + 0x6c]
fld dword [esi + 0x70]
fmul dword [0x685ba0]
fmul dword [0x69f31c]
fsubp st(1)
fstp dword [esi + 0x6c]
jmp 0x542f34
fld dword [esi + 0x6c]
fld dword [esi + 0x5c]
fxch st(1)
fucompp
fnstsw ax
sahf
setae al
movzx eax, al
cmp eax, 0
jne 0x542f34
fld dword [esi + 0x6c]
fld dword [0x69f320]
fmul dword [0x685ba0]
faddp st(1)
fstp dword [esi + 0x6c]
fld dword [esi + 0x6c]
fld dword [0x69f324]
fxch st(1)
fucompp
fnstsw ax
sahf
setbe al
movzx eax, al
cmp eax, 0
je 0x542f5e
mov eax, dword [esi + 0x90]
cmp eax, 0
setle al
movzx eax, al
cmp eax, 0
je 0x542f6e
push dword [esi + 8]
call fcn.005378c8
add esp, 4
jmp 0x54af69
push dword [esi + 0x6c]
call fcn.0064aa9c
add esp, 4
fld dword [esi + 0xac]
fmul dword [0x685530]
sub esp, 4
fstp dword [esp]
fld dword [esi + 0xac]
fmul dword [0x68552c]
sub esp, 4
fstp dword [esp]
call fcn.0064af1c
add esp, 8
push 0
call fcn.0064aeed
add esp, 4
mov eax, dword [0x687030]
mov eax, dword [eax + 0x88]
push dword [eax + 8]
call fcn.0064afc3
add esp, 4
mov eax, dword [esi + 0xe0]
mov dword [ebp - 0xec], eax
fild dword [ebp - 0xec]
fmul dword [0x69f328]
fmul dword [esi + 0xac]
fld dword [ebp - 0xe8]
fsubrp st(1)
fstp dword [ebp - 0xe8]
fld dword [esi + 0xe4]
fmul dword [0x69f32c]
fmul dword [esi + 0xac]
fld dword [ebp - 0xe4]
fsubrp st(1)
fstp dword [ebp - 0xe4]
cmp dword [esi + 0xd8], 1
jne 0x5430bf
push 3
call fcn.0064aa63
add esp, 4
fld dword [esi + 0xbc]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
fld dword [esi + 0xb8]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
fld dword [esi + 0xb4]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
call fcn.0064a9e3
add esp, 0xc
push 1
fld dword [ebp - 0xe4]
fadd dword [0x69f330]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
fld dword [ebp - 0xe8]
fsub dword [0x69f334]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
push dword [0x685b44]
call fcn.004e8c3b
add esp, 0x10
jmp 0x543284
cmp dword [esi + 0xd8], 2
jne 0x54315c
fld dword [esi + 0xbc]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
fld dword [esi + 0xb8]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
fld dword [esi + 0xb4]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
call fcn.0064a9e3
add esp, 0xc
push 4
call fcn.0064aa63
add esp, 4
push 1
fld dword [ebp - 0xe4]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
fld dword [ebp - 0xe8]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
push dword [0x685b44]
call fcn.004e8c3b
add esp, 0x10
jmp 0x543284
cmp dword [esi + 0xd8], 3
jne 0x5431f9
fld dword [esi + 0xbc]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
fld dword [esi + 0xb8]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
fld dword [esi + 0xb4]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
call fcn.0064a9e3
add esp, 0xc
push 3
call fcn.0064aa63
add esp, 4
push 1
fld dword [ebp - 0xe4]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
fld dword [ebp - 0xe8]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
push dword [0x685b44]
call fcn.004e8c3b
add esp, 0x10
jmp 0x543284
fld dword [esi + 0xbc]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
fld dword [esi + 0xb8]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
fld dword [esi + 0xb4]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
call fcn.0064a9e3
add esp, 0xc
push 3
call fcn.0064aa63
add esp, 4
push 1
fld dword [ebp - 0xe4]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
fld dword [ebp - 0xe8]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
push dword [0x685b44]
call fcn.004e8c3b
add esp, 0x10
cmp dword [esi + 0x90], 0
jg 0x5433c9
cmp dword [esi + 0xd8], 1
jne 0x5432b3
fld dword [esi + 0x6c]
fld dword [esi + 0x70]
fmul dword [0x685ba0]
fmul dword [0x69f338]
fsubp st(1)
fstp dword [esi + 0x6c]
jmp 0x5432ec
cmp dword [esi + 0xd8], 2
jne 0x5432d5
fld dword [esi + 0x6c]
fld dword [esi + 0x70]
fmul dword [0x685ba0]
fmul dword [0x69f33c]
fsubp st(1)
fstp dword [esi + 0x6c]
jmp 0x5432ec
fld dword [esi + 0x6c]
fld dword [esi + 0x70]
fmul dword [0x685ba0]
fmul dword [0x69f340]
fsubp st(1)
fstp dword [esi + 0x6c]
fld dword [esi + 0xac]
fld dword [esi + 0xb0]
fxch st(1)
fucompp
fnstsw ax
sahf
setae al
movzx eax, al
cmp eax, 0
jne 0x5433c4
fld dword [esi + 0xac]
fld dword [0x69f344]
fmul dword [0x685ba0]
faddp st(1)
fstp dword [esi + 0xac]
fld dword [esi + 0xac]
fld dword [esi + 0xb0]
fxch st(1)
fucompp
fnstsw ax
sahf
setb al
movzx eax, al
cmp eax, 0
jne 0x543352
fld dword [esi + 0xb0]
fstp dword [esi + 0xac]
fld dword [esi + 0xac]
fld dword [esi + 0x78]
fxch st(1)
fucompp
fnstsw ax
sahf
setae al
movzx eax, al
cmp eax, 0
je 0x54337c
mov eax, dword [esi + 0xd8]
cmp eax, 3
setne al
movzx eax, al
cmp eax, 0
je 0x5433c4
mov eax, dword [esi + 0xdc]
mov dword [ebp - 0xec], eax
fild dword [ebp - 0xec]
fstp dword [esi + 0xa0]
mov eax, dword [esi + 0xe0]
mov dword [ebp - 0xec], eax
fild dword [ebp - 0xec]
fstp dword [esi + 0xa4]
fld dword [0x69f348]
fstp dword [esi + 0x50]
mov dword [esi + 0xd8], 3
jmp 0x543458
fld dword [esi + 0x6c]
fld dword [esi + 0x5c]
fxch st(1)
fucompp
fnstsw ax
sahf
setae al
movzx eax, al
cmp eax, 0
jne 0x5433f5
fld dword [esi + 0x6c]
fld dword [0x69f34c]
fmul dword [0x685ba0]
faddp st(1)
fstp dword [esi + 0x6c]
fld dword [esi + 0xac]
fld dword [esi + 0x64]
fxch st(1)
fucompp
fnstsw ax
sahf
setbe al
movzx eax, al
cmp eax, 0
jne 0x543458
fld dword [esi + 0xac]
fld dword [0x69f350]
fmul dword [0x685ba0]
fsubp st(1)
fstp dword [esi + 0xac]
fld dword [esi + 0xac]
fld dword [esi + 0x68]
fxch st(1)
fucompp
fnstsw ax
sahf
seta al
movzx eax, al
cmp eax, 0
jne 0x543458
fld dword [esi + 0x68]
fstp dword [esi + 0xac]
mov dword [esi + 0x90], 0
fld dword [esi + 0x6c]
fld dword [0x69f354]
fxch st(1)
fucompp
fnstsw ax
sahf
setbe al
movzx eax, al
cmp eax, 0
je 0x543482
mov eax, dword [esi + 0x90]
cmp eax, 0
setle al
movzx eax, al
cmp eax, 0
je 0x543492
push dword [esi + 8]
call fcn.005378c8
add esp, 4
jmp 0x54af69
push dword [esi + 0x6c]
call fcn.0064aa9c
add esp, 4
push dword [esi + 0xac]
push dword [esi + 0xac]
call fcn.0064af1c
add esp, 8
push 0
call fcn.0064aeed
add esp, 4
mov eax, dword [0x687030]
mov eax, dword [eax + 0x88]
push dword [eax + 8]
call fcn.0064afc3
add esp, 4
mov eax, dword [esi + 0xe0]
mov dword [ebp - 0xec], eax
fild dword [ebp - 0xec]
fmul dword [0x69f358]
fmul dword [esi + 0xac]
fld dword [ebp - 0xe8]
fsubrp st(1)
fstp dword [ebp - 0xe8]
fld dword [esi + 0xe4]
fmul dword [0x69f35c]
fmul dword [esi + 0xac]
fld dword [ebp - 0xe4]
fsubrp st(1)
fstp dword [ebp - 0xe4]
cmp dword [esi + 0xd8], 1
jne 0x543582
push 3
call fcn.0064aa63
add esp, 4
push 0
push 0
push 0
call fcn.0064a9e3
add esp, 0xc
push 1
fld dword [ebp - 0xe4]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
fld dword [ebp - 0xe8]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
push dword [0x685b48]
call fcn.004e8c3b
add esp, 0x10
jmp 0x54375f
cmp dword [esi + 0xd8], 2
jne 0x54362b
fld dword [esi + 0xbc]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
fld dword [esi + 0xb8]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
fld dword [esi + 0xb4]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
call fcn.0064a9e3
add esp, 0xc
push 4
call fcn.0064aa63
add esp, 4
push 1
fld dword [ebp - 0xe4]
fsub dword [0x69f360]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
fld dword [ebp - 0xe8]
fadd dword [0x69f364]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
push dword [0x685b48]
call fcn.004e8c3b
add esp, 0x10
jmp 0x54375f
cmp dword [esi + 0xd8], 3
jne 0x5436d4
fld dword [esi + 0xbc]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
fld dword [esi + 0xb8]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
fld dword [esi + 0xb4]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
call fcn.0064a9e3
add esp, 0xc
push 4
call fcn.0064aa63
add esp, 4
push 1
fld dword [ebp - 0xe4]
fsub dword [0x69f368]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
fld dword [ebp - 0xe8]
fadd dword [0x69f36c]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
push dword [0x685b48]
call fcn.004e8c3b
add esp, 0x10
jmp 0x54375f
fld dword [esi + 0xbc]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
fld dword [esi + 0xb8]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
fld dword [esi + 0xb4]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
call fcn.0064a9e3
add esp, 0xc
push 3
call fcn.0064aa63
add esp, 4
push 1
fld dword [ebp - 0xe4]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
fld dword [ebp - 0xe8]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
push dword [0x685b48]
call fcn.004e8c3b
add esp, 0x10
cmp dword [esi + 0x90], 0
jg 0x5438ad
cmp dword [esi + 0xd8], 1
jne 0x54378e
fld dword [esi + 0x6c]
fld dword [esi + 0x70]
fmul dword [0x685ba0]
fmul dword [0x69f370]
fsubp st(1)
fstp dword [esi + 0x6c]
jmp 0x5437a5
fld dword [esi + 0x6c]
fld dword [esi + 0x70]
fmul dword [0x685ba0]
fmul dword [0x69f374]
fsubp st(1)
fstp dword [esi + 0x6c]
fld dword [esi + 0xac]
fld dword [esi + 0xb0]
fxch st(1)
fucompp
fnstsw ax
sahf
setae al
movzx eax, al
cmp eax, 0
jne 0x5438a8
fld dword [esi + 0xac]
fld dword [esi + 0x64]
fmul dword [0x685ba0]
faddp st(1)
fstp dword [esi + 0xac]
fld dword [esi + 0xac]
fld dword [esi + 0xb0]
fxch st(1)
fucompp
fnstsw ax
sahf
setb al
movzx eax, al
cmp eax, 0
jne 0x5438a8
fld dword [esi + 0xb0]
fstp dword [esi + 0xac]
fld dword [esi + 0x78]
fldz
fxch st(1)
fucompp
fnstsw ax
sahf
setne al
movzx eax, al
cmp eax, 0
jne 0x543863
mov eax, dword [esi + 0xdc]
mov dword [ebp - 0xec], eax
fild dword [ebp - 0xec]
fstp dword [esi + 0xa0]
mov eax, dword [esi + 0xe0]
mov dword [ebp - 0xec], eax
fild dword [ebp - 0xec]
fstp dword [esi + 0xa4]
fld dword [0x69f378]
fstp dword [esi + 0x50]
fld1
fstp dword [esi + 0x78]
jmp 0x5438a8
fld dword [esi + 0x78]
fld1
fxch st(1)
fucompp
fnstsw ax
sahf
setne al
movzx eax, al
cmp eax, 0
jne 0x5438a8
fld dword [0x69f37c]
sub esp, 8
fstp qword [esp]
fld dword [esi + 0x50]
fld dword [0x69f380]
fmul dword [0x685ba0]
faddp st(1)
sub esp, 8
fstp qword [esp]
call fcn.004c18a0
add esp, 0x10
fstp dword [esi + 0x50]
jmp 0x54397d
fld dword [esi + 0x6c]
fld dword [esi + 0x5c]
fxch st(1)
fucompp
fnstsw ax
sahf
setae al
movzx eax, al
cmp eax, 0
jne 0x5438d6
fld dword [esi + 0x6c]
fld dword [esi + 0x74]
fmul dword [0x685ba0]
faddp st(1)
fstp dword [esi + 0x6c]
fld dword [esi + 0xac]
fld dword [esi + 0x68]
fxch st(1)
fucompp
fnstsw ax
sahf
setb al
movzx eax, al
cmp eax, 0
jne 0x543938
fld dword [esi + 0xac]
fld dword [esi + 0x64]
fmul dword [0x685ba0]
fsubp st(1)
fstp dword [esi + 0xac]
fld dword [esi + 0xac]
fld dword [esi + 0x68]
fxch st(1)
fucompp
fnstsw ax
sahf
setae al
movzx eax, al
cmp eax, 0
jne 0x543936
fld dword [esi + 0x68]
fstp dword [esi + 0xac]
mov dword [esi + 0x90], 0
jmp 0x54397d
fld dword [esi + 0xac]
fld dword [esi + 0x64]
fmul dword [0x685ba0]
faddp st(1)
fstp dword [esi + 0xac]
fld dword [esi + 0xac]
fld dword [esi + 0x68]
fxch st(1)
fucompp
fnstsw ax
sahf
setbe al
movzx eax, al
cmp eax, 0
jne 0x54397d
fld dword [esi + 0x68]
fstp dword [esi + 0xac]
mov dword [esi + 0x90], 0
fld dword [esi + 0x6c]
fld dword [0x69f384]
fxch st(1)
fucompp
fnstsw ax
sahf
setbe al
movzx eax, al
cmp eax, 0
je 0x5439a7
mov eax, dword [esi + 0x90]
cmp eax, 0
setle al
movzx eax, al
cmp eax, 0
je 0x5439b7
push dword [esi + 8]
call fcn.005378c8
add esp, 4
jmp 0x54af69
push 4
call fcn.0064aa63
add esp, 4
push dword [esi + 0x6c]
call fcn.0064aa9c
add esp, 4
push dword [esi + 0x68]
push dword [esi + 0x64]
call fcn.0064af1c
add esp, 8
fld dword [esi + 0xbc]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
fld dword [esi + 0xb8]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
fld dword [esi + 0xb4]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
call fcn.0064a9e3
add esp, 0xc
push dword [esi + 0x60]
call fcn.0064aeed
add esp, 4
push dword [esi + 0x14]
push dword [ebp - 0xe4]
push dword [ebp - 0xe8]
push dword [esi + 0x10]
call fcn.004eae37
add esp, 0x10
cmp dword [esi + 0x94], 0
jle 0x543aa9
fld dword [esi + 0x14]
fld dword [0x685ba0]
mov eax, dword [esi + 0x98]
mov dword [ebp - 0xec], eax
fild dword [ebp - 0xec]
fmulp st(1)
faddp st(1)
fstp dword [esi + 0x14]
fld dword [esi + 0x14]
mov eax, dword [esi + 0x94]
mov dword [ebp - 0xec], eax
fild dword [ebp - 0xec]
fxch st(1)
fucompp
fnstsw ax
sahf
setb al
movzx eax, al
cmp eax, 0
jne 0x543aa9
fldz
fstp dword [esi + 0x14]
sub dword [esi + 0x90], 1
fld dword [esi + 0xa0]
mov eax, dword [esi + 0x20]
mov dword [ebp - 0xec], eax
fild dword [ebp - 0xec]
fsubp st(1)
sub esp, 8
fstp qword [esp]
call fcn.004c1830
add esp, 8
fstp dword [ebp - 0xd0]
fld dword [esi + 0xa4]
mov eax, dword [esi + 0x24]
mov dword [ebp - 0xec], eax
fild dword [ebp - 0xec]
fsubp st(1)
sub esp, 8
fstp qword [esp]
call fcn.004c1830
add esp, 8
fld dword [ebp - 0xd0]
faddp st(1)
fstp dword [ebp - 0xd0]
fld dword [ebp - 0xd0]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
mov edx, eax
mov eax, dword [esi + 0x90]
mov dword [ebp - 0xec], eax
fild dword [ebp - 0xec]
fld dword [esi + 0x70]
fxch st(1)
fucompp
fnstsw ax
sahf
setbe al
movzx eax, al
cmp eax, 0
jne 0x543b60
mov dword [ebp - 0xec], edx
fild dword [ebp - 0xec]
fld dword [esi + 0x78]
fxch st(1)
fucompp
fnstsw ax
sahf
setb al
movzx eax, al
cmp eax, 0
je 0x543b79
fld dword [esi + 0x6c]
fld dword [0x69f388]
fmul dword [0x685ba0]
fsubp st(1)
fstp dword [esi + 0x6c]
fld dword [esi + 0x6c]
fld dword [0x69f38c]
fxch st(1)
fucompp
fnstsw ax
sahf
setbe al
movzx eax, al
cmp eax, 0
jne 0x543b9d
cmp edx, 0x14
setl al
movzx eax, al
cmp eax, 0
je 0x543bad
push dword [esi + 8]
call fcn.005378c8
add esp, 4
jmp 0x54af69
cmp dword [esi + 0x7c], 0
jg 0x543d8c
push 3
call fcn.0064aa63
add esp, 4
push dword [esi + 0x6c]
call fcn.0064aa9c
add esp, 4
push dword [esi + 0x64]
push dword [esi + 0x64]
call fcn.0064af1c
add esp, 8
push dword [esi + 0x60]
call fcn.0064aeed
add esp, 4
fld dword [esi + 0xbc]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
fld dword [esi + 0xb8]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
fld dword [esi + 0xb4]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
call fcn.0064a9e3
add esp, 0xc
push dword [esi + 0x14]
push dword [ebp - 0xe4]
push dword [ebp - 0xe8]
push dword [esi + 0x10]
call fcn.004eae37
add esp, 0x10
cmp dword [esi + 0x94], 0
jle 0x543d11
fld dword [esi + 0x14]
fld dword [0x685ba0]
mov eax, dword [esi + 0x98]
mov dword [ebp - 0xec], eax
fild dword [ebp - 0xec]
fmulp st(1)
faddp st(1)
fstp dword [esi + 0x14]
fld dword [esi + 0x14]
fld dword [esi + 0x50]
fxch st(1)
fucompp
fnstsw ax
sahf
setae al
movzx eax, al
cmp eax, 0
je 0x543ca1
mov eax, dword [esi + 0x90]
cmp eax, 0
setg al
movzx eax, al
cmp eax, 0
je 0x543cc2
mov dword [esi + 0x90], 0
push 0
push 0
push dword [esi + 0x24]
push dword [esi + 0x20]
call fcn.0055475a
add esp, 0x10
fld dword [esi + 0x14]
mov eax, dword [esi + 0x94]
mov dword [ebp - 0xec], eax
fild dword [ebp - 0xec]
fxch st(1)
fucompp
fnstsw ax
sahf
setb al
movzx eax, al
cmp eax, 0
jne 0x543d11
mov eax, dword [esi + 0x94]
mov dword [ebp - 0xec], eax
fild dword [ebp - 0xec]
fstp dword [esi + 0x14]
cmp dword [esi + 0x90], 0
jne 0x543d11
mov dword [esi + 0x90], 0xffffffff
mov eax, dword [esi + 0x90]
cmp eax, 0
setg al
movzx eax, al
cmp eax, 0
je 0x543d37
fld dword [esi + 0x6c]
fld1
fxch st(1)
fucompp
fnstsw ax
sahf
setb al
movzx eax, al
cmp eax, 0
je 0x543d50
fld dword [esi + 0x6c]
fld dword [0x685ba0]
fmul dword [0x69f390]
faddp st(1)
fstp dword [esi + 0x6c]
cmp dword [esi + 0x90], 0
jge 0x543d8c
fld dword [esi + 0x6c]
fld dword [0x685ba0]
fmul dword [esi + 0x70]
fsubp st(1)
fstp dword [esi + 0x6c]
fld dword [esi + 0x6c]
fldz
fxch st(1)
fucompp
fnstsw ax
sahf
seta al
movzx eax, al
cmp eax, 0
jne 0x543d8c
push dword [esi + 8]
call fcn.005378c8
add esp, 4
jmp 0x54af69
cmp dword [esi + 0x7c], 0
jg 0x543f6e
push 3
call fcn.0064aa63
add esp, 4
push dword [esi + 0x6c]
call fcn.0064aa9c
add esp, 4
push dword [esi + 0x64]
push dword [esi + 0x64]
call fcn.0064af1c
add esp, 8
push dword [esi + 0x60]
call fcn.0064aeed
add esp, 4
fld dword [esi + 0xbc]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
fld dword [esi + 0xb8]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
fld dword [esi + 0xb4]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
call fcn.0064a9e3
add esp, 0xc
push dword [esi + 0x14]
push dword [ebp - 0xe4]
push dword [ebp - 0xe8]
push dword [esi + 0x10]
call fcn.004eae37
add esp, 0x10
cmp dword [esi + 0x94], 0
jle 0x543ef3
fld dword [esi + 0x14]
fld dword [0x685ba0]
mov eax, dword [esi + 0x98]
mov dword [ebp - 0xec], eax
fild dword [ebp - 0xec]
fmulp st(1)
faddp st(1)
fstp dword [esi + 0x14]
fld dword [esi + 0x14]
fld dword [esi + 0x50]
fxch st(1)
fucompp
fnstsw ax
sahf
setae al
movzx eax, al
cmp eax, 0
je 0x543e80
mov eax, dword [esi + 0x90]
cmp eax, 0
setg al
movzx eax, al
cmp eax, 0
je 0x543ea4
mov dword [esi + 0x90], 0
push 0
push 0x3f333333
push dword [esi + 0x24]
push dword [esi + 0x20]
call fcn.00554480
add esp, 0x10
fld dword [esi + 0x14]
mov eax, dword [esi + 0x94]
mov dword [ebp - 0xec], eax
fild dword [ebp - 0xec]
fxch st(1)
fucompp
fnstsw ax
sahf
setb al
movzx eax, al
cmp eax, 0
jne 0x543ef3
mov eax, dword [esi + 0x94]
mov dword [ebp - 0xec], eax
fild dword [ebp - 0xec]
fstp dword [esi + 0x14]
cmp dword [esi + 0x90], 0
jne 0x543ef3
mov dword [esi + 0x90], 0xffffffff
mov eax, dword [esi + 0x90]
cmp eax, 0
setg al
movzx eax, al
cmp eax, 0
je 0x543f19
fld dword [esi + 0x6c]
fld1
fxch st(1)
fucompp
fnstsw ax
sahf
setb al
movzx eax, al
cmp eax, 0
je 0x543f32
fld dword [esi + 0x6c]
fld dword [0x685ba0]
fmul dword [0x69f394]
faddp st(1)
fstp dword [esi + 0x6c]
cmp dword [esi + 0x90], 0
jge 0x543f6e
fld dword [esi + 0x6c]
fld dword [0x685ba0]
fmul dword [esi + 0x70]
fsubp st(1)
fstp dword [esi + 0x6c]
fld dword [esi + 0x6c]
fldz
fxch st(1)
fucompp
fnstsw ax
sahf
seta al
movzx eax, al
cmp eax, 0
jne 0x543f6e
push dword [esi + 8]
call fcn.005378c8
add esp, 4
jmp 0x54af69
cmp dword [esi + 0x7c], 0
jg 0x54400c
push 3
call fcn.0064aa63
add esp, 4
push dword [esi + 0x6c]
call fcn.0064aa9c
add esp, 4
push dword [esi + 0x64]
push dword [esi + 0x64]
call fcn.0064af1c
add esp, 8
push dword [esi + 0x60]
call fcn.0064aeed
add esp, 4
fld dword [esi + 0xbc]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
fld dword [esi + 0xb8]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
fld dword [esi + 0xb4]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
call fcn.0064a9e3
add esp, 0xc
push dword [esi + 0x14]
push dword [ebp - 0xe4]
push dword [ebp - 0xe8]
push dword [esi + 0x10]
call fcn.004eae37
add esp, 0x10
jmp 0x54af69
cmp dword [esi + 0x7c], 0
jg 0x5440aa
push 4
call fcn.0064aa63
add esp, 4
push dword [esi + 0x6c]
call fcn.0064aa9c
add esp, 4
push dword [esi + 0x64]
push dword [esi + 0x64]
call fcn.0064af1c
add esp, 8
push dword [esi + 0x60]
call fcn.0064aeed
add esp, 4
fld dword [esi + 0xbc]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
fld dword [esi + 0xb8]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
fld dword [esi + 0xb4]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
call fcn.0064a9e3
add esp, 0xc
push dword [esi + 0x14]
push dword [ebp - 0xe4]
push dword [ebp - 0xe8]
push dword [esi + 0x10]
call fcn.004eae37
add esp, 0x10
jmp 0x54af69
cmp dword [esi + 0x7c], 0
jg 0x544190
push 3
call fcn.0064aa63
add esp, 4
push dword [esi + 0x6c]
call fcn.0064aa9c
add esp, 4
push dword [esi + 0x64]
push dword [esi + 0x64]
call fcn.0064af1c
add esp, 8
push dword [esi + 0x60]
call fcn.0064aeed
add esp, 4
fld dword [esi + 0xbc]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
fld dword [esi + 0xb8]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
fld dword [esi + 0xb4]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
call fcn.0064a9e3
add esp, 0xc
push dword [esi + 0x14]
push dword [ebp - 0xe4]
push dword [ebp - 0xe8]
push dword [esi + 0x10]
call fcn.004eae37
add esp, 0x10
fld dword [esi + 0x58]
fld dword [esi + 0x5c]
fmul dword [0x685ba0]
faddp st(1)
fstp dword [esi + 0x58]
fld dword [esi + 0x60]
fstp dword [ebp - 0x1c]
fld dword [0x69f398]
sub esp, 8
fstp qword [esp]
fld dword [esi + 0x58]
fmul dword [0x685ba0]
sub esp, 8
fstp qword [esp]
call fcn.004c1880
add esp, 0x10
fld dword [ebp - 0x1c]
faddp st(1)
fstp dword [ebp - 0x1c]
fld dword [ebp - 0x1c]
fstp dword [esi + 0x60]
jmp 0x54af69
push 4
call fcn.0064aa63
add esp, 4
push dword [esi + 0x88]
push dword [esi + 0x84]
push dword [esi + 0x10]
call fcn.0064b1aa
add esp, 0xc
push dword [esi + 0x6c]
call fcn.0064aa9c
add esp, 4
fld dword [esi + 0x64]
fld dword [esi + 0xac]
fxch st(1)
fucompp
fnstsw ax
sahf
setae al
movzx eax, al
cmp eax, 0
jne 0x5441f3
fld dword [esi + 0x64]
fld dword [esi + 0x4c]
fmul dword [0x685b98]
faddp st(1)
fstp dword [esi + 0x64]
fld dword [esi + 0x64]
fstp dword [esi + 0x68]
fld dword [esi + 0x64]
fld dword [esi + 0xac]
fxch st(1)
fucompp
fnstsw ax
sahf
setbe al
movzx eax, al
cmp eax, 0
jne 0x544220
fld dword [esi + 0xac]
fstp dword [esi + 0x64]
fld dword [esi + 0xac]
fstp dword [esi + 0x68]
push dword [esi + 0x68]
push dword [esi + 0x64]
call fcn.0064af1c
add esp, 8
fld dword [esi + 0x58]
fld dword [esi + 0x5c]
fmul dword [0x685b98]
fdiv dword [0x69f39c]
faddp st(1)
fstp dword [esi + 0x58]
fld dword [esi + 0x60]
fstp dword [ebp - 0x20]
fld dword [0x69f3a0]
sub esp, 8
fstp qword [esp]
fld dword [esi + 0x58]
fmul dword [0x685b98]
fdiv dword [0x69f3a4]
sub esp, 8
fstp qword [esp]
call fcn.004c1880
add esp, 0x10
fld dword [ebp - 0x20]
faddp st(1)
fstp dword [ebp - 0x20]
fld dword [ebp - 0x20]
fstp dword [esi + 0x60]
push dword [esi + 0x60]
call fcn.0064aeed
add esp, 4
push dword [esi + 0x14]
push dword [ebp - 0xe4]
push dword [ebp - 0xe8]
push dword [esi + 0x10]
call fcn.004eae37
add esp, 0x10
fld dword [esi + 0x6c]
fld dword [0x685b98]
fdiv dword [0x69f3a8]
fsubp st(1)
fstp dword [esi + 0x6c]
mov eax, dword [esi + 0x98]
mov dword [ebp - 0xec], eax
fild dword [ebp - 0xec]
fsub dword [0x685b98]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
mov dword [esi + 0x98], eax
cmp dword [esi + 0x98], 0
jg 0x544320
push 0x96
push 0x14
call fcn.0065e049
add esp, 8
mov dword [esi + 0x98], eax
push 3
push 0
call fcn.0065e049
add esp, 8
mov dword [ebp - 0xec], eax
fild dword [ebp - 0xec]
fstp dword [esi + 0x14]
fld dword [esi + 0x6c]
fld dword [0x69f3ac]
fxch st(1)
fucompp
fnstsw ax
sahf
seta al
movzx eax, al
cmp eax, 0
jne 0x544346
push dword [esi + 8]
call fcn.005378c8
add esp, 4
jmp 0x54af69
push 4
call fcn.0064aa63
add esp, 4
fld dword [esi + 0xbc]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
fld dword [esi + 0xb8]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
fld dword [esi + 0xb4]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
call fcn.0064a9e3
add esp, 0xc
push dword [esi + 0x6c]
call fcn.0064aa9c
add esp, 4
fld dword [esi + 0x6c]
fld dword [esi + 0x70]
fmul dword [0x685b98]
fsubp st(1)
fstp dword [esi + 0x6c]
push dword [esi + 0x68]
push dword [esi + 0x64]
call fcn.0064af1c
add esp, 8
fld dword [esi + 0x58]
fld dword [esi + 0x5c]
fmul dword [0x685b98]
fdiv dword [0x69f3b0]
faddp st(1)
fstp dword [esi + 0x58]
fld dword [esi + 0x60]
fstp dword [ebp - 0x24]
fld dword [0x69f3b4]
sub esp, 8
fstp qword [esp]
fld dword [esi + 0x58]
fmul dword [0x685b98]
fdiv dword [0x69f3b8]
sub esp, 8
fstp qword [esp]
call fcn.004c1880
add esp, 0x10
fld dword [ebp - 0x24]
faddp st(1)
fstp dword [ebp - 0x24]
fld dword [ebp - 0x24]
fstp dword [esi + 0x60]
push 0
push dword [ebp - 0xe4]
push dword [ebp - 0xe8]
push dword [esi + 0x10]
call fcn.004eae37
add esp, 0x10
fld dword [esi + 0x6c]
fld dword [0x69f3bc]
fxch st(1)
fucompp
fnstsw ax
sahf
setbe al
movzx eax, al
cmp eax, 0
jne 0x544464
fld dword [esi + 0x64]
fld dword [0x69f3c0]
fxch st(1)
fucompp
fnstsw ax
sahf
setb al
movzx eax, al
cmp eax, 0
je 0x544474
push dword [esi + 8]
call fcn.005378c8
add esp, 4
jmp 0x54af69
push 4
call fcn.0064aa63
add esp, 4
push dword [esi + 0x6c]
call fcn.0064aa9c
add esp, 4
push dword [esi + 0x68]
push dword [esi + 0x64]
call fcn.0064af1c
add esp, 8
fld dword [esi + 0x58]
fld dword [esi + 0x5c]
fmul dword [0x685ba0]
faddp st(1)
fstp dword [esi + 0x58]
fld dword [esi + 0x60]
fstp dword [ebp - 0x28]
fld dword [0x69f3c4]
sub esp, 8
fstp qword [esp]
fld dword [esi + 0x58]
fmul dword [0x685ba0]
sub esp, 8
fstp qword [esp]
call fcn.004c1880
add esp, 0x10
fld dword [ebp - 0x28]
faddp st(1)
fstp dword [ebp - 0x28]
fld dword [ebp - 0x28]
fstp dword [esi + 0x60]
push dword [esi + 0x60]
call fcn.0064aeed
add esp, 4
fld dword [esi + 0xbc]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
fld dword [esi + 0xb8]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
fld dword [esi + 0xb4]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
call fcn.0064a9e3
add esp, 0xc
push dword [esi + 0x14]
push dword [ebp - 0xe4]
push dword [ebp - 0xe8]
push dword [esi + 0x10]
call fcn.004eae37
add esp, 0x10
cmp dword [esi + 0x94], 0
jle 0x5445ae
fld dword [esi + 0x14]
fld dword [0x685ba0]
mov eax, dword [esi + 0x98]
mov dword [ebp - 0xec], eax
fild dword [ebp - 0xec]
fmulp st(1)
faddp st(1)
fstp dword [esi + 0x14]
fld dword [esi + 0x14]
mov eax, dword [esi + 0x94]
mov dword [ebp - 0xec], eax
fild dword [ebp - 0xec]
fxch st(1)
fucompp
fnstsw ax
sahf
setb al
movzx eax, al
cmp eax, 0
jne 0x5445ae
fldz
fstp dword [esi + 0x14]
sub dword [esi + 0x90], 1
fld dword [esi + 0x6c]
fld dword [esi + 0x70]
fmul dword [0x685ba0]
fsubp st(1)
fstp dword [esi + 0x6c]
fld dword [esi + 0x6c]
fld dword [0x69f3c8]
fxch st(1)
fucompp
fnstsw ax
sahf
setbe al
movzx eax, al
cmp eax, 0
jne 0x5445e9
mov eax, dword [esi + 0x90]
cmp eax, 0
setl al
movzx eax, al
cmp eax, 0
je 0x5445f9
push dword [esi + 8]
call fcn.005378c8
add esp, 4
jmp 0x54af69
push 3
call fcn.0064aa63
add esp, 4
push dword [esi + 0x6c]
call fcn.0064aa9c
add esp, 4
fld dword [esi + 0x64]
fld dword [esi + 0x78]
fmul dword [0x685ba0]
faddp st(1)
fstp dword [esi + 0x64]
fld dword [esi + 0x64]
fld1
fxch st(1)
fucompp
fnstsw ax
sahf
setb al
movzx eax, al
cmp eax, 0
jne 0x54464f
fld dword [esi + 0x78]
fld dword [0x69f3cc]
fmul dword [0x685ba0]
faddp st(1)
fstp dword [esi + 0x78]
fld dword [esi + 0x64]
fld dword [esi + 0xb0]
fxch st(1)
fucompp
fnstsw ax
sahf
setbe al
movzx eax, al
cmp eax, 0
jne 0x544673
fld dword [esi + 0xb0]
fstp dword [esi + 0x64]
push dword [esi + 0x64]
push dword [esi + 0x64]
call fcn.0064af1c
add esp, 8
fld dword [esi + 0x58]
fld dword [esi + 0x5c]
fmul dword [0x685ba0]
faddp st(1)
fstp dword [esi + 0x58]
fld dword [esi + 0x60]
fstp dword [ebp - 0x2c]
fld dword [0x69f3d0]
sub esp, 8
fstp qword [esp]
fld dword [esi + 0x58]
fmul dword [0x685ba0]
sub esp, 8
fstp qword [esp]
call fcn.004c1880
add esp, 0x10
fld dword [ebp - 0x2c]
faddp st(1)
fstp dword [ebp - 0x2c]
fld dword [ebp - 0x2c]
fstp dword [esi + 0x60]
push dword [esi + 0x60]
call fcn.0064aeed
add esp, 4
fld dword [esi + 0xbc]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
fld dword [esi + 0xb8]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
fld dword [esi + 0xb4]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
call fcn.0064a9e3
add esp, 0xc
push dword [esi + 0x14]
push dword [ebp - 0xe4]
push dword [ebp - 0xe8]
push dword [esi + 0x10]
call fcn.004eae37
add esp, 0x10
cmp dword [esi + 0x90], 0
jle 0x544775
fld dword [esi + 0x6c]
fld dword [esi + 0x74]
fmul dword [0x685ba0]
faddp st(1)
fstp dword [esi + 0x6c]
fld dword [esi + 0x6c]
fld dword [esi + 0xe4]
fxch st(1)
fucompp
fnstsw ax
sahf
setb al
movzx eax, al
cmp eax, 0
jne 0x544773
fld dword [esi + 0xe4]
fstp dword [esi + 0x6c]
jmp 0x5447ac
fld dword [esi + 0x6c]
fld dword [esi + 0x70]
fmul dword [0x685ba0]
fsubp st(1)
fstp dword [esi + 0x6c]
fld dword [esi + 0x6c]
fld dword [0x69f3d4]
fxch st(1)
fucompp
fnstsw ax
sahf
seta al
movzx eax, al
cmp eax, 0
jne 0x5447ac
push dword [esi + 8]
call fcn.005378c8
add esp, 4
cmp dword [esi + 0x90], 0
jle 0x544821
cmp dword [esi + 0x94], 0
jle 0x544821
fld dword [esi + 0x14]
fld dword [0x685ba0]
mov eax, dword [esi + 0x98]
mov dword [ebp - 0xec], eax
fild dword [ebp - 0xec]
fmulp st(1)
fsubp st(1)
fstp dword [esi + 0x14]
fld dword [esi + 0x14]
fldz
fxch st(1)
fucompp
fnstsw ax
sahf
setae al
movzx eax, al
cmp eax, 0
jne 0x544821
push 0
mov eax, dword [esi + 0x94]
sub eax, 1
push eax
call fcn.004c1800
add esp, 8
mov dword [ebp - 0xec], eax
fild dword [ebp - 0xec]
fstp dword [esi + 0x14]
sub dword [esi + 0x90], 1
jmp 0x54af69
push 3
call fcn.0064aa63
add esp, 4
push dword [esi + 0x6c]
call fcn.0064aa9c
add esp, 4
fld dword [esi + 0x64]
fld dword [esi + 0x78]
fmul dword [0x685ba0]
faddp st(1)
fstp dword [esi + 0x64]
fld dword [esi + 0x64]
fld1
fxch st(1)
fucompp
fnstsw ax
sahf
setb al
movzx eax, al
cmp eax, 0
jne 0x544877
fld dword [esi + 0x78]
fld dword [0x69f3d8]
fmul dword [0x685ba0]
faddp st(1)
fstp dword [esi + 0x78]
fld dword [esi + 0x64]
fld dword [esi + 0xb0]
fxch st(1)
fucompp
fnstsw ax
sahf
setbe al
movzx eax, al
cmp eax, 0
jne 0x54489b
fld dword [esi + 0xb0]
fstp dword [esi + 0x64]
push dword [esi + 0x64]
push dword [esi + 0x64]
call fcn.0064af1c
add esp, 8
fld dword [esi + 0x58]
fld dword [esi + 0x5c]
fmul dword [0x685ba0]
faddp st(1)
fstp dword [esi + 0x58]
fld dword [esi + 0x60]
fstp dword [ebp - 0x30]
fld dword [0x69f3dc]
sub esp, 8
fstp qword [esp]
fld dword [esi + 0x58]
fmul dword [0x685ba0]
sub esp, 8
fstp qword [esp]
call fcn.004c1880
add esp, 0x10
fld dword [ebp - 0x30]
faddp st(1)
fstp dword [ebp - 0x30]
fld dword [ebp - 0x30]
fstp dword [esi + 0x60]
push dword [esi + 0x60]
call fcn.0064aeed
add esp, 4
fld dword [esi + 0xbc]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
fld dword [esi + 0xb8]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
fld dword [esi + 0xb4]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
call fcn.0064a9e3
add esp, 0xc
push dword [esi + 0x14]
push dword [ebp - 0xe4]
push dword [ebp - 0xe8]
push dword [esi + 0x10]
call fcn.004eae37
add esp, 0x10
mov eax, dword [esi + 0x90]
cmp eax, 5
je 0x544984
cmp eax, 4
je 0x5449c8
cmp eax, 3
je 0x544a89
cmp eax, 2
je 0x544b5b
jmp 0x544b94
fld dword [esi + 0x6c]
fld dword [esi + 0x74]
fmul dword [0x685ba0]
faddp st(1)
fstp dword [esi + 0x6c]
fld dword [esi + 0x6c]
fld dword [esi + 0xe4]
fxch st(1)
fucompp
fnstsw ax
sahf
setb al
movzx eax, al
cmp eax, 0
jne 0x5449c3
fld dword [esi + 0xe4]
fstp dword [esi + 0x6c]
mov dword [esi + 0x90], 4
jmp 0x544b94
cmp dword [esi + 0x94], 0
jle 0x544a84
mov eax, dword [esi + 0x9c]
mov dword [ebp - 0xec], eax
fild dword [ebp - 0xec]
fld dword [0x685b98]
mov eax, dword [esi + 0x98]
mov dword [ebp - 0xec], eax
fild dword [ebp - 0xec]
fmulp st(1)
faddp st(1)
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
mov dword [esi + 0x9c], eax
mov eax, dword [esi + 0xd8]
cmp dword [esi + 0x9c], eax
jl 0x544a84
mov dword [esi + 0x9c], 0
fld dword [esi + 0x14]
fadd dword [0x69f3e0]
fstp dword [esi + 0x14]
fld dword [esi + 0x14]
mov eax, dword [esi + 0x94]
mov dword [ebp - 0xec], eax
fild dword [ebp - 0xec]
fxch st(1)
fucompp
fnstsw ax
sahf
setb al
movzx eax, al
cmp eax, 0
jne 0x544a84
mov eax, dword [esi + 0x94]
sub eax, 1
mov dword [ebp - 0xec], eax
fild dword [ebp - 0xec]
fstp dword [esi + 0x14]
mov dword [esi + 0x90], 3
jmp 0x544b94
cmp dword [esi + 0x94], 0
jle 0x544b59
fld dword [esi + 0x6c]
fld dword [esi + 0x70]
fmul dword [0x685ba0]
fsubp st(1)
fstp dword [esi + 0x6c]
fld dword [esi + 0x6c]
fldz
fxch st(1)
fucompp
fnstsw ax
sahf
seta al
movzx eax, al
cmp eax, 0
jne 0x544acd
fldz
fstp dword [esi + 0x6c]
mov dword [esi + 0x90], 0
mov eax, dword [esi + 0x9c]
mov dword [ebp - 0xec], eax
fild dword [ebp - 0xec]
fld dword [0x685b98]
mov eax, dword [esi + 0x98]
mov dword [ebp - 0xec], eax
fild dword [ebp - 0xec]
fmulp st(1)
faddp st(1)
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
mov dword [esi + 0x9c], eax
mov eax, dword [esi + 0xd8]
cmp dword [esi + 0x9c], eax
jl 0x544b59
mov dword [esi + 0x9c], 0
fld dword [esi + 0x14]
fsub dword [0x69f3e4]
fstp dword [esi + 0x14]
fld dword [esi + 0x14]
fldz
fxch st(1)
fucompp
fnstsw ax
sahf
setae al
movzx eax, al
cmp eax, 0
jne 0x544b59
fldz
fstp dword [esi + 0x14]
mov dword [esi + 0x90], 2
jmp 0x544b94
fld dword [esi + 0x6c]
fld dword [esi + 0x70]
fmul dword [0x685ba0]
fsubp st(1)
fstp dword [esi + 0x6c]
fld dword [esi + 0x6c]
fld dword [0x69f3e8]
fxch st(1)
fucompp
fnstsw ax
sahf
seta al
movzx eax, al
cmp eax, 0
jne 0x544b92
push dword [esi + 8]
call fcn.005378c8
add esp, 4
jmp 0x544b94
jmp 0x54af69
fld dword [esi + 0x40]
fadd dword [0x687eac]
fstp dword [ebp - 0xe8]
fld dword [esi + 0x44]
fadd dword [0x687eb0]
fstp dword [ebp - 0xe4]
push dword [esi + 0x60]
call fcn.0064aeed
add esp, 4
fld dword [esi + 0xbc]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
fld dword [esi + 0xb8]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
fld dword [esi + 0xb4]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
call fcn.0064a9e3
add esp, 0xc
cmp dword [esi + 0x90], 1
jne 0x544c17
jmp 0x545046
cmp dword [esi + 0x90], 2
jne 0x544df0
fld dword [esi + 0x8c]
fld dword [esi + 0x74]
fmul dword [0x685ba0]
fmul dword [0x69f3ec]
faddp st(1)
fstp dword [esi + 0x8c]
fld dword [esi + 0x8c]
fld dword [esi + 0x78]
fmul dword [0x69f3f0]
fxch st(1)
fucompp
fnstsw ax
sahf
setb al
movzx eax, al
cmp eax, 0
jne 0x544c71
fld dword [esi + 0x78]
fmul dword [0x69f3f4]
fstp dword [esi + 0x8c]
push dword [esi + 0x8c]
call fcn.0064aa9c
add esp, 4
push 4
call fcn.0064aa63
add esp, 4
push dword [esi + 0x68]
push dword [esi + 0x68]
call fcn.0064af1c
add esp, 8
fld dword [0x69f3f8]
sub esp, 8
fstp qword [esp]
fld dword [esi + 0x68]
fld dword [0x69f3fc]
fmul dword [0x685ba0]
fsubp st(1)
sub esp, 8
fstp qword [esp]
call fcn.004c18c0
add esp, 0x10
fstp dword [esi + 0x68]
fld dword [esi + 0xbc]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
fld dword [esi + 0xb8]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
fld dword [esi + 0xb4]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
call fcn.0064a9e3
add esp, 0xc
fld dword [esi + 0x60]
fstp dword [ebp - 0x34]
fld dword [0x69f400]
sub esp, 8
fstp qword [esp]
fld dword [esi + 0x58]
fmul dword [0x69f404]
fmul dword [0x685ba0]
sub esp, 8
fstp qword [esp]
call fcn.004c1880
add esp, 0x10
fld dword [ebp - 0x34]
faddp st(1)
fstp dword [ebp - 0x34]
fld dword [ebp - 0x34]
fstp dword [esi + 0x60]
mov eax, dword [esi + 0xd8]
mov dword [ebp - 0xec], eax
fild dword [ebp - 0xec]
sub esp, 4
fstp dword [esp]
push dword [ebp - 0xe4]
push dword [ebp - 0xe8]
push dword [0x687aa0]
call fcn.004eae37
add esp, 0x10
push 0xff
push 0xff
push 0xff
call fcn.0064a9e3
add esp, 0xc
mov eax, dword [esi + 0x98]
mov dword [ebp - 0xec], eax
fild dword [ebp - 0xec]
fsub dword [0x685b98]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
mov dword [esi + 0x98], eax
cmp dword [esi + 0x98], 0
jg 0x544deb
mov dword [esi + 0x98], 0x32
add dword [esi + 0xd8], 1
cmp dword [esi + 0xd8], 0x1f
jl 0x544deb
mov dword [esi + 0xd8], 0
jmp 0x545046
cmp dword [esi + 0x90], 3
jne 0x544f91
fld dword [esi + 0x6c]
fld dword [esi + 0x74]
fmul dword [0x685ba0]
faddp st(1)
fstp dword [esi + 0x6c]
fld dword [esi + 0x6c]
fld dword [esi + 0x78]
fxch st(1)
fucompp
fnstsw ax
sahf
setb al
movzx eax, al
cmp eax, 0
jne 0x544e36
fld dword [esi + 0x78]
fstp dword [esi + 0x6c]
mov dword [esi + 0x90], 4
push dword [esi + 0x6c]
call fcn.0064aa9c
add esp, 4
cmp dword [esi + 0x28], 1
jne 0x544e53
push 4
call fcn.0064aa63
add esp, 4
jmp 0x544e5d
push 3
call fcn.0064aa63
add esp, 4
push dword [esi + 0x64]
push dword [esi + 0x64]
call fcn.0064af1c
add esp, 8
push dword [esi + 0x14]
push dword [ebp - 0xe4]
push dword [ebp - 0xe8]
push dword [esi + 0x10]
call fcn.004eae37
add esp, 0x10
fld dword [esi + 0x8c]
fld dword [esi + 0x70]
fmul dword [0x685ba0]
fsubp st(1)
fstp dword [esi + 0x8c]
fld dword [esi + 0x8c]
fldz
fxch st(1)
fucompp
fnstsw ax
sahf
seta al
movzx eax, al
cmp eax, 0
jne 0x544ebe
fldz
fstp dword [esi + 0x8c]
push dword [esi + 0x8c]
call fcn.0064aa9c
add esp, 4
push 4
call fcn.0064aa63
add esp, 4
push dword [esi + 0x68]
push dword [esi + 0x68]
call fcn.0064af1c
add esp, 8
fld dword [0x69f408]
sub esp, 8
fstp qword [esp]
fld dword [esi + 0x68]
fld dword [0x69f40c]
fmul dword [0x685ba0]
fsubp st(1)
sub esp, 8
fstp qword [esp]
call fcn.004c18c0
add esp, 0x10
fstp dword [esi + 0x68]
mov eax, dword [esi + 0xd8]
mov dword [ebp - 0xec], eax
fild dword [ebp - 0xec]
sub esp, 4
fstp dword [esp]
push dword [ebp - 0xe4]
push dword [ebp - 0xe8]
push dword [0x687aa0]
call fcn.004eae37
add esp, 0x10
fld dword [esi + 0x58]
fld dword [esi + 0x5c]
fmul dword [0x685ba0]
faddp st(1)
fstp dword [esi + 0x58]
fld dword [esi + 0x60]
fstp dword [ebp - 0x38]
fld dword [0x69f410]
sub esp, 8
fstp qword [esp]
fld dword [esi + 0x58]
fmul dword [0x685ba0]
sub esp, 8
fstp qword [esp]
call fcn.004c1880
add esp, 0x10
fld dword [ebp - 0x38]
faddp st(1)
fstp dword [ebp - 0x38]
fld dword [ebp - 0x38]
fstp dword [esi + 0x60]
jmp 0x545046
cmp dword [esi + 0x90], 4
jne 0x545046
fld dword [esi + 0x6c]
fld dword [esi + 0x70]
fmul dword [0x685ba0]
fsubp st(1)
fstp dword [esi + 0x6c]
push dword [esi + 0x6c]
call fcn.0064aa9c
add esp, 4
cmp dword [esi + 0x28], 1
jne 0x544fcc
push 4
call fcn.0064aa63
add esp, 4
jmp 0x544fd6
push 3
call fcn.0064aa63
add esp, 4
push dword [esi + 0x64]
push dword [esi + 0x64]
call fcn.0064af1c
add esp, 8
push dword [esi + 0x14]
push dword [ebp - 0xe4]
push dword [ebp - 0xe8]
push dword [esi + 0x10]
call fcn.004eae37
add esp, 0x10
fld dword [esi + 0x58]
fld dword [esi + 0x5c]
fmul dword [0x685ba0]
faddp st(1)
fstp dword [esi + 0x58]
fld dword [esi + 0x60]
fstp dword [ebp - 0x3c]
fld dword [0x69f414]
sub esp, 8
fstp qword [esp]
fld dword [esi + 0x58]
fmul dword [0x685ba0]
sub esp, 8
fstp qword [esp]
call fcn.004c1880
add esp, 0x10
fld dword [ebp - 0x3c]
faddp st(1)
fstp dword [ebp - 0x3c]
fld dword [ebp - 0x3c]
fstp dword [esi + 0x60]
fld dword [esi + 0x6c]
fld dword [0x69f418]
fxch st(1)
fucompp
fnstsw ax
sahf
setbe al
movzx eax, al
cmp eax, 0
je 0x545070
mov eax, dword [esi + 0x90]
cmp eax, 3
setge al
movzx eax, al
cmp eax, 0
je 0x545080
push dword [esi + 8]
call fcn.005378c8
add esp, 4
jmp 0x54af69
push 4
call fcn.0064aa63
add esp, 4
push dword [esi + 0x6c]
call fcn.0064aa9c
add esp, 4
push dword [esi + 0x64]
push dword [esi + 0x64]
call fcn.0064af1c
add esp, 8
fld dword [esi + 0x60]
fstp dword [ebp - 0x40]
fld dword [0x69f41c]
sub esp, 8
fstp qword [esp]
fld dword [esi + 0x58]
fmul dword [0x685ba0]
sub esp, 8
fstp qword [esp]
call fcn.004c1880
add esp, 0x10
fld dword [ebp - 0x40]
faddp st(1)
fstp dword [ebp - 0x40]
fld dword [ebp - 0x40]
fstp dword [esi + 0x60]
push dword [esi + 0x60]
call fcn.0064aeed
add esp, 4
fld dword [esi + 0xbc]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
fld dword [esi + 0xb8]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
fld dword [esi + 0xb4]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
call fcn.0064a9e3
add esp, 0xc
push dword [esi + 0x14]
push dword [ebp - 0xe4]
push dword [ebp - 0xe8]
push dword [esi + 0x10]
call fcn.004eae37
add esp, 0x10
cmp dword [esi + 0x94], 0
jle 0x5451a9
fld dword [esi + 0x14]
fld dword [0x685ba0]
mov eax, dword [esi + 0x98]
mov dword [ebp - 0xec], eax
fild dword [ebp - 0xec]
fmulp st(1)
faddp st(1)
fstp dword [esi + 0x14]
fld dword [esi + 0x14]
mov eax, dword [esi + 0x94]
mov dword [ebp - 0xec], eax
fild dword [ebp - 0xec]
fxch st(1)
fucompp
fnstsw ax
sahf
setb al
movzx eax, al
cmp eax, 0
jne 0x5451a9
fldz
fstp dword [esi + 0x14]
sub dword [esi + 0x90], 1
fld dword [esi + 0x6c]
fld dword [esi + 0x70]
fmul dword [0x685ba0]
fsubp st(1)
fstp dword [esi + 0x6c]
fld dword [esi + 0x6c]
fld dword [0x69f420]
fxch st(1)
fucompp
fnstsw ax
sahf
setbe al
movzx eax, al
cmp eax, 0
jne 0x5451e4
mov eax, dword [esi + 0x90]
cmp eax, 0
setle al
movzx eax, al
cmp eax, 0
je 0x5451f4
push dword [esi + 8]
call fcn.005378c8
add esp, 4
jmp 0x54af69
push 4
call fcn.0064aa63
add esp, 4
push dword [esi + 0x6c]
call fcn.0064aa9c
add esp, 4
push dword [esi + 0x68]
push dword [esi + 0x64]
call fcn.0064af1c
add esp, 8
fld dword [esi + 0x58]
fld dword [esi + 0x5c]
fmul dword [0x685ba0]
faddp st(1)
fstp dword [esi + 0x58]
fld dword [esi + 0x60]
fstp dword [ebp - 0x44]
fld dword [0x69f424]
sub esp, 8
fstp qword [esp]
fld dword [esi + 0x58]
fmul dword [0x685ba0]
sub esp, 8
fstp qword [esp]
call fcn.004c1880
add esp, 0x10
fld dword [ebp - 0x44]
faddp st(1)
fstp dword [ebp - 0x44]
fld dword [ebp - 0x44]
fstp dword [esi + 0x60]
push dword [esi + 0x60]
call fcn.0064aeed
add esp, 4
fld dword [esi + 0xbc]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
fld dword [esi + 0xb8]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
fld dword [esi + 0xb4]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
call fcn.0064a9e3
add esp, 0xc
push dword [esi + 0x14]
push dword [ebp - 0xe4]
push dword [ebp - 0xe8]
push dword [esi + 0x10]
call fcn.004eae37
add esp, 0x10
cmp dword [esi + 0x94], 0
jle 0x54532e
fld dword [esi + 0x14]
fld dword [0x685ba0]
mov eax, dword [esi + 0x98]
mov dword [ebp - 0xec], eax
fild dword [ebp - 0xec]
fmulp st(1)
faddp st(1)
fstp dword [esi + 0x14]
fld dword [esi + 0x14]
mov eax, dword [esi + 0x94]
mov dword [ebp - 0xec], eax
fild dword [ebp - 0xec]
fxch st(1)
fucompp
fnstsw ax
sahf
setb al
movzx eax, al
cmp eax, 0
jne 0x54532e
fldz
fstp dword [esi + 0x14]
sub dword [esi + 0x90], 1
fld dword [esi + 0x6c]
fld dword [esi + 0x70]
fmul dword [0x685ba0]
fsubp st(1)
fstp dword [esi + 0x6c]
fld dword [esi + 0x6c]
fldz
fxch st(1)
fucompp
fnstsw ax
sahf
seta al
movzx eax, al
cmp eax, 0
jne 0x545361
push dword [esi + 8]
call fcn.005378c8
add esp, 4
jmp 0x54af69
push 4
call fcn.0064aa63
add esp, 4
push dword [esi + 0x6c]
call fcn.0064aa9c
add esp, 4
push dword [esi + 0x68]
push dword [esi + 0x64]
call fcn.0064af1c
add esp, 8
fld dword [esi + 0x58]
fld dword [esi + 0x5c]
fmul dword [0x685ba0]
faddp st(1)
fstp dword [esi + 0x58]
fld dword [esi + 0x60]
fstp dword [ebp - 0x48]
fld dword [0x69f428]
sub esp, 8
fstp qword [esp]
fld dword [esi + 0x58]
fmul dword [0x685ba0]
sub esp, 8
fstp qword [esp]
call fcn.004c1880
add esp, 0x10
fld dword [ebp - 0x48]
faddp st(1)
fstp dword [ebp - 0x48]
fld dword [ebp - 0x48]
fstp dword [esi + 0x60]
push dword [esi + 0x60]
call fcn.0064aeed
add esp, 4
fld dword [esi + 0xbc]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
fld dword [esi + 0xb8]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
fld dword [esi + 0xb4]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
call fcn.0064a9e3
add esp, 0xc
push dword [esi + 0x14]
push dword [ebp - 0xe4]
push dword [ebp - 0xe8]
push dword [esi + 0x10]
call fcn.004eae37
add esp, 0x10
cmp dword [esi + 0x94], 0
jle 0x54549b
fld dword [esi + 0x14]
fld dword [0x685ba0]
mov eax, dword [esi + 0x98]
mov dword [ebp - 0xec], eax
fild dword [ebp - 0xec]
fmulp st(1)
faddp st(1)
fstp dword [esi + 0x14]
fld dword [esi + 0x14]
mov eax, dword [esi + 0x94]
mov dword [ebp - 0xec], eax
fild dword [ebp - 0xec]
fxch st(1)
fucompp
fnstsw ax
sahf
setb al
movzx eax, al
cmp eax, 0
jne 0x54549b
fldz
fstp dword [esi + 0x14]
sub dword [esi + 0x90], 1
fld dword [esi + 0x6c]
fld dword [esi + 0x70]
fmul dword [0x685ba0]
fsubp st(1)
fstp dword [esi + 0x6c]
fld dword [esi + 0x6c]
fldz
fxch st(1)
fucompp
fnstsw ax
sahf
seta al
movzx eax, al
cmp eax, 0
jne 0x5454ce
push dword [esi + 8]
call fcn.005378c8
add esp, 4
jmp 0x54af69
push 4
call fcn.0064aa63
add esp, 4
push dword [esi + 0x6c]
call fcn.0064aa9c
add esp, 4
fld dword [esi + 0x64]
fld dword [0x69f42c]
fxch st(1)
fucompp
fnstsw ax
sahf
setae al
movzx eax, al
cmp eax, 0
jne 0x54551d
fld dword [esi + 0x64]
fld dword [0x685ba0]
fmul dword [0x69f430]
faddp st(1)
fstp dword [esi + 0x64]
fld dword [esi + 0x64]
fstp dword [esi + 0x68]
push dword [esi + 0x68]
push dword [esi + 0x64]
call fcn.0064af1c
add esp, 8
fld dword [esi + 0x58]
fld dword [esi + 0x5c]
fmul dword [0x685ba0]
faddp st(1)
fstp dword [esi + 0x58]
fld dword [esi + 0x60]
fstp dword [ebp - 0x4c]
fld dword [0x69f434]
sub esp, 8
fstp qword [esp]
fld dword [esi + 0x58]
fmul dword [0x685ba0]
sub esp, 8
fstp qword [esp]
call fcn.004c1880
add esp, 0x10
fld dword [ebp - 0x4c]
faddp st(1)
fstp dword [ebp - 0x4c]
fld dword [ebp - 0x4c]
fstp dword [esi + 0x60]
push dword [esi + 0x60]
call fcn.0064aeed
add esp, 4
fld dword [esi + 0xbc]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
fld dword [esi + 0xb8]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
fld dword [esi + 0xb4]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
call fcn.0064a9e3
add esp, 0xc
push dword [esi + 0x14]
push dword [ebp - 0xe4]
push dword [ebp - 0xe8]
push dword [esi + 0x10]
call fcn.004eae37
add esp, 0x10
cmp dword [esi + 0x94], 0
jle 0x545633
mov eax, dword [esi + 0x94]
sub eax, 1
mov dword [ebp - 0xec], eax
fild dword [ebp - 0xec]
sub esp, 8
fstp qword [esp]
fld dword [esi + 0x14]
fld dword [0x685ba0]
mov eax, dword [esi + 0x98]
mov dword [ebp - 0xec], eax
fild dword [ebp - 0xec]
fmulp st(1)
faddp st(1)
sub esp, 8
fstp qword [esp]
call fcn.004c18a0
add esp, 0x10
fstp dword [esi + 0x14]
fld dword [esi + 0x6c]
fld dword [esi + 0x70]
fmul dword [0x685ba0]
fsubp st(1)
fstp dword [esi + 0x6c]
fld dword [esi + 0x6c]
fldz
fxch st(1)
fucompp
fnstsw ax
sahf
setbe al
movzx eax, al
cmp eax, 0
jne 0x545671
fld dword [esi + 0x64]
fld dword [0x69f438]
fxch st(1)
fucompp
fnstsw ax
sahf
setbe al
movzx eax, al
cmp eax, 0
je 0x545681
push dword [esi + 8]
call fcn.005378c8
add esp, 4
jmp 0x54af69
push 4
call fcn.0064aa63
add esp, 4
push dword [esi + 0x6c]
call fcn.0064aa9c
add esp, 4
fld dword [esi + 0x64]
fld dword [0x69f43c]
fxch st(1)
fucompp
fnstsw ax
sahf
setae al
movzx eax, al
cmp eax, 0
jne 0x5456cc
fld dword [esi + 0x64]
fld dword [0x685ba0]
fmul dword [0x69f440]
faddp st(1)
fstp dword [esi + 0x64]
jmp 0x545704
fld dword [esi + 0x64]
fld dword [0x685ba0]
fmul dword [0x69f444]
faddp st(1)
fstp dword [esi + 0x64]
fld dword [esi + 0x64]
fld dword [0x69f448]
fxch st(1)
fucompp
fnstsw ax
sahf
setbe al
movzx eax, al
cmp eax, 0
jne 0x545704
fld dword [0x69f44c]
fstp dword [esi + 0x64]
fld dword [esi + 0x64]
fstp dword [esi + 0x68]
push dword [esi + 0x68]
push dword [esi + 0x64]
call fcn.0064af1c
add esp, 8
fld dword [esi + 0x58]
fld dword [esi + 0x5c]
fmul dword [0x685ba0]
faddp st(1)
fstp dword [esi + 0x58]
fld dword [esi + 0x60]
fstp dword [ebp - 0x50]
fld dword [0x69f450]
sub esp, 8
fstp qword [esp]
fld dword [esi + 0x58]
fmul dword [0x685ba0]
sub esp, 8
fstp qword [esp]
call fcn.004c1880
add esp, 0x10
fld dword [ebp - 0x50]
faddp st(1)
fstp dword [ebp - 0x50]
fld dword [ebp - 0x50]
fstp dword [esi + 0x60]
push dword [esi + 0x60]
call fcn.0064aeed
add esp, 4
fld dword [esi + 0xbc]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
fld dword [esi + 0xb8]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
fld dword [esi + 0xb4]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
call fcn.0064a9e3
add esp, 0xc
push dword [esi + 0x14]
push dword [ebp - 0xe4]
push dword [ebp - 0xe8]
push dword [esi + 0x10]
call fcn.004eae37
add esp, 0x10
cmp dword [esi + 0x94], 0
jle 0x545826
fld dword [esi + 0x14]
fld dword [0x685ba0]
mov eax, dword [esi + 0x98]
mov dword [ebp - 0xec], eax
fild dword [ebp - 0xec]
fmulp st(1)
fsubp st(1)
fstp dword [esi + 0x14]
fld dword [esi + 0x14]
fldz
fxch st(1)
fucompp
fnstsw ax
sahf
setae al
movzx eax, al
cmp eax, 0
jne 0x545826
mov eax, dword [esi + 0x94]
sub eax, 1
mov dword [ebp - 0xec], eax
fild dword [ebp - 0xec]
fstp dword [esi + 0x14]
fld dword [esi + 0x6c]
fld dword [esi + 0x70]
fmul dword [0x685ba0]
fsubp st(1)
fstp dword [esi + 0x6c]
fld dword [esi + 0x6c]
fldz
fxch st(1)
fucompp
fnstsw ax
sahf
setbe al
movzx eax, al
cmp eax, 0
jne 0x545864
fld dword [esi + 0x64]
fld dword [0x69f454]
fxch st(1)
fucompp
fnstsw ax
sahf
setbe al
movzx eax, al
cmp eax, 0
je 0x545874
push dword [esi + 8]
call fcn.005378c8
add esp, 4
jmp 0x54af69
push 4
call fcn.0064aa63
add esp, 4
push dword [esi + 0x6c]
call fcn.0064aa9c
add esp, 4
fld dword [esi + 0x74]
sub esp, 8
fstp qword [esp]
fld dword [esi + 0x64]
fld dword [0x685ba0]
fmul dword [esi + 0x5c]
faddp st(1)
sub esp, 8
fstp qword [esp]
call fcn.004c18a0
add esp, 0x10
fstp dword [esi + 0x64]
fld dword [esi + 0x64]
fstp dword [esi + 0x68]
push dword [esi + 0x68]
push dword [esi + 0x64]
call fcn.0064af1c
add esp, 8
fld dword [esi + 0x60]
fstp dword [ebp - 0x54]
fld dword [0x69f458]
sub esp, 8
fstp qword [esp]
fld dword [esi + 0x58]
fmul dword [0x685ba0]
sub esp, 8
fstp qword [esp]
call fcn.004c1880
add esp, 0x10
fld dword [ebp - 0x54]
faddp st(1)
fstp dword [ebp - 0x54]
fld dword [ebp - 0x54]
fstp dword [esi + 0x60]
push dword [esi + 0x60]
call fcn.0064aeed
add esp, 4
fld dword [esi + 0xbc]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
fld dword [esi + 0xb8]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
fld dword [esi + 0xb4]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
call fcn.0064a9e3
add esp, 0xc
push dword [esi + 0x14]
push dword [ebp - 0xe4]
push dword [ebp - 0xe8]
push dword [esi + 0x10]
call fcn.004eae37
add esp, 0x10
cmp dword [esi + 0x94], 0
jle 0x5459c1
mov eax, dword [esi + 0x94]
sub eax, 1
mov dword [ebp - 0xec], eax
fild dword [ebp - 0xec]
sub esp, 8
fstp qword [esp]
fld dword [esi + 0x14]
fld dword [0x685ba0]
mov eax, dword [esi + 0x98]
mov dword [ebp - 0xec], eax
fild dword [ebp - 0xec]
fmulp st(1)
faddp st(1)
sub esp, 8
fstp qword [esp]
call fcn.004c18a0
add esp, 0x10
fstp dword [esi + 0x14]
cmp dword [esi + 0x90], 1
jne 0x5459fe
fld dword [esi + 0x6c]
fld dword [esi + 0x70]
fmul dword [0x685ba0]
faddp st(1)
fstp dword [esi + 0x6c]
fld dword [esi + 0x6c]
fld1
fxch st(1)
fucompp
fnstsw ax
sahf
setb al
movzx eax, al
cmp eax, 0
jne 0x5459fc
mov dword [esi + 0x90], 0
jmp 0x545a0f
fld dword [esi + 0x6c]
fld dword [esi + 0x70]
fmul dword [0x685ba0]
fsubp st(1)
fstp dword [esi + 0x6c]
fld dword [esi + 0x6c]
fldz
fxch st(1)
fucompp
fnstsw ax
sahf
setbe al
movzx eax, al
cmp eax, 0
jne 0x545a3c
fld dword [esi + 0x64]
fld dword [0x69f45c]
fxch st(1)
fucompp
fnstsw ax
sahf
setbe al
movzx eax, al
cmp eax, 0
je 0x545a4c
push dword [esi + 8]
call fcn.005378c8
add esp, 4
jmp 0x54af69
push 4
call fcn.0064aa63
add esp, 4
push dword [esi + 0x6c]
call fcn.0064aa9c
add esp, 4
fldz
sub esp, 8
fstp qword [esp]
fld dword [esi + 0x64]
fld dword [0x685ba0]
fmul dword [0x69f460]
fsubp st(1)
sub esp, 8
fstp qword [esp]
call fcn.004c18c0
add esp, 0x10
fstp dword [esi + 0x64]
fld dword [esi + 0x64]
fstp dword [esi + 0x68]
push dword [esi + 0x68]
push dword [esi + 0x64]
call fcn.0064af1c
add esp, 8
fld dword [esi + 0x58]
fld dword [esi + 0x5c]
fmul dword [0x685ba0]
faddp st(1)
fstp dword [esi + 0x58]
fld dword [esi + 0x60]
fstp dword [ebp - 0x58]
fld dword [0x69f464]
sub esp, 8
fstp qword [esp]
fld dword [esi + 0x58]
fmul dword [0x685ba0]
sub esp, 8
fstp qword [esp]
call fcn.004c1880
add esp, 0x10
fld dword [ebp - 0x58]
faddp st(1)
fstp dword [ebp - 0x58]
fld dword [ebp - 0x58]
fstp dword [esi + 0x60]
push dword [esi + 0x60]
call fcn.0064aeed
add esp, 4
fld dword [esi + 0xbc]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
fld dword [esi + 0xb8]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
fld dword [esi + 0xb4]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
call fcn.0064a9e3
add esp, 0xc
push dword [esi + 0x14]
push dword [ebp - 0xe4]
push dword [ebp - 0xe8]
push dword [esi + 0x10]
call fcn.004eae37
add esp, 0x10
cmp dword [esi + 0x94], 0
jle 0x545bac
mov eax, dword [esi + 0x94]
sub eax, 1
mov dword [ebp - 0xec], eax
fild dword [ebp - 0xec]
sub esp, 8
fstp qword [esp]
fld dword [esi + 0x14]
fld dword [0x685ba0]
mov eax, dword [esi + 0x98]
mov dword [ebp - 0xec], eax
fild dword [ebp - 0xec]
fmulp st(1)
faddp st(1)
sub esp, 8
fstp qword [esp]
call fcn.004c18a0
add esp, 0x10
fstp dword [esi + 0x14]
cmp dword [esi + 0x90], 1
jne 0x545be9
fld dword [esi + 0x6c]
fld dword [esi + 0x70]
fmul dword [0x685ba0]
faddp st(1)
fstp dword [esi + 0x6c]
fld dword [esi + 0x6c]
fld1
fxch st(1)
fucompp
fnstsw ax
sahf
setb al
movzx eax, al
cmp eax, 0
jne 0x545be7
mov dword [esi + 0x90], 0
jmp 0x545bfa
fld dword [esi + 0x6c]
fld dword [esi + 0x70]
fmul dword [0x685ba0]
fsubp st(1)
fstp dword [esi + 0x6c]
fld dword [esi + 0x6c]
fldz
fxch st(1)
fucompp
fnstsw ax
sahf
setbe al
movzx eax, al
cmp eax, 0
jne 0x545c27
fld dword [esi + 0x64]
fld dword [0x69f468]
fxch st(1)
fucompp
fnstsw ax
sahf
setbe al
movzx eax, al
cmp eax, 0
je 0x545c37
push dword [esi + 8]
call fcn.005378c8
add esp, 4
jmp 0x54af69
push 4
call fcn.0064aa63
add esp, 4
push dword [esi + 0x6c]
call fcn.0064aa9c
add esp, 4
fld dword [0x69f46c]
sub esp, 8
fstp qword [esp]
fld dword [esi + 0x64]
fld dword [0x685ba0]
fmul dword [0x69f470]
faddp st(1)
sub esp, 8
fstp qword [esp]
call fcn.004c18a0
add esp, 0x10
fstp dword [esi + 0x64]
fld dword [esi + 0x64]
fstp dword [esi + 0x68]
push dword [esi + 0x68]
push dword [esi + 0x64]
call fcn.0064af1c
add esp, 8
fld dword [esi + 0x58]
fld dword [esi + 0x5c]
fmul dword [0x685ba0]
faddp st(1)
fstp dword [esi + 0x58]
fld dword [esi + 0x60]
fstp dword [ebp - 0x5c]
fld dword [0x69f474]
sub esp, 8
fstp qword [esp]
fld dword [esi + 0x58]
fmul dword [0x685ba0]
sub esp, 8
fstp qword [esp]
call fcn.004c1880
add esp, 0x10
fld dword [ebp - 0x5c]
faddp st(1)
fstp dword [ebp - 0x5c]
fld dword [ebp - 0x5c]
fstp dword [esi + 0x60]
push dword [esi + 0x60]
call fcn.0064aeed
add esp, 4
fld dword [esi + 0xbc]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
fld dword [esi + 0xb8]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
fld dword [esi + 0xb4]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
call fcn.0064a9e3
add esp, 0xc
push dword [esi + 0x14]
push dword [ebp - 0xe4]
push dword [ebp - 0xe8]
push dword [esi + 0x10]
call fcn.004eae37
add esp, 0x10
cmp dword [esi + 0x94], 0
jle 0x545d9b
mov eax, dword [esi + 0x94]
sub eax, 1
mov dword [ebp - 0xec], eax
fild dword [ebp - 0xec]
sub esp, 8
fstp qword [esp]
fld dword [esi + 0x14]
fld dword [0x685ba0]
mov eax, dword [esi + 0x98]
mov dword [ebp - 0xec], eax
fild dword [ebp - 0xec]
fmulp st(1)
faddp st(1)
sub esp, 8
fstp qword [esp]
call fcn.004c18a0
add esp, 0x10
fstp dword [esi + 0x14]
cmp dword [esi + 0x90], 1
jne 0x545dd8
fld dword [esi + 0x6c]
fld dword [esi + 0x70]
fmul dword [0x685ba0]
faddp st(1)
fstp dword [esi + 0x6c]
fld dword [esi + 0x6c]
fld1
fxch st(1)
fucompp
fnstsw ax
sahf
setb al
movzx eax, al
cmp eax, 0
jne 0x545dd6
mov dword [esi + 0x90], 0
jmp 0x545de9
fld dword [esi + 0x6c]
fld dword [esi + 0x70]
fmul dword [0x685ba0]
fsubp st(1)
fstp dword [esi + 0x6c]
fld dword [esi + 0x6c]
fldz
fxch st(1)
fucompp
fnstsw ax
sahf
seta al
movzx eax, al
cmp eax, 0
jne 0x545e0b
push dword [esi + 8]
call fcn.005378c8
add esp, 4
jmp 0x54af69
push 3
call fcn.0064aa63
add esp, 4
push dword [esi + 0x6c]
call fcn.0064aa9c
add esp, 4
push dword [esi + 0x68]
push dword [esi + 0x64]
call fcn.0064af1c
add esp, 8
fld dword [esi + 0x58]
fld dword [esi + 0x5c]
fmul dword [0x685ba0]
faddp st(1)
fstp dword [esi + 0x58]
fld dword [esi + 0x60]
fstp dword [ebp - 0x60]
fld dword [0x69f478]
sub esp, 8
fstp qword [esp]
fld dword [esi + 0x58]
fmul dword [0x685ba0]
sub esp, 8
fstp qword [esp]
call fcn.004c1880
add esp, 0x10
fld dword [ebp - 0x60]
faddp st(1)
fstp dword [ebp - 0x60]
fld dword [ebp - 0x60]
fstp dword [esi + 0x60]
push dword [esi + 0x60]
call fcn.0064aeed
add esp, 4
fld dword [esi + 0xbc]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
fld dword [esi + 0xb8]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
fld dword [esi + 0xb4]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
call fcn.0064a9e3
add esp, 0xc
push dword [esi + 0x14]
push dword [ebp - 0xe4]
push dword [ebp - 0xe8]
push dword [esi + 0x10]
call fcn.004eae37
add esp, 0x10
cmp dword [esi + 0x94], 0
jle 0x545f45
fld dword [esi + 0x14]
fld dword [0x685ba0]
mov eax, dword [esi + 0x98]
mov dword [ebp - 0xec], eax
fild dword [ebp - 0xec]
fmulp st(1)
faddp st(1)
fstp dword [esi + 0x14]
fld dword [esi + 0x14]
mov eax, dword [esi + 0x94]
mov dword [ebp - 0xec], eax
fild dword [ebp - 0xec]
fxch st(1)
fucompp
fnstsw ax
sahf
setb al
movzx eax, al
cmp eax, 0
jne 0x545f45
fldz
fstp dword [esi + 0x14]
sub dword [esi + 0x90], 1
fld dword [esi + 0x6c]
fld dword [esi + 0x70]
fmul dword [0x685ba0]
fsubp st(1)
fstp dword [esi + 0x6c]
fld dword [esi + 0x6c]
fldz
fxch st(1)
fucompp
fnstsw ax
sahf
setbe al
movzx eax, al
cmp eax, 0
jne 0x545f83
fld dword [esi + 0x64]
fld dword [0x69f47c]
fxch st(1)
fucompp
fnstsw ax
sahf
setbe al
movzx eax, al
cmp eax, 0
je 0x545f93
push dword [esi + 8]
call fcn.005378c8
add esp, 4
jmp 0x54af69
push 3
call fcn.0064aa63
add esp, 4
push dword [esi + 0x6c]
call fcn.0064aa9c
add esp, 4
push dword [esi + 0x68]
push dword [esi + 0x64]
call fcn.0064af1c
add esp, 8
push dword [esi + 0x60]
call fcn.0064aeed
add esp, 4
fld dword [esi + 0xbc]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
fld dword [esi + 0xb8]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
fld dword [esi + 0xb4]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
call fcn.0064a9e3
add esp, 0xc
push dword [esi + 0x14]
push dword [ebp - 0xe4]
push dword [ebp - 0xe8]
push dword [esi + 0x10]
call fcn.004eae37
add esp, 0x10
mov eax, dword [0x686108]
cmp eax, 0
setne al
movzx eax, al
cmp eax, 0
jne 0x546048
mov eax, dword [0x68610c]
cmp eax, 0
setne al
movzx eax, al
cmp eax, 0
je 0x546099
mov eax, dword [0x6855cc]
cmp eax, 0xa
setg al
movzx eax, al
cmp eax, 0
jne 0x54606e
mov eax, dword [0x687710]
cmp eax, 0
setne al
movzx eax, al
cmp eax, 0
jne 0x546081
mov eax, dword [0x687654]
cmp eax, 0xffffffff
setne al
movzx eax, al
cmp eax, 0
je 0x546099
mov dword [esi + 0x90], 0
fld dword [0x69f480]
fstp dword [esi + 0x70]
cmp dword [esi + 0x94], 0
jle 0x5460f7
fld dword [esi + 0x14]
fld dword [0x685ba0]
mov eax, dword [esi + 0x98]
mov dword [ebp - 0xec], eax
fild dword [ebp - 0xec]
fmulp st(1)
faddp st(1)
fstp dword [esi + 0x14]
fld dword [esi + 0x14]
mov eax, dword [esi + 0x94]
mov dword [ebp - 0xec], eax
fild dword [ebp - 0xec]
fxch st(1)
fucompp
fnstsw ax
sahf
setb al
movzx eax, al
cmp eax, 0
jne 0x5460f7
fldz
fstp dword [esi + 0x14]
sub dword [esi + 0x90], 1
cmp dword [esi + 0x90], 1
jl 0x546131
fld dword [esi + 0x6c]
fld dword [esi + 0x74]
fmul dword [0x685ba0]
faddp st(1)
fstp dword [esi + 0x6c]
fld dword [esi + 0x6c]
fld1
fxch st(1)
fucompp
fnstsw ax
sahf
setb al
movzx eax, al
cmp eax, 0
jne 0x54612f
sub dword [esi + 0x90], 1
jmp 0x54617f
fld dword [esi + 0x6c]
fld dword [esi + 0x70]
fmul dword [0x685ba0]
fsubp st(1)
fstp dword [esi + 0x6c]
fld dword [esi + 0x6c]
fldz
fxch st(1)
fucompp
fnstsw ax
sahf
setbe al
movzx eax, al
cmp eax, 0
jne 0x54616f
fld dword [esi + 0x64]
fld dword [0x69f484]
fxch st(1)
fucompp
fnstsw ax
sahf
setbe al
movzx eax, al
cmp eax, 0
je 0x54617f
push dword [esi + 8]
call fcn.005378c8
add esp, 4
jmp 0x54af69
push 4
call fcn.0064aa63
add esp, 4
push dword [esi + 0x6c]
call fcn.0064aa9c
add esp, 4
push dword [esi + 0x68]
push dword [esi + 0x64]
call fcn.0064af1c
add esp, 8
push dword [esi + 0x14]
push dword [ebp - 0xe4]
push dword [ebp - 0xe8]
push dword [esi + 0x10]
call fcn.004eae37
add esp, 0x10
cmp dword [esi + 0x94], 0
jle 0x546211
fld dword [esi + 0x14]
fld dword [0x685ba0]
fmul dword [0x69f488]
faddp st(1)
fstp dword [esi + 0x14]
fld dword [esi + 0x14]
mov eax, dword [esi + 0x94]
mov dword [ebp - 0xec], eax
fild dword [ebp - 0xec]
fxch st(1)
fucompp
fnstsw ax
sahf
setb al
movzx eax, al
cmp eax, 0
jne 0x546211
fldz
fstp dword [esi + 0x14]
sub dword [esi + 0x90], 1
fld dword [esi + 0x6c]
fld dword [0x685b98]
fdiv dword [0x69f48c]
fsubp st(1)
fstp dword [esi + 0x6c]
fld dword [esi + 0x64]
fld dword [0x685b98]
fdiv dword [0x69f490]
fsubp st(1)
fstp dword [esi + 0x64]
fld dword [esi + 0x64]
fstp dword [esi + 0x68]
fld dword [esi + 0x6c]
fldz
fxch st(1)
fucompp
fnstsw ax
sahf
setbe al
movzx eax, al
cmp eax, 0
jne 0x54626c
fld dword [esi + 0x64]
fld dword [0x69f494]
fxch st(1)
fucompp
fnstsw ax
sahf
setbe al
movzx eax, al
cmp eax, 0
je 0x54627c
push dword [esi + 8]
call fcn.005378c8
add esp, 4
jmp 0x54af69
cmp dword [esi + 0x7c], 0
jg 0x5463e2
push 4
call fcn.0064aa63
add esp, 4
push 0xc8
push 0xf
push 0xaf
call fcn.0064a9e3
add esp, 0xc
push dword [esi + 0x6c]
call fcn.0064aa9c
add esp, 4
push dword [esi + 0x68]
push dword [esi + 0x64]
call fcn.0064af1c
add esp, 8
push dword [esi + 0x60]
call fcn.0064aeed
add esp, 4
push dword [esi + 0x14]
push dword [ebp - 0xe4]
push dword [ebp - 0xe8]
push dword [esi + 0x10]
call fcn.004eae37
add esp, 0x10
fld dword [esi + 0x58]
fld dword [esi + 0x5c]
fmul dword [0x685ba0]
faddp st(1)
fstp dword [esi + 0x58]
fld dword [esi + 0x60]
fstp dword [ebp - 0x64]
fld dword [0x69f498]
sub esp, 8
fstp qword [esp]
fld dword [esi + 0x58]
fmul dword [0x685ba0]
sub esp, 8
fstp qword [esp]
call fcn.004c1880
add esp, 0x10
fld dword [ebp - 0x64]
faddp st(1)
fstp dword [ebp - 0x64]
fld dword [ebp - 0x64]
fstp dword [esi + 0x60]
cmp dword [esi + 0x90], 1
jne 0x546389
fld dword [esi + 0x6c]
fld dword [0x685b98]
fdiv dword [0x69f49c]
faddp st(1)
fstp dword [esi + 0x6c]
fld dword [esi + 0x64]
fld dword [0x685b98]
fdiv dword [0x69f4a0]
faddp st(1)
fstp dword [esi + 0x64]
fld dword [esi + 0x64]
fstp dword [esi + 0x68]
fld dword [esi + 0x6c]
fld1
fxch st(1)
fucompp
fnstsw ax
sahf
setb al
movzx eax, al
cmp eax, 0
jne 0x546387
mov dword [esi + 0x90], 2
jmp 0x5463e2
cmp dword [esi + 0x90], 2
jne 0x5463e2
fld dword [esi + 0x6c]
fld dword [0x685b98]
fdiv dword [0x69f4a4]
fsubp st(1)
fstp dword [esi + 0x6c]
fld dword [esi + 0x64]
fld dword [0x685b98]
fdiv dword [0x69f4a8]
fsubp st(1)
fstp dword [esi + 0x64]
fld dword [esi + 0x64]
fstp dword [esi + 0x68]
fld dword [esi + 0x6c]
fldz
fxch st(1)
fucompp
fnstsw ax
sahf
seta al
movzx eax, al
cmp eax, 0
jne 0x5463e2
push dword [esi + 8]
call fcn.005378c8
add esp, 4
jmp 0x54af69
cmp dword [esi + 0x7c], 0
jg 0x5464d9
push 4
call fcn.0064aa63
add esp, 4
push dword [esi + 0x6c]
call fcn.0064aa9c
add esp, 4
push dword [esi + 0x68]
push dword [esi + 0x64]
call fcn.0064af1c
add esp, 8
push dword [esi + 0x14]
push dword [ebp - 0xe4]
push dword [ebp - 0xe8]
push dword [esi + 0x10]
call fcn.004eae37
add esp, 0x10
cmp dword [esi + 0x90], 1
jg 0x54649a
fld dword [esi + 0x6c]
fld dword [0x685b98]
fdiv dword [0x69f4ac]
fsubp st(1)
fstp dword [esi + 0x6c]
fld dword [esi + 0x64]
fld dword [0x685ba0]
fmul dword [0x69f4b0]
faddp st(1)
fstp dword [esi + 0x64]
fld dword [esi + 0x68]
fld dword [0x685ba0]
fmul dword [0x69f4b4]
faddp st(1)
fstp dword [esi + 0x68]
fld dword [esi + 0x64]
fld dword [0x69f4b8]
fxch st(1)
fucompp
fnstsw ax
sahf
setb al
movzx eax, al
cmp eax, 0
jne 0x546498
mov dword [esi + 0x90], 2
jmp 0x5464d9
cmp dword [esi + 0x90], 2
jne 0x5464d9
fld dword [esi + 0x6c]
fld dword [0x685b98]
fdiv dword [0x69f4bc]
fsubp st(1)
fstp dword [esi + 0x6c]
fld dword [esi + 0x6c]
fldz
fxch st(1)
fucompp
fnstsw ax
sahf
seta al
movzx eax, al
cmp eax, 0
jne 0x5464d9
push dword [esi + 8]
call fcn.005378c8
add esp, 4
jmp 0x54af69
cmp dword [esi + 0x7c], 0
jg 0x54665b
push 4
call fcn.0064aa63
add esp, 4
fld dword [esi + 0xbc]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
fld dword [esi + 0xb8]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
fld dword [esi + 0xb4]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
call fcn.0064a9e3
add esp, 0xc
push dword [esi + 0x6c]
call fcn.0064aa9c
add esp, 4
fld dword [esi + 0x64]
fstp dword [ebp - 0xd8]
fld dword [0x69f4c0]
sub esp, 8
fstp qword [esp]
fld dword [esi + 0x68]
sub esp, 8
fstp qword [esp]
call fcn.004c18c0
add esp, 0x10
fld dword [ebp - 0xd8]
fdivrp st(1)
fstp dword [ebp - 0xd8]
fld dword [ebp - 0xd8]
fstp dword [ebp - 0xe0]
push dword [ebp - 0xe0]
push dword [esi + 0x64]
call fcn.0064af1c
add esp, 8
push dword [esi + 0x14]
push dword [ebp - 0xe4]
push dword [ebp - 0xe8]
push dword [esi + 0x10]
call fcn.004eae37
add esp, 0x10
cmp dword [esi + 0x90], 1
jne 0x54661f
fld dword [esi + 0x6c]
fld dword [0x685b98]
fdiv dword [0x69f4c4]
fsubp st(1)
fstp dword [esi + 0x6c]
fld dword [esi + 0x64]
fld dword [0x685ba0]
fmul dword [0x69f4c8]
faddp st(1)
fstp dword [esi + 0x64]
fld1
fld dword [ebp - 0xe0]
fucompp
fnstsw ax
sahf
setae al
movzx eax, al
cmp eax, 0
jne 0x54660e
fld dword [esi + 0x6c]
fld dword [0x69f4cc]
fxch st(1)
fucompp
fnstsw ax
sahf
setb al
movzx eax, al
cmp eax, 0
je 0x54661d
mov dword [esi + 0x90], 2
jmp 0x54665b
cmp dword [esi + 0x90], 2
jne 0x54665b
fld dword [esi + 0x6c]
fld dword [0x685ba0]
fmul dword [esi + 0x70]
fsubp st(1)
fstp dword [esi + 0x6c]
fld dword [esi + 0x6c]
fldz
fxch st(1)
fucompp
fnstsw ax
sahf
seta al
movzx eax, al
cmp eax, 0
jne 0x54665b
push dword [esi + 8]
call fcn.005378c8
add esp, 4
jmp 0x54af69
cmp dword [esi + 0x7c], 0
jg 0x5466ff
push 4
call fcn.0064aa63
add esp, 4
push dword [esi + 0x6c]
call fcn.0064aa9c
add esp, 4
push dword [esi + 0x68]
push dword [esi + 0x64]
call fcn.0064af1c
add esp, 8
push dword [esi + 0x14]
push dword [ebp - 0xe4]
push dword [ebp - 0xe8]
push dword [esi + 0x10]
call fcn.004eae37
add esp, 0x10
push 0x3f800000
push 0x3f800000
call fcn.0064af1c
add esp, 8
fld dword [esi + 0x6c]
fld dword [0x685b98]
mov eax, dword [0x685b8c]
mov dword [ebp - 0xec], eax
fild dword [ebp - 0xec]
fmul dword [esi + 0x70]
fdivp st(1)
fsubp st(1)
fstp dword [esi + 0x6c]
fld dword [esi + 0x6c]
fldz
fxch st(1)
fucompp
fnstsw ax
sahf
seta al
movzx eax, al
cmp eax, 0
jne 0x5466ff
push dword [esi + 8]
call fcn.005378c8
add esp, 4
jmp 0x54af69
push 0xff
push 0xff
push 0xff
call fcn.0064a9e3
add esp, 0xc
push 3
call fcn.0064aa63
add esp, 4
push dword [esi + 0x6c]
call fcn.0064aa9c
add esp, 4
push dword [esi + 0x68]
push dword [esi + 0x64]
call fcn.0064af1c
add esp, 8
push dword [esi + 0x14]
push dword [ebp - 0xe4]
push dword [ebp - 0xe8]
push dword [esi + 0x10]
call fcn.004eae37
add esp, 0x10
fld dword [esi + 0x6c]
fld dword [0x685b98]
fdiv dword [0x69f4d0]
fsubp st(1)
fstp dword [esi + 0x6c]
fld dword [esi + 0x64]
fld dword [0x685b98]
fdiv dword [0x69f4d4]
fsubp st(1)
fstp dword [esi + 0x64]
fld dword [esi + 0x64]
fstp dword [esi + 0x68]
fld dword [esi + 0x6c]
fldz
fxch st(1)
fucompp
fnstsw ax
sahf
setbe al
movzx eax, al
cmp eax, 0
jne 0x5467b3
fld dword [esi + 0x64]
fld dword [0x69f4d8]
fxch st(1)
fucompp
fnstsw ax
sahf
setbe al
movzx eax, al
cmp eax, 0
je 0x5467c3
push dword [esi + 8]
call fcn.005378c8
add esp, 4
jmp 0x54af69
cmp dword [esi + 0x7c], 0
jg 0x546974
cmp dword [esi + 0x28], 1
jne 0x5467e4
push 4
call fcn.0064aa63
add esp, 4
jmp 0x5467ee
push 3
call fcn.0064aa63
add esp, 4
push dword [esi + 0x6c]
call fcn.0064aa9c
add esp, 4
push dword [esi + 0x68]
push dword [esi + 0x64]
call fcn.0064af1c
add esp, 8
push dword [esi + 0x60]
call fcn.0064aeed
add esp, 4
fld dword [esi + 0x60]
fld dword [esi + 0x58]
fadd dword [esi + 0x5c]
faddp st(1)
fstp dword [esi + 0x60]
fld dword [esi + 0x58]
fld dword [esi + 0x5c]
fmul dword [0x685ba0]
faddp st(1)
fstp dword [esi + 0x58]
push dword [esi + 0x14]
push dword [ebp - 0xe4]
push dword [ebp - 0xe8]
push dword [esi + 0x10]
call fcn.004eae37
add esp, 0x10
cmp dword [esi + 0x90], 1
jne 0x546935
fld dword [esi + 0x64]
fld dword [0x685ba0]
fmul dword [0x69f4dc]
faddp st(1)
fstp dword [esi + 0x64]
fld dword [esi + 0x64]
fstp dword [esi + 0x68]
fld dword [esi + 0x64]
fld dword [esi + 0x70]
fxch st(1)
fucompp
fnstsw ax
sahf
setb al
movzx eax, al
cmp eax, 0
jne 0x546933
mov dword [esi + 0x90], 2
push 6
push 3
call fcn.0065e049
add esp, 8
mov dword [ebp - 0xec], eax
fild dword [ebp - 0xec]
fstp dword [esi + 0x58]
push 1
push 0xffffffffffffffff
call fcn.0065e049
add esp, 8
imul eax, eax, 3
mov dword [ebp - 0xec], eax
fild dword [ebp - 0xec]
fstp dword [esi + 0x5c]
fld1
sub esp, 8
fstp qword [esp]
fld qword [0x69f4e0]
sub esp, 8
fstp qword [esp]
call fcn.0065e008
add esp, 0x10
fstp dword [esi + 0x84]
fld1
sub esp, 8
fstp qword [esp]
fld qword [0x69f4e8]
sub esp, 8
fstp qword [esp]
call fcn.0065e008
add esp, 0x10
fstp dword [esi + 0x88]
push 1
push 0xa
call fcn.0065e049
add esp, 8
add eax, 0xa
mov dword [ebp - 0xec], eax
fild dword [ebp - 0xec]
fstp dword [esi + 0x50]
jmp 0x546974
cmp dword [esi + 0x90], 2
jne 0x546974
fld dword [esi + 0x6c]
fld dword [0x685b98]
fdiv dword [0x69f4f0]
fsubp st(1)
fstp dword [esi + 0x6c]
fld dword [esi + 0x6c]
fldz
fxch st(1)
fucompp
fnstsw ax
sahf
seta al
movzx eax, al
cmp eax, 0
jne 0x546974
push dword [esi + 8]
call fcn.005378c8
add esp, 4
jmp 0x54af69
cmp dword [esi + 0x7c], 0
jg 0x546b07
cmp dword [esi + 0x28], 1
jne 0x546995
push 4
call fcn.0064aa63
add esp, 4
jmp 0x54699f
push 3
call fcn.0064aa63
add esp, 4
push dword [esi + 0x6c]
call fcn.0064aa9c
add esp, 4
push dword [esi + 0x68]
push dword [esi + 0x64]
call fcn.0064af1c
add esp, 8
push dword [esi + 0x60]
call fcn.0064aeed
add esp, 4
fld dword [esi + 0x60]
fld dword [esi + 0x58]
fadd dword [esi + 0x5c]
faddp st(1)
fstp dword [esi + 0x60]
fld dword [esi + 0x58]
fld dword [esi + 0x5c]
fmul dword [0x685ba0]
faddp st(1)
fstp dword [esi + 0x58]
push dword [esi + 0x14]
push dword [ebp - 0xe4]
push dword [ebp - 0xe8]
push dword [esi + 0x10]
call fcn.004eae37
add esp, 0x10
cmp dword [esi + 0x90], 1
jne 0x546ac8
fld dword [esi + 0x64]
fld dword [0x685ba0]
fmul dword [0x69f4f4]
faddp st(1)
fstp dword [esi + 0x64]
fld dword [esi + 0x64]
fstp dword [esi + 0x68]
fld dword [esi + 0x64]
fld dword [esi + 0x70]
fxch st(1)
fucompp
fnstsw ax
sahf
setb al
movzx eax, al
cmp eax, 0
jne 0x546ac6
mov dword [esi + 0x90], 2
push 6
push 3
call fcn.0065e049
add esp, 8
mov dword [ebp - 0xec], eax
fild dword [ebp - 0xec]
fstp dword [esi + 0x58]
push 1
push 0xffffffffffffffff
call fcn.0065e049
add esp, 8
imul eax, eax, 3
mov dword [ebp - 0xec], eax
fild dword [ebp - 0xec]
fstp dword [esi + 0x5c]
fld1
sub esp, 8
fstp qword [esp]
fld qword [0x69f4f8]
sub esp, 8
fstp qword [esp]
call fcn.0065e008
add esp, 0x10
fstp dword [esi + 0x84]
fld1
sub esp, 8
fstp qword [esp]
fld qword [0x69f500]
sub esp, 8
fstp qword [esp]
call fcn.0065e008
add esp, 0x10
fstp dword [esi + 0x88]
jmp 0x546b07
cmp dword [esi + 0x90], 2
jne 0x546b07
fld dword [esi + 0x6c]
fld dword [0x685b98]
fdiv dword [0x69f508]
fsubp st(1)
fstp dword [esi + 0x6c]
fld dword [esi + 0x6c]
fldz
fxch st(1)
fucompp
fnstsw ax
sahf
seta al
movzx eax, al
cmp eax, 0
jne 0x546b07
push dword [esi + 8]
call fcn.005378c8
add esp, 4
jmp 0x54af69
cmp dword [esi + 0x7c], 0
jg 0x546c9a
cmp dword [esi + 0x28], 1
jne 0x546b28
push 4
call fcn.0064aa63
add esp, 4
jmp 0x546b32
push 3
call fcn.0064aa63
add esp, 4
push dword [esi + 0x6c]
call fcn.0064aa9c
add esp, 4
push dword [esi + 0x68]
push dword [esi + 0x64]
call fcn.0064af1c
add esp, 8
push dword [esi + 0x60]
call fcn.0064aeed
add esp, 4
fld dword [esi + 0x60]
fld dword [esi + 0x58]
fadd dword [esi + 0x5c]
faddp st(1)
fstp dword [esi + 0x60]
fld dword [esi + 0x58]
fld dword [esi + 0x5c]
fmul dword [0x685ba0]
faddp st(1)
fstp dword [esi + 0x58]
push dword [esi + 0x14]
push dword [ebp - 0xe4]
push dword [ebp - 0xe8]
push dword [esi + 0x10]
call fcn.004eae37
add esp, 0x10
cmp dword [esi + 0x90], 1
jne 0x546c5b
fld dword [esi + 0x64]
fld dword [0x685ba0]
fmul dword [0x69f50c]
faddp st(1)
fstp dword [esi + 0x64]
fld dword [esi + 0x64]
fstp dword [esi + 0x68]
fld dword [esi + 0x64]
fld dword [esi + 0x70]
fxch st(1)
fucompp
fnstsw ax
sahf
setb al
movzx eax, al
cmp eax, 0
jne 0x546c59
mov dword [esi + 0x90], 2
push 6
push 3
call fcn.0065e049
add esp, 8
mov dword [ebp - 0xec], eax
fild dword [ebp - 0xec]
fstp dword [esi + 0x58]
push 1
push 0xffffffffffffffff
call fcn.0065e049
add esp, 8
imul eax, eax, 3
mov dword [ebp - 0xec], eax
fild dword [ebp - 0xec]
fstp dword [esi + 0x5c]
fld1
sub esp, 8
fstp qword [esp]
fld qword [0x69f510]
sub esp, 8
fstp qword [esp]
call fcn.0065e008
add esp, 0x10
fstp dword [esi + 0x84]
fld1
sub esp, 8
fstp qword [esp]
fld qword [0x69f518]
sub esp, 8
fstp qword [esp]
call fcn.0065e008
add esp, 0x10
fstp dword [esi + 0x88]
jmp 0x546c9a
cmp dword [esi + 0x90], 2
jne 0x546c9a
fld dword [esi + 0x6c]
fld dword [0x685b98]
fdiv dword [0x69f520]
fsubp st(1)
fstp dword [esi + 0x6c]
fld dword [esi + 0x6c]
fldz
fxch st(1)
fucompp
fnstsw ax
sahf
seta al
movzx eax, al
cmp eax, 0
jne 0x546c9a
push dword [esi + 8]
call fcn.005378c8
add esp, 4
jmp 0x54af69
cmp dword [esi + 0x7c], 0
jg 0x546e24
push 3
call fcn.0064aa63
add esp, 4
fldz
sub esp, 8
fstp qword [esp]
fld qword [0x69f528]
sub esp, 8
fstp qword [esp]
call fcn.0065e008
add esp, 0x10
fld qword [0x69f530]
faddp st(1)
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
fldz
sub esp, 8
fstp qword [esp]
fld qword [0x69f538]
sub esp, 8
fstp qword [esp]
call fcn.0065e008
add esp, 0x10
fld qword [0x69f540]
faddp st(1)
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
fldz
sub esp, 8
fstp qword [esp]
fld qword [0x69f548]
sub esp, 8
fstp qword [esp]
call fcn.0065e008
add esp, 0x10
fld qword [0x69f550]
fmulp st(1)
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
call fcn.0064a9e3
add esp, 0xc
push dword [esi + 0x6c]
call fcn.0064aa9c
add esp, 4
push dword [esi + 0x68]
push dword [esi + 0x64]
call fcn.0064af1c
add esp, 8
push dword [esi + 0x14]
push dword [ebp - 0xe4]
push dword [ebp - 0xe8]
push dword [esi + 0x10]
call fcn.004eae37
add esp, 0x10
cmp dword [esi + 0x90], 1
jne 0x546de5
fld dword [esi + 0x6c]
fld dword [0x685b98]
fdiv dword [0x69f558]
fsubp st(1)
fstp dword [esi + 0x6c]
fld dword [esi + 0x64]
fld dword [0x685ba0]
fmul dword [0x69f55c]
faddp st(1)
fstp dword [esi + 0x64]
fld dword [esi + 0x64]
fstp dword [esi + 0x68]
fld dword [esi + 0x64]
fld dword [0x69f560]
fxch st(1)
fucompp
fnstsw ax
sahf
setb al
movzx eax, al
cmp eax, 0
jne 0x546de3
mov dword [esi + 0x90], 2
jmp 0x546e24
cmp dword [esi + 0x90], 2
jne 0x546e24
fld dword [esi + 0x6c]
fld dword [0x685b98]
fdiv dword [0x69f564]
fsubp st(1)
fstp dword [esi + 0x6c]
fld dword [esi + 0x6c]
fldz
fxch st(1)
fucompp
fnstsw ax
sahf
seta al
movzx eax, al
cmp eax, 0
jne 0x546e24
push dword [esi + 8]
call fcn.005378c8
add esp, 4
jmp 0x54af69
cmp dword [esi + 0x7c], 0
jg 0x546f3d
push 4
call fcn.0064aa63
add esp, 4
push dword [esi + 0x6c]
call fcn.0064aa9c
add esp, 4
push dword [esi + 0x68]
push dword [esi + 0x64]
call fcn.0064af1c
add esp, 8
fld dword [esi + 0x58]
fld dword [esi + 0x5c]
fmul dword [0x685ba0]
faddp st(1)
fstp dword [esi + 0x58]
fld dword [esi + 0x60]
fstp dword [ebp - 0x68]
fld dword [0x69f568]
sub esp, 8
fstp qword [esp]
fld dword [esi + 0x58]
fmul dword [0x685ba0]
sub esp, 8
fstp qword [esp]
call fcn.004c1880
add esp, 0x10
fld dword [ebp - 0x68]
faddp st(1)
fstp dword [ebp - 0x68]
fld dword [ebp - 0x68]
fstp dword [esi + 0x60]
push dword [esi + 0x60]
call fcn.0064aeed
add esp, 4
fld dword [esi + 0xbc]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
fld dword [esi + 0xb8]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
fld dword [esi + 0xb4]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
call fcn.0064a9e3
add esp, 0xc
push dword [esi + 0x14]
push dword [ebp - 0xe4]
push dword [ebp - 0xe8]
push dword [esi + 0x10]
call fcn.004eae37
add esp, 0x10
fld dword [esi + 0x6c]
fld dword [0x685ba0]
fmul dword [esi + 0x70]
fsubp st(1)
fstp dword [esi + 0x6c]
fld dword [esi + 0x6c]
fldz
fxch st(1)
fucompp
fnstsw ax
sahf
seta al
movzx eax, al
cmp eax, 0
jne 0x546f3d
push dword [esi + 8]
call fcn.005378c8
add esp, 4
jmp 0x54af69
cmp dword [esi + 0x7c], 0
jg 0x547126
push 3
call fcn.0064aa63
add esp, 4
push dword [esi + 0x6c]
call fcn.0064aa9c
add esp, 4
fld dword [esi + 0x58]
fld dword [esi + 0x5c]
fmul dword [0x685ba0]
faddp st(1)
fstp dword [esi + 0x58]
fld dword [esi + 0x60]
fstp dword [ebp - 0x6c]
fld dword [0x69f56c]
sub esp, 8
fstp qword [esp]
fld dword [esi + 0x58]
fmul dword [0x685ba0]
sub esp, 8
fstp qword [esp]
call fcn.004c1880
add esp, 0x10
fld dword [ebp - 0x6c]
faddp st(1)
fstp dword [ebp - 0x6c]
fld dword [ebp - 0x6c]
fstp dword [esi + 0x60]
push dword [esi + 0x60]
call fcn.0064aeed
add esp, 4
fld dword [esi + 0xbc]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
fld dword [esi + 0xb8]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
fld dword [esi + 0xb4]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
call fcn.0064a9e3
add esp, 0xc
fld dword [esi + 0x64]
fld dword [esi + 0xac]
fmul dword [0x685ba0]
faddp st(1)
fstp dword [esi + 0x64]
fld dword [0x69f570]
sub esp, 8
fstp qword [esp]
fld dword [esi + 0x64]
sub esp, 8
fstp qword [esp]
call fcn.004c18a0
add esp, 0x10
fstp dword [esi + 0x64]
push dword [esi + 0x64]
push dword [esi + 0x64]
call fcn.0064af1c
add esp, 8
push dword [esi + 0x14]
push dword [ebp - 0xe4]
push dword [ebp - 0xe8]
push dword [esi + 0x10]
call fcn.004eae37
add esp, 0x10
cmp dword [esi + 0x94], 0
jle 0x5470b5
fld dword [esi + 0x14]
fld dword [0x685ba0]
mov eax, dword [esi + 0x98]
mov dword [ebp - 0xec], eax
fild dword [ebp - 0xec]
fmulp st(1)
faddp st(1)
fstp dword [esi + 0x14]
fld dword [esi + 0x14]
mov eax, dword [esi + 0x94]
mov dword [ebp - 0xec], eax
fild dword [ebp - 0xec]
fxch st(1)
fucompp
fnstsw ax
sahf
setb al
movzx eax, al
cmp eax, 0
jne 0x5470b5
fldz
fstp dword [esi + 0x14]
sub dword [esi + 0x90], 1
cmp dword [esi + 0x90], 1
jl 0x5470f3
fld dword [esi + 0x6c]
fld dword [esi + 0x74]
fmul dword [0x685ba0]
faddp st(1)
fstp dword [esi + 0x6c]
fld dword [esi + 0x6c]
fld dword [0x69f574]
fxch st(1)
fucompp
fnstsw ax
sahf
setb al
movzx eax, al
cmp eax, 0
jne 0x5470f1
sub dword [esi + 0x90], 1
jmp 0x547126
fld dword [esi + 0x6c]
fld dword [esi + 0x70]
fmul dword [0x685ba0]
fsubp st(1)
fstp dword [esi + 0x6c]
fld dword [esi + 0x6c]
fldz
fxch st(1)
fucompp
fnstsw ax
sahf
seta al
movzx eax, al
cmp eax, 0
jne 0x547126
push dword [esi + 8]
call fcn.005378c8
add esp, 4
jmp 0x54af69
cmp dword [esi + 0x7c], 0
jg 0x547255
push 4
call fcn.0064aa63
add esp, 4
push dword [esi + 0x6c]
call fcn.0064aa9c
add esp, 4
push dword [esi + 0x68]
push dword [esi + 0x64]
call fcn.0064af1c
add esp, 8
push dword [esi + 0x60]
call fcn.0064aeed
add esp, 4
fld dword [esi + 0xbc]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
fld dword [esi + 0xb8]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
fld dword [esi + 0xb4]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
call fcn.0064a9e3
add esp, 0xc
push dword [esi + 0x14]
push dword [ebp - 0xe4]
push dword [ebp - 0xe8]
push dword [esi + 0x10]
call fcn.004eae37
add esp, 0x10
cmp dword [esi + 0x94], 0
jle 0x547222
fld dword [esi + 0x14]
fld dword [0x685ba0]
mov eax, dword [esi + 0x98]
mov dword [ebp - 0xec], eax
fild dword [ebp - 0xec]
fmulp st(1)
faddp st(1)
fstp dword [esi + 0x14]
fld dword [esi + 0x14]
mov eax, dword [esi + 0x94]
mov dword [ebp - 0xec], eax
fild dword [ebp - 0xec]
fxch st(1)
fucompp
fnstsw ax
sahf
setb al
movzx eax, al
cmp eax, 0
jne 0x547222
fldz
fstp dword [esi + 0x14]
sub dword [esi + 0x90], 1
fld dword [esi + 0x6c]
fld dword [0x685ba0]
fmul dword [esi + 0x70]
fsubp st(1)
fstp dword [esi + 0x6c]
fld dword [esi + 0x6c]
fldz
fxch st(1)
fucompp
fnstsw ax
sahf
seta al
movzx eax, al
cmp eax, 0
jne 0x547255
push dword [esi + 8]
call fcn.005378c8
add esp, 4
jmp 0x54af69
cmp dword [esi + 0x7c], 0
jg 0x54738d
push 4
call fcn.0064aa63
add esp, 4
push dword [esi + 0x6c]
call fcn.0064aa9c
add esp, 4
push dword [esi + 0x68]
push dword [esi + 0x64]
call fcn.0064af1c
add esp, 8
push dword [esi + 0x60]
call fcn.0064aeed
add esp, 4
fld dword [esi + 0xbc]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
fld dword [esi + 0xb8]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
fld dword [esi + 0xb4]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
call fcn.0064a9e3
add esp, 0xc
push dword [esi + 0x14]
push dword [ebp - 0xe4]
push dword [ebp - 0xe8]
push dword [esi + 0x10]
call fcn.004eae37
add esp, 0x10
cmp dword [esi + 0x94], 0
jle 0x547351
fld dword [esi + 0x14]
fld dword [0x685ba0]
mov eax, dword [esi + 0x98]
mov dword [ebp - 0xec], eax
fild dword [ebp - 0xec]
fmulp st(1)
faddp st(1)
fstp dword [esi + 0x14]
fld dword [esi + 0x14]
mov eax, dword [esi + 0x94]
mov dword [ebp - 0xec], eax
fild dword [ebp - 0xec]
fxch st(1)
fucompp
fnstsw ax
sahf
setb al
movzx eax, al
cmp eax, 0
jne 0x547351
fldz
fstp dword [esi + 0x14]
sub dword [esi + 0x90], 1
cmp dword [esi + 0x90], 0
jge 0x54738d
fld dword [esi + 0x6c]
fld dword [0x685ba0]
fmul dword [esi + 0x70]
fsubp st(1)
fstp dword [esi + 0x6c]
fld dword [esi + 0x6c]
fldz
fxch st(1)
fucompp
fnstsw ax
sahf
seta al
movzx eax, al
cmp eax, 0
jne 0x54738d
push dword [esi + 8]
call fcn.005378c8
add esp, 4
jmp 0x54af69
cmp dword [esi + 0x7c], 0
jg 0x54747a
push 3
call fcn.0064aa63
add esp, 4
push dword [esi + 0x6c]
call fcn.0064aa9c
add esp, 4
push dword [esi + 0x68]
push dword [esi + 0x64]
call fcn.0064af1c
add esp, 8
push dword [esi + 0x60]
call fcn.0064aeed
add esp, 4
push dword [esi + 0x14]
push dword [ebp - 0xe4]
push dword [ebp - 0xe8]
push dword [esi + 0x10]
call fcn.004eae37
add esp, 0x10
push 0x3f800000
push 0x3f800000
call fcn.0064af1c
add esp, 8
push 0
call fcn.0064aeed
add esp, 4
fld dword [esi + 0x14]
fld dword [0x685b98]
fdiv dword [0x69f578]
faddp st(1)
fstp dword [esi + 0x14]
fld dword [esi + 0x14]
fld dword [0x69f57c]
fxch st(1)
fucompp
fnstsw ax
sahf
setbe al
movzx eax, al
cmp eax, 0
jne 0x54743b
fldz
fstp dword [esi + 0x14]
sub dword [esi + 0x90], 1
cmp dword [esi + 0x90], 0
jg 0x54747a
fld dword [esi + 0x6c]
fld dword [0x685b98]
fdiv dword [0x69f580]
fsubp st(1)
fstp dword [esi + 0x6c]
fld dword [esi + 0x6c]
fldz
fxch st(1)
fucompp
fnstsw ax
sahf
seta al
movzx eax, al
cmp eax, 0
jne 0x54747a
push dword [esi + 8]
call fcn.005378c8
add esp, 4
jmp 0x54af69
push 3
call fcn.0064aa63
add esp, 4
push dword [esi + 0x6c]
call fcn.0064aa9c
add esp, 4
push dword [esi + 0x68]
push dword [esi + 0x64]
call fcn.0064af1c
add esp, 8
push 0
call fcn.0064aeed
add esp, 4
push dword [esi + 0x14]
push dword [ebp - 0xe4]
push dword [ebp - 0xe8]
push dword [esi + 0x10]
call fcn.004eae37
add esp, 0x10
cmp dword [esi + 0x94], 0
jle 0x54750f
fld dword [esi + 0x14]
fld dword [0x685ba0]
fmul dword [0x69f584]
faddp st(1)
fstp dword [esi + 0x14]
fld dword [esi + 0x14]
mov eax, dword [esi + 0x94]
mov dword [ebp - 0xec], eax
fild dword [ebp - 0xec]
fxch st(1)
fucompp
fnstsw ax
sahf
setb al
movzx eax, al
cmp eax, 0
jne 0x54750f
fldz
fstp dword [esi + 0x14]
push 0x3f800000
push 0x3f800000
call fcn.0064af1c
add esp, 8
mov eax, dword [esi + 0x90]
mov dword [ebp - 0xec], eax
fild dword [ebp - 0xec]
fsub dword [0x685b98]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
mov dword [esi + 0x90], eax
cmp dword [esi + 0x90], 0
jg 0x54756c
fld dword [esi + 0x6c]
fld dword [0x69f588]
fmul dword [0x685b98]
fsubp st(1)
fstp dword [esi + 0x6c]
jmp 0x547580
fld dword [esi + 0x6c]
fld dword [0x69f58c]
fmul dword [0x685b98]
faddp st(1)
fstp dword [esi + 0x6c]
fld dword [esi + 0x6c]
fldz
fxch st(1)
fucompp
fnstsw ax
sahf
setbe al
movzx eax, al
cmp eax, 0
jne 0x5475a3
mov eax, dword [esi + 0x20]
cmp eax, 0xffffffc4
setl al
movzx eax, al
cmp eax, 0
jne 0x5475b6
mov eax, dword [esi + 0x20]
cmp eax, 0x7bc
setg al
movzx eax, al
cmp eax, 0
jne 0x5475c7
mov eax, dword [esi + 0x24]
cmp eax, 0xffffffc4
setl al
movzx eax, al
cmp eax, 0
jne 0x5475df
mov edx, dword [esi + 0x24]
mov eax, dword [0x6854c8]
add eax, 0x3c
cmp edx, eax
setg al
movzx eax, al
cmp eax, 0
je 0x5475ef
push dword [esi + 8]
call fcn.005378c8
add esp, 4
jmp 0x54af69
cmp dword [esi + 0x7c], 0
jg 0x54777e
push 4
call fcn.0064aa63
add esp, 4
push dword [esi + 0x6c]
call fcn.0064aa9c
add esp, 4
fldz
sub esp, 8
fstp qword [esp]
fld qword [0x69f590]
sub esp, 8
fstp qword [esp]
call fcn.0065e008
add esp, 0x10
fld qword [0x69f598]
faddp st(1)
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
fldz
sub esp, 8
fstp qword [esp]
fld qword [0x69f5a0]
sub esp, 8
fstp qword [esp]
call fcn.0065e008
add esp, 0x10
fld qword [0x69f5a8]
fmulp st(1)
fld qword [0x69f5b0]
faddp st(1)
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
fldz
sub esp, 8
fstp qword [esp]
fld qword [0x69f5b8]
sub esp, 8
fstp qword [esp]
call fcn.0065e008
add esp, 0x10
fld qword [0x69f5c0]
fmulp st(1)
fld qword [0x69f5c8]
faddp st(1)
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
call fcn.0064a9e3
add esp, 0xc
fld dword [esi + 0x64]
fld dword [0x69f5d0]
fmul dword [0x685b98]
faddp st(1)
fstp dword [esi + 0x64]
fld dword [0x69f5d4]
sub esp, 8
fstp qword [esp]
fld dword [esi + 0x48]
sub esp, 8
fstp qword [esp]
call fcn.004c18c0
add esp, 0x10
fstp dword [esi + 0x48]
fldz
sub esp, 8
fstp qword [esp]
fld dword [0x69f5d8]
fdiv dword [esi + 0x48]
fsub dword [esi + 0x64]
sub esp, 8
fstp qword [esp]
call fcn.004c18c0
add esp, 0x10
sub esp, 4
fst dword [esp]
sub esp, 4
fstp dword [esp]
call fcn.0064af1c
add esp, 8
push dword [esi + 0x14]
push dword [ebp - 0xe4]
push dword [ebp - 0xe8]
push dword [esi + 0x10]
call fcn.004eae37
add esp, 0x10
fld dword [esi + 0x6c]
fld dword [0x69f5dc]
fmul dword [0x685b98]
fsubp st(1)
fstp dword [esi + 0x6c]
fld dword [esi + 0x6c]
fldz
fxch st(1)
fucompp
fnstsw ax
sahf
seta al
movzx eax, al
cmp eax, 0
jne 0x54777e
push dword [esi + 8]
call fcn.005378c8
add esp, 4
jmp 0x54af69
cmp dword [esi + 0x7c], 0
jg 0x54795f
push 4
call fcn.0064aa63
add esp, 4
push dword [esi + 0x6c]
call fcn.0064aa9c
add esp, 4
fld dword [0x69f5e0]
fld dword [0x685bd0]
fmul dword [0x69f5e4]
faddp st(1)
fstp dword [esi + 0xac]
fld dword [esi + 0x68]
fadd dword [esi + 0xac]
sub esp, 4
fstp dword [esp]
fld dword [esi + 0x64]
fadd dword [esi + 0xac]
sub esp, 4
fstp dword [esp]
call fcn.0064af1c
add esp, 8
fld dword [esi + 0x60]
fld dword [esi + 0x5c]
fmul dword [0x685b98]
faddp st(1)
fstp dword [esi + 0x60]
fld dword [esi + 0x5c]
fmul dword [0x69f5e8]
fstp dword [esi + 0x5c]
push dword [esi + 0x60]
call fcn.0064aeed
add esp, 4
cmp dword [esi + 0x94], 0
jle 0x547861
fld dword [esi + 0x14]
fld dword [0x685ba0]
mov eax, dword [esi + 0x98]
mov dword [ebp - 0xec], eax
fild dword [ebp - 0xec]
fmulp st(1)
faddp st(1)
fstp dword [esi + 0x14]
fld dword [esi + 0x14]
mov eax, dword [esi + 0x94]
mov dword [ebp - 0xec], eax
fild dword [ebp - 0xec]
fxch st(1)
fucompp
fnstsw ax
sahf
setb al
movzx eax, al
cmp eax, 0
jne 0x547861
fldz
fstp dword [esi + 0x14]
fld dword [esi + 0x14]
fldz
fxch st(1)
fucompp
fnstsw ax
sahf
setae al
movzx eax, al
cmp eax, 0
jne 0x54787d
fldz
fstp dword [esi + 0x14]
fld dword [esi + 0xbc]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
fld dword [esi + 0xb8]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
fld dword [esi + 0xb4]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
call fcn.0064a9e3
add esp, 0xc
push dword [esi + 0x14]
push dword [ebp - 0xe4]
push dword [ebp - 0xe8]
push dword [esi + 0x10]
call fcn.004eae37
add esp, 0x10
cmp dword [esi + 0x90], 1
jg 0x547923
fld dword [esi + 0x6c]
fld dword [0x69f5ec]
fmul dword [0x685b98]
faddp st(1)
fstp dword [esi + 0x6c]
fld dword [esi + 0x6c]
fld1
fxch st(1)
fucompp
fnstsw ax
sahf
setb al
movzx eax, al
cmp eax, 0
jne 0x547921
mov dword [esi + 0x90], 2
fld1
fstp dword [esi + 0x6c]
jmp 0x54795f
cmp dword [esi + 0x90], 2
jne 0x54795f
fld dword [esi + 0x6c]
fld dword [esi + 0x70]
fmul dword [0x685ba0]
fsubp st(1)
fstp dword [esi + 0x6c]
fld dword [esi + 0x6c]
fldz
fxch st(1)
fucompp
fnstsw ax
sahf
seta al
movzx eax, al
cmp eax, 0
jne 0x54795f
push dword [esi + 8]
call fcn.005378c8
add esp, 4
jmp 0x54af69
cmp dword [esi + 0x7c], 0
jg 0x547b40
push 4
call fcn.0064aa63
add esp, 4
push dword [esi + 0x6c]
call fcn.0064aa9c
add esp, 4
fld dword [0x69f5f0]
fld dword [0x685bd0]
fmul dword [0x69f5f4]
faddp st(1)
fstp dword [esi + 0xac]
fld dword [esi + 0x68]
fadd dword [esi + 0xac]
sub esp, 4
fstp dword [esp]
fld dword [esi + 0x64]
fadd dword [esi + 0xac]
sub esp, 4
fstp dword [esp]
call fcn.0064af1c
add esp, 8
fld dword [esi + 0x60]
fld dword [esi + 0x5c]
fmul dword [0x685b98]
faddp st(1)
fstp dword [esi + 0x60]
fld dword [esi + 0x5c]
fmul dword [0x69f5f8]
fstp dword [esi + 0x5c]
push dword [esi + 0x60]
call fcn.0064aeed
add esp, 4
cmp dword [esi + 0x94], 0
jle 0x547a42
fld dword [esi + 0x14]
fld dword [0x685ba0]
mov eax, dword [esi + 0x98]
mov dword [ebp - 0xec], eax
fild dword [ebp - 0xec]
fmulp st(1)
faddp st(1)
fstp dword [esi + 0x14]
fld dword [esi + 0x14]
mov eax, dword [esi + 0x94]
mov dword [ebp - 0xec], eax
fild dword [ebp - 0xec]
fxch st(1)
fucompp
fnstsw ax
sahf
setb al
movzx eax, al
cmp eax, 0
jne 0x547a42
fldz
fstp dword [esi + 0x14]
fld dword [esi + 0x14]
fldz
fxch st(1)
fucompp
fnstsw ax
sahf
setae al
movzx eax, al
cmp eax, 0
jne 0x547a5e
fldz
fstp dword [esi + 0x14]
fld dword [esi + 0xbc]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
fld dword [esi + 0xb8]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
fld dword [esi + 0xb4]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
call fcn.0064a9e3
add esp, 0xc
push dword [esi + 0x14]
push dword [ebp - 0xe4]
push dword [ebp - 0xe8]
push dword [esi + 0x10]
call fcn.004eae37
add esp, 0x10
cmp dword [esi + 0x90], 1
jg 0x547b04
fld dword [esi + 0x6c]
fld dword [0x69f5fc]
fmul dword [0x685b98]
faddp st(1)
fstp dword [esi + 0x6c]
fld dword [esi + 0x6c]
fld1
fxch st(1)
fucompp
fnstsw ax
sahf
setb al
movzx eax, al
cmp eax, 0
jne 0x547b02
mov dword [esi + 0x90], 2
fld1
fstp dword [esi + 0x6c]
jmp 0x547b40
cmp dword [esi + 0x90], 2
jne 0x547b40
fld dword [esi + 0x6c]
fld dword [esi + 0x70]
fmul dword [0x685ba0]
fsubp st(1)
fstp dword [esi + 0x6c]
fld dword [esi + 0x6c]
fldz
fxch st(1)
fucompp
fnstsw ax
sahf
seta al
movzx eax, al
cmp eax, 0
jne 0x547b40
push dword [esi + 8]
call fcn.005378c8
add esp, 4
jmp 0x54af69
cmp dword [esi + 0x7c], 0
jg 0x547d01
push 4
call fcn.0064aa63
add esp, 4
push dword [esi + 0x6c]
call fcn.0064aa9c
add esp, 4
fld dword [0x69f600]
sub esp, 8
fstp qword [esp]
fld dword [esi + 0x64]
fld dword [0x69f604]
fmul dword [0x685ba0]
fsubp st(1)
sub esp, 8
fstp qword [esp]
call fcn.004c18c0
add esp, 0x10
fstp dword [esi + 0x64]
push dword [esi + 0x64]
push dword [esi + 0x64]
call fcn.0064af1c
add esp, 8
fld dword [esi + 0x60]
fld dword [esi + 0x5c]
fmul dword [0x685b98]
faddp st(1)
fstp dword [esi + 0x60]
fld dword [esi + 0x5c]
fmul dword [0x69f608]
fstp dword [esi + 0x5c]
push dword [esi + 0x60]
call fcn.0064aeed
add esp, 4
fld dword [esi + 0xbc]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
fld dword [esi + 0xb8]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
fld dword [esi + 0xb4]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
call fcn.0064a9e3
add esp, 0xc
push dword [esi + 0x14]
push dword [ebp - 0xe4]
push dword [ebp - 0xe8]
push dword [esi + 0x10]
call fcn.004eae37
add esp, 0x10
cmp dword [esi + 0x94], 1
jle 0x547c80
fld dword [esi + 0x14]
fld dword [0x685ba0]
mov eax, dword [esi + 0x98]
mov dword [ebp - 0xec], eax
fild dword [ebp - 0xec]
fmulp st(1)
faddp st(1)
fstp dword [esi + 0x14]
fld dword [esi + 0x14]
mov eax, dword [esi + 0x94]
mov dword [ebp - 0xec], eax
fild dword [ebp - 0xec]
fxch st(1)
fucompp
fnstsw ax
sahf
setb al
movzx eax, al
cmp eax, 0
jne 0x547c80
fldz
fstp dword [esi + 0x14]
cmp dword [esi + 0x90], 1
jg 0x547cc5
fld dword [esi + 0x6c]
fld dword [0x69f60c]
fmul dword [0x685b98]
faddp st(1)
fstp dword [esi + 0x6c]
fld dword [esi + 0x6c]
fld1
fxch st(1)
fucompp
fnstsw ax
sahf
setb al
movzx eax, al
cmp eax, 0
jne 0x547cc3
mov dword [esi + 0x90], 2
fld1
fstp dword [esi + 0x6c]
jmp 0x547d01
cmp dword [esi + 0x90], 2
jne 0x547d01
fld dword [esi + 0x6c]
fld dword [esi + 0x70]
fmul dword [0x685ba0]
fsubp st(1)
fstp dword [esi + 0x6c]
fld dword [esi + 0x6c]
fldz
fxch st(1)
fucompp
fnstsw ax
sahf
seta al
movzx eax, al
cmp eax, 0
jne 0x547d01
push dword [esi + 8]
call fcn.005378c8
add esp, 4
jmp 0x54af69
cmp dword [esi + 0x7c], 0
jg 0x547e57
push 4
call fcn.0064aa63
add esp, 4
push dword [esi + 0x6c]
call fcn.0064aa9c
add esp, 4
fld dword [0x69f610]
sub esp, 8
fstp qword [esp]
fld dword [esi + 0x64]
fld dword [0x69f614]
fmul dword [0x685b98]
faddp st(1)
sub esp, 8
fstp qword [esp]
call fcn.004c18a0
add esp, 0x10
fstp dword [esi + 0x64]
push dword [esi + 0x64]
push dword [esi + 0x64]
call fcn.0064af1c
add esp, 8
fld dword [esi + 0x58]
fld dword [esi + 0x5c]
fmul dword [0x685b98]
fdiv dword [0x69f618]
faddp st(1)
fstp dword [esi + 0x58]
fld dword [esi + 0x60]
fstp dword [ebp - 0x70]
fld dword [0x69f61c]
sub esp, 8
fstp qword [esp]
fld dword [esi + 0x58]
fmul dword [0x685b98]
fdiv dword [0x69f620]
sub esp, 8
fstp qword [esp]
call fcn.004c1880
add esp, 0x10
fld dword [ebp - 0x70]
faddp st(1)
fstp dword [ebp - 0x70]
fld dword [ebp - 0x70]
fstp dword [esi + 0x60]
push dword [esi + 0x60]
call fcn.0064aeed
add esp, 4
fld dword [esi + 0xbc]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
fld dword [esi + 0xb8]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
fld dword [esi + 0xb4]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
call fcn.0064a9e3
add esp, 0xc
push dword [esi + 0x14]
push dword [ebp - 0xe4]
push dword [ebp - 0xe8]
push dword [esi + 0x10]
call fcn.004eae37
add esp, 0x10
fld dword [esi + 0x6c]
fld dword [0x69f624]
fmul dword [0x685b98]
fsubp st(1)
fstp dword [esi + 0x6c]
fld dword [esi + 0x6c]
fldz
fxch st(1)
fucompp
fnstsw ax
sahf
seta al
movzx eax, al
cmp eax, 0
jne 0x547e57
push dword [esi + 8]
call fcn.005378c8
add esp, 4
jmp 0x54af69
cmp dword [esi + 0x7c], 0
jg 0x5480c5
push 4
call fcn.0064aa63
add esp, 4
fld dword [esi + 0x6c]
fmul dword [0x69f628]
sub esp, 4
fstp dword [esp]
call fcn.0064aa9c
add esp, 4
push 0xff
push 0xff
push 0xff
call fcn.0064a9e3
add esp, 0xc
fld dword [esi + 0x64]
fmul dword [0x69f62c]
sub esp, 4
fst dword [esp]
sub esp, 4
fstp dword [esp]
call fcn.0064af1c
add esp, 8
push dword [esi + 0x60]
call fcn.0064aeed
add esp, 4
push dword [esi + 0x14]
mov eax, dword [esi + 0x24]
mov dword [ebp - 0xec], eax
fild dword [ebp - 0xec]
sub esp, 4
fstp dword [esp]
mov eax, dword [esi + 0x20]
mov dword [ebp - 0xec], eax
fild dword [ebp - 0xec]
sub esp, 4
fstp dword [esp]
push dword [esi + 0x10]
call fcn.004eae37
add esp, 0x10
push 3
call fcn.0064aa63
add esp, 4
push dword [esi + 0x6c]
call fcn.0064aa9c
add esp, 4
fld dword [esi + 0xbc]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
fld dword [esi + 0xb8]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
fld dword [esi + 0xb4]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
call fcn.0064a9e3
add esp, 0xc
push dword [esi + 0x64]
push dword [esi + 0x64]
call fcn.0064af1c
add esp, 8
push dword [esi + 0x14]
mov eax, dword [esi + 0x24]
mov dword [ebp - 0xec], eax
fild dword [ebp - 0xec]
sub esp, 4
fstp dword [esp]
mov eax, dword [esi + 0x20]
mov dword [ebp - 0xec], eax
fild dword [ebp - 0xec]
sub esp, 4
fstp dword [esp]
push dword [esi + 0x10]
call fcn.004eae37
add esp, 0x10
fld dword [esi + 0x58]
fld dword [esi + 0x5c]
fmul dword [0x685b98]
fdiv dword [0x69f630]
faddp st(1)
fstp dword [esi + 0x58]
fld dword [esi + 0x60]
fstp dword [ebp - 0x74]
fld dword [0x69f634]
sub esp, 8
fstp qword [esp]
fld dword [esi + 0x58]
fmul dword [0x685b98]
fdiv dword [0x69f638]
sub esp, 8
fstp qword [esp]
call fcn.004c1880
add esp, 0x10
fld dword [ebp - 0x74]
faddp st(1)
fstp dword [ebp - 0x74]
fld dword [ebp - 0x74]
fstp dword [esi + 0x60]
cmp dword [esi + 0x94], 0
jle 0x548052
fld dword [esi + 0x14]
fld dword [0x685ba0]
mov eax, dword [esi + 0x98]
mov dword [ebp - 0xec], eax
fild dword [ebp - 0xec]
fmulp st(1)
faddp st(1)
fstp dword [esi + 0x14]
fld dword [esi + 0x14]
mov eax, dword [esi + 0x94]
mov dword [ebp - 0xec], eax
fild dword [ebp - 0xec]
fxch st(1)
fucompp
fnstsw ax
sahf
setb al
movzx eax, al
cmp eax, 0
jne 0x548052
fldz
fstp dword [esi + 0x14]
sub dword [esi + 0x90], 1
cmp dword [esi + 0x90], 5
jl 0x548085
fld1
sub esp, 8
fstp qword [esp]
fld dword [esi + 0x6c]
fld dword [0x69f63c]
fmul dword [0x685b98]
faddp st(1)
sub esp, 8
fstp qword [esp]
call fcn.004c18a0
add esp, 0x10
fstp dword [esi + 0x6c]
cmp dword [esi + 0x90], 0
jg 0x5480c5
fld dword [esi + 0x6c]
fld dword [esi + 0x70]
fmul dword [0x685b98]
fsubp st(1)
fstp dword [esi + 0x6c]
fld dword [esi + 0x6c]
fld dword [0x69f640]
fxch st(1)
fucompp
fnstsw ax
sahf
seta al
movzx eax, al
cmp eax, 0
jne 0x5480c5
push dword [esi + 8]
call fcn.005378c8
add esp, 4
jmp 0x54af69
cmp dword [esi + 0x7c], 0
jg 0x548320
cmp dword [esi + 0x28], 1
jne 0x5480e6
push 4
call fcn.0064aa63
add esp, 4
jmp 0x5480f0
push 3
call fcn.0064aa63
add esp, 4
push dword [esi + 0x6c]
call fcn.0064aa9c
add esp, 4
fld dword [esi + 0x84]
sub esp, 8
fstp qword [esp]
call fcn.004c1830
add esp, 8
fstp dword [ebp - 0xd4]
fld dword [esi + 0x88]
sub esp, 8
fstp qword [esp]
call fcn.004c1830
add esp, 8
fld dword [ebp - 0xd4]
faddp st(1)
fstp dword [ebp - 0xd4]
fld dword [0x69f644]
fld dword [ebp - 0xd4]
fucompp
fnstsw ax
sahf
setbe al
movzx eax, al
cmp eax, 0
jne 0x548181
fld dword [0x69f648]
sub esp, 8
fstp qword [esp]
fld dword [esi + 0x64]
fld dword [0x69f64c]
fmul dword [0x685b98]
faddp st(1)
sub esp, 8
fstp qword [esp]
call fcn.004c18a0
add esp, 0x10
fstp dword [esi + 0x64]
fld dword [esi + 0xbc]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
fld dword [esi + 0xb8]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
fld dword [esi + 0xb4]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
call fcn.0064a9e3
add esp, 0xc
push dword [esi + 0x64]
push dword [esi + 0x64]
call fcn.0064af1c
add esp, 8
fld dword [esi + 0x58]
fld dword [esi + 0x5c]
fmul dword [0x685b98]
fdiv dword [0x69f650]
faddp st(1)
fstp dword [esi + 0x58]
fld dword [esi + 0x60]
fstp dword [ebp - 0x78]
fld dword [0x69f654]
sub esp, 8
fstp qword [esp]
fld dword [esi + 0x58]
fmul dword [0x685b98]
fdiv dword [0x69f658]
sub esp, 8
fstp qword [esp]
call fcn.004c1880
add esp, 0x10
fld dword [ebp - 0x78]
faddp st(1)
fstp dword [ebp - 0x78]
fld dword [ebp - 0x78]
fstp dword [esi + 0x60]
push dword [esi + 0x60]
call fcn.0064aeed
add esp, 4
push dword [esi + 0x14]
push dword [ebp - 0xe4]
push dword [ebp - 0xe8]
push dword [esi + 0x10]
call fcn.004eae37
add esp, 0x10
cmp dword [esi + 0x94], 0
jle 0x5482ad
fld dword [esi + 0x14]
fld dword [0x685ba0]
mov eax, dword [esi + 0x98]
mov dword [ebp - 0xec], eax
fild dword [ebp - 0xec]
fmulp st(1)
faddp st(1)
fstp dword [esi + 0x14]
fld dword [esi + 0x14]
mov eax, dword [esi + 0x94]
mov dword [ebp - 0xec], eax
fild dword [ebp - 0xec]
fxch st(1)
fucompp
fnstsw ax
sahf
setb al
movzx eax, al
cmp eax, 0
jne 0x5482ad
fldz
fstp dword [esi + 0x14]
sub dword [esi + 0x90], 1
cmp dword [esi + 0x90], 3
jl 0x5482e0
fld1
sub esp, 8
fstp qword [esp]
fld dword [esi + 0x6c]
fld dword [0x69f65c]
fmul dword [0x685b98]
faddp st(1)
sub esp, 8
fstp qword [esp]
call fcn.004c18a0
add esp, 0x10
fstp dword [esi + 0x6c]
cmp dword [esi + 0x90], 0
jg 0x548320
fld dword [esi + 0x6c]
fld dword [esi + 0x70]
fmul dword [0x685b98]
fsubp st(1)
fstp dword [esi + 0x6c]
fld dword [esi + 0x6c]
fld dword [0x69f660]
fxch st(1)
fucompp
fnstsw ax
sahf
seta al
movzx eax, al
cmp eax, 0
jne 0x548320
push dword [esi + 8]
call fcn.005378c8
add esp, 4
jmp 0x54af69
cmp dword [esi + 0x7c], 0
jg 0x548511
push 4
call fcn.0064aa63
add esp, 4
push dword [esi + 0x6c]
call fcn.0064aa9c
add esp, 4
fld dword [esi + 0xbc]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
fld dword [esi + 0xb8]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
fld dword [esi + 0xb4]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
call fcn.0064a9e3
add esp, 0xc
push dword [esi + 0x64]
push dword [esi + 0x64]
call fcn.0064af1c
add esp, 8
fld dword [0x69f664]
sub esp, 8
fstp qword [esp]
fld dword [esi + 0x58]
fld dword [esi + 0x5c]
fmul dword [0x685b98]
fdiv dword [0x69f668]
faddp st(1)
sub esp, 8
fstp qword [esp]
call fcn.004c18a0
add esp, 0x10
fstp dword [esi + 0x58]
fld dword [esi + 0x60]
fstp dword [ebp - 0x7c]
fld dword [0x69f66c]
sub esp, 8
fstp qword [esp]
fld dword [esi + 0x58]
fmul dword [0x685b98]
fdiv dword [0x69f670]
sub esp, 8
fstp qword [esp]
call fcn.004c1880
add esp, 0x10
fld dword [ebp - 0x7c]
faddp st(1)
fstp dword [ebp - 0x7c]
fld dword [ebp - 0x7c]
fstp dword [esi + 0x60]
push dword [esi + 0x60]
call fcn.0064aeed
add esp, 4
push dword [esi + 0x14]
push dword [ebp - 0xe4]
push dword [ebp - 0xe8]
push dword [esi + 0x10]
call fcn.004eae37
add esp, 0x10
cmp dword [esi + 0x90], 5
jl 0x54845c
fld1
sub esp, 8
fstp qword [esp]
fld dword [esi + 0x6c]
fld dword [esi + 0x70]
fmul dword [0x685b98]
faddp st(1)
sub esp, 8
fstp qword [esp]
call fcn.004c18a0
add esp, 0x10
fstp dword [esi + 0x6c]
cmp dword [esi + 0x94], 0
jle 0x5484d1
fld dword [esi + 0x14]
fld dword [0x685ba0]
mov eax, dword [esi + 0x98]
mov dword [ebp - 0xec], eax
fild dword [ebp - 0xec]
fmulp st(1)
faddp st(1)
fstp dword [esi + 0x14]
fld dword [esi + 0x14]
mov eax, dword [esi + 0x94]
mov dword [ebp - 0xec], eax
fild dword [ebp - 0xec]
fxch st(1)
fucompp
fnstsw ax
sahf
setb al
movzx eax, al
cmp eax, 0
jne 0x5484ba
fldz
fstp dword [esi + 0x14]
sub dword [esi + 0x90], 1
fld dword [esi + 0x6c]
fld dword [esi + 0x70]
fmul dword [0x685b98]
fmul dword [0x69f674]
fsubp st(1)
fstp dword [esi + 0x6c]
cmp dword [esi + 0x90], 1
jg 0x548511
fld dword [esi + 0x6c]
fld dword [esi + 0x70]
fmul dword [0x685b98]
fsubp st(1)
fstp dword [esi + 0x6c]
fld dword [esi + 0x6c]
fld dword [0x69f678]
fxch st(1)
fucompp
fnstsw ax
sahf
seta al
movzx eax, al
cmp eax, 0
jne 0x548511
push dword [esi + 8]
call fcn.005378c8
add esp, 4
jmp 0x54af69
push esi
call fcn.0055f32e
add esp, 4
jmp 0x54af69
push esi
call fcn.0055f604
add esp, 4
jmp 0x54af69
push esi
call fcn.0055f32e
add esp, 4
jmp 0x54af69
push dword [esi + 0x6c]
call fcn.0064aa9c
add esp, 4
push 4
call fcn.0064aa63
add esp, 4
fld dword [0x69f67c]
sub esp, 8
fstp qword [esp]
fld dword [esi + 0x6c]
sub esp, 8
fstp qword [esp]
call fcn.004c18c0
add esp, 0x10
fmul dword [esi + 0x64]
sub esp, 4
fst dword [esp]
sub esp, 4
fstp dword [esp]
call fcn.0064af1c
add esp, 8
push dword [esi + 0x60]
call fcn.0064aeed
add esp, 4
fld dword [esi + 0x60]
fld dword [0x69f680]
fmul dword [0x685ba0]
faddp st(1)
fstp dword [esi + 0x60]
fld dword [esi + 0xbc]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
fld dword [esi + 0xb8]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
fld dword [esi + 0xb4]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
call fcn.0064a9e3
add esp, 0xc
push dword [esi + 0x14]
push dword [ebp - 0xe4]
push dword [ebp - 0xe8]
push dword [esi + 0x10]
call fcn.004eae37
add esp, 0x10
fld dword [esi + 0x14]
fld dword [0x685ba0]
fmul dword [0x69f684]
faddp st(1)
fstp dword [esi + 0x14]
fld dword [esi + 0x14]
mov eax, dword [esi + 0x94]
mov dword [ebp - 0xec], eax
fild dword [ebp - 0xec]
fxch st(1)
fucompp
fnstsw ax
sahf
setb al
movzx eax, al
cmp eax, 0
jne 0x548649
fldz
fstp dword [esi + 0x14]
fld dword [esi + 0x6c]
fld dword [esi + 0x70]
fmul dword [0x685b98]
fsubp st(1)
fstp dword [esi + 0x6c]
fld dword [esi + 0x6c]
fldz
fxch st(1)
fucompp
fnstsw ax
sahf
setbe al
movzx eax, al
cmp eax, 0
jne 0x54867d
mov eax, dword [esi + 0x20]
cmp eax, 0
setl al
movzx eax, al
cmp eax, 0
jne 0x548690
mov eax, dword [esi + 0x20]
cmp eax, 0x780
setg al
movzx eax, al
cmp eax, 0
jne 0x5486a1
mov eax, dword [esi + 0x24]
cmp eax, 0
setl al
movzx eax, al
cmp eax, 0
jne 0x5486b5
mov eax, dword [esi + 0x24]
cmp eax, dword [0x6854c8]
setg al
movzx eax, al
cmp eax, 0
je 0x5486c5
push dword [esi + 8]
call fcn.005378c8
add esp, 4
jmp 0x54af69
push esi
call fcn.0054d770
add esp, 4
jmp 0x54af69
push esi
call fcn.0054efbf
add esp, 4
jmp 0x54af69
cmp dword [esi + 0x28], 1
jne 0x5486f8
push 4
call fcn.0064aa63
add esp, 4
jmp 0x548702
push 3
call fcn.0064aa63
add esp, 4
push dword [esi + 0x6c]
call fcn.0064aa9c
add esp, 4
push dword [esi + 0x68]
push dword [esi + 0x64]
call fcn.0064af1c
add esp, 8
push dword [esi + 0x60]
call fcn.0064aeed
add esp, 4
push dword [esi + 0x14]
push dword [ebp - 0xe4]
push dword [ebp - 0xe8]
push dword [esi + 0x10]
call fcn.004eae37
add esp, 0x10
cmp dword [esi + 0x94], 0
jle 0x54876b
fld dword [esi + 0x14]
fld dword [0x685ba0]
mov eax, dword [esi + 0x98]
mov dword [ebp - 0xec], eax
fild dword [ebp - 0xec]
fmulp st(1)
faddp st(1)
fstp dword [esi + 0x14]
fld dword [esi + 0x14]
mov eax, dword [esi + 0x94]
sub eax, 1
mov dword [ebp - 0xec], eax
fild dword [ebp - 0xec]
fxch st(1)
fucompp
fnstsw ax
sahf
setb al
movzx eax, al
cmp eax, 0
jne 0x54879a
fldz
fstp dword [esi + 0x14]
fld dword [esi + 0x6c]
fld dword [0x685b98]
fdiv dword [0x69f688]
fsubp st(1)
fstp dword [esi + 0x6c]
fld dword [esi + 0x64]
fld dword [0x685b98]
fdiv dword [0x69f68c]
fsubp st(1)
fstp dword [esi + 0x64]
fld dword [esi + 0x64]
fstp dword [esi + 0x68]
fld dword [esi + 0x6c]
fldz
fxch st(1)
fucompp
fnstsw ax
sahf
setbe al
movzx eax, al
cmp eax, 0
jne 0x5487f5
fld dword [esi + 0x64]
fld dword [0x69f690]
fxch st(1)
fucompp
fnstsw ax
sahf
setbe al
movzx eax, al
cmp eax, 0
je 0x548805
push dword [esi + 8]
call fcn.005378c8
add esp, 4
jmp 0x54af69
cmp dword [esi + 0x28], 1
jne 0x54881c
push 4
call fcn.0064aa63
add esp, 4
jmp 0x548826
push 3
call fcn.0064aa63
add esp, 4
push dword [esi + 0x6c]
call fcn.0064aa9c
add esp, 4
push dword [esi + 0x68]
push dword [esi + 0x64]
call fcn.0064af1c
add esp, 8
fld dword [esi + 0x60]
fstp dword [ebp - 0x80]
fld dword [0x69f694]
sub esp, 8
fstp qword [esp]
fld dword [esi + 0x58]
fmul dword [0x685b98]
fdiv dword [0x69f698]
sub esp, 8
fstp qword [esp]
call fcn.004c1880
add esp, 0x10
fld dword [ebp - 0x80]
faddp st(1)
fstp dword [ebp - 0x80]
fld dword [ebp - 0x80]
fstp dword [esi + 0x60]
push dword [esi + 0x60]
call fcn.0064aeed
add esp, 4
push dword [esi + 0x14]
push dword [ebp - 0xe4]
push dword [ebp - 0xe8]
push dword [esi + 0x10]
call fcn.004eae37
add esp, 0x10
cmp dword [0x685b8c], 0x32
jle 0x548962
push 1
push 0x64
call fcn.0065e049
add esp, 8
mov dword [ebp - 0xec], eax
fild dword [ebp - 0xec]
fld dword [0x69f69c]
fsub dword [esi + 0x6c]
fmul dword [0x69f6a0]
fxch st(1)
fucompp
fnstsw ax
sahf
seta al
movzx eax, al
cmp eax, 0
je 0x5488ff
mov ecx, 8
mov eax, dword [0x68b334]
cdq
idiv ecx
mov eax, edx
cmp eax, 0
sete al
movzx eax, al
cmp eax, 0
je 0x548962
cmp dword [esi + 0x94], 0
jle 0x548930
mov eax, dword [esi + 0x94]
sub eax, 1
push eax
push 0
call fcn.0065e049
add esp, 8
mov dword [ebp - 0xec], eax
fild dword [ebp - 0xec]
fstp dword [esi + 0x14]
mov eax, dword [esi + 0x24]
mov dword [ebp - 0xec], eax
fild dword [ebp - 0xec]
sub esp, 4
fstp dword [esp]
mov eax, dword [esi + 0x20]
mov dword [ebp - 0xec], eax
fild dword [ebp - 0xec]
sub esp, 4
fstp dword [esp]
call fcn.0054b5b5
add esp, 8
cmp dword [esi + 0x94], 0
jle 0x54898d
fld dword [esi + 0x14]
fld dword [0x685ba0]
mov eax, dword [esi + 0x98]
mov dword [ebp - 0xec], eax
fild dword [ebp - 0xec]
fmulp st(1)
faddp st(1)
fstp dword [esi + 0x14]
fld dword [esi + 0x14]
mov eax, dword [esi + 0x94]
sub eax, 1
mov dword [ebp - 0xec], eax
fild dword [ebp - 0xec]
fxch st(1)
fucompp
fnstsw ax
sahf
setb al
movzx eax, al
cmp eax, 0
jne 0x5489bc
fldz
fstp dword [esi + 0x14]
fld dword [esi + 0x6c]
fld dword [0x685b98]
fdiv dword [0x69f6a4]
fsubp st(1)
fstp dword [esi + 0x6c]
fld dword [esi + 0x64]
fld dword [0x685b98]
fdiv dword [0x69f6a8]
fsubp st(1)
fstp dword [esi + 0x64]
fld dword [esi + 0x64]
fstp dword [esi + 0x68]
fld dword [esi + 0x6c]
fldz
fxch st(1)
fucompp
fnstsw ax
sahf
setbe al
movzx eax, al
cmp eax, 0
jne 0x548a17
fld dword [esi + 0x64]
fld dword [0x69f6ac]
fxch st(1)
fucompp
fnstsw ax
sahf
setbe al
movzx eax, al
cmp eax, 0
je 0x548a27
push dword [esi + 8]
call fcn.005378c8
add esp, 4
jmp 0x54af69
push 4
call fcn.0064aa63
add esp, 4
push dword [esi + 0x6c]
call fcn.0064aa9c
add esp, 4
push dword [esi + 0x68]
push dword [esi + 0x64]
call fcn.0064af1c
add esp, 8
fld dword [esi + 0x58]
fld dword [esi + 0x5c]
fmul dword [0x685b98]
fdiv dword [0x69f6b0]
faddp st(1)
fstp dword [esi + 0x58]
fld dword [esi + 0x60]
fstp dword [ebp - 0x84]
fld dword [0x69f6b4]
sub esp, 8
fstp qword [esp]
fld dword [esi + 0x58]
fmul dword [0x685b98]
fdiv dword [0x69f6b8]
sub esp, 8
fstp qword [esp]
call fcn.004c1880
add esp, 0x10
fld dword [ebp - 0x84]
faddp st(1)
fstp dword [ebp - 0x84]
fld dword [ebp - 0x84]
fstp dword [esi + 0x60]
push dword [esi + 0x60]
call fcn.0064aeed
add esp, 4
fld dword [esi + 0xbc]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
fld dword [esi + 0xb8]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
fld dword [esi + 0xb4]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
call fcn.0064a9e3
add esp, 0xc
push dword [esi + 0x14]
push dword [ebp - 0xe4]
push dword [ebp - 0xe8]
push dword [esi + 0x10]
call fcn.004eae37
add esp, 0x10
cmp dword [esi + 0x94], 0
jle 0x548bda
fld dword [esi + 0x14]
mov eax, dword [esi + 0xd8]
mov dword [ebp - 0xec], eax
fild dword [ebp - 0xec]
fxch st(1)
fucompp
fnstsw ax
sahf
seta al
movzx eax, al
cmp eax, 0
jne 0x548b62
fld dword [esi + 0x14]
fld dword [0x685ba0]
fmul dword [esi + 0x74]
faddp st(1)
fstp dword [esi + 0x14]
jmp 0x548b84
fld dword [esi + 0x14]
fld dword [0x685ba0]
mov eax, dword [esi + 0x98]
mov dword [ebp - 0xec], eax
fild dword [ebp - 0xec]
fmulp st(1)
faddp st(1)
fstp dword [esi + 0x14]
fld dword [esi + 0x14]
mov eax, dword [esi + 0x94]
sub eax, 1
mov dword [ebp - 0xec], eax
fild dword [ebp - 0xec]
fxch st(1)
fucompp
fnstsw ax
sahf
setb al
movzx eax, al
cmp eax, 0
jne 0x548bda
mov eax, dword [esi + 0x94]
sub eax, 1
mov dword [ebp - 0xec], eax
fild dword [ebp - 0xec]
fstp dword [esi + 0x14]
fld dword [esi + 0x6c]
fld dword [0x685ba0]
fmul dword [0x69f6bc]
fsubp st(1)
fstp dword [esi + 0x6c]
fld dword [esi + 0x6c]
fld dword [0x685ba0]
fmul dword [esi + 0x70]
fsubp st(1)
fstp dword [esi + 0x6c]
fld dword [esi + 0x6c]
fldz
fxch st(1)
fucompp
fnstsw ax
sahf
setbe al
movzx eax, al
cmp eax, 0
jne 0x548c27
fld dword [esi + 0x14]
mov eax, dword [esi + 0x94]
sub eax, 1
mov dword [ebp - 0xec], eax
fild dword [ebp - 0xec]
fxch st(1)
fucompp
fnstsw ax
sahf
setae al
movzx eax, al
cmp eax, 0
je 0x548c37
push dword [esi + 8]
call fcn.005378c8
add esp, 4
jmp 0x54af69
push 4
call fcn.0064aa63
add esp, 4
push dword [esi + 0x6c]
call fcn.0064aa9c
add esp, 4
push dword [esi + 0x68]
push dword [esi + 0x64]
call fcn.0064af1c
add esp, 8
fld dword [esi + 0x60]
fstp dword [ebp - 0x88]
fld dword [0x69f6c0]
sub esp, 8
fstp qword [esp]
fld dword [esi + 0x58]
fmul dword [0x685b98]
fdiv dword [0x69f6c4]
sub esp, 8
fstp qword [esp]
call fcn.004c1880
add esp, 0x10
fld dword [ebp - 0x88]
faddp st(1)
fstp dword [ebp - 0x88]
fld dword [ebp - 0x88]
fstp dword [esi + 0x60]
push dword [esi + 0x60]
call fcn.0064aeed
add esp, 4
fld dword [esi + 0xbc]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
fld dword [esi + 0xb8]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
fld dword [esi + 0xb4]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
call fcn.0064a9e3
add esp, 0xc
push dword [esi + 0x14]
push dword [ebp - 0xe4]
push dword [ebp - 0xe8]
push dword [esi + 0x10]
call fcn.004eae37
add esp, 0x10
cmp dword [esi + 0x90], 0
jne 0x548d51
fld dword [esi + 0x6c]
fld dword [0x685ba0]
fmul dword [esi + 0x74]
faddp st(1)
fstp dword [esi + 0x6c]
fld dword [esi + 0x6c]
fld1
fxch st(1)
fucompp
fnstsw ax
sahf
setb al
movzx eax, al
cmp eax, 0
jne 0x548d4f
mov dword [esi + 0x90], 1
jmp 0x548db9
mov eax, dword [esi + 0x98]
mov dword [ebp - 0xec], eax
fild dword [ebp - 0xec]
fsub dword [0x685b98]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
mov dword [esi + 0x98], eax
cmp dword [esi + 0x98], 0
jg 0x548db9
fld dword [esi + 0x6c]
fld dword [0x685ba0]
fmul dword [esi + 0x70]
fsubp st(1)
fstp dword [esi + 0x6c]
fld dword [esi + 0x6c]
fldz
fxch st(1)
fucompp
fnstsw ax
sahf
seta al
movzx eax, al
cmp eax, 0
jne 0x548db9
push dword [esi + 8]
call fcn.005378c8
add esp, 4
jmp 0x54af69
push 3
call fcn.0064aa63
add esp, 4
push dword [esi + 0x6c]
call fcn.0064aa9c
add esp, 4
push dword [esi + 0x68]
push dword [esi + 0x64]
call fcn.0064af1c
add esp, 8
fld dword [esi + 0x58]
fldz
fxch st(1)
fucompp
fnstsw ax
sahf
setbe al
movzx eax, al
cmp eax, 0
jne 0x548e61
fld dword [esi + 0x60]
fstp dword [ebp - 0x8c]
fld dword [0x69f6c8]
sub esp, 8
fstp qword [esp]
fld dword [esi + 0x58]
fmul dword [0x685b98]
fdiv dword [0x69f6cc]
sub esp, 8
fstp qword [esp]
call fcn.004c1880
add esp, 0x10
fld dword [ebp - 0x8c]
faddp st(1)
fstp dword [ebp - 0x8c]
fld dword [ebp - 0x8c]
fstp dword [esi + 0x60]
fld dword [esi + 0x60]
fld dword [esi + 0x5c]
fxch st(1)
fucompp
fnstsw ax
sahf
setbe al
movzx eax, al
cmp eax, 0
jne 0x548e5f
fld dword [esi + 0x5c]
fstp dword [esi + 0x60]
jmp 0x548ec8
fld dword [esi + 0x60]
fstp dword [ebp - 0x90]
fld dword [0x69f6d0]
sub esp, 8
fstp qword [esp]
fld dword [esi + 0x58]
fmul dword [0x685b98]
fdiv dword [0x69f6d4]
sub esp, 8
fstp qword [esp]
call fcn.004c1880
add esp, 0x10
fld dword [ebp - 0x90]
faddp st(1)
fstp dword [ebp - 0x90]
fld dword [ebp - 0x90]
fstp dword [esi + 0x60]
fld dword [esi + 0x60]
fld dword [esi + 0x5c]
fxch st(1)
fucompp
fnstsw ax
sahf
setae al
movzx eax, al
cmp eax, 0
jne 0x548ec8
fld dword [esi + 0x5c]
fstp dword [esi + 0x60]
push dword [esi + 0x60]
call fcn.0064aeed
add esp, 4
fld dword [esi + 0xbc]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
fld dword [esi + 0xb8]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
fld dword [esi + 0xb4]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
call fcn.0064a9e3
add esp, 0xc
push dword [esi + 0x14]
push dword [ebp - 0xe4]
push dword [ebp - 0xe8]
push dword [esi + 0x10]
call fcn.004eae37
add esp, 0x10
cmp dword [esi + 0x90], 0
jne 0x548f71
fld dword [esi + 0x6c]
fld dword [0x685ba0]
fmul dword [esi + 0x74]
faddp st(1)
fstp dword [esi + 0x6c]
fld dword [esi + 0x6c]
fld1
fxch st(1)
fucompp
fnstsw ax
sahf
setb al
movzx eax, al
cmp eax, 0
jne 0x548f6f
mov dword [esi + 0x90], 1
jmp 0x548fd9
mov eax, dword [esi + 0x98]
mov dword [ebp - 0xec], eax
fild dword [ebp - 0xec]
fsub dword [0x685b98]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
mov dword [esi + 0x98], eax
cmp dword [esi + 0x98], 0
jg 0x548fd9
fld dword [esi + 0x6c]
fld dword [0x685ba0]
fmul dword [esi + 0x70]
fsubp st(1)
fstp dword [esi + 0x6c]
fld dword [esi + 0x6c]
fldz
fxch st(1)
fucompp
fnstsw ax
sahf
seta al
movzx eax, al
cmp eax, 0
jne 0x548fd9
push dword [esi + 8]
call fcn.005378c8
add esp, 4
jmp 0x54af69
push 3
call fcn.0064aa63
add esp, 4
push dword [esi + 0x6c]
call fcn.0064aa9c
add esp, 4
fld dword [esi + 0x54]
fld dword [esi + 0x4c]
fmul dword [0x685ba0]
faddp st(1)
fstp dword [esi + 0x54]
fld dword [esi + 0x54]
fld dword [0x69f6d8]
fxch st(1)
fucompp
fnstsw ax
sahf
setb al
movzx eax, al
cmp eax, 0
jne 0x549024
fldz
fstp dword [esi + 0x54]
fld dword [esi + 0xac]
fstp dword [ebp - 0xdc]
fld dword [esi + 0xb0]
fstp dword [ebp - 0x94]
mov ebx, dword [0x686f50]
fld dword [esi + 0x54]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
fld dword [ebp - 0x94]
fmul dword [ebx + eax*4 + 0x18]
fstp dword [ebp - 0x94]
fld dword [ebp - 0xdc]
fadd dword [ebp - 0x94]
fstp dword [ebp - 0xdc]
fld dword [ebp - 0xdc]
fstp dword [esi + 0x64]
push dword [esi + 0x64]
push dword [esi + 0x64]
call fcn.0064af1c
add esp, 8
fld dword [esi + 0x58]
fld dword [esi + 0x5c]
fmul dword [0x685b98]
fdiv dword [0x69f6dc]
faddp st(1)
fstp dword [esi + 0x58]
fld dword [esi + 0x60]
fstp dword [ebp - 0x98]
fld dword [0x69f6e0]
sub esp, 8
fstp qword [esp]
fld dword [esi + 0x58]
fmul dword [0x685b98]
fdiv dword [0x69f6e4]
sub esp, 8
fstp qword [esp]
call fcn.004c1880
add esp, 0x10
fld dword [ebp - 0x98]
faddp st(1)
fstp dword [ebp - 0x98]
fld dword [ebp - 0x98]
fstp dword [esi + 0x60]
push dword [esi + 0x60]
call fcn.0064aeed
add esp, 4
fld dword [esi + 0xbc]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
fld dword [esi + 0xb8]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
fld dword [esi + 0xb4]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
call fcn.0064a9e3
add esp, 0xc
push dword [esi + 0x14]
push dword [ebp - 0xe4]
push dword [ebp - 0xe8]
push dword [esi + 0x10]
call fcn.004eae37
add esp, 0x10
cmp dword [esi + 0x90], 0
jne 0x549195
fld dword [esi + 0x6c]
fld dword [0x685ba0]
fmul dword [esi + 0x74]
faddp st(1)
fstp dword [esi + 0x6c]
fld dword [esi + 0x6c]
fld1
fxch st(1)
fucompp
fnstsw ax
sahf
setb al
movzx eax, al
cmp eax, 0
jne 0x549193
mov dword [esi + 0x90], 1
jmp 0x5491fd
mov eax, dword [esi + 0x98]
mov dword [ebp - 0xec], eax
fild dword [ebp - 0xec]
fsub dword [0x685b98]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
mov dword [esi + 0x98], eax
cmp dword [esi + 0x98], 0
jg 0x5491fd
fld dword [esi + 0x6c]
fld dword [0x685ba0]
fmul dword [esi + 0x70]
fsubp st(1)
fstp dword [esi + 0x6c]
fld dword [esi + 0x6c]
fldz
fxch st(1)
fucompp
fnstsw ax
sahf
seta al
movzx eax, al
cmp eax, 0
jne 0x5491fd
push dword [esi + 8]
call fcn.005378c8
add esp, 4
jmp 0x54af69
push 4
call fcn.0064aa63
add esp, 4
push dword [esi + 0x6c]
call fcn.0064aa9c
add esp, 4
push dword [esi + 0x68]
push dword [esi + 0x64]
call fcn.0064af1c
add esp, 8
fld dword [esi + 0x58]
fld dword [esi + 0x5c]
fmul dword [0x685b98]
fdiv dword [0x69f6e8]
faddp st(1)
fstp dword [esi + 0x58]
fld dword [esi + 0x60]
fstp dword [ebp - 0x9c]
fld dword [0x69f6ec]
sub esp, 8
fstp qword [esp]
fld dword [esi + 0x58]
fmul dword [0x685b98]
fdiv dword [0x69f6f0]
sub esp, 8
fstp qword [esp]
call fcn.004c1880
add esp, 0x10
fld dword [ebp - 0x9c]
faddp st(1)
fstp dword [ebp - 0x9c]
fld dword [ebp - 0x9c]
fstp dword [esi + 0x60]
push dword [esi + 0x60]
call fcn.0064aeed
add esp, 4
fld dword [esi + 0xbc]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
fld dword [esi + 0xb8]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
fld dword [esi + 0xb4]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
call fcn.0064a9e3
add esp, 0xc
push dword [esi + 0x14]
push dword [ebp - 0xe4]
push dword [ebp - 0xe8]
push dword [esi + 0x10]
call fcn.004eae37
add esp, 0x10
fld dword [esi + 0x6c]
fld dword [0x685ba0]
fmul dword [0x69f6f4]
fsubp st(1)
fstp dword [esi + 0x6c]
fld dword [esi + 0x64]
fld dword [0x685ba0]
fmul dword [0x69f6f8]
faddp st(1)
fstp dword [esi + 0x64]
fld dword [esi + 0x64]
fstp dword [esi + 0x68]
fld dword [esi + 0x6c]
fldz
fxch st(1)
fucompp
fnstsw ax
sahf
seta al
movzx eax, al
cmp eax, 0
jne 0x549341
push dword [esi + 8]
call fcn.005378c8
add esp, 4
cmp dword [esi + 0x94], 0
jle 0x5493c6
fld dword [esi + 0x14]
fld dword [0x69f6fc]
fxch st(1)
fucompp
fnstsw ax
sahf
seta al
movzx eax, al
cmp eax, 0
jne 0x54937b
fld dword [esi + 0x14]
fld dword [0x685ba0]
fmul dword [0x69f700]
faddp st(1)
fstp dword [esi + 0x14]
jmp 0x54938f
fld dword [esi + 0x14]
fld dword [0x685ba0]
fmul dword [0x69f704]
faddp st(1)
fstp dword [esi + 0x14]
fld dword [esi + 0x14]
mov eax, dword [esi + 0x94]
mov dword [ebp - 0xec], eax
fild dword [ebp - 0xec]
fxch st(1)
fucompp
fnstsw ax
sahf
setb al
movzx eax, al
cmp eax, 0
jne 0x5493c6
fldz
fstp dword [esi + 0x14]
push dword [esi + 8]
call fcn.005378c8
add esp, 4
jmp 0x54af69
cmp dword [esi + 0x7c], 0
jg 0x549582
push 3
call fcn.0064aa63
add esp, 4
push dword [esi + 0x6c]
call fcn.0064aa9c
add esp, 4
fld dword [0x69f708]
sub esp, 8
fstp qword [esp]
fld dword [esi + 0x6c]
sub esp, 8
fstp qword [esp]
call fcn.004c18c0
add esp, 0x10
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
fld dword [esi + 0x68]
mov dword [ebp - 0xec], eax
fild dword [ebp - 0xec]
fmulp st(1)
sub esp, 4
fstp dword [esp]
fld dword [esi + 0x64]
mov dword [ebp - 0xec], eax
fild dword [ebp - 0xec]
fmulp st(1)
sub esp, 4
fstp dword [esp]
call fcn.0064af1c
add esp, 8
push dword [esi + 0x60]
call fcn.0064aeed
add esp, 4
fld dword [esi + 0x60]
fstp dword [ebp - 0xa0]
fld dword [0x69f70c]
sub esp, 8
fstp qword [esp]
fld dword [esi + 0x58]
fmul dword [0x685ba0]
sub esp, 8
fstp qword [esp]
call fcn.004c1880
add esp, 0x10
fld dword [ebp - 0xa0]
faddp st(1)
fstp dword [ebp - 0xa0]
fld dword [ebp - 0xa0]
fstp dword [esi + 0x60]
push dword [esi + 0x14]
push dword [ebp - 0xe4]
push dword [ebp - 0xe8]
push dword [esi + 0x10]
call fcn.004eae37
add esp, 0x10
fld dword [esi + 0x14]
fld dword [0x685ba0]
fmul dword [0x69f710]
faddp st(1)
fstp dword [esi + 0x14]
fld dword [esi + 0x14]
mov eax, dword [esi + 0x94]
mov dword [ebp - 0xec], eax
fild dword [ebp - 0xec]
fxch st(1)
fucompp
fnstsw ax
sahf
setb al
movzx eax, al
cmp eax, 0
jne 0x5494fa
fldz
fstp dword [esi + 0x14]
sub dword [esi + 0x90], 1
cmp dword [esi + 0x90], 0
jg 0x54950f
fld dword [esi + 0x6c]
fsub dword [0x685ba0]
fstp dword [esi + 0x6c]
fld dword [esi + 0x6c]
fld dword [0x69f714]
fxch st(1)
fucompp
fnstsw ax
sahf
setbe al
movzx eax, al
cmp eax, 0
jne 0x549536
mov eax, dword [esi + 0x20]
cmp eax, 0
setl al
movzx eax, al
cmp eax, 0
jne 0x549549
mov eax, dword [esi + 0x20]
cmp eax, 0x780
setg al
movzx eax, al
cmp eax, 0
jne 0x54955a
mov eax, dword [esi + 0x24]
cmp eax, 0
setl al
movzx eax, al
cmp eax, 0
jne 0x549572
mov edx, dword [esi + 0x24]
mov eax, dword [0x6854c8]
add eax, 0x10
cmp edx, eax
setg al
movzx eax, al
cmp eax, 0
je 0x549582
push dword [esi + 8]
call fcn.005378c8
add esp, 4
jmp 0x54af69
cmp dword [esi + 0x7c], 0
jg 0x549733
push 3
call fcn.0064aa63
add esp, 4
push dword [esi + 0x6c]
call fcn.0064aa9c
add esp, 4
push dword [esi + 0x68]
push dword [esi + 0x64]
call fcn.0064af1c
add esp, 8
fld dword [esi + 0x60]
fstp dword [ebp - 0xa4]
fld dword [0x69f718]
sub esp, 8
fstp qword [esp]
fld dword [esi + 0x58]
fmul dword [0x685ba0]
sub esp, 8
fstp qword [esp]
call fcn.004c1880
add esp, 0x10
fld dword [ebp - 0xa4]
faddp st(1)
fstp dword [ebp - 0xa4]
fld dword [ebp - 0xa4]
fstp dword [esi + 0x60]
push dword [esi + 0x60]
call fcn.0064aeed
add esp, 4
push dword [esi + 0x14]
push dword [ebp - 0xe4]
push dword [ebp - 0xe8]
push dword [esi + 0x10]
call fcn.004eae37
add esp, 0x10
push 0x3f800000
push 0x3f800000
call fcn.0064af1c
add esp, 8
push 0
call fcn.0064aeed
add esp, 4
fld dword [esi + 0x14]
fld dword [0x685ba0]
mov eax, dword [esi + 0x98]
mov dword [ebp - 0xec], eax
fild dword [ebp - 0xec]
fmulp st(1)
faddp st(1)
fstp dword [esi + 0x14]
mov eax, dword [esi + 0x98]
sub eax, 1
push eax
push 0x1e
call fcn.004c1800
add esp, 8
mov dword [esi + 0x98], eax
fld dword [esi + 0x14]
mov eax, dword [esi + 0x94]
mov dword [ebp - 0xec], eax
fild dword [ebp - 0xec]
fxch st(1)
fucompp
fnstsw ax
sahf
setb al
movzx eax, al
cmp eax, 0
jne 0x5496a7
fldz
fstp dword [esi + 0x14]
sub dword [esi + 0x90], 1
cmp dword [esi + 0x90], 0
jg 0x5496c4
fld dword [esi + 0x6c]
fld dword [0x685b98]
fdiv dword [0x69f71c]
fsubp st(1)
fstp dword [esi + 0x6c]
fld dword [esi + 0x6c]
fldz
fxch st(1)
fucompp
fnstsw ax
sahf
setbe al
movzx eax, al
cmp eax, 0
jne 0x5496e7
mov eax, dword [esi + 0x20]
cmp eax, 0
setl al
movzx eax, al
cmp eax, 0
jne 0x5496fa
mov eax, dword [esi + 0x20]
cmp eax, 0x780
setg al
movzx eax, al
cmp eax, 0
jne 0x54970b
mov eax, dword [esi + 0x24]
cmp eax, 0
setl al
movzx eax, al
cmp eax, 0
jne 0x549723
mov edx, dword [esi + 0x24]
mov eax, dword [0x6854c8]
add eax, 0x10
cmp edx, eax
setg al
movzx eax, al
cmp eax, 0
je 0x549733
push dword [esi + 8]
call fcn.005378c8
add esp, 4
jmp 0x54af69
cmp dword [esi + 0x7c], 0
jg 0x54989d
push 3
call fcn.0064aa63
add esp, 4
push dword [esi + 0x6c]
call fcn.0064aa9c
add esp, 4
fld dword [0x69f720]
sub esp, 8
fstp qword [esp]
fld dword [esi + 0x64]
fld dword [0x69f724]
fmul dword [0x685b98]
faddp st(1)
sub esp, 8
fstp qword [esp]
call fcn.004c18a0
add esp, 0x10
fstp dword [esi + 0x64]
push dword [esi + 0x68]
push dword [esi + 0x64]
call fcn.0064af1c
add esp, 8
push dword [esi + 0x60]
call fcn.0064aeed
add esp, 4
push dword [esi + 0x14]
push dword [ebp - 0xe4]
push dword [ebp - 0xe8]
push dword [esi + 0x10]
call fcn.004eae37
add esp, 0x10
push 0x3f800000
push 0x3f800000
call fcn.0064af1c
add esp, 8
push 0
call fcn.0064aeed
add esp, 4
fld dword [esi + 0x58]
fld dword [esi + 0x5c]
fmul dword [0x685ba0]
faddp st(1)
fstp dword [esi + 0x58]
fld dword [esi + 0x60]
fstp dword [ebp - 0xa8]
fld dword [0x69f728]
sub esp, 8
fstp qword [esp]
fld dword [esi + 0x58]
fmul dword [0x685ba0]
sub esp, 8
fstp qword [esp]
call fcn.004c1880
add esp, 0x10
fld dword [ebp - 0xa8]
faddp st(1)
fstp dword [ebp - 0xa8]
fld dword [ebp - 0xa8]
fstp dword [esi + 0x60]
cmp dword [esi + 0x90], 0
jg 0x549866
fld dword [esi + 0x6c]
fld dword [0x685ba0]
fmul dword [esi + 0x70]
fsubp st(1)
fstp dword [esi + 0x6c]
fld dword [esi + 0x6c]
fldz
fxch st(1)
fucompp
fnstsw ax
sahf
seta al
movzx eax, al
cmp eax, 0
jne 0x549864
push dword [esi + 8]
call fcn.005378c8
add esp, 4
jmp 0x54989d
fld dword [esi + 0x6c]
fld dword [0x685ba0]
fmul dword [esi + 0x70]
faddp st(1)
fstp dword [esi + 0x6c]
fld dword [esi + 0x6c]
fld1
fxch st(1)
fucompp
fnstsw ax
sahf
setb al
movzx eax, al
cmp eax, 0
jne 0x54989d
fld1
fstp dword [esi + 0x6c]
mov dword [esi + 0x90], 0
jmp 0x54af69
cmp dword [esi + 0x7c], 0
jg 0x5499ce
push 4
call fcn.0064aa63
add esp, 4
push dword [esi + 0x6c]
call fcn.0064aa9c
add esp, 4
push dword [esi + 0x68]
push dword [esi + 0x64]
call fcn.0064af1c
add esp, 8
push dword [esi + 0x60]
call fcn.0064aeed
add esp, 4
fld dword [esi + 0xbc]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
fld dword [esi + 0xb8]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
fld dword [esi + 0xb4]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
call fcn.0064a9e3
add esp, 0xc
push dword [esi + 0x14]
push dword [ebp - 0xe4]
push dword [ebp - 0xe8]
push dword [esi + 0x10]
call fcn.004eae37
add esp, 0x10
fld dword [esi + 0x58]
fld dword [esi + 0x5c]
fmul dword [0x685ba0]
faddp st(1)
fstp dword [esi + 0x58]
fld dword [esi + 0x60]
fstp dword [ebp - 0xac]
fld dword [0x69f72c]
sub esp, 8
fstp qword [esp]
fld dword [esi + 0x58]
fmul dword [0x685ba0]
sub esp, 8
fstp qword [esp]
call fcn.004c1880
add esp, 0x10
fld dword [ebp - 0xac]
faddp st(1)
fstp dword [ebp - 0xac]
fld dword [ebp - 0xac]
fstp dword [esi + 0x60]
cmp dword [esi + 0x90], 0
jg 0x5499ce
fld dword [esi + 0x6c]
fld dword [0x685ba0]
fmul dword [0x69f730]
fsubp st(1)
fstp dword [esi + 0x6c]
fld dword [esi + 0x6c]
fldz
fxch st(1)
fucompp
fnstsw ax
sahf
seta al
movzx eax, al
cmp eax, 0
jne 0x5499ce
push dword [esi + 8]
call fcn.005378c8
add esp, 4
jmp 0x54af69
cmp dword [esi + 0x7c], 0
jg 0x549bc8
push 4
call fcn.0064aa63
add esp, 4
push dword [esi + 0x6c]
call fcn.0064aa9c
add esp, 4
push dword [esi + 0x64]
push dword [esi + 0x64]
call fcn.0064af1c
add esp, 8
push dword [esi + 0x60]
call fcn.0064aeed
add esp, 4
fld dword [esi + 0xbc]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
fld dword [esi + 0xb8]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
fld dword [esi + 0xb4]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
call fcn.0064a9e3
add esp, 0xc
push dword [esi + 0x14]
push dword [ebp - 0xe4]
push dword [ebp - 0xe8]
push dword [esi + 0x10]
call fcn.004eae37
add esp, 0x10
fld dword [esi + 0x58]
fld dword [esi + 0x5c]
fmul dword [0x685ba0]
faddp st(1)
fstp dword [esi + 0x58]
fld dword [esi + 0x60]
fstp dword [ebp - 0xb0]
fld dword [0x69f734]
sub esp, 8
fstp qword [esp]
fld dword [esi + 0x58]
fmul dword [0x685ba0]
sub esp, 8
fstp qword [esp]
call fcn.004c1880
add esp, 0x10
fld dword [ebp - 0xb0]
faddp st(1)
fstp dword [ebp - 0xb0]
fld dword [ebp - 0xb0]
fstp dword [esi + 0x60]
cmp dword [esi + 0x94], 0
jle 0x549b1e
fld dword [esi + 0x14]
fld dword [0x685ba0]
mov eax, dword [esi + 0x98]
mov dword [ebp - 0xec], eax
fild dword [ebp - 0xec]
fmulp st(1)
faddp st(1)
fstp dword [esi + 0x14]
fld dword [esi + 0x14]
mov eax, dword [esi + 0x94]
mov dword [ebp - 0xec], eax
fild dword [ebp - 0xec]
fxch st(1)
fucompp
fnstsw ax
sahf
setb al
movzx eax, al
cmp eax, 0
jne 0x549b1e
fldz
fstp dword [esi + 0x14]
sub dword [esi + 0x90], 1
mov eax, dword [esi + 0x90]
mov dword [ebp - 0xec], eax
fild dword [ebp - 0xec]
fld dword [esi + 0x50]
fxch st(1)
fucompp
fnstsw ax
sahf
setbe al
movzx eax, al
cmp eax, 0
jne 0x549b5b
fld dword [esi + 0x64]
fld dword [0x685ba0]
fmul dword [0x69f738]
faddp st(1)
fstp dword [esi + 0x64]
jmp 0x549b89
fld dword [0x69f73c]
sub esp, 8
fstp qword [esp]
fld dword [esi + 0x64]
fld dword [0x685ba0]
fmul dword [0x69f740]
fsubp st(1)
sub esp, 8
fstp qword [esp]
call fcn.004c18c0
add esp, 0x10
fstp dword [esi + 0x64]
cmp dword [esi + 0x90], 0
jg 0x549bc8
fld dword [esi + 0x6c]
fld dword [0x685ba0]
fmul dword [0x69f744]
fsubp st(1)
fstp dword [esi + 0x6c]
fld dword [esi + 0x6c]
fldz
fxch st(1)
fucompp
fnstsw ax
sahf
seta al
movzx eax, al
cmp eax, 0
jne 0x549bc8
push dword [esi + 8]
call fcn.005378c8
add esp, 4
jmp 0x54af69
cmp dword [esi + 0x7c], 0
jg 0x549da5
push 4
call fcn.0064aa63
add esp, 4
push dword [esi + 0x6c]
call fcn.0064aa9c
add esp, 4
push dword [esi + 0x64]
push dword [esi + 0x64]
call fcn.0064af1c
add esp, 8
push dword [esi + 0x60]
call fcn.0064aeed
add esp, 4
fld dword [esi + 0xbc]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
fld dword [esi + 0xb8]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
fld dword [esi + 0xb4]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
call fcn.0064a9e3
add esp, 0xc
push dword [esi + 0x14]
push dword [ebp - 0xe4]
push dword [ebp - 0xe8]
push dword [esi + 0x10]
call fcn.004eae37
add esp, 0x10
fld dword [esi + 0x58]
fld dword [esi + 0x5c]
fmul dword [0x685ba0]
faddp st(1)
fstp dword [esi + 0x58]
fld dword [esi + 0x60]
fstp dword [ebp - 0xb4]
fld dword [0x69f748]
sub esp, 8
fstp qword [esp]
fld dword [esi + 0x58]
fmul dword [0x685ba0]
sub esp, 8
fstp qword [esp]
call fcn.004c1880
add esp, 0x10
fld dword [ebp - 0xb4]
faddp st(1)
fstp dword [ebp - 0xb4]
fld dword [ebp - 0xb4]
fstp dword [esi + 0x60]
cmp dword [esi + 0x94], 0
jle 0x549d1b
fld dword [esi + 0x14]
fld dword [0x685ba0]
mov eax, dword [esi + 0x98]
mov dword [ebp - 0xec], eax
fild dword [ebp - 0xec]
fmulp st(1)
faddp st(1)
fstp dword [esi + 0x14]
fld dword [esi + 0x14]
mov eax, dword [esi + 0x94]
mov dword [ebp - 0xec], eax
fild dword [ebp - 0xec]
fxch st(1)
fucompp
fnstsw ax
sahf
setb al
movzx eax, al
cmp eax, 0
jne 0x549d1b
fldz
fstp dword [esi + 0x14]
mov dword [esi + 0x90], 0xffffffff
mov eax, dword [esi + 0x90]
mov dword [ebp - 0xec], eax
fild dword [ebp - 0xec]
fld dword [esi + 0x50]
fxch st(1)
fucompp
fnstsw ax
sahf
setbe al
movzx eax, al
cmp eax, 0
jne 0x549d55
fld dword [esi + 0x64]
fld dword [0x685ba0]
fmul dword [esi + 0x4c]
faddp st(1)
fstp dword [esi + 0x64]
jmp 0x549d69
fld dword [esi + 0x64]
fld dword [0x685ba0]
fmul dword [0x69f74c]
fsubp st(1)
fstp dword [esi + 0x64]
cmp dword [esi + 0x90], 0
jg 0x549da5
fld dword [esi + 0x6c]
fld dword [0x685ba0]
fmul dword [esi + 0x70]
fsubp st(1)
fstp dword [esi + 0x6c]
fld dword [esi + 0x6c]
fldz
fxch st(1)
fucompp
fnstsw ax
sahf
seta al
movzx eax, al
cmp eax, 0
jne 0x549da5
push dword [esi + 8]
call fcn.005378c8
add esp, 4
jmp 0x54af69
push 4
call fcn.0064aa63
add esp, 4
push dword [esi + 0x6c]
call fcn.0064aa9c
add esp, 4
push dword [esi + 0x68]
push dword [esi + 0x64]
call fcn.0064af1c
add esp, 8
push dword [esi + 0x60]
call fcn.0064aeed
add esp, 4
fld dword [esi + 0xbc]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
fld dword [esi + 0xb8]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
fld dword [esi + 0xb4]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
call fcn.0064a9e3
add esp, 0xc
push dword [esi + 0x14]
push dword [ebp - 0xe4]
push dword [ebp - 0xe8]
push dword [esi + 0x10]
call fcn.004eae37
add esp, 0x10
fld dword [esi + 0x58]
fld dword [esi + 0x5c]
fmul dword [0x685ba0]
faddp st(1)
fstp dword [esi + 0x58]
fld dword [esi + 0x60]
fstp dword [ebp - 0xb8]
fld dword [0x69f750]
sub esp, 8
fstp qword [esp]
fld dword [esi + 0x58]
fmul dword [0x685ba0]
sub esp, 8
fstp qword [esp]
call fcn.004c1880
add esp, 0x10
fld dword [ebp - 0xb8]
faddp st(1)
fstp dword [ebp - 0xb8]
fld dword [ebp - 0xb8]
fstp dword [esi + 0x60]
fld dword [esi + 0x6c]
fld dword [0x685ba0]
fmul dword [esi + 0x70]
fsubp st(1)
fstp dword [esi + 0x6c]
fld dword [esi + 0x6c]
fldz
fxch st(1)
fucompp
fnstsw ax
sahf
seta al
movzx eax, al
cmp eax, 0
jne 0x549ec0
push dword [esi + 8]
call fcn.005378c8
add esp, 4
jmp 0x54af69
cmp dword [esi + 0x7c], 0
jg 0x54a00b
push dword [esi + 0x6c]
call fcn.0064aa9c
add esp, 4
push 4
call fcn.0064aa63
add esp, 4
push dword [esi + 0x14]
push dword [ebp - 0xe4]
push dword [ebp - 0xe8]
push dword [0x687cfc]
call fcn.004eae37
add esp, 0x10
fld dword [0x69f754]
sub esp, 8
fstp qword [esp]
fld dword [esi + 0x14]
fld dword [0x685ba0]
fmul dword [0x69f758]
faddp st(1)
sub esp, 8
fstp qword [esp]
call fcn.004c1880
add esp, 0x10
fstp dword [esi + 0x14]
push 3
call fcn.0064aa63
add esp, 4
fld dword [esi + 0xbc]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
fld dword [esi + 0xb8]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
fld dword [esi + 0xb4]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
call fcn.0064a9e3
add esp, 0xc
push dword [esi + 0x68]
push dword [esi + 0x64]
call fcn.0064af1c
add esp, 8
push dword [esi + 0x60]
call fcn.0064aeed
add esp, 4
push 0
push dword [ebp - 0xe4]
push dword [ebp - 0xe8]
push dword [esi + 0x10]
call fcn.004eae37
add esp, 0x10
fld dword [esi + 0x70]
fsub dword [0x685ba0]
fstp dword [esi + 0x70]
fld dword [esi + 0x70]
fldz
fxch st(1)
fucompp
fnstsw ax
sahf
seta al
movzx eax, al
cmp eax, 0
jne 0x54a00b
fld dword [esi + 0x6c]
fld dword [0x685ba0]
fmul dword [0x69f75c]
fsubp st(1)
fstp dword [esi + 0x6c]
fld dword [esi + 0x6c]
fldz
fxch st(1)
fucompp
fnstsw ax
sahf
seta al
movzx eax, al
cmp eax, 0
jne 0x54a00b
push dword [esi + 8]
call fcn.005378c8
add esp, 4
jmp 0x54af69
cmp dword [esi + 0x7c], 0
jg 0x54a156
push 4
call fcn.0064aa63
add esp, 4
push dword [esi + 0x6c]
call fcn.0064aa9c
add esp, 4
push dword [esi + 0x68]
push dword [esi + 0x64]
call fcn.0064af1c
add esp, 8
push dword [esi + 0x60]
call fcn.0064aeed
add esp, 4
fld dword [esi + 0xbc]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
fld dword [esi + 0xb8]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
fld dword [esi + 0xb4]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
call fcn.0064a9e3
add esp, 0xc
push dword [esi + 0x14]
push dword [ebp - 0xe4]
push dword [ebp - 0xe8]
push dword [esi + 0x10]
call fcn.004eae37
add esp, 0x10
fld dword [esi + 0x60]
fstp dword [ebp - 0xbc]
fld dword [0x69f760]
sub esp, 8
fstp qword [esp]
fld dword [esi + 0x58]
fmul dword [0x685ba0]
sub esp, 8
fstp qword [esp]
call fcn.004c1880
add esp, 0x10
fld dword [ebp - 0xbc]
faddp st(1)
fstp dword [ebp - 0xbc]
fld dword [ebp - 0xbc]
fstp dword [esi + 0x60]
fld dword [0x69f764]
sub esp, 8
fstp qword [esp]
fld dword [esi + 0x64]
fld dword [0x685ba0]
fmul dword [0x69f768]
faddp st(1)
sub esp, 8
fstp qword [esp]
call fcn.004c18a0
add esp, 0x10
fstp dword [esi + 0x64]
fld dword [esi + 0x64]
fstp dword [esi + 0x68]
fld dword [esi + 0x6c]
fld dword [0x685ba0]
fmul dword [0x69f76c]
fsubp st(1)
fstp dword [esi + 0x6c]
fld dword [esi + 0x6c]
fldz
fxch st(1)
fucompp
fnstsw ax
sahf
seta al
movzx eax, al
cmp eax, 0
jne 0x54a156
push dword [esi + 8]
call fcn.005378c8
add esp, 4
jmp 0x54af69
cmp dword [esi + 0x7c], 0
jg 0x54a1d4
push 4
call fcn.0064aa63
add esp, 4
push dword [esi + 0x6c]
call fcn.0064aa9c
add esp, 4
push dword [esi + 0x68]
push dword [esi + 0x64]
call fcn.0064af1c
add esp, 8
push dword [esi + 0x14]
push dword [ebp - 0xe4]
push dword [ebp - 0xe8]
push dword [esi + 0x10]
call fcn.004eae37
add esp, 0x10
fld dword [esi + 0x6c]
fld dword [0x685ba0]
fmul dword [0x69f770]
fsubp st(1)
fstp dword [esi + 0x6c]
fld dword [esi + 0x6c]
fldz
fxch st(1)
fucompp
fnstsw ax
sahf
seta al
movzx eax, al
cmp eax, 0
jne 0x54a1d4
push dword [esi + 8]
call fcn.005378c8
add esp, 4
jmp 0x54af69
cmp dword [esi + 0x7c], 0
jg 0x54a2ec
push 4
call fcn.0064aa63
add esp, 4
push dword [esi + 0x6c]
call fcn.0064aa9c
add esp, 4
push dword [esi + 0x68]
push dword [esi + 0x64]
call fcn.0064af1c
add esp, 8
push dword [esi + 0x60]
call fcn.0064aeed
add esp, 4
fld dword [esi + 0xbc]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
fld dword [esi + 0xb8]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
fld dword [esi + 0xb4]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
call fcn.0064a9e3
add esp, 0xc
push dword [esi + 0x14]
push dword [ebp - 0xe4]
push dword [ebp - 0xe8]
push dword [esi + 0x10]
call fcn.004eae37
add esp, 0x10
fld dword [esi + 0x14]
fld dword [0x685ba0]
fmul dword [0x69f774]
faddp st(1)
fstp dword [esi + 0x14]
fld dword [esi + 0x14]
fld dword [0x69f778]
fxch st(1)
fucompp
fnstsw ax
sahf
setbe al
movzx eax, al
cmp eax, 0
jne 0x54a2ad
fldz
fstp dword [esi + 0x14]
sub dword [esi + 0x90], 1
cmp dword [esi + 0x90], 0
jg 0x54a2ec
fld dword [esi + 0x6c]
fld dword [0x685b98]
fdiv dword [0x69f77c]
fsubp st(1)
fstp dword [esi + 0x6c]
fld dword [esi + 0x6c]
fldz
fxch st(1)
fucompp
fnstsw ax
sahf
seta al
movzx eax, al
cmp eax, 0
jne 0x54a2ec
push dword [esi + 8]
call fcn.005378c8
add esp, 4
jmp 0x54af69
cmp dword [esi + 0x7c], 0
jg 0x54a524
push 4
call fcn.0064aa63
add esp, 4
push dword [esi + 0x6c]
call fcn.0064aa9c
add esp, 4
push dword [esi + 0x68]
push dword [esi + 0x64]
call fcn.0064af1c
add esp, 8
push dword [esi + 0x60]
call fcn.0064aeed
add esp, 4
fld dword [esi + 0xbc]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
fld dword [esi + 0xb8]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
fld dword [esi + 0xb4]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
call fcn.0064a9e3
add esp, 0xc
push dword [esi + 0x14]
push dword [ebp - 0xe4]
push dword [ebp - 0xe8]
push dword [esi + 0x10]
call fcn.004eae37
add esp, 0x10
fld dword [esi + 0x68]
fmul dword [0x69f780]
sub esp, 4
fstp dword [esp]
fld dword [esi + 0x64]
fmul dword [0x69f784]
sub esp, 4
fstp dword [esp]
call fcn.0064af1c
add esp, 8
push 0
push dword [ebp - 0xe4]
push dword [ebp - 0xe8]
push dword [0x687d3c]
call fcn.004eae37
add esp, 0x10
push 0xff
push 0xff
push 0xff
call fcn.0064a9e3
add esp, 0xc
fld dword [esi + 0x60]
fld dword [esi + 0x58]
fmul dword [0x685ba0]
faddp st(1)
fstp dword [esi + 0x60]
fld dword [esi + 0x14]
fld dword [0x685ba0]
mov eax, dword [esi + 0x98]
mov dword [ebp - 0xec], eax
fild dword [ebp - 0xec]
fmulp st(1)
faddp st(1)
fstp dword [esi + 0x14]
fld dword [esi + 0x14]
mov eax, dword [esi + 0x94]
mov dword [ebp - 0xec], eax
fild dword [ebp - 0xec]
fxch st(1)
fucompp
fnstsw ax
sahf
setb al
movzx eax, al
cmp eax, 0
jne 0x54a449
fldz
fstp dword [esi + 0x14]
sub dword [esi + 0x90], 1
cmp dword [esi + 0x90], 0
jg 0x54a524
fld dword [esi + 0x6c]
fld dword [0x685ba0]
fmul dword [0x69f788]
fsubp st(1)
fstp dword [esi + 0x6c]
fld dword [esi + 0x6c]
fldz
fxch st(1)
fucompp
fnstsw ax
sahf
seta al
movzx eax, al
cmp eax, 0
jne 0x54a524
cmp dword [0x685bb8], 0x28
jl 0x54a4dc
push dword [esi + 0x80]
push 0
push 0
push 0x3dcccccd
push 0x3f000000
fld dword [ebp - 0xe4]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
fld dword [ebp - 0xe8]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
push 0x20
push dword [0x687d20]
call fcn.0054ba9c
add esp, 0x24
push dword [esi + 0x80]
push 0x3e99999a
mov eax, dword [esi + 0x24]
mov dword [ebp - 0xec], eax
fild dword [ebp - 0xec]
sub esp, 4
fstp dword [esp]
mov eax, dword [esi + 0x20]
mov dword [ebp - 0xec], eax
fild dword [ebp - 0xec]
sub esp, 4
fstp dword [esp]
call fcn.0055923e
add esp, 0x10
push dword [esi + 8]
call fcn.005378c8
add esp, 4
jmp 0x54af69
cmp dword [esi + 0x7c], 0
jg 0x54a5ea
push 4
call fcn.0064aa63
add esp, 4
push dword [esi + 0x6c]
call fcn.0064aa9c
add esp, 4
push dword [esi + 0x68]
push dword [esi + 0x64]
call fcn.0064af1c
add esp, 8
push dword [esi + 0x14]
push dword [ebp - 0xe4]
push dword [ebp - 0xe8]
push dword [esi + 0x10]
call fcn.004eae37
add esp, 0x10
fld dword [esi + 0x14]
fld dword [0x685ba0]
fmul dword [0x69f78c]
faddp st(1)
fstp dword [esi + 0x14]
fld dword [esi + 0x14]
fld dword [0x69f790]
fxch st(1)
fucompp
fnstsw ax
sahf
setbe al
movzx eax, al
cmp eax, 0
jne 0x54a5ab
fldz
fstp dword [esi + 0x14]
sub dword [esi + 0x90], 1
cmp dword [esi + 0x90], 0
jg 0x54a5ea
fld dword [esi + 0x6c]
fld dword [0x685ba0]
fmul dword [0x69f794]
fsubp st(1)
fstp dword [esi + 0x6c]
fld dword [esi + 0x6c]
fldz
fxch st(1)
fucompp
fnstsw ax
sahf
seta al
movzx eax, al
cmp eax, 0
jne 0x54a5ea
push dword [esi + 8]
call fcn.005378c8
add esp, 4
jmp 0x54af69
cmp dword [esi + 0x7c], 0
jg 0x54a668
push 4
call fcn.0064aa63
add esp, 4
push dword [esi + 0x6c]
call fcn.0064aa9c
add esp, 4
push dword [esi + 0x68]
push dword [esi + 0x64]
call fcn.0064af1c
add esp, 8
push dword [esi + 0x14]
push dword [ebp - 0xe4]
push dword [ebp - 0xe8]
push dword [esi + 0x10]
call fcn.004eae37
add esp, 0x10
fld dword [esi + 0x6c]
fld dword [0x685ba0]
fmul dword [0x69f798]
fsubp st(1)
fstp dword [esi + 0x6c]
fld dword [esi + 0x6c]
fldz
fxch st(1)
fucompp
fnstsw ax
sahf
seta al
movzx eax, al
cmp eax, 0
jne 0x54a668
push dword [esi + 8]
call fcn.005378c8
add esp, 4
jmp 0x54af69
cmp dword [esi + 0x7c], 0
jg 0x54a7be
push 4
call fcn.0064aa63
add esp, 4
push dword [esi + 0x6c]
call fcn.0064aa9c
add esp, 4
push dword [esi + 0x68]
push dword [esi + 0x64]
call fcn.0064af1c
add esp, 8
push dword [esi + 0x60]
call fcn.0064aeed
add esp, 4
push dword [esi + 0x14]
push dword [ebp - 0xe4]
push dword [ebp - 0xe8]
push dword [esi + 0x10]
call fcn.004eae37
add esp, 0x10
fld dword [esi + 0x58]
fld dword [esi + 0x5c]
fmul dword [0x685ba0]
faddp st(1)
fstp dword [esi + 0x58]
fld dword [esi + 0x60]
fstp dword [ebp - 0xc0]
fld dword [0x69f79c]
sub esp, 8
fstp qword [esp]
fld dword [esi + 0x58]
fmul dword [0x685ba0]
sub esp, 8
fstp qword [esp]
call fcn.004c1880
add esp, 0x10
fld dword [ebp - 0xc0]
faddp st(1)
fstp dword [ebp - 0xc0]
fld dword [ebp - 0xc0]
fstp dword [esi + 0x60]
push 0x3f800000
push 0x3f800000
call fcn.0064af1c
add esp, 8
push 0
call fcn.0064aeed
add esp, 4
mov eax, dword [esi + 0x90]
mov dword [ebp - 0xec], eax
fild dword [ebp - 0xec]
fld dword [0x686f64]
fdiv dword [0x687550]
fmul dword [0x69f7a0]
fxch st(1)
fucompp
fnstsw ax
sahf
setbe al
movzx eax, al
cmp eax, 0
jne 0x54a771
fld dword [esi + 0x70]
fadd dword [0x69f7a4]
fstp dword [esi + 0x70]
fld dword [esi + 0x70]
fldz
fxch st(1)
fucompp
fnstsw ax
sahf
setbe al
movzx eax, al
cmp eax, 0
jne 0x54a7be
fld dword [esi + 0x6c]
fld dword [0x685ba0]
fmul dword [0x69f7a8]
fsubp st(1)
fstp dword [esi + 0x6c]
fld dword [esi + 0x6c]
fldz
fxch st(1)
fucompp
fnstsw ax
sahf
seta al
movzx eax, al
cmp eax, 0
jne 0x54a7be
push dword [esi + 8]
call fcn.005378c8
add esp, 4
jmp 0x54af69
cmp dword [esi + 0x7c], 0
jg 0x54a970
push 3
call fcn.0064aa63
add esp, 4
push dword [esi + 0x6c]
call fcn.0064aa9c
add esp, 4
fld dword [0x69f7ac]
fld dword [0x685bd0]
fmul dword [0x69f7b0]
faddp st(1)
fstp dword [esi + 0xac]
fld dword [esi + 0x68]
fadd dword [esi + 0xac]
sub esp, 4
fstp dword [esp]
fld dword [esi + 0x64]
fadd dword [esi + 0xac]
sub esp, 4
fstp dword [esp]
call fcn.0064af1c
add esp, 8
push dword [esi + 0x60]
call fcn.0064aeed
add esp, 4
push dword [esi + 0x14]
push dword [ebp - 0xe4]
push dword [ebp - 0xe8]
push dword [esi + 0x10]
call fcn.004eae37
add esp, 0x10
fld1
sub esp, 8
fstp qword [esp]
fld dword [0x686f64]
fdiv dword [0x687550]
fmul dword [esi + 0x5c]
sub esp, 8
fstp qword [esp]
call fcn.004c18c0
add esp, 0x10
mov eax, dword [esi + 0x94]
mov dword [ebp - 0xec], eax
fild dword [ebp - 0xec]
sub esp, 8
fstp qword [esp]
fld dword [esi + 0x14]
fld dword [0x685ba0]
fmulp st(2)
faddp st(1)
sub esp, 8
fstp qword [esp]
call fcn.004c1880
add esp, 0x10
fstp dword [esi + 0x14]
fld dword [esi + 0x14]
mov eax, dword [esi + 0x94]
mov dword [ebp - 0xec], eax
fild dword [ebp - 0xec]
fxch st(1)
fucompp
fnstsw ax
sahf
setb al
movzx eax, al
cmp eax, 0
jne 0x54a8ce
fldz
fstp dword [esi + 0x14]
push 0x3f800000
push 0x3f800000
call fcn.0064af1c
add esp, 8
push 0
call fcn.0064aeed
add esp, 4
fld dword [0x686f64]
fldz
fxch st(1)
fucompp
fnstsw ax
sahf
setbe al
movzx eax, al
cmp eax, 0
jne 0x54a912
mov eax, dword [0x68b344]
cmp eax, 1
setne al
movzx eax, al
cmp eax, 0
je 0x54a923
fld dword [esi + 0x70]
fadd dword [0x69f7b4]
fstp dword [esi + 0x70]
fld dword [esi + 0x70]
fldz
fxch st(1)
fucompp
fnstsw ax
sahf
setbe al
movzx eax, al
cmp eax, 0
jne 0x54a970
fld dword [esi + 0x6c]
fld dword [0x685ba0]
fmul dword [0x69f7b8]
fsubp st(1)
fstp dword [esi + 0x6c]
fld dword [esi + 0x6c]
fldz
fxch st(1)
fucompp
fnstsw ax
sahf
seta al
movzx eax, al
cmp eax, 0
jne 0x54a970
push dword [esi + 8]
call fcn.005378c8
add esp, 4
jmp 0x54af69
cmp dword [esi + 0x7c], 0
jg 0x54aafc
push 4
call fcn.0064aa63
add esp, 4
push 0xff
push 0xff
push 0xff
call fcn.0064a9e3
add esp, 0xc
push dword [esi + 0x6c]
call fcn.0064aa9c
add esp, 4
push dword [esi + 0x68]
push dword [esi + 0x64]
call fcn.0064af1c
add esp, 8
push dword [esi + 0x60]
call fcn.0064aeed
add esp, 4
push dword [esi + 0x14]
push dword [ebp - 0xe4]
push dword [ebp - 0xe8]
push dword [esi + 0x10]
call fcn.004eae37
add esp, 0x10
fld dword [esi + 0x58]
fld dword [esi + 0x5c]
fmul dword [0x685ba0]
faddp st(1)
fstp dword [esi + 0x58]
fld dword [esi + 0x60]
fstp dword [ebp - 0xc4]
fld dword [0x69f7bc]
sub esp, 8
fstp qword [esp]
fld dword [esi + 0x58]
fmul dword [0x685ba0]
sub esp, 8
fstp qword [esp]
call fcn.004c1880
add esp, 0x10
fld dword [ebp - 0xc4]
faddp st(1)
fstp dword [ebp - 0xc4]
fld dword [ebp - 0xc4]
fstp dword [esi + 0x60]
cmp dword [esi + 0x90], 1
jne 0x54aaa3
fld dword [esi + 0x6c]
fld dword [0x685b98]
fdiv dword [0x69f7c0]
faddp st(1)
fstp dword [esi + 0x6c]
fld dword [esi + 0x64]
fld dword [0x685b98]
fdiv dword [0x69f7c4]
faddp st(1)
fstp dword [esi + 0x64]
fld dword [esi + 0x64]
fstp dword [esi + 0x68]
fld dword [esi + 0x64]
fld1
fxch st(1)
fucompp
fnstsw ax
sahf
setae al
movzx eax, al
cmp eax, 0
jne 0x54aa92
fld dword [esi + 0x6c]
fld1
fxch st(1)
fucompp
fnstsw ax
sahf
setae al
movzx eax, al
cmp eax, 0
je 0x54aaa1
mov dword [esi + 0x90], 2
jmp 0x54aafc
cmp dword [esi + 0x90], 2
jne 0x54aafc
fld dword [esi + 0x6c]
fld dword [0x685b98]
fdiv dword [0x69f7c8]
fsubp st(1)
fstp dword [esi + 0x6c]
fld dword [esi + 0x64]
fld dword [0x685b98]
fdiv dword [0x69f7cc]
fsubp st(1)
fstp dword [esi + 0x64]
fld dword [esi + 0x64]
fstp dword [esi + 0x68]
fld dword [esi + 0x6c]
fldz
fxch st(1)
fucompp
fnstsw ax
sahf
seta al
movzx eax, al
cmp eax, 0
jne 0x54aafc
push dword [esi + 8]
call fcn.005378c8
add esp, 4
jmp 0x54af69
cmp dword [esi + 0x7c], 0
jg 0x54acc7
push 4
call fcn.0064aa63
add esp, 4
fld dword [esi + 0x8c]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
fld dword [esi + 0x88]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
fld dword [esi + 0x84]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
call fcn.0064a9e3
add esp, 0xc
fld dword [0x69f7d0]
sub esp, 8
fstp qword [esp]
fld dword [esi + 0x88]
fld dword [0x69f7d4]
fmul dword [0x685ba0]
faddp st(1)
sub esp, 8
fstp qword [esp]
call fcn.004c18a0
add esp, 0x10
fstp dword [esi + 0x88]
fld dword [esi + 0x84]
fld dword [esi + 0x88]
fsub dword [esi + 0x84]
fmul dword [0x69f7d8]
faddp st(1)
fstp dword [esi + 0x84]
fld dword [esi + 0x8c]
fmul dword [0x69f7dc]
fstp dword [esi + 0x8c]
push dword [esi + 0x6c]
call fcn.0064aa9c
add esp, 4
push dword [esi + 0x68]
push dword [esi + 0x64]
call fcn.0064af1c
add esp, 8
push dword [esi + 0x60]
call fcn.0064aeed
add esp, 4
push dword [esi + 0x14]
push dword [ebp - 0xe4]
push dword [ebp - 0xe8]
push dword [esi + 0x10]
call fcn.004eae37
add esp, 0x10
fld dword [esi + 0x58]
fld dword [esi + 0x5c]
fmul dword [0x685ba0]
faddp st(1)
fstp dword [esi + 0x58]
fld dword [esi + 0x60]
fstp dword [ebp - 0xc8]
fld dword [0x69f7e0]
sub esp, 8
fstp qword [esp]
fld dword [esi + 0x58]
fmul dword [0x685ba0]
sub esp, 8
fstp qword [esp]
call fcn.004c1880
add esp, 0x10
fld dword [ebp - 0xc8]
faddp st(1)
fstp dword [ebp - 0xc8]
fld dword [ebp - 0xc8]
fstp dword [esi + 0x60]
fld dword [esi + 0x64]
fld dword [0x685ba0]
fmul dword [0x69f7e4]
faddp st(1)
fstp dword [esi + 0x64]
fld dword [esi + 0x64]
fstp dword [esi + 0x68]
fld dword [esi + 0x70]
fsub dword [0x685ba0]
fstp dword [esi + 0x70]
fld dword [esi + 0x70]
fldz
fxch st(1)
fucompp
fnstsw ax
sahf
seta al
movzx eax, al
cmp eax, 0
jne 0x54acc7
fld dword [esi + 0x6c]
fld dword [0x685ba0]
fmul dword [0x69f7e8]
fsubp st(1)
fstp dword [esi + 0x6c]
fld dword [esi + 0x6c]
fldz
fxch st(1)
fucompp
fnstsw ax
sahf
seta al
movzx eax, al
cmp eax, 0
jne 0x54acc7
push dword [esi + 8]
call fcn.005378c8
add esp, 4
jmp 0x54af69
cmp dword [esi + 0x7c], 0
jg 0x54af67
mov ebx, dword [esi + 0xc0]
cmp ebx, 0x671c40
je 0x54af5c
mov eax, dword [ebx + 0x128]
cmp eax, 0
setne al
movzx eax, al
cmp eax, 0
jne 0x54ad0b
mov eax, dword [ebx + 0x154]
cmp eax, 0
setne al
movzx eax, al
cmp eax, 0
je 0x54ad15
jmp 0x54af5a
cmp dword [ebx + 0x11c], 0x63
je 0x54af23
cmp dword [esi + 0x28], 1
jne 0x54ad34
push 4
call fcn.0064aa63
add esp, 4
jmp 0x54ad3e
push 3
call fcn.0064aa63
add esp, 4
fld dword [ebx + 0x114]
fld dword [esi + 0x70]
cmp dword [ebx + 0x120], 0
je 0x54ad62
fstp st(0)
mov dword [esi + 0x90], 0xffffffff
fld dword [0x69f7ec]
cmp dword [esi + 0x90], 0
jle 0x54ada3
fld dword [esi + 0x6c]
fxch st(1)
fmul dword [0x685ba0]
faddp st(1)
fstp dword [esi + 0x6c]
fld dword [esi + 0x6c]
fld1
fxch st(1)
fucompp
fnstsw ax
sahf
setb al
movzx eax, al
cmp eax, 0
jne 0x54ada1
fld1
fstp dword [esi + 0x6c]
mov dword [esi + 0x90], 0xffffffff
jmp 0x54ade1
fld dword [esi + 0x6c]
fxch st(1)
fmul dword [0x685ba0]
fsubp st(1)
fstp dword [esi + 0x6c]
fld dword [esi + 0x6c]
fld dword [0x69f7f0]
fxch st(1)
fucompp
fnstsw ax
sahf
seta al
movzx eax, al
cmp eax, 0
jne 0x54ade1
fld dword [0x69f7f4]
fstp dword [esi + 0x6c]
mov dword [esi + 0x90], 1
fld dword [esi + 0x6c]
fmulp st(1)
sub esp, 4
fstp dword [esp]
call fcn.0064aa9c
add esp, 4
push dword [esi + 0x68]
push dword [esi + 0x64]
call fcn.0064af1c
add esp, 8
mov eax, dword [0x68718c]
and eax, 1
cmp eax, 0
jne 0x54ae52
fld dword [esi + 0x60]
fstp dword [ebp - 0xcc]
fld dword [0x69f7f8]
sub esp, 8
fstp qword [esp]
fld dword [esi + 0x58]
fmul dword [0x685ba0]
sub esp, 8
fstp qword [esp]
call fcn.004c1880
add esp, 0x10
fld dword [ebp - 0xcc]
faddp st(1)
fstp dword [ebp - 0xcc]
fld dword [ebp - 0xcc]
fstp dword [esi + 0x60]
push dword [esi + 0x60]
call fcn.0064aeed
add esp, 4
fld dword [esi + 0xbc]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
fld dword [esi + 0xb8]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
fld dword [esi + 0xb4]
sub esp, 8
fstp qword [esp]
call fcn.006617e4
add esp, 8
push eax
call fcn.0064a9e3
add esp, 0xc
push 0
mov eax, dword [ebx + 0x180]
mov dword [ebp - 0xec], eax
fild dword [ebp - 0xec]
sub esp, 4
fstp dword [esp]
mov eax, dword [ebx + 0x17c]
mov dword [ebp - 0xec], eax
fild dword [ebp - 0xec]
sub esp, 4
fstp dword [esp]
push dword [esi + 0x10]
call fcn.004eae37
add esp, 0x10
fld dword [esi + 0x14]
fld dword [0x685ba0]
fmul dword [0x69f7fc]
faddp st(1)
fstp dword [esi + 0x14]
fld dword [esi + 0x14]
mov eax, dword [esi + 0x94]
mov dword [ebp - 0xec], eax
fild dword [ebp - 0xec]
fxch st(1)
fucompp
fnstsw ax
sahf
setb al
movzx eax, al
cmp eax, 0
jne 0x54af21
fldz
fstp dword [esi + 0x14]
jmp 0x54af5a
fld dword [esi + 0x6c]
fld dword [esi + 0x70]
fmul dword [0x685ba0]
fsubp st(1)
fstp dword [esi + 0x6c]
fld dword [esi + 0x6c]
fld dword [0x69f800]
fxch st(1)
fucompp
fnstsw ax
sahf
seta al
movzx eax, al
cmp eax, 0
jne 0x54af5a
push dword [esi + 8]
call fcn.005378c8
add esp, 4
jmp 0x54af67
push dword [esi + 8]
call fcn.005378c8
add esp, 4
jmp 0x54af69
push 0x3f800000
push 0x3f800000
call fcn.0064af1c
add esp, 8
push 3
call fcn.0064aa63
add esp, 4
push 0
call fcn.0064aeed
add esp, 4
push 0xff
push 0xff
push 0xff
call fcn.0064a9e3
add esp, 0xc
mov eax, 0
jmp 0x54afad
pop esi
pop ebx
mov esp, ebp
pop ebp
ret