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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
push 0xffffffffffffffff
push 0x6ac85b
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x718
cmp dword [0x719a5c], 6
push ebx
push esi
push edi
mov esi, ecx
je 0x443ad0
mov al, byte [0x2201969]
xor ebx, ebx
test al, al
jne 0x443ad0
cmp dword [0x719a48], ebx
je 0x43c024
cmp dword [0x868dd4], 0x12
jne 0x43c02f
mov ecx, dword [0x7191d4]
mov eax, dword [ecx]
push 0x47
call dword [eax + 4]
test al, al
jne 0x43c02f
mov ecx, dword [0x85cfbc]
cmp ecx, ebx
je 0x443ad0
push ebx
call fcn.004105b0
mov ecx, dword [0x85cfbc]
mov dword [ecx + 0xdc], ebx
mov dword [esi + 0x1400e0], ebx
jmp 0x443ad0
mov eax, dword [0x2209400]
mov edx, dword [eax]
lea ecx, [esp + 0x340]
push ecx
push 3
push eax
call dword [edx + 0xb4]
fild dword [0x71c2a4]
mov eax, dword [0x2209400]
mov edx, dword [eax]
fadd st(0), st(0)
lea ecx, [esp + 0x380]
fidiv dword [0x70859c]
push ecx
push 2
push eax
fsub dword [0x6bc4dc]
fdiv dword [esp + 0x34c]
fstp dword [esp + 0x90]
fild dword [0x71c2a8]
fadd st(0), st(0)
fidiv dword [0x7085a0]
fsub dword [0x6bc4dc]
fdiv dword [esp + 0x360]
fchs
fstp dword [esp + 0x94]
call dword [edx + 0xb4]
lea edx, [esp + 0x380]
push edx
push ebx
lea eax, [esp + 0x278]
push eax
call fcn.005e52de
fld dword [esp + 0x280]
fmul dword [esp + 0x88]
fld dword [esp + 0x270]
fmul dword [esp + 0x84]
faddp st(1)
fadd dword [esp + 0x290]
fst dword [esp + 0xb8]
fld dword [esp + 0x284]
fmul dword [esp + 0x88]
fld dword [esp + 0x274]
fmul dword [esp + 0x84]
faddp st(1)
fadd dword [esp + 0x294]
fst dword [esp + 0xbc]
fld dword [esp + 0x288]
fmul dword [esp + 0x88]
fld dword [esp + 0x278]
fmul dword [esp + 0x84]
faddp st(1)
fadd dword [esp + 0x298]
fstp dword [esp + 0xc0]
mov ecx, dword [esp + 0xc0]
fld st(1)
mov dword [esp + 0x268], ecx
fstp dword [esp + 0x260]
fst dword [esp + 0x264]
fld st(1)
fadd st(0), st(0)
fstp dword [esp + 0x204]
fld st(0)
fadd st(1)
fstp dword [esp + 0x208]
fld dword [esp + 0xc0]
fadd st(0), st(0)
fstp dword [esp + 0x20c]
fld dword [esp + 0x204]
fadd dword [esp + 0x2a0]
fst dword [esp + 0x84]
fld dword [esp + 0x208]
fadd dword [esp + 0x2a4]
fst dword [esp + 0x88]
fld dword [esp + 0x20c]
fadd dword [esp + 0x2a8]
mov eax, ecx
mov ecx, dword [esp + 0x84]
mov dword [esp + 0x230], eax
fstp dword [esp + 0x8c]
mov edx, dword [esp + 0x8c]
fxch st(1)
mov dword [esp + 0x224], edx
fstp dword [esp + 0x21c]
lea edi, [esi + 0x140210]
fstp dword [esp + 0x220]
fxch st(1)
fstp dword [esp + 0x228]
fstp dword [esp + 0x22c]
mov dword [edi], ecx
mov edx, dword [esp + 0x220]
mov dword [edi + 4], edx
mov eax, dword [esp + 0x224]
mov dword [edi + 8], eax
mov ecx, dword [esp + 0x228]
mov dword [edi + 0xc], ecx
mov edx, dword [esp + 0x22c]
mov dword [edi + 0x10], edx
mov eax, dword [esp + 0x230]
lea ecx, [esp + 0x21c]
mov dword [edi + 0x14], eax
call fcn.005bfb50
push 0x71d06c
lea ecx, [esi + 0xc]
push edi
mov dword [esi + 0x140228], 0x497423f0
call fcn.005a2ce0
test al, al
je 0x43c2a7
fld dword [0x71d074]
fsub dword [esp + 0x8c]
fld dword [0x71d070]
fsub dword [esp + 0x88]
fld dword [0x71d06c]
fsub dword [esp + 0x84]
fld st(0)
fmul st(1)
fld st(2)
fmul st(3)
faddp st(1)
fld st(3)
fmul st(4)
faddp st(1)
fstp st(3)
fstp st(0)
fstp st(0)
fsqrt
fstp dword [esi + 0x140228]
mov eax, dword [esi + 0x13fecc]
cmp dword [eax + 0xcc], 0x65
je 0x443ad0
mov ecx, dword [eax + 0xdc]
mov dword [0x71d048], ecx
cmp dword [eax + 0xe4], ebx
je 0x43c2e6
cmp dword [0x719a58], ebx
jne 0x443ad0
mov ecx, esi
call fcn.0043aea0
jmp 0x443ad0
mov ecx, dword [0x22094cc]
mov edx, dword [0x22094c8]
mov dword [esp + 0x64], ecx
mov ecx, dword [0x719880]
mov dword [esp + 0x24], ecx
movzx ecx, byte [eax + 0x281]
cmp ecx, 3
mov dword [esp + 0x60], edx
mov edx, dword [0x22094d0]
mov dword [esp + 0x68], edx
jg 0x43c347
je 0x43c33b
sub ecx, ebx
je 0x43c32f
dec ecx
jne 0x43c36c
fld dword [esp + 0x24]
fsub dword [0x6bc4dc]
jmp 0x43c368
fld dword [esp + 0x24]
fsub dword [0x6bc9d4]
jmp 0x43c368
fld dword [esp + 0x24]
fadd dword [0x6bc4dc]
jmp 0x43c368
cmp ecx, 4
je 0x43c35e
cmp ecx, 0xff
jne 0x43c36c
mov dword [esp + 0x24], 0
jmp 0x43c36c
fld dword [esp + 0x24]
fadd dword [0x6bc9d4]
fstp dword [esp + 0x24]
mov cl, byte [eax + 0x384]
test cl, cl
je 0x43c39d
mov ecx, dword [eax + 0x388]
sub ecx, ebx
mov dword [esp + 0x24], 0x40e00000
je 0x43c395
dec ecx
jne 0x43c39d
mov dword [esp + 0x24], 0x41000000
jmp 0x43c39d
mov dword [esp + 0x24], 0x40e00000
fld dword [eax + 0x168]
lea edx, [esp + 0x144]
fsub dword [eax + 0x24]
push edx
fld dword [eax + 0x164]
fsub dword [eax + 0x20]
fld dword [eax + 0x160]
fsub dword [eax + 0x1c]
mov eax, edx
push eax
fstp dword [esp + 0x14c]
fst dword [esp + 0x150]
fld st(1)
fstp dword [esp + 0x154]
fld dword [esp + 0x14c]
fmul dword [esp + 0x14c]
fld st(1)
fmul st(2)
faddp st(1)
fld st(2)
fmul st(3)
faddp st(1)
fstp st(2)
fstp st(0)
fsqrt
fstp dword [esp + 0x64]
call fcn.005e40eb
fld dword [esp + 0x24]
fmul dword [0x6bc860]
fst dword [esp + 0x14]
fld dword [esp + 0x14c]
fmul st(1)
fld dword [esp + 0x148]
fmul st(2)
fstp dword [esp + 0x48]
fxch st(1)
fmul dword [esp + 0x144]
fstp dword [esp + 0x34]
fmul dword [0x719a54]
fld dword [esp + 0x48]
fmul dword [0x719a54]
fld dword [esp + 0x34]
fmul dword [0x719a54]
fld st(0)
fmul st(1)
fld st(2)
fmul st(3)
faddp st(1)
fld st(3)
fmul st(4)
faddp st(1)
fsqrt
fld dword [esp + 0x5c]
fsub dword [0x6bc85c]
fcompp
fnstsw ax
test ah, 0x41
mov eax, dword [esi + 0x13fecc]
jne 0x43c48f
fadd dword [eax + 0x1c]
add eax, 0x1c
fstp dword [eax]
fadd dword [eax + 4]
fstp dword [eax + 4]
fadd dword [eax + 8]
fstp dword [eax + 8]
jmp 0x43c4ae
lea ecx, [eax + 0x160]
fstp st(0)
mov edx, dword [ecx]
fstp st(0)
add eax, 0x1c
fstp st(0)
mov dword [eax], edx
mov edx, dword [ecx + 4]
mov dword [eax + 4], edx
mov ecx, dword [ecx + 8]
mov dword [eax + 8], ecx
mov edx, dword [esi + 0x13fecc]
xor ecx, ecx
mov dword [edx + 0x20], ecx
mov dword [esi + 0x1400e0], ecx
mov eax, dword [0x708598]
cmp eax, 2
mov dword [esp + 0x54], ecx
mov dword [esp + 0x58], 1
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x20], ecx
mov ebx, 7
jne 0x43c5b4
cmp dword [0x719a58], ecx
mov edi, dword [0x2203688]
jne 0x43c538
mov al, byte [0x220203f]
test al, al
jne 0x43c538
mov al, byte [0x220203c]
test al, al
jne 0x43c538
push 0x2c
mov ecx, edi
call fcn.004268b0
test al, al
je 0x43c522
mov word [0x21fe5f0], 4
jmp 0x43c538
push 0x14
mov ecx, edi
call fcn.004268b0
test al, al
je 0x43c538
mov word [0x21fe5f0], 5
push 0x58
mov ecx, edi
call fcn.004268b0
test al, al
je 0x43c554
mov al, byte [0x21fed22]
test al, al
sete al
mov byte [0x21fed22], al
push 0xb7
mov ecx, edi
call fcn.004268b0
test al, al
je 0x43c6ca
xor eax, eax
mov ecx, 0x41
lea edi, [esp + 0x408]
rep stosd dword es:[edi], eax
lea ecx, [esp + 0x408]
push ecx
mov ecx, 0x2209408
call fcn.00543fc0
lea eax, [esp + 0x408]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x43c594
sub eax, edx
mov dword [esp + 0x48], eax
je 0x43c6b5
lea edx, [esp + 0x408]
push edx
jmp 0x43c69b
cmp eax, 4
jne 0x43c635
cmp dword [0x864e00], ecx
jne 0x43c6c4
mov edi, dword [0x2203688]
push 0x58
mov ecx, edi
call fcn.004268b0
test al, al
jne 0x43c5ec
push 0xb7
mov ecx, edi
call fcn.004268b0
test al, al
je 0x43c6ca
xor eax, eax
mov ecx, 0x41
lea edi, [esp + 0x510]
rep stosd dword es:[edi], eax
lea eax, [esp + 0x510]
push eax
mov ecx, 0x2209408
call fcn.00543fc0
lea eax, [esp + 0x510]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x43c618
sub eax, edx
mov dword [esp + 0x48], eax
je 0x43c6b5
lea ecx, [esp + 0x510]
push ecx
jmp 0x43c69b
mov edi, dword [0x2203688]
push 0x58
mov ecx, edi
call fcn.004268b0
test al, al
jne 0x43c658
push 0xb7
mov ecx, edi
call fcn.004268b0
test al, al
je 0x43c6ca
xor eax, eax
mov ecx, 0x41
lea edi, [esp + 0x618]
lea edx, [esp + 0x618]
rep stosd dword es:[edi], eax
push edx
mov ecx, 0x2209408
call fcn.00543fc0
lea eax, [esp + 0x618]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x43c684
sub eax, edx
mov dword [esp + 0x48], eax
je 0x43c6b5
lea eax, [esp + 0x618]
push eax
push 0x71a3c0
call fcn.0041d3b0
push 0x167
push ebx
call fcn.0041fce0
add esp, 0x10
jmp 0x43c6c4
push 0x168
push 0x11
call fcn.0041fce0
add esp, 8
mov edi, dword [0x2203688]
push 0x43
mov ecx, edi
call fcn.004268b0
test al, al
je 0x43c702
cmp dword [0x708598], 4
jne 0x43c6e9
mov eax, dword [0x864e00]
test eax, eax
jne 0x43c702
mov ecx, esi
push 0
mov dword [0x7198c8], 0
call fcn.00444b10
mov edi, dword [0x2203688]
push 0x44
mov ecx, edi
call fcn.004268b0
test al, al
je 0x43c745
cmp dword [0x708598], 4
jne 0x43c721
mov eax, dword [0x864e00]
test eax, eax
jne 0x43c745
mov edx, dword [0x7198c8]
xor eax, eax
test edx, edx
sete al
test eax, eax
mov dword [0x7198c8], eax
jne 0x43c745
mov ecx, esi
push eax
call fcn.00444b10
mov edi, dword [0x2203688]
push 0x57
mov ecx, edi
call fcn.004268b0
test al, al
je 0x43c78a
cmp dword [0x708598], 4
jne 0x43c778
mov eax, dword [0x864e00]
test eax, eax
jne 0x43c78a
mov eax, dword [0x7198c4]
xor ecx, ecx
test eax, eax
sete cl
mov dword [0x7198c4], ecx
jmp 0x43c78a
mov eax, dword [0x7198c4]
xor edx, edx
test eax, eax
sete dl
mov dword [0x7198c4], edx
mov eax, dword [0x719a58]
test eax, eax
jne 0x43c7d3
mov al, byte [0x220203f]
test al, al
jne 0x43c7d3
mov al, byte [0x220203c]
test al, al
jne 0x43c7d3
push 0xe
mov ecx, edi
call fcn.004268b0
test al, al
je 0x43c7d3
mov eax, dword [esi + 0x13fecc]
add eax, 0x16c
push eax
push 0x867d88
mov ecx, 0x8655e8
call fcn.004cb2d0
mov edi, dword [0x2203688]
mov al, byte [0x21fd8bc]
test al, al
je 0x43c896
push 0x3b
mov ecx, edi
call fcn.004268b0
test al, al
je 0x43c7f1
xor eax, eax
jmp 0x43c857
push 0x3c
mov ecx, edi
call fcn.004268b0
test al, al
je 0x43c805
mov eax, 1
jmp 0x43c857
push 0x3d
mov ecx, edi
call fcn.004268b0
test al, al
je 0x43c819
mov eax, 2
jmp 0x43c857
push 0x3e
mov ecx, edi
call fcn.004268b0
test al, al
je 0x43c82d
mov eax, 3
jmp 0x43c857
push 0x3f
mov ecx, edi
call fcn.004268b0
test al, al
je 0x43c841
mov eax, 4
jmp 0x43c857
push 0x40
mov ecx, edi
call fcn.004268b0
test al, al
je 0x43cc95
mov eax, 5
mov ecx, dword [0x21fd810]
lea ecx, [ecx + ecx*2]
lea eax, [eax + ecx*2]
jmp 0x2261e00
mov ecx, dword [0x21fd7cc]
test ecx, ecx
je 0x43cbe9
mov eax, dword [0x21fd7d0]
sub eax, ecx
sar eax, 2
test eax, eax
je 0x43cbe9
push 0x3b
mov ecx, edi
call fcn.004268b0
test al, al
je 0x43c90a
cmp dword [0x708598], 4
jne 0x43c8d9
mov eax, dword [0x864e00]
test eax, eax
jne 0x43cc95
push 0
mov ecx, 0x21fd7c4
call fcn.004bf5f0
test eax, eax
je 0x43cc95
mov edx, dword [0x71cfb0]
mov ecx, dword [edx]
mov edx, dword [ecx + 0x364]
mov dword [edx + 0x108], 0
jmp 0x43cac8
push 0x3c
mov ecx, edi
call fcn.004268b0
test al, al
je 0x43c95e
cmp dword [0x708598], 4
jne 0x43c92d
mov eax, dword [0x864e00]
test eax, eax
jne 0x43cc95
push 1
mov ecx, 0x21fd7c4
call fcn.004bf5f0
test eax, eax
je 0x43cc95
mov edx, dword [0x71cfb0]
mov ecx, dword [edx]
mov edx, dword [ecx + 0x364]
mov dword [edx + 0x108], 1
jmp 0x43cac8
push 0x3d
mov ecx, edi
call fcn.004268b0
test al, al
je 0x43c9d4
cmp dword [0x708598], 4
jne 0x43c981
mov eax, dword [0x864e00]
test eax, eax
jne 0x43cc95
mov edi, 2
push edi
mov ecx, 0x21fd7c4
call fcn.004bf5f0
test eax, eax
je 0x43cc95
mov edx, dword [0x71cfb0]
mov ecx, dword [edx]
mov edx, dword [ecx + 0x364]
mov dword [edx + 0x108], edi
mov ecx, dword [esi + 0x13fecc]
mov edx, dword [eax]
mov dword [ecx + 0x16c], edx
mov dword [0x867d88], edi
mov eax, dword [esi + 0x13fecc]
mov ecx, dword [eax + 0x16c]
push ecx
push edi
jmp 0x43cc8b
push 0x3e
mov ecx, edi
call fcn.004268b0
test al, al
je 0x43ca28
cmp dword [0x708598], 4
jne 0x43c9f7
mov eax, dword [0x864e00]
test eax, eax
jne 0x43cc95
push 3
mov ecx, 0x21fd7c4
call fcn.004bf5f0
test eax, eax
je 0x43cc95
mov edx, dword [0x71cfb0]
mov ecx, dword [edx]
mov edx, dword [ecx + 0x364]
mov dword [edx + 0x108], 3
jmp 0x43cac8
push 0x3f
mov ecx, edi
call fcn.004268b0
test al, al
je 0x43ca79
mov eax, dword [0x708598]
mov edi, 4
cmp eax, edi
jne 0x43ca50
mov eax, dword [0x864e00]
test eax, eax
jne 0x43cc95
push edi
mov ecx, 0x21fd7c4
call fcn.004bf5f0
test eax, eax
je 0x43cc95
mov edx, dword [0x71cfb0]
mov ecx, dword [edx]
mov edx, dword [ecx + 0x364]
mov dword [edx + 0x108], edi
jmp 0x43cac8
push 0x40
mov ecx, edi
call fcn.004268b0
test al, al
je 0x43caf2
cmp dword [0x708598], 4
jne 0x43ca9c
mov eax, dword [0x864e00]
test eax, eax
jne 0x43cc95
push 5
mov ecx, 0x21fd7c4
call fcn.004bf5f0
test eax, eax
je 0x43cc95
mov edx, dword [0x71cfb0]
mov ecx, dword [edx]
mov edx, dword [ecx + 0x364]
mov dword [edx + 0x108], 5
mov ecx, dword [esi + 0x13fecc]
mov edx, dword [eax]
mov dword [ecx + 0x16c], edx
mov dword [0x867d88], 2
mov eax, dword [esi + 0x13fecc]
mov ecx, dword [eax + 0x16c]
push ecx
jmp 0x43cc89
push 0x41
mov ecx, edi
call fcn.004268b0
test al, al
je 0x43cb71
cmp dword [0x708598], 4
jne 0x43cb43
mov eax, dword [0x864e00]
test eax, eax
jne 0x43cc95
mov edx, dword [0x71cfb0]
mov eax, dword [edx]
mov ecx, dword [eax + 0x364]
mov dword [ecx + 0x108], 6
push 6
mov ecx, 0x21fd7c4
call fcn.004bf5f0
test eax, eax
je 0x43cc95
jmp 0x43cbbf
push 6
mov ecx, 0x21fd7c4
call fcn.004bf5f0
test eax, eax
je 0x43cc95
mov ecx, dword [0x71cfb0]
mov edx, dword [ecx]
mov ecx, dword [edx + 0x364]
mov dword [ecx + 0x108], 6
jmp 0x43cbbf
push 0x42
mov ecx, edi
call fcn.004268b0
test al, al
je 0x43cc95
cmp dword [0x708598], 4
jne 0x43cb98
mov eax, dword [0x864e00]
test eax, eax
jne 0x43cc95
push ebx
mov ecx, 0x21fd7c4
call fcn.004bf5f0
test eax, eax
je 0x43cc95
mov ecx, dword [0x71cfb0]
mov edx, dword [ecx]
mov ecx, dword [edx + 0x364]
mov dword [ecx + 0x108], ebx
mov edx, dword [esi + 0x13fecc]
mov eax, dword [eax]
mov dword [edx + 0x16c], eax
mov dword [0x867d88], 2
mov ecx, dword [esi + 0x13fecc]
mov edx, dword [ecx + 0x16c]
push edx
jmp 0x43cc89
push 0x3b
mov ecx, edi
call fcn.004268b0
test al, al
jne 0x43cc51
push 0x3c
mov ecx, edi
call fcn.004268b0
test al, al
jne 0x43cc51
push 0x3d
mov ecx, edi
call fcn.004268b0
test al, al
jne 0x43cc51
push 0x3e
mov ecx, edi
call fcn.004268b0
test al, al
jne 0x43cc51
push 0x3f
mov ecx, edi
call fcn.004268b0
test al, al
jne 0x43cc51
push 0x40
mov ecx, edi
call fcn.004268b0
test al, al
jne 0x43cc51
push 0x41
mov ecx, edi
call fcn.004268b0
test al, al
jne 0x43cc51
push 0x42
mov ecx, edi
call fcn.004268b0
test al, al
je 0x43cc95
cmp dword [0x708598], 4
jne 0x43cc63
mov eax, dword [0x864e00]
test eax, eax
jne 0x43cc95
mov eax, dword [esi + 0x13fecc]
mov ecx, dword [eax + 0x34]
mov dword [eax + 0x16c], ecx
mov dword [0x867d88], 2
mov edx, dword [esi + 0x13fecc]
mov eax, dword [edx + 0x16c]
push eax
push 2
mov ecx, 0x8655e8
call fcn.004d10b0
mov eax, dword [0x719a58]
xor ebx, ebx
or edi, 0xffffffff
cmp eax, ebx
jne 0x43cd36
mov ecx, dword [0x2203688]
push 0x21
call fcn.004268b0
test al, al
je 0x43cd36
mov ecx, dword [esi + 0x13fecc]
mov eax, dword [ecx + 0x16c]
cmp eax, edi
je 0x43cd36
cmp dword [0x867d88], 2
jne 0x43cd36
cmp eax, dword [ecx + 0x34]
je 0x43cd36
push eax
mov ecx, 0x8655e8
call fcn.004d2010
test eax, eax
jne 0x43cd00
mov ecx, dword [esi + 0x13fecc]
mov edx, dword [ecx + 0x16c]
push edx
mov ecx, 0x8655e8
call fcn.004ce9c0
test al, al
je 0x43cd36
mov eax, dword [esi + 0x13fecc]
mov ecx, dword [eax + 0x16c]
push ecx
mov ecx, esi
call fcn.00447a40
cmp eax, ebx
je 0x43cd36
mov edx, dword [eax + 0x390]
mov dword [0x867d88], edx
mov ecx, dword [esi + 0x13fecc]
mov edx, dword [eax + 0x394]
mov dword [ecx + 0x16c], edx
mov eax, dword [0x708598]
sub eax, 2
je 0x43cd55
sub eax, 2
je 0x43cd55
cmp dword [0x719a58], ebx
jne 0x43d25f
push 0x29
jmp 0x43cd57
push 0xf
mov ecx, dword [0x2203688]
call fcn.004268b0
test al, al
je 0x43d25f
mov eax, dword [esi + 0x13fecc]
mov eax, dword [eax + 0x16c]
cmp eax, edi
mov dword [esp + 0x44], 0x497423f0
mov dword [esp + 0x50], 0
mov dword [esp + 0x4c], edi
mov dword [esp + 0x40], ebx
mov dword [esp + 0xf8], ebx
mov dword [esp + 0x48], ebx
je 0x43ce25
mov ecx, dword [0x867d88]
cmp ecx, ebx
jne 0x43cdd6
push eax
mov ecx, esi
call fcn.00447ac0
cmp eax, ebx
mov dword [esp + 0xf8], eax
je 0x43ce25
mov ecx, dword [esi + 0x13fecc]
fld dword [ecx + 0x18]
fld dword [ecx + 0x10]
mov ecx, dword [eax + 4]
fld dword [eax + 0xc]
mov dword [esp + 0x34], ecx
jmp 0x43ce01
cmp ecx, 2
jne 0x43ce25
push eax
mov ecx, esi
call fcn.00447a40
cmp eax, ebx
mov dword [esp + 0x48], eax
je 0x43ce25
mov ecx, dword [esi + 0x13fecc]
fld dword [ecx + 0x18]
mov edx, dword [eax + 0x10]
fld dword [ecx + 0x10]
mov dword [esp + 0x34], edx
fld dword [eax + 0x18]
fxch st(2)
fsub st(2)
fstp dword [esp + 0x50]
fstp st(1)
fsub dword [esp + 0x34]
fld st(0)
fmulp st(1)
fld dword [esp + 0x50]
fmul dword [esp + 0x50]
faddp st(1)
fsqrt
fabs
fstp dword [esp + 0x50]
mov eax, dword [esi + 0x13d8a0]
mov eax, dword [eax]
lea ebx, [esi + 0x13d8a8]
mov dword [ebx], eax
cmp eax, dword [esi + 0x13d8a0]
je 0x43cef6
mov eax, dword [ebx]
mov edi, dword [eax + 0x10]
test edi, edi
je 0x43ced3
mov eax, dword [edi + 0xb0]
test eax, eax
jne 0x43ced3
cmp dword [esp + 0xf8], edi
je 0x43ced3
mov ecx, edi
call fcn.00431280
test eax, eax
jne 0x43ced3
mov eax, dword [esi + 0x13fecc]
fld dword [eax + 0x18]
mov ecx, dword [edi + 4]
fld dword [eax + 0x10]
mov dword [esp + 0x34], ecx
fld dword [edi + 0xc]
fxch st(2)
fsub st(2)
fstp dword [esp + 0x5c]
fstp st(1)
fsub dword [esp + 0x34]
fld st(0)
fmulp st(1)
fld dword [esp + 0x5c]
fmul dword [esp + 0x5c]
faddp st(1)
fsqrt
fabs
fld dword [esp + 0x50]
fcomp st(1)
fnstsw ax
test ah, 5
jp 0x43ced1
fld dword [esp + 0x44]
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x43ced1
mov edx, dword [edi + 0x28]
fstp dword [esp + 0x44]
mov dword [esp + 0x4c], edx
mov dword [esp + 0x40], 1
jmp 0x43ced3
fstp st(0)
mov ecx, ebx
call fcn.00421780
mov eax, dword [esi + 0x13d8a0]
cmp dword [ebx], eax
jne 0x43ce41
mov eax, dword [esp + 0x40]
xor ecx, ecx
cmp eax, ecx
jne 0x43cf97
mov eax, dword [esi + 0x13d8a0]
mov eax, dword [eax]
mov dword [ebx], eax
cmp eax, dword [esi + 0x13d8a0]
je 0x43cf95
lea esp, [esp]
mov eax, dword [ebx]
mov edi, dword [eax + 0x10]
test edi, edi
je 0x43cf80
mov eax, dword [edi + 0xb0]
test eax, eax
jne 0x43cf80
mov ecx, edi
call fcn.00431280
test eax, eax
jne 0x43cf80
mov eax, dword [esi + 0x13fecc]
fld dword [eax + 0x18]
mov ecx, dword [edi + 4]
fld dword [eax + 0x10]
mov dword [esp + 0x34], ecx
fld dword [edi + 0xc]
fxch st(2)
fsub st(2)
fstp dword [esp + 0x5c]
fstp st(1)
fsub dword [esp + 0x34]
fld st(0)
fmulp st(1)
fld dword [esp + 0x5c]
fmul dword [esp + 0x5c]
faddp st(1)
fsqrt
fabs
fld dword [esp + 0x44]
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x43cf7e
mov edx, dword [edi + 0x28]
fstp dword [esp + 0x44]
mov dword [esp + 0x4c], edx
jmp 0x43cf80
fstp st(0)
mov ecx, ebx
call fcn.00421780
mov eax, dword [esi + 0x13d8a0]
cmp dword [ebx], eax
jne 0x43cf10
xor ecx, ecx
mov eax, dword [esp + 0x4c]
cmp eax, 0xffffffff
je 0x43cff2
mov dword [0x867d88], ecx
mov dword [0x71d020], ecx
mov dword [0x71d018], ecx
mov dword [0x71d01c], ecx
mov ecx, dword [esi + 0x13fecc]
mov dword [ecx + 0x170], 1
mov edx, dword [esi + 0x13fecc]
mov dword [edx + 0x16c], eax
mov eax, dword [esi + 0x13fecc]
mov ecx, dword [eax + 0x16c]
mov edx, dword [0x867d88]
push ecx
push edx
mov ecx, 0x8655e8
call fcn.004d10b0
mov eax, dword [esi + 0x13d878]
mov eax, dword [eax]
lea ebx, [esi + 0x13d880]
mov dword [ebx], eax
cmp eax, dword [esi + 0x13d878]
mov dword [esp + 0x4c], 0xffffffff
je 0x43d10f
jmp 0x43d020
mov eax, dword [eax + 0x10]
mov edi, dword [esi + 0x13fecc]
mov ecx, dword [eax + 0x34]
cmp ecx, dword [edi + 0x34]
je 0x43d0f8
mov dl, byte [0x21fd8d6]
cmp dl, byte [eax + 0x282]
jne 0x43d080
mov edx, 2
cmp dword [0x71c504], edx
jne 0x43d058
cmp ecx, dword [0x71c508]
je 0x43d080
cmp dword [0x71c520], edx
jne 0x43d0f8
mov edx, dword [eax + 0x2d4]
cmp edx, dword [0x71c3e4]
jne 0x43d0f8
mov dl, byte [eax + 0x38d]
test dl, dl
je 0x43d0f8
mov edx, dword [eax + 0x25c]
test edx, edx
jne 0x43d0f8
cmp dword [esp + 0x48], eax
je 0x43d0f8
mov edx, dword [eax + 0x288]
test edx, edx
jne 0x43d0f8
fld dword [edi + 0x18]
fld dword [edi + 0x10]
fld dword [eax + 0x18]
mov eax, dword [eax + 0x10]
fxch st(2)
mov dword [esp + 0x34], eax
fsub st(2)
fstp dword [esp + 0x5c]
fstp st(1)
fsub dword [esp + 0x34]
fld st(0)
fmulp st(1)
fld dword [esp + 0x5c]
fmul dword [esp + 0x5c]
faddp st(1)
fsqrt
fabs
fld dword [esp + 0x50]
fcomp st(1)
fnstsw ax
test ah, 5
jp 0x43d0f6
fld dword [esp + 0x44]
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x43d0f6
fstp dword [esp + 0x44]
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x40], 1
jmp 0x43d0f8
fstp st(0)
mov ecx, ebx
call fcn.00421780
mov ecx, dword [esi + 0x13d878]
mov eax, dword [ebx]
cmp eax, ecx
jne 0x43d020
mov eax, dword [esp + 0x40]
test eax, eax
jne 0x43d1fd
mov eax, dword [esi + 0x13d878]
mov eax, dword [eax]
mov dword [ebx], eax
cmp eax, dword [esi + 0x13d878]
je 0x43d1fd
mov eax, dword [eax + 0x10]
mov ecx, dword [esi + 0x13fecc]
mov edi, dword [eax + 0x34]
cmp edi, dword [ecx + 0x34]
je 0x43d1e6
mov dl, byte [0x21fd8d6]
cmp dl, byte [eax + 0x282]
jne 0x43d189
mov edx, 2
cmp dword [0x71c504], edx
jne 0x43d169
cmp edi, dword [0x71c508]
je 0x43d189
cmp dword [0x71c520], edx
jne 0x43d1e6
mov edx, dword [eax + 0x2d4]
cmp edx, dword [0x71c3e4]
jne 0x43d1e6
mov dl, byte [eax + 0x38d]
test dl, dl
je 0x43d1e6
mov edx, dword [eax + 0x25c]
test edx, edx
jne 0x43d1e6
mov edx, dword [eax + 0x288]
test edx, edx
jne 0x43d1e6
fld dword [ecx + 0x18]
fld dword [ecx + 0x10]
fld dword [eax + 0x18]
mov eax, dword [eax + 0x10]
fxch st(2)
mov dword [esp + 0x34], eax
fsub st(2)
fstp dword [esp + 0x48]
fstp st(1)
fsub dword [esp + 0x34]
fld st(0)
fmulp st(1)
fld dword [esp + 0x48]
fmul dword [esp + 0x48]
faddp st(1)
fsqrt
fabs
fld dword [esp + 0x44]
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x43d1e4
fstp dword [esp + 0x44]
mov dword [esp + 0x4c], edi
jmp 0x43d1e6
fstp st(0)
mov ecx, ebx
call fcn.00421780
mov ecx, dword [esi + 0x13d878]
mov eax, dword [ebx]
cmp eax, ecx
jne 0x43d131
mov ecx, dword [esp + 0x4c]
cmp ecx, 0xffffffff
je 0x43d25a
mov dword [0x867d88], 2
mov edx, dword [esi + 0x13fecc]
xor eax, eax
mov dword [edx + 0x170], 1
mov dword [0x71d020], eax
mov dword [0x71d018], eax
mov dword [0x71d01c], eax
mov eax, dword [esi + 0x13fecc]
mov dword [eax + 0x16c], ecx
mov ecx, dword [esi + 0x13fecc]
mov edx, dword [ecx + 0x16c]
mov eax, dword [0x867d88]
push edx
push eax
mov ecx, 0x8655e8
call fcn.004d10b0
or edi, 0xffffffff
xor ebx, ebx
mov ecx, dword [0x85cfbc]
cmp dword [ecx + 0x3e0], ebx
je 0x43d406
cmp dword [0x719a58], ebx
jne 0x43d2e7
mov al, byte [0x220203f]
test al, al
jne 0x43d2e7
mov al, byte [0x220203c]
test al, al
jne 0x43d2e7
mov edx, dword [esi + 0x13fecc]
mov eax, dword [edx + 0xdc]
cmp eax, 3
je 0x43d2e7
cmp eax, 2
je 0x43d2e7
cmp eax, 9
je 0x43d2e7
mov ecx, 0x8655e8
call fcn.004cbd20
test eax, eax
jne 0x43d2e0
mov eax, dword [0x7199b4]
mov ecx, dword [0x2203688]
push eax
call fcn.004268b0
test al, al
je 0x43d2e0
mov al, byte [0x71d050]
test al, al
jne 0x43d2e7
mov byte [0x71d050], 1
call fcn.0059c060
jmp 0x43d2e7
mov byte [0x71d050], 0
mov edx, dword [0x85cfbc]
mov edi, dword [edx + 0xdc]
xor ecx, ecx
cmp edi, 1
sete cl
mov dword [esi + 0x1400e0], ecx
mov eax, dword [0x85cfbc]
mov ecx, dword [eax + 0x3e0]
push ecx
mov ecx, 0x71d0f0
call fcn.00447a40
cmp eax, ebx
je 0x43d32a
mov edx, dword [0x85cfbc]
mov ecx, dword [edx + 0x34]
mov dword [eax + 0x3e4], ecx
mov edx, dword [esi + 0x13fecc]
fld dword [0x708c94]
fsub dword [0x6bca00]
add edx, 0x10
mov eax, dword [edx]
mov dword [0x22094d4], eax
mov ecx, dword [edx + 4]
mov dword [0x22094d8], ecx
fadd dword [0x22094d8]
mov edx, dword [edx + 8]
mov dword [0x22094dc], edx
mov edx, dword [0x22094d0]
fstp dword [0x22094d8]
mov eax, dword [esi + 0x13fecc]
mov ecx, dword [eax + 0x14]
mov al, byte [esi + 9]
test al, al
mov dword [esp + 0x14], ecx
push edx
je 0x43d396
mov eax, ecx
mov ecx, dword [0x22094c8]
push eax
push ecx
lea ecx, [esi + 0x13cc3c]
call fcn.005a4de0
jmp 0x43d3a4
mov eax, dword [0x22094c8]
push eax
lea ecx, [esi + 0xc]
call fcn.005a2c30
mov al, byte [esi + 9]
fadd dword [0x6bc860]
test al, al
je 0x43d3d3
mov ecx, dword [esi + 0x13fecc]
fld dword [ecx + 0x14]
fadd dword [0x6bca1c]
fst dword [esp + 0x58]
fcomp st(1)
fnstsw ax
test ah, 5
jp 0x43d3d3
fstp st(0)
fld dword [esp + 0x58]
fld dword [0x22094cc]
fcomp st(1)
fnstsw ax
test ah, 5
jp 0x43d3f6
push 1
fstp dword [0x22094cc]
mov ecx, esi
call fcn.004397d0
jmp 0x443ad0
push 1
fstp st(0)
mov ecx, esi
call fcn.004397d0
jmp 0x443ad0
mov ax, word [0x21fe5f0]
cmp ax, 5
jne 0x43d69b
cmp dword [0x867d88], 2
mov word [0x21fe5f0], bx
mov dword [esp + 0x40], 0x497423f0
jne 0x43d49a
mov edx, dword [esi + 0x13fecc]
mov eax, dword [edx + 0x16c]
push eax
mov ecx, esi
call fcn.00447a40
cmp eax, ebx
je 0x43d49a
mov cl, byte [0x21fd8d6]
cmp cl, byte [eax + 0x282]
jne 0x43d49a
mov edx, dword [0x71c504]
mov ecx, 2
cmp edx, ecx
jne 0x43d46e
mov edx, dword [eax + 0x34]
cmp edx, dword [0x71c508]
je 0x43d49a
cmp dword [0x71c520], ecx
jne 0x43d48e
mov ecx, dword [eax + 0x2d4]
cmp ecx, dword [0x71c3e4]
jne 0x43d48e
mov cl, byte [eax + 0x38d]
test cl, cl
jne 0x43d49a
mov edx, dword [esi + 0x13fecc]
mov dword [edx + 0x16c], edi
mov eax, dword [esi + 0x13fecc]
cmp dword [eax + 0x16c], edi
je 0x43d4b5
cmp dword [0x867d88], 1
jne 0x43d64b
mov ecx, dword [esi + 0x13d8a0]
mov eax, dword [ecx]
lea edi, [esi + 0x13d8a8]
mov dword [edi], eax
cmp eax, dword [esi + 0x13d8a0]
je 0x43d54f
xor ebx, ebx
mov edx, dword [edi]
mov ecx, dword [edx + 0x10]
cmp ecx, ebx
je 0x43d53e
cmp dword [ecx + 0xb0], ebx
jne 0x43d53e
mov edx, dword [esi + 0x13fecc]
fld dword [edx + 0x10]
mov eax, dword [ecx + 0xc]
fld dword [edx + 0x18]
mov dword [esp + 0x3c], eax
fld dword [ecx + 4]
fxch st(2)
fsub st(2)
fstp dword [esp + 0x60]
fstp st(1)
fsub dword [esp + 0x3c]
fld st(0)
fmulp st(1)
fld dword [esp + 0x60]
fmul dword [esp + 0x60]
faddp st(1)
fsqrt
fabs
fld dword [esp + 0x40]
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x43d53c
mov ecx, dword [ecx + 0x28]
fstp dword [esp + 0x40]
mov dword [edx + 0x16c], ecx
mov dword [0x867d88], ebx
jmp 0x43d53e
fstp st(0)
mov ecx, edi
call fcn.00421780
mov edx, dword [edi]
cmp edx, dword [esi + 0x13d8a0]
jne 0x43d4d3
mov eax, dword [esi + 0x13d878]
mov eax, dword [eax]
lea ebx, [esi + 0x13d880]
mov dword [ebx], eax
cmp eax, dword [esi + 0x13d878]
je 0x43d64b
jmp 0x43d570
mov ecx, dword [ebx]
mov eax, dword [ecx + 0x10]
mov ecx, dword [esi + 0x13fecc]
mov edi, dword [eax + 0x34]
cmp edi, dword [ecx + 0x34]
je 0x43d636
mov dl, byte [0x21fd8d6]
cmp dl, byte [eax + 0x282]
jne 0x43d5ce
mov edx, 2
cmp dword [0x71c504], edx
jne 0x43d5aa
cmp edi, dword [0x71c508]
je 0x43d5d3
cmp dword [0x71c520], edx
jne 0x43d636
mov edx, dword [eax + 0x2d4]
cmp edx, dword [0x71c3e4]
jne 0x43d636
mov dl, byte [eax + 0x38d]
test dl, dl
je 0x43d636
mov edx, 2
cmp dword [eax + 0x25c], 0
jne 0x43d636
cmp dword [eax + 0x288], 0
jne 0x43d636
fld dword [ecx + 0x10]
fld dword [ecx + 0x18]
fld dword [eax + 0x10]
mov eax, dword [eax + 0x18]
fxch st(2)
mov dword [esp + 0x3c], eax
fsub st(2)
fstp dword [esp + 0x60]
fstp st(1)
fsub dword [esp + 0x3c]
fld st(0)
fmulp st(1)
fld dword [esp + 0x60]
fmul dword [esp + 0x60]
faddp st(1)
fsqrt
fabs
fld dword [esp + 0x40]
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x43d634
mov dword [ecx + 0x16c], edi
fstp dword [esp + 0x40]
mov dword [0x867d88], edx
jmp 0x43d636
fstp st(0)
mov ecx, ebx
call fcn.00421780
mov ecx, dword [ebx]
cmp ecx, dword [esi + 0x13d878]
jne 0x43d570
mov ecx, dword [0x867d88]
xor edx, edx
cmp ecx, 2
mov ecx, dword [esi + 0x13fecc]
setne dl
add edx, 2
xor eax, eax
mov dword [0x71d020], eax
mov dword [0x71d018], eax
mov dword [0x71d01c], eax
mov eax, 1
mov dword [0x71d000], edx
mov dword [ecx + 0x170], eax
mov ecx, dword [esp + 0x724]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
cmp ax, 4
jne 0x43d7da
mov eax, dword [0x867d88]
mov ecx, 1
cmp eax, ecx
mov word [0x21fe5f0], bx
jne 0x43d6ff
mov eax, dword [esi + 0x13fecc]
cmp dword [eax + 0x16c], edi
je 0x43d6ff
mov dword [eax + 0x170], ecx
mov dword [0x71d020], ebx
mov dword [0x71d018], ebx
mov dword [0x71d01c], ebx
mov dword [0x71d000], ecx
mov eax, ecx
mov ecx, dword [esp + 0x724]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov eax, dword [esi + 0x13d88c]
mov eax, dword [eax]
lea edi, [esi + 0x13d894]
mov dword [edi], eax
mov ecx, dword [esi + 0x13d88c]
or ebx, 0xffffffff
cmp eax, ecx
mov dword [esp + 0x5c], 0x497423f0
je 0x43d7da
mov ecx, dword [eax + 0x10]
test ecx, ecx
je 0x43d78a
mov eax, dword [esi + 0x13fecc]
fld dword [eax + 0x18]
mov edx, dword [ecx + 0x20]
fld dword [eax + 0x10]
mov dword [esp + 0x34], edx
fld dword [ecx + 0x28]
fxch st(2)
fsub st(2)
fstp dword [esp + 0x48]
fstp st(1)
fsub dword [esp + 0x34]
fld st(0)
fmulp st(1)
fld dword [esp + 0x48]
fmul dword [esp + 0x48]
faddp st(1)
fsqrt
fabs
fcom dword [0x6bc870]
fnstsw ax
test ah, 5
jp 0x43d788
fld dword [esp + 0x5c]
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x43d788
mov ebx, dword [ecx + 4]
fstp dword [esp + 0x5c]
jmp 0x43d78a
fstp st(0)
mov ecx, edi
call fcn.00421780
mov ecx, dword [esi + 0x13d88c]
mov eax, dword [edi]
cmp eax, ecx
jne 0x43d728
cmp ebx, 0xffffffff
je 0x43d7da
xor eax, eax
mov dword [0x71d020], eax
mov dword [0x71d018], eax
mov dword [0x71d01c], eax
mov eax, 1
mov dword [0x867d88], eax
mov ecx, dword [esi + 0x13fecc]
mov dword [ecx + 0x170], eax
mov edx, dword [esi + 0x13fecc]
mov dword [edx + 0x16c], ebx
mov dword [0x71d000], eax
mov eax, dword [0x719a58]
test eax, eax
jne 0x43d9b8
mov bl, byte [0x220203f]
test bl, bl
jne 0x43d81d
mov al, byte [0x220203c]
test al, al
jne 0x43d81d
mov ecx, dword [0x2203688]
push 0x23
call fcn.004268b0
test al, al
je 0x43d81d
mov ecx, dword [0x2209818]
xor eax, eax
test ecx, ecx
sete al
mov dword [0x2209818], eax
mov ecx, dword [esi + 0x13fecc]
mov eax, dword [ecx + 0xe0]
test eax, eax
jne 0x43d8cf
test bl, bl
jne 0x43d862
mov al, byte [0x220203c]
test al, al
jne 0x43d862
mov ecx, 0x8655e8
call fcn.004cbd20
test eax, eax
jne 0x43d862
mov edx, dword [0x7199a0]
mov ecx, dword [0x2203688]
push edx
call fcn.004268b0
test al, al
jne 0x43d86c
cmp word [0x21fe5f0], 1
jne 0x43d8c9
mov eax, dword [esi + 0x13fecc]
cmp dword [eax + 0xdc], 3
je 0x43d8c9
mov word [0x21fe5f0], 0
mov ecx, dword [esi + 0x13fecc]
mov eax, dword [ecx + 0xdc]
cmp eax, 5
je 0x43d8a8
test eax, eax
jne 0x43d8a8
push 1
call fcn.00598b50
add esp, 4
jmp 0x443ad0
cmp eax, 6
je 0x43d9d7
cmp eax, 7
jne 0x43d9d7
push 0
call fcn.00598b50
add esp, 4
jmp 0x443ad0
mov bl, byte [0x220203f]
mov eax, dword [esi + 0x13fecc]
mov ecx, dword [eax + 0xe0]
test ecx, ecx
jne 0x43d9b8
mov eax, dword [eax + 0xdc]
cmp eax, 3
je 0x43d9b8
cmp eax, 6
je 0x43d9b8
cmp eax, 7
jne 0x43d9b8
test bl, bl
jne 0x43d946
mov al, byte [0x220203c]
test al, al
jne 0x43d946
mov ecx, 0x8655e8
call fcn.004cbd20
test eax, eax
mov edi, dword [0x2203688]
jne 0x43d94c
mov edx, dword [0x719990]
push edx
mov ecx, edi
call fcn.004268b0
test al, al
je 0x43d94c
push 0
call fcn.00598b50
add esp, 4
jmp 0x443ad0
mov edi, dword [0x2203688]
mov eax, dword [0x7199a4]
push eax
mov ecx, edi
call fcn.004268b0
test al, al
jne 0x43d8ba
mov ecx, dword [0x719994]
push ecx
mov ecx, edi
call fcn.004268b0
test al, al
jne 0x43d8ba
mov edx, dword [0x7199a8]
push edx
mov ecx, edi
call fcn.004268b0
test al, al
jne 0x43d8ba
mov eax, dword [0x719998]
push eax
mov ecx, edi
call fcn.004268b0
test al, al
jne 0x43d8ba
mov ecx, dword [0x7199ac]
push ecx
mov ecx, edi
call fcn.004268b0
test al, al
jne 0x43d8ba
cmp word [0x21fe5f0], 3
jne 0x43d9d7
xor ebx, ebx
mov word [0x21fe5f0], bx
mov dword [0x71d034], 1
jmp 0x43d9e6
mov eax, dword [0x71d034]
xor ebx, ebx
test eax, eax
je 0x43dad6
cmp dword [0x719a58], ebx
je 0x43dad6
mov eax, dword [esi + 0x13fecc]
mov ecx, dword [eax + 0xdc]
cmp ecx, 1
je 0x43da10
cmp ecx, ebx
je 0x43da10
cmp ecx, 3
jne 0x43dad6
cmp dword [eax + 0x174], ebx
je 0x43da1e
fld dword [esp + 0x24]
jmp 0x43da22
fld dword [esp + 0x14]
fmul dword [0x719a54]
add eax, 0x160
mov dword [0x71d000], ebx
fstp dword [esp + 0x40]
fld dword [0x22094dc]
fsub dword [0x22094d0]
fld dword [0x22094d8]
fsub dword [0x22094cc]
fld dword [0x22094d4]
fsub dword [0x22094c8]
fstp dword [esp + 0x28]
mov edx, dword [esp + 0x28]
mov dword [eax], edx
fstp dword [esp + 0x2c]
mov ecx, dword [esp + 0x2c]
mov dword [eax + 4], ecx
fstp dword [esp + 0x30]
mov edx, dword [esp + 0x30]
mov dword [eax + 8], edx
mov eax, dword [esi + 0x13fecc]
mov dword [eax + 0x164], ebx
mov eax, dword [esi + 0x13fecc]
add eax, 0x160
push eax
push eax
call fcn.005e40eb
fld dword [esp + 0x40]
mov eax, dword [esi + 0x13fecc]
fmul dword [eax + 0x168]
add eax, 0x160
fld dword [esp + 0x40]
fmul dword [eax + 4]
fld dword [esp + 0x40]
fmul dword [eax]
mov eax, 1
mov dword [esp + 0x54], eax
mov dword [esi + 0x1400e0], eax
fstp dword [esp + 0x18]
fstp dword [esp + 0x1c]
fstp dword [esp + 0x20]
mov ecx, dword [esi + 0x13fecc]
cmp dword [ecx + 0x25c], ebx
jne 0x441d66
mov eax, dword [ecx + 0xdc]
cmp eax, 1
je 0x43db05
cmp eax, ebx
je 0x43db05
cmp eax, 3
je 0x43db05
cmp eax, 8
jne 0x441d66
cmp dword [ecx + 0x174], ebx
je 0x43db13
fld dword [esp + 0x24]
jmp 0x43db17
fld dword [esp + 0x14]
cmp ecx, ebx
fmul dword [0x719a54]
fstp dword [esp + 0x24]
je 0x43e114
cmp dword [0x2201bc0], ebx
je 0x43df25
cmp dword [esi + 0x1400dc], ebx
je 0x43db48
mov dword [esi + 0x1400dc], ebx
call fcn.00598430
cmp dword [0x71d034], ebx
je 0x43db56
mov dword [0x71d034], ebx
cmp dword [0x71d000], ebx
je 0x43db64
mov dword [0x71d000], ebx
mov ecx, dword [0x2201bc4]
push ecx
mov ecx, 0x71d0f0
call fcn.00447a40
cmp eax, ebx
je 0x43db8a
add eax, 0x10
mov edi, dword [eax]
mov ebx, dword [eax + 4]
mov edx, dword [eax + 8]
mov dword [esp + 0x30], edx
jmp 0x43dbad
mov eax, dword [esi + 0x13fecc]
add eax, 0x10
mov edi, dword [eax]
mov ebx, dword [eax + 4]
mov ecx, dword [eax + 8]
mov dword [esp + 0x30], ecx
fld dword [esp + 0x30]
fadd dword [0x6bc8b4]
fstp dword [esp + 0x30]
mov eax, dword [esi + 0x13fecc]
fld dword [esp + 0x30]
fsub dword [eax + 0x18]
add eax, 0x10
mov dword [esp + 0x28], edi
fld dword [esp + 0x28]
fsub dword [eax]
lea edx, [esp + 0x138]
push edx
mov eax, edx
fstp dword [esp + 0x13c]
push eax
mov dword [esp + 0x144], 0
fstp dword [esp + 0x148]
call fcn.005e40eb
mov ecx, dword [esi + 0x13fecc]
mov edx, dword [esp + 0x138]
add ecx, 0x160
mov dword [ecx], edx
mov eax, dword [esp + 0x13c]
mov dword [ecx + 4], eax
mov edx, dword [esp + 0x140]
mov dword [ecx + 8], edx
mov eax, dword [esi + 0x13fecc]
mov ecx, dword [esp + 0x30]
add eax, 0x154
mov dword [eax], edi
mov dword [eax + 4], ebx
mov dword [eax + 8], ecx
fld dword [esp + 0x140]
fmul dword [esp + 0x24]
mov eax, dword [esi + 0x13fecc]
lea edx, [esp + 0x12c]
push edx
fstp dword [esp + 0x54]
fld dword [esp + 0x140]
fmul dword [esp + 0x28]
fstp dword [esp + 0x44]
fld dword [esp + 0x28]
fmul dword [esp + 0x13c]
fstp dword [esp + 0x70]
fld dword [eax + 0x15c]
fsub dword [eax + 0x18]
fld dword [eax + 0x154]
fsub dword [eax + 0x10]
mov eax, edx
push eax
mov dword [esp + 0x138], 0
fstp dword [esp + 0x134]
fstp dword [esp + 0x13c]
call fcn.005e40eb
fld dword [esp + 0x134]
mov ecx, dword [esi + 0x13fecc]
fmul dword [esp + 0x24]
mov edx, dword [ecx + 0x154]
mov dword [esp + 0x28], edx
fstp dword [esp + 0x5c]
fld dword [esp + 0x130]
fmul dword [esp + 0x24]
fstp dword [esp + 0x48]
fld dword [esp + 0x12c]
fmul dword [esp + 0x24]
fstp dword [esp + 0x34]
fld dword [ecx + 0x18]
fld dword [ecx + 0x10]
fld dword [ecx + 0x15c]
fsub st(2)
fstp dword [esp + 0x14]
fld dword [esp + 0x28]
fsub st(1)
fstp st(2)
fstp st(0)
fld st(0)
fmulp st(1)
fld dword [esp + 0x14]
fmul dword [esp + 0x14]
faddp st(1)
fsqrt
fabs
fstp dword [esp + 0xf8]
fld dword [esp + 0x12c]
fabs
fld dword [0x6bb5fc]
fucompp
fnstsw ax
test ah, 0x44
jnp 0x43de76
fld dword [esp + 0x134]
fabs
fld dword [0x6bb5fc]
fucompp
fnstsw ax
test ah, 0x44
jnp 0x43de76
mov edx, dword [esp + 0x134]
mov eax, dword [esp + 0x12c]
add ecx, 0x160
mov dword [ecx], eax
mov dword [esp + 0x30], edx
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x2c], 0
mov edx, dword [esp + 0x2c]
mov dword [ecx + 4], edx
mov dword [ecx + 8], eax
mov eax, dword [esi + 0x13fecc]
fld dword [eax + 0x168]
lea ecx, [esp + 0x180]
fsub dword [eax + 0x24]
push ecx
fld dword [eax + 0x164]
mov edx, ecx
fsub dword [eax + 0x20]
push edx
fld dword [eax + 0x160]
fsub dword [eax + 0x1c]
fstp dword [esp + 0x188]
fst dword [esp + 0x18c]
fld st(1)
fstp dword [esp + 0x190]
fld dword [esp + 0x188]
fmul dword [esp + 0x188]
fld st(1)
fmul st(2)
faddp st(1)
fld st(2)
fmul st(3)
faddp st(1)
fstp st(2)
fstp st(0)
fsqrt
fstp dword [esp + 0x1c]
call fcn.005e40eb
fld dword [esp + 0x188]
fmul dword [esp + 0x24]
fld dword [esp + 0x184]
fmul dword [esp + 0x24]
fld dword [esp + 0x24]
fmul dword [esp + 0x180]
fld st(0)
fmul st(1)
fld st(2)
fmul st(3)
faddp st(1)
fld st(3)
fmul st(4)
faddp st(1)
fsqrt
fld dword [esp + 0x14]
fsub dword [0x6bc85c]
fcompp
fnstsw ax
test ah, 0x41
mov eax, dword [esi + 0x13fecc]
jne 0x43de4a
fadd dword [eax + 0x1c]
add eax, 0x1c
fstp dword [eax]
fadd dword [eax + 4]
fstp dword [eax + 4]
fadd dword [eax + 8]
fstp dword [eax + 8]
jmp 0x43de69
lea ecx, [eax + 0x160]
fstp st(0)
mov edx, dword [ecx]
fstp st(0)
add eax, 0x1c
fstp st(0)
mov dword [eax], edx
mov edx, dword [ecx + 4]
mov dword [eax + 4], edx
mov ecx, dword [ecx + 8]
mov dword [eax + 8], ecx
mov edx, dword [esi + 0x13fecc]
mov dword [edx + 0x20], 0
fld dword [esp + 0x34]
fmul dword [esp + 0x34]
fld dword [esp + 0x48]
fmul dword [esp + 0x48]
faddp st(1)
fld dword [esp + 0x5c]
fmul dword [esp + 0x5c]
faddp st(1)
fsqrt
fld dword [esp + 0xf8]
fsub dword [0x6bc860]
fcompp
fnstsw ax
test ah, 0x41
jne 0x43def6
mov eax, dword [esi + 0x13fecc]
cmp dword [eax + 0xdc], 3
je 0x43dec1
mov dword [esp + 0x54], 1
fld dword [esp + 0x18]
mov dword [esi + 0x1400e0], 1
fadd dword [esp + 0x6c]
xor ebx, ebx
fstp dword [esp + 0x18]
fld dword [esp + 0x1c]
fadd dword [esp + 0x40]
fstp dword [esp + 0x1c]
fld dword [esp + 0x20]
fadd dword [esp + 0x50]
fstp dword [esp + 0x20]
jmp 0x43e114
mov dword [esi + 0x1400e0], 1
mov eax, dword [esi + 0x13fecc]
lea ecx, [eax + 0x10]
mov edx, dword [ecx]
add eax, 0x154
mov dword [eax], edx
mov edx, dword [ecx + 4]
mov dword [eax + 4], edx
mov ecx, dword [ecx + 8]
mov dword [eax + 8], ecx
xor ebx, ebx
jmp 0x43e114
cmp dword [0x2201bd8], ebx
je 0x43e06d
cmp dword [esi + 0x1400dc], ebx
je 0x43df44
mov dword [esi + 0x1400dc], ebx
call fcn.00598430
cmp dword [0x71d000], ebx
je 0x43df52
mov dword [0x71d000], ebx
mov edi, dword [0x2201be8]
cmp edi, ebx
jge 0x43e041
call fcn.005cdacd
cdq
mov ecx, 0x168
idiv ecx
push ecx
mov dword [esp + 0x240], 0
mov dword [esp + 0x244], 0
mov dword [esp + 0x248], 0x3f800000
mov dword [esp + 0x1a8], 0
mov dword [esp + 0x1ac], 0
mov dword [esp + 0x1b0], 0x3f800000
mov dword [esp + 0x18], edx
fild dword [esp + 0x18]
lea edx, [esp + 0x3c4]
fmul dword [0x6be948]
fstp dword [esp]
push edx
call fcn.005e5875
lea eax, [esp + 0x3c0]
push eax
lea ecx, [esp + 0x240]
push ecx
lea edx, [esp + 0x1ac]
push edx
call fcn.005e44d1
lea eax, [esp + 0x1a4]
push eax
mov ecx, eax
push ecx
mov dword [esp + 0x248], 0
call fcn.005e40eb
mov edx, dword [esp + 0x1a4]
mov eax, dword [esp + 0x1a8]
mov ecx, dword [esp + 0x1ac]
mov dword [0x2201bdc], edx
mov dword [0x2201be0], eax
mov dword [0x2201be4], ecx
call fcn.005cdacd
cdq
mov ecx, 0xfa0
idiv ecx
mov edi, edx
add edi, 0x3e8
fld dword [0x719a54]
fmul dword [0x6be930]
call fcn.005cd414
mov ecx, dword [0x2201be0]
mov edx, dword [0x2201be4]
add edi, eax
mov eax, dword [0x2201bdc]
mov dword [0x2201be8], edi
jmp 0x43e0ab
cmp dword [0x2201bc8], ebx
je 0x43e114
cmp dword [esi + 0x1400dc], ebx
je 0x43e08c
mov dword [esi + 0x1400dc], ebx
call fcn.00598430
cmp dword [0x71d000], ebx
je 0x43e09a
mov dword [0x71d000], ebx
mov eax, dword [0x2201bcc]
mov ecx, dword [0x2201bd0]
mov edx, dword [0x2201bd4]
mov edi, dword [esi + 0x13fecc]
fld dword [esp + 0x24]
add edi, 0x160
mov dword [edi], eax
mov dword [edi + 4], ecx
mov dword [edi + 8], edx
mov eax, dword [esi + 0x13fecc]
fmul dword [eax + 0x168]
add eax, 0x160
fld dword [esp + 0x24]
fmul dword [eax + 4]
fld dword [esp + 0x24]
fmul dword [eax]
mov eax, 1
fld dword [esp + 0x18]
mov dword [esp + 0x54], eax
mov dword [esi + 0x1400e0], eax
fadd st(1)
fstp dword [esp + 0x18]
fstp st(0)
fld dword [esp + 0x1c]
fadd st(1)
fstp dword [esp + 0x1c]
fstp st(0)
fld dword [esp + 0x20]
fadd st(1)
fstp dword [esp + 0x20]
fstp st(0)
cmp dword [0x719a58], ebx
jne 0x43f7d5
mov al, byte [0x220203f]
test al, al
jne 0x43e156
mov al, byte [0x220203c]
test al, al
jne 0x43e156
mov ecx, 0x8655e8
call fcn.004cbd20
test eax, eax
jne 0x43e156
mov edx, dword [0x71999c]
mov ecx, dword [0x2203688]
push edx
call fcn.004268b0
test al, al
jne 0x43e160
cmp word [0x21fe5f0], 2
jne 0x43e16c
mov word [0x21fe5f0], bx
call fcn.00598400
mov al, byte [0x220203f]
test al, al
jne 0x43e1a8
mov al, byte [0x220203c]
test al, al
jne 0x43e1a8
mov ecx, dword [0x2203688]
push 0x26
call fcn.004268b0
test al, al
je 0x43e1a8
mov eax, dword [esi + 0x13fecc]
mov edx, dword [eax + 0x17c]
xor ecx, ecx
cmp edx, ebx
sete cl
mov dword [eax + 0x17c], ecx
test byte [0x71d0a8], 1
mov edi, dword [sym.imp.WINMM.dll_timeGetTime]
jne 0x43e1c5
or dword [0x71d0a8], 1
call edi
mov dword [0x71d0a4], eax
test byte [0x71d0a8], 2
jne 0x43e1dc
or dword [0x71d0a8], 2
call edi
mov dword [0x71d0a0], eax
test byte [0x71d0a8], 4
jne 0x43e1f3
or dword [0x71d0a8], 4
call edi
mov dword [0x71d09c], eax
test byte [0x71d0a8], 8
jne 0x43e20a
or dword [0x71d0a8], 8
call edi
mov dword [0x71d098], eax
test byte [0x71d0a8], 0x10
jne 0x43e238
or dword [0x71d0a8], 0x10
mov dword [0x71d08c], 0
mov dword [0x71d090], 0
mov dword [0x71d094], 0
mov edx, dword [esi + 0x13fecc]
mov eax, dword [edx + 0xe0]
xor ebx, ebx
test eax, eax
jne 0x43f06c
mov al, byte [0x220203f]
test al, al
jne 0x43e600
mov al, byte [0x220203c]
test al, al
jne 0x43e600
mov ecx, 0x8655e8
call fcn.004cbd20
test eax, eax
mov edi, dword [0x2203688]
jne 0x43e427
mov eax, dword [0x719998]
push eax
mov ecx, edi
call fcn.00439690
test al, al
je 0x43e427
mov ecx, dword [0x719994]
push ecx
mov ecx, edi
call fcn.00439690
test al, al
je 0x43e427
mov eax, dword [0x71d088]
test eax, eax
mov ebx, 1
mov dword [esi + 0x1400e0], ebx
mov dword [0x71d000], 0
jne 0x43e2eb
mov edx, dword [esi + 0x13fecc]
add edx, 0x1c
mov eax, dword [edx]
mov dword [0x71d08c], eax
mov ecx, dword [edx + 4]
mov dword [0x71d090], ecx
mov edx, dword [edx + 8]
mov dword [0x71d094], edx
mov eax, dword [esi + 0x13fecc]
fld dword [0x71d090]
fmul dword [eax + 0x30]
add eax, 0x28
fld dword [0x71d094]
mov dword [0x71d088], ebx
fmul dword [eax + 4]
fsubp st(1)
fstp dword [esp + 0x28]
fld dword [0x71d094]
fmul dword [eax]
fld dword [0x71d08c]
fmul dword [eax + 8]
fsubp st(1)
fstp dword [esp + 0x2c]
mov ecx, dword [esp + 0x2c]
fld dword [0x71d08c]
fmul dword [eax + 4]
fld dword [0x71d090]
fmul dword [eax]
mov eax, dword [esp + 0x28]
mov dword [esp + 0x108], eax
mov dword [esp + 0x10c], ecx
fsubp st(1)
lea eax, [esp + 0x108]
push eax
mov ecx, eax
fstp dword [esp + 0x34]
mov edx, dword [esp + 0x34]
fld dword [0x71d08c]
mov dword [esp + 0x114], edx
fadd dword [esp + 0x10c]
push ecx
fstp dword [esp + 0x110]
fld dword [esp + 0x114]
fadd dword [0x71d090]
fstp dword [esp + 0x114]
fld dword [esp + 0x118]
fadd dword [0x71d094]
fstp dword [esp + 0x118]
call fcn.005e40eb
mov edx, dword [esi + 0x13fecc]
fld dword [esp + 0x24]
mov eax, dword [esp + 0x108]
add edx, 0x160
mov dword [edx], eax
mov ecx, dword [esp + 0x10c]
mov dword [edx + 4], ecx
mov eax, dword [esp + 0x110]
mov dword [edx + 8], eax
mov eax, dword [esi + 0x13fecc]
fmul dword [eax + 0x168]
add eax, 0x160
fld dword [esp + 0x24]
mov dword [esp + 0x54], ebx
fmul dword [eax + 4]
xor edi, edi
fld dword [esp + 0x24]
fmul dword [eax]
fld dword [esp + 0x18]
fadd st(1)
fstp dword [esp + 0x18]
fstp st(0)
fld dword [esp + 0x1c]
fadd st(1)
fstp dword [esp + 0x1c]
fstp st(0)
fld dword [esp + 0x20]
fadd st(1)
fstp dword [esp + 0x20]
fstp st(0)
jmp 0x43ef32
mov al, byte [0x220203f]
test al, al
jne 0x43e600
mov al, byte [0x220203c]
test al, al
jne 0x43e600
mov ecx, 0x8655e8
call fcn.004cbd20
test eax, eax
jne 0x43e600
mov ecx, dword [0x7199ac]
mov edi, dword [0x2203688]
push ecx
mov ecx, edi
call fcn.00439690
test al, al
je 0x43e600
mov edx, dword [0x719994]
push edx
mov ecx, edi
call fcn.00439690
test al, al
je 0x43e600
mov eax, dword [0x71d088]
test eax, eax
mov ebx, 1
mov dword [esi + 0x1400e0], ebx
mov dword [0x71d000], 0
jne 0x43e4c5
mov eax, dword [esi + 0x13fecc]
add eax, 0x1c
mov ecx, dword [eax]
mov dword [0x71d08c], ecx
mov edx, dword [eax + 4]
mov dword [0x71d090], edx
mov eax, dword [eax + 8]
mov dword [0x71d094], eax
mov eax, dword [esi + 0x13fecc]
fld dword [0x71d094]
fmul dword [eax + 0x2c]
add eax, 0x28
fld dword [0x71d090]
mov dword [0x71d088], ebx
fmul dword [eax + 8]
fsubp st(1)
fstp dword [esp + 0x28]
mov ecx, dword [esp + 0x28]
fld dword [0x71d08c]
fmul dword [eax + 8]
fld dword [0x71d094]
fmul dword [eax]
fsubp st(1)
fstp dword [esp + 0x2c]
mov edx, dword [esp + 0x2c]
fld dword [0x71d090]
fmul dword [eax]
fld dword [0x71d08c]
fmul dword [eax + 4]
mov dword [esp + 0xfc], ecx
mov dword [esp + 0x100], edx
lea ecx, [esp + 0xfc]
fsubp st(1)
push ecx
mov edx, ecx
push edx
fstp dword [esp + 0x38]
mov eax, dword [esp + 0x38]
fld dword [0x71d08c]
mov dword [esp + 0x10c], eax
fadd dword [esp + 0x104]
fstp dword [esp + 0x104]
fld dword [esp + 0x108]
fadd dword [0x71d090]
fstp dword [esp + 0x108]
fld dword [esp + 0x10c]
fadd dword [0x71d094]
fstp dword [esp + 0x10c]
call fcn.005e40eb
mov eax, dword [esi + 0x13fecc]
fld dword [esp + 0x24]
mov ecx, dword [esp + 0xfc]
add eax, 0x160
mov dword [eax], ecx
mov edx, dword [esp + 0x100]
mov dword [eax + 4], edx
mov ecx, dword [esp + 0x104]
mov dword [eax + 8], ecx
mov eax, dword [esi + 0x13fecc]
fmul dword [eax + 0x168]
add eax, 0x160
fld dword [esp + 0x24]
mov dword [esp + 0x54], ebx
fmul dword [eax + 4]
xor edi, edi
fld dword [esp + 0x24]
fmul dword [eax]
fld dword [esp + 0x18]
fadd st(1)
fstp dword [esp + 0x18]
fstp st(0)
fld dword [esp + 0x1c]
fadd st(1)
fstp dword [esp + 0x1c]
fstp st(0)
fld dword [esp + 0x20]
fadd st(1)
fstp dword [esp + 0x20]
fstp st(0)
jmp 0x43ef32
mov al, byte [0x220203f]
xor edi, edi
test al, al
mov dword [0x71d088], edi
jne 0x43e6ec
mov al, byte [0x220203c]
test al, al
jne 0x43e6ec
mov ecx, 0x8655e8
call fcn.004cbd20
test eax, eax
jne 0x43e6a5
mov edx, dword [0x719998]
mov ecx, dword [0x2203688]
push edx
call fcn.004396b0
test al, al
je 0x43e6a5
mov eax, dword [esi + 0x13fecc]
cmp dword [eax + 0xdc], 3
je 0x43e6a5
mov dword [0x71d034], edi
call dword [sym.imp.WINMM.dll_timeGetTime]
sub eax, dword [0x71d09c]
cmp eax, 0x12c
jbe 0x43e681
mov dword [0x71d03c], edi
call dword [sym.imp.WINMM.dll_timeGetTime]
mov dword [0x71d09c], eax
jmp 0x43e6a5
mov eax, dword [esi + 0x13fecc]
mov cl, byte [eax + 0x384]
test cl, cl
mov dword [0x71d03c], 1
jne 0x43e6a5
mov dword [eax + 0xdc], 3
mov al, byte [0x220203f]
test al, al
jne 0x43e6ec
mov al, byte [0x220203c]
test al, al
jne 0x43e6ec
mov ecx, 0x8655e8
call fcn.004cbd20
test eax, eax
jne 0x43e6ec
mov ecx, dword [0x719998]
push ecx
mov ecx, dword [0x2203688]
call fcn.00439690
test al, al
je 0x43e6ec
mov ecx, dword [esi + 0x13fecc]
mov eax, dword [ecx + 0xdc]
cmp eax, 3
jne 0x43e70d
cmp dword [0x71d03c], edi
je 0x43ea83
mov ecx, dword [esi + 0x13fecc]
mov eax, dword [ecx + 0xdc]
cmp eax, 3
jne 0x43ea83
cmp dword [0x71d03c], edi
je 0x43e731
cmp eax, 3
jne 0x43e731
push 0xe
call fcn.004105b0
test eax, eax
je 0x43e743
push 0xa
call fcn.00598b50
add esp, 4
jmp 0x43e743
mov dword [esp + 0x54], 3
mov dword [ecx + 0xdc], 1
mov dword [esi + 0x1400e0], 1
mov ecx, dword [esi + 0x13fecc]
cmp dword [ecx + 0xcc], 0xe
mov dword [0x71d000], edi
mov dword [0x71d038], edi
mov dword [0x71d040], edi
jne 0x43e82e
fld dword [ecx + 0xc8]
fcomp dword [0x6bc894]
fnstsw ax
test ah, 5
jp 0x43ea7e
fld dword [ecx + 0x164]
fmul dword [ecx + 0x30]
fld dword [ecx + 0x2c]
fmul dword [ecx + 0x168]
fsubp st(1)
fstp dword [esp + 0x28]
mov edx, dword [esp + 0x28]
fld dword [ecx + 0x28]
fmul dword [ecx + 0x168]
fld dword [ecx + 0x160]
fmul dword [ecx + 0x30]
fsubp st(1)
fstp dword [esp + 0x2c]
mov eax, dword [esp + 0x2c]
fld dword [ecx + 0x160]
fmul dword [ecx + 0x2c]
fld dword [ecx + 0x28]
fmul dword [ecx + 0x164]
mov dword [esp + 0x1e0], edx
lea edx, [esp + 0x1e0]
mov dword [esp + 0x1e4], eax
fsubp st(1)
push edx
mov eax, edx
push eax
fstp dword [esp + 0x38]
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x1f0], ecx
call fcn.005e40eb
fld dword [esp + 0x1e8]
fmul dword [0x6bca1c]
fld dword [esp + 0x1e4]
fmul dword [0x6bca1c]
fld dword [esp + 0x1e0]
fmul dword [0x6bca1c]
jmp 0x43ea3a
fld dword [ecx + 0x30]
fmul dword [ecx + 0x164]
fld dword [ecx + 0x2c]
fmul dword [ecx + 0x168]
fsubp st(1)
fstp dword [esp + 0x28]
fld dword [ecx + 0x28]
fmul dword [ecx + 0x168]
fld dword [ecx + 0x30]
fmul dword [ecx + 0x160]
fsubp st(1)
fstp dword [esp + 0x2c]
mov edx, dword [esp + 0x2c]
fld dword [ecx + 0x2c]
fmul dword [ecx + 0x160]
fld dword [ecx + 0x28]
fmul dword [ecx + 0x164]
mov ecx, dword [esp + 0x28]
mov dword [esp + 0xa4], ecx
lea ecx, [esp + 0xa4]
fsubp st(1)
mov dword [esp + 0xa8], edx
push ecx
mov edx, ecx
fstp dword [esp + 0x34]
mov eax, dword [esp + 0x34]
push edx
mov dword [esp + 0xb4], eax
call fcn.005e40eb
mov eax, dword [esi + 0x13fecc]
movzx ecx, byte [eax + 0x281]
cmp ecx, 4
ja case.default.0x43e8bd
jmp dword [ecx*4 + 0x443aec]
fld dword [esp + 0xac]
fmul dword [0x6bc860]
fld dword [esp + 0xa8]
fmul dword [0x6bc860]
fld dword [esp + 0xa4]
fmul dword [0x6bc860]
jmp 0x43e9ad
fld dword [esp + 0xac]
fmul dword [0x719a54]
fld dword [esp + 0xa8]
fmul dword [0x719a54]
fld dword [esp + 0xa4]
fmul dword [0x719a54]
fld dword [esp + 0x18]
fadd st(1)
fstp dword [esp + 0x18]
fstp st(0)
fld dword [esp + 0x1c]
fadd st(1)
fstp dword [esp + 0x1c]
fstp st(0)
fld dword [esp + 0x20]
fadd st(1)
fstp dword [esp + 0x20]
fstp st(0)
jmp case.default.0x43e8bd
fld dword [esp + 0xac]
fmul dword [0x6bca08]
fld dword [esp + 0xa8]
fmul dword [0x6bca08]
fld dword [esp + 0xa4]
fmul dword [0x6bca08]
jmp 0x43e9ad
fld dword [esp + 0xac]
fadd st(0), st(0)
fld dword [esp + 0xa8]
fadd st(0), st(0)
fld dword [esp + 0xa4]
fadd st(0), st(0)
jmp 0x43e9ad
fld dword [esp + 0xac]
fmul dword [0x6bca04]
fld dword [esp + 0xa8]
fmul dword [0x6bca04]
fld dword [esp + 0xa4]
fmul dword [0x6bca04]
fstp dword [esp + 0x6c]
fxch st(1)
fmul dword [0x719a54]
fstp dword [esp + 0x14]
fmul dword [0x719a54]
fld dword [esp + 0x6c]
fmul dword [0x719a54]
fld dword [esp + 0x18]
fadd st(1)
fstp dword [esp + 0x18]
fstp st(0)
fld dword [esp + 0x1c]
fadd st(1)
fstp dword [esp + 0x1c]
fstp st(0)
fld dword [esp + 0x20]
fadd dword [esp + 0x14]
fstp dword [esp + 0x20]
mov cl, byte [eax + 0x384]
test cl, cl
je 0x43ea7e
mov ecx, dword [esp + 0xa4]
add eax, 0x1c
mov dword [eax], ecx
mov edx, dword [esp + 0xa8]
mov dword [eax + 4], edx
mov ecx, dword [esp + 0xac]
mov dword [eax + 8], ecx
fld dword [esp + 0xac]
fadd st(0), st(0)
fld dword [esp + 0xa8]
fadd st(0), st(0)
fld dword [esp + 0xa4]
fadd st(0), st(0)
fstp dword [esp + 0x6c]
fxch st(1)
fmul dword [0x719a54]
fstp dword [esp + 0x14]
fmul dword [0x719a54]
fld dword [esp + 0x6c]
fmul dword [0x719a54]
fld dword [esp + 0x18]
fadd st(1)
fstp dword [esp + 0x18]
fstp st(0)
fld dword [esp + 0x1c]
fadd st(1)
fstp dword [esp + 0x1c]
fstp st(0)
fld dword [esp + 0x20]
fadd dword [esp + 0x14]
fstp dword [esp + 0x20]
mov ebx, 1
mov al, byte [0x220203f]
test al, al
jne 0x43eb67
mov al, byte [0x220203c]
test al, al
jne 0x43eb67
mov ecx, 0x8655e8
call fcn.004cbd20
test eax, eax
jne 0x43eb20
mov edx, dword [0x7199ac]
mov ecx, dword [0x2203688]
push edx
call fcn.004396b0
test al, al
je 0x43eb20
mov eax, dword [esi + 0x13fecc]
cmp dword [eax + 0xdc], 3
je 0x43eb20
mov dword [0x71d034], edi
call dword [sym.imp.WINMM.dll_timeGetTime]
sub eax, dword [0x71d098]
cmp eax, 0x12c
jbe 0x43eafc
mov dword [0x71d040], edi
call dword [sym.imp.WINMM.dll_timeGetTime]
mov dword [0x71d098], eax
jmp 0x43eb20
mov eax, dword [esi + 0x13fecc]
mov cl, byte [eax + 0x384]
test cl, cl
mov dword [0x71d040], 1
jne 0x43eb20
mov dword [eax + 0xdc], 3
mov al, byte [0x220203f]
test al, al
jne 0x43eb67
mov al, byte [0x220203c]
test al, al
jne 0x43eb67
mov ecx, 0x8655e8
call fcn.004cbd20
test eax, eax
jne 0x43eb67
mov ecx, dword [0x7199ac]
push ecx
mov ecx, dword [0x2203688]
call fcn.00439690
test al, al
je 0x43eb67
mov ecx, dword [esi + 0x13fecc]
mov eax, dword [ecx + 0xdc]
cmp eax, 3
jne 0x43eb88
cmp dword [0x71d040], edi
je 0x43ef32
mov ecx, dword [esi + 0x13fecc]
mov eax, dword [ecx + 0xdc]
cmp eax, 3
jne 0x43ef32
cmp dword [0x71d040], edi
je 0x43ebac
cmp eax, 3
jne 0x43ebac
push 0xf
call fcn.004105b0
test eax, eax
je 0x43ebbe
push 0xb
call fcn.00598b50
add esp, 4
jmp 0x43ebbe
mov dword [esp + 0x54], 4
mov dword [ecx + 0xdc], 1
mov dword [esi + 0x1400e0], 1
mov ecx, dword [esi + 0x13fecc]
cmp dword [ecx + 0xcc], 0xf
mov dword [0x71d000], edi
mov dword [0x71d038], edi
mov dword [0x71d03c], edi
jne 0x43ece9
fld dword [ecx + 0xc8]
fcomp dword [0x6bc894]
fnstsw ax
test ah, 5
jp 0x43ef2d
fld dword [ecx + 0x168]
fmul dword [ecx + 0x2c]
fld dword [ecx + 0x164]
fmul dword [ecx + 0x30]
fsubp st(1)
fstp dword [esp + 0x28]
mov edx, dword [esp + 0x28]
fld dword [ecx + 0x160]
fmul dword [ecx + 0x30]
fld dword [ecx + 0x28]
fmul dword [ecx + 0x168]
fsubp st(1)
fstp dword [esp + 0x2c]
mov eax, dword [esp + 0x2c]
fld dword [ecx + 0x28]
fmul dword [ecx + 0x164]
fld dword [ecx + 0x160]
fmul dword [ecx + 0x2c]
mov dword [esp + 0x1c8], edx
lea edx, [esp + 0x1c8]
mov dword [esp + 0x1cc], eax
fsubp st(1)
push edx
mov eax, edx
push eax
fstp dword [esp + 0x38]
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x1d8], ecx
call fcn.005e40eb
fld dword [esp + 0x1d0]
fmul dword [0x6bca1c]
fld dword [esp + 0x1cc]
fmul dword [0x6bca1c]
fld dword [esp + 0x1c8]
fmul dword [0x6bca1c]
fstp dword [esp + 0x6c]
fxch st(1)
fmul dword [0x719a54]
fstp dword [esp + 0x14]
fmul dword [0x719a54]
fld dword [esp + 0x6c]
fmul dword [0x719a54]
fld dword [esp + 0x18]
fadd st(1)
fstp dword [esp + 0x18]
fstp st(0)
fld dword [esp + 0x1c]
fadd st(1)
fstp dword [esp + 0x1c]
fstp st(0)
fld dword [esp + 0x20]
fadd dword [esp + 0x14]
jmp 0x43ef29
fld dword [ecx + 0x2c]
fmul dword [ecx + 0x168]
fld dword [ecx + 0x164]
fmul dword [ecx + 0x30]
fsubp st(1)
fstp dword [esp + 0x28]
fld dword [ecx + 0x160]
fmul dword [ecx + 0x30]
fld dword [ecx + 0x28]
fmul dword [ecx + 0x168]
fsubp st(1)
fstp dword [esp + 0x2c]
mov edx, dword [esp + 0x2c]
fld dword [ecx + 0x164]
fmul dword [ecx + 0x28]
fld dword [ecx + 0x2c]
fmul dword [ecx + 0x160]
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x98], ecx
lea ecx, [esp + 0x98]
fsubp st(1)
mov dword [esp + 0x9c], edx
push ecx
mov edx, ecx
fstp dword [esp + 0x34]
mov eax, dword [esp + 0x34]
push edx
mov dword [esp + 0xa8], eax
call fcn.005e40eb
mov eax, dword [esi + 0x13fecc]
movzx ecx, byte [eax + 0x281]
cmp ecx, 4
ja case.default.0x43ed78
jmp dword [ecx*4 + 0x443b00]
fld dword [esp + 0xa0]
fmul dword [0x6bc860]
fld dword [esp + 0x9c]
fmul dword [0x6bc860]
fld dword [esp + 0x98]
fmul dword [0x6bc860]
jmp 0x43ee68
fld dword [esp + 0xa0]
fmul dword [0x719a54]
fld dword [esp + 0x9c]
fmul dword [0x719a54]
fld dword [esp + 0x98]
fmul dword [0x719a54]
fld dword [esp + 0x18]
fadd st(1)
fstp dword [esp + 0x18]
fstp st(0)
fld dword [esp + 0x1c]
fadd st(1)
fstp dword [esp + 0x1c]
fstp st(0)
fld dword [esp + 0x20]
fadd st(1)
fstp dword [esp + 0x20]
fstp st(0)
jmp case.default.0x43ed78
fld dword [esp + 0xa0]
fmul dword [0x6bca08]
fld dword [esp + 0x9c]
fmul dword [0x6bca08]
fld dword [esp + 0x98]
fmul dword [0x6bca08]
jmp 0x43ee68
fld dword [esp + 0xa0]
fadd st(0), st(0)
fld dword [esp + 0x9c]
fadd st(0), st(0)
fld dword [esp + 0x98]
fadd st(0), st(0)
jmp 0x43ee68
fld dword [esp + 0xa0]
fmul dword [0x6bca04]
fld dword [esp + 0x9c]
fmul dword [0x6bca04]
fld dword [esp + 0x98]
fmul dword [0x6bca04]
fstp dword [esp + 0x6c]
fxch st(1)
fmul dword [0x719a54]
fstp dword [esp + 0x14]
fmul dword [0x719a54]
fld dword [esp + 0x6c]
fmul dword [0x719a54]
fld dword [esp + 0x18]
fadd st(1)
fstp dword [esp + 0x18]
fstp st(0)
fld dword [esp + 0x1c]
fadd st(1)
fstp dword [esp + 0x1c]
fstp st(0)
fld dword [esp + 0x20]
fadd dword [esp + 0x14]
fstp dword [esp + 0x20]
mov cl, byte [eax + 0x384]
test cl, cl
je 0x43ef2d
mov ecx, dword [esp + 0x98]
add eax, 0x1c
mov dword [eax], ecx
mov edx, dword [esp + 0x9c]
mov dword [eax + 4], edx
mov ecx, dword [esp + 0xa0]
mov dword [eax + 8], ecx
fld dword [esp + 0xa0]
fadd st(0), st(0)
fld dword [esp + 0x9c]
fadd st(0), st(0)
fld dword [esp + 0x98]
fadd st(0), st(0)
fstp dword [esp + 0x6c]
fxch st(1)
fmul dword [0x719a54]
fstp dword [esp + 0x14]
fmul dword [0x719a54]
fld dword [esp + 0x6c]
fmul dword [0x719a54]
fadd dword [esp + 0x18]
fstp dword [esp + 0x18]
fadd dword [esp + 0x1c]
fstp dword [esp + 0x1c]
fld dword [esp + 0x14]
fadd dword [esp + 0x20]
fstp dword [esp + 0x20]
mov ebx, 1
mov al, byte [0x220203f]
test al, al
jne 0x43f064
mov al, byte [0x220203c]
test al, al
jne 0x43f064
mov edx, dword [esi + 0x13fecc]
mov eax, dword [edx + 0xdc]
cmp eax, 3
je 0x43f064
cmp eax, 2
je 0x43f064
cmp eax, 9
je 0x43f064
mov ecx, 0x8655e8
call fcn.004cbd20
test eax, eax
jne 0x43f05d
mov eax, dword [0x7199b4]
mov ecx, dword [0x2203688]
push eax
call fcn.004268b0
test al, al
je 0x43f05d
mov al, byte [0x71d050]
test al, al
jne 0x43f064
mov eax, dword [esi + 0x13fecc]
cmp dword [eax + 0x294], edi
mov byte [0x71d050], 1
mov dword [0x71d038], edi
mov dword [0x71d03c], edi
mov dword [0x71d040], edi
mov dword [0x71d00c], 0x41100000
mov dword [0x71d010], 1
je 0x43f01d
mov cl, byte [eax + 0x384]
test cl, cl
je 0x43f064
mov ecx, esi
mov dword [eax + 0xdc], 3
mov dword [0x71d008], 1
mov dword [0x71d010], edi
call fcn.004395b0
push 2
call fcn.00598b50
add esp, 4
jmp 0x43f064
mov dword [eax + 0xdc], 3
mov ecx, dword [esi + 0x13fecc]
mov dword [ecx + 0xd8], edi
mov edx, dword [esi + 0x13fecc]
mov dword [edx + 0xd4], edi
mov eax, dword [esi + 0x13fecc]
mov dword [eax + 0xc8], edi
mov ecx, dword [esi + 0x13fecc]
mov dword [ecx + 0xcc], 8
jmp 0x43f064
mov byte [0x71d050], 0
cmp ebx, edi
jne 0x43f7d5
mov eax, dword [0x71d000]
xor ebx, ebx
cmp eax, ebx
je 0x43f082
mov dword [0x71d034], ebx
jmp 0x43f190
mov al, byte [0x220203f]
test al, al
jne 0x43f1c6
mov al, byte [0x220203c]
test al, al
jne 0x43f1c6
mov ecx, 0x8655e8
call fcn.004cbd20
test eax, eax
jne 0x43f0f6
mov edx, dword [0x7199b0]
mov ecx, dword [0x2203688]
push edx
call fcn.004396b0
test al, al
je 0x43f0f6
mov edi, dword [sym.imp.WINMM.dll_timeGetTime]
call edi
sub eax, dword [0x71d0a4]
cmp eax, 0x12c
jbe 0x43f0e7
mov dword [0x71d034], ebx
call edi
mov dword [0x71d0a4], eax
jmp 0x43f190
mov dword [0x71d034], 1
jmp 0x43f190
mov al, byte [0x220203f]
test al, al
jne 0x43f1c6
mov al, byte [0x220203c]
test al, al
jne 0x43f1c6
mov ecx, 0x8655e8
call fcn.004cbd20
test eax, eax
jne 0x43f190
mov eax, dword [0x7199a8]
mov ecx, dword [0x2203688]
push eax
call fcn.004396b0
test al, al
je 0x43f190
mov ecx, dword [esi + 0x13fecc]
cmp dword [ecx + 0xdc], 3
je 0x43f190
mov edi, dword [sym.imp.WINMM.dll_timeGetTime]
mov dword [0x71d034], ebx
call edi
sub eax, dword [0x71d0a0]
cmp eax, 0x12c
jbe 0x43f16c
mov dword [0x71d038], ebx
call edi
mov dword [0x71d0a0], eax
jmp 0x43f190
mov eax, dword [esi + 0x13fecc]
mov cl, byte [eax + 0x384]
test cl, cl
mov dword [0x71d038], 1
jne 0x43f190
mov dword [eax + 0xdc], 3
mov al, byte [0x220203f]
test al, al
jne 0x43f1c6
mov al, byte [0x220203c]
test al, al
jne 0x43f1c6
mov ecx, 0x8655e8
call fcn.004cbd20
test eax, eax
jne 0x43f1c6
mov edx, dword [0x7199a8]
mov ecx, dword [0x2203688]
push edx
call fcn.00439690
test al, al
jne 0x43f1e5
cmp dword [0x71d038], ebx
je 0x43f3a9
mov eax, dword [esi + 0x13fecc]
cmp dword [eax + 0xdc], 3
jne 0x43f3a9
cmp dword [0x71d038], ebx
je 0x43f213
mov ecx, dword [esi + 0x13fecc]
cmp dword [ecx + 0xdc], 3
jne 0x43f213
push 0xd
call fcn.004105b0
test eax, eax
je 0x43f21b
push 3
call fcn.00598b50
add esp, 4
jmp 0x43f21b
mov dword [esp + 0x54], 2
fld dword [0x22094dc]
mov ecx, dword [esi + 0x13fecc]
fsub dword [0x22094d0]
add ecx, 0x160
fld dword [0x22094d8]
mov dword [0x71d000], ebx
fsub dword [0x22094cc]
mov dword [0x71d03c], ebx
fld dword [0x22094d4]
mov dword [0x71d040], ebx
fsub dword [0x22094c8]
fstp dword [esp + 0x28]
mov edx, dword [esp + 0x28]
mov dword [ecx], edx
fstp dword [esp + 0x2c]
mov eax, dword [esp + 0x2c]
mov dword [ecx + 4], eax
fstp dword [esp + 0x30]
mov edx, dword [esp + 0x30]
mov dword [ecx + 8], edx
mov eax, dword [esi + 0x13fecc]
mov dword [eax + 0x164], ebx
mov eax, dword [esi + 0x13fecc]
add eax, 0x160
push eax
push eax
call fcn.005e40eb
mov eax, dword [esi + 0x13fecc]
cmp dword [eax + 0xcc], 0xd
je case.0x43f2ba.4
movzx ecx, byte [eax + 0x281]
cmp ecx, 4
ja case.default.0x43f2ba
jmp dword [ecx*4 + 0x443b14]
fld dword [0x719a54]
fmul dword [0x6bc860]
jmp 0x43f2fb
fld dword [0x719a54]
jmp 0x43f2fb
fld dword [0x719a54]
fmul dword [0x6bca08]
jmp 0x43f2fb
fld dword [0x719a54]
fadd st(0), st(0)
jmp 0x43f2fb
fld dword [0x719a54]
fmul dword [0x6bca04]
fld st(0)
fmul dword [eax + 0x168]
fld st(1)
fmul dword [eax + 0x164]
fstp dword [esp + 0x14]
fxch st(1)
fmul dword [eax + 0x160]
fstp dword [esp + 0x6c]
fchs
fld dword [esp + 0x14]
fchs
fld dword [esp + 0x6c]
fchs
fadd dword [esp + 0x18]
fstp dword [esp + 0x18]
fadd dword [esp + 0x1c]
fstp dword [esp + 0x1c]
fadd dword [esp + 0x20]
fstp dword [esp + 0x20]
mov cl, byte [eax + 0x384]
test cl, cl
je 0x43f399
fld dword [0x719a54]
fadd st(0), st(0)
fld st(0)
fmul dword [eax + 0x168]
fld st(1)
fmul dword [eax + 0x164]
fstp dword [esp + 0x14]
fxch st(1)
fmul dword [eax + 0x160]
fstp dword [esp + 0x6c]
fchs
fld dword [esp + 0x14]
fchs
fld dword [esp + 0x6c]
fchs
fadd dword [esp + 0x18]
fstp dword [esp + 0x18]
fadd dword [esp + 0x1c]
fstp dword [esp + 0x1c]
fadd dword [esp + 0x20]
fstp dword [esp + 0x20]
mov edi, 1
mov dword [esi + 0x1400e0], edi
jmp 0x43f4af
mov al, byte [0x220203f]
test al, al
jne 0x43f3df
mov al, byte [0x220203c]
test al, al
jne 0x43f3df
mov ecx, 0x8655e8
call fcn.004cbd20
test eax, eax
jne 0x43f3df
mov ecx, dword [0x719994]
push ecx
mov ecx, dword [0x2203688]
call fcn.00439690
test al, al
jne 0x43f3eb
cmp dword [0x71d034], ebx
je 0x43f4aa
fld dword [0x22094dc]
mov edx, dword [esi + 0x13fecc]
fsub dword [0x22094d0]
add edx, 0x160
fld dword [0x22094d8]
mov dword [0x71d000], ebx
fsub dword [0x22094cc]
fld dword [0x22094d4]
fsub dword [0x22094c8]
fstp dword [esp + 0x28]
mov eax, dword [esp + 0x28]
mov dword [edx], eax
fstp dword [esp + 0x2c]
mov ecx, dword [esp + 0x2c]
mov dword [edx + 4], ecx
fstp dword [esp + 0x30]
mov eax, dword [esp + 0x30]
mov dword [edx + 8], eax
mov ecx, dword [esi + 0x13fecc]
mov dword [ecx + 0x164], ebx
mov eax, dword [esi + 0x13fecc]
add eax, 0x160
push eax
push eax
call fcn.005e40eb
fld dword [esp + 0x24]
mov eax, dword [esi + 0x13fecc]
fmul dword [eax + 0x168]
add eax, 0x160
fld dword [esp + 0x24]
mov edi, 1
fmul dword [eax + 4]
mov dword [esp + 0x54], edi
fld dword [esp + 0x24]
fmul dword [eax]
mov dword [esi + 0x1400e0], edi
fadd dword [esp + 0x18]
fstp dword [esp + 0x18]
fadd dword [esp + 0x1c]
fstp dword [esp + 0x1c]
fadd dword [esp + 0x20]
fstp dword [esp + 0x20]
jmp 0x43f4af
mov edi, 1
mov al, byte [0x220203f]
test al, al
jne 0x43f7d5
mov al, byte [0x220203c]
test al, al
jne 0x43f7d5
mov edx, dword [0x719990]
mov ecx, dword [0x2203688]
push edx
call fcn.00439690
test al, al
je 0x43f65c
mov ecx, 0x8655e8
call fcn.004cbd20
test eax, eax
jne 0x43f642
fld dword [esp + 0x24]
mov eax, dword [esi + 0x13fecc]
fmul dword [0x6bc894]
add eax, 0x160
mov edx, eax
mov ecx, dword [edx]
fmul dword [0x6be948]
mov dword [esp + 0x28], ecx
mov ecx, dword [edx + 4]
fst dword [esp + 0x14]
fcos
mov edx, dword [edx + 8]
mov dword [esp + 0x30], edx
mov dword [0x71d000], ebx
mov dword [esp + 0x58], ebx
fst dword [esp + 0x48]
fld dword [esp + 0x14]
fsin
fld st(0)
fld st(1)
fld st(3)
fmul dword [esp + 0x30]
fxch st(1)
fmul dword [esp + 0x28]
faddp st(1)
fld dword [esp + 0x48]
fmul dword [esp + 0x28]
fxch st(2)
fmul dword [esp + 0x30]
fsubp st(2)
fxch st(1)
fstp dword [esp + 0x28]
mov edx, dword [esp + 0x28]
mov dword [eax], edx
fstp dword [esp + 0x30]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x30]
mov dword [eax + 8], ecx
fld dword [0x22094d0]
fsub dword [0x22094dc]
fld dword [0x22094cc]
fsub dword [0x22094d8]
fld dword [0x22094c8]
fsub dword [0x22094d4]
fstp dword [esp + 0x34]
mov edx, dword [esp + 0x34]
mov dword [esp + 0x28], edx
fstp dword [esp + 0x38]
mov eax, dword [esp + 0x38]
mov dword [esp + 0x2c], eax
fstp dword [esp + 0x3c]
mov ecx, dword [esp + 0x3c]
fld st(1)
mov dword [esp + 0x30], ecx
fld st(1)
fxch st(1)
fmul dword [esp + 0x28]
fxch st(1)
fmul dword [esp + 0x30]
fsubp st(1)
fstp dword [esp + 0x14]
fxch st(1)
fmul dword [esp + 0x30]
fxch st(1)
fmul dword [esp + 0x28]
faddp st(1)
fadd dword [0x22094dc]
fld dword [esp + 0x2c]
fadd dword [0x22094d8]
fld dword [0x22094d4]
fadd dword [esp + 0x14]
fstp dword [esp + 0x34]
mov edx, dword [esp + 0x34]
mov dword [0x22094c8], edx
fstp dword [esp + 0x38]
mov eax, dword [esp + 0x38]
mov dword [0x22094cc], eax
fstp dword [esp + 0x3c]
mov ecx, dword [esp + 0x3c]
mov dword [0x22094d0], ecx
mov eax, dword [esi + 0x13fecc]
cmp dword [eax + 0xdc], 3
je 0x43f63c
mov dword [eax + 0xdc], edi
mov dword [esi + 0x1400e0], edi
mov al, byte [0x220203f]
test al, al
jne 0x43f7d5
mov al, byte [0x220203c]
test al, al
jne 0x43f7d5
mov ecx, 0x8655e8
call fcn.004cbd20
test eax, eax
jne 0x43f7d5
mov edx, dword [0x7199a4]
mov ecx, dword [0x2203688]
push edx
call fcn.00439690
test al, al
je 0x43f7d5
fld dword [esp + 0x24]
mov eax, dword [esi + 0x13fecc]
fmul dword [0x6be96c]
add eax, 0x160
mov edx, eax
mov ecx, dword [edx]
fmul dword [0x6be948]
mov dword [esp + 0x28], ecx
mov ecx, dword [edx + 4]
fst dword [esp + 0x14]
fcos
mov edx, dword [edx + 8]
mov dword [esp + 0x30], edx
mov dword [0x71d000], ebx
mov dword [esp + 0x58], ebx
fst dword [esp + 0x48]
fld dword [esp + 0x14]
fsin
fld st(0)
fld st(1)
fld st(3)
fmul dword [esp + 0x30]
fxch st(1)
fmul dword [esp + 0x28]
faddp st(1)
fld dword [esp + 0x48]
fmul dword [esp + 0x28]
fxch st(2)
fmul dword [esp + 0x30]
fsubp st(2)
fxch st(1)
fstp dword [esp + 0x28]
mov edx, dword [esp + 0x28]
mov dword [eax], edx
fstp dword [esp + 0x30]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x30]
mov dword [eax + 8], ecx
fld dword [0x22094d0]
fsub dword [0x22094dc]
fld dword [0x22094cc]
fsub dword [0x22094d8]
fld dword [0x22094c8]
fsub dword [0x22094d4]
fstp dword [esp + 0x34]
mov edx, dword [esp + 0x34]
mov dword [esp + 0x28], edx
fstp dword [esp + 0x38]
mov eax, dword [esp + 0x38]
mov dword [esp + 0x2c], eax
fstp dword [esp + 0x3c]
mov ecx, dword [esp + 0x3c]
fld st(1)
mov dword [esp + 0x30], ecx
fld st(1)
fxch st(1)
fmul dword [esp + 0x28]
fxch st(1)
fmul dword [esp + 0x30]
fsubp st(1)
fstp dword [esp + 0x14]
fxch st(1)
fmul dword [esp + 0x30]
fxch st(1)
fmul dword [esp + 0x28]
faddp st(1)
fadd dword [0x22094dc]
fld dword [esp + 0x2c]
fadd dword [0x22094d8]
fld dword [0x22094d4]
fadd dword [esp + 0x14]
fstp dword [esp + 0x34]
mov edx, dword [esp + 0x34]
mov dword [0x22094c8], edx
fstp dword [esp + 0x38]
mov eax, dword [esp + 0x38]
mov dword [0x22094cc], eax
fstp dword [esp + 0x3c]
mov ecx, dword [esp + 0x3c]
mov dword [0x22094d0], ecx
mov eax, dword [esi + 0x13fecc]
cmp dword [eax + 0xdc], 3
je 0x43f7cf
mov dword [eax + 0xdc], edi
mov dword [esi + 0x1400e0], edi
mov eax, dword [esp + 0x54]
xor edi, edi
cmp eax, edi
mov dword [esi + 0x1400d8], edi
je 0x43f825
cmp dword [0x71d018], edi
jne 0x43f7f5
cmp dword [0x71d01c], edi
je 0x43f825
call dword [sym.imp.WINMM.dll_timeGetTime]
mov ebx, dword [0x71d078]
mov edx, eax
sub edx, ebx
cmp edx, 0xfa
jbe 0x43f825
mov ecx, esi
mov dword [0x71d078], eax
call fcn.004395b0
mov dword [0x71d01c], edi
mov dword [0x71d018], edi
mov eax, dword [0x71d000]
cmp eax, 6
ja case.default.0x43f833
jmp dword [eax*4 + 0x443b28]
mov dword [0x71d020], edi
mov dword [0x71d018], edi
mov dword [0x71d01c], edi
jmp case.default.0x43f833
mov eax, dword [esi + 0x13fecc]
mov eax, dword [eax + 0x16c]
cmp eax, 0xffffffff
mov dword [0x71d034], edi
je case.default.0x43f833
push eax
mov ecx, esi
call fcn.00447a80
mov edi, eax
xor ebx, ebx
cmp edi, ebx
je case.default.0x43f833
cmp dword [0x85d1cc], ebx
je 0x43f893
mov dword [0x85d1cc], ebx
call fcn.00598430
mov edx, dword [esi + 0x13fecc]
lea ecx, [edi + 0x20]
mov eax, dword [ecx]
add edx, 0x154
mov dword [edx], eax
mov eax, dword [ecx + 4]
mov dword [edx + 4], eax
mov ecx, dword [ecx + 8]
mov dword [edx + 8], ecx
mov eax, dword [esi + 0x13fecc]
fld dword [eax + 0x15c]
lea edx, [esp + 0xe0]
fsub dword [eax + 0x18]
push edx
fld dword [eax + 0x154]
fsub dword [eax + 0x10]
mov eax, edx
push eax
mov dword [esp + 0xec], 0
fstp dword [esp + 0xe8]
fstp dword [esp + 0xf0]
call fcn.005e40eb
fld dword [esp + 0x24]
mov ecx, dword [esi + 0x13fecc]
fmul dword [esp + 0xe8]
mov edx, dword [ecx + 0x154]
mov dword [esp + 0x6c], edx
fstp dword [esp + 0x50]
fld dword [esp + 0x24]
fmul dword [esp + 0xe4]
fstp dword [esp + 0x40]
fld dword [esp + 0x24]
fmul dword [esp + 0xe0]
fstp dword [esp + 0x28]
fld dword [ecx + 0x18]
fld dword [ecx + 0x10]
fld dword [ecx + 0x15c]
fsub st(2)
fstp dword [esp + 0x14]
fld dword [esp + 0x6c]
fsub st(1)
fstp st(2)
fstp st(0)
fld st(0)
fmulp st(1)
fld dword [esp + 0x14]
fmul dword [esp + 0x14]
faddp st(1)
fsqrt
fstp dword [esp + 0x14]
fld dword [esp + 0xe0]
fabs
fcomp dword [0x6bb5fc]
fnstsw ax
test ah, 0x41
jne 0x43fac8
fld dword [esp + 0xe8]
fabs
fcomp dword [0x6bb5fc]
fnstsw ax
test ah, 0x41
jne 0x43fac8
mov edx, dword [esp + 0xe8]
mov eax, dword [esp + 0xe0]
add ecx, 0x160
mov dword [ecx], eax
mov dword [esp + 0x3c], edx
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x38], 0
mov edx, dword [esp + 0x38]
mov dword [ecx + 4], edx
mov dword [ecx + 8], eax
mov eax, dword [esi + 0x13fecc]
fld dword [eax + 0x168]
lea ecx, [esp + 0x18c]
fsub dword [eax + 0x24]
push ecx
fld dword [eax + 0x164]
mov edx, ecx
fsub dword [eax + 0x20]
push edx
fld dword [eax + 0x160]
fsub dword [eax + 0x1c]
fstp dword [esp + 0x194]
fst dword [esp + 0x198]
fld st(1)
fstp dword [esp + 0x19c]
fld dword [esp + 0x194]
fmul dword [esp + 0x194]
fld st(1)
fmul st(2)
faddp st(1)
fld st(2)
fmul st(3)
faddp st(1)
fstp st(2)
fstp st(0)
fsqrt
fstp dword [esp + 0x50]
call fcn.005e40eb
fld dword [esp + 0x194]
fmul dword [esp + 0x24]
fld dword [esp + 0x190]
fmul dword [esp + 0x24]
fld dword [esp + 0x18c]
fmul dword [esp + 0x24]
fld st(0)
fmul st(1)
fld st(2)
fmul st(3)
faddp st(1)
fld st(3)
fmul st(4)
faddp st(1)
fsqrt
fld dword [esp + 0x48]
fsub dword [0x6bc85c]
fcompp
fnstsw ax
test ah, 0x41
mov eax, dword [esi + 0x13fecc]
jne 0x43faa0
fadd dword [eax + 0x1c]
add eax, 0x1c
fstp dword [eax]
fadd dword [eax + 4]
fstp dword [eax + 4]
fadd dword [eax + 8]
fstp dword [eax + 8]
mov dword [esi + 0x1400e0], 1
jmp 0x43fabf
lea ecx, [eax + 0x160]
fstp st(0)
mov edx, dword [ecx]
fstp st(0)
add eax, 0x1c
fstp st(0)
mov dword [eax], edx
mov edx, dword [ecx + 4]
mov dword [eax + 4], edx
mov ecx, dword [ecx + 8]
mov dword [eax + 8], ecx
mov edx, dword [esi + 0x13fecc]
mov dword [edx + 0x20], ebx
fld dword [esp + 0x14]
fcomp dword [0x6bc4dc]
fnstsw ax
test ah, 0x41
jne 0x43fb5c
fld dword [esp + 0x28]
fmul dword [esp + 0x28]
fld dword [esp + 0x40]
fmul dword [esp + 0x40]
faddp st(1)
fld dword [esp + 0x50]
fmul dword [esp + 0x50]
faddp st(1)
fsqrt
fld dword [esp + 0x14]
fsub dword [0x6bc85c]
fcompp
fnstsw ax
test ah, 0x41
mov eax, dword [esi + 0x13fecc]
jne 0x4418fc
cmp dword [eax + 0xdc], 3
je 0x43fb29
mov dword [esp + 0x54], 1
fld dword [esp + 0x28]
mov dword [esi + 0x1400e0], 1
fadd dword [esp + 0x18]
fstp dword [esp + 0x18]
fld dword [esp + 0x40]
fadd dword [esp + 0x1c]
fstp dword [esp + 0x1c]
fld dword [esp + 0x50]
fadd dword [esp + 0x20]
fstp dword [esp + 0x20]
jmp case.default.0x43f833
fld dword [esp + 0xe0]
fabs
fld dword [0x6bb5fc]
fucompp
fnstsw ax
test ah, 0x44
jnp 0x43fbc3
fld dword [esp + 0xe8]
fabs
fld dword [0x6bb5fc]
fucompp
fnstsw ax
test ah, 0x44
jnp 0x43fbc3
mov eax, dword [esp + 0xe8]
mov ecx, dword [esi + 0x13fecc]
mov edx, dword [esp + 0xe0]
add ecx, 0x1c
mov dword [esp + 0x3c], eax
mov dword [ecx], edx
mov dword [esp + 0x38], 0
mov eax, dword [esp + 0x38]
mov dword [esp + 0x34], edx
mov edx, dword [esp + 0x3c]
mov dword [ecx + 4], eax
mov dword [ecx + 8], edx
mov eax, dword [edi + 4]
push eax
call fcn.005982c0
mov ecx, dword [esi + 0x13fecc]
mov dword [ecx + 0x170], ebx
mov edx, dword [esi + 0x13fecc]
add esp, 4
mov dword [0x71d000], ebx
mov dword [edx + 0x16c], 0xffffffff
jmp case.default.0x43f833
mov ecx, dword [esi + 0x13fecc]
mov eax, dword [ecx + 0x16c]
cmp eax, 0xffffffff
mov dword [0x71d034], edi
je case.default.0x43f833
cmp eax, dword [ecx + 0x34]
je case.default.0x43f833
push eax
mov ecx, esi
call fcn.00447a40
mov edi, eax
test edi, edi
mov dword [esp + 0x44], edi
je 0x4406b5
mov eax, dword [esi + 0x13fecc]
xor ecx, ecx
mov cl, byte [eax + 0x19e]
xor edx, edx
mov dl, byte [eax + 0x191]
push ecx
mov ecx, 0x86de50
push edx
call fcn.004607b0
test eax, eax
je 0x43fc6e
movzx eax, word [eax + 0x26]
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
fadd dword [0x6bc860]
fstp dword [esp + 0x4c]
jmp 0x43fc76
mov dword [esp + 0x4c], 0x3f800000
mov eax, dword [0x71d024]
test eax, eax
je 0x43fccb
dec eax
push eax
mov ecx, 0x21fd768
call fcn.004bf5f0
test eax, eax
je 0x43fccb
xor ecx, ecx
mov cl, byte [eax + 4]
xor edx, edx
mov dx, word [eax + 2]
push ecx
mov ecx, 0x86de50
push edx
call fcn.004609e0
test eax, eax
je 0x43fccb
movzx eax, byte [eax + 0x38]
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
fld dword [esp + 0x4c]
fcomp st(1)
fnstsw ax
test ah, 5
jp 0x43fcc9
fstp dword [esp + 0x4c]
jmp 0x43fccb
fstp st(0)
mov ecx, dword [esi + 0x13fecc]
xor edx, edx
mov dl, byte [ecx + 0x191]
mov ecx, 0x8655e8
push edx
call fcn.004c9110
test eax, eax
je 0x43fcff
movzx eax, word [0x21fe5f2]
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
fadd dword [esp + 0x4c]
fstp dword [esp + 0x4c]
mov eax, dword [0x71d024]
test eax, eax
jne 0x43fd58
mov cl, byte [0x21fd8d6]
cmp cl, byte [edi + 0x282]
jne 0x43fd58
mov ecx, dword [0x71c504]
mov eax, 2
cmp ecx, eax
jne 0x43fd30
mov edx, dword [edi + 0x34]
cmp edx, dword [0x71c508]
je 0x43fd58
cmp dword [0x71c520], eax
jne 0x43fd50
mov eax, dword [edi + 0x2d4]
cmp eax, dword [0x71c3e4]
jne 0x43fd50
mov al, byte [edi + 0x38d]
test al, al
jne 0x43fd58
mov dword [esp + 0x4c], 0x3fc00000
mov eax, dword [esi + 0x13fecc]
mov ecx, dword [eax + 0x294]
test ecx, ecx
je 0x43fd72
mov ecx, dword [ecx + 0x88]
mov dword [esp + 0x4c], ecx
mov ebx, dword [esp + 0x44]
add ebx, 0x10
add eax, 0x154
mov edx, ebx
mov ecx, dword [edx]
mov dword [eax], ecx
mov ecx, dword [edx + 4]
mov dword [eax + 4], ecx
mov edx, dword [edx + 8]
mov dword [eax + 8], edx
mov eax, dword [esi + 0x13fecc]
fld dword [eax + 0x15c]
fsub dword [eax + 0x18]
fld dword [eax + 0x154]
fsub dword [eax + 0x10]
lea eax, [esp + 0xd4]
push eax
mov ecx, eax
fstp dword [esp + 0xd8]
push ecx
mov dword [esp + 0xe0], 0
fstp dword [esp + 0xe4]
call fcn.005e40eb
fld dword [esp + 0x24]
mov ecx, dword [esi + 0x13fecc]
fmul dword [esp + 0xdc]
mov edx, dword [ecx + 0x154]
mov dword [esp + 0x6c], edx
fstp dword [esp + 0x50]
fld dword [esp + 0x24]
fmul dword [esp + 0xd8]
fstp dword [esp + 0x40]
fld dword [esp + 0x24]
fmul dword [esp + 0xd4]
fstp dword [esp + 0x28]
fld dword [ecx + 0x18]
fld dword [ecx + 0x10]
fld dword [ecx + 0x15c]
fsub st(2)
fstp dword [esp + 0x14]
fld dword [esp + 0x6c]
fsub st(1)
fstp st(2)
fstp st(0)
fld st(0)
fmulp st(1)
fld dword [esp + 0x14]
fmul dword [esp + 0x14]
faddp st(1)
fsqrt
fabs
fstp dword [esp + 0x14]
fld dword [esp + 0xd4]
fabs
fld dword [0x6bb5fc]
fucompp
fnstsw ax
test ah, 0x44
jnp 0x43ffb1
fld dword [esp + 0xdc]
fabs
fld dword [0x6bb5fc]
fucompp
fnstsw ax
test ah, 0x44
jnp 0x43ffb1
mov edx, dword [esp + 0xdc]
mov eax, dword [esp + 0xd4]
add ecx, 0x160
mov dword [ecx], eax
mov dword [esp + 0x3c], edx
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x38], 0
mov edx, dword [esp + 0x38]
mov dword [ecx + 4], edx
mov dword [ecx + 8], eax
mov eax, dword [esi + 0x13fecc]
fld dword [eax + 0x168]
lea ecx, [esp + 0x168]
fsub dword [eax + 0x24]
push ecx
fld dword [eax + 0x164]
mov edx, ecx
fsub dword [eax + 0x20]
push edx
fld dword [eax + 0x160]
fsub dword [eax + 0x1c]
fstp dword [esp + 0x170]
fst dword [esp + 0x174]
fld st(1)
fstp dword [esp + 0x178]
fld dword [esp + 0x170]
fmul dword [esp + 0x170]
fld st(1)
fmul st(2)
faddp st(1)
fld st(2)
fmul st(3)
faddp st(1)
fstp st(2)
fstp st(0)
fsqrt
fstp dword [esp + 0x50]
call fcn.005e40eb
fld dword [esp + 0x24]
fmul dword [esp + 0x170]
fld dword [esp + 0x24]
fmul dword [esp + 0x16c]
fld dword [esp + 0x24]
fmul dword [esp + 0x168]
fld st(0)
fmul st(1)
fld st(2)
fmul st(3)
faddp st(1)
fld st(3)
fmul st(4)
faddp st(1)
fsqrt
fld dword [esp + 0x48]
fsub dword [0x6bc85c]
fcompp
fnstsw ax
test ah, 0x41
mov eax, dword [esi + 0x13fecc]
jne 0x43ff85
fadd dword [eax + 0x1c]
add eax, 0x1c
xor edi, edi
fstp dword [eax]
fadd dword [eax + 4]
fstp dword [eax + 4]
fadd dword [eax + 8]
fstp dword [eax + 8]
mov edx, dword [esi + 0x13fecc]
mov dword [edx + 0x20], edi
jmp 0x43ffb3
lea ecx, [eax + 0x160]
fstp st(0)
mov edx, dword [ecx]
fstp st(0)
add eax, 0x1c
fstp st(0)
mov dword [eax], edx
mov edx, dword [ecx + 4]
mov dword [eax + 4], edx
mov ecx, dword [ecx + 8]
mov dword [eax + 8], ecx
mov edx, dword [esi + 0x13fecc]
xor edi, edi
mov dword [edx + 0x20], edi
jmp 0x43ffb3
xor edi, edi
mov ecx, dword [esi + 0x13fecc]
mov eax, dword [0x708ca4]
cmp eax, dword [ecx + 0x16c]
jne 0x43ffcf
cmp dword [0x71d04c], 2
je 0x440002
mov dword [0x71d014], edi
mov dword [esi + 0x1400dc], edi
call fcn.00598430
mov ecx, dword [esi + 0x13fecc]
mov edx, dword [ecx + 0x16c]
mov dword [0x708ca4], edx
mov dword [0x71d04c], 2
mov dword [0x71d014], edi
fld dword [esp + 0x14]
fcomp dword [esp + 0x4c]
fnstsw ax
test ah, 0x41
jne 0x4400ca
cmp dword [esi + 0x1400dc], edi
je 0x440028
mov dword [esi + 0x1400dc], edi
call fcn.00598430
fld dword [esp + 0x28]
fmul dword [esp + 0x28]
fld dword [esp + 0x40]
fmul dword [esp + 0x40]
faddp st(1)
fld dword [esp + 0x50]
fmul dword [esp + 0x50]
faddp st(1)
fsqrt
fld dword [esp + 0x14]
fsub dword [0x6bc85c]
fcompp
fnstsw ax
test ah, 0x41
mov eax, dword [esi + 0x13fecc]
jne 0x441b93
cmp dword [eax + 0xdc], 3
je 0x44007a
mov dword [esp + 0x54], 1
mov dword [0x71d018], edi
fld dword [esp + 0x18]
mov dword [eax + 0x1b4], edi
fadd dword [esp + 0x28]
mov eax, dword [0x71d014]
cmp eax, edi
mov dword [esi + 0x1400e0], 1
fstp dword [esp + 0x18]
fld dword [esp + 0x1c]
fadd dword [esp + 0x40]
fstp dword [esp + 0x1c]
fld dword [esp + 0x20]
fadd dword [esp + 0x50]
fstp dword [esp + 0x20]
je case.default.0x43f833
mov dword [esi + 0x1400d8], 1
jmp case.default.0x43f833
mov edx, dword [esp + 0x44]
cmp dword [edx + 0xdc], 4
jne 0x4400e2
mov dword [0x71d000], edi
jmp case.default.0x43f833
cmp dword [ecx + 0xdc], 2
je case.default.0x43f833
fld dword [esp + 0xd4]
fabs
fld dword [0x6bb5fc]
fucompp
fnstsw ax
test ah, 0x44
jnp 0x44028b
fld dword [esp + 0xdc]
fabs
fld dword [0x6bb5fc]
fucompp
fnstsw ax
test ah, 0x44
jnp 0x44028b
cmp dword [0x71d018], 1
je 0x44028b
mov edx, dword [esp + 0xdc]
mov eax, dword [esp + 0xd4]
add ecx, 0x1c
mov dword [ecx], eax
mov dword [esp + 0x3c], edx
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x38], 0
mov edx, dword [esp + 0x38]
mov dword [ecx + 4], edx
mov dword [ecx + 8], eax
mov eax, dword [esi + 0x13fecc]
fld dword [eax + 0x24]
mov ecx, dword [eax + 0x1c]
lea edx, [esp + 0x1b0]
fstp dword [esp + 0x1b8]
push edx
mov eax, edx
push eax
mov dword [esp + 0x1b8], ecx
mov dword [esp + 0x1bc], 0
mov dword [esp + 0x1f4], 0
mov dword [esp + 0x1f8], 0
mov dword [esp + 0x1fc], 0x3f800000
call fcn.005e40eb
lea ecx, [esp + 0x1ec]
push ecx
mov edx, ecx
push edx
call fcn.005e40eb
fld dword [esp + 0x1ec]
fmul dword [esp + 0x1b0]
fld dword [esp + 0x1f4]
fmul dword [esp + 0x1b8]
faddp st(1)
fld dword [esp + 0x1f0]
fmul dword [esp + 0x1b4]
faddp st(1)
fst dword [esp + 0x14]
call fcn.005ce5f0
fmul dword [0x6be8e0]
call fcn.005cd414
mov edi, eax
mov eax, dword [esi + 0x13fecc]
fld dword [eax + 0x1c]
fcomp dword [0x6bb5fc]
fnstsw ax
test ah, 0x41
jne 0x44022e
mov ecx, 0x168
sub ecx, edi
mov edi, ecx
call dword [sym.imp.WINMM.dll_timeGetTime]
mov ecx, dword [0x71d078]
mov edx, eax
sub edx, ecx
cmp edx, 0xfa
jbe 0x44028b
mov dword [0x71d078], eax
mov eax, dword [0x71d014]
test eax, eax
mov eax, dword [esi + 0x13fecc]
mov ecx, dword [eax + 0x18]
mov edx, dword [eax + 0x14]
push ecx
mov ecx, dword [eax + 0x10]
push edx
push ecx
push edi
je 0x440276
xor edx, edx
mov dl, byte [eax + 0x268]
push edx
push 4
push 0
jmp 0x440283
xor edx, edx
mov dl, byte [eax + 0x268]
push edx
push 4
push 1
call fcn.00598980
add esp, 0x1c
mov eax, dword [0x71d024]
test eax, eax
mov edi, 2
mov dword [esi + 0x1400e0], edi
je 0x4403fc
dec eax
push eax
mov ecx, 0x21fd768
call fcn.004bf5f0
mov edi, eax
test edi, edi
je case.default.0x43f833
lea eax, [esp + 0xb5]
push eax
lea ecx, [esp + 0x9b]
push ecx
mov byte [esp + 0x9f], 0
mov byte [esp + 0xbd], 0
mov edx, dword [esi + 0x13fecc]
push ebx
add edx, 0x10
push edx
mov ecx, esi
call fcn.00438650
test eax, eax
je 0x44034e
xor eax, eax
mov al, byte [edi + 4]
xor ecx, ecx
mov cx, word [edi + 2]
push eax
push ecx
mov ecx, 0x86de50
call fcn.004609e0
movzx ecx, byte [esp + 0x97]
dec ecx
jne 0x44034e
mov al, byte [eax + 0x1d]
cmp al, 2
je 0x44034e
cmp al, 4
je 0x44034e
cmp al, 6
je 0x44034e
push 0xd8
push 0x11
call fcn.0041fce0
mov ecx, dword [0x71d018]
xor eax, eax
add esp, 8
cmp ecx, eax
mov dword [0x71d024], eax
jne 0x443ad0
mov dword [0x71d000], eax
jmp 0x443ad0
mov eax, dword [ebx]
mov ecx, dword [ebx + 4]
sub esp, 0xc
mov edx, esp
mov dword [edx], eax
mov eax, dword [ebx + 8]
mov dword [edx + 4], ecx
mov ecx, dword [esi + 0x13fecc]
mov dword [edx + 8], eax
add ecx, 0x10
mov eax, dword [ecx]
sub esp, 0xc
mov edx, esp
mov dword [edx], eax
mov eax, dword [ecx + 4]
mov ecx, dword [ecx + 8]
mov dword [edx + 4], eax
mov dword [edx + 8], ecx
mov ecx, esi
call fcn.00438010
test eax, eax
je 0x440ebb
xor edx, edx
mov dl, byte [edi + 4]
xor eax, eax
mov ax, word [edi + 2]
mov ecx, 0x86de50
push edx
push eax
call fcn.004609e0
cmp word [eax + 0x1e], 0x5a
jne 0x4403c2
cmp byte [eax + 0x42], 2
jne 0x4403c2
mov ecx, dword [0x85cfbc]
mov edx, dword [ecx + 0x16c]
jmp 0x4403c9
mov ecx, dword [esp + 0x44]
mov edx, dword [ecx + 0x34]
xor eax, eax
mov al, byte [edi]
push edx
push eax
call fcn.00598c60
mov ecx, dword [0x71d018]
xor eax, eax
add esp, 8
cmp ecx, eax
mov dword [0x21fd8d0], 1
jne 0x4403f2
mov dword [0x71d000], eax
mov dword [0x71d024], eax
jmp case.default.0x43f833
mov eax, dword [esi + 0x13fecc]
fld dword [eax + 0x18]
add eax, 0x10
fsub dword [ebx + 8]
fld dword [eax + 4]
fsub dword [ebx + 4]
fld dword [eax]
fsub dword [ebx]
fld st(0)
fmul st(1)
fld st(2)
fmul st(3)
faddp st(1)
fld st(3)
fmul st(4)
faddp st(1)
fstp st(3)
fstp st(0)
fstp st(0)
fsqrt
fabs
fld dword [esp + 0x4c]
fadd dword [0x6bca18]
fcompp
fnstsw ax
test ah, 0x41
jne case.default.0x43f833
mov eax, dword [0x71d018]
test eax, eax
jne case.default.0x43f833
mov ecx, dword [0x7191d4]
mov edx, dword [ecx]
push 0x1a
call dword [edx + 4]
test al, al
je 0x440547
call dword [sym.imp.WINMM.dll_timeGetTime]
mov edx, dword [0x71d07c]
mov edi, eax
sub eax, edx
cmp eax, 0xfa
jbe 0x4406a6
sub esp, 0xc
mov ecx, ebx
mov eax, dword [ecx]
mov edx, esp
mov dword [edx], eax
mov eax, dword [ecx + 4]
mov ecx, dword [ecx + 8]
mov dword [edx + 4], eax
mov dword [edx + 8], ecx
mov edx, dword [esi + 0x13fecc]
add edx, 0x10
mov ecx, dword [edx]
sub esp, 0xc
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [edx + 4]
mov edx, dword [edx + 8]
mov dword [eax + 4], ecx
mov ecx, esi
mov dword [eax + 8], edx
call fcn.00438010
test eax, eax
je 0x440696
mov eax, dword [esi + 0x13fecc]
mov ecx, dword [eax + 0x16c]
lea edx, [esp + 0xb3]
push edx
mov dword [0x708ca4], ecx
lea eax, [esp + 0x9a]
mov byte [esp + 0x9a], 0
mov byte [esp + 0xb7], 0
mov ecx, dword [esi + 0x13fecc]
push eax
add ecx, 0x10
push ebx
push ecx
mov ecx, esi
mov dword [0x71d014], 1
mov dword [0x71d04c], 2
call fcn.00438650
test eax, eax
je 0x440532
movzx eax, byte [esp + 0x96]
dec eax
je 0x440660
mov edx, dword [esp + 0x44]
mov eax, dword [edx + 0x34]
push eax
call fcn.00598ab0
add esp, 4
jmp 0x4406a0
mov eax, dword [esp + 0x44]
mov cl, byte [0x21fd8d6]
cmp cl, byte [eax + 0x282]
jne 0x440598
cmp dword [0x71c504], edi
jne 0x44056c
mov edx, dword [eax + 0x34]
cmp edx, dword [0x71c508]
je 0x440598
cmp dword [0x71c520], edi
jne 0x4406a6
mov ecx, dword [eax + 0x2d4]
cmp ecx, dword [0x71c3e4]
jne 0x4406a6
mov cl, byte [eax + 0x38d]
test cl, cl
je 0x4406a6
call dword [sym.imp.WINMM.dll_timeGetTime]
mov ecx, dword [0x71d07c]
mov edi, eax
mov edx, edi
sub edx, ecx
cmp edx, 0xfa
jbe 0x4406a6
sub esp, 0xc
mov eax, ebx
mov edx, dword [eax]
mov ecx, esp
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov eax, dword [eax + 8]
mov dword [ecx + 4], edx
mov dword [ecx + 8], eax
mov ecx, dword [esi + 0x13fecc]
add ecx, 0x10
mov eax, dword [ecx]
sub esp, 0xc
mov edx, esp
mov dword [edx], eax
mov eax, dword [ecx + 4]
mov ecx, dword [ecx + 8]
mov dword [edx + 4], eax
mov dword [edx + 8], ecx
mov ecx, esi
call fcn.00438010
test eax, eax
je 0x440696
mov edx, dword [esi + 0x13fecc]
mov eax, dword [edx + 0x16c]
lea ecx, [esp + 0xb4]
push ecx
mov dword [0x708ca4], eax
lea edx, [esp + 0x99]
mov byte [esp + 0x99], 0
mov byte [esp + 0xb8], 0
mov eax, dword [esi + 0x13fecc]
push edx
push ebx
add eax, 0x10
push eax
mov ecx, esi
mov dword [0x71d014], 1
mov dword [0x71d04c], 2
call fcn.00438650
test eax, eax
je 0x440684
movzx eax, byte [esp + 0x95]
dec eax
jne 0x440684
push 0x13c
push 0x11
call fcn.0041fce0
add esp, 8
mov dword [0x71d000], 0
mov dword [0x71d07c], edi
jmp 0x443ad0
mov ecx, dword [esp + 0x44]
mov edx, dword [ecx + 0x34]
push edx
call fcn.00598ab0
add esp, 4
jmp 0x4406a0
mov dword [0x71d000], 0
mov dword [0x71d07c], edi
mov dword [0x71d018], 1
jmp case.default.0x43f833
mov dword [0x71d000], 0
jmp case.default.0x43f833
mov eax, dword [esi + 0x13fecc]
mov eax, dword [eax + 0x16c]
cmp eax, 0xffffffff
mov dword [0x71d034], edi
je case.default.0x43f833
push eax
mov ecx, esi
call fcn.00447ac0
cmp eax, edi
mov dword [esp + 0x4c], eax
je case.default.0x43f833
cmp dword [eax + 0xb0], edi
jne case.default.0x43f833
fld dword [eax + 0x88]
mov eax, dword [esi + 0x13fecc]
fsub dword [0x6bca18]
xor ecx, ecx
mov cl, byte [eax + 0x19e]
xor edx, edx
mov dl, byte [eax + 0x191]
fstp dword [esp + 0x44]
push ecx
mov ecx, 0x86de50
push edx
call fcn.004607b0
cmp eax, edi
je 0x44074b
movzx eax, word [eax + 0x26]
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
fadd dword [esp + 0x44]
fstp dword [esp + 0x44]
jmp 0x440753
mov dword [esp + 0x44], 0x3f800000
mov eax, dword [0x71d024]
cmp eax, edi
je 0x4407a8
dec eax
push eax
mov ecx, 0x21fd768
call fcn.004bf5f0
cmp eax, edi
je 0x4407a8
xor ecx, ecx
mov cl, byte [eax + 4]
xor edx, edx
mov dx, word [eax + 2]
push ecx
mov ecx, 0x86de50
push edx
call fcn.004609e0
cmp eax, edi
je 0x4407a8
movzx eax, byte [eax + 0x38]
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
fld dword [esp + 0x44]
fcomp st(1)
fnstsw ax
test ah, 5
jp 0x4407a6
fstp dword [esp + 0x44]
jmp 0x4407a8
fstp st(0)
mov ecx, dword [esi + 0x13fecc]
xor edx, edx
mov dl, byte [ecx + 0x191]
mov ecx, 0x8655e8
push edx
call fcn.004c9110
test eax, eax
je 0x4407dc
movzx eax, word [0x21fe5f2]
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
fadd dword [esp + 0x44]
fstp dword [esp + 0x44]
mov eax, dword [esi + 0x13fecc]
mov ecx, dword [eax + 0x294]
cmp ecx, edi
je 0x4407f6
mov ecx, dword [ecx + 0x88]
mov dword [esp + 0x44], ecx
mov ebx, dword [esp + 0x4c]
add ebx, 4
add eax, 0x154
mov edx, ebx
mov ecx, dword [edx]
mov dword [eax], ecx
mov ecx, dword [edx + 4]
mov dword [eax + 4], ecx
mov edx, dword [edx + 8]
mov dword [eax + 8], edx
mov eax, dword [esi + 0x13fecc]
fld dword [eax + 0x15c]
fsub dword [eax + 0x18]
fld dword [eax + 0x154]
fsub dword [eax + 0x10]
lea eax, [esp + 0xec]
push eax
mov ecx, eax
fstp dword [esp + 0xf0]
push ecx
mov dword [esp + 0xf8], 0
fstp dword [esp + 0xfc]
call fcn.005e40eb
mov ecx, dword [esi + 0x13fecc]
fld dword [ecx + 0x18]
mov edx, dword [ecx + 0x154]
fld dword [ecx + 0x10]
mov dword [esp + 0x6c], edx
fld dword [ecx + 0x15c]
fsub st(2)
fstp dword [esp + 0x14]
fld dword [esp + 0x6c]
fsub st(1)
fstp st(2)
fstp st(0)
fld st(0)
fmulp st(1)
fld dword [esp + 0x14]
fmul dword [esp + 0x14]
faddp st(1)
fsqrt
fabs
fstp dword [esp + 0x14]
fld dword [esp + 0xf4]
fmul dword [esp + 0x24]
fld dword [esp + 0xf0]
fmul dword [esp + 0x24]
fld dword [esp + 0xec]
fmul dword [esp + 0x24]
fstp dword [esp + 0x34]
mov eax, dword [esp + 0x34]
mov dword [esp + 0x28], eax
fstp dword [esp + 0x38]
mov edx, dword [esp + 0x38]
mov dword [esp + 0x2c], edx
fstp dword [esp + 0x3c]
mov eax, dword [esp + 0x3c]
fld dword [esp + 0xec]
mov dword [esp + 0x30], eax
fabs
fld dword [0x6bb5fc]
fucompp
fnstsw ax
test ah, 0x44
jnp 0x440a42
fld dword [esp + 0xf4]
fabs
fld dword [0x6bb5fc]
fucompp
fnstsw ax
test ah, 0x44
jnp 0x440a42
mov eax, dword [esp + 0xf4]
mov edx, dword [esp + 0xec]
mov dword [esp + 0x3c], eax
add ecx, 0x160
mov dword [ecx], edx
mov dword [esp + 0x38], 0
mov eax, dword [esp + 0x38]
mov dword [ecx + 4], eax
mov dword [esp + 0x34], edx
mov edx, dword [esp + 0x3c]
mov dword [ecx + 8], edx
mov eax, dword [esi + 0x13fecc]
fld dword [eax + 0x168]
fsub dword [eax + 0x24]
fld dword [eax + 0x164]
fsub dword [eax + 0x20]
fld dword [eax + 0x160]
fsub dword [eax + 0x1c]
lea eax, [esp + 0x198]
push eax
mov ecx, eax
fstp dword [esp + 0x19c]
push ecx
fst dword [esp + 0x1a4]
fld st(1)
fstp dword [esp + 0x1a8]
fld dword [esp + 0x1a0]
fmul dword [esp + 0x1a0]
fld st(1)
fmul st(2)
faddp st(1)
fld st(2)
fmul st(3)
faddp st(1)
fstp st(2)
fstp st(0)
fsqrt
fstp dword [esp + 0x50]
call fcn.005e40eb
fld dword [esp + 0x24]
fmul dword [esp + 0x1a0]
fld dword [esp + 0x24]
fmul dword [esp + 0x19c]
fld dword [esp + 0x24]
fmul dword [esp + 0x198]
fld st(0)
fmul st(1)
fld st(2)
fmul st(3)
faddp st(1)
fld st(3)
fmul st(4)
faddp st(1)
fsqrt
fld dword [esp + 0x48]
fsub dword [0x6bc85c]
fcompp
fnstsw ax
test ah, 0x41
mov eax, dword [esi + 0x13fecc]
jne 0x440a16
fadd dword [eax + 0x1c]
add eax, 0x1c
fstp dword [eax]
fadd dword [eax + 4]
fstp dword [eax + 4]
fadd dword [eax + 8]
fstp dword [eax + 8]
jmp 0x440a35
lea edx, [eax + 0x160]
fstp st(0)
mov ecx, dword [edx]
fstp st(0)
add eax, 0x1c
fstp st(0)
mov dword [eax], ecx
mov ecx, dword [edx + 4]
mov dword [eax + 4], ecx
mov edx, dword [edx + 8]
mov dword [eax + 8], edx
mov eax, dword [esi + 0x13fecc]
mov dword [eax + 0x20], 0
mov ecx, dword [esi + 0x13fecc]
mov edx, dword [0x708ca4]
cmp edx, dword [ecx + 0x16c]
mov edi, 3
jne 0x440a63
cmp dword [0x71d04c], edi
je 0x440a8c
xor eax, eax
mov dword [0x71d014], eax
mov dword [esi + 0x1400dc], eax
call fcn.00598430
mov ecx, dword [esi + 0x13fecc]
mov eax, dword [ecx + 0x16c]
mov dword [0x708ca4], eax
mov dword [0x71d04c], edi
fld dword [esp + 0x14]
fcomp dword [esp + 0x44]
fnstsw ax
test ah, 0x41
jne 0x440b4a
mov eax, dword [esi + 0x1400dc]
test eax, eax
je 0x440ab8
mov dword [esi + 0x1400dc], 0
call fcn.00598430
fld dword [esp + 0x28]
fmul dword [esp + 0x28]
fld dword [esp + 0x30]
fmul dword [esp + 0x30]
faddp st(1)
fld dword [esp + 0x2c]
fmul dword [esp + 0x2c]
faddp st(1)
fsqrt
fld dword [esp + 0x14]
fsub dword [0x6bc85c]
fxch st(1)
fcompp
fnstsw ax
test ah, 5
jp 0x440b27
mov ecx, dword [esi + 0x13fecc]
cmp dword [ecx + 0xdc], edi
mov eax, 1
je 0x440b0c
mov dword [esp + 0x54], eax
mov dword [0x71d01c], 0
mov ecx, dword [0x71d014]
test ecx, ecx
je 0x440b1c
mov dword [esi + 0x1400d8], eax
mov dword [esi + 0x1400e0], eax
jmp 0x441413
mov eax, dword [esi + 0x13fecc]
lea edx, [eax + 0x10]
mov ecx, dword [edx]
add eax, 0x154
mov dword [eax], ecx
mov ecx, dword [edx + 4]
mov dword [eax + 4], ecx
mov edx, dword [edx + 8]
mov dword [eax + 8], edx
jmp case.default.0x43f833
mov eax, dword [ecx + 0xdc]
cmp eax, 2
je 0x440b63
mov edx, dword [esp + 0x4c]
mov edi, dword [edx + 0xb0]
test edi, edi
je 0x440b8c
mov edx, dword [0x71d024]
test edx, edx
je case.default.0x43f833
cmp eax, 2
je case.default.0x43f833
mov eax, dword [esp + 0x4c]
mov edx, dword [eax + 0xb0]
test edx, edx
jne case.default.0x43f833
fld dword [esp + 0xec]
fabs
fld dword [0x6bb5fc]
fucompp
fnstsw ax
test ah, 0x44
jnp 0x440d34
fld dword [esp + 0xf4]
fabs
fld dword [0x6bb5fc]
fucompp
fnstsw ax
test ah, 0x44
jnp 0x440d34
cmp dword [0x71d01c], 1
je 0x440d34
mov eax, dword [esp + 0xf4]
mov edx, dword [esp + 0xec]
mov dword [esp + 0x3c], eax
add ecx, 0x1c
mov dword [ecx], edx
mov dword [esp + 0x34], edx
mov edx, dword [esp + 0x3c]
mov dword [esp + 0x38], 0
mov eax, dword [esp + 0x38]
mov dword [ecx + 4], eax
mov dword [ecx + 8], edx
mov eax, dword [esi + 0x13fecc]
fld dword [eax + 0x24]
mov eax, dword [eax + 0x1c]
lea ecx, [esp + 0x1bc]
fstp dword [esp + 0x1c4]
push ecx
mov edx, ecx
push edx
mov dword [esp + 0x1c4], eax
mov dword [esp + 0x1c8], 0
mov dword [esp + 0x1dc], 0
mov dword [esp + 0x1e0], 0
mov dword [esp + 0x1e4], 0x3f800000
call fcn.005e40eb
lea eax, [esp + 0x1d4]
push eax
mov ecx, eax
push ecx
call fcn.005e40eb
fld dword [esp + 0x1d4]
fmul dword [esp + 0x1bc]
fld dword [esp + 0x1dc]
fmul dword [esp + 0x1c4]
faddp st(1)
fld dword [esp + 0x1d8]
fmul dword [esp + 0x1c0]
faddp st(1)
fst dword [esp + 0x14]
call fcn.005ce5f0
fmul dword [0x6be8e0]
call fcn.005cd414
mov edx, dword [esi + 0x13fecc]
fld dword [edx + 0x1c]
mov edi, eax
fcomp dword [0x6bb5fc]
fnstsw ax
test ah, 0x41
jne 0x440ccb
mov eax, 0x168
sub eax, edi
mov edi, eax
call dword [sym.imp.WINMM.dll_timeGetTime]
mov edx, dword [0x71d078]
mov ecx, eax
sub ecx, edx
cmp ecx, 0xfa
jbe 0x440d34
mov dword [0x71d078], eax
mov eax, dword [0x71d014]
test eax, eax
mov eax, dword [esi + 0x13fecc]
je 0x440d12
mov edx, dword [eax + 0x18]
mov ecx, dword [eax + 0x14]
push edx
mov edx, dword [eax + 0x10]
movzx eax, byte [eax + 0x268]
push ecx
push edx
push edi
push eax
push 4
push 0
jmp 0x440d2c
mov ecx, dword [eax + 0x18]
mov edx, dword [eax + 0x14]
push ecx
mov ecx, dword [eax + 0x10]
push edx
xor edx, edx
mov dl, byte [eax + 0x268]
push ecx
push edi
push edx
push 4
push 1
call fcn.00598980
add esp, 0x1c
mov eax, dword [0x71d024]
test eax, eax
mov dword [esi + 0x1400e0], 2
je 0x440ecc
dec eax
push eax
mov ecx, 0x21fd768
call fcn.004bf5f0
mov edi, eax
test edi, edi
je case.default.0x43f833
lea eax, [esp + 0xb7]
push eax
lea ecx, [esp + 0x97]
push ecx
mov byte [esp + 0x9b], 0
mov byte [esp + 0xbf], 0
mov edx, dword [esi + 0x13fecc]
push ebx
add edx, 0x10
push edx
mov ecx, esi
call fcn.00438650
test eax, eax
je 0x440df7
xor eax, eax
mov al, byte [edi + 4]
xor ecx, ecx
mov cx, word [edi + 2]
push eax
push ecx
mov ecx, 0x86de50
call fcn.004609e0
movzx ecx, byte [esp + 0x93]
dec ecx
jne 0x440df7
mov al, byte [eax + 0x1d]
cmp al, 2
je 0x440df7
cmp al, 4
je 0x440df7
cmp al, 6
je 0x440df7
push 0xd8
push 0x11
call fcn.0041fce0
mov ecx, dword [0x71d01c]
xor eax, eax
add esp, 8
cmp ecx, eax
mov dword [0x71d024], eax
jne 0x440ded
mov dword [0x71d000], eax
mov dword [0x71d020], eax
jmp 0x443ad0
mov edx, dword [esp + 0x4c]
mov eax, dword [edx + 0xc]
mov ecx, dword [ebx]
push eax
push ecx
mov ecx, esi
call fcn.00410560
fadd dword [0x6bc868]
mov eax, dword [esp + 0x4c]
fld st(0)
fstp dword [eax + 8]
fld dword [eax + 0x8c]
fmul dword [0x6be7f0]
fstp dword [esp + 0x44]
fcomp dword [esp + 0x44]
fnstsw ax
test ah, 5
jp 0x440e3e
mov edx, dword [esp + 0x44]
mov eax, dword [esp + 0x4c]
mov dword [eax + 8], edx
mov edx, dword [ebx]
mov eax, dword [ebx + 4]
sub esp, 0xc
mov ecx, esp
mov dword [ecx], edx
mov edx, dword [ebx + 8]
mov dword [ecx + 4], eax
mov eax, dword [esi + 0x13fecc]
mov dword [ecx + 8], edx
add eax, 0x10
mov edx, dword [eax]
sub esp, 0xc
mov ecx, esp
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov eax, dword [eax + 8]
mov dword [ecx + 4], edx
mov dword [ecx + 8], eax
mov ecx, esi
call fcn.00438010
test eax, eax
je 0x440ebb
mov ecx, dword [esp + 0x4c]
mov edx, dword [ecx + 0x28]
xor eax, eax
mov al, byte [edi]
push edx
push eax
call fcn.00598cc0
mov ecx, dword [0x71d01c]
xor eax, eax
add esp, 8
cmp ecx, eax
mov dword [0x21fd8d0], 1
jne 0x440eac
mov dword [0x71d000], eax
mov dword [0x71d020], eax
mov dword [0x71d024], eax
jmp case.default.0x43f833
xor eax, eax
mov dword [0x71d000], eax
mov dword [0x71d024], eax
jmp case.default.0x43f833
mov eax, dword [0x71d01c]
test eax, eax
jne case.default.0x43f833
call dword [sym.imp.WINMM.dll_timeGetTime]
mov edx, dword [0x71d07c]
mov edi, eax
mov ecx, edi
sub ecx, edx
cmp ecx, 0xfa
jbe 0x44104b
mov edx, dword [esp + 0x4c]
mov eax, dword [edx + 0xc]
mov ecx, dword [ebx]
push eax
push ecx
mov ecx, esi
call fcn.00410560
fadd dword [0x6bc868]
mov eax, dword [esp + 0x4c]
fld st(0)
fstp dword [eax + 8]
fld dword [eax + 0x8c]
fmul dword [0x6be7f0]
fstp dword [esp + 0x44]
fcomp dword [esp + 0x44]
fnstsw ax
test ah, 5
jp 0x440f3e
mov edx, dword [esp + 0x44]
mov eax, dword [esp + 0x4c]
mov dword [eax + 8], edx
sub esp, 0xc
mov ecx, ebx
mov eax, dword [ecx]
mov edx, esp
mov dword [edx], eax
mov eax, dword [ecx + 4]
mov ecx, dword [ecx + 8]
mov dword [edx + 4], eax
mov dword [edx + 8], ecx
mov edx, dword [esi + 0x13fecc]
add edx, 0x10
mov ecx, dword [edx]
sub esp, 0xc
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [edx + 4]
mov edx, dword [edx + 8]
mov dword [eax + 4], ecx
mov ecx, esi
mov dword [eax + 8], edx
call fcn.00438010
test eax, eax
je 0x44103b
mov eax, dword [esi + 0x13fecc]
mov ecx, dword [eax + 0x16c]
lea edx, [esp + 0xb6]
push edx
mov dword [0x708ca4], ecx
lea eax, [esp + 0x98]
mov byte [esp + 0x98], 0
mov byte [esp + 0xba], 0
mov ecx, dword [esi + 0x13fecc]
push eax
add ecx, 0x10
push ebx
push ecx
mov ecx, esi
mov dword [0x71d014], 1
mov dword [0x71d04c], 3
call fcn.00438650
test eax, eax
je 0x441029
movzx eax, byte [esp + 0x94]
dec eax
jne 0x441029
push 0x13c
push 0x11
call fcn.0041fce0
mov eax, 1
add esp, 8
mov dword [0x71d000], 0
mov dword [0x71d07c], edi
mov dword [0x71d01c], eax
mov ecx, dword [esp + 0x724]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov edx, dword [esp + 0x4c]
mov eax, dword [edx + 0x28]
push eax
call fcn.00598b00
add esp, 4
jmp 0x441045
mov dword [0x71d000], 0
mov dword [0x71d07c], edi
mov dword [0x71d01c], 1
jmp case.default.0x43f833
mov ecx, dword [esi + 0x13fecc]
mov eax, dword [ecx + 0x16c]
cmp eax, 0xffffffff
mov dword [0x71d034], edi
je case.default.0x43f833
push eax
mov ecx, esi
call fcn.00447b60
mov edi, eax
test edi, edi
je case.default.0x43f833
mov eax, dword [edi + 0xc8]
test eax, eax
jne case.default.0x43f833
mov eax, dword [esi + 0x1400dc]
test eax, eax
je 0x4410ae
mov dword [esi + 0x1400dc], 0
call fcn.00598430
mov edx, dword [esi + 0x13fecc]
lea ebx, [edi + 0x38]
add edx, 0x154
mov eax, ebx
mov ecx, dword [eax]
mov dword [edx], ecx
mov ecx, dword [eax + 4]
mov dword [edx + 4], ecx
mov eax, dword [eax + 8]
mov dword [edx + 8], eax
mov eax, dword [esi + 0x13fecc]
fld dword [eax + 0x15c]
lea ecx, [esp + 0xc8]
fsub dword [eax + 0x18]
push ecx
fld dword [eax + 0x154]
mov edx, ecx
fsub dword [eax + 0x10]
push edx
mov dword [esp + 0xd4], 0
fstp dword [esp + 0xd0]
fstp dword [esp + 0xd8]
call fcn.005e40eb
mov ecx, dword [esi + 0x13fecc]
fld dword [ecx + 0x18]
mov eax, dword [ecx + 0x154]
fld dword [ecx + 0x10]
mov dword [esp + 0x6c], eax
fld dword [ecx + 0x15c]
fsub st(2)
fstp dword [esp + 0x14]
fld dword [esp + 0x6c]
fsub st(1)
fstp st(2)
fstp st(0)
fld st(0)
fmulp st(1)
fld dword [esp + 0x14]
fmul dword [esp + 0x14]
faddp st(1)
fsqrt
fabs
fst dword [esp + 0x40]
fcomp dword [0x6bca1c]
fnstsw ax
test ah, 5
jnp 0x4411b0
mov edx, dword [0x71d020]
test edx, edx
jne 0x4411b0
fld dword [esp + 0x24]
fmul dword [esp + 0xd0]
fld dword [esp + 0x24]
fmul dword [esp + 0xcc]
fld dword [esp + 0x24]
fmul dword [esp + 0xc8]
fstp dword [esp + 0x34]
mov eax, dword [esp + 0x34]
mov dword [esp + 0x28], eax
fstp dword [esp + 0x38]
mov eax, dword [esp + 0x38]
mov dword [esp + 0x2c], eax
fstp dword [esp + 0x3c]
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x30], eax
jmp 0x44121c
fld dword [esp + 0xd0]
fadd st(0), st(0)
fld dword [esp + 0xcc]
fadd st(0), st(0)
fstp dword [esp + 0x14]
fld dword [esp + 0xc8]
fadd st(0), st(0)
fstp dword [esp + 0x6c]
fmul dword [0x719a54]
fld dword [esp + 0x14]
fmul dword [0x719a54]
fld dword [esp + 0x6c]
fmul dword [0x719a54]
fstp dword [esp + 0x34]
mov edx, dword [esp + 0x34]
mov dword [esp + 0x28], edx
fstp dword [esp + 0x38]
mov eax, dword [esp + 0x38]
mov dword [esp + 0x2c], eax
fstp dword [esp + 0x3c]
mov edx, dword [esp + 0x3c]
mov dword [esp + 0x30], edx
mov edx, 1
mov dword [0x71d020], edx
fld dword [esp + 0xc8]
fabs
fld dword [0x6bb5fc]
fucompp
fnstsw ax
test ah, 0x44
jnp 0x441388
fld dword [esp + 0xd0]
fabs
fld dword [0x6bb5fc]
fucompp
fnstsw ax
test ah, 0x44
jnp 0x441388
mov edx, dword [esp + 0xd0]
mov eax, dword [esp + 0xc8]
add ecx, 0x160
mov dword [ecx], eax
mov dword [esp + 0x3c], edx
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x38], 0
mov edx, dword [esp + 0x38]
mov dword [ecx + 4], edx
mov dword [ecx + 8], eax
mov eax, dword [esi + 0x13fecc]
fld dword [eax + 0x168]
lea ecx, [esp + 0x150]
fsub dword [eax + 0x24]
push ecx
fld dword [eax + 0x164]
mov edx, ecx
fsub dword [eax + 0x20]
push edx
fld dword [eax + 0x160]
fsub dword [eax + 0x1c]
fstp dword [esp + 0x158]
fst dword [esp + 0x15c]
fld st(1)
fstp dword [esp + 0x160]
fld dword [esp + 0x158]
fmul dword [esp + 0x158]
fld st(1)
fmul st(2)
faddp st(1)
fld st(2)
fmul st(3)
faddp st(1)
fstp st(2)
fstp st(0)
fsqrt
fstp dword [esp + 0x1c]
call fcn.005e40eb
fld dword [esp + 0x24]
fmul dword [esp + 0x158]
fld dword [esp + 0x24]
fmul dword [esp + 0x154]
fld dword [esp + 0x24]
fmul dword [esp + 0x150]
fld st(0)
fmul st(1)
fld st(2)
fmul st(3)
faddp st(1)
fld st(3)
fmul st(4)
faddp st(1)
fsqrt
fld dword [esp + 0x14]
fsub dword [0x6bc85c]
fcompp
fnstsw ax
test ah, 0x41
mov eax, dword [esi + 0x13fecc]
jne 0x441356
fadd dword [eax + 0x1c]
add eax, 0x1c
fstp dword [eax]
fadd dword [eax + 4]
fstp dword [eax + 4]
fadd dword [eax + 8]
fstp dword [eax + 8]
jmp 0x441375
lea ecx, [eax + 0x160]
fstp st(0)
mov edx, dword [ecx]
fstp st(0)
add eax, 0x1c
fstp st(0)
mov dword [eax], edx
mov edx, dword [ecx + 4]
mov dword [eax + 4], edx
mov ecx, dword [ecx + 8]
mov dword [eax + 8], ecx
mov edx, dword [esi + 0x13fecc]
mov dword [edx + 0x20], 0
mov edx, dword [0x71d020]
fld dword [esp + 0x40]
fcomp dword [0x6bc9d4]
fnstsw ax
test ah, 0x41
jne 0x44143c
fld dword [esp + 0x28]
fmul dword [esp + 0x28]
fld dword [esp + 0x30]
fmul dword [esp + 0x30]
faddp st(1)
fld dword [esp + 0x2c]
fmul dword [esp + 0x2c]
faddp st(1)
fsqrt
fld dword [esp + 0x40]
fsub dword [0x6bc85c]
fcompp
fnstsw ax
test ah, 0x41
mov eax, dword [esi + 0x13fecc]
jne 0x4418fc
cmp dword [eax + 0xdc], 3
je 0x4413ff
test edx, edx
mov dword [esp + 0x54], 1
je 0x4413f5
mov dword [esp + 0x54], 5
mov dword [0x71d01c], 0
mov dword [eax + 0x1b4], 0
mov dword [esi + 0x1400e0], 1
fld dword [esp + 0x18]
fadd dword [esp + 0x28]
fstp dword [esp + 0x18]
fld dword [esp + 0x1c]
fadd dword [esp + 0x2c]
fstp dword [esp + 0x1c]
fld dword [esp + 0x20]
fadd dword [esp + 0x30]
fstp dword [esp + 0x20]
jmp case.default.0x43f833
mov ecx, dword [edi + 0xb4]
test ecx, ecx
je 0x441482
fld dword [esp + 0x40]
fcomp dword [0x6bc9d4]
fnstsw ax
test ah, 0x41
jne 0x44147a
mov eax, dword [esi + 0x13fecc]
cmp dword [eax + 0xdc], 3
je 0x44147a
test edx, edx
mov dword [esp + 0x54], 1
je 0x44147a
mov dword [esp + 0x54], 5
test ecx, ecx
jne case.default.0x43f833
mov ecx, dword [esi + 0x13fecc]
cmp dword [ecx + 0xdc], 2
je case.default.0x43f833
mov eax, dword [edi + 0xc8]
test eax, eax
jne case.default.0x43f833
mov eax, dword [0x71d024]
test eax, eax
jne 0x4414ec
fld dword [esp + 0xc8]
fabs
fld dword [0x6bb5fc]
fucompp
fnstsw ax
test ah, 0x44
jnp 0x4414ec
fld dword [esp + 0xd0]
fabs
fld dword [0x6bb5fc]
fucompp
fnstsw ax
test ah, 0x44
jnp 0x4414ec
cmp dword [0x71d01c], 1
je 0x4414ec
mov ecx, esi
call fcn.004395b0
mov dword [esi + 0x1400e0], 2
mov eax, dword [0x868dd4]
test eax, eax
jne 0x4415de
mov dword [0x868dd4], 0x64
movzx edx, byte [edi + 0x60]
mov dword [0x86de30], edx
mov eax, dword [edi + 0x5c]
mov dword [0x868dd8], eax
mov ecx, dword [edi + 0x5c]
mov dword [0x868ddc], ecx
movzx edx, word [edi + 0x62]
mov dword [0x86de2c], edx
lea eax, [edi + 4]
mov edx, 0x21fe66c
sub edx, eax
lea esp, [esp]
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x441540
cmp byte [edi + 0x60], 0xc
je 0x44158f
mov eax, dword [esi + 0x13fecc]
fld dword [eax + 0x18]
add eax, 0x10
fsub dword [ebx + 8]
fld dword [eax + 4]
fsub dword [ebx + 4]
fld dword [eax]
lea eax, [edi + 0x98]
fsub dword [ebx]
fstp dword [esp + 0x34]
mov ecx, dword [esp + 0x34]
mov dword [eax], ecx
fstp dword [esp + 0x38]
mov edx, dword [esp + 0x38]
mov dword [eax + 4], edx
fstp dword [esp + 0x3c]
mov ecx, dword [esp + 0x3c]
mov dword [eax + 8], ecx
mov edx, dword [0x86de2c]
mov eax, dword [0x86de30]
push edx
push eax
mov ecx, 0x8655e8
mov dword [0x71d000], 0
call fcn.004cb350
mov eax, dword [edi + 0xac]
test eax, eax
je 0x4415c6
mov ecx, dword [edi + 0x5c]
push ecx
call fcn.00599a30
add esp, 4
mov edx, dword [edi + 0x5c]
mov dword [0x21fed2c], edx
mov dword [0x71d01c], 1
jmp case.default.0x43f833
mov dword [0x71d000], 0
mov dword [0x71d01c], 1
jmp case.default.0x43f833
mov eax, dword [esi + 0x13fecc]
mov eax, dword [eax + 0x16c]
cmp eax, 0xffffffff
mov dword [0x71d034], edi
je case.default.0x43f833
push eax
mov ecx, esi
call fcn.00447ba0
mov edi, eax
xor ebx, ebx
cmp edi, ebx
je 0x44190a
cmp dword [esi + 0x1400dc], ebx
je 0x441639
mov dword [esi + 0x1400dc], ebx
call fcn.00598430
mov ecx, dword [esi + 0x13fecc]
add edi, 0x10
mov edx, dword [edi]
add ecx, 0x154
mov dword [ecx], edx
mov eax, dword [edi + 4]
mov dword [ecx + 4], eax
mov edx, dword [edi + 8]
mov dword [ecx + 8], edx
mov eax, dword [esi + 0x13fecc]
fld dword [eax + 0x15c]
fsub dword [eax + 0x18]
fld dword [eax + 0x154]
fsub dword [eax + 0x10]
lea eax, [esp + 0x114]
push eax
mov ecx, eax
fstp dword [esp + 0x118]
push ecx
mov dword [esp + 0x120], 0
fstp dword [esp + 0x124]
call fcn.005e40eb
fld dword [esp + 0x24]
mov ecx, dword [esi + 0x13fecc]
fmul dword [esp + 0x11c]
mov edx, dword [ecx + 0x154]
mov dword [esp + 0x6c], edx
fstp dword [esp + 0x50]
fld dword [esp + 0x24]
fmul dword [esp + 0x118]
fstp dword [esp + 0x40]
fld dword [esp + 0x24]
fmul dword [esp + 0x114]
fstp dword [esp + 0x28]
fld dword [ecx + 0x18]
fld dword [ecx + 0x10]
fld dword [ecx + 0x15c]
fsub st(2)
fstp dword [esp + 0x14]
fld dword [esp + 0x6c]
fsub st(1)
fstp st(2)
fstp st(0)
fld dword [esp + 0x14]
fmul dword [esp + 0x14]
fld st(1)
fmul st(2)
faddp st(1)
fstp st(1)
fsqrt
fabs
fstp dword [esp + 0x14]
fld dword [esp + 0x114]
fabs
fld dword [0x6bb5fc]
fucompp
fnstsw ax
test ah, 0x44
jnp 0x44186c
fld dword [esp + 0x11c]
fabs
fld dword [0x6bb5fc]
fucompp
fnstsw ax
test ah, 0x44
jnp 0x44186c
mov edx, dword [esp + 0x11c]
mov eax, dword [esp + 0x114]
add ecx, 0x160
mov dword [ecx], eax
mov dword [esp + 0x3c], edx
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x38], 0
mov edx, dword [esp + 0x38]
mov dword [ecx + 4], edx
mov dword [ecx + 8], eax
mov eax, dword [esi + 0x13fecc]
fld dword [eax + 0x168]
lea ecx, [esp + 0x15c]
fsub dword [eax + 0x24]
push ecx
fld dword [eax + 0x164]
mov edx, ecx
fsub dword [eax + 0x20]
push edx
fld dword [eax + 0x160]
fsub dword [eax + 0x1c]
fstp dword [esp + 0x164]
fst dword [esp + 0x168]
fld st(1)
fstp dword [esp + 0x16c]
fld dword [esp + 0x164]
fmul dword [esp + 0x164]
fld st(1)
fmul st(2)
faddp st(1)
fld st(2)
fmul st(3)
faddp st(1)
fstp st(2)
fstp st(0)
fsqrt
fstp dword [esp + 0x50]
call fcn.005e40eb
fld dword [esp + 0x24]
fmul dword [esp + 0x164]
fld dword [esp + 0x24]
fmul dword [esp + 0x160]
fld dword [esp + 0x24]
fmul dword [esp + 0x15c]
fld st(0)
fmul st(1)
fld st(2)
fmul st(3)
faddp st(1)
fld st(3)
fmul st(4)
faddp st(1)
fsqrt
fld dword [esp + 0x48]
fsub dword [0x6bc85c]
fcompp
fnstsw ax
test ah, 0x41
mov eax, dword [esi + 0x13fecc]
jne 0x441844
fadd dword [eax + 0x1c]
add eax, 0x1c
fstp dword [eax]
fadd dword [eax + 4]
fstp dword [eax + 4]
fadd dword [eax + 8]
fstp dword [eax + 8]
jmp 0x441863
lea ecx, [eax + 0x160]
fstp st(0)
mov edx, dword [ecx]
fstp st(0)
add eax, 0x1c
fstp st(0)
mov dword [eax], edx
mov edx, dword [ecx + 4]
mov dword [eax + 4], edx
mov ecx, dword [ecx + 8]
mov dword [eax + 8], ecx
mov edx, dword [esi + 0x13fecc]
mov dword [edx + 0x20], ebx
fld dword [esp + 0x14]
fcomp dword [0x6bca18]
fnstsw ax
test ah, 0x41
jne case.default.0x43f833
fld dword [esp + 0x28]
fmul dword [esp + 0x28]
fld dword [esp + 0x40]
fmul dword [esp + 0x40]
faddp st(1)
fld dword [esp + 0x50]
fmul dword [esp + 0x50]
faddp st(1)
fsqrt
fld dword [esp + 0x14]
fsub dword [0x6bc85c]
fcompp
fnstsw ax
test ah, 0x41
mov eax, dword [esi + 0x13fecc]
jne 0x4418fc
cmp dword [eax + 0xdc], 3
je 0x4418c9
mov dword [esp + 0x54], 1
fld dword [esp + 0x18]
mov dword [esi + 0x1400e0], 1
fadd dword [esp + 0x28]
fstp dword [esp + 0x18]
fld dword [esp + 0x1c]
fadd dword [esp + 0x40]
fstp dword [esp + 0x1c]
fld dword [esp + 0x20]
fadd dword [esp + 0x50]
fstp dword [esp + 0x20]
jmp case.default.0x43f833
lea ecx, [eax + 0x154]
add eax, 0x10
jmp 0x441b9b
mov dword [0x71d000], ebx
jmp case.default.0x43f833
cmp dword [esi + 0x1400dc], edi
je 0x441928
mov dword [esi + 0x1400dc], edi
call fcn.00598430
mov eax, dword [esi + 0x13fecc]
fld dword [eax + 0x15c]
lea edx, [esp + 0x120]
fsub dword [eax + 0x18]
push edx
fld dword [eax + 0x154]
fsub dword [eax + 0x10]
mov eax, edx
push eax
mov dword [esp + 0x12c], 0
fstp dword [esp + 0x128]
fstp dword [esp + 0x130]
call fcn.005e40eb
fld dword [esp + 0x24]
mov ecx, dword [esi + 0x13fecc]
fmul dword [esp + 0x128]
mov edx, dword [ecx + 0x154]
mov dword [esp + 0x6c], edx
fstp dword [esp + 0x50]
fld dword [esp + 0x24]
fmul dword [esp + 0x124]
fstp dword [esp + 0x40]
fld dword [esp + 0x24]
fmul dword [esp + 0x120]
fstp dword [esp + 0x28]
fld dword [ecx + 0x18]
fld dword [ecx + 0x10]
fld dword [ecx + 0x15c]
fsub st(2)
fstp dword [esp + 0x14]
fld dword [esp + 0x6c]
fsub st(1)
fstp st(2)
fstp st(0)
fld st(0)
fmulp st(1)
fld dword [esp + 0x14]
fmul dword [esp + 0x14]
faddp st(1)
fsqrt
fabs
fstp dword [esp + 0x48]
fld dword [esp + 0x120]
fabs
fld dword [0x6bb5fc]
fucompp
fnstsw ax
test ah, 0x44
jnp 0x441b3a
fld dword [esp + 0x128]
fabs
fld dword [0x6bb5fc]
fucompp
fnstsw ax
test ah, 0x44
jnp 0x441b3a
mov edx, dword [esp + 0x128]
mov eax, dword [esp + 0x120]
add ecx, 0x160
mov dword [ecx], eax
mov dword [esp + 0x3c], edx
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x38], 0
mov edx, dword [esp + 0x38]
mov dword [ecx + 4], edx
mov dword [ecx + 8], eax
mov eax, dword [esi + 0x13fecc]
fld dword [eax + 0x168]
lea ecx, [esp + 0x174]
fsub dword [eax + 0x24]
push ecx
fld dword [eax + 0x164]
mov edx, ecx
fsub dword [eax + 0x20]
push edx
fld dword [eax + 0x160]
fsub dword [eax + 0x1c]
fstp dword [esp + 0x17c]
fst dword [esp + 0x180]
fld st(1)
fstp dword [esp + 0x184]
fld dword [esp + 0x17c]
fmul dword [esp + 0x17c]
fld st(1)
fmul st(2)
faddp st(1)
fld st(2)
fmul st(3)
faddp st(1)
fstp st(2)
fstp st(0)
fsqrt
fstp dword [esp + 0x1c]
call fcn.005e40eb
fld dword [esp + 0x24]
fmul dword [esp + 0x17c]
fld dword [esp + 0x24]
fmul dword [esp + 0x178]
fld dword [esp + 0x24]
fmul dword [esp + 0x174]
fld st(0)
fmul st(1)
fld st(2)
fmul st(3)
faddp st(1)
fld st(3)
fmul st(4)
faddp st(1)
fsqrt
fld dword [esp + 0x14]
fsub dword [0x6bc85c]
fcompp
fnstsw ax
test ah, 0x41
mov eax, dword [esi + 0x13fecc]
jne 0x441b12
fadd dword [eax + 0x1c]
add eax, 0x1c
fstp dword [eax]
fadd dword [eax + 4]
fstp dword [eax + 4]
fadd dword [eax + 8]
fstp dword [eax + 8]
jmp 0x441b31
lea ecx, [eax + 0x160]
fstp st(0)
mov edx, dword [ecx]
fstp st(0)
add eax, 0x1c
fstp st(0)
mov dword [eax], edx
mov edx, dword [ecx + 4]
mov dword [eax + 4], edx
mov ecx, dword [ecx + 8]
mov dword [eax + 8], ecx
mov edx, dword [esi + 0x13fecc]
mov dword [edx + 0x20], edi
fld dword [esp + 0x28]
fmul dword [esp + 0x28]
fld dword [esp + 0x40]
fmul dword [esp + 0x40]
faddp st(1)
fld dword [esp + 0x50]
fmul dword [esp + 0x50]
faddp st(1)
fsqrt
fld dword [esp + 0x48]
fsub dword [0x6bc85c]
fcompp
fnstsw ax
test ah, 0x41
jne 0x441b76
mov eax, dword [esi + 0x13fecc]
jmp 0x4418b8
mov ecx, esi
mov dword [esi + 0x1400e0], 2
call fcn.004395b0
mov eax, dword [esi + 0x13fecc]
mov dword [0x71d000], edi
lea ecx, [eax + 0x10]
add eax, 0x154
mov edx, dword [ecx]
mov dword [eax], edx
mov edx, dword [ecx + 4]
mov dword [eax + 4], edx
mov ecx, dword [ecx + 8]
mov dword [eax + 8], ecx
mov eax, dword [esp + 0x54]
test eax, eax
je 0x441cb8
mov edx, dword [esi + 0x13fecc]
cmp byte [edx + 0x281], 0xff
je 0x441cb8
mov dword [0x21fddc8], 0
mov ecx, dword [esi + 0x13fecc]
mov eax, dword [ecx + 0xdc]
cmp eax, 2
je case.default.0x441c1a
cmp eax, 3
je case.default.0x441c1a
cmp eax, 9
je case.default.0x441c1a
mov eax, dword [ecx + 0xe0]
test eax, eax
je 0x441c0c
push 7
jmp 0x441d71
mov eax, dword [esp + 0x54]
dec eax
cmp eax, 4
ja case.default.0x441c1a
jmp dword [eax*4 + 0x443b44]
mov eax, dword [ecx + 0x174]
test eax, eax
je 0x441c56
mov dl, byte [ecx + 0x28c]
test dl, dl
mov eax, 2
jne 0x441c4d
xor eax, eax
mov al, byte [ecx + 0x191]
mov ecx, 0x8655e8
push eax
call fcn.004cb9a0
mov ecx, dword [esi + 0x13fecc]
push eax
jmp 0x441c58
push 1
call fcn.004105b0
mov ecx, dword [esi + 0x13fecc]
mov dword [ecx + 0xdc], 1
jmp case.default.0x441c1a
push 1
call fcn.004105b0
mov edx, dword [esi + 0x13fecc]
mov dword [edx + 0xdc], 1
jmp case.default.0x441c1a
push 3
call fcn.004105b0
mov eax, dword [esi + 0x13fecc]
mov dword [eax + 0xdc], 1
jmp case.default.0x441c1a
push 4
jmp 0x441d71
push 5
jmp 0x441d71
mov ecx, dword [esi + 0x13fecc]
cmp byte [ecx + 0x280], 0xff
jne 0x441ccc
call fcn.00418030
mov ecx, dword [esi + 0x13fecc]
mov al, byte [ecx + 0x1c0]
test al, al
jne case.default.0x441c1a
mov eax, dword [ecx + 0xdc]
cmp eax, 8
je case.default.0x441c1a
cmp eax, 2
je case.default.0x441c1a
cmp eax, 3
je case.default.0x441c1a
cmp eax, 9
je case.default.0x441c1a
cmp eax, 7
jne 0x441d0b
push 0xc
jmp 0x441d71
mov eax, dword [ecx + 0xe0]
test eax, eax
je 0x441d19
push 6
jmp 0x441d4f
call dword [sym.imp.WINMM.dll_timeGetTime]
mov ecx, dword [esi + 0x13fecc]
sub eax, dword [ecx + 0x1b4]
cmp eax, 0x2710
jbe 0x441d36
push 0
jmp 0x441d4f
movzx ecx, byte [ecx + 0x191]
push ecx
mov ecx, 0x8655e8
call fcn.004cb8c0
mov ecx, dword [esi + 0x13fecc]
push eax
call fcn.004105b0
mov edx, dword [esi + 0x13fecc]
mov dword [edx + 0xdc], 0
jmp case.default.0x441c1a
cmp dword [ecx + 0xdc], 4
jne case.default.0x441c1a
push 9
call fcn.004105b0
mov ecx, dword [0x71d048]
mov eax, 8
cmp ecx, eax
jne 0x441da4
mov ecx, dword [esi + 0x13fecc]
cmp dword [ecx + 0xdc], eax
je 0x441da4
mov ecx, esi
mov dword [esi + 0x1400e0], 2
call fcn.004395b0
mov eax, dword [ebp + 8]
xor edi, edi
cmp eax, edi
jne 0x4426ca
mov edx, dword [esp + 0x58]
push edx
mov ecx, esi
call fcn.004397d0
mov eax, dword [esi + 0x13fecc]
cmp dword [eax + 0x294], edi
mov ax, word [0x21fe5f0]
je 0x441ddb
cmp ax, 5
ja 0x441ec6
cmp ax, di
je 0x441ecd
cmp ax, 0x10
jne 0x441eac
cmp dword [0x708598], 3
je 0x441e72
mov ax, word [0x8666c4]
cmp ax, 0x2a
je 0x441e72
mov cl, byte [0x21fd8d6]
test cl, cl
jne 0x441e41
cmp ax, 0x23
je 0x441e72
push edi
push 0x447a0000
push 0x22094c8
push 0x6be918
mov ecx, 0x22071e0
call fcn.0053a850
push 0x1cb
push 0x11
call fcn.0041fce0
add esp, 8
jmp 0x441ec6
cmp ax, 0x24
je 0x441e72
push edi
push 0x447a0000
push 0x22094c8
push 0x6be918
mov ecx, 0x22071e0
call fcn.0053a850
push 0x1cc
push 0x11
call fcn.0041fce0
add esp, 8
jmp 0x441ec6
mov ecx, dword [0x85cfbc]
mov eax, dword [ecx + 0xdc]
cmp eax, 5
je 0x441e92
cmp eax, 7
je 0x441e92
push 1
call fcn.00598b50
add esp, 4
cmp dword [0x868dd4], edi
jne 0x441ec6
mov dword [0x21fe5cc], edi
mov dword [0x868dd4], 0xd
jmp 0x441ec6
cmp ax, 5
jbe 0x441ec6
xor edx, edx
mov dl, byte [0x21fe5f0]
add dl, 0x6e
push edx
call fcn.00598b50
add esp, 4
mov word [0x21fe5f0], di
mov cl, byte [0x21fd764]
test cl, cl
je 0x441f35
cmp dword [esp + 0x54], edi
jne 0x441f35
mov eax, dword [esi + 0x13fecc]
cmp dword [eax + 0x16c], 0xffffffff
je 0x441f1f
mov eax, dword [0x867d88]
cmp eax, edi
jne 0x441f0a
movzx ecx, cl
mov dword [0x71d024], ecx
mov dword [0x71d000], 3
jmp 0x441f2e
cmp eax, 2
jne 0x441f2e
movzx edx, cl
mov dword [0x71d024], edx
mov dword [0x71d000], eax
jmp 0x441f2e
push 0xe8
push 0x11
call fcn.0041fce0
add esp, 8
mov byte [0x21fd764], 0
mov cl, byte [0x71d0a8]
mov eax, 0x20
test al, cl
jne 0x441f55
or dword [0x71d0a8], eax
call dword [sym.imp.WINMM.dll_timeGetTime]
mov dword [0x71d084], eax
mov eax, dword [esi + 0x13fecc]
mov ebx, dword [eax + 0x16c]
cmp dword [0x2203698], 1
jne 0x4420cd
mov eax, dword [0x220369c]
test eax, eax
jne 0x4420cd
mov ecx, esi
call fcn.0043b420
cmp eax, 0xffffffff
je 0x4420cd
cmp ebx, eax
jne 0x4420cd
mov ecx, dword [esi + 0x13fecc]
mov edx, dword [ecx + 0x16c]
push edx
mov ecx, esi
call fcn.00447a40
mov edi, eax
test edi, edi
je 0x4420cd
mov eax, dword [esi + 0x13fecc]
mov cl, byte [edi + 0x282]
cmp cl, byte [eax + 0x282]
je 0x441fdb
mov ax, word [0x8666c4]
cmp ax, 0x2a
je 0x441fdb
cmp ax, 0x28
jne 0x4420cd
push edi
mov dword [esp + 0x18], 0x41200000
call fcn.0047e0f0
add esp, 4
test al, al
je 0x441ff8
fld dword [0x6be974]
jmp 0x441ffc
fld dword [esp + 0x14]
mov eax, dword [esi + 0x13fecc]
fld dword [edi + 0x18]
fsub dword [eax + 0x18]
add eax, 0x10
fld dword [edi + 0x14]
fsub dword [eax + 4]
fld dword [edi + 0x10]
fsub dword [eax]
fld st(0)
fmul st(1)
fld st(2)
fmul st(3)
faddp st(1)
fld st(3)
fmul st(4)
faddp st(1)
fstp st(3)
fstp st(0)
fstp st(0)
fsqrt
fabs
fxch st(1)
fcompp
fnstsw ax
test ah, 5
jp 0x44204f
push 0xe9
push 0x11
call fcn.0041fce0
add esp, 8
jmp 0x4420cd
mov ecx, dword [0x7191d4]
mov edx, dword [ecx]
push 0x4f
call dword [edx + 4]
cmp al, 1
jne 0x4420aa
mov eax, dword [0x71cfb0]
mov eax, dword [eax]
mov ecx, dword [eax + 0x328]
test ecx, ecx
jne 0x442099
mov ecx, dword [eax + 0x340]
test ecx, ecx
jne 0x442099
mov dword [0x867d88], 2
mov ecx, dword [esi + 0x13fecc]
mov edx, dword [ecx + 0x16c]
mov dword [0x86de1c], edx
jmp 0x4420c6
push 0x1ec
push 0x11
call fcn.0041fce0
add esp, 8
jmp 0x4420cd
mov dword [0x867d88], 2
mov eax, dword [esi + 0x13fecc]
mov ecx, dword [eax + 0x16c]
mov dword [0x86de1c], ecx
mov byte [0x21fd765], 1
cmp dword [0x2203690], 1
jne 0x4426ca
mov edx, dword [esi + 0x13fecc]
lea edi, [esi + 0x140210]
push edi
add edx, 0x10
push edx
lea ecx, [esi + 0x13d740]
call fcn.00536570
mov ecx, esi
mov dword [0x71d024], 0
call fcn.0043b650
mov ecx, dword [esi + 0x13fecc]
mov dword [ecx + 0x16c], eax
mov edx, dword [esi + 0x13fecc]
cmp dword [edx + 0x16c], 0xffffffff
je 0x442136
mov eax, 1
mov dword [0x867d88], eax
mov dword [0x71d000], eax
jmp 0x4426ca
mov ecx, esi
call fcn.0043baf0
mov ecx, dword [esi + 0x13fecc]
mov dword [ecx + 0x16c], eax
mov edx, dword [esi + 0x13fecc]
cmp dword [edx + 0x16c], 0xffffffff
je 0x44218b
mov edi, dword [sym.imp.WINMM.dll_timeGetTime]
mov dword [0x867d88], 3
call edi
mov eax, dword [esi + 0x13fecc]
cmp ebx, dword [eax + 0x16c]
jne 0x4422ec
mov dword [0x71d000], 4
jmp 0x4426ca
mov ecx, esi
call fcn.0043b8c0
mov ecx, dword [esi + 0x13fecc]
mov dword [ecx + 0x16c], eax
mov edx, dword [esi + 0x13fecc]
mov eax, dword [edx + 0x16c]
cmp eax, 0xffffffff
je 0x442220
cmp dword [0x708c9c], eax
jne 0x4421c0
cmp dword [0x71d000], 3
je 0x4421c9
push eax
call fcn.0059b740
add esp, 4
mov edi, dword [sym.imp.WINMM.dll_timeGetTime]
mov dword [0x867d88], 0
call edi
mov eax, dword [esi + 0x13fecc]
mov ecx, dword [eax + 0x16c]
call fcn.00439580
cmp ebx, ecx
jne 0x442285
mov dword [0x71d000], 3
mov ecx, dword [esi + 0x13fecc]
mov edx, dword [ecx + 0x16c]
mov eax, dword [0x867d88]
push edx
push eax
mov ecx, 0x8655e8
call fcn.004d10b0
jmp 0x4426ca
mov ecx, esi
call fcn.0043b420
mov ecx, dword [esi + 0x13fecc]
mov dword [ecx + 0x16c], eax
mov edx, dword [esi + 0x13fecc]
mov eax, dword [edx + 0x16c]
cmp eax, 0xffffffff
je 0x4422aa
cmp dword [0x708c9c], eax
jne 0x442255
cmp dword [0x71d000], 2
je 0x44225e
push eax
call fcn.0059b6e0
add esp, 4
mov edi, dword [sym.imp.WINMM.dll_timeGetTime]
mov dword [0x867d88], 2
call edi
mov eax, dword [esi + 0x13fecc]
mov ecx, dword [eax + 0x16c]
call fcn.00439580
cmp ebx, ecx
je 0x44229b
mov dword [0x71d000], 0
call edi
mov dword [0x71d084], eax
jmp 0x4421fe
mov dword [0x71d000], 2
jmp 0x4421fe
mov ecx, esi
call fcn.0043bd30
mov ecx, dword [esi + 0x13fecc]
mov dword [ecx + 0x16c], eax
mov eax, dword [esi + 0x13fecc]
cmp dword [eax + 0x16c], 0xffffffff
je 0x442316
mov edi, dword [sym.imp.WINMM.dll_timeGetTime]
mov dword [0x867d88], 2
call edi
mov edx, dword [esi + 0x13fecc]
cmp ebx, dword [edx + 0x16c]
je 0x442307
call fcn.00439580
mov dword [0x71d000], 0
call edi
mov dword [0x71d084], eax
jmp 0x4426ca
mov dword [0x71d000], 5
jmp 0x4426ca
mov dword [eax + 0x16c], ebx
mov eax, dword [0x719918]
test eax, eax
je 0x4426ca
mov eax, dword [esi + 0x13fecc]
add eax, 0x154
push eax
push edi
lea ecx, [esi + 0xc]
xor ebx, ebx
call fcn.005a2ce0
test al, al
je 0x44239d
lea ecx, [esp + 0x84]
push ecx
lea edx, [esp + 0x32c]
push edx
mov ecx, 0x71d06c
call fcn.00437a30
mov ecx, eax
call fcn.004379c0
fstp dword [esi + 0x140228]
mov eax, dword [esi + 0x13fecc]
mov ecx, dword [eax + 0x15c]
mov edx, dword [eax + 0x154]
push ecx
push edx
mov ecx, esi
call fcn.00410560
fadd dword [0x6bc868]
mov eax, dword [esi + 0x13fecc]
mov ebx, 1
fstp dword [eax + 0x158]
lea ecx, [esp + 0x248]
xor edi, edi
mov dword [esp + 0xc4], 0x497423f0
call fcn.004441b0
push 0x43fa0000
sub esp, 0xc
lea edx, [esp + 0xc8]
mov ecx, esp
mov dword [esp + 0x24], esp
push edx
mov dword [esp + 0x740], edi
call fcn.00421640
lea eax, [esp + 0x2cc]
push eax
call fcn.00421690
add esp, 0x14
push eax
lea ecx, [esp + 0x308]
push ecx
lea ecx, [esp + 0x8c]
call fcn.00421660
push eax
lea edx, [esp + 0x88]
push edx
lea ecx, [esp + 0x2d0]
call fcn.004216c0
push eax
lea ecx, [esp + 0x24c]
call fcn.004216f0
lea ecx, [esp + 0x2c8]
call fcn.005bfb50
push edi
lea eax, [esp + 0x1fc]
push eax
lea ecx, [esp + 0xcc]
push ecx
lea edx, [esp + 0x254]
push edx
lea ecx, [esi + 0x13cc3c]
call fcn.005a4f00
test al, al
jne 0x4424ce
push 0
lea eax, [esp + 0x1fc]
push eax
lea ecx, [esp + 0xcc]
push ecx
lea edx, [esp + 0x254]
push edx
lea ecx, [esi + 0x13d02c]
call fcn.005a7450
test al, al
jne 0x4424ce
push 0
lea eax, [esp + 0x1fc]
push eax
lea ecx, [esp + 0xcc]
push ecx
lea edx, [esp + 0x254]
push edx
lea ecx, [esi + 0x13d0b8]
call fcn.005a7450
test al, al
jne 0x4424ce
push 0
lea eax, [esp + 0x1fc]
push eax
lea ecx, [esp + 0xcc]
push ecx
lea edx, [esp + 0x254]
push edx
lea ecx, [esi + 0x13d374]
call fcn.005a7450
test al, al
je 0x442527
fld dword [esi + 0x140228]
fcomp dword [esp + 0xc4]
fnstsw ax
test ah, 0x41
jne 0x442527
mov eax, dword [esi + 0x13fecc]
mov ecx, dword [esp + 0x1f8]
add eax, 0x154
mov dword [eax], ecx
mov edx, dword [esp + 0x1fc]
mov dword [eax + 4], edx
mov ecx, dword [esp + 0x200]
mov dword [eax + 8], ecx
mov eax, dword [esi + 0x13fecc]
fld dword [eax + 0x158]
mov edi, 1
fadd dword [0x6bc868]
fstp dword [eax + 0x158]
test ebx, ebx
jne 0x442533
test edi, edi
je 0x4426b3
mov dword [0x71d000], 6
xor ebx, ebx
lea edi, [esi + 0x1401f0]
mov ecx, dword [edi]
test ecx, ecx
je 0x442557
mov edx, dword [ecx]
push 1
call dword [edx]
mov dword [edi], 0
push ebx
mov ecx, 0x220fe10
call fcn.0040e5b0
test eax, eax
mov dword [edi], eax
je 0x442618
mov dword [eax + 0x104], 6
mov eax, dword [esi + 0x13fecc]
mov ecx, dword [edi]
add eax, 0x154
mov edx, dword [eax]
add ecx, 0x2c
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov eax, dword [eax + 8]
mov dword [ecx + 8], eax
mov eax, dword [edi]
fld dword [eax + 0x30]
mov dword [esp + 0x34], 0
fsub dword [0x6bc868]
mov edx, dword [esp + 0x34]
mov dword [esp + 0x38], 0
mov dword [esp + 0x3c], 0x3f800000
fstp dword [eax + 0x30]
mov ecx, dword [edi]
mov eax, dword [esp + 0x38]
add ecx, 0x38
mov dword [ecx], edx
mov edx, dword [esp + 0x3c]
mov dword [ecx + 4], eax
mov dword [ecx + 8], edx
mov eax, dword [edi]
mov dword [esp + 0xb8], 0
mov ecx, dword [esp + 0xb8]
add eax, 0x44
mov dword [eax], ecx
mov dword [esp + 0xbc], 0x3f800000
mov edx, dword [esp + 0xbc]
mov dword [esp + 0xc0], 0
mov ecx, dword [esp + 0xc0]
mov dword [eax + 4], edx
mov dword [eax + 8], ecx
inc ebx
add edi, 4
cmp ebx, 8
jl 0x442545
mov eax, dword [esi + 0x1401f8]
test eax, eax
je 0x44265e
mov dword [esp + 0x34], 0
mov edx, dword [esp + 0x34]
add eax, 0x2c
mov dword [eax], edx
mov dword [esp + 0x38], 0
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x3c], 0
mov edx, dword [esp + 0x3c]
mov dword [eax + 4], ecx
mov dword [eax + 8], edx
mov eax, dword [esi + 0x140200]
test eax, eax
je 0x442697
mov dword [esp + 0x34], 0
mov ecx, dword [esp + 0x34]
add eax, 0x2c
mov dword [eax], ecx
mov dword [esp + 0x38], 0
mov edx, dword [esp + 0x38]
mov dword [esp + 0x3c], 0
mov ecx, dword [esp + 0x3c]
mov dword [eax + 4], edx
mov dword [eax + 8], ecx
mov edx, dword [0x71cfb0]
mov eax, dword [edx]
mov eax, dword [eax + 0x364]
test eax, eax
je 0x4426b3
mov dword [eax + 0x108], 0xffffffff
lea ecx, [esp + 0x248]
mov dword [esp + 0x72c], 0xffffffff
call fcn.005bfb50
mov ecx, dword [0x7191d4]
xor ebx, ebx
cmp ecx, ebx
je 0x44283a
mov edx, dword [ecx]
push 0x40
call dword [edx + 4]
test al, al
je 0x44283a
mov eax, dword [esi + 0x13fecc]
mov ecx, dword [eax + 0x16c]
cmp dword [0x708c9c], ecx
je 0x442787
mov eax, dword [0x867d88]
cmp eax, ebx
jne 0x44271c
cmp ecx, 0xffffffff
je 0x442733
call dword [sym.imp.WINMM.dll_timeGetTime]
mov dword [0x708cc8], eax
jmp 0x442769
cmp eax, 2
jne 0x442733
cmp ecx, 0xffffffff
je 0x442733
call dword [sym.imp.WINMM.dll_timeGetTime]
mov dword [0x708cc8], eax
jmp 0x442769
mov ecx, dword [0x708ca0]
cmp ecx, ebx
mov dword [0x708cc8], 0xffffffff
je 0x44274c
cmp ecx, 2
jne 0x44276e
lea eax, [esp + 0x210]
push 2
push eax
mov dword [esp + 0x218], 0x30a
call fcn.00597f60
add esp, 8
mov eax, dword [0x867d88]
mov ecx, dword [esi + 0x13fecc]
mov edx, dword [ecx + 0x16c]
mov dword [0x708ca0], eax
mov dword [0x708c9c], edx
jmp 0x44278c
mov eax, dword [0x708ca0]
mov ecx, dword [0x708cc8]
or edi, 0xffffffff
cmp ecx, edi
je 0x44284b
cmp eax, ebx
je 0x4427aa
cmp eax, 2
jne 0x44284b
call dword [sym.imp.WINMM.dll_timeGetTime]
mov ecx, dword [0x708cc8]
add ecx, 0x1f4
cmp ecx, eax
jae 0x44284b
mov eax, dword [0x867d88]
cmp eax, ebx
mov dword [0x708cc8], edi
jne 0x442804
mov word [esp + 0x234], 0x309
mov edx, dword [esi + 0x13fecc]
mov eax, dword [edx + 0x16c]
lea ecx, [esp + 0x234]
push 6
push ecx
mov dword [esp + 0x23e], eax
call fcn.00597f60
add esp, 8
jmp 0x44284b
cmp eax, 2
jne 0x44284b
mov word [esp + 0x214], 0x308
mov edx, dword [esi + 0x13fecc]
mov eax, dword [edx + 0x16c]
lea ecx, [esp + 0x214]
push 6
push ecx
mov dword [esp + 0x21e], eax
call fcn.00597f60
add esp, 8
jmp 0x44284b
mov edx, dword [esi + 0x13fecc]
mov eax, dword [edx + 0x16c]
mov dword [0x708c9c], eax
mov ecx, dword [esi + 0x13fecc]
mov al, byte [ecx + 0x285]
cmp al, 2
jb 0x44287b
mov edx, dword [0x71d000]
cmp edx, 6
je 0x442871
cmp edx, 5
je 0x442871
mov dword [0x71d000], ebx
cmp al, 4
je 0x44287b
mov dword [0x71d000], ebx
cmp dword [0x71d010], ebx
je 0x4428c3
cmp dword [ecx + 0xcc], 8
jne 0x4428c3
fld dword [ecx + 0xc8]
fcomp dword [0x6bb5fc]
fnstsw ax
test ah, 0x41
jne 0x4428c3
mov edi, 1
mov ecx, esi
mov dword [0x71d008], edi
mov dword [0x71d010], ebx
call fcn.004395b0
push 2
call fcn.00598b50
add esp, 4
jmp 0x4428c8
mov edi, 1
mov ecx, dword [esi + 0x13fecc]
cmp byte [ecx + 0x281], 0xff
jne 0x442907
mov dword [esp + 0x34], 0
mov edx, dword [esp + 0x34]
mov dword [esp + 0x38], 0
mov eax, dword [esp + 0x38]
mov dword [esp + 0x3c], 0
mov dword [esp + 0x18], edx
mov edx, dword [esp + 0x3c]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], edx
fld dword [0x719a54]
fmul dword [0x6bc9f0]
fadd dword [0x6bc4dc]
fmul dword [0x708c98]
fst dword [0x708c98]
fcomp dword [0x6bc9ec]
fnstsw ax
test ah, 5
jp 0x44293c
mov dword [0x708c98], 0xc1a00000
fld dword [0x708c98]
mov eax, dword [0x71d008]
cmp eax, ebx
fmul dword [0x719a54]
fstp dword [esp + 0x44]
je 0x442969
fld dword [0x71d00c]
fmul dword [0x719a54]
fadd dword [esp + 0x44]
fstp dword [esp + 0x44]
lea eax, [ecx + 0x10]
mov edx, eax
mov ebx, dword [edx]
mov dword [esp + 0xb8], ebx
mov ebx, dword [edx + 4]
mov edx, dword [edx + 8]
mov dword [esp + 0xc0], edx
mov dl, byte [esi + 9]
test dl, dl
mov dword [esp + 0xbc], ebx
jne 0x442c98
fld dword [ecx + 0x18]
push ecx
fadd dword [0x6bc8b4]
lea edx, [esp + 0x2f0]
fstp dword [esp + 0x18]
fld dword [ecx + 0x18]
mov ecx, dword [eax]
fsub dword [0x6bc8b4]
fstp dword [esp]
push ecx
mov ecx, dword [esp + 0x1c]
fld dword [eax]
fadd dword [0x6bc8b4]
push ecx
push ecx
fstp dword [esp]
push ecx
fld dword [eax]
push ecx
fsub dword [0x6bc8b4]
lea ecx, [esi + 0xc]
fstp dword [esp]
push edx
call fcn.005a2c70
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov eax, dword [eax + 8]
mov dword [esp + 0x84], ecx
lea ecx, [esp + 0x84]
mov dword [esp + 0x88], edx
mov dword [esp + 0x8c], eax
call fcn.00437af0
fld dword [esp + 0x84]
fadd dword [esp + 0x8c]
mov eax, dword [esp + 0x8c]
mov ecx, dword [esp + 0x84]
mov edx, dword [esp + 0x88]
fmul dword [0x6bb5fc]
mov dword [esp + 0x30], eax
mov dword [esp + 0x28], ecx
mov dword [esp + 0x2c], edx
fadd dword [esp + 0x88]
fst dword [esp + 0x4c]
fcomp dword [0x6bc860]
fnstsw ax
test ah, 5
jp 0x442c92
mov ecx, dword [esi + 0x13fecc]
fld dword [ecx + 0x14]
fcomp dword [0x6bb5fc]
fnstsw ax
test ah, 0x41
jne 0x442c92
mov al, byte [ecx + 0x268]
test al, al
jne 0x442c92
mov edx, dword [ecx + 0x18]
mov eax, dword [ecx + 0x10]
push edx
push eax
mov ecx, esi
call fcn.00410560
fadd dword [0x6bc868]
mov ecx, dword [esi + 0x13fecc]
fld dword [esp + 0x44]
fadd dword [ecx + 0x14]
fcomp st(1)
fnstsw ax
fstp st(0)
test ah, 0x41
jp 0x442c98
mov eax, dword [0x71d080]
test eax, eax
je 0x442ac3
inc dword [0x708cc4]
fld dword [esp + 0x2c]
fmul dword [0x6bb5fc]
fld dword [esp + 0x30]
fsubr st(1)
fstp dword [esp + 0x34]
mov edx, dword [esp + 0x34]
fld dword [esp + 0x30]
mov dword [esp + 0x84], edx
fmul dword [0x6bb5fc]
fld dword [esp + 0x28]
fmul dword [0x6bb5fc]
fsubp st(1)
fstp dword [esp + 0x38]
mov eax, dword [esp + 0x38]
fld dword [esp + 0x28]
mov dword [esp + 0x88], eax
fsub st(1)
fstp dword [esp + 0x3c]
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x8c], ecx
fstp st(0)
fld dword [esp + 0x8c]
fmul dword [esp + 0x2c]
fld dword [esp + 0x88]
fmul dword [esp + 0x30]
fsubp st(1)
fstp dword [esp + 0x34]
mov edx, dword [esp + 0x34]
fld dword [esp + 0x84]
fmul dword [esp + 0x30]
fld dword [esp + 0x28]
fmul dword [esp + 0x8c]
fsubp st(1)
fstp dword [esp + 0x38]
mov eax, dword [esp + 0x38]
fld dword [esp + 0x28]
mov dword [esp + 0x28], edx
fmul dword [esp + 0x88]
fld dword [esp + 0x84]
fmul dword [esp + 0x2c]
mov dword [esp + 0x2c], eax
fsubp st(1)
fstp dword [esp + 0x3c]
mov ecx, dword [esp + 0x3c]
fld dword [esp + 0x4c]
mov dword [esp + 0x30], ecx
fcomp dword [0x6bc8b4]
fnstsw ax
test ah, 5
jp 0x442bef
fld dword [esp + 0x30]
fmul dword [0x719a54]
fld dword [esp + 0x2c]
fmul dword [0x719a54]
fld dword [esp + 0x28]
fmul dword [0x719a54]
fstp dword [esp + 0x6c]
fild dword [0x708cc4]
fstp dword [esp + 0x58]
fxch st(1)
fmul dword [esp + 0x58]
fstp dword [esp + 0x14]
fmul dword [esp + 0x58]
fld dword [esp + 0x6c]
fmul dword [esp + 0x58]
fld dword [0x6bc4dc]
fsub dword [esp + 0x4c]
fmul dword [0x6bc898]
jmp 0x442c52
fld dword [esp + 0x4c]
fcomp dword [0x6bca18]
fld dword [esp + 0x30]
fmul dword [0x719a54]
fld dword [esp + 0x2c]
fmul dword [0x719a54]
fld dword [esp + 0x28]
fmul dword [0x719a54]
fnstsw ax
fstp dword [esp + 0x6c]
test ah, 5
fild dword [0x708cc4]
fstp dword [esp + 0x58]
fxch st(1)
fmul dword [esp + 0x58]
fstp dword [esp + 0x14]
fmul dword [esp + 0x58]
fld dword [esp + 0x6c]
fmul dword [esp + 0x58]
fld dword [0x6bc4dc]
fsub dword [esp + 0x4c]
jp 0x442c52
fmul dword [0x6bca1c]
fld dword [esp + 0x14]
fmul st(1)
mov dword [0x71d080], edi
fstp dword [esp + 0x48]
fxch st(2)
fmul st(2)
fstp dword [esp + 0x14]
fmulp st(1)
fld dword [esp + 0x18]
fadd st(1)
fstp dword [esp + 0x18]
fstp st(0)
fld dword [esp + 0x1c]
fadd dword [esp + 0x14]
fstp dword [esp + 0x1c]
fld dword [esp + 0x20]
fadd dword [esp + 0x48]
fstp dword [esp + 0x20]
jmp 0x442c98
mov dword [0x708cc4], edi
fld dword [esp + 0x20]
fmul dword [esp + 0x20]
fld dword [esp + 0x18]
fmul dword [esp + 0x18]
faddp st(1)
fld dword [esp + 0x1c]
fmul dword [esp + 0x1c]
faddp st(1)
fsqrt
fcomp dword [0x6bc85c]
fnstsw ax
test ah, 0x41
jp 0x442d9a
fld dword [0x71d060]
mov dword [esp + 0x3c], 0
fadd dword [esp + 0x18]
mov dword [esp + 0x38], 0
mov dword [esp + 0x34], 0
fstp dword [0x71d060]
fld dword [0x71d064]
fadd dword [esp + 0x1c]
fstp dword [0x71d064]
fld dword [0x71d068]
fadd dword [esp + 0x20]
fstp dword [0x71d068]
fld dword [0x71d060]
fmul dword [0x71d060]
fld dword [0x71d068]
fmul dword [0x71d068]
faddp st(1)
fld dword [0x71d064]
fmul dword [0x71d064]
faddp st(1)
fsqrt
fcomp dword [0x6bc85c]
fnstsw ax
test ah, 1
jne 0x442d82
mov edx, dword [0x71d060]
mov eax, dword [0x71d064]
mov ecx, dword [0x71d068]
mov dword [esp + 0x18], edx
mov edx, dword [esp + 0x34]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x3c]
mov dword [0x71d060], edx
mov dword [0x71d064], eax
mov dword [0x71d068], ecx
jmp 0x442d9a
mov edx, dword [esp + 0x34]
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x18], edx
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], ecx
fld dword [0x6bb5fc]
fld dword [esp + 0x18]
fucompp
fnstsw ax
test ah, 0x44
jp 0x442e07
fld dword [0x6bb5fc]
fld dword [esp + 0x20]
fucompp
fnstsw ax
test ah, 0x44
jp 0x442e07
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x44]
push 0
sub esp, 0xc
mov eax, esp
mov dword [eax], edx
mov edx, dword [esp + 0x30]
mov dword [eax + 4], ecx
mov dword [eax + 8], edx
mov eax, dword [esi + 0x13fecc]
mov edx, dword [eax + 0x10]
add eax, 0x10
mov dword [esp + 0x24], esp
sub esp, 0xc
mov ecx, esp
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov eax, dword [eax + 8]
mov dword [ecx + 8], eax
lea ecx, [esp + 0x2fc]
jmp 0x442e4b
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x44]
push edi
sub esp, 0xc
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [esp + 0x30]
mov dword [eax + 4], edx
mov dword [eax + 8], ecx
mov eax, dword [esi + 0x13fecc]
mov edx, dword [eax + 0x10]
add eax, 0x10
mov dword [esp + 0x24], esp
sub esp, 0xc
mov ecx, esp
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov eax, dword [eax + 8]
mov dword [ecx + 8], eax
lea ecx, [esp + 0x338]
mov dword [esp + 0x30], esp
push ecx
mov ecx, esi
call fcn.004383d0
fld dword [esp + 0x44]
mov edx, dword [esi + 0x13fecc]
fabs
mov ecx, dword [eax]
add edx, 0x10
mov dword [edx], ecx
mov ecx, dword [eax + 4]
fcomp dword [0x6bc85c]
mov dword [edx + 4], ecx
mov eax, dword [eax + 8]
mov dword [edx + 8], eax
fnstsw ax
test ah, 0x41
jp 0x442eac
fld dword [esp + 0x44]
fadd dword [0x71d044]
fst dword [0x71d044]
fabs
fcomp dword [0x6bc85c]
fnstsw ax
test ah, 1
jne 0x442eac
mov dword [0x71d044], 0
mov ecx, dword [esi + 0x13fecc]
fld dword [0x71d054]
fsub dword [ecx + 0x14]
xor ebx, ebx
xor edi, edi
mov dword [esp + 0x40], ebx
fabs
fcomp dword [0x6bca18]
fnstsw ax
test ah, 0x41
jne 0x442ed8
mov byte [ecx + 0x268], bl
mov al, byte [esi + 0x13ff48]
test al, al
je 0x442f20
mov eax, dword [esi + 0x13fecc]
mov ecx, dword [eax + 0x14]
mov ebx, 1
mov byte [eax + 0x268], bl
mov edx, dword [esi + 0x13fecc]
mov eax, dword [edx + 0x14]
mov dword [esp + 0x40], ecx
mov dword [0x708c98], 0xc03eb852
mov dword [0x71d008], edi
mov dword [0x71d054], eax
mov dword [0x71d030], ebx
jmp 0x442f3a
cmp dword [0x71d008], edi
jne 0x442f34
mov dword [0x71d030], 1
jmp 0x442f3a
mov dword [0x71d030], edi
mov al, byte [esi + 9]
test al, al
je 0x442f49
fld dword [0x6be930]
jmp 0x442f71
mov eax, dword [esi + 0x13fecc]
mov ecx, dword [eax + 0x18]
mov edx, dword [eax + 0x10]
mov eax, ecx
mov dword [esp + 0x14], ecx
mov ecx, edx
push eax
push ecx
lea ecx, [esi + 0xc]
mov dword [esp + 0x50], edx
call fcn.005a2c30
fadd dword [0x6bc868]
mov ecx, dword [esi + 0x13fecc]
fcom dword [ecx + 0x14]
fnstsw ax
test ah, 1
jne 0x44304b
fld dword [esp + 0xbc]
fcomp st(1)
fnstsw ax
test ah, 0x41
jp 0x443027
fsub dword [ecx + 0x14]
push edi
sub esp, 0xc
mov eax, esp
mov dword [eax], edi
fstp dword [eax + 4]
mov dword [eax + 8], edi
mov eax, dword [esi + 0x13fecc]
mov edx, dword [eax + 0x10]
mov dword [esp + 0x24], esp
add eax, 0x10
sub esp, 0xc
mov ecx, esp
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov eax, dword [eax + 8]
mov dword [ecx + 8], eax
lea ecx, [esp + 0x314]
mov dword [esp + 0x30], esp
push ecx
mov ecx, esi
call fcn.004383d0
mov edx, dword [esi + 0x13fecc]
mov ecx, dword [eax]
add edx, 0x10
mov dword [edx], ecx
mov ecx, dword [eax + 4]
mov dword [edx + 4], ecx
mov eax, dword [eax + 8]
mov dword [edx + 8], eax
mov al, byte [esi + 0x13ff48]
test al, al
je 0x443033
mov eax, dword [esi + 0x13fecc]
mov ecx, dword [eax + 0x14]
mov byte [eax + 0x268], 1
mov edx, dword [esi + 0x13fecc]
mov eax, dword [edx + 0x14]
mov dword [esp + 0x40], ecx
mov dword [0x71d054], eax
jmp 0x44302e
fst dword [esp + 0x40]
fstp dword [ecx + 0x14]
mov ebx, 1
mov dword [0x708c98], 0xc03eb852
mov dword [0x71d008], edi
mov dword [0x71d030], edi
jmp 0x44305f
mov eax, dword [0x71d008]
fstp st(0)
xor ecx, ecx
cmp eax, edi
sete cl
mov dword [0x71d030], ecx
mov ecx, dword [esi + 0x13fecc]
fld dword [ecx + 0x14]
fcomp dword [0x6bc9e8]
fnstsw ax
test ah, 0x41
jp 0x44308e
mov dword [ecx + 0xe0], 1
mov edx, dword [esi + 0x13fecc]
mov dword [edx + 0x14], 0xbecccccd
jmp 0x443094
mov dword [ecx + 0xe0], edi
mov ecx, dword [esi + 0x13fecc]
fld dword [ecx + 0x10]
mov edx, 0x3f800000
fcomp dword [0x6bc4dc]
fnstsw ax
test ah, 5
jp 0x4430b2
mov dword [ecx + 0x10], edx
mov ecx, dword [esi + 0x13fecc]
fld dword [ecx + 0x18]
fcomp dword [0x6bc4dc]
fnstsw ax
test ah, 5
jp 0x4430cb
mov dword [ecx + 0x18], edx
mov eax, dword [0x85d1d4]
mov ecx, dword [esi + 0x13fecc]
dec eax
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
fcom dword [ecx + 0x10]
fnstsw ax
test ah, 5
jp 0x4430ee
fstp dword [ecx + 0x10]
jmp 0x4430f0
fstp st(0)
mov edx, dword [0x85d1d4]
mov ecx, dword [esi + 0x13fecc]
dec edx
mov dword [esp + 0x14], edx
fild dword [esp + 0x14]
fcom dword [ecx + 0x18]
fnstsw ax
test ah, 5
jp 0x443114
fstp dword [ecx + 0x18]
jmp 0x443116
fstp st(0)
cmp dword [0x7198c8], edi
mov eax, dword [esi + 0x13fecc]
je 0x4431c5
fld dword [0x22094d4]
add eax, 0x10
fsub dword [esp + 0x60]
mov ecx, dword [eax]
fld dword [0x22094d8]
mov dword [0x22094c8], ecx
fsub dword [esp + 0x64]
mov edx, dword [eax + 4]
fld dword [0x22094dc]
mov dword [0x22094cc], edx
fsub dword [esp + 0x68]
mov eax, dword [eax + 8]
mov dword [0x22094d0], eax
fstp dword [esp + 0x74]
fld dword [0x22094cc]
fadd dword [0x6bca00]
fstp dword [0x22094cc]
fld dword [0x22094c8]
fadd st(2)
fstp dword [esp + 0x60]
mov edx, dword [esp + 0x60]
fld dword [0x22094cc]
mov dword [0x22094d4], edx
fadd st(1)
fstp dword [esp + 0x64]
mov edx, dword [esp + 0x64]
mov dword [0x22094d8], edx
fstp st(0)
fstp st(0)
fld dword [0x22094d0]
fadd dword [esp + 0x74]
fstp dword [esp + 0x68]
mov edx, dword [esp + 0x68]
mov dword [0x22094dc], edx
jmp 0x4432b9
add eax, 0x10
mov ecx, dword [eax]
mov dword [0x22094d4], ecx
mov edx, dword [eax + 4]
mov dword [0x22094d8], edx
mov eax, dword [eax + 8]
mov dword [0x22094dc], eax
mov ecx, dword [esi + 0x13fecc]
mov eax, dword [ecx + 0xdc]
cmp eax, 7
je 0x44320b
cmp eax, 5
je 0x44320b
fld dword [0x708c94]
fsub dword [0x6bca00]
fadd dword [0x22094d8]
jmp 0x443217
fld dword [0x22094d8]
fsub dword [0x6be7fc]
fstp dword [0x22094d8]
mov edx, dword [esi + 0x13fecc]
mov eax, dword [edx + 0xdc]
cmp eax, 1
je 0x443249
cmp eax, 3
je 0x443249
cmp eax, 5
je 0x44323d
cmp eax, 6
jne 0x443253
mov dword [0x220e244], 0x3fc00000
jmp 0x443253
mov dword [0x220e244], 0x41200000
mov eax, dword [esi + 0x13fecc]
fld dword [eax + 0x10]
add eax, 0x10
fsub dword [esp + 0xb8]
fld dword [eax + 4]
fsub dword [esp + 0xbc]
fld dword [eax + 8]
fsub dword [esp + 0xc0]
fstp dword [esp + 0x74]
fld dword [0x22094c8]
fadd st(2)
fstp dword [0x22094c8]
mov ecx, dword [0x22094c8]
fld dword [0x22094cc]
fadd st(1)
fstp dword [0x22094cc]
fstp st(0)
fstp st(0)
fld dword [0x22094d0]
fadd dword [esp + 0x74]
fstp dword [0x22094d0]
mov eax, dword [0x22094d0]
mov edx, dword [esi + 0x13fecc]
mov edx, dword [edx + 0x14]
mov dword [esp + 0x14], edx
mov dl, byte [esi + 9]
test dl, dl
push eax
je 0x4432e1
mov eax, dword [esp + 0x18]
push eax
push ecx
lea ecx, [esi + 0x13cc3c]
call fcn.005a4de0
jmp 0x4432ea
push ecx
lea ecx, [esi + 0xc]
call fcn.005a2c30
mov al, byte [esi + 9]
fadd dword [0x6bc860]
test al, al
je 0x443319
mov ecx, dword [esi + 0x13fecc]
fld dword [ecx + 0x14]
fadd dword [0x6bca1c]
fst dword [esp + 0x58]
fcomp st(1)
fnstsw ax
test ah, 5
jp 0x443319
fstp st(0)
fld dword [esp + 0x58]
fld dword [0x22094cc]
fcomp st(1)
fnstsw ax
test ah, 5
jp 0x443330
fstp dword [0x22094cc]
jmp 0x443332
fstp st(0)
mov ecx, dword [esi + 0x13fecc]
fld dword [ecx + 0x10]
fcomp dword [0x6bb5fc]
fnstsw ax
test ah, 5
jp 0x44334b
mov dword [ecx + 0x10], edi
mov ecx, dword [esi + 0x13fecc]
fld dword [ecx + 0x18]
fcomp dword [0x6bb5fc]
fnstsw ax
test ah, 5
jp 0x443364
mov dword [ecx + 0x18], edi
fild dword [esi + 0x1400e4]
mov ecx, dword [esi + 0x13fecc]
fcom dword [ecx + 0x10]
fnstsw ax
test ah, 5
jp 0x44337f
fstp dword [ecx + 0x10]
jmp 0x443381
fstp st(0)
fild dword [esi + 0x1400e4]
mov ecx, dword [esi + 0x13fecc]
fcom dword [ecx + 0x18]
fnstsw ax
test ah, 5
jp 0x44339c
fstp dword [ecx + 0x18]
jmp 0x44339e
fstp st(0)
mov eax, dword [0x71d028]
test eax, eax
mov edi, dword [0x71d02c]
mov edx, dword [0x71d008]
je 0x4433bc
test edx, edx
je 0x4433da
jmp 0x44345d
test edx, edx
jne 0x44345d
test edi, edi
je 0x44345d
mov ecx, dword [0x71d030]
test ecx, ecx
jne 0x44345d
xor ecx, ecx
test eax, eax
je 0x4433eb
test edx, edx
jne 0x44341f
mov ecx, 1
jmp 0x4433ef
test edx, edx
jne 0x44341f
test edi, edi
je 0x44341f
mov eax, dword [0x71d030]
test eax, eax
jne 0x44341f
mov eax, dword [esi + 0x13fecc]
fld dword [0x71d004]
fsub dword [eax + 0x14]
fabs
fcomp dword [0x6bc8b4]
fnstsw ax
test ah, 0x41
jne 0x44341f
mov ecx, 1
mov eax, dword [esi + 0x13fecc]
mov edi, dword [eax + 0xe0]
test edi, edi
jne 0x44345d
test ecx, ecx
je 0x44345d
call dword [sym.imp.WINMM.dll_timeGetTime]
mov edi, dword [0x71d078]
mov ecx, eax
sub ecx, edi
cmp ecx, 0x1f4
jbe 0x443457
mov ecx, esi
mov dword [0x71d078], eax
call fcn.004395b0
mov edx, dword [0x71d008]
test ebx, ebx
je 0x44346a
mov eax, dword [esp + 0x40]
mov dword [0x71d004], eax
mov eax, dword [0x868dd4]
test eax, eax
mov ecx, dword [0x71d030]
mov dword [0x71d028], edx
mov dword [0x71d02c], ecx
je 0x4435d5
cmp eax, 0x64
jl 0x4435d5
mov edx, dword [0x868dd8]
push edx
mov ecx, esi
call fcn.00447b60
test eax, eax
je 0x4435d5
mov ecx, dword [esi + 0x13fecc]
fld dword [eax + 0x38]
fsub dword [ecx + 0x10]
add ecx, 0x10
fld dword [eax + 0x3c]
fsub dword [ecx + 4]
fld dword [eax + 0x40]
fsub dword [ecx + 8]
fld st(2)
fmulp st(3)
fld st(0)
fmul st(1)
faddp st(3)
fld st(1)
fmul st(2)
faddp st(3)
fxch st(2)
fsqrt
fstp st(2)
fstp st(0)
fabs
fcomp dword [0x6bca1c]
fnstsw ax
test ah, 0x41
jne 0x4435d5
mov eax, dword [0x868dd4]
cmp eax, 0x67
jne 0x44350a
cmp byte [0x21fe735], 2
je 0x4435d5
jmp 0x4435cb
cmp eax, 0x70
jne 0x4435cb
movzx eax, word [0x86de22]
push eax
mov ecx, 0x86deb0
call fcn.0047a450
test eax, eax
je 0x4435cb
mov cl, byte [eax + 0x40]
test cl, cl
jne 0x4435cb
xor ecx, ecx
mov cl, byte [eax + 0x4c]
xor edx, edx
mov dl, byte [eax + 0x49]
movzx eax, byte [eax + 0x46]
push ecx
mov ecx, 0x8655e8
push edx
push eax
call fcn.004cace0
test eax, eax
jne 0x44358f
push 0x1436
call fcn.0041d4a0
mov ecx, dword [0x7191d8]
add esp, 4
push eax
push 0x11
call fcn.0041f6b0
push 0
push 0x447a0000
push 0x22094c8
push 0x6be918
mov ecx, 0x22071e0
call fcn.0053a850
jmp 0x4435cb
xor eax, eax
mov al, byte [0x86de28]
test al, al
je 0x4435b3
xor ecx, ecx
mov cl, byte [0x86de29]
push ecx
push eax
call fcn.00598b80
add esp, 8
mov byte [0x86de28], 0
mov eax, dword [0x868ddc]
xor edx, edx
mov dx, word [0x86de22]
push edx
push eax
call fcn.00599120
add esp, 8
mov dword [0x868dd4], 0
mov ecx, dword [esi + 0x13fecc]
add ecx, 0x10
push ecx
mov ecx, 0x2207140
call fcn.00537940
mov edi, eax
xor ebx, ebx
cmp edi, ebx
je 0x443690
mov edx, dword [0x223f100]
cmp dword [edx + 0x484], ebx
jne 0x44365c
mov ecx, esi
call fcn.004395b0
mov eax, dword [0x71cfb0]
mov ecx, dword [eax]
call fcn.0048ca10
xor ecx, ecx
mov cl, byte [edi]
push ecx
call fcn.00598490
mov edx, dword [0x223f100]
mov dword [edx + 0x484], 1
mov dword [esi + 0x14022c], edi
mov eax, dword [edi + 0x228]
add esp, 4
push eax
mov ecx, 0x8655e8
call fcn.004cbcd0
test eax, eax
je 0x443690
call dword [sym.imp.WINMM.dll_timeGetTime]
mov dword [esi + 0x1402c4], eax
jmp 0x443690
mov ecx, dword [edi + 0x228]
push ecx
mov ecx, 0x8655e8
call fcn.004cbcd0
test eax, eax
je 0x443690
call dword [sym.imp.WINMM.dll_timeGetTime]
sub eax, dword [esi + 0x1402c4]
cmp eax, 0x3a98
jbe 0x443690
mov edx, dword [0x223f100]
mov dword [edx + 0x484], ebx
mov edi, dword [esi + 0x14022c]
cmp edi, ebx
je 0x44375b
mov eax, dword [esi + 0x13fecc]
add eax, 0x10
push eax
lea ecx, [edi + 4]
call fcn.00439720
test al, al
jne 0x44375b
lea ecx, [esp + 0x6c]
push ecx
lea ecx, [edi + 0x238]
call fcn.0043adc0
fld dword [esp + 0x78]
fsub dword [esp + 0x6c]
mov eax, dword [esi + 0x13fecc]
add eax, 0x10
fmul dword [0x6bc860]
fadd dword [esp + 0x6c]
fld dword [esp + 0x7c]
fsub dword [esp + 0x70]
fmul dword [0x6bc860]
fadd dword [esp + 0x70]
fld dword [esp + 0x80]
fsub dword [esp + 0x74]
fmul dword [0x6bc860]
fadd dword [esp + 0x74]
fstp dword [esp + 0x74]
fxch st(1)
fsub dword [eax]
fstp dword [esp + 0x60]
fsub dword [eax + 4]
fld dword [esp + 0x74]
fsub dword [eax + 8]
fld st(0)
fmul st(1)
fld st(2)
fmul st(3)
faddp st(1)
fld dword [esp + 0x60]
fmul dword [esp + 0x60]
faddp st(1)
fsqrt
fstp st(2)
fstp st(0)
fabs
fcomp dword [0x6bc9c8]
fnstsw ax
test ah, 0x41
jne 0x44375b
mov edx, dword [0x223f100]
mov dword [edx + 0x484], ebx
mov dword [esi + 0x14022c], ebx
mov eax, dword [esi + 0x13fecc]
mov edx, dword [eax + 0x10]
add eax, 0x10
sub esp, 0xc
mov ecx, esp
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov eax, dword [eax + 8]
mov dword [ecx + 8], eax
lea edi, [esi + 0x13d7a0]
mov ecx, edi
mov dword [esp + 0x20], esp
call fcn.00536fa0
test al, al
je 0x443a4c
mov eax, dword [esi + 0x13fecc]
mov cl, byte [eax + 0x285]
test cl, cl
jne 0x443a4c
cmp dword [eax + 0x25c], ebx
jne 0x443a4c
cmp dword [edi], ebx
jne 0x4437c2
mov dword [eax + 0xe4], ebx
jmp 0x443ad0
mov al, byte [esi + 0x13d7a8]
test al, al
mov ecx, esi
je 0x4438c0
call fcn.004395b0
mov dword [esi + 0x1400e0], 2
mov ecx, dword [esi + 0x13fecc]
mov dword [ecx + 0xe4], 1
mov edx, dword [edi]
mov eax, dword [esi + 0x13fecc]
add edx, 0xa4
mov ecx, dword [edx]
add eax, 0x10
mov dword [eax], ecx
mov ecx, dword [edx + 4]
mov dword [eax + 4], ecx
mov edx, dword [edx + 8]
mov dword [eax + 8], edx
mov eax, dword [edi]
lea ecx, [eax + 0xa4]
push ecx
lea edx, [esp + 0x64]
push edx
lea ecx, [eax + 0xb0]
call fcn.00437a30
lea ecx, [esp + 0x60]
call fcn.00437af0
push 0x3f666666
sub esp, 0xc
lea eax, [esp + 0x70]
mov ecx, esp
mov dword [esp + 0x24], esp
push eax
call fcn.00421640
lea ecx, [esp + 0x344]
push ecx
call fcn.00421690
fld dword [eax]
mov ecx, dword [esi + 0x13fecc]
fadd dword [ecx + 0x10]
add ecx, 0x10
add esp, 0x14
fstp dword [ecx]
fld dword [eax + 4]
fadd dword [ecx + 4]
fstp dword [ecx + 4]
fld dword [eax + 8]
fadd dword [ecx + 8]
fstp dword [ecx + 8]
mov edi, dword [edi]
fld dword [edi + 0x10]
mov edx, dword [esi + 0x13fecc]
add edi, 0x10
fchs
fstp dword [esp + 0x60]
mov eax, dword [esp + 0x60]
fld dword [edi + 4]
add edx, 0x1c
fchs
fstp dword [esp + 0x64]
mov ecx, dword [esp + 0x64]
fld dword [edi + 8]
mov dword [edx], eax
fchs
mov dword [edx + 4], ecx
fstp dword [esp + 0x68]
mov eax, dword [esp + 0x68]
mov dword [edx + 8], eax
jmp 0x443a0c
call fcn.004395b0
mov dword [esi + 0x1400e0], 2
mov ecx, dword [esi + 0x13fecc]
mov dword [ecx + 0xe4], 1
mov edx, dword [edi]
mov eax, dword [esi + 0x13fecc]
add edx, 0xb0
mov ecx, dword [edx]
add eax, 0x10
mov dword [eax], ecx
mov ecx, dword [edx + 4]
mov dword [eax + 4], ecx
mov edx, dword [edx + 8]
mov dword [eax + 8], edx
mov eax, dword [edi]
lea ecx, [eax + 0xb0]
push ecx
lea edx, [esp + 0x64]
push edx
lea ecx, [eax + 0xa4]
call fcn.00437a30
lea ecx, [esp + 0x60]
call fcn.00437af0
push 0x3f666666
sub esp, 0xc
lea eax, [esp + 0x70]
mov ecx, esp
mov dword [esp + 0x24], esp
push eax
call fcn.00421640
lea ecx, [esp + 0x320]
push ecx
call fcn.00421690
fld dword [eax]
mov ecx, dword [esi + 0x13fecc]
fadd dword [ecx + 0x10]
add ecx, 0x10
add esp, 0x14
fstp dword [ecx]
fld dword [eax + 4]
fadd dword [ecx + 4]
fstp dword [ecx + 4]
fld dword [eax + 8]
fadd dword [ecx + 8]
fstp dword [ecx + 8]
mov edi, dword [edi]
fld dword [edi + 0x10]
mov edx, dword [esi + 0x13fecc]
fchs
add edi, 0x10
fstp dword [esp + 0x60]
mov eax, dword [esp + 0x60]
fld dword [edi + 4]
add edx, 0x1c
fchs
fstp dword [esp + 0x64]
mov ecx, dword [esp + 0x64]
fld dword [edi + 8]
mov dword [edx], eax
fchs
mov dword [edx + 4], ecx
fstp dword [esp + 0x68]
mov eax, dword [esp + 0x68]
mov dword [edx + 8], eax
mov eax, dword [esi + 0x13fecc]
fld dword [eax + 0x1c]
fmul dword [0x6bc898]
fld dword [eax + 0x20]
fmul dword [0x6bc898]
fld dword [eax + 0x24]
fmul dword [0x6bc898]
fstp dword [esp + 0x74]
fld dword [eax + 0x10]
fsub st(2)
fstp dword [esp + 0x60]
fld dword [eax + 0x14]
fsub st(1)
fstp dword [esp + 0x64]
fstp st(0)
fstp st(0)
fld dword [eax + 0x18]
fsub dword [esp + 0x74]
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x64]
mov dword [0x22094c8], ecx
fstp dword [esp + 0x68]
mov eax, dword [esp + 0x68]
mov dword [0x22094cc], edx
mov dword [0x22094d0], eax
mov ecx, dword [esi + 0x13fecc]
mov dword [ecx + 0xcc], 0x12
mov edx, dword [esi + 0x13fecc]
mov dword [edx + 0xc8], ebx
mov eax, dword [esi + 0x13fecc]
mov dword [eax + 0xd0], ebx
mov ecx, dword [esi + 0x13fecc]
mov dword [ecx + 0xd4], ebx
mov edx, dword [esi + 0x13fecc]
mov dword [edx + 0xd8], ebx
cmp dword [0x71d000], 6
jne 0x443a61
mov dword [esi + 0x1401ec], 1
jmp 0x443a67
mov dword [esi + 0x1401ec], ebx
mov eax, dword [esi + 0x13fecc]
cmp dword [eax + 0xdc], 7
je 0x443a7e
cmp dword [eax + 0xe4], ebx
je 0x443a8a
mov dword [esi + 0x1401ec], ebx
mov dword [0x71d000], ebx
cmp dword [esp + 0x54], ebx
je 0x443ad0
cmp dword [0x71d018], ebx
jne 0x443aa0
cmp dword [0x71d01c], ebx
je 0x443ad0
call dword [sym.imp.WINMM.dll_timeGetTime]
mov edi, dword [0x71d078]
mov ecx, eax
sub ecx, edi
cmp ecx, 0xfa
jbe 0x443ad0
mov ecx, esi
mov dword [0x71d078], eax
call fcn.004395b0
mov dword [0x71d01c], ebx
mov dword [0x71d018], ebx
mov ecx, dword [esp + 0x724]
pop edi
pop esi
mov eax, 1
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret 4