Function at 0x53c85c
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 0x53c87a
mov eax, 0
jmp 0x546b6c
cmp dword [0x683324], 0
jle 0x53c898
push dword [esi + 8]
call fcn.00533487
add esp, 4
mov eax, 0
jmp 0x546b6c
mov eax, dword [0x683564]
cmp eax, 0
setg al
movzx eax, al
cmp eax, 0
jne 0x53c8b9
mov eax, dword [0x683d14]
cmp eax, 1
sete al
movzx eax, al
cmp eax, 0
je 0x53c8cf
mov eax, dword [esi + 0xc0]
cmp eax, 0x66dc40
sete al
movzx eax, al
cmp eax, 0
je 0x53c8e3
mov eax, dword [esi + 0xe8]
cmp eax, 0
setg al
movzx eax, al
cmp eax, 0
je 0x53c8fc
fld dword [esi + 0x6c]
fld dword [0x69a28c]
fmul dword [0x681a10]
fsubp st(1)
fstp dword [esi + 0x6c]
cmp dword [0x682438], 1
jne 0x53c919
fld dword [esi + 0x6c]
fld dword [0x69a290]
fmul dword [0x681a10]
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 [0x68717c]
cmp eax, 1
sete al
movzx eax, al
cmp eax, 0
jne 0x53c94e
mov eax, dword [0x68717c]
cmp eax, 0x4000
sete al
movzx eax, al
cmp eax, 0
je 0x53c9ee
cmp dword [0x681a28], 0x28
jge 0x53c97b
cmp dword [esi + 0x7c], 0
jle 0x53c97b
push dword [esi + 8]
call fcn.00533487
add esp, 4
mov eax, 0
jmp 0x546b6c
mov eax, dword [esi + 0xec]
add eax, dword [esi + 0xf0]
cmp eax, 0
je 0x53c9ec
fld dword [esi + 0x40]
mov eax, dword [0x6812f8]
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 [0x6812fc]
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 0x53ca00
fld dword [esi + 0x40]
fstp dword [ebp - 0xe8]
fld dword [esi + 0x44]
fstp dword [ebp - 0xe4]
cmp dword [esi + 0xc8], 0x65d29c
je 0x53ca20
push esi
call dword [esi + 0xc8]
add esp, 4
mov eax, 0
jmp 0x546b6c
mov eax, dword [esi + 0x80]
cmp eax, 0
setg al
movzx eax, al
cmp eax, 0
jne 0x53ca45
mov eax, dword [esi + 0x80]
cmp eax, 0xffffd8f0
sete al
movzx eax, al
cmp eax, 0
jne 0x53ca5b
mov eax, dword [esi + 0x80]
cmp eax, 0xffffb1e0
sete al
movzx eax, al
cmp eax, 0
je 0x53ca84
fld dword [ebp - 0xe8]
fadd dword [0x683ce8]
fstp dword [ebp - 0xe8]
fld dword [ebp - 0xe4]
fadd dword [0x683cec]
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 0x53cadc
mov eax, dword [0x683c9c]
mov dword [ebp - 0xec], eax
fild dword [ebp - 0xec]
fld dword [ebp - 0xe8]
faddp st(1)
fstp dword [ebp - 0xe8]
mov eax, dword [0x683ca0]
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 0x53ce4d
cmp eax, 0x32
je 0x53d23b
cmp eax, 0x3e
je 0x53d249
cmp eax, 0x3f
je 0x53d3fd
cmp eax, 0x53
je 0x53d59f
cmp eax, 0x57
je 0x53d79c
cmp eax, 0x58
je 0x53da37
cmp eax, 0x59
je 0x53dc67
cmp eax, 0x5d
je 0x53de0e
cmp eax, 0x64
je 0x53df89
cmp eax, 0x4b
je 0x53e2e1
cmp eax, 0x48
je 0x53e43f
cmp eax, 0x51
je 0x53e4d3
cmp eax, 0x49
je 0x53e567
cmp eax, 0x4a
je 0x53e6df
cmp eax, 0x4f
je 0x53e804
cmp eax, 0x47
je 0x53e8b3
cmp eax, 0x50
je 0x53eb32
cmp eax, 0x52
je 0x53f056
cmp eax, 0x45
je 0x53f57b
cmp eax, 0x3b
je 0x53f771
cmp eax, 0x3a
je 0x53f950
cmp eax, 0x39
je 0x53fb32
cmp eax, 0x37
je 0x53fbd0
cmp eax, 0x38
je 0x53fc6e
cmp eax, 0x2a
je 0x53fd54
cmp eax, 0
je 0x53ff0a
cmp eax, 0x2e
je 0x540038
cmp eax, 0x65
je 0x5401bd
cmp eax, 0x6a
je 0x5403e5
cmp eax, 0x63
je 0x540758
cmp eax, 0x4e
je 0x540c44
cmp eax, 0x43
je 0x540db8
cmp eax, 0x54
je 0x540f25
cmp eax, 0x31
je 0x541092
cmp eax, 0x68
je 0x541245
cmp eax, 0x4d
je 0x541438
cmp eax, 0x4c
je 0x541610
cmp eax, 0x5e
je 0x5417fb
cmp eax, 0x30
je 0x5419cf
cmp eax, 0x22
je 0x541b57
cmp eax, 5
je 0x541d43
cmp eax, 6
je 0x541e40
cmp eax, 7
je 0x541fa6
cmp eax, 0x3c
je 0x54209d
cmp eax, 8
je 0x54221f
cmp eax, 9
je 0x5422c3
cmp eax, 0x5f
je 0x542387
cmp eax, 0x60
je 0x542538
cmp eax, 0x61
je 0x5426cb
cmp eax, 0xa
je 0x54285e
cmp eax, 0x17
je 0x5429e8
cmp eax, 0x27
je 0x542b01
cmp eax, 0x29
je 0x542cea
cmp eax, 0x67
je 0x542e19
cmp eax, 0xd
je 0x542f51
cmp eax, 0xe
je 0x54303e
cmp eax, 0xb
je 0x5431b3
cmp eax, 0x28
je 0x543342
cmp eax, 0x66
je 0x543523
cmp eax, 0x56
je 0x543704
cmp eax, 0x2f
je 0x5438c5
cmp eax, 0x44
je 0x543a1b
cmp eax, 0xf
je 0x543c89
cmp eax, 0x33
je 0x543ee4
cmp eax, 0x10
je 0x5440d5
cmp eax, 0x3d
je 0x5440e3
cmp eax, 0x24
je 0x5440f1
cmp eax, 0x12
je 0x5440ff
cmp eax, 0x13
je 0x544289
cmp eax, 0x14
je 0x544297
cmp eax, 0x15
je 0x5442a5
cmp eax, 0x69
je 0x5443c9
cmp eax, 0x55
je 0x5445eb
cmp eax, 0x5b
je 0x5447fb
cmp eax, 0x62
je 0x54497d
cmp eax, 0x5c
je 0x544b9d
cmp eax, 0x16
je 0x544dc1
cmp eax, 0x18
je 0x544f8a
cmp eax, 0x42
je 0x545146
cmp eax, 0x41
je 0x5452f7
cmp eax, 0x19
je 0x545461
cmp eax, 0x34
je 0x545592
cmp eax, 0x23
je 0x54578c
cmp eax, 0x1a
je 0x545969
cmp eax, 0x1f
je 0x545a84
cmp eax, 0x2d
je 0x545bcf
cmp eax, 0x1b
je 0x545d1a
cmp eax, 0x1c
je 0x545d98
cmp eax, 0x26
je 0x545eb0
cmp eax, 0x1d
je 0x5460e8
cmp eax, 0x2b
je 0x5461ae
cmp eax, 0x1e
je 0x54622c
cmp eax, 0x2c
je 0x546382
cmp eax, 0x20
je 0x546534
cmp eax, 0x21
je 0x5466c0
cmp eax, 0x25
je 0x54688b
jmp 0x546b28
push 3
call fcn.006465db
add esp, 4
push dword [esi + 0x6c]
call fcn.00646614
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 0x53ce97
fld dword [esi + 0x64]
fld dword [0x681a10]
fmul dword [0x69a294]
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 0x53cf66
fld dword [esi + 0x58]
fld dword [esi + 0x5c]
fmul dword [0x681a10]
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 0x53cf18
push dword [esi + 0x68]
push dword [esi + 0x64]
call fcn.00646a94
add esp, 8
fld dword [esi + 0x60]
fldz
fxch st(1)
fucompp
fnstsw ax
sahf
setbe al
movzx eax, al
cmp eax, 0
jne 0x53cf11
fld dword [esi + 0x60]
fld dword [esi + 0x58]
fmul dword [0x681a10]
fsubp st(1)
fstp dword [esi + 0x60]
jmp 0x53cf16
mov ebx, 1
jmp 0x53cf61
push dword [esi + 0x68]
fld dword [esi + 0x64]
fchs
sub esp, 4
fstp dword [esp]
call fcn.00646a94
add esp, 8
fld dword [esi + 0x60]
fld dword [0x69a298]
fxch st(1)
fucompp
fnstsw ax
sahf
setae al
movzx eax, al
cmp eax, 0
jne 0x53cf5c
fld dword [esi + 0x60]
fld dword [esi + 0x58]
fmul dword [0x681a10]
faddp st(1)
fstp dword [esi + 0x60]
jmp 0x53cf61
mov ebx, 1
jmp 0x53d018
fld dword [esi + 0xac]
fldz
fxch st(1)
fucompp
fnstsw ax
sahf
setbe al
movzx eax, al
cmp eax, 0
jne 0x53cfc9
push dword [esi + 0x68]
push dword [esi + 0x64]
call fcn.00646a94
add esp, 8
fld dword [esi + 0x60]
fld dword [0x69a29c]
fxch st(1)
fucompp
fnstsw ax
sahf
setae al
movzx eax, al
cmp eax, 0
jne 0x53cfc2
fld dword [esi + 0x60]
fld dword [esi + 0x58]
fmul dword [0x69a2a0]
fmul dword [0x681a10]
faddp st(1)
fstp dword [esi + 0x60]
jmp 0x53cfc7
mov ebx, 1
jmp 0x53d018
push dword [esi + 0x68]
fld dword [esi + 0x64]
fchs
sub esp, 4
fstp dword [esp]
call fcn.00646a94
add esp, 8
fld dword [esi + 0x60]
fld dword [0x69a2a4]
fxch st(1)
fucompp
fnstsw ax
sahf
setbe al
movzx eax, al
cmp eax, 0
jne 0x53d013
fld dword [esi + 0x60]
fld dword [esi + 0x58]
fmul dword [0x69a2a8]
fmul dword [0x681a10]
fsubp st(1)
fstp dword [esi + 0x60]
jmp 0x53d018
mov ebx, 1
push dword [esi + 0x60]
call fcn.00646a65
add esp, 4
fld dword [esi + 0xbc]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
fld dword [esi + 0xb8]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
fld dword [esi + 0xb4]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
call fcn.0064655b
add esp, 0xc
mov dword [0x682418], 0x3e8
push dword [esi + 0x14]
push dword [ebp - 0xe4]
push dword [ebp - 0xe8]
push dword [esi + 0x10]
call fcn.004e9070
add esp, 0x10
cmp ebx, 1
jne 0x53d1da
fld dword [esi + 0xe4]
fld1
fxch st(1)
fucompp
fnstsw ax
sahf
setne al
movzx eax, al
cmp eax, 0
jne 0x53d17c
cmp dword [esi + 0xe0], 0
jne 0x53d12b
fld dword [esi + 0x14]
fld dword [0x681a10]
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 0x53d129
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 0x53d17a
fld dword [esi + 0x14]
fld dword [0x681a10]
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 0x53d17a
fldz
fstp dword [esi + 0x14]
mov dword [esi + 0xe0], 0
add dword [esi + 0x90], 1
jmp 0x53d1da
cmp dword [esi + 0x94], 0
jle 0x53d1da
fld dword [esi + 0x14]
fld dword [0x681a10]
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 0x53d1da
fldz
fstp dword [esi + 0x14]
add dword [esi + 0x90], 1
mov eax, dword [esi + 0xd8]
cmp dword [esi + 0x90], eax
jl 0x53d1f9
fld dword [esi + 0x6c]
fld dword [esi + 0x70]
fmul dword [0x681a10]
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 0x53d226
fld dword [esi + 0x64]
fld dword [0x69a2ac]
fxch st(1)
fucompp
fnstsw ax
sahf
setbe al
movzx eax, al
cmp eax, 0
je 0x53d236
push dword [esi + 8]
call fcn.00533487
add esp, 4
jmp 0x546b28
push esi
call fcn.0054e439
add esp, 4
jmp 0x546b28
cmp dword [esi + 0x28], 1
jne 0x53d25b
push 4
call fcn.006465db
add esp, 4
jmp 0x53d265
push 3
call fcn.006465db
add esp, 4
push dword [esi + 0x6c]
call fcn.00646614
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.00646a94
add esp, 8
fld dword [esi + 0x58]
fld dword [esi + 0x5c]
fmul dword [0x681a08]
fdiv dword [0x69a2b0]
faddp st(1)
fstp dword [esi + 0x58]
fld dword [esi + 0x60]
fstp dword [ebp - 4]
fld dword [0x69a2b4]
sub esp, 8
fstp qword [esp]
fld dword [esi + 0x58]
fmul dword [0x681a08]
fdiv dword [0x69a2b8]
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.00646a65
add esp, 4
fld dword [esi + 0xbc]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
fld dword [esi + 0xb8]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
fld dword [esi + 0xb4]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
call fcn.0064655b
add esp, 0xc
push dword [esi + 0x14]
push dword [ebp - 0xe4]
push dword [ebp - 0xe8]
push dword [esi + 0x10]
call fcn.004e9070
add esp, 0x10
fld dword [esi + 0x6c]
fld dword [0x681a10]
fmul dword [esi + 0x70]
fsubp st(1)
fstp dword [esi + 0x6c]
cmp dword [esi + 0x94], 0
jle 0x53d3be
fld dword [esi + 0x14]
fld dword [0x681a10]
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 0x53d3be
fldz
fstp dword [esi + 0x14]
sub dword [esi + 0x90], 1
fld dword [esi + 0x6c]
fld dword [0x69a2bc]
fxch st(1)
fucompp
fnstsw ax
sahf
setbe al
movzx eax, al
cmp eax, 0
jne 0x53d3e8
mov eax, dword [esi + 0x90]
cmp eax, 0
setle al
movzx eax, al
cmp eax, 0
je 0x53d3f8
push dword [esi + 8]
call fcn.00533487
add esp, 4
jmp 0x546b28
cmp dword [esi + 0x28], 1
jne 0x53d40f
push 4
call fcn.006465db
add esp, 4
jmp 0x53d419
push 3
call fcn.006465db
add esp, 4
push dword [esi + 0x6c]
call fcn.00646614
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.00646a94
add esp, 8
fld dword [esi + 0x58]
fld dword [esi + 0x5c]
fmul dword [0x681a08]
fdiv dword [0x69a2c0]
faddp st(1)
fstp dword [esi + 0x58]
fld dword [esi + 0x60]
fstp dword [ebp - 8]
fld dword [0x69a2c4]
sub esp, 8
fstp qword [esp]
fld dword [esi + 0x58]
fmul dword [0x681a08]
fdiv dword [0x69a2c8]
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.00646a65
add esp, 4
fld dword [esi + 0xbc]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
fld dword [esi + 0xb8]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
fld dword [esi + 0xb4]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
call fcn.0064655b
add esp, 0xc
push dword [esi + 0x14]
push dword [ebp - 0xe4]
push dword [ebp - 0xe8]
push dword [esi + 0x10]
call fcn.004e9070
add esp, 0x10
cmp dword [esi + 0x90], 0
jg 0x53d51d
fld dword [esi + 0x6c]
fld dword [0x681a10]
fmul dword [esi + 0x70]
fsubp st(1)
fstp dword [esi + 0x6c]
cmp dword [esi + 0x94], 0
jle 0x53d574
fld dword [esi + 0x14]
fld dword [0x681a10]
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 0x53d574
fldz
fstp dword [esi + 0x14]
fld dword [esi + 0x6c]
fld dword [0x69a2cc]
fxch st(1)
fucompp
fnstsw ax
sahf
seta al
movzx eax, al
cmp eax, 0
jne 0x53d59a
push dword [esi + 8]
call fcn.00533487
add esp, 4
jmp 0x546b28
cmp dword [esi + 0x28], 1
jne 0x53d5b1
push 4
call fcn.006465db
add esp, 4
jmp 0x53d5bb
push 3
call fcn.006465db
add esp, 4
fld dword [esi + 0x3c]
fld dword [0x69a2d0]
fxch st(1)
fucompp
fnstsw ax
sahf
seta al
movzx eax, al
cmp eax, 0
jne 0x53d616
fld dword [esi + 0xac]
fld dword [esi + 0x78]
fmul dword [esi + 0x3c]
fmul dword [0x69a2d4]
faddp st(1)
fstp dword [esi + 0x64]
fld1
sub esp, 8
fstp qword [esp]
fld dword [esi + 0x6c]
fld dword [0x681a10]
fmul dword [esi + 0x70]
faddp st(1)
sub esp, 8
fstp qword [esp]
call fcn.004c18a0
add esp, 0x10
fstp dword [esi + 0x6c]
jmp 0x53d658
fld dword [esi + 0x78]
fld dword [0x69a2d8]
fsub dword [esi + 0x3c]
fmulp st(1)
fmul dword [0x69a2dc]
fld dword [esi + 0x64]
fxch st(1)
fsub dword [esi + 0x64]
fmul dword [0x69a2e0]
faddp st(1)
fstp dword [esi + 0x64]
mov dword [esi + 0x80], 0xfffffc19
fld dword [esi + 0x6c]
fld dword [0x681a10]
fmul dword [esi + 0x70]
fsubp st(1)
fstp dword [esi + 0x6c]
push dword [esi + 0x6c]
call fcn.00646614
add esp, 4
push dword [esi + 0x64]
push dword [esi + 0x64]
call fcn.00646a94
add esp, 8
fld dword [esi + 0x60]
fstp dword [ebp - 0xc]
fld dword [0x69a2e4]
sub esp, 8
fstp qword [esp]
fld dword [esi + 0x58]
fmul dword [0x681a08]
fdiv dword [0x69a2e8]
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.00646a65
add esp, 4
fld dword [esi + 0xbc]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
fld dword [esi + 0xb8]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
fld dword [esi + 0xb4]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
call fcn.0064655b
add esp, 0xc
push dword [esi + 0x14]
push dword [ebp - 0xe4]
push dword [ebp - 0xe8]
push dword [esi + 0x10]
call fcn.004e9070
add esp, 0x10
cmp dword [esi + 0x94], 0
jle 0x53d771
fld dword [esi + 0x14]
fld dword [0x681a10]
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 0x53d771
fldz
fstp dword [esi + 0x14]
fld dword [esi + 0x6c]
fld dword [0x69a2ec]
fxch st(1)
fucompp
fnstsw ax
sahf
seta al
movzx eax, al
cmp eax, 0
jne 0x53d797
push dword [esi + 8]
call fcn.00533487
add esp, 4
jmp 0x546b28
cmp dword [esi + 0x28], 1
jne 0x53d7ae
push 4
call fcn.006465db
add esp, 4
jmp 0x53d7b8
push 3
call fcn.006465db
add esp, 4
fld dword [esi + 0x3c]
fld dword [0x69a2f0]
fxch st(1)
fucompp
fnstsw ax
sahf
seta al
movzx eax, al
cmp eax, 0
jne 0x53d7ec
fld dword [esi + 0xac]
fld dword [esi + 0x78]
fmul dword [esi + 0x3c]
fmul dword [0x69a2f4]
faddp st(1)
fstp dword [esi + 0x64]
jmp 0x53d81b
fld dword [0x69a2f8]
fld dword [esi + 0xac]
fadd dword [esi + 0x78]
fld dword [0x69a2fc]
fsub dword [esi + 0x3c]
fmulp st(1)
fmul dword [0x69a300]
faddp st(1)
fstp dword [esi + 0x64]
mov dword [esi + 0x80], 0xfffffc19
push dword [esi + 0x6c]
call fcn.00646614
add esp, 4
push dword [esi + 0x64]
push dword [esi + 0x64]
call fcn.00646a94
add esp, 8
fld dword [esi + 0x60]
fstp dword [ebp - 0x10]
fld dword [0x69a304]
sub esp, 8
fstp qword [esp]
fld dword [esi + 0x58]
fmul dword [0x681a08]
fdiv dword [0x69a308]
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.00646a65
add esp, 4
fld dword [esi + 0xbc]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
fld dword [esi + 0xb8]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
fld dword [esi + 0xb4]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
call fcn.0064655b
add esp, 0xc
push dword [esi + 0x14]
push dword [ebp - 0xe4]
push dword [ebp - 0xe8]
push dword [esi + 0x10]
call fcn.004e9070
add esp, 0x10
cmp dword [esi + 0x94], 0
jle 0x53da0c
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 0x53d972
fld dword [esi + 0x14]
fld dword [0x681a10]
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 0x53d96d
fldz
fstp dword [esi + 0x14]
jmp 0x53da0c
cmp dword [esi + 0xdc], 0
jne 0x53d9d6
fld dword [esi + 0x14]
fld dword [0x681a10]
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 0x53d9d4
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 0x53da0c
fld dword [esi + 0x14]
fld dword [0x681a10]
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 0x53da0c
fldz
fstp dword [esi + 0x14]
mov dword [esi + 0xdc], 0
fld dword [esi + 0x6c]
fld dword [0x69a30c]
fxch st(1)
fucompp
fnstsw ax
sahf
seta al
movzx eax, al
cmp eax, 0
jne 0x53da32
push dword [esi + 8]
call fcn.00533487
add esp, 4
jmp 0x546b28
cmp dword [esi + 0x28], 1
jne 0x53da49
push 4
call fcn.006465db
add esp, 4
jmp 0x53da53
push 3
call fcn.006465db
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.00646614
add esp, 4
push dword [esi + 0x64]
push dword [esi + 0x64]
call fcn.00646a94
add esp, 8
fld dword [esi + 0x60]
fstp dword [ebp - 0x14]
fld dword [0x69a310]
sub esp, 8
fstp qword [esp]
fld dword [esi + 0x58]
fmul dword [0x681a08]
fdiv dword [0x69a314]
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.00646a65
add esp, 4
fld dword [esi + 0xbc]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
fld dword [esi + 0xb8]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
fld dword [esi + 0xb4]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
call fcn.0064655b
add esp, 0xc
push dword [esi + 0x14]
push dword [ebp - 0xe4]
push dword [ebp - 0xe8]
push dword [esi + 0x10]
call fcn.004e9070
add esp, 0x10
cmp dword [esi + 0x94], 0
jle 0x53dc62
cmp dword [esi + 0x90], 0
jle 0x53dc5d
fld dword [esi + 0x3c]
fld dword [0x69a318]
fxch st(1)
fucompp
fnstsw ax
sahf
setbe al
movzx eax, al
cmp eax, 0
jne 0x53dbe1
mov eax, dword [esi + 0x98]
mov dword [ebp - 0xec], eax
fild dword [ebp - 0xec]
fmul dword [esi + 0x3c]
fmul dword [esi + 0x70]
fmul dword [0x69a31c]
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 [0x681a10]
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 0x53dbdf
fldz
fstp dword [esi + 0x14]
jmp 0x53dc5b
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 [0x681a10]
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 0x53dc5b
fldz
fstp dword [esi + 0x14]
jmp 0x53dc62
fldz
fstp dword [esi + 0x14]
jmp 0x546b28
cmp dword [esi + 0x28], 1
jne 0x53dc79
push 4
call fcn.006465db
add esp, 4
jmp 0x53dc83
push 3
call fcn.006465db
add esp, 4
fld dword [esi + 0x3c]
fld dword [0x69a320]
fxch st(1)
fucompp
fnstsw ax
sahf
seta al
movzx eax, al
cmp eax, 0
jne 0x53dcb7
fld dword [esi + 0xac]
fld dword [esi + 0x78]
fmul dword [esi + 0x3c]
fmul dword [0x69a324]
faddp st(1)
fstp dword [esi + 0x64]
jmp 0x53dcf2
fld dword [0x69a328]
sub esp, 8
fstp qword [esp]
fld dword [esi + 0x64]
fld dword [0x681a10]
fmul dword [esi + 0x70]
fmul dword [0x69a32c]
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.00646614
add esp, 4
fld dword [esi + 0x64]
cmp dword [esi + 0xd8], 0xffffffff
jne 0x53dd0f
fmul dword [0x69a330]
sub esp, 4
fstp dword [esp]
push dword [esi + 0x64]
call fcn.00646a94
add esp, 8
fld dword [0x69a334]
sub esp, 8
fstp qword [esp]
fld dword [esi + 0x60]
fadd dword [0x69a338]
sub esp, 8
fstp qword [esp]
call fcn.004c1880
add esp, 0x10
sub esp, 4
fstp dword [esp]
call fcn.00646a65
add esp, 4
fld dword [esi + 0xbc]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
fld dword [esi + 0xb8]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
fld dword [esi + 0xb4]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
call fcn.0064655b
add esp, 0xc
push dword [esi + 0x14]
push dword [ebp - 0xe4]
push dword [ebp - 0xe8]
push dword [esi + 0x10]
call fcn.004e9070
add esp, 0x10
cmp dword [esi + 0x94], 0
jle 0x53de09
fld dword [esi + 0x14]
fld dword [0x681a10]
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 0x53de09
fldz
fstp dword [esi + 0x14]
jmp 0x546b28
cmp dword [esi + 0x28], 1
jne 0x53de20
push 4
call fcn.006465db
add esp, 4
jmp 0x53de2a
push 3
call fcn.006465db
add esp, 4
fld dword [esi + 0x3c]
fld dword [0x69a33c]
fxch st(1)
fucompp
fnstsw ax
sahf
seta al
movzx eax, al
cmp eax, 0
jne 0x53de85
fld dword [esi + 0xac]
fld dword [esi + 0x78]
fmul dword [esi + 0x3c]
fmul dword [0x69a340]
faddp st(1)
fstp dword [esi + 0x64]
fld1
sub esp, 8
fstp qword [esp]
fld dword [esi + 0x6c]
fld dword [0x681a10]
fmul dword [esi + 0x70]
faddp st(1)
sub esp, 8
fstp qword [esp]
call fcn.004c18a0
add esp, 0x10
fstp dword [esi + 0x6c]
jmp 0x53dea8
fld dword [0x69a344]
fld dword [esi + 0x64]
fxch st(1)
fsub dword [esi + 0x64]
fmul dword [0x69a348]
faddp st(1)
fstp dword [esi + 0x64]
mov dword [esi + 0x80], 0xfffffc19
push dword [esi + 0x6c]
call fcn.00646614
add esp, 4
push dword [esi + 0x64]
push dword [esi + 0x64]
call fcn.00646a94
add esp, 8
push dword [esi + 0x60]
call fcn.00646a65
add esp, 4
fld dword [esi + 0xbc]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
fld dword [esi + 0xb8]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
fld dword [esi + 0xb4]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
call fcn.0064655b
add esp, 0xc
push dword [esi + 0x14]
push dword [ebp - 0xe4]
push dword [ebp - 0xe8]
push dword [esi + 0x10]
call fcn.004e9070
add esp, 0x10
cmp dword [esi + 0x94], 0
jle 0x53df84
fld dword [esi + 0x14]
fld dword [0x681a10]
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 0x53df84
fldz
fstp dword [esi + 0x14]
jmp 0x546b28
cmp dword [esi + 0x28], 1
jne 0x53df9b
push 4
call fcn.006465db
add esp, 4
jmp 0x53dfa5
push 3
call fcn.006465db
add esp, 4
push dword [esi + 0x64]
push dword [esi + 0x64]
call fcn.00646a94
add esp, 8
push dword [esi + 0x60]
call fcn.00646a65
add esp, 4
fld dword [esi + 0xbc]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
fld dword [esi + 0xb8]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
fld dword [esi + 0xb4]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
call fcn.0064655b
add esp, 0xc
mov dword [esi + 0x80], 0xfffffc19
fld dword [esi + 0x3c]
fld dword [0x69a34c]
fxch st(1)
fucompp
fnstsw ax
sahf
seta al
movzx eax, al
cmp eax, 0
jne 0x53e170
fld dword [esi + 0xac]
fld dword [esi + 0x78]
fmul dword [esi + 0x3c]
fmul dword [0x69a350]
faddp st(1)
fstp dword [esi + 0x64]
fld1
sub esp, 8
fstp qword [esp]
fld dword [esi + 0x6c]
fld dword [0x681a10]
fmul dword [esi + 0x70]
fmul dword [0x69a354]
faddp st(1)
sub esp, 8
fstp qword [esp]
call fcn.004c18a0
add esp, 0x10
fstp dword [esi + 0x6c]
push 4
call fcn.006465db
add esp, 4
push 0
push dword [ebp - 0xe4]
push dword [ebp - 0xe8]
push dword [0x683b5c]
call fcn.004e9070
add esp, 0x10
fld dword [esi + 0x6c]
fmul dword [0x69a358]
sub esp, 4
fstp dword [esp]
call fcn.00646614
add esp, 4
cmp dword [esi + 0x28], 1
jne 0x53e0c1
push 4
call fcn.006465db
add esp, 4
jmp 0x53e0cb
push 3
call fcn.006465db
add esp, 4
push dword [esi + 0x6c]
call fcn.00646614
add esp, 4
push dword [esi + 0x14]
push dword [ebp - 0xe4]
push dword [ebp - 0xe8]
push dword [esi + 0x10]
call fcn.004e9070
add esp, 0x10
mov eax, dword [esi + 0x98]
mov dword [ebp - 0xec], eax
fild dword [ebp - 0xec]
fsub dword [0x681a10]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
mov dword [esi + 0x98], eax
cmp dword [esi + 0x98], 0
jg 0x53e161
mov eax, dword [esi + 0x9c]
mov dword [esi + 0x98], eax
fld dword [esi + 0x14]
fadd dword [0x69a35c]
fstp dword [esi + 0x14]
fld dword [esi + 0x14]
fld dword [0x69a360]
fxch st(1)
fucompp
fnstsw ax
sahf
setbe al
movzx eax, al
cmp eax, 0
jne 0x53e161
fld dword [0x69a364]
fstp dword [esi + 0x14]
mov dword [esi + 0x90], 1
jmp 0x53e2dc
mov eax, dword [esi + 0x90]
cmp eax, 1
setge al
movzx eax, al
cmp eax, 0
je 0x53e193
mov eax, dword [esi + 0x90]
cmp eax, 2
setle al
movzx eax, al
cmp eax, 0
je 0x53e1a8
add dword [esi + 0x90], 1
fld dword [0x69a368]
fstp dword [esi + 0x14]
fld dword [0x69a36c]
fld dword [esi + 0x64]
fxch st(1)
fsub dword [esi + 0x64]
fmul dword [0x69a370]
fmul dword [0x681a10]
faddp st(1)
fstp dword [esi + 0x64]
fld dword [esi + 0x6c]
fmul dword [0x69a374]
sub esp, 4
fstp dword [esp]
call fcn.00646614
add esp, 4
push 4
call fcn.006465db
add esp, 4
push 0
push dword [ebp - 0xe4]
push dword [ebp - 0xe8]
push dword [0x683b5c]
call fcn.004e9070
add esp, 0x10
cmp dword [esi + 0x28], 1
jne 0x53e216
push 4
call fcn.006465db
add esp, 4
jmp 0x53e220
push 3
call fcn.006465db
add esp, 4
push dword [esi + 0x6c]
call fcn.00646614
add esp, 4
push dword [esi + 0x14]
push dword [ebp - 0xe4]
push dword [ebp - 0xe8]
push dword [esi + 0x10]
call fcn.004e9070
add esp, 0x10
mov eax, dword [esi + 0x98]
mov dword [ebp - 0xec], eax
fild dword [ebp - 0xec]
fld dword [0x681a10]
fmul dword [0x69a378]
fsubp st(1)
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
mov dword [esi + 0x98], eax
cmp dword [esi + 0x98], 0
jg 0x53e2dc
mov eax, dword [esi + 0x9c]
mov dword [esi + 0x98], eax
fld dword [esi + 0x14]
fadd dword [0x69a37c]
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 0x53e2dc
mov eax, dword [esi + 0x94]
sub eax, 1
mov dword [ebp - 0xec], eax
fild dword [ebp - 0xec]
fstp dword [esi + 0x14]
jmp 0x546b28
push 4
call fcn.006465db
add esp, 4
fld dword [esi + 0xbc]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
fld dword [esi + 0xb8]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
fld dword [esi + 0xb4]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
call fcn.0064655b
add esp, 0xc
push dword [esi + 0x6c]
call fcn.00646614
add esp, 4
push dword [esi + 0x68]
push dword [esi + 0x64]
call fcn.00646a94
add esp, 8
push dword [esi + 0x60]
call fcn.00646a65
add esp, 4
push dword [esi + 0x14]
push dword [ebp - 0xe4]
push dword [ebp - 0xe8]
push dword [esi + 0x10]
call fcn.004e9070
add esp, 0x10
fld dword [esi + 0x58]
fld dword [esi + 0x5c]
fmul dword [0x681a10]
faddp st(1)
fstp dword [esi + 0x58]
fld dword [esi + 0x60]
fstp dword [ebp - 0x18]
fld dword [0x69a380]
sub esp, 8
fstp qword [esp]
fld dword [esi + 0x58]
fmul dword [0x681a10]
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 [0x681a08]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
mov dword [esi + 0x90], eax
cmp dword [esi + 0x90], 0
jg 0x53e43a
fld dword [esi + 0x6c]
fld dword [0x681a10]
fmul dword [esi + 0x70]
fsubp st(1)
fstp dword [esi + 0x6c]
fld dword [esi + 0x64]
fld dword [0x681a08]
fdiv dword [0x69a384]
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 0x53e43a
push dword [esi + 8]
call fcn.00533487
add esp, 4
jmp 0x546b28
push 3
call fcn.006465db
add esp, 4
push dword [esi + 0x6c]
call fcn.00646614
add esp, 4
push dword [esi + 0x64]
push dword [esi + 0x64]
call fcn.00646a94
add esp, 8
push dword [esi + 0x60]
call fcn.00646a65
add esp, 4
fld dword [esi + 0xbc]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
fld dword [esi + 0xb8]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
fld dword [esi + 0xb4]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
call fcn.0064655b
add esp, 0xc
push dword [esi + 0x14]
push dword [ebp - 0xe4]
push dword [ebp - 0xe8]
push dword [esi + 0x10]
call fcn.004e9070
add esp, 0x10
jmp 0x546b28
push 3
call fcn.006465db
add esp, 4
push dword [esi + 0x6c]
call fcn.00646614
add esp, 4
push dword [esi + 0x64]
push dword [esi + 0x64]
call fcn.00646a94
add esp, 8
push dword [esi + 0x60]
call fcn.00646a65
add esp, 4
fld dword [esi + 0xbc]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
fld dword [esi + 0xb8]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
fld dword [esi + 0xb4]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
call fcn.0064655b
add esp, 0xc
push dword [esi + 0x14]
push dword [ebp - 0xe4]
push dword [ebp - 0xe8]
push dword [esi + 0x10]
call fcn.004e9070
add esp, 0x10
jmp 0x546b28
cmp dword [esi + 0x28], 1
jne 0x53e579
push 4
call fcn.006465db
add esp, 4
jmp 0x53e583
push 3
call fcn.006465db
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 0x53e5a1
fstp st(0)
jmp 0x53e5f2
mov eax, dword [esi + 0x90]
cmp eax, dword [esi + 0xdc]
sete al
movzx eax, al
cmp eax, 0
jne 0x53e5c7
mov eax, dword [esi + 0x90]
cmp eax, 0
setle al
movzx eax, al
cmp eax, 0
jne 0x53e5d0
fstp st(0)
jmp 0x53e5d2
jmp 0x53e5f0
mov ebx, dword [0x682da8]
fld dword [esi + 0x3c]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
fld dword [ebx + eax*4 + 0x18]
fmul dword [esi + 0x70]
jmp 0x53e610
mov ebx, dword [0x682da8]
fld dword [esi + 0x3c]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
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 0x53e649
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.00646614
add esp, 4
fld dword [esi + 0x64]
fmul dword [esi + 0x68]
sub esp, 4
fstp dword [esp]
push dword [esi + 0x64]
call fcn.00646a94
add esp, 8
push dword [esi + 0x60]
call fcn.00646a65
add esp, 4
fld dword [esi + 0xbc]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
fld dword [esi + 0xb8]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
fld dword [esi + 0xb4]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
call fcn.0064655b
add esp, 0xc
push dword [esi + 0x14]
push dword [ebp - 0xe4]
push dword [ebp - 0xe8]
push dword [esi + 0x10]
call fcn.004e9070
add esp, 0x10
jmp 0x546b28
cmp dword [esi + 0xd8], 1
jne 0x53e6f4
push 4
call fcn.006465db
add esp, 4
jmp 0x53e6fe
push 3
call fcn.006465db
add esp, 4
push dword [esi + 0x6c]
call fcn.00646614
add esp, 4
cmp dword [esi + 0xdc], 1
jne 0x53e72a
push dword [esi + 0x64]
fld dword [esi + 0x64]
fchs
sub esp, 4
fstp dword [esp]
call fcn.00646a94
add esp, 8
jmp 0x53e782
cmp dword [esi + 0xdc], 2
jne 0x53e74b
fld dword [esi + 0x64]
fchs
sub esp, 4
fstp dword [esp]
push dword [esi + 0x64]
call fcn.00646a94
add esp, 8
jmp 0x53e782
cmp dword [esi + 0xdc], 3
jne 0x53e774
fld dword [esi + 0x64]
fchs
sub esp, 4
fstp dword [esp]
fld dword [esi + 0x64]
fchs
sub esp, 4
fstp dword [esp]
call fcn.00646a94
add esp, 8
jmp 0x53e782
push dword [esi + 0x64]
push dword [esi + 0x64]
call fcn.00646a94
add esp, 8
push dword [esi + 0x60]
call fcn.00646a65
add esp, 4
fld dword [esi + 0xbc]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
fld dword [esi + 0xb8]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
fld dword [esi + 0xb4]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
call fcn.0064655b
add esp, 0xc
push dword [esi + 0x14]
push dword [ebp - 0xe4]
push dword [ebp - 0xe8]
push dword [esi + 0x10]
call fcn.004e9070
add esp, 0x10
fld dword [esi + 0x14]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
jmp 0x546b28
cmp dword [esi + 0x28], 1
jne 0x53e816
push 4
call fcn.006465db
add esp, 4
jmp 0x53e820
push 3
call fcn.006465db
add esp, 4
push dword [esi + 0x6c]
call fcn.00646614
add esp, 4
fld dword [esi + 0x64]
fmul dword [esi + 0x68]
sub esp, 4
fstp dword [esp]
push dword [esi + 0x64]
call fcn.00646a94
add esp, 8
push dword [esi + 0x60]
call fcn.00646a65
add esp, 4
fld dword [esi + 0xbc]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
fld dword [esi + 0xb8]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
fld dword [esi + 0xb4]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
call fcn.0064655b
add esp, 0xc
push dword [esi + 0x14]
push dword [ebp - 0xe4]
push dword [ebp - 0xe8]
push dword [esi + 0x10]
call fcn.004e9070
add esp, 0x10
jmp 0x546b28
push 3
call fcn.006465db
add esp, 4
push dword [esi + 0x6c]
call fcn.00646614
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 0x53e92b
fld dword [esi + 0xac]
fld dword [0x69a388]
fmul dword [0x681a10]
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 0x53e92b
fld dword [esi + 0x68]
fstp dword [esi + 0xac]
mov dword [esi + 0x90], 0
push dword [esi + 0xac]
push dword [esi + 0xac]
call fcn.00646a94
add esp, 8
push 0
call fcn.00646a65
add esp, 4
mov eax, dword [0x682e88]
mov eax, dword [eax + 0x88]
push dword [eax + 8]
call fcn.00646b3b
add esp, 4
mov eax, dword [esi + 0xe0]
mov dword [ebp - 0xec], eax
fild dword [ebp - 0xec]
fmul dword [0x69a38c]
fmul dword [esi + 0xac]
fld dword [ebp - 0xe8]
fsubrp st(1)
fstp dword [ebp - 0xe8]
fld dword [esi + 0xe4]
fmul dword [0x69a390]
fmul dword [esi + 0xac]
fld dword [ebp - 0xe4]
fsubrp st(1)
fstp dword [ebp - 0xe4]
cmp dword [esi + 0xd8], 1
jne 0x53ea08
push 0
push 0
push 0
call fcn.0064655b
add esp, 0xc
push 1
fld dword [ebp - 0xe4]
fadd dword [0x69a394]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
fld dword [ebp - 0xe8]
fsub dword [0x69a398]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
push dword [0x6819b0]
call fcn.004e6e6e
add esp, 0x10
fld dword [esi + 0xbc]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
fld dword [esi + 0xb8]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
fld dword [esi + 0xb4]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
call fcn.0064655b
add esp, 0xc
push 1
fld dword [ebp - 0xe4]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
fld dword [ebp - 0xe8]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
push dword [0x6819b0]
call fcn.004e6e6e
add esp, 0x10
cmp dword [esi + 0x90], 0
jg 0x53eac7
cmp dword [esi + 0xd8], 1
jne 0x53eaae
fld dword [esi + 0x6c]
fld dword [esi + 0x70]
fmul dword [0x681a10]
fsubp st(1)
fstp dword [esi + 0x6c]
jmp 0x53eac5
fld dword [esi + 0x6c]
fld dword [esi + 0x70]
fmul dword [0x681a10]
fmul dword [0x69a39c]
fsubp st(1)
fstp dword [esi + 0x6c]
jmp 0x53eaf3
fld dword [esi + 0x6c]
fld dword [esi + 0x5c]
fxch st(1)
fucompp
fnstsw ax
sahf
setae al
movzx eax, al
cmp eax, 0
jne 0x53eaf3
fld dword [esi + 0x6c]
fld dword [0x69a3a0]
fmul dword [0x681a10]
faddp st(1)
fstp dword [esi + 0x6c]
fld dword [esi + 0x6c]
fld dword [0x69a3a4]
fxch st(1)
fucompp
fnstsw ax
sahf
setbe al
movzx eax, al
cmp eax, 0
je 0x53eb1d
mov eax, dword [esi + 0x90]
cmp eax, 0
setle al
movzx eax, al
cmp eax, 0
je 0x53eb2d
push dword [esi + 8]
call fcn.00533487
add esp, 4
jmp 0x546b28
push dword [esi + 0x6c]
call fcn.00646614
add esp, 4
fld dword [esi + 0xac]
fmul dword [0x6813a0]
sub esp, 4
fstp dword [esp]
fld dword [esi + 0xac]
fmul dword [0x68139c]
sub esp, 4
fstp dword [esp]
call fcn.00646a94
add esp, 8
push 0
call fcn.00646a65
add esp, 4
mov eax, dword [0x682e88]
mov eax, dword [eax + 0x88]
push dword [eax + 8]
call fcn.00646b3b
add esp, 4
mov eax, dword [esi + 0xe0]
mov dword [ebp - 0xec], eax
fild dword [ebp - 0xec]
fmul dword [0x69a3a8]
fmul dword [esi + 0xac]
fld dword [ebp - 0xe8]
fsubrp st(1)
fstp dword [ebp - 0xe8]
fld dword [esi + 0xe4]
fmul dword [0x69a3ac]
fmul dword [esi + 0xac]
fld dword [ebp - 0xe4]
fsubrp st(1)
fstp dword [ebp - 0xe4]
cmp dword [esi + 0xd8], 1
jne 0x53ec7e
push 3
call fcn.006465db
add esp, 4
fld dword [esi + 0xbc]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
fld dword [esi + 0xb8]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
fld dword [esi + 0xb4]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
call fcn.0064655b
add esp, 0xc
push 1
fld dword [ebp - 0xe4]
fadd dword [0x69a3b0]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
fld dword [ebp - 0xe8]
fsub dword [0x69a3b4]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
push dword [0x6819b4]
call fcn.004e6e6e
add esp, 0x10
jmp 0x53ee43
cmp dword [esi + 0xd8], 2
jne 0x53ed1b
fld dword [esi + 0xbc]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
fld dword [esi + 0xb8]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
fld dword [esi + 0xb4]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
call fcn.0064655b
add esp, 0xc
push 4
call fcn.006465db
add esp, 4
push 1
fld dword [ebp - 0xe4]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
fld dword [ebp - 0xe8]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
push dword [0x6819b4]
call fcn.004e6e6e
add esp, 0x10
jmp 0x53ee43
cmp dword [esi + 0xd8], 3
jne 0x53edb8
fld dword [esi + 0xbc]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
fld dword [esi + 0xb8]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
fld dword [esi + 0xb4]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
call fcn.0064655b
add esp, 0xc
push 3
call fcn.006465db
add esp, 4
push 1
fld dword [ebp - 0xe4]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
fld dword [ebp - 0xe8]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
push dword [0x6819b4]
call fcn.004e6e6e
add esp, 0x10
jmp 0x53ee43
fld dword [esi + 0xbc]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
fld dword [esi + 0xb8]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
fld dword [esi + 0xb4]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
call fcn.0064655b
add esp, 0xc
push 3
call fcn.006465db
add esp, 4
push 1
fld dword [ebp - 0xe4]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
fld dword [ebp - 0xe8]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
push dword [0x6819b4]
call fcn.004e6e6e
add esp, 0x10
cmp dword [esi + 0x90], 0
jg 0x53ef88
cmp dword [esi + 0xd8], 1
jne 0x53ee72
fld dword [esi + 0x6c]
fld dword [esi + 0x70]
fmul dword [0x681a10]
fmul dword [0x69a3b8]
fsubp st(1)
fstp dword [esi + 0x6c]
jmp 0x53eeab
cmp dword [esi + 0xd8], 2
jne 0x53ee94
fld dword [esi + 0x6c]
fld dword [esi + 0x70]
fmul dword [0x681a10]
fmul dword [0x69a3bc]
fsubp st(1)
fstp dword [esi + 0x6c]
jmp 0x53eeab
fld dword [esi + 0x6c]
fld dword [esi + 0x70]
fmul dword [0x681a10]
fmul dword [0x69a3c0]
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 0x53ef83
fld dword [esi + 0xac]
fld dword [0x69a3c4]
fmul dword [0x681a10]
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 0x53ef11
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 0x53ef3b
mov eax, dword [esi + 0xd8]
cmp eax, 3
setne al
movzx eax, al
cmp eax, 0
je 0x53ef83
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 [0x69a3c8]
fstp dword [esi + 0x50]
mov dword [esi + 0xd8], 3
jmp 0x53f017
fld dword [esi + 0x6c]
fld dword [esi + 0x5c]
fxch st(1)
fucompp
fnstsw ax
sahf
setae al
movzx eax, al
cmp eax, 0
jne 0x53efb4
fld dword [esi + 0x6c]
fld dword [0x69a3cc]
fmul dword [0x681a10]
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 0x53f017
fld dword [esi + 0xac]
fld dword [0x69a3d0]
fmul dword [0x681a10]
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 0x53f017
fld dword [esi + 0x68]
fstp dword [esi + 0xac]
mov dword [esi + 0x90], 0
fld dword [esi + 0x6c]
fld dword [0x69a3d4]
fxch st(1)
fucompp
fnstsw ax
sahf
setbe al
movzx eax, al
cmp eax, 0
je 0x53f041
mov eax, dword [esi + 0x90]
cmp eax, 0
setle al
movzx eax, al
cmp eax, 0
je 0x53f051
push dword [esi + 8]
call fcn.00533487
add esp, 4
jmp 0x546b28
push dword [esi + 0x6c]
call fcn.00646614
add esp, 4
push dword [esi + 0xac]
push dword [esi + 0xac]
call fcn.00646a94
add esp, 8
push 0
call fcn.00646a65
add esp, 4
mov eax, dword [0x682e88]
mov eax, dword [eax + 0x88]
push dword [eax + 8]
call fcn.00646b3b
add esp, 4
mov eax, dword [esi + 0xe0]
mov dword [ebp - 0xec], eax
fild dword [ebp - 0xec]
fmul dword [0x69a3d8]
fmul dword [esi + 0xac]
fld dword [ebp - 0xe8]
fsubrp st(1)
fstp dword [ebp - 0xe8]
fld dword [esi + 0xe4]
fmul dword [0x69a3dc]
fmul dword [esi + 0xac]
fld dword [ebp - 0xe4]
fsubrp st(1)
fstp dword [ebp - 0xe4]
cmp dword [esi + 0xd8], 1
jne 0x53f141
push 3
call fcn.006465db
add esp, 4
push 0
push 0
push 0
call fcn.0064655b
add esp, 0xc
push 1
fld dword [ebp - 0xe4]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
fld dword [ebp - 0xe8]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
push dword [0x6819b8]
call fcn.004e6e6e
add esp, 0x10
jmp 0x53f31e
cmp dword [esi + 0xd8], 2
jne 0x53f1ea
fld dword [esi + 0xbc]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
fld dword [esi + 0xb8]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
fld dword [esi + 0xb4]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
call fcn.0064655b
add esp, 0xc
push 4
call fcn.006465db
add esp, 4
push 1
fld dword [ebp - 0xe4]
fsub dword [0x69a3e0]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
fld dword [ebp - 0xe8]
fadd dword [0x69a3e4]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
push dword [0x6819b8]
call fcn.004e6e6e
add esp, 0x10
jmp 0x53f31e
cmp dword [esi + 0xd8], 3
jne 0x53f293
fld dword [esi + 0xbc]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
fld dword [esi + 0xb8]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
fld dword [esi + 0xb4]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
call fcn.0064655b
add esp, 0xc
push 4
call fcn.006465db
add esp, 4
push 1
fld dword [ebp - 0xe4]
fsub dword [0x69a3e8]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
fld dword [ebp - 0xe8]
fadd dword [0x69a3ec]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
push dword [0x6819b8]
call fcn.004e6e6e
add esp, 0x10
jmp 0x53f31e
fld dword [esi + 0xbc]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
fld dword [esi + 0xb8]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
fld dword [esi + 0xb4]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
call fcn.0064655b
add esp, 0xc
push 3
call fcn.006465db
add esp, 4
push 1
fld dword [ebp - 0xe4]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
fld dword [ebp - 0xe8]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
push dword [0x6819b8]
call fcn.004e6e6e
add esp, 0x10
cmp dword [esi + 0x90], 0
jg 0x53f46c
cmp dword [esi + 0xd8], 1
jne 0x53f34d
fld dword [esi + 0x6c]
fld dword [esi + 0x70]
fmul dword [0x681a10]
fmul dword [0x69a3f0]
fsubp st(1)
fstp dword [esi + 0x6c]
jmp 0x53f364
fld dword [esi + 0x6c]
fld dword [esi + 0x70]
fmul dword [0x681a10]
fmul dword [0x69a3f4]
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 0x53f467
fld dword [esi + 0xac]
fld dword [esi + 0x64]
fmul dword [0x681a10]
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 0x53f467
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 0x53f422
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 [0x69a3f8]
fstp dword [esi + 0x50]
fld1
fstp dword [esi + 0x78]
jmp 0x53f467
fld dword [esi + 0x78]
fld1
fxch st(1)
fucompp
fnstsw ax
sahf
setne al
movzx eax, al
cmp eax, 0
jne 0x53f467
fld dword [0x69a3fc]
sub esp, 8
fstp qword [esp]
fld dword [esi + 0x50]
fld dword [0x69a400]
fmul dword [0x681a10]
faddp st(1)
sub esp, 8
fstp qword [esp]
call fcn.004c18a0
add esp, 0x10
fstp dword [esi + 0x50]
jmp 0x53f53c
fld dword [esi + 0x6c]
fld dword [esi + 0x5c]
fxch st(1)
fucompp
fnstsw ax
sahf
setae al
movzx eax, al
cmp eax, 0
jne 0x53f495
fld dword [esi + 0x6c]
fld dword [esi + 0x74]
fmul dword [0x681a10]
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 0x53f4f7
fld dword [esi + 0xac]
fld dword [esi + 0x64]
fmul dword [0x681a10]
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 0x53f4f5
fld dword [esi + 0x68]
fstp dword [esi + 0xac]
mov dword [esi + 0x90], 0
jmp 0x53f53c
fld dword [esi + 0xac]
fld dword [esi + 0x64]
fmul dword [0x681a10]
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 0x53f53c
fld dword [esi + 0x68]
fstp dword [esi + 0xac]
mov dword [esi + 0x90], 0
fld dword [esi + 0x6c]
fld dword [0x69a404]
fxch st(1)
fucompp
fnstsw ax
sahf
setbe al
movzx eax, al
cmp eax, 0
je 0x53f566
mov eax, dword [esi + 0x90]
cmp eax, 0
setle al
movzx eax, al
cmp eax, 0
je 0x53f576
push dword [esi + 8]
call fcn.00533487
add esp, 4
jmp 0x546b28
push 4
call fcn.006465db
add esp, 4
push dword [esi + 0x6c]
call fcn.00646614
add esp, 4
push dword [esi + 0x68]
push dword [esi + 0x64]
call fcn.00646a94
add esp, 8
fld dword [esi + 0xbc]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
fld dword [esi + 0xb8]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
fld dword [esi + 0xb4]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
call fcn.0064655b
add esp, 0xc
push dword [esi + 0x60]
call fcn.00646a65
add esp, 4
push dword [esi + 0x14]
push dword [ebp - 0xe4]
push dword [ebp - 0xe8]
push dword [esi + 0x10]
call fcn.004e9070
add esp, 0x10
cmp dword [esi + 0x94], 0
jle 0x53f668
fld dword [esi + 0x14]
fld dword [0x681a10]
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 0x53f668
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.0065d35c
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 0x53f71f
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 0x53f738
fld dword [esi + 0x6c]
fld dword [0x69a408]
fmul dword [0x681a10]
fsubp st(1)
fstp dword [esi + 0x6c]
fld dword [esi + 0x6c]
fld dword [0x69a40c]
fxch st(1)
fucompp
fnstsw ax
sahf
setbe al
movzx eax, al
cmp eax, 0
jne 0x53f75c
cmp edx, 0x14
setl al
movzx eax, al
cmp eax, 0
je 0x53f76c
push dword [esi + 8]
call fcn.00533487
add esp, 4
jmp 0x546b28
cmp dword [esi + 0x7c], 0
jg 0x53f94b
push 3
call fcn.006465db
add esp, 4
push dword [esi + 0x6c]
call fcn.00646614
add esp, 4
push dword [esi + 0x64]
push dword [esi + 0x64]
call fcn.00646a94
add esp, 8
push dword [esi + 0x60]
call fcn.00646a65
add esp, 4
fld dword [esi + 0xbc]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
fld dword [esi + 0xb8]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
fld dword [esi + 0xb4]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
call fcn.0064655b
add esp, 0xc
push dword [esi + 0x14]
push dword [ebp - 0xe4]
push dword [ebp - 0xe8]
push dword [esi + 0x10]
call fcn.004e9070
add esp, 0x10
cmp dword [esi + 0x94], 0
jle 0x53f8d0
fld dword [esi + 0x14]
fld dword [0x681a10]
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 0x53f860
mov eax, dword [esi + 0x90]
cmp eax, 0
setg al
movzx eax, al
cmp eax, 0
je 0x53f881
mov dword [esi + 0x90], 0
push 0
push 0
push dword [esi + 0x24]
push dword [esi + 0x20]
call fcn.00550319
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 0x53f8d0
mov eax, dword [esi + 0x94]
mov dword [ebp - 0xec], eax
fild dword [ebp - 0xec]
fstp dword [esi + 0x14]
cmp dword [esi + 0x90], 0
jne 0x53f8d0
mov dword [esi + 0x90], 0xffffffff
mov eax, dword [esi + 0x90]
cmp eax, 0
setg al
movzx eax, al
cmp eax, 0
je 0x53f8f6
fld dword [esi + 0x6c]
fld1
fxch st(1)
fucompp
fnstsw ax
sahf
setb al
movzx eax, al
cmp eax, 0
je 0x53f90f
fld dword [esi + 0x6c]
fld dword [0x681a10]
fmul dword [0x69a410]
faddp st(1)
fstp dword [esi + 0x6c]
cmp dword [esi + 0x90], 0
jge 0x53f94b
fld dword [esi + 0x6c]
fld dword [0x681a10]
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 0x53f94b
push dword [esi + 8]
call fcn.00533487
add esp, 4
jmp 0x546b28
cmp dword [esi + 0x7c], 0
jg 0x53fb2d
push 3
call fcn.006465db
add esp, 4
push dword [esi + 0x6c]
call fcn.00646614
add esp, 4
push dword [esi + 0x64]
push dword [esi + 0x64]
call fcn.00646a94
add esp, 8
push dword [esi + 0x60]
call fcn.00646a65
add esp, 4
fld dword [esi + 0xbc]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
fld dword [esi + 0xb8]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
fld dword [esi + 0xb4]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
call fcn.0064655b
add esp, 0xc
push dword [esi + 0x14]
push dword [ebp - 0xe4]
push dword [ebp - 0xe8]
push dword [esi + 0x10]
call fcn.004e9070
add esp, 0x10
cmp dword [esi + 0x94], 0
jle 0x53fab2
fld dword [esi + 0x14]
fld dword [0x681a10]
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 0x53fa3f
mov eax, dword [esi + 0x90]
cmp eax, 0
setg al
movzx eax, al
cmp eax, 0
je 0x53fa63
mov dword [esi + 0x90], 0
push 0
push 0x3f333333
push dword [esi + 0x24]
push dword [esi + 0x20]
call fcn.0055003f
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 0x53fab2
mov eax, dword [esi + 0x94]
mov dword [ebp - 0xec], eax
fild dword [ebp - 0xec]
fstp dword [esi + 0x14]
cmp dword [esi + 0x90], 0
jne 0x53fab2
mov dword [esi + 0x90], 0xffffffff
mov eax, dword [esi + 0x90]
cmp eax, 0
setg al
movzx eax, al
cmp eax, 0
je 0x53fad8
fld dword [esi + 0x6c]
fld1
fxch st(1)
fucompp
fnstsw ax
sahf
setb al
movzx eax, al
cmp eax, 0
je 0x53faf1
fld dword [esi + 0x6c]
fld dword [0x681a10]
fmul dword [0x69a414]
faddp st(1)
fstp dword [esi + 0x6c]
cmp dword [esi + 0x90], 0
jge 0x53fb2d
fld dword [esi + 0x6c]
fld dword [0x681a10]
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 0x53fb2d
push dword [esi + 8]
call fcn.00533487
add esp, 4
jmp 0x546b28
cmp dword [esi + 0x7c], 0
jg 0x53fbcb
push 3
call fcn.006465db
add esp, 4
push dword [esi + 0x6c]
call fcn.00646614
add esp, 4
push dword [esi + 0x64]
push dword [esi + 0x64]
call fcn.00646a94
add esp, 8
push dword [esi + 0x60]
call fcn.00646a65
add esp, 4
fld dword [esi + 0xbc]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
fld dword [esi + 0xb8]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
fld dword [esi + 0xb4]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
call fcn.0064655b
add esp, 0xc
push dword [esi + 0x14]
push dword [ebp - 0xe4]
push dword [ebp - 0xe8]
push dword [esi + 0x10]
call fcn.004e9070
add esp, 0x10
jmp 0x546b28
cmp dword [esi + 0x7c], 0
jg 0x53fc69
push 4
call fcn.006465db
add esp, 4
push dword [esi + 0x6c]
call fcn.00646614
add esp, 4
push dword [esi + 0x64]
push dword [esi + 0x64]
call fcn.00646a94
add esp, 8
push dword [esi + 0x60]
call fcn.00646a65
add esp, 4
fld dword [esi + 0xbc]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
fld dword [esi + 0xb8]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
fld dword [esi + 0xb4]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
call fcn.0064655b
add esp, 0xc
push dword [esi + 0x14]
push dword [ebp - 0xe4]
push dword [ebp - 0xe8]
push dword [esi + 0x10]
call fcn.004e9070
add esp, 0x10
jmp 0x546b28
cmp dword [esi + 0x7c], 0
jg 0x53fd4f
push 3
call fcn.006465db
add esp, 4
push dword [esi + 0x6c]
call fcn.00646614
add esp, 4
push dword [esi + 0x64]
push dword [esi + 0x64]
call fcn.00646a94
add esp, 8
push dword [esi + 0x60]
call fcn.00646a65
add esp, 4
fld dword [esi + 0xbc]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
fld dword [esi + 0xb8]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
fld dword [esi + 0xb4]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
call fcn.0064655b
add esp, 0xc
push dword [esi + 0x14]
push dword [ebp - 0xe4]
push dword [ebp - 0xe8]
push dword [esi + 0x10]
call fcn.004e9070
add esp, 0x10
fld dword [esi + 0x58]
fld dword [esi + 0x5c]
fmul dword [0x681a10]
faddp st(1)
fstp dword [esi + 0x58]
fld dword [esi + 0x60]
fstp dword [ebp - 0x1c]
fld dword [0x69a418]
sub esp, 8
fstp qword [esp]
fld dword [esi + 0x58]
fmul dword [0x681a10]
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 0x546b28
push 4
call fcn.006465db
add esp, 4
push dword [esi + 0x88]
push dword [esi + 0x84]
push dword [esi + 0x10]
call fcn.00646d22
add esp, 0xc
push dword [esi + 0x6c]
call fcn.00646614
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 0x53fdb2
fld dword [esi + 0x64]
fld dword [esi + 0x4c]
fmul dword [0x681a08]
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 0x53fddf
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.00646a94
add esp, 8
fld dword [esi + 0x58]
fld dword [esi + 0x5c]
fmul dword [0x681a08]
fdiv dword [0x69a41c]
faddp st(1)
fstp dword [esi + 0x58]
fld dword [esi + 0x60]
fstp dword [ebp - 0x20]
fld dword [0x69a420]
sub esp, 8
fstp qword [esp]
fld dword [esi + 0x58]
fmul dword [0x681a08]
fdiv dword [0x69a424]
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.00646a65
add esp, 4
push dword [esi + 0x14]
push dword [ebp - 0xe4]
push dword [ebp - 0xe8]
push dword [esi + 0x10]
call fcn.004e9070
add esp, 0x10
fld dword [esi + 0x6c]
fld dword [0x681a08]
fdiv dword [0x69a428]
fsubp st(1)
fstp dword [esi + 0x6c]
mov eax, dword [esi + 0x98]
mov dword [ebp - 0xec], eax
fild dword [ebp - 0xec]
fsub dword [0x681a08]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
mov dword [esi + 0x98], eax
cmp dword [esi + 0x98], 0
jg 0x53fedf
push 0x96
push 0x14
call fcn.00659bc1
add esp, 8
mov dword [esi + 0x98], eax
push 3
push 0
call fcn.00659bc1
add esp, 8
mov dword [ebp - 0xec], eax
fild dword [ebp - 0xec]
fstp dword [esi + 0x14]
fld dword [esi + 0x6c]
fld dword [0x69a42c]
fxch st(1)
fucompp
fnstsw ax
sahf
seta al
movzx eax, al
cmp eax, 0
jne 0x53ff05
push dword [esi + 8]
call fcn.00533487
add esp, 4
jmp 0x546b28
push 4
call fcn.006465db
add esp, 4
fld dword [esi + 0xbc]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
fld dword [esi + 0xb8]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
fld dword [esi + 0xb4]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
call fcn.0064655b
add esp, 0xc
push dword [esi + 0x6c]
call fcn.00646614
add esp, 4
fld dword [esi + 0x6c]
fld dword [esi + 0x70]
fmul dword [0x681a08]
fsubp st(1)
fstp dword [esi + 0x6c]
push dword [esi + 0x68]
push dword [esi + 0x64]
call fcn.00646a94
add esp, 8
fld dword [esi + 0x58]
fld dword [esi + 0x5c]
fmul dword [0x681a08]
fdiv dword [0x69a430]
faddp st(1)
fstp dword [esi + 0x58]
fld dword [esi + 0x60]
fstp dword [ebp - 0x24]
fld dword [0x69a434]
sub esp, 8
fstp qword [esp]
fld dword [esi + 0x58]
fmul dword [0x681a08]
fdiv dword [0x69a438]
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.004e9070
add esp, 0x10
fld dword [esi + 0x6c]
fld dword [0x69a43c]
fxch st(1)
fucompp
fnstsw ax
sahf
setbe al
movzx eax, al
cmp eax, 0
jne 0x540023
fld dword [esi + 0x64]
fld dword [0x69a440]
fxch st(1)
fucompp
fnstsw ax
sahf
setb al
movzx eax, al
cmp eax, 0
je 0x540033
push dword [esi + 8]
call fcn.00533487
add esp, 4
jmp 0x546b28
push 4
call fcn.006465db
add esp, 4
push dword [esi + 0x6c]
call fcn.00646614
add esp, 4
push dword [esi + 0x68]
push dword [esi + 0x64]
call fcn.00646a94
add esp, 8
fld dword [esi + 0x58]
fld dword [esi + 0x5c]
fmul dword [0x681a10]
faddp st(1)
fstp dword [esi + 0x58]
fld dword [esi + 0x60]
fstp dword [ebp - 0x28]
fld dword [0x69a444]
sub esp, 8
fstp qword [esp]
fld dword [esi + 0x58]
fmul dword [0x681a10]
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.00646a65
add esp, 4
fld dword [esi + 0xbc]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
fld dword [esi + 0xb8]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
fld dword [esi + 0xb4]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
call fcn.0064655b
add esp, 0xc
push dword [esi + 0x14]
push dword [ebp - 0xe4]
push dword [ebp - 0xe8]
push dword [esi + 0x10]
call fcn.004e9070
add esp, 0x10
cmp dword [esi + 0x94], 0
jle 0x54016d
fld dword [esi + 0x14]
fld dword [0x681a10]
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 0x54016d
fldz
fstp dword [esi + 0x14]
sub dword [esi + 0x90], 1
fld dword [esi + 0x6c]
fld dword [esi + 0x70]
fmul dword [0x681a10]
fsubp st(1)
fstp dword [esi + 0x6c]
fld dword [esi + 0x6c]
fld dword [0x69a448]
fxch st(1)
fucompp
fnstsw ax
sahf
setbe al
movzx eax, al
cmp eax, 0
jne 0x5401a8
mov eax, dword [esi + 0x90]
cmp eax, 0
setl al
movzx eax, al
cmp eax, 0
je 0x5401b8
push dword [esi + 8]
call fcn.00533487
add esp, 4
jmp 0x546b28
push 3
call fcn.006465db
add esp, 4
push dword [esi + 0x6c]
call fcn.00646614
add esp, 4
fld dword [esi + 0x64]
fld dword [esi + 0x78]
fmul dword [0x681a10]
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 0x54020e
fld dword [esi + 0x78]
fld dword [0x69a44c]
fmul dword [0x681a10]
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 0x540232
fld dword [esi + 0xb0]
fstp dword [esi + 0x64]
push dword [esi + 0x64]
push dword [esi + 0x64]
call fcn.00646a94
add esp, 8
fld dword [esi + 0x58]
fld dword [esi + 0x5c]
fmul dword [0x681a10]
faddp st(1)
fstp dword [esi + 0x58]
fld dword [esi + 0x60]
fstp dword [ebp - 0x2c]
fld dword [0x69a450]
sub esp, 8
fstp qword [esp]
fld dword [esi + 0x58]
fmul dword [0x681a10]
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.00646a65
add esp, 4
fld dword [esi + 0xbc]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
fld dword [esi + 0xb8]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
fld dword [esi + 0xb4]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
call fcn.0064655b
add esp, 0xc
push dword [esi + 0x14]
push dword [ebp - 0xe4]
push dword [ebp - 0xe8]
push dword [esi + 0x10]
call fcn.004e9070
add esp, 0x10
cmp dword [esi + 0x90], 0
jle 0x540334
fld dword [esi + 0x6c]
fld dword [esi + 0x74]
fmul dword [0x681a10]
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 0x540332
fld dword [esi + 0xe4]
fstp dword [esi + 0x6c]
jmp 0x54036b
fld dword [esi + 0x6c]
fld dword [esi + 0x70]
fmul dword [0x681a10]
fsubp st(1)
fstp dword [esi + 0x6c]
fld dword [esi + 0x6c]
fld dword [0x69a454]
fxch st(1)
fucompp
fnstsw ax
sahf
seta al
movzx eax, al
cmp eax, 0
jne 0x54036b
push dword [esi + 8]
call fcn.00533487
add esp, 4
cmp dword [esi + 0x90], 0
jle 0x5403e0
cmp dword [esi + 0x94], 0
jle 0x5403e0
fld dword [esi + 0x14]
fld dword [0x681a10]
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 0x5403e0
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 0x546b28
push 3
call fcn.006465db
add esp, 4
push dword [esi + 0x6c]
call fcn.00646614
add esp, 4
fld dword [esi + 0x64]
fld dword [esi + 0x78]
fmul dword [0x681a10]
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 0x540436
fld dword [esi + 0x78]
fld dword [0x69a458]
fmul dword [0x681a10]
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 0x54045a
fld dword [esi + 0xb0]
fstp dword [esi + 0x64]
push dword [esi + 0x64]
push dword [esi + 0x64]
call fcn.00646a94
add esp, 8
fld dword [esi + 0x58]
fld dword [esi + 0x5c]
fmul dword [0x681a10]
faddp st(1)
fstp dword [esi + 0x58]
fld dword [esi + 0x60]
fstp dword [ebp - 0x30]
fld dword [0x69a45c]
sub esp, 8
fstp qword [esp]
fld dword [esi + 0x58]
fmul dword [0x681a10]
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.00646a65
add esp, 4
fld dword [esi + 0xbc]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
fld dword [esi + 0xb8]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
fld dword [esi + 0xb4]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
call fcn.0064655b
add esp, 0xc
push dword [esi + 0x14]
push dword [ebp - 0xe4]
push dword [ebp - 0xe8]
push dword [esi + 0x10]
call fcn.004e9070
add esp, 0x10
mov eax, dword [esi + 0x90]
cmp eax, 5
je 0x540543
cmp eax, 4
je 0x540587
cmp eax, 3
je 0x540648
cmp eax, 2
je 0x54071a
jmp 0x540753
fld dword [esi + 0x6c]
fld dword [esi + 0x74]
fmul dword [0x681a10]
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 0x540582
fld dword [esi + 0xe4]
fstp dword [esi + 0x6c]
mov dword [esi + 0x90], 4
jmp 0x540753
cmp dword [esi + 0x94], 0
jle 0x540643
mov eax, dword [esi + 0x9c]
mov dword [ebp - 0xec], eax
fild dword [ebp - 0xec]
fld dword [0x681a08]
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.0065d35c
add esp, 8
mov dword [esi + 0x9c], eax
mov eax, dword [esi + 0xd8]
cmp dword [esi + 0x9c], eax
jl 0x540643
mov dword [esi + 0x9c], 0
fld dword [esi + 0x14]
fadd dword [0x69a460]
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 0x540643
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 0x540753
cmp dword [esi + 0x94], 0
jle 0x540718
fld dword [esi + 0x6c]
fld dword [esi + 0x70]
fmul dword [0x681a10]
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 0x54068c
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 [0x681a08]
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.0065d35c
add esp, 8
mov dword [esi + 0x9c], eax
mov eax, dword [esi + 0xd8]
cmp dword [esi + 0x9c], eax
jl 0x540718
mov dword [esi + 0x9c], 0
fld dword [esi + 0x14]
fsub dword [0x69a464]
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 0x540718
fldz
fstp dword [esi + 0x14]
mov dword [esi + 0x90], 2
jmp 0x540753
fld dword [esi + 0x6c]
fld dword [esi + 0x70]
fmul dword [0x681a10]
fsubp st(1)
fstp dword [esi + 0x6c]
fld dword [esi + 0x6c]
fld dword [0x69a468]
fxch st(1)
fucompp
fnstsw ax
sahf
seta al
movzx eax, al
cmp eax, 0
jne 0x540751
push dword [esi + 8]
call fcn.00533487
add esp, 4
jmp 0x540753
jmp 0x546b28
fld dword [esi + 0x40]
fadd dword [0x683ce8]
fstp dword [ebp - 0xe8]
fld dword [esi + 0x44]
fadd dword [0x683cec]
fstp dword [ebp - 0xe4]
push dword [esi + 0x60]
call fcn.00646a65
add esp, 4
fld dword [esi + 0xbc]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
fld dword [esi + 0xb8]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
fld dword [esi + 0xb4]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
call fcn.0064655b
add esp, 0xc
cmp dword [esi + 0x90], 1
jne 0x5407d6
jmp 0x540c05
cmp dword [esi + 0x90], 2
jne 0x5409af
fld dword [esi + 0x8c]
fld dword [esi + 0x74]
fmul dword [0x681a10]
fmul dword [0x69a46c]
faddp st(1)
fstp dword [esi + 0x8c]
fld dword [esi + 0x8c]
fld dword [esi + 0x78]
fmul dword [0x69a470]
fxch st(1)
fucompp
fnstsw ax
sahf
setb al
movzx eax, al
cmp eax, 0
jne 0x540830
fld dword [esi + 0x78]
fmul dword [0x69a474]
fstp dword [esi + 0x8c]
push dword [esi + 0x8c]
call fcn.00646614
add esp, 4
push 4
call fcn.006465db
add esp, 4
push dword [esi + 0x68]
push dword [esi + 0x68]
call fcn.00646a94
add esp, 8
fld dword [0x69a478]
sub esp, 8
fstp qword [esp]
fld dword [esi + 0x68]
fld dword [0x69a47c]
fmul dword [0x681a10]
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.0065d35c
add esp, 8
push eax
fld dword [esi + 0xb8]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
fld dword [esi + 0xb4]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
call fcn.0064655b
add esp, 0xc
fld dword [esi + 0x60]
fstp dword [ebp - 0x34]
fld dword [0x69a480]
sub esp, 8
fstp qword [esp]
fld dword [esi + 0x58]
fmul dword [0x69a484]
fmul dword [0x681a10]
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 [0x6838dc]
call fcn.004e9070
add esp, 0x10
push 0xff
push 0xff
push 0xff
call fcn.0064655b
add esp, 0xc
mov eax, dword [esi + 0x98]
mov dword [ebp - 0xec], eax
fild dword [ebp - 0xec]
fsub dword [0x681a08]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
mov dword [esi + 0x98], eax
cmp dword [esi + 0x98], 0
jg 0x5409aa
mov dword [esi + 0x98], 0x32
add dword [esi + 0xd8], 1
cmp dword [esi + 0xd8], 0x1f
jl 0x5409aa
mov dword [esi + 0xd8], 0
jmp 0x540c05
cmp dword [esi + 0x90], 3
jne 0x540b50
fld dword [esi + 0x6c]
fld dword [esi + 0x74]
fmul dword [0x681a10]
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 0x5409f5
fld dword [esi + 0x78]
fstp dword [esi + 0x6c]
mov dword [esi + 0x90], 4
push dword [esi + 0x6c]
call fcn.00646614
add esp, 4
cmp dword [esi + 0x28], 1
jne 0x540a12
push 4
call fcn.006465db
add esp, 4
jmp 0x540a1c
push 3
call fcn.006465db
add esp, 4
push dword [esi + 0x64]
push dword [esi + 0x64]
call fcn.00646a94
add esp, 8
push dword [esi + 0x14]
push dword [ebp - 0xe4]
push dword [ebp - 0xe8]
push dword [esi + 0x10]
call fcn.004e9070
add esp, 0x10
fld dword [esi + 0x8c]
fld dword [esi + 0x70]
fmul dword [0x681a10]
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 0x540a7d
fldz
fstp dword [esi + 0x8c]
push dword [esi + 0x8c]
call fcn.00646614
add esp, 4
push 4
call fcn.006465db
add esp, 4
push dword [esi + 0x68]
push dword [esi + 0x68]
call fcn.00646a94
add esp, 8
fld dword [0x69a488]
sub esp, 8
fstp qword [esp]
fld dword [esi + 0x68]
fld dword [0x69a48c]
fmul dword [0x681a10]
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 [0x6838dc]
call fcn.004e9070
add esp, 0x10
fld dword [esi + 0x58]
fld dword [esi + 0x5c]
fmul dword [0x681a10]
faddp st(1)
fstp dword [esi + 0x58]
fld dword [esi + 0x60]
fstp dword [ebp - 0x38]
fld dword [0x69a490]
sub esp, 8
fstp qword [esp]
fld dword [esi + 0x58]
fmul dword [0x681a10]
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 0x540c05
cmp dword [esi + 0x90], 4
jne 0x540c05
fld dword [esi + 0x6c]
fld dword [esi + 0x70]
fmul dword [0x681a10]
fsubp st(1)
fstp dword [esi + 0x6c]
push dword [esi + 0x6c]
call fcn.00646614
add esp, 4
cmp dword [esi + 0x28], 1
jne 0x540b8b
push 4
call fcn.006465db
add esp, 4
jmp 0x540b95
push 3
call fcn.006465db
add esp, 4
push dword [esi + 0x64]
push dword [esi + 0x64]
call fcn.00646a94
add esp, 8
push dword [esi + 0x14]
push dword [ebp - 0xe4]
push dword [ebp - 0xe8]
push dword [esi + 0x10]
call fcn.004e9070
add esp, 0x10
fld dword [esi + 0x58]
fld dword [esi + 0x5c]
fmul dword [0x681a10]
faddp st(1)
fstp dword [esi + 0x58]
fld dword [esi + 0x60]
fstp dword [ebp - 0x3c]
fld dword [0x69a494]
sub esp, 8
fstp qword [esp]
fld dword [esi + 0x58]
fmul dword [0x681a10]
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 [0x69a498]
fxch st(1)
fucompp
fnstsw ax
sahf
setbe al
movzx eax, al
cmp eax, 0
je 0x540c2f
mov eax, dword [esi + 0x90]
cmp eax, 3
setge al
movzx eax, al
cmp eax, 0
je 0x540c3f
push dword [esi + 8]
call fcn.00533487
add esp, 4
jmp 0x546b28
push 4
call fcn.006465db
add esp, 4
push dword [esi + 0x6c]
call fcn.00646614
add esp, 4
push dword [esi + 0x64]
push dword [esi + 0x64]
call fcn.00646a94
add esp, 8
fld dword [esi + 0x60]
fstp dword [ebp - 0x40]
fld dword [0x69a49c]
sub esp, 8
fstp qword [esp]
fld dword [esi + 0x58]
fmul dword [0x681a10]
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.00646a65
add esp, 4
fld dword [esi + 0xbc]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
fld dword [esi + 0xb8]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
fld dword [esi + 0xb4]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
call fcn.0064655b
add esp, 0xc
push dword [esi + 0x14]
push dword [ebp - 0xe4]
push dword [ebp - 0xe8]
push dword [esi + 0x10]
call fcn.004e9070
add esp, 0x10
cmp dword [esi + 0x94], 0
jle 0x540d68
fld dword [esi + 0x14]
fld dword [0x681a10]
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 0x540d68
fldz
fstp dword [esi + 0x14]
sub dword [esi + 0x90], 1
fld dword [esi + 0x6c]
fld dword [esi + 0x70]
fmul dword [0x681a10]
fsubp st(1)
fstp dword [esi + 0x6c]
fld dword [esi + 0x6c]
fld dword [0x69a4a0]
fxch st(1)
fucompp
fnstsw ax
sahf
setbe al
movzx eax, al
cmp eax, 0
jne 0x540da3
mov eax, dword [esi + 0x90]
cmp eax, 0
setle al
movzx eax, al
cmp eax, 0
je 0x540db3
push dword [esi + 8]
call fcn.00533487
add esp, 4
jmp 0x546b28
push 4
call fcn.006465db
add esp, 4
push dword [esi + 0x6c]
call fcn.00646614
add esp, 4
push dword [esi + 0x68]
push dword [esi + 0x64]
call fcn.00646a94
add esp, 8
fld dword [esi + 0x58]
fld dword [esi + 0x5c]
fmul dword [0x681a10]
faddp st(1)
fstp dword [esi + 0x58]
fld dword [esi + 0x60]
fstp dword [ebp - 0x44]
fld dword [0x69a4a4]
sub esp, 8
fstp qword [esp]
fld dword [esi + 0x58]
fmul dword [0x681a10]
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.00646a65
add esp, 4
fld dword [esi + 0xbc]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
fld dword [esi + 0xb8]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
fld dword [esi + 0xb4]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
call fcn.0064655b
add esp, 0xc
push dword [esi + 0x14]
push dword [ebp - 0xe4]
push dword [ebp - 0xe8]
push dword [esi + 0x10]
call fcn.004e9070
add esp, 0x10
cmp dword [esi + 0x94], 0
jle 0x540eed
fld dword [esi + 0x14]
fld dword [0x681a10]
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 0x540eed
fldz
fstp dword [esi + 0x14]
sub dword [esi + 0x90], 1
fld dword [esi + 0x6c]
fld dword [esi + 0x70]
fmul dword [0x681a10]
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 0x540f20
push dword [esi + 8]
call fcn.00533487
add esp, 4
jmp 0x546b28
push 4
call fcn.006465db
add esp, 4
push dword [esi + 0x6c]
call fcn.00646614
add esp, 4
push dword [esi + 0x68]
push dword [esi + 0x64]
call fcn.00646a94
add esp, 8
fld dword [esi + 0x58]
fld dword [esi + 0x5c]
fmul dword [0x681a10]
faddp st(1)
fstp dword [esi + 0x58]
fld dword [esi + 0x60]
fstp dword [ebp - 0x48]
fld dword [0x69a4a8]
sub esp, 8
fstp qword [esp]
fld dword [esi + 0x58]
fmul dword [0x681a10]
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.00646a65
add esp, 4
fld dword [esi + 0xbc]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
fld dword [esi + 0xb8]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
fld dword [esi + 0xb4]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
call fcn.0064655b
add esp, 0xc
push dword [esi + 0x14]
push dword [ebp - 0xe4]
push dword [ebp - 0xe8]
push dword [esi + 0x10]
call fcn.004e9070
add esp, 0x10
cmp dword [esi + 0x94], 0
jle 0x54105a
fld dword [esi + 0x14]
fld dword [0x681a10]
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 0x54105a
fldz
fstp dword [esi + 0x14]
sub dword [esi + 0x90], 1
fld dword [esi + 0x6c]
fld dword [esi + 0x70]
fmul dword [0x681a10]
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 0x54108d
push dword [esi + 8]
call fcn.00533487
add esp, 4
jmp 0x546b28
push 4
call fcn.006465db
add esp, 4
push dword [esi + 0x6c]
call fcn.00646614
add esp, 4
fld dword [esi + 0x64]
fld dword [0x69a4ac]
fxch st(1)
fucompp
fnstsw ax
sahf
setae al
movzx eax, al
cmp eax, 0
jne 0x5410dc
fld dword [esi + 0x64]
fld dword [0x681a10]
fmul dword [0x69a4b0]
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.00646a94
add esp, 8
fld dword [esi + 0x58]
fld dword [esi + 0x5c]
fmul dword [0x681a10]
faddp st(1)
fstp dword [esi + 0x58]
fld dword [esi + 0x60]
fstp dword [ebp - 0x4c]
fld dword [0x69a4b4]
sub esp, 8
fstp qword [esp]
fld dword [esi + 0x58]
fmul dword [0x681a10]
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.00646a65
add esp, 4
fld dword [esi + 0xbc]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
fld dword [esi + 0xb8]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
fld dword [esi + 0xb4]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
call fcn.0064655b
add esp, 0xc
push dword [esi + 0x14]
push dword [ebp - 0xe4]
push dword [ebp - 0xe8]
push dword [esi + 0x10]
call fcn.004e9070
add esp, 0x10
cmp dword [esi + 0x94], 0
jle 0x5411f2
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 [0x681a10]
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 [0x681a10]
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 0x541230
fld dword [esi + 0x64]
fld dword [0x69a4b8]
fxch st(1)
fucompp
fnstsw ax
sahf
setbe al
movzx eax, al
cmp eax, 0
je 0x541240
push dword [esi + 8]
call fcn.00533487
add esp, 4
jmp 0x546b28
push 4
call fcn.006465db
add esp, 4
push dword [esi + 0x6c]
call fcn.00646614
add esp, 4
fld dword [esi + 0x64]
fld dword [0x69a4bc]
fxch st(1)
fucompp
fnstsw ax
sahf
setae al
movzx eax, al
cmp eax, 0
jne 0x54128b
fld dword [esi + 0x64]
fld dword [0x681a10]
fmul dword [0x69a4c0]
faddp st(1)
fstp dword [esi + 0x64]
jmp 0x5412c3
fld dword [esi + 0x64]
fld dword [0x681a10]
fmul dword [0x69a4c4]
faddp st(1)
fstp dword [esi + 0x64]
fld dword [esi + 0x64]
fld dword [0x69a4c8]
fxch st(1)
fucompp
fnstsw ax
sahf
setbe al
movzx eax, al
cmp eax, 0
jne 0x5412c3
fld dword [0x69a4cc]
fstp dword [esi + 0x64]
fld dword [esi + 0x64]
fstp dword [esi + 0x68]
push dword [esi + 0x68]
push dword [esi + 0x64]
call fcn.00646a94
add esp, 8
fld dword [esi + 0x58]
fld dword [esi + 0x5c]
fmul dword [0x681a10]
faddp st(1)
fstp dword [esi + 0x58]
fld dword [esi + 0x60]
fstp dword [ebp - 0x50]
fld dword [0x69a4d0]
sub esp, 8
fstp qword [esp]
fld dword [esi + 0x58]
fmul dword [0x681a10]
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.00646a65
add esp, 4
fld dword [esi + 0xbc]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
fld dword [esi + 0xb8]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
fld dword [esi + 0xb4]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
call fcn.0064655b
add esp, 0xc
push dword [esi + 0x14]
push dword [ebp - 0xe4]
push dword [ebp - 0xe8]
push dword [esi + 0x10]
call fcn.004e9070
add esp, 0x10
cmp dword [esi + 0x94], 0
jle 0x5413e5
fld dword [esi + 0x14]
fld dword [0x681a10]
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 0x5413e5
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 [0x681a10]
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 0x541423
fld dword [esi + 0x64]
fld dword [0x69a4d4]
fxch st(1)
fucompp
fnstsw ax
sahf
setbe al
movzx eax, al
cmp eax, 0
je 0x541433
push dword [esi + 8]
call fcn.00533487
add esp, 4
jmp 0x546b28
push 4
call fcn.006465db
add esp, 4
push dword [esi + 0x6c]
call fcn.00646614
add esp, 4
fld dword [esi + 0x74]
sub esp, 8
fstp qword [esp]
fld dword [esi + 0x64]
fld dword [0x681a10]
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.00646a94
add esp, 8
fld dword [esi + 0x60]
fstp dword [ebp - 0x54]
fld dword [0x69a4d8]
sub esp, 8
fstp qword [esp]
fld dword [esi + 0x58]
fmul dword [0x681a10]
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.00646a65
add esp, 4
fld dword [esi + 0xbc]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
fld dword [esi + 0xb8]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
fld dword [esi + 0xb4]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
call fcn.0064655b
add esp, 0xc
push dword [esi + 0x14]
push dword [ebp - 0xe4]
push dword [ebp - 0xe8]
push dword [esi + 0x10]
call fcn.004e9070
add esp, 0x10
cmp dword [esi + 0x94], 0
jle 0x541580
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 [0x681a10]
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 0x5415bd
fld dword [esi + 0x6c]
fld dword [esi + 0x70]
fmul dword [0x681a10]
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 0x5415bb
mov dword [esi + 0x90], 0
jmp 0x5415ce
fld dword [esi + 0x6c]
fld dword [esi + 0x70]
fmul dword [0x681a10]
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 0x5415fb
fld dword [esi + 0x64]
fld dword [0x69a4dc]
fxch st(1)
fucompp
fnstsw ax
sahf
setbe al
movzx eax, al
cmp eax, 0
je 0x54160b
push dword [esi + 8]
call fcn.00533487
add esp, 4
jmp 0x546b28
push 4
call fcn.006465db
add esp, 4
push dword [esi + 0x6c]
call fcn.00646614
add esp, 4
fldz
sub esp, 8
fstp qword [esp]
fld dword [esi + 0x64]
fld dword [0x681a10]
fmul dword [0x69a4e0]
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.00646a94
add esp, 8
fld dword [esi + 0x58]
fld dword [esi + 0x5c]
fmul dword [0x681a10]
faddp st(1)
fstp dword [esi + 0x58]
fld dword [esi + 0x60]
fstp dword [ebp - 0x58]
fld dword [0x69a4e4]
sub esp, 8
fstp qword [esp]
fld dword [esi + 0x58]
fmul dword [0x681a10]
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.00646a65
add esp, 4
fld dword [esi + 0xbc]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
fld dword [esi + 0xb8]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
fld dword [esi + 0xb4]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
call fcn.0064655b
add esp, 0xc
push dword [esi + 0x14]
push dword [ebp - 0xe4]
push dword [ebp - 0xe8]
push dword [esi + 0x10]
call fcn.004e9070
add esp, 0x10
cmp dword [esi + 0x94], 0
jle 0x54176b
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 [0x681a10]
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 0x5417a8
fld dword [esi + 0x6c]
fld dword [esi + 0x70]
fmul dword [0x681a10]
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 0x5417a6
mov dword [esi + 0x90], 0
jmp 0x5417b9
fld dword [esi + 0x6c]
fld dword [esi + 0x70]
fmul dword [0x681a10]
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 0x5417e6
fld dword [esi + 0x64]
fld dword [0x69a4e8]
fxch st(1)
fucompp
fnstsw ax
sahf
setbe al
movzx eax, al
cmp eax, 0
je 0x5417f6
push dword [esi + 8]
call fcn.00533487
add esp, 4
jmp 0x546b28
push 4
call fcn.006465db
add esp, 4
push dword [esi + 0x6c]
call fcn.00646614
add esp, 4
fld dword [0x69a4ec]
sub esp, 8
fstp qword [esp]
fld dword [esi + 0x64]
fld dword [0x681a10]
fmul dword [0x69a4f0]
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.00646a94
add esp, 8
fld dword [esi + 0x58]
fld dword [esi + 0x5c]
fmul dword [0x681a10]
faddp st(1)
fstp dword [esi + 0x58]
fld dword [esi + 0x60]
fstp dword [ebp - 0x5c]
fld dword [0x69a4f4]
sub esp, 8
fstp qword [esp]
fld dword [esi + 0x58]
fmul dword [0x681a10]
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.00646a65
add esp, 4
fld dword [esi + 0xbc]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
fld dword [esi + 0xb8]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
fld dword [esi + 0xb4]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
call fcn.0064655b
add esp, 0xc
push dword [esi + 0x14]
push dword [ebp - 0xe4]
push dword [ebp - 0xe8]
push dword [esi + 0x10]
call fcn.004e9070
add esp, 0x10
cmp dword [esi + 0x94], 0
jle 0x54195a
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 [0x681a10]
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 0x541997
fld dword [esi + 0x6c]
fld dword [esi + 0x70]
fmul dword [0x681a10]
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 0x541995
mov dword [esi + 0x90], 0
jmp 0x5419a8
fld dword [esi + 0x6c]
fld dword [esi + 0x70]
fmul dword [0x681a10]
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 0x5419ca
push dword [esi + 8]
call fcn.00533487
add esp, 4
jmp 0x546b28
push 3
call fcn.006465db
add esp, 4
push dword [esi + 0x6c]
call fcn.00646614
add esp, 4
push dword [esi + 0x68]
push dword [esi + 0x64]
call fcn.00646a94
add esp, 8
fld dword [esi + 0x58]
fld dword [esi + 0x5c]
fmul dword [0x681a10]
faddp st(1)
fstp dword [esi + 0x58]
fld dword [esi + 0x60]
fstp dword [ebp - 0x60]
fld dword [0x69a4f8]
sub esp, 8
fstp qword [esp]
fld dword [esi + 0x58]
fmul dword [0x681a10]
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.00646a65
add esp, 4
fld dword [esi + 0xbc]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
fld dword [esi + 0xb8]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
fld dword [esi + 0xb4]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
call fcn.0064655b
add esp, 0xc
push dword [esi + 0x14]
push dword [ebp - 0xe4]
push dword [ebp - 0xe8]
push dword [esi + 0x10]
call fcn.004e9070
add esp, 0x10
cmp dword [esi + 0x94], 0
jle 0x541b04
fld dword [esi + 0x14]
fld dword [0x681a10]
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 0x541b04
fldz
fstp dword [esi + 0x14]
sub dword [esi + 0x90], 1
fld dword [esi + 0x6c]
fld dword [esi + 0x70]
fmul dword [0x681a10]
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 0x541b42
fld dword [esi + 0x64]
fld dword [0x69a4fc]
fxch st(1)
fucompp
fnstsw ax
sahf
setbe al
movzx eax, al
cmp eax, 0
je 0x541b52
push dword [esi + 8]
call fcn.00533487
add esp, 4
jmp 0x546b28
push 3
call fcn.006465db
add esp, 4
push dword [esi + 0x6c]
call fcn.00646614
add esp, 4
push dword [esi + 0x68]
push dword [esi + 0x64]
call fcn.00646a94
add esp, 8
push dword [esi + 0x60]
call fcn.00646a65
add esp, 4
fld dword [esi + 0xbc]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
fld dword [esi + 0xb8]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
fld dword [esi + 0xb4]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
call fcn.0064655b
add esp, 0xc
push dword [esi + 0x14]
push dword [ebp - 0xe4]
push dword [ebp - 0xe8]
push dword [esi + 0x10]
call fcn.004e9070
add esp, 0x10
mov eax, dword [0x681f70]
cmp eax, 0
setne al
movzx eax, al
cmp eax, 0
jne 0x541c07
mov eax, dword [0x681f74]
cmp eax, 0
setne al
movzx eax, al
cmp eax, 0
je 0x541c58
mov eax, dword [0x68143c]
cmp eax, 0xa
setg al
movzx eax, al
cmp eax, 0
jne 0x541c2d
mov eax, dword [0x683564]
cmp eax, 0
setne al
movzx eax, al
cmp eax, 0
jne 0x541c40
mov eax, dword [0x6834a8]
cmp eax, 0xffffffff
setne al
movzx eax, al
cmp eax, 0
je 0x541c58
mov dword [esi + 0x90], 0
fld dword [0x69a500]
fstp dword [esi + 0x70]
cmp dword [esi + 0x94], 0
jle 0x541cb6
fld dword [esi + 0x14]
fld dword [0x681a10]
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 0x541cb6
fldz
fstp dword [esi + 0x14]
sub dword [esi + 0x90], 1
cmp dword [esi + 0x90], 1
jl 0x541cf0
fld dword [esi + 0x6c]
fld dword [esi + 0x74]
fmul dword [0x681a10]
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 0x541cee
sub dword [esi + 0x90], 1
jmp 0x541d3e
fld dword [esi + 0x6c]
fld dword [esi + 0x70]
fmul dword [0x681a10]
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 0x541d2e
fld dword [esi + 0x64]
fld dword [0x69a504]
fxch st(1)
fucompp
fnstsw ax
sahf
setbe al
movzx eax, al
cmp eax, 0
je 0x541d3e
push dword [esi + 8]
call fcn.00533487
add esp, 4
jmp 0x546b28
push 4
call fcn.006465db
add esp, 4
push dword [esi + 0x6c]
call fcn.00646614
add esp, 4
push dword [esi + 0x68]
push dword [esi + 0x64]
call fcn.00646a94
add esp, 8
push dword [esi + 0x14]
push dword [ebp - 0xe4]
push dword [ebp - 0xe8]
push dword [esi + 0x10]
call fcn.004e9070
add esp, 0x10
cmp dword [esi + 0x94], 0
jle 0x541dd0
fld dword [esi + 0x14]
fld dword [0x681a10]
fmul dword [0x69a508]
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 0x541dd0
fldz
fstp dword [esi + 0x14]
sub dword [esi + 0x90], 1
fld dword [esi + 0x6c]
fld dword [0x681a08]
fdiv dword [0x69a50c]
fsubp st(1)
fstp dword [esi + 0x6c]
fld dword [esi + 0x64]
fld dword [0x681a08]
fdiv dword [0x69a510]
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 0x541e2b
fld dword [esi + 0x64]
fld dword [0x69a514]
fxch st(1)
fucompp
fnstsw ax
sahf
setbe al
movzx eax, al
cmp eax, 0
je 0x541e3b
push dword [esi + 8]
call fcn.00533487
add esp, 4
jmp 0x546b28
cmp dword [esi + 0x7c], 0
jg 0x541fa1
push 4
call fcn.006465db
add esp, 4
push 0xc8
push 0xf
push 0xaf
call fcn.0064655b
add esp, 0xc
push dword [esi + 0x6c]
call fcn.00646614
add esp, 4
push dword [esi + 0x68]
push dword [esi + 0x64]
call fcn.00646a94
add esp, 8
push dword [esi + 0x60]
call fcn.00646a65
add esp, 4
push dword [esi + 0x14]
push dword [ebp - 0xe4]
push dword [ebp - 0xe8]
push dword [esi + 0x10]
call fcn.004e9070
add esp, 0x10
fld dword [esi + 0x58]
fld dword [esi + 0x5c]
fmul dword [0x681a10]
faddp st(1)
fstp dword [esi + 0x58]
fld dword [esi + 0x60]
fstp dword [ebp - 0x64]
fld dword [0x69a518]
sub esp, 8
fstp qword [esp]
fld dword [esi + 0x58]
fmul dword [0x681a10]
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 0x541f48
fld dword [esi + 0x6c]
fld dword [0x681a08]
fdiv dword [0x69a51c]
faddp st(1)
fstp dword [esi + 0x6c]
fld dword [esi + 0x64]
fld dword [0x681a08]
fdiv dword [0x69a520]
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 0x541f46
mov dword [esi + 0x90], 2
jmp 0x541fa1
cmp dword [esi + 0x90], 2
jne 0x541fa1
fld dword [esi + 0x6c]
fld dword [0x681a08]
fdiv dword [0x69a524]
fsubp st(1)
fstp dword [esi + 0x6c]
fld dword [esi + 0x64]
fld dword [0x681a08]
fdiv dword [0x69a528]
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 0x541fa1
push dword [esi + 8]
call fcn.00533487
add esp, 4
jmp 0x546b28
cmp dword [esi + 0x7c], 0
jg 0x542098
push 4
call fcn.006465db
add esp, 4
push dword [esi + 0x6c]
call fcn.00646614
add esp, 4
push dword [esi + 0x68]
push dword [esi + 0x64]
call fcn.00646a94
add esp, 8
push dword [esi + 0x14]
push dword [ebp - 0xe4]
push dword [ebp - 0xe8]
push dword [esi + 0x10]
call fcn.004e9070
add esp, 0x10
cmp dword [esi + 0x90], 1
jg 0x542059
fld dword [esi + 0x6c]
fld dword [0x681a08]
fdiv dword [0x69a52c]
fsubp st(1)
fstp dword [esi + 0x6c]
fld dword [esi + 0x64]
fld dword [0x681a10]
fmul dword [0x69a530]
faddp st(1)
fstp dword [esi + 0x64]
fld dword [esi + 0x68]
fld dword [0x681a10]
fmul dword [0x69a534]
faddp st(1)
fstp dword [esi + 0x68]
fld dword [esi + 0x64]
fld dword [0x69a538]
fxch st(1)
fucompp
fnstsw ax
sahf
setb al
movzx eax, al
cmp eax, 0
jne 0x542057
mov dword [esi + 0x90], 2
jmp 0x542098
cmp dword [esi + 0x90], 2
jne 0x542098
fld dword [esi + 0x6c]
fld dword [0x681a08]
fdiv dword [0x69a53c]
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 0x542098
push dword [esi + 8]
call fcn.00533487
add esp, 4
jmp 0x546b28
cmp dword [esi + 0x7c], 0
jg 0x54221a
push 4
call fcn.006465db
add esp, 4
fld dword [esi + 0xbc]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
fld dword [esi + 0xb8]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
fld dword [esi + 0xb4]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
call fcn.0064655b
add esp, 0xc
push dword [esi + 0x6c]
call fcn.00646614
add esp, 4
fld dword [esi + 0x64]
fstp dword [ebp - 0xd8]
fld dword [0x69a540]
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.00646a94
add esp, 8
push dword [esi + 0x14]
push dword [ebp - 0xe4]
push dword [ebp - 0xe8]
push dword [esi + 0x10]
call fcn.004e9070
add esp, 0x10
cmp dword [esi + 0x90], 1
jne 0x5421de
fld dword [esi + 0x6c]
fld dword [0x681a08]
fdiv dword [0x69a544]
fsubp st(1)
fstp dword [esi + 0x6c]
fld dword [esi + 0x64]
fld dword [0x681a10]
fmul dword [0x69a548]
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 0x5421cd
fld dword [esi + 0x6c]
fld dword [0x69a54c]
fxch st(1)
fucompp
fnstsw ax
sahf
setb al
movzx eax, al
cmp eax, 0
je 0x5421dc
mov dword [esi + 0x90], 2
jmp 0x54221a
cmp dword [esi + 0x90], 2
jne 0x54221a
fld dword [esi + 0x6c]
fld dword [0x681a10]
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 0x54221a
push dword [esi + 8]
call fcn.00533487
add esp, 4
jmp 0x546b28
cmp dword [esi + 0x7c], 0
jg 0x5422be
push 4
call fcn.006465db
add esp, 4
push dword [esi + 0x6c]
call fcn.00646614
add esp, 4
push dword [esi + 0x68]
push dword [esi + 0x64]
call fcn.00646a94
add esp, 8
push dword [esi + 0x14]
push dword [ebp - 0xe4]
push dword [ebp - 0xe8]
push dword [esi + 0x10]
call fcn.004e9070
add esp, 0x10
push 0x3f800000
push 0x3f800000
call fcn.00646a94
add esp, 8
fld dword [esi + 0x6c]
fld dword [0x681a08]
mov eax, dword [0x6819fc]
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 0x5422be
push dword [esi + 8]
call fcn.00533487
add esp, 4
jmp 0x546b28
push 0xff
push 0xff
push 0xff
call fcn.0064655b
add esp, 0xc
push 3
call fcn.006465db
add esp, 4
push dword [esi + 0x6c]
call fcn.00646614
add esp, 4
push dword [esi + 0x68]
push dword [esi + 0x64]
call fcn.00646a94
add esp, 8
push dword [esi + 0x14]
push dword [ebp - 0xe4]
push dword [ebp - 0xe8]
push dword [esi + 0x10]
call fcn.004e9070
add esp, 0x10
fld dword [esi + 0x6c]
fld dword [0x681a08]
fdiv dword [0x69a550]
fsubp st(1)
fstp dword [esi + 0x6c]
fld dword [esi + 0x64]
fld dword [0x681a08]
fdiv dword [0x69a554]
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 0x542372
fld dword [esi + 0x64]
fld dword [0x69a558]
fxch st(1)
fucompp
fnstsw ax
sahf
setbe al
movzx eax, al
cmp eax, 0
je 0x542382
push dword [esi + 8]
call fcn.00533487
add esp, 4
jmp 0x546b28
cmp dword [esi + 0x7c], 0
jg 0x542533
cmp dword [esi + 0x28], 1
jne 0x5423a3
push 4
call fcn.006465db
add esp, 4
jmp 0x5423ad
push 3
call fcn.006465db
add esp, 4
push dword [esi + 0x6c]
call fcn.00646614
add esp, 4
push dword [esi + 0x68]
push dword [esi + 0x64]
call fcn.00646a94
add esp, 8
push dword [esi + 0x60]
call fcn.00646a65
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 [0x681a10]
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.004e9070
add esp, 0x10
cmp dword [esi + 0x90], 1
jne 0x5424f4
fld dword [esi + 0x64]
fld dword [0x681a10]
fmul dword [0x69a55c]
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 0x5424f2
mov dword [esi + 0x90], 2
push 6
push 3
call fcn.00659bc1
add esp, 8
mov dword [ebp - 0xec], eax
fild dword [ebp - 0xec]
fstp dword [esi + 0x58]
push 1
push 0xffffffffffffffff
call fcn.00659bc1
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 [0x69a560]
sub esp, 8
fstp qword [esp]
call fcn.00659b80
add esp, 0x10
fstp dword [esi + 0x84]
fld1
sub esp, 8
fstp qword [esp]
fld qword [0x69a568]
sub esp, 8
fstp qword [esp]
call fcn.00659b80
add esp, 0x10
fstp dword [esi + 0x88]
push 1
push 0xa
call fcn.00659bc1
add esp, 8
add eax, 0xa
mov dword [ebp - 0xec], eax
fild dword [ebp - 0xec]
fstp dword [esi + 0x50]
jmp 0x542533
cmp dword [esi + 0x90], 2
jne 0x542533
fld dword [esi + 0x6c]
fld dword [0x681a08]
fdiv dword [0x69a570]
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 0x542533
push dword [esi + 8]
call fcn.00533487
add esp, 4
jmp 0x546b28
cmp dword [esi + 0x7c], 0
jg 0x5426c6
cmp dword [esi + 0x28], 1
jne 0x542554
push 4
call fcn.006465db
add esp, 4
jmp 0x54255e
push 3
call fcn.006465db
add esp, 4
push dword [esi + 0x6c]
call fcn.00646614
add esp, 4
push dword [esi + 0x68]
push dword [esi + 0x64]
call fcn.00646a94
add esp, 8
push dword [esi + 0x60]
call fcn.00646a65
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 [0x681a10]
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.004e9070
add esp, 0x10
cmp dword [esi + 0x90], 1
jne 0x542687
fld dword [esi + 0x64]
fld dword [0x681a10]
fmul dword [0x69a574]
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 0x542685
mov dword [esi + 0x90], 2
push 6
push 3
call fcn.00659bc1
add esp, 8
mov dword [ebp - 0xec], eax
fild dword [ebp - 0xec]
fstp dword [esi + 0x58]
push 1
push 0xffffffffffffffff
call fcn.00659bc1
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 [0x69a578]
sub esp, 8
fstp qword [esp]
call fcn.00659b80
add esp, 0x10
fstp dword [esi + 0x84]
fld1
sub esp, 8
fstp qword [esp]
fld qword [0x69a580]
sub esp, 8
fstp qword [esp]
call fcn.00659b80
add esp, 0x10
fstp dword [esi + 0x88]
jmp 0x5426c6
cmp dword [esi + 0x90], 2
jne 0x5426c6
fld dword [esi + 0x6c]
fld dword [0x681a08]
fdiv dword [0x69a588]
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 0x5426c6
push dword [esi + 8]
call fcn.00533487
add esp, 4
jmp 0x546b28
cmp dword [esi + 0x7c], 0
jg 0x542859
cmp dword [esi + 0x28], 1
jne 0x5426e7
push 4
call fcn.006465db
add esp, 4
jmp 0x5426f1
push 3
call fcn.006465db
add esp, 4
push dword [esi + 0x6c]
call fcn.00646614
add esp, 4
push dword [esi + 0x68]
push dword [esi + 0x64]
call fcn.00646a94
add esp, 8
push dword [esi + 0x60]
call fcn.00646a65
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 [0x681a10]
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.004e9070
add esp, 0x10
cmp dword [esi + 0x90], 1
jne 0x54281a
fld dword [esi + 0x64]
fld dword [0x681a10]
fmul dword [0x69a58c]
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 0x542818
mov dword [esi + 0x90], 2
push 6
push 3
call fcn.00659bc1
add esp, 8
mov dword [ebp - 0xec], eax
fild dword [ebp - 0xec]
fstp dword [esi + 0x58]
push 1
push 0xffffffffffffffff
call fcn.00659bc1
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 [0x69a590]
sub esp, 8
fstp qword [esp]
call fcn.00659b80
add esp, 0x10
fstp dword [esi + 0x84]
fld1
sub esp, 8
fstp qword [esp]
fld qword [0x69a598]
sub esp, 8
fstp qword [esp]
call fcn.00659b80
add esp, 0x10
fstp dword [esi + 0x88]
jmp 0x542859
cmp dword [esi + 0x90], 2
jne 0x542859
fld dword [esi + 0x6c]
fld dword [0x681a08]
fdiv dword [0x69a5a0]
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 0x542859
push dword [esi + 8]
call fcn.00533487
add esp, 4
jmp 0x546b28
cmp dword [esi + 0x7c], 0
jg 0x5429e3
push 3
call fcn.006465db
add esp, 4
fldz
sub esp, 8
fstp qword [esp]
fld qword [0x69a5a8]
sub esp, 8
fstp qword [esp]
call fcn.00659b80
add esp, 0x10
fld qword [0x69a5b0]
faddp st(1)
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
fldz
sub esp, 8
fstp qword [esp]
fld qword [0x69a5b8]
sub esp, 8
fstp qword [esp]
call fcn.00659b80
add esp, 0x10
fld qword [0x69a5c0]
faddp st(1)
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
fldz
sub esp, 8
fstp qword [esp]
fld qword [0x69a5c8]
sub esp, 8
fstp qword [esp]
call fcn.00659b80
add esp, 0x10
fld qword [0x69a5d0]
fmulp st(1)
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
call fcn.0064655b
add esp, 0xc
push dword [esi + 0x6c]
call fcn.00646614
add esp, 4
push dword [esi + 0x68]
push dword [esi + 0x64]
call fcn.00646a94
add esp, 8
push dword [esi + 0x14]
push dword [ebp - 0xe4]
push dword [ebp - 0xe8]
push dword [esi + 0x10]
call fcn.004e9070
add esp, 0x10
cmp dword [esi + 0x90], 1
jne 0x5429a4
fld dword [esi + 0x6c]
fld dword [0x681a08]
fdiv dword [0x69a5d8]
fsubp st(1)
fstp dword [esi + 0x6c]
fld dword [esi + 0x64]
fld dword [0x681a10]
fmul dword [0x69a5dc]
faddp st(1)
fstp dword [esi + 0x64]
fld dword [esi + 0x64]
fstp dword [esi + 0x68]
fld dword [esi + 0x64]
fld dword [0x69a5e0]
fxch st(1)
fucompp
fnstsw ax
sahf
setb al
movzx eax, al
cmp eax, 0
jne 0x5429a2
mov dword [esi + 0x90], 2
jmp 0x5429e3
cmp dword [esi + 0x90], 2
jne 0x5429e3
fld dword [esi + 0x6c]
fld dword [0x681a08]
fdiv dword [0x69a5e4]
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 0x5429e3
push dword [esi + 8]
call fcn.00533487
add esp, 4
jmp 0x546b28
cmp dword [esi + 0x7c], 0
jg 0x542afc
push 4
call fcn.006465db
add esp, 4
push dword [esi + 0x6c]
call fcn.00646614
add esp, 4
push dword [esi + 0x68]
push dword [esi + 0x64]
call fcn.00646a94
add esp, 8
fld dword [esi + 0x58]
fld dword [esi + 0x5c]
fmul dword [0x681a10]
faddp st(1)
fstp dword [esi + 0x58]
fld dword [esi + 0x60]
fstp dword [ebp - 0x68]
fld dword [0x69a5e8]
sub esp, 8
fstp qword [esp]
fld dword [esi + 0x58]
fmul dword [0x681a10]
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.00646a65
add esp, 4
fld dword [esi + 0xbc]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
fld dword [esi + 0xb8]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
fld dword [esi + 0xb4]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
call fcn.0064655b
add esp, 0xc
push dword [esi + 0x14]
push dword [ebp - 0xe4]
push dword [ebp - 0xe8]
push dword [esi + 0x10]
call fcn.004e9070
add esp, 0x10
fld dword [esi + 0x6c]
fld dword [0x681a10]
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 0x542afc
push dword [esi + 8]
call fcn.00533487
add esp, 4
jmp 0x546b28
cmp dword [esi + 0x7c], 0
jg 0x542ce5
push 3
call fcn.006465db
add esp, 4
push dword [esi + 0x6c]
call fcn.00646614
add esp, 4
fld dword [esi + 0x58]
fld dword [esi + 0x5c]
fmul dword [0x681a10]
faddp st(1)
fstp dword [esi + 0x58]
fld dword [esi + 0x60]
fstp dword [ebp - 0x6c]
fld dword [0x69a5ec]
sub esp, 8
fstp qword [esp]
fld dword [esi + 0x58]
fmul dword [0x681a10]
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.00646a65
add esp, 4
fld dword [esi + 0xbc]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
fld dword [esi + 0xb8]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
fld dword [esi + 0xb4]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
call fcn.0064655b
add esp, 0xc
fld dword [esi + 0x64]
fld dword [esi + 0xac]
fmul dword [0x681a10]
faddp st(1)
fstp dword [esi + 0x64]
fld dword [0x69a5f0]
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.00646a94
add esp, 8
push dword [esi + 0x14]
push dword [ebp - 0xe4]
push dword [ebp - 0xe8]
push dword [esi + 0x10]
call fcn.004e9070
add esp, 0x10
cmp dword [esi + 0x94], 0
jle 0x542c74
fld dword [esi + 0x14]
fld dword [0x681a10]
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 0x542c74
fldz
fstp dword [esi + 0x14]
sub dword [esi + 0x90], 1
cmp dword [esi + 0x90], 1
jl 0x542cb2
fld dword [esi + 0x6c]
fld dword [esi + 0x74]
fmul dword [0x681a10]
faddp st(1)
fstp dword [esi + 0x6c]
fld dword [esi + 0x6c]
fld dword [0x69a5f4]
fxch st(1)
fucompp
fnstsw ax
sahf
setb al
movzx eax, al
cmp eax, 0
jne 0x542cb0
sub dword [esi + 0x90], 1
jmp 0x542ce5
fld dword [esi + 0x6c]
fld dword [esi + 0x70]
fmul dword [0x681a10]
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 0x542ce5
push dword [esi + 8]
call fcn.00533487
add esp, 4
jmp 0x546b28
cmp dword [esi + 0x7c], 0
jg 0x542e14
push 4
call fcn.006465db
add esp, 4
push dword [esi + 0x6c]
call fcn.00646614
add esp, 4
push dword [esi + 0x68]
push dword [esi + 0x64]
call fcn.00646a94
add esp, 8
push dword [esi + 0x60]
call fcn.00646a65
add esp, 4
fld dword [esi + 0xbc]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
fld dword [esi + 0xb8]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
fld dword [esi + 0xb4]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
call fcn.0064655b
add esp, 0xc
push dword [esi + 0x14]
push dword [ebp - 0xe4]
push dword [ebp - 0xe8]
push dword [esi + 0x10]
call fcn.004e9070
add esp, 0x10
cmp dword [esi + 0x94], 0
jle 0x542de1
fld dword [esi + 0x14]
fld dword [0x681a10]
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 0x542de1
fldz
fstp dword [esi + 0x14]
sub dword [esi + 0x90], 1
fld dword [esi + 0x6c]
fld dword [0x681a10]
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 0x542e14
push dword [esi + 8]
call fcn.00533487
add esp, 4
jmp 0x546b28
cmp dword [esi + 0x7c], 0
jg 0x542f4c
push 4
call fcn.006465db
add esp, 4
push dword [esi + 0x6c]
call fcn.00646614
add esp, 4
push dword [esi + 0x68]
push dword [esi + 0x64]
call fcn.00646a94
add esp, 8
push dword [esi + 0x60]
call fcn.00646a65
add esp, 4
fld dword [esi + 0xbc]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
fld dword [esi + 0xb8]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
fld dword [esi + 0xb4]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
call fcn.0064655b
add esp, 0xc
push dword [esi + 0x14]
push dword [ebp - 0xe4]
push dword [ebp - 0xe8]
push dword [esi + 0x10]
call fcn.004e9070
add esp, 0x10
cmp dword [esi + 0x94], 0
jle 0x542f10
fld dword [esi + 0x14]
fld dword [0x681a10]
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 0x542f10
fldz
fstp dword [esi + 0x14]
sub dword [esi + 0x90], 1
cmp dword [esi + 0x90], 0
jge 0x542f4c
fld dword [esi + 0x6c]
fld dword [0x681a10]
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 0x542f4c
push dword [esi + 8]
call fcn.00533487
add esp, 4
jmp 0x546b28
cmp dword [esi + 0x7c], 0
jg 0x543039
push 3
call fcn.006465db
add esp, 4
push dword [esi + 0x6c]
call fcn.00646614
add esp, 4
push dword [esi + 0x68]
push dword [esi + 0x64]
call fcn.00646a94
add esp, 8
push dword [esi + 0x60]
call fcn.00646a65
add esp, 4
push dword [esi + 0x14]
push dword [ebp - 0xe4]
push dword [ebp - 0xe8]
push dword [esi + 0x10]
call fcn.004e9070
add esp, 0x10
push 0x3f800000
push 0x3f800000
call fcn.00646a94
add esp, 8
push 0
call fcn.00646a65
add esp, 4
fld dword [esi + 0x14]
fld dword [0x681a08]
fdiv dword [0x69a5f8]
faddp st(1)
fstp dword [esi + 0x14]
fld dword [esi + 0x14]
fld dword [0x69a5fc]
fxch st(1)
fucompp
fnstsw ax
sahf
setbe al
movzx eax, al
cmp eax, 0
jne 0x542ffa
fldz
fstp dword [esi + 0x14]
sub dword [esi + 0x90], 1
cmp dword [esi + 0x90], 0
jg 0x543039
fld dword [esi + 0x6c]
fld dword [0x681a08]
fdiv dword [0x69a600]
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 0x543039
push dword [esi + 8]
call fcn.00533487
add esp, 4
jmp 0x546b28
push 3
call fcn.006465db
add esp, 4
push dword [esi + 0x6c]
call fcn.00646614
add esp, 4
push dword [esi + 0x68]
push dword [esi + 0x64]
call fcn.00646a94
add esp, 8
push 0
call fcn.00646a65
add esp, 4
push dword [esi + 0x14]
push dword [ebp - 0xe4]
push dword [ebp - 0xe8]
push dword [esi + 0x10]
call fcn.004e9070
add esp, 0x10
cmp dword [esi + 0x94], 0
jle 0x5430ce
fld dword [esi + 0x14]
fld dword [0x681a10]
fmul dword [0x69a604]
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 0x5430ce
fldz
fstp dword [esi + 0x14]
push 0x3f800000
push 0x3f800000
call fcn.00646a94
add esp, 8
mov eax, dword [esi + 0x90]
mov dword [ebp - 0xec], eax
fild dword [ebp - 0xec]
fsub dword [0x681a08]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
mov dword [esi + 0x90], eax
cmp dword [esi + 0x90], 0
jg 0x54312b
fld dword [esi + 0x6c]
fld dword [0x69a608]
fmul dword [0x681a08]
fsubp st(1)
fstp dword [esi + 0x6c]
jmp 0x54313f
fld dword [esi + 0x6c]
fld dword [0x69a60c]
fmul dword [0x681a08]
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 0x543162
mov eax, dword [esi + 0x20]
cmp eax, 0xffffffc4
setl al
movzx eax, al
cmp eax, 0
jne 0x543175
mov eax, dword [esi + 0x20]
cmp eax, 0x7bc
setg al
movzx eax, al
cmp eax, 0
jne 0x543186
mov eax, dword [esi + 0x24]
cmp eax, 0xffffffc4
setl al
movzx eax, al
cmp eax, 0
jne 0x54319e
mov edx, dword [esi + 0x24]
mov eax, dword [0x681338]
add eax, 0x3c
cmp edx, eax
setg al
movzx eax, al
cmp eax, 0
je 0x5431ae
push dword [esi + 8]
call fcn.00533487
add esp, 4
jmp 0x546b28
cmp dword [esi + 0x7c], 0
jg 0x54333d
push 4
call fcn.006465db
add esp, 4
push dword [esi + 0x6c]
call fcn.00646614
add esp, 4
fldz
sub esp, 8
fstp qword [esp]
fld qword [0x69a610]
sub esp, 8
fstp qword [esp]
call fcn.00659b80
add esp, 0x10
fld qword [0x69a618]
faddp st(1)
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
fldz
sub esp, 8
fstp qword [esp]
fld qword [0x69a620]
sub esp, 8
fstp qword [esp]
call fcn.00659b80
add esp, 0x10
fld qword [0x69a628]
fmulp st(1)
fld qword [0x69a630]
faddp st(1)
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
fldz
sub esp, 8
fstp qword [esp]
fld qword [0x69a638]
sub esp, 8
fstp qword [esp]
call fcn.00659b80
add esp, 0x10
fld qword [0x69a640]
fmulp st(1)
fld qword [0x69a648]
faddp st(1)
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
call fcn.0064655b
add esp, 0xc
fld dword [esi + 0x64]
fld dword [0x69a650]
fmul dword [0x681a08]
faddp st(1)
fstp dword [esi + 0x64]
fld dword [0x69a654]
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 [0x69a658]
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.00646a94
add esp, 8
push dword [esi + 0x14]
push dword [ebp - 0xe4]
push dword [ebp - 0xe8]
push dword [esi + 0x10]
call fcn.004e9070
add esp, 0x10
fld dword [esi + 0x6c]
fld dword [0x69a65c]
fmul dword [0x681a08]
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 0x54333d
push dword [esi + 8]
call fcn.00533487
add esp, 4
jmp 0x546b28
cmp dword [esi + 0x7c], 0
jg 0x54351e
push 4
call fcn.006465db
add esp, 4
push dword [esi + 0x6c]
call fcn.00646614
add esp, 4
fld dword [0x69a660]
fld dword [0x681a40]
fmul dword [0x69a664]
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.00646a94
add esp, 8
fld dword [esi + 0x60]
fld dword [esi + 0x5c]
fmul dword [0x681a08]
faddp st(1)
fstp dword [esi + 0x60]
fld dword [esi + 0x5c]
fmul dword [0x69a668]
fstp dword [esi + 0x5c]
push dword [esi + 0x60]
call fcn.00646a65
add esp, 4
cmp dword [esi + 0x94], 0
jle 0x543420
fld dword [esi + 0x14]
fld dword [0x681a10]
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 0x543420
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 0x54343c
fldz
fstp dword [esi + 0x14]
fld dword [esi + 0xbc]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
fld dword [esi + 0xb8]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
fld dword [esi + 0xb4]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
call fcn.0064655b
add esp, 0xc
push dword [esi + 0x14]
push dword [ebp - 0xe4]
push dword [ebp - 0xe8]
push dword [esi + 0x10]
call fcn.004e9070
add esp, 0x10
cmp dword [esi + 0x90], 1
jg 0x5434e2
fld dword [esi + 0x6c]
fld dword [0x69a66c]
fmul dword [0x681a08]
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 0x5434e0
mov dword [esi + 0x90], 2
fld1
fstp dword [esi + 0x6c]
jmp 0x54351e
cmp dword [esi + 0x90], 2
jne 0x54351e
fld dword [esi + 0x6c]
fld dword [esi + 0x70]
fmul dword [0x681a10]
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 0x54351e
push dword [esi + 8]
call fcn.00533487
add esp, 4
jmp 0x546b28
cmp dword [esi + 0x7c], 0
jg 0x5436ff
push 4
call fcn.006465db
add esp, 4
push dword [esi + 0x6c]
call fcn.00646614
add esp, 4
fld dword [0x69a670]
fld dword [0x681a40]
fmul dword [0x69a674]
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.00646a94
add esp, 8
fld dword [esi + 0x60]
fld dword [esi + 0x5c]
fmul dword [0x681a08]
faddp st(1)
fstp dword [esi + 0x60]
fld dword [esi + 0x5c]
fmul dword [0x69a678]
fstp dword [esi + 0x5c]
push dword [esi + 0x60]
call fcn.00646a65
add esp, 4
cmp dword [esi + 0x94], 0
jle 0x543601
fld dword [esi + 0x14]
fld dword [0x681a10]
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 0x543601
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 0x54361d
fldz
fstp dword [esi + 0x14]
fld dword [esi + 0xbc]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
fld dword [esi + 0xb8]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
fld dword [esi + 0xb4]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
call fcn.0064655b
add esp, 0xc
push dword [esi + 0x14]
push dword [ebp - 0xe4]
push dword [ebp - 0xe8]
push dword [esi + 0x10]
call fcn.004e9070
add esp, 0x10
cmp dword [esi + 0x90], 1
jg 0x5436c3
fld dword [esi + 0x6c]
fld dword [0x69a67c]
fmul dword [0x681a08]
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 0x5436c1
mov dword [esi + 0x90], 2
fld1
fstp dword [esi + 0x6c]
jmp 0x5436ff
cmp dword [esi + 0x90], 2
jne 0x5436ff
fld dword [esi + 0x6c]
fld dword [esi + 0x70]
fmul dword [0x681a10]
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 0x5436ff
push dword [esi + 8]
call fcn.00533487
add esp, 4
jmp 0x546b28
cmp dword [esi + 0x7c], 0
jg 0x5438c0
push 4
call fcn.006465db
add esp, 4
push dword [esi + 0x6c]
call fcn.00646614
add esp, 4
fld dword [0x69a680]
sub esp, 8
fstp qword [esp]
fld dword [esi + 0x64]
fld dword [0x69a684]
fmul dword [0x681a10]
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.00646a94
add esp, 8
fld dword [esi + 0x60]
fld dword [esi + 0x5c]
fmul dword [0x681a08]
faddp st(1)
fstp dword [esi + 0x60]
fld dword [esi + 0x5c]
fmul dword [0x69a688]
fstp dword [esi + 0x5c]
push dword [esi + 0x60]
call fcn.00646a65
add esp, 4
fld dword [esi + 0xbc]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
fld dword [esi + 0xb8]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
fld dword [esi + 0xb4]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
call fcn.0064655b
add esp, 0xc
push dword [esi + 0x14]
push dword [ebp - 0xe4]
push dword [ebp - 0xe8]
push dword [esi + 0x10]
call fcn.004e9070
add esp, 0x10
cmp dword [esi + 0x94], 1
jle 0x54383f
fld dword [esi + 0x14]
fld dword [0x681a10]
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 0x54383f
fldz
fstp dword [esi + 0x14]
cmp dword [esi + 0x90], 1
jg 0x543884
fld dword [esi + 0x6c]
fld dword [0x69a68c]
fmul dword [0x681a08]
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 0x543882
mov dword [esi + 0x90], 2
fld1
fstp dword [esi + 0x6c]
jmp 0x5438c0
cmp dword [esi + 0x90], 2
jne 0x5438c0
fld dword [esi + 0x6c]
fld dword [esi + 0x70]
fmul dword [0x681a10]
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 0x5438c0
push dword [esi + 8]
call fcn.00533487
add esp, 4
jmp 0x546b28
cmp dword [esi + 0x7c], 0
jg 0x543a16
push 4
call fcn.006465db
add esp, 4
push dword [esi + 0x6c]
call fcn.00646614
add esp, 4
fld dword [0x69a690]
sub esp, 8
fstp qword [esp]
fld dword [esi + 0x64]
fld dword [0x69a694]
fmul dword [0x681a08]
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.00646a94
add esp, 8
fld dword [esi + 0x58]
fld dword [esi + 0x5c]
fmul dword [0x681a08]
fdiv dword [0x69a698]
faddp st(1)
fstp dword [esi + 0x58]
fld dword [esi + 0x60]
fstp dword [ebp - 0x70]
fld dword [0x69a69c]
sub esp, 8
fstp qword [esp]
fld dword [esi + 0x58]
fmul dword [0x681a08]
fdiv dword [0x69a6a0]
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.00646a65
add esp, 4
fld dword [esi + 0xbc]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
fld dword [esi + 0xb8]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
fld dword [esi + 0xb4]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
call fcn.0064655b
add esp, 0xc
push dword [esi + 0x14]
push dword [ebp - 0xe4]
push dword [ebp - 0xe8]
push dword [esi + 0x10]
call fcn.004e9070
add esp, 0x10
fld dword [esi + 0x6c]
fld dword [0x69a6a4]
fmul dword [0x681a08]
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 0x543a16
push dword [esi + 8]
call fcn.00533487
add esp, 4
jmp 0x546b28
cmp dword [esi + 0x7c], 0
jg 0x543c84
push 4
call fcn.006465db
add esp, 4
fld dword [esi + 0x6c]
fmul dword [0x69a6a8]
sub esp, 4
fstp dword [esp]
call fcn.00646614
add esp, 4
push 0xff
push 0xff
push 0xff
call fcn.0064655b
add esp, 0xc
fld dword [esi + 0x64]
fmul dword [0x69a6ac]
sub esp, 4
fst dword [esp]
sub esp, 4
fstp dword [esp]
call fcn.00646a94
add esp, 8
push dword [esi + 0x60]
call fcn.00646a65
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.004e9070
add esp, 0x10
push 3
call fcn.006465db
add esp, 4
push dword [esi + 0x6c]
call fcn.00646614
add esp, 4
fld dword [esi + 0xbc]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
fld dword [esi + 0xb8]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
fld dword [esi + 0xb4]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
call fcn.0064655b
add esp, 0xc
push dword [esi + 0x64]
push dword [esi + 0x64]
call fcn.00646a94
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.004e9070
add esp, 0x10
fld dword [esi + 0x58]
fld dword [esi + 0x5c]
fmul dword [0x681a08]
fdiv dword [0x69a6b0]
faddp st(1)
fstp dword [esi + 0x58]
fld dword [esi + 0x60]
fstp dword [ebp - 0x74]
fld dword [0x69a6b4]
sub esp, 8
fstp qword [esp]
fld dword [esi + 0x58]
fmul dword [0x681a08]
fdiv dword [0x69a6b8]
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 0x543c11
fld dword [esi + 0x14]
fld dword [0x681a10]
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 0x543c11
fldz
fstp dword [esi + 0x14]
sub dword [esi + 0x90], 1
cmp dword [esi + 0x90], 5
jl 0x543c44
fld1
sub esp, 8
fstp qword [esp]
fld dword [esi + 0x6c]
fld dword [0x69a6bc]
fmul dword [0x681a08]
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 0x543c84
fld dword [esi + 0x6c]
fld dword [esi + 0x70]
fmul dword [0x681a08]
fsubp st(1)
fstp dword [esi + 0x6c]
fld dword [esi + 0x6c]
fld dword [0x69a6c0]
fxch st(1)
fucompp
fnstsw ax
sahf
seta al
movzx eax, al
cmp eax, 0
jne 0x543c84
push dword [esi + 8]
call fcn.00533487
add esp, 4
jmp 0x546b28
cmp dword [esi + 0x7c], 0
jg 0x543edf
cmp dword [esi + 0x28], 1
jne 0x543ca5
push 4
call fcn.006465db
add esp, 4
jmp 0x543caf
push 3
call fcn.006465db
add esp, 4
push dword [esi + 0x6c]
call fcn.00646614
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 [0x69a6c4]
fld dword [ebp - 0xd4]
fucompp
fnstsw ax
sahf
setbe al
movzx eax, al
cmp eax, 0
jne 0x543d40
fld dword [0x69a6c8]
sub esp, 8
fstp qword [esp]
fld dword [esi + 0x64]
fld dword [0x69a6cc]
fmul dword [0x681a08]
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.0065d35c
add esp, 8
push eax
fld dword [esi + 0xb8]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
fld dword [esi + 0xb4]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
call fcn.0064655b
add esp, 0xc
push dword [esi + 0x64]
push dword [esi + 0x64]
call fcn.00646a94
add esp, 8
fld dword [esi + 0x58]
fld dword [esi + 0x5c]
fmul dword [0x681a08]
fdiv dword [0x69a6d0]
faddp st(1)
fstp dword [esi + 0x58]
fld dword [esi + 0x60]
fstp dword [ebp - 0x78]
fld dword [0x69a6d4]
sub esp, 8
fstp qword [esp]
fld dword [esi + 0x58]
fmul dword [0x681a08]
fdiv dword [0x69a6d8]
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.00646a65
add esp, 4
push dword [esi + 0x14]
push dword [ebp - 0xe4]
push dword [ebp - 0xe8]
push dword [esi + 0x10]
call fcn.004e9070
add esp, 0x10
cmp dword [esi + 0x94], 0
jle 0x543e6c
fld dword [esi + 0x14]
fld dword [0x681a10]
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 0x543e6c
fldz
fstp dword [esi + 0x14]
sub dword [esi + 0x90], 1
cmp dword [esi + 0x90], 3
jl 0x543e9f
fld1
sub esp, 8
fstp qword [esp]
fld dword [esi + 0x6c]
fld dword [0x69a6dc]
fmul dword [0x681a08]
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 0x543edf
fld dword [esi + 0x6c]
fld dword [esi + 0x70]
fmul dword [0x681a08]
fsubp st(1)
fstp dword [esi + 0x6c]
fld dword [esi + 0x6c]
fld dword [0x69a6e0]
fxch st(1)
fucompp
fnstsw ax
sahf
seta al
movzx eax, al
cmp eax, 0
jne 0x543edf
push dword [esi + 8]
call fcn.00533487
add esp, 4
jmp 0x546b28
cmp dword [esi + 0x7c], 0
jg 0x5440d0
push 4
call fcn.006465db
add esp, 4
push dword [esi + 0x6c]
call fcn.00646614
add esp, 4
fld dword [esi + 0xbc]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
fld dword [esi + 0xb8]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
fld dword [esi + 0xb4]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
call fcn.0064655b
add esp, 0xc
push dword [esi + 0x64]
push dword [esi + 0x64]
call fcn.00646a94
add esp, 8
fld dword [0x69a6e4]
sub esp, 8
fstp qword [esp]
fld dword [esi + 0x58]
fld dword [esi + 0x5c]
fmul dword [0x681a08]
fdiv dword [0x69a6e8]
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 [0x69a6ec]
sub esp, 8
fstp qword [esp]
fld dword [esi + 0x58]
fmul dword [0x681a08]
fdiv dword [0x69a6f0]
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.00646a65
add esp, 4
push dword [esi + 0x14]
push dword [ebp - 0xe4]
push dword [ebp - 0xe8]
push dword [esi + 0x10]
call fcn.004e9070
add esp, 0x10
cmp dword [esi + 0x90], 5
jl 0x54401b
fld1
sub esp, 8
fstp qword [esp]
fld dword [esi + 0x6c]
fld dword [esi + 0x70]
fmul dword [0x681a08]
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 0x544090
fld dword [esi + 0x14]
fld dword [0x681a10]
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 0x544079
fldz
fstp dword [esi + 0x14]
sub dword [esi + 0x90], 1
fld dword [esi + 0x6c]
fld dword [esi + 0x70]
fmul dword [0x681a08]
fmul dword [0x69a6f4]
fsubp st(1)
fstp dword [esi + 0x6c]
cmp dword [esi + 0x90], 1
jg 0x5440d0
fld dword [esi + 0x6c]
fld dword [esi + 0x70]
fmul dword [0x681a08]
fsubp st(1)
fstp dword [esi + 0x6c]
fld dword [esi + 0x6c]
fld dword [0x69a6f8]
fxch st(1)
fucompp
fnstsw ax
sahf
seta al
movzx eax, al
cmp eax, 0
jne 0x5440d0
push dword [esi + 8]
call fcn.00533487
add esp, 4
jmp 0x546b28
push esi
call fcn.0055abc6
add esp, 4
jmp 0x546b28
push esi
call fcn.0055ae9c
add esp, 4
jmp 0x546b28
push esi
call fcn.0055abc6
add esp, 4
jmp 0x546b28
push dword [esi + 0x6c]
call fcn.00646614
add esp, 4
push 4
call fcn.006465db
add esp, 4
fld dword [0x69a6fc]
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.00646a94
add esp, 8
push dword [esi + 0x60]
call fcn.00646a65
add esp, 4
fld dword [esi + 0x60]
fld dword [0x69a700]
fmul dword [0x681a10]
faddp st(1)
fstp dword [esi + 0x60]
fld dword [esi + 0xbc]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
fld dword [esi + 0xb8]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
fld dword [esi + 0xb4]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
call fcn.0064655b
add esp, 0xc
push dword [esi + 0x14]
push dword [ebp - 0xe4]
push dword [ebp - 0xe8]
push dword [esi + 0x10]
call fcn.004e9070
add esp, 0x10
fld dword [esi + 0x14]
fld dword [0x681a10]
fmul dword [0x69a704]
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 0x544208
fldz
fstp dword [esi + 0x14]
fld dword [esi + 0x6c]
fld dword [esi + 0x70]
fmul dword [0x681a08]
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 0x54423c
mov eax, dword [esi + 0x20]
cmp eax, 0
setl al
movzx eax, al
cmp eax, 0
jne 0x54424f
mov eax, dword [esi + 0x20]
cmp eax, 0x780
setg al
movzx eax, al
cmp eax, 0
jne 0x544260
mov eax, dword [esi + 0x24]
cmp eax, 0
setl al
movzx eax, al
cmp eax, 0
jne 0x544274
mov eax, dword [esi + 0x24]
cmp eax, dword [0x681338]
setg al
movzx eax, al
cmp eax, 0
je 0x544284
push dword [esi + 8]
call fcn.00533487
add esp, 4
jmp 0x546b28
push esi
call fcn.0054932f
add esp, 4
jmp 0x546b28
push esi
call fcn.0054ab7e
add esp, 4
jmp 0x546b28
cmp dword [esi + 0x28], 1
jne 0x5442b7
push 4
call fcn.006465db
add esp, 4
jmp 0x5442c1
push 3
call fcn.006465db
add esp, 4
push dword [esi + 0x6c]
call fcn.00646614
add esp, 4
push dword [esi + 0x68]
push dword [esi + 0x64]
call fcn.00646a94
add esp, 8
push dword [esi + 0x60]
call fcn.00646a65
add esp, 4
push dword [esi + 0x14]
push dword [ebp - 0xe4]
push dword [ebp - 0xe8]
push dword [esi + 0x10]
call fcn.004e9070
add esp, 0x10
cmp dword [esi + 0x94], 0
jle 0x54432a
fld dword [esi + 0x14]
fld dword [0x681a10]
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 0x544359
fldz
fstp dword [esi + 0x14]
fld dword [esi + 0x6c]
fld dword [0x681a08]
fdiv dword [0x69a708]
fsubp st(1)
fstp dword [esi + 0x6c]
fld dword [esi + 0x64]
fld dword [0x681a08]
fdiv dword [0x69a70c]
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 0x5443b4
fld dword [esi + 0x64]
fld dword [0x69a710]
fxch st(1)
fucompp
fnstsw ax
sahf
setbe al
movzx eax, al
cmp eax, 0
je 0x5443c4
push dword [esi + 8]
call fcn.00533487
add esp, 4
jmp 0x546b28
cmp dword [esi + 0x28], 1
jne 0x5443db
push 4
call fcn.006465db
add esp, 4
jmp 0x5443e5
push 3
call fcn.006465db
add esp, 4
push dword [esi + 0x6c]
call fcn.00646614
add esp, 4
push dword [esi + 0x68]
push dword [esi + 0x64]
call fcn.00646a94
add esp, 8
fld dword [esi + 0x60]
fstp dword [ebp - 0x80]
fld dword [0x69a714]
sub esp, 8
fstp qword [esp]
fld dword [esi + 0x58]
fmul dword [0x681a08]
fdiv dword [0x69a718]
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.00646a65
add esp, 4
push dword [esi + 0x14]
push dword [ebp - 0xe4]
push dword [ebp - 0xe8]
push dword [esi + 0x10]
call fcn.004e9070
add esp, 0x10
cmp dword [0x6819fc], 0x32
jle 0x544521
push 1
push 0x64
call fcn.00659bc1
add esp, 8
mov dword [ebp - 0xec], eax
fild dword [ebp - 0xec]
fld dword [0x69a71c]
fsub dword [esi + 0x6c]
fmul dword [0x69a720]
fxch st(1)
fucompp
fnstsw ax
sahf
seta al
movzx eax, al
cmp eax, 0
je 0x5444be
mov ecx, 8
mov eax, dword [0x68716c]
cdq
idiv ecx
mov eax, edx
cmp eax, 0
sete al
movzx eax, al
cmp eax, 0
je 0x544521
cmp dword [esi + 0x94], 0
jle 0x5444ef
mov eax, dword [esi + 0x94]
sub eax, 1
push eax
push 0
call fcn.00659bc1
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.00547174
add esp, 8
cmp dword [esi + 0x94], 0
jle 0x54454c
fld dword [esi + 0x14]
fld dword [0x681a10]
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 0x54457b
fldz
fstp dword [esi + 0x14]
fld dword [esi + 0x6c]
fld dword [0x681a08]
fdiv dword [0x69a724]
fsubp st(1)
fstp dword [esi + 0x6c]
fld dword [esi + 0x64]
fld dword [0x681a08]
fdiv dword [0x69a728]
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 0x5445d6
fld dword [esi + 0x64]
fld dword [0x69a72c]
fxch st(1)
fucompp
fnstsw ax
sahf
setbe al
movzx eax, al
cmp eax, 0
je 0x5445e6
push dword [esi + 8]
call fcn.00533487
add esp, 4
jmp 0x546b28
push 4
call fcn.006465db
add esp, 4
push dword [esi + 0x6c]
call fcn.00646614
add esp, 4
push dword [esi + 0x68]
push dword [esi + 0x64]
call fcn.00646a94
add esp, 8
fld dword [esi + 0x58]
fld dword [esi + 0x5c]
fmul dword [0x681a08]
fdiv dword [0x69a730]
faddp st(1)
fstp dword [esi + 0x58]
fld dword [esi + 0x60]
fstp dword [ebp - 0x84]
fld dword [0x69a734]
sub esp, 8
fstp qword [esp]
fld dword [esi + 0x58]
fmul dword [0x681a08]
fdiv dword [0x69a738]
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.00646a65
add esp, 4
fld dword [esi + 0xbc]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
fld dword [esi + 0xb8]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
fld dword [esi + 0xb4]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
call fcn.0064655b
add esp, 0xc
push dword [esi + 0x14]
push dword [ebp - 0xe4]
push dword [ebp - 0xe8]
push dword [esi + 0x10]
call fcn.004e9070
add esp, 0x10
cmp dword [esi + 0x94], 0
jle 0x544799
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 0x544721
fld dword [esi + 0x14]
fld dword [0x681a10]
fmul dword [esi + 0x74]
faddp st(1)
fstp dword [esi + 0x14]
jmp 0x544743
fld dword [esi + 0x14]
fld dword [0x681a10]
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 0x544799
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 [0x681a10]
fmul dword [0x69a73c]
fsubp st(1)
fstp dword [esi + 0x6c]
fld dword [esi + 0x6c]
fld dword [0x681a10]
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 0x5447e6
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 0x5447f6
push dword [esi + 8]
call fcn.00533487
add esp, 4
jmp 0x546b28
push 4
call fcn.006465db
add esp, 4
push dword [esi + 0x6c]
call fcn.00646614
add esp, 4
push dword [esi + 0x68]
push dword [esi + 0x64]
call fcn.00646a94
add esp, 8
fld dword [esi + 0x60]
fstp dword [ebp - 0x88]
fld dword [0x69a740]
sub esp, 8
fstp qword [esp]
fld dword [esi + 0x58]
fmul dword [0x681a08]
fdiv dword [0x69a744]
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.00646a65
add esp, 4
fld dword [esi + 0xbc]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
fld dword [esi + 0xb8]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
fld dword [esi + 0xb4]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
call fcn.0064655b
add esp, 0xc
push dword [esi + 0x14]
push dword [ebp - 0xe4]
push dword [ebp - 0xe8]
push dword [esi + 0x10]
call fcn.004e9070
add esp, 0x10
cmp dword [esi + 0x90], 0
jne 0x544910
fld dword [esi + 0x6c]
fld dword [0x681a10]
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 0x54490e
mov dword [esi + 0x90], 1
jmp 0x544978
mov eax, dword [esi + 0x98]
mov dword [ebp - 0xec], eax
fild dword [ebp - 0xec]
fsub dword [0x681a08]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
mov dword [esi + 0x98], eax
cmp dword [esi + 0x98], 0
jg 0x544978
fld dword [esi + 0x6c]
fld dword [0x681a10]
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 0x544978
push dword [esi + 8]
call fcn.00533487
add esp, 4
jmp 0x546b28
push 3
call fcn.006465db
add esp, 4
push dword [esi + 0x6c]
call fcn.00646614
add esp, 4
push dword [esi + 0x68]
push dword [esi + 0x64]
call fcn.00646a94
add esp, 8
fld dword [esi + 0x58]
fldz
fxch st(1)
fucompp
fnstsw ax
sahf
setbe al
movzx eax, al
cmp eax, 0
jne 0x544a20
fld dword [esi + 0x60]
fstp dword [ebp - 0x8c]
fld dword [0x69a748]
sub esp, 8
fstp qword [esp]
fld dword [esi + 0x58]
fmul dword [0x681a08]
fdiv dword [0x69a74c]
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 0x544a1e
fld dword [esi + 0x5c]
fstp dword [esi + 0x60]
jmp 0x544a87
fld dword [esi + 0x60]
fstp dword [ebp - 0x90]
fld dword [0x69a750]
sub esp, 8
fstp qword [esp]
fld dword [esi + 0x58]
fmul dword [0x681a08]
fdiv dword [0x69a754]
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 0x544a87
fld dword [esi + 0x5c]
fstp dword [esi + 0x60]
push dword [esi + 0x60]
call fcn.00646a65
add esp, 4
fld dword [esi + 0xbc]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
fld dword [esi + 0xb8]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
fld dword [esi + 0xb4]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
call fcn.0064655b
add esp, 0xc
push dword [esi + 0x14]
push dword [ebp - 0xe4]
push dword [ebp - 0xe8]
push dword [esi + 0x10]
call fcn.004e9070
add esp, 0x10
cmp dword [esi + 0x90], 0
jne 0x544b30
fld dword [esi + 0x6c]
fld dword [0x681a10]
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 0x544b2e
mov dword [esi + 0x90], 1
jmp 0x544b98
mov eax, dword [esi + 0x98]
mov dword [ebp - 0xec], eax
fild dword [ebp - 0xec]
fsub dword [0x681a08]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
mov dword [esi + 0x98], eax
cmp dword [esi + 0x98], 0
jg 0x544b98
fld dword [esi + 0x6c]
fld dword [0x681a10]
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 0x544b98
push dword [esi + 8]
call fcn.00533487
add esp, 4
jmp 0x546b28
push 3
call fcn.006465db
add esp, 4
push dword [esi + 0x6c]
call fcn.00646614
add esp, 4
fld dword [esi + 0x54]
fld dword [esi + 0x4c]
fmul dword [0x681a10]
faddp st(1)
fstp dword [esi + 0x54]
fld dword [esi + 0x54]
fld dword [0x69a758]
fxch st(1)
fucompp
fnstsw ax
sahf
setb al
movzx eax, al
cmp eax, 0
jne 0x544be3
fldz
fstp dword [esi + 0x54]
fld dword [esi + 0xac]
fstp dword [ebp - 0xdc]
fld dword [esi + 0xb0]
fstp dword [ebp - 0x94]
mov ebx, dword [0x682da8]
fld dword [esi + 0x54]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
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.00646a94
add esp, 8
fld dword [esi + 0x58]
fld dword [esi + 0x5c]
fmul dword [0x681a08]
fdiv dword [0x69a75c]
faddp st(1)
fstp dword [esi + 0x58]
fld dword [esi + 0x60]
fstp dword [ebp - 0x98]
fld dword [0x69a760]
sub esp, 8
fstp qword [esp]
fld dword [esi + 0x58]
fmul dword [0x681a08]
fdiv dword [0x69a764]
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.00646a65
add esp, 4
fld dword [esi + 0xbc]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
fld dword [esi + 0xb8]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
fld dword [esi + 0xb4]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
call fcn.0064655b
add esp, 0xc
push dword [esi + 0x14]
push dword [ebp - 0xe4]
push dword [ebp - 0xe8]
push dword [esi + 0x10]
call fcn.004e9070
add esp, 0x10
cmp dword [esi + 0x90], 0
jne 0x544d54
fld dword [esi + 0x6c]
fld dword [0x681a10]
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 0x544d52
mov dword [esi + 0x90], 1
jmp 0x544dbc
mov eax, dword [esi + 0x98]
mov dword [ebp - 0xec], eax
fild dword [ebp - 0xec]
fsub dword [0x681a08]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
mov dword [esi + 0x98], eax
cmp dword [esi + 0x98], 0
jg 0x544dbc
fld dword [esi + 0x6c]
fld dword [0x681a10]
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 0x544dbc
push dword [esi + 8]
call fcn.00533487
add esp, 4
jmp 0x546b28
push 4
call fcn.006465db
add esp, 4
push dword [esi + 0x6c]
call fcn.00646614
add esp, 4
push dword [esi + 0x68]
push dword [esi + 0x64]
call fcn.00646a94
add esp, 8
fld dword [esi + 0x58]
fld dword [esi + 0x5c]
fmul dword [0x681a08]
fdiv dword [0x69a768]
faddp st(1)
fstp dword [esi + 0x58]
fld dword [esi + 0x60]
fstp dword [ebp - 0x9c]
fld dword [0x69a76c]
sub esp, 8
fstp qword [esp]
fld dword [esi + 0x58]
fmul dword [0x681a08]
fdiv dword [0x69a770]
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.00646a65
add esp, 4
fld dword [esi + 0xbc]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
fld dword [esi + 0xb8]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
fld dword [esi + 0xb4]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
call fcn.0064655b
add esp, 0xc
push dword [esi + 0x14]
push dword [ebp - 0xe4]
push dword [ebp - 0xe8]
push dword [esi + 0x10]
call fcn.004e9070
add esp, 0x10
fld dword [esi + 0x6c]
fld dword [0x681a10]
fmul dword [0x69a774]
fsubp st(1)
fstp dword [esi + 0x6c]
fld dword [esi + 0x64]
fld dword [0x681a10]
fmul dword [0x69a778]
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 0x544f00
push dword [esi + 8]
call fcn.00533487
add esp, 4
cmp dword [esi + 0x94], 0
jle 0x544f85
fld dword [esi + 0x14]
fld dword [0x69a77c]
fxch st(1)
fucompp
fnstsw ax
sahf
seta al
movzx eax, al
cmp eax, 0
jne 0x544f3a
fld dword [esi + 0x14]
fld dword [0x681a10]
fmul dword [0x69a780]
faddp st(1)
fstp dword [esi + 0x14]
jmp 0x544f4e
fld dword [esi + 0x14]
fld dword [0x681a10]
fmul dword [0x69a784]
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 0x544f85
fldz
fstp dword [esi + 0x14]
push dword [esi + 8]
call fcn.00533487
add esp, 4
jmp 0x546b28
cmp dword [esi + 0x7c], 0
jg 0x545141
push 3
call fcn.006465db
add esp, 4
push dword [esi + 0x6c]
call fcn.00646614
add esp, 4
fld dword [0x69a788]
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.0065d35c
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.00646a94
add esp, 8
push dword [esi + 0x60]
call fcn.00646a65
add esp, 4
fld dword [esi + 0x60]
fstp dword [ebp - 0xa0]
fld dword [0x69a78c]
sub esp, 8
fstp qword [esp]
fld dword [esi + 0x58]
fmul dword [0x681a10]
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.004e9070
add esp, 0x10
fld dword [esi + 0x14]
fld dword [0x681a10]
fmul dword [0x69a790]
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 0x5450b9
fldz
fstp dword [esi + 0x14]
sub dword [esi + 0x90], 1
cmp dword [esi + 0x90], 0
jg 0x5450ce
fld dword [esi + 0x6c]
fsub dword [0x681a10]
fstp dword [esi + 0x6c]
fld dword [esi + 0x6c]
fld dword [0x69a794]
fxch st(1)
fucompp
fnstsw ax
sahf
setbe al
movzx eax, al
cmp eax, 0
jne 0x5450f5
mov eax, dword [esi + 0x20]
cmp eax, 0
setl al
movzx eax, al
cmp eax, 0
jne 0x545108
mov eax, dword [esi + 0x20]
cmp eax, 0x780
setg al
movzx eax, al
cmp eax, 0
jne 0x545119
mov eax, dword [esi + 0x24]
cmp eax, 0
setl al
movzx eax, al
cmp eax, 0
jne 0x545131
mov edx, dword [esi + 0x24]
mov eax, dword [0x681338]
add eax, 0x10
cmp edx, eax
setg al
movzx eax, al
cmp eax, 0
je 0x545141
push dword [esi + 8]
call fcn.00533487
add esp, 4
jmp 0x546b28
cmp dword [esi + 0x7c], 0
jg 0x5452f2
push 3
call fcn.006465db
add esp, 4
push dword [esi + 0x6c]
call fcn.00646614
add esp, 4
push dword [esi + 0x68]
push dword [esi + 0x64]
call fcn.00646a94
add esp, 8
fld dword [esi + 0x60]
fstp dword [ebp - 0xa4]
fld dword [0x69a798]
sub esp, 8
fstp qword [esp]
fld dword [esi + 0x58]
fmul dword [0x681a10]
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.00646a65
add esp, 4
push dword [esi + 0x14]
push dword [ebp - 0xe4]
push dword [ebp - 0xe8]
push dword [esi + 0x10]
call fcn.004e9070
add esp, 0x10
push 0x3f800000
push 0x3f800000
call fcn.00646a94
add esp, 8
push 0
call fcn.00646a65
add esp, 4
fld dword [esi + 0x14]
fld dword [0x681a10]
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 0x545266
fldz
fstp dword [esi + 0x14]
sub dword [esi + 0x90], 1
cmp dword [esi + 0x90], 0
jg 0x545283
fld dword [esi + 0x6c]
fld dword [0x681a08]
fdiv dword [0x69a79c]
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 0x5452a6
mov eax, dword [esi + 0x20]
cmp eax, 0
setl al
movzx eax, al
cmp eax, 0
jne 0x5452b9
mov eax, dword [esi + 0x20]
cmp eax, 0x780
setg al
movzx eax, al
cmp eax, 0
jne 0x5452ca
mov eax, dword [esi + 0x24]
cmp eax, 0
setl al
movzx eax, al
cmp eax, 0
jne 0x5452e2
mov edx, dword [esi + 0x24]
mov eax, dword [0x681338]
add eax, 0x10
cmp edx, eax
setg al
movzx eax, al
cmp eax, 0
je 0x5452f2
push dword [esi + 8]
call fcn.00533487
add esp, 4
jmp 0x546b28
cmp dword [esi + 0x7c], 0
jg 0x54545c
push 3
call fcn.006465db
add esp, 4
push dword [esi + 0x6c]
call fcn.00646614
add esp, 4
fld dword [0x69a7a0]
sub esp, 8
fstp qword [esp]
fld dword [esi + 0x64]
fld dword [0x69a7a4]
fmul dword [0x681a08]
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.00646a94
add esp, 8
push dword [esi + 0x60]
call fcn.00646a65
add esp, 4
push dword [esi + 0x14]
push dword [ebp - 0xe4]
push dword [ebp - 0xe8]
push dword [esi + 0x10]
call fcn.004e9070
add esp, 0x10
push 0x3f800000
push 0x3f800000
call fcn.00646a94
add esp, 8
push 0
call fcn.00646a65
add esp, 4
fld dword [esi + 0x58]
fld dword [esi + 0x5c]
fmul dword [0x681a10]
faddp st(1)
fstp dword [esi + 0x58]
fld dword [esi + 0x60]
fstp dword [ebp - 0xa8]
fld dword [0x69a7a8]
sub esp, 8
fstp qword [esp]
fld dword [esi + 0x58]
fmul dword [0x681a10]
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 0x545425
fld dword [esi + 0x6c]
fld dword [0x681a10]
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 0x545423
push dword [esi + 8]
call fcn.00533487
add esp, 4
jmp 0x54545c
fld dword [esi + 0x6c]
fld dword [0x681a10]
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 0x54545c
fld1
fstp dword [esi + 0x6c]
mov dword [esi + 0x90], 0
jmp 0x546b28
cmp dword [esi + 0x7c], 0
jg 0x54558d
push 4
call fcn.006465db
add esp, 4
push dword [esi + 0x6c]
call fcn.00646614
add esp, 4
push dword [esi + 0x68]
push dword [esi + 0x64]
call fcn.00646a94
add esp, 8
push dword [esi + 0x60]
call fcn.00646a65
add esp, 4
fld dword [esi + 0xbc]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
fld dword [esi + 0xb8]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
fld dword [esi + 0xb4]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
call fcn.0064655b
add esp, 0xc
push dword [esi + 0x14]
push dword [ebp - 0xe4]
push dword [ebp - 0xe8]
push dword [esi + 0x10]
call fcn.004e9070
add esp, 0x10
fld dword [esi + 0x58]
fld dword [esi + 0x5c]
fmul dword [0x681a10]
faddp st(1)
fstp dword [esi + 0x58]
fld dword [esi + 0x60]
fstp dword [ebp - 0xac]
fld dword [0x69a7ac]
sub esp, 8
fstp qword [esp]
fld dword [esi + 0x58]
fmul dword [0x681a10]
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 0x54558d
fld dword [esi + 0x6c]
fld dword [0x681a10]
fmul dword [0x69a7b0]
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 0x54558d
push dword [esi + 8]
call fcn.00533487
add esp, 4
jmp 0x546b28
cmp dword [esi + 0x7c], 0
jg 0x545787
push 4
call fcn.006465db
add esp, 4
push dword [esi + 0x6c]
call fcn.00646614
add esp, 4
push dword [esi + 0x64]
push dword [esi + 0x64]
call fcn.00646a94
add esp, 8
push dword [esi + 0x60]
call fcn.00646a65
add esp, 4
fld dword [esi + 0xbc]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
fld dword [esi + 0xb8]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
fld dword [esi + 0xb4]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
call fcn.0064655b
add esp, 0xc
push dword [esi + 0x14]
push dword [ebp - 0xe4]
push dword [ebp - 0xe8]
push dword [esi + 0x10]
call fcn.004e9070
add esp, 0x10
fld dword [esi + 0x58]
fld dword [esi + 0x5c]
fmul dword [0x681a10]
faddp st(1)
fstp dword [esi + 0x58]
fld dword [esi + 0x60]
fstp dword [ebp - 0xb0]
fld dword [0x69a7b4]
sub esp, 8
fstp qword [esp]
fld dword [esi + 0x58]
fmul dword [0x681a10]
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 0x5456dd
fld dword [esi + 0x14]
fld dword [0x681a10]
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 0x5456dd
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 0x54571a
fld dword [esi + 0x64]
fld dword [0x681a10]
fmul dword [0x69a7b8]
faddp st(1)
fstp dword [esi + 0x64]
jmp 0x545748
fld dword [0x69a7bc]
sub esp, 8
fstp qword [esp]
fld dword [esi + 0x64]
fld dword [0x681a10]
fmul dword [0x69a7c0]
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 0x545787
fld dword [esi + 0x6c]
fld dword [0x681a10]
fmul dword [0x69a7c4]
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 0x545787
push dword [esi + 8]
call fcn.00533487
add esp, 4
jmp 0x546b28
cmp dword [esi + 0x7c], 0
jg 0x545964
push 4
call fcn.006465db
add esp, 4
push dword [esi + 0x6c]
call fcn.00646614
add esp, 4
push dword [esi + 0x64]
push dword [esi + 0x64]
call fcn.00646a94
add esp, 8
push dword [esi + 0x60]
call fcn.00646a65
add esp, 4
fld dword [esi + 0xbc]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
fld dword [esi + 0xb8]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
fld dword [esi + 0xb4]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
call fcn.0064655b
add esp, 0xc
push dword [esi + 0x14]
push dword [ebp - 0xe4]
push dword [ebp - 0xe8]
push dword [esi + 0x10]
call fcn.004e9070
add esp, 0x10
fld dword [esi + 0x58]
fld dword [esi + 0x5c]
fmul dword [0x681a10]
faddp st(1)
fstp dword [esi + 0x58]
fld dword [esi + 0x60]
fstp dword [ebp - 0xb4]
fld dword [0x69a7c8]
sub esp, 8
fstp qword [esp]
fld dword [esi + 0x58]
fmul dword [0x681a10]
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 0x5458da
fld dword [esi + 0x14]
fld dword [0x681a10]
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 0x5458da
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 0x545914
fld dword [esi + 0x64]
fld dword [0x681a10]
fmul dword [esi + 0x4c]
faddp st(1)
fstp dword [esi + 0x64]
jmp 0x545928
fld dword [esi + 0x64]
fld dword [0x681a10]
fmul dword [0x69a7cc]
fsubp st(1)
fstp dword [esi + 0x64]
cmp dword [esi + 0x90], 0
jg 0x545964
fld dword [esi + 0x6c]
fld dword [0x681a10]
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 0x545964
push dword [esi + 8]
call fcn.00533487
add esp, 4
jmp 0x546b28
push 4
call fcn.006465db
add esp, 4
push dword [esi + 0x6c]
call fcn.00646614
add esp, 4
push dword [esi + 0x68]
push dword [esi + 0x64]
call fcn.00646a94
add esp, 8
push dword [esi + 0x60]
call fcn.00646a65
add esp, 4
fld dword [esi + 0xbc]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
fld dword [esi + 0xb8]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
fld dword [esi + 0xb4]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
call fcn.0064655b
add esp, 0xc
push dword [esi + 0x14]
push dword [ebp - 0xe4]
push dword [ebp - 0xe8]
push dword [esi + 0x10]
call fcn.004e9070
add esp, 0x10
fld dword [esi + 0x58]
fld dword [esi + 0x5c]
fmul dword [0x681a10]
faddp st(1)
fstp dword [esi + 0x58]
fld dword [esi + 0x60]
fstp dword [ebp - 0xb8]
fld dword [0x69a7d0]
sub esp, 8
fstp qword [esp]
fld dword [esi + 0x58]
fmul dword [0x681a10]
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 [0x681a10]
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 0x545a7f
push dword [esi + 8]
call fcn.00533487
add esp, 4
jmp 0x546b28
cmp dword [esi + 0x7c], 0
jg 0x545bca
push dword [esi + 0x6c]
call fcn.00646614
add esp, 4
push 4
call fcn.006465db
add esp, 4
push dword [esi + 0x14]
push dword [ebp - 0xe4]
push dword [ebp - 0xe8]
push dword [0x683b38]
call fcn.004e9070
add esp, 0x10
fld dword [0x69a7d4]
sub esp, 8
fstp qword [esp]
fld dword [esi + 0x14]
fld dword [0x681a10]
fmul dword [0x69a7d8]
faddp st(1)
sub esp, 8
fstp qword [esp]
call fcn.004c1880
add esp, 0x10
fstp dword [esi + 0x14]
push 3
call fcn.006465db
add esp, 4
fld dword [esi + 0xbc]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
fld dword [esi + 0xb8]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
fld dword [esi + 0xb4]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
call fcn.0064655b
add esp, 0xc
push dword [esi + 0x68]
push dword [esi + 0x64]
call fcn.00646a94
add esp, 8
push dword [esi + 0x60]
call fcn.00646a65
add esp, 4
push 0
push dword [ebp - 0xe4]
push dword [ebp - 0xe8]
push dword [esi + 0x10]
call fcn.004e9070
add esp, 0x10
fld dword [esi + 0x70]
fsub dword [0x681a10]
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 0x545bca
fld dword [esi + 0x6c]
fld dword [0x681a10]
fmul dword [0x69a7dc]
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 0x545bca
push dword [esi + 8]
call fcn.00533487
add esp, 4
jmp 0x546b28
cmp dword [esi + 0x7c], 0
jg 0x545d15
push 4
call fcn.006465db
add esp, 4
push dword [esi + 0x6c]
call fcn.00646614
add esp, 4
push dword [esi + 0x68]
push dword [esi + 0x64]
call fcn.00646a94
add esp, 8
push dword [esi + 0x60]
call fcn.00646a65
add esp, 4
fld dword [esi + 0xbc]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
fld dword [esi + 0xb8]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
fld dword [esi + 0xb4]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
call fcn.0064655b
add esp, 0xc
push dword [esi + 0x14]
push dword [ebp - 0xe4]
push dword [ebp - 0xe8]
push dword [esi + 0x10]
call fcn.004e9070
add esp, 0x10
fld dword [esi + 0x60]
fstp dword [ebp - 0xbc]
fld dword [0x69a7e0]
sub esp, 8
fstp qword [esp]
fld dword [esi + 0x58]
fmul dword [0x681a10]
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 [0x69a7e4]
sub esp, 8
fstp qword [esp]
fld dword [esi + 0x64]
fld dword [0x681a10]
fmul dword [0x69a7e8]
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 [0x681a10]
fmul dword [0x69a7ec]
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 0x545d15
push dword [esi + 8]
call fcn.00533487
add esp, 4
jmp 0x546b28
cmp dword [esi + 0x7c], 0
jg 0x545d93
push 4
call fcn.006465db
add esp, 4
push dword [esi + 0x6c]
call fcn.00646614
add esp, 4
push dword [esi + 0x68]
push dword [esi + 0x64]
call fcn.00646a94
add esp, 8
push dword [esi + 0x14]
push dword [ebp - 0xe4]
push dword [ebp - 0xe8]
push dword [esi + 0x10]
call fcn.004e9070
add esp, 0x10
fld dword [esi + 0x6c]
fld dword [0x681a10]
fmul dword [0x69a7f0]
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 0x545d93
push dword [esi + 8]
call fcn.00533487
add esp, 4
jmp 0x546b28
cmp dword [esi + 0x7c], 0
jg 0x545eab
push 4
call fcn.006465db
add esp, 4
push dword [esi + 0x6c]
call fcn.00646614
add esp, 4
push dword [esi + 0x68]
push dword [esi + 0x64]
call fcn.00646a94
add esp, 8
push dword [esi + 0x60]
call fcn.00646a65
add esp, 4
fld dword [esi + 0xbc]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
fld dword [esi + 0xb8]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
fld dword [esi + 0xb4]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
call fcn.0064655b
add esp, 0xc
push dword [esi + 0x14]
push dword [ebp - 0xe4]
push dword [ebp - 0xe8]
push dword [esi + 0x10]
call fcn.004e9070
add esp, 0x10
fld dword [esi + 0x14]
fld dword [0x681a10]
fmul dword [0x69a7f4]
faddp st(1)
fstp dword [esi + 0x14]
fld dword [esi + 0x14]
fld dword [0x69a7f8]
fxch st(1)
fucompp
fnstsw ax
sahf
setbe al
movzx eax, al
cmp eax, 0
jne 0x545e6c
fldz
fstp dword [esi + 0x14]
sub dword [esi + 0x90], 1
cmp dword [esi + 0x90], 0
jg 0x545eab
fld dword [esi + 0x6c]
fld dword [0x681a08]
fdiv dword [0x69a7fc]
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 0x545eab
push dword [esi + 8]
call fcn.00533487
add esp, 4
jmp 0x546b28
cmp dword [esi + 0x7c], 0
jg 0x5460e3
push 4
call fcn.006465db
add esp, 4
push dword [esi + 0x6c]
call fcn.00646614
add esp, 4
push dword [esi + 0x68]
push dword [esi + 0x64]
call fcn.00646a94
add esp, 8
push dword [esi + 0x60]
call fcn.00646a65
add esp, 4
fld dword [esi + 0xbc]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
fld dword [esi + 0xb8]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
fld dword [esi + 0xb4]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
call fcn.0064655b
add esp, 0xc
push dword [esi + 0x14]
push dword [ebp - 0xe4]
push dword [ebp - 0xe8]
push dword [esi + 0x10]
call fcn.004e9070
add esp, 0x10
fld dword [esi + 0x68]
fmul dword [0x69a800]
sub esp, 4
fstp dword [esp]
fld dword [esi + 0x64]
fmul dword [0x69a804]
sub esp, 4
fstp dword [esp]
call fcn.00646a94
add esp, 8
push 0
push dword [ebp - 0xe4]
push dword [ebp - 0xe8]
push dword [0x683b78]
call fcn.004e9070
add esp, 0x10
push 0xff
push 0xff
push 0xff
call fcn.0064655b
add esp, 0xc
fld dword [esi + 0x60]
fld dword [esi + 0x58]
fmul dword [0x681a10]
faddp st(1)
fstp dword [esi + 0x60]
fld dword [esi + 0x14]
fld dword [0x681a10]
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 0x546008
fldz
fstp dword [esi + 0x14]
sub dword [esi + 0x90], 1
cmp dword [esi + 0x90], 0
jg 0x5460e3
fld dword [esi + 0x6c]
fld dword [0x681a10]
fmul dword [0x69a808]
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 0x5460e3
cmp dword [0x681a28], 0x28
jl 0x54609b
push dword [esi + 0x80]
push 0
push 0
push 0x3dcccccd
push 0x3f000000
fld dword [ebp - 0xe4]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
fld dword [ebp - 0xe8]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
push 0x20
push dword [0x683b5c]
call fcn.0054765b
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.00554df8
add esp, 0x10
push dword [esi + 8]
call fcn.00533487
add esp, 4
jmp 0x546b28
cmp dword [esi + 0x7c], 0
jg 0x5461a9
push 4
call fcn.006465db
add esp, 4
push dword [esi + 0x6c]
call fcn.00646614
add esp, 4
push dword [esi + 0x68]
push dword [esi + 0x64]
call fcn.00646a94
add esp, 8
push dword [esi + 0x14]
push dword [ebp - 0xe4]
push dword [ebp - 0xe8]
push dword [esi + 0x10]
call fcn.004e9070
add esp, 0x10
fld dword [esi + 0x14]
fld dword [0x681a10]
fmul dword [0x69a80c]
faddp st(1)
fstp dword [esi + 0x14]
fld dword [esi + 0x14]
fld dword [0x69a810]
fxch st(1)
fucompp
fnstsw ax
sahf
setbe al
movzx eax, al
cmp eax, 0
jne 0x54616a
fldz
fstp dword [esi + 0x14]
sub dword [esi + 0x90], 1
cmp dword [esi + 0x90], 0
jg 0x5461a9
fld dword [esi + 0x6c]
fld dword [0x681a10]
fmul dword [0x69a814]
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 0x5461a9
push dword [esi + 8]
call fcn.00533487
add esp, 4
jmp 0x546b28
cmp dword [esi + 0x7c], 0
jg 0x546227
push 4
call fcn.006465db
add esp, 4
push dword [esi + 0x6c]
call fcn.00646614
add esp, 4
push dword [esi + 0x68]
push dword [esi + 0x64]
call fcn.00646a94
add esp, 8
push dword [esi + 0x14]
push dword [ebp - 0xe4]
push dword [ebp - 0xe8]
push dword [esi + 0x10]
call fcn.004e9070
add esp, 0x10
fld dword [esi + 0x6c]
fld dword [0x681a10]
fmul dword [0x69a818]
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 0x546227
push dword [esi + 8]
call fcn.00533487
add esp, 4
jmp 0x546b28
cmp dword [esi + 0x7c], 0
jg 0x54637d
push 4
call fcn.006465db
add esp, 4
push dword [esi + 0x6c]
call fcn.00646614
add esp, 4
push dword [esi + 0x68]
push dword [esi + 0x64]
call fcn.00646a94
add esp, 8
push dword [esi + 0x60]
call fcn.00646a65
add esp, 4
push dword [esi + 0x14]
push dword [ebp - 0xe4]
push dword [ebp - 0xe8]
push dword [esi + 0x10]
call fcn.004e9070
add esp, 0x10
fld dword [esi + 0x58]
fld dword [esi + 0x5c]
fmul dword [0x681a10]
faddp st(1)
fstp dword [esi + 0x58]
fld dword [esi + 0x60]
fstp dword [ebp - 0xc0]
fld dword [0x69a81c]
sub esp, 8
fstp qword [esp]
fld dword [esi + 0x58]
fmul dword [0x681a10]
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.00646a94
add esp, 8
push 0
call fcn.00646a65
add esp, 4
mov eax, dword [esi + 0x90]
mov dword [ebp - 0xec], eax
fild dword [ebp - 0xec]
fld dword [0x682dbc]
fdiv dword [0x6833a4]
fmul dword [0x69a820]
fxch st(1)
fucompp
fnstsw ax
sahf
setbe al
movzx eax, al
cmp eax, 0
jne 0x546330
fld dword [esi + 0x70]
fadd dword [0x69a824]
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 0x54637d
fld dword [esi + 0x6c]
fld dword [0x681a10]
fmul dword [0x69a828]
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 0x54637d
push dword [esi + 8]
call fcn.00533487
add esp, 4
jmp 0x546b28
cmp dword [esi + 0x7c], 0
jg 0x54652f
push 3
call fcn.006465db
add esp, 4
push dword [esi + 0x6c]
call fcn.00646614
add esp, 4
fld dword [0x69a82c]
fld dword [0x681a40]
fmul dword [0x69a830]
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.00646a94
add esp, 8
push dword [esi + 0x60]
call fcn.00646a65
add esp, 4
push dword [esi + 0x14]
push dword [ebp - 0xe4]
push dword [ebp - 0xe8]
push dword [esi + 0x10]
call fcn.004e9070
add esp, 0x10
fld1
sub esp, 8
fstp qword [esp]
fld dword [0x682dbc]
fdiv dword [0x6833a4]
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 [0x681a10]
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 0x54648d
fldz
fstp dword [esi + 0x14]
push 0x3f800000
push 0x3f800000
call fcn.00646a94
add esp, 8
push 0
call fcn.00646a65
add esp, 4
fld dword [0x682dbc]
fldz
fxch st(1)
fucompp
fnstsw ax
sahf
setbe al
movzx eax, al
cmp eax, 0
jne 0x5464d1
mov eax, dword [0x68717c]
cmp eax, 1
setne al
movzx eax, al
cmp eax, 0
je 0x5464e2
fld dword [esi + 0x70]
fadd dword [0x69a834]
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 0x54652f
fld dword [esi + 0x6c]
fld dword [0x681a10]
fmul dword [0x69a838]
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 0x54652f
push dword [esi + 8]
call fcn.00533487
add esp, 4
jmp 0x546b28
cmp dword [esi + 0x7c], 0
jg 0x5466bb
push 4
call fcn.006465db
add esp, 4
push 0xff
push 0xff
push 0xff
call fcn.0064655b
add esp, 0xc
push dword [esi + 0x6c]
call fcn.00646614
add esp, 4
push dword [esi + 0x68]
push dword [esi + 0x64]
call fcn.00646a94
add esp, 8
push dword [esi + 0x60]
call fcn.00646a65
add esp, 4
push dword [esi + 0x14]
push dword [ebp - 0xe4]
push dword [ebp - 0xe8]
push dword [esi + 0x10]
call fcn.004e9070
add esp, 0x10
fld dword [esi + 0x58]
fld dword [esi + 0x5c]
fmul dword [0x681a10]
faddp st(1)
fstp dword [esi + 0x58]
fld dword [esi + 0x60]
fstp dword [ebp - 0xc4]
fld dword [0x69a83c]
sub esp, 8
fstp qword [esp]
fld dword [esi + 0x58]
fmul dword [0x681a10]
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 0x546662
fld dword [esi + 0x6c]
fld dword [0x681a08]
fdiv dword [0x69a840]
faddp st(1)
fstp dword [esi + 0x6c]
fld dword [esi + 0x64]
fld dword [0x681a08]
fdiv dword [0x69a844]
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 0x546651
fld dword [esi + 0x6c]
fld1
fxch st(1)
fucompp
fnstsw ax
sahf
setae al
movzx eax, al
cmp eax, 0
je 0x546660
mov dword [esi + 0x90], 2
jmp 0x5466bb
cmp dword [esi + 0x90], 2
jne 0x5466bb
fld dword [esi + 0x6c]
fld dword [0x681a08]
fdiv dword [0x69a848]
fsubp st(1)
fstp dword [esi + 0x6c]
fld dword [esi + 0x64]
fld dword [0x681a08]
fdiv dword [0x69a84c]
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 0x5466bb
push dword [esi + 8]
call fcn.00533487
add esp, 4
jmp 0x546b28
cmp dword [esi + 0x7c], 0
jg 0x546886
push 4
call fcn.006465db
add esp, 4
fld dword [esi + 0x8c]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
fld dword [esi + 0x88]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
fld dword [esi + 0x84]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
call fcn.0064655b
add esp, 0xc
fld dword [0x69a850]
sub esp, 8
fstp qword [esp]
fld dword [esi + 0x88]
fld dword [0x69a854]
fmul dword [0x681a10]
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 [0x69a858]
faddp st(1)
fstp dword [esi + 0x84]
fld dword [esi + 0x8c]
fmul dword [0x69a85c]
fstp dword [esi + 0x8c]
push dword [esi + 0x6c]
call fcn.00646614
add esp, 4
push dword [esi + 0x68]
push dword [esi + 0x64]
call fcn.00646a94
add esp, 8
push dword [esi + 0x60]
call fcn.00646a65
add esp, 4
push dword [esi + 0x14]
push dword [ebp - 0xe4]
push dword [ebp - 0xe8]
push dword [esi + 0x10]
call fcn.004e9070
add esp, 0x10
fld dword [esi + 0x58]
fld dword [esi + 0x5c]
fmul dword [0x681a10]
faddp st(1)
fstp dword [esi + 0x58]
fld dword [esi + 0x60]
fstp dword [ebp - 0xc8]
fld dword [0x69a860]
sub esp, 8
fstp qword [esp]
fld dword [esi + 0x58]
fmul dword [0x681a10]
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 [0x681a10]
fmul dword [0x69a864]
faddp st(1)
fstp dword [esi + 0x64]
fld dword [esi + 0x64]
fstp dword [esi + 0x68]
fld dword [esi + 0x70]
fsub dword [0x681a10]
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 0x546886
fld dword [esi + 0x6c]
fld dword [0x681a10]
fmul dword [0x69a868]
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 0x546886
push dword [esi + 8]
call fcn.00533487
add esp, 4
jmp 0x546b28
cmp dword [esi + 0x7c], 0
jg 0x546b26
mov ebx, dword [esi + 0xc0]
cmp ebx, 0x66dc40
je 0x546b1b
mov eax, dword [ebx + 0x11c]
cmp eax, 0
setne al
movzx eax, al
cmp eax, 0
jne 0x5468ca
mov eax, dword [ebx + 0x148]
cmp eax, 0
setne al
movzx eax, al
cmp eax, 0
je 0x5468d4
jmp 0x546b19
cmp dword [ebx + 0x110], 0x63
je 0x546ae2
cmp dword [esi + 0x28], 1
jne 0x5468f3
push 4
call fcn.006465db
add esp, 4
jmp 0x5468fd
push 3
call fcn.006465db
add esp, 4
fld dword [ebx + 0x108]
fld dword [esi + 0x70]
cmp dword [ebx + 0x114], 0
je 0x546921
fstp st(0)
mov dword [esi + 0x90], 0xffffffff
fld dword [0x69a86c]
cmp dword [esi + 0x90], 0
jle 0x546962
fld dword [esi + 0x6c]
fxch st(1)
fmul dword [0x681a10]
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 0x546960
fld1
fstp dword [esi + 0x6c]
mov dword [esi + 0x90], 0xffffffff
jmp 0x5469a0
fld dword [esi + 0x6c]
fxch st(1)
fmul dword [0x681a10]
fsubp st(1)
fstp dword [esi + 0x6c]
fld dword [esi + 0x6c]
fld dword [0x69a870]
fxch st(1)
fucompp
fnstsw ax
sahf
seta al
movzx eax, al
cmp eax, 0
jne 0x5469a0
fld dword [0x69a874]
fstp dword [esi + 0x6c]
mov dword [esi + 0x90], 1
fld dword [esi + 0x6c]
fmulp st(1)
sub esp, 4
fstp dword [esp]
call fcn.00646614
add esp, 4
push dword [esi + 0x68]
push dword [esi + 0x64]
call fcn.00646a94
add esp, 8
mov eax, dword [0x682fe4]
and eax, 1
cmp eax, 0
jne 0x546a11
fld dword [esi + 0x60]
fstp dword [ebp - 0xcc]
fld dword [0x69a878]
sub esp, 8
fstp qword [esp]
fld dword [esi + 0x58]
fmul dword [0x681a10]
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.00646a65
add esp, 4
fld dword [esi + 0xbc]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
fld dword [esi + 0xb8]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
fld dword [esi + 0xb4]
sub esp, 8
fstp qword [esp]
call fcn.0065d35c
add esp, 8
push eax
call fcn.0064655b
add esp, 0xc
push 0
mov eax, dword [ebx + 0x174]
mov dword [ebp - 0xec], eax
fild dword [ebp - 0xec]
sub esp, 4
fstp dword [esp]
mov eax, dword [ebx + 0x170]
mov dword [ebp - 0xec], eax
fild dword [ebp - 0xec]
sub esp, 4
fstp dword [esp]
push dword [esi + 0x10]
call fcn.004e9070
add esp, 0x10
fld dword [esi + 0x14]
fld dword [0x681a10]
fmul dword [0x69a87c]
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 0x546ae0
fldz
fstp dword [esi + 0x14]
jmp 0x546b19
fld dword [esi + 0x6c]
fld dword [esi + 0x70]
fmul dword [0x681a10]
fsubp st(1)
fstp dword [esi + 0x6c]
fld dword [esi + 0x6c]
fld dword [0x69a880]
fxch st(1)
fucompp
fnstsw ax
sahf
seta al
movzx eax, al
cmp eax, 0
jne 0x546b19
push dword [esi + 8]
call fcn.00533487
add esp, 4
jmp 0x546b26
push dword [esi + 8]
call fcn.00533487
add esp, 4
jmp 0x546b28
push 0x3f800000
push 0x3f800000
call fcn.00646a94
add esp, 8
push 3
call fcn.006465db
add esp, 4
push 0
call fcn.00646a65
add esp, 4
push 0xff
push 0xff
push 0xff
call fcn.0064655b
add esp, 0xc
mov eax, 0
jmp 0x546b6c
pop esi
pop ebx
mov esp, ebp
pop ebp
ret