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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
push 0xffffffffffffffff
push 0x698aab
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x708
cmp dword [0x703c1c], 6
push ebx
push esi
push edi
mov esi, ecx
je 0x442591
mov al, byte [0x21ea810]
xor edi, edi
test al, al
jne 0x442591
cmp dword [0x703c08], edi
je 0x43ac3b
cmp dword [0x852b5c], 0x12
jne 0x43ac46
cmp dword [0x6f3558], 7
je 0x43ac46
mov ecx, dword [0x84716c]
cmp ecx, edi
je 0x442591
push edi
call fcn.004118b0
mov eax, dword [0x84716c]
mov dword [eax + 0xdc], edi
mov dword [esi + 0x1400e0], edi
jmp 0x442591
mov eax, dword [0x21f1c70]
mov ecx, dword [eax]
lea edx, [esp + 0x330]
push edx
push 3
push eax
call dword [ecx + 0xb4]
fild dword [0x706454]
mov eax, dword [0x21f1c70]
mov ecx, dword [eax]
fadd st(0), st(0)
lea edx, [esp + 0x370]
fidiv dword [0x6f355c]
push edx
mov ebx, 2
push ebx
push eax
fsub dword [0x6a8210]
fdiv dword [esp + 0x33c]
fstp dword [esp + 0x94]
fild dword [0x706458]
fadd st(0), st(0)
fidiv dword [0x6f3560]
fsub dword [0x6a8210]
fdiv dword [esp + 0x350]
fchs
fstp dword [esp + 0x98]
call dword [ecx + 0xb4]
lea eax, [esp + 0x370]
push eax
push 0
lea ecx, [esp + 0x268]
push ecx
call fcn.005d09de
fld dword [esp + 0x270]
fmul dword [esp + 0x8c]
fld dword [esp + 0x260]
fmul dword [esp + 0x88]
faddp st(1)
fadd dword [esp + 0x280]
fst dword [esp + 0xbc]
fld dword [esp + 0x274]
fmul dword [esp + 0x8c]
fld dword [esp + 0x264]
fmul dword [esp + 0x88]
faddp st(1)
fadd dword [esp + 0x284]
fst dword [esp + 0xc0]
fld dword [esp + 0x278]
fmul dword [esp + 0x8c]
fld dword [esp + 0x268]
fmul dword [esp + 0x88]
faddp st(1)
fadd dword [esp + 0x288]
fstp dword [esp + 0xc4]
mov edx, dword [esp + 0xc4]
fld st(1)
mov dword [esp + 0x258], edx
fstp dword [esp + 0x250]
fst dword [esp + 0x254]
fld st(1)
fadd st(0), st(0)
fstp dword [esp + 0x220]
fld st(0)
fadd st(1)
fstp dword [esp + 0x224]
fld dword [esp + 0xc4]
fadd st(0), st(0)
fstp dword [esp + 0x228]
fld dword [esp + 0x220]
fadd dword [esp + 0x290]
fst dword [esp + 0x88]
fld dword [esp + 0x224]
fadd dword [esp + 0x294]
fst dword [esp + 0x8c]
fld dword [esp + 0x228]
mov ecx, edx
fadd dword [esp + 0x298]
mov edx, dword [esp + 0x88]
mov dword [esp + 0x21c], ecx
lea edi, [esi + 0x140210]
fstp dword [esp + 0x90]
mov eax, dword [esp + 0x90]
fxch st(1)
mov dword [esp + 0x210], eax
fstp dword [esp + 0x208]
fstp dword [esp + 0x20c]
fxch st(1)
fstp dword [esp + 0x214]
fstp dword [esp + 0x218]
mov dword [edi], edx
mov eax, dword [esp + 0x20c]
mov dword [edi + 4], eax
mov ecx, dword [esp + 0x210]
mov dword [edi + 8], ecx
mov edx, dword [esp + 0x214]
mov dword [edi + 0xc], edx
mov eax, dword [esp + 0x218]
mov dword [edi + 0x10], eax
mov ecx, dword [esp + 0x21c]
mov dword [edi + 0x14], ecx
lea ecx, [esp + 0x208]
call fcn.00525410
push 0x70721c
lea ecx, [esi + 0xc]
push edi
mov dword [esi + 0x140228], 0x497423f0
call fcn.0058ec90
test al, al
je 0x43aec3
fld dword [0x707224]
fsub dword [esp + 0x90]
fld dword [0x707220]
fsub dword [esp + 0x8c]
fld dword [0x70721c]
fsub dword [esp + 0x88]
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 0x442591
mov ecx, dword [eax + 0xe4]
mov edx, dword [eax + 0xdc]
xor edi, edi
cmp ecx, edi
mov dword [0x7071f8], edx
je 0x43af06
cmp dword [0x703c18], edi
jne 0x442591
mov ecx, esi
call fcn.00439ac0
jmp 0x442591
mov ecx, dword [0x21f1d38]
mov edx, dword [0x21f1d3c]
mov dword [esp + 0x64], ecx
mov ecx, dword [0x21f1d40]
mov dword [esp + 0x6c], ecx
movzx ecx, byte [eax + 0x275]
cmp ecx, 3
mov dword [esp + 0x68], edx
mov edx, dword [0x703a40]
mov dword [esp + 0x28], edx
jg 0x43af67
je 0x43af5b
sub ecx, edi
je 0x43af4f
dec ecx
jne 0x43af8c
fld dword [esp + 0x28]
fsub dword [0x6a8210]
jmp 0x43af88
fld dword [esp + 0x28]
fsub dword [0x6a8644]
jmp 0x43af88
fld dword [esp + 0x28]
fadd dword [0x6a8210]
jmp 0x43af88
cmp ecx, 4
je 0x43af7e
cmp ecx, 0xff
jne 0x43af8c
mov dword [esp + 0x28], 0
jmp 0x43af8c
fld dword [esp + 0x28]
fadd dword [0x6a8644]
fstp dword [esp + 0x28]
mov cl, byte [eax + 0x378]
test cl, cl
je 0x43afab
cmp cl, 2
mov dword [esp + 0x28], 0x40e00000
jne 0x43afab
mov dword [esp + 0x28], 0x41000000
fld dword [eax + 0x15c]
fsub dword [eax + 0x24]
fld dword [eax + 0x158]
fsub dword [eax + 0x20]
fld dword [eax + 0x154]
fsub dword [eax + 0x1c]
lea eax, [esp + 0x178]
push eax
mov ecx, eax
fstp dword [esp + 0x17c]
push ecx
fst dword [esp + 0x184]
fld st(1)
fstp dword [esp + 0x188]
fld dword [esp + 0x180]
fmul dword [esp + 0x180]
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 + 0x68]
call fcn.005cf7eb
fld dword [esp + 0x28]
fmul dword [0x6a84d0]
fst dword [esp + 0x18]
fld dword [esp + 0x180]
fmul st(1)
fld dword [esp + 0x17c]
fmul st(2)
fstp dword [esp + 0x4c]
fxch st(1)
fmul dword [esp + 0x178]
fstp dword [esp + 0x38]
fmul dword [0x703c14]
fld dword [esp + 0x4c]
fmul dword [0x703c14]
fld dword [esp + 0x38]
fmul dword [0x703c14]
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 + 0x60]
fsub dword [0x6a84cc]
fcompp
fnstsw ax
test ah, 0x41
mov eax, dword [esi + 0x13fecc]
jne 0x43b09d
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 0x43b0bc
lea edx, [eax + 0x154]
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], edi
mov dword [esi + 0x1400e0], edi
mov eax, dword [0x6f3558]
cmp eax, 1
mov dword [esp + 0x58], edi
mov dword [esp + 0x5c], 1
mov dword [esp + 0x1c], 0
mov dword [esp + 0x20], 0
mov dword [esp + 0x24], 0
jne 0x43b1d0
mov eax, dword [0x703c18]
test eax, eax
mov edi, dword [0x21ebef8]
jne 0x43b14c
mov al, byte [0x21eadf7]
test al, al
jne 0x43b14c
mov al, byte [0x21eadf4]
test al, al
jne 0x43b14c
push 0x2c
mov ecx, edi
call fcn.004256f0
test al, al
je 0x43b136
mov word [0x21e756c], 4
jmp 0x43b14c
push 0x14
mov ecx, edi
call fcn.004256f0
test al, al
je 0x43b14c
mov word [0x21e756c], 5
push 0x58
mov ecx, edi
call fcn.004256f0
test al, al
je 0x43b169
mov al, byte [0x21e7c9e]
test al, al
sete cl
mov byte [0x21e7c9e], cl
push 0xb7
mov ecx, edi
call fcn.004256f0
test al, al
je 0x43b2e7
xor eax, eax
mov ecx, 0x41
lea edi, [esp + 0x3f8]
lea edx, [esp + 0x3f8]
rep stosd dword es:[edi], eax
push edx
mov ecx, 0x21f1c78
call fcn.00532890
lea eax, [esp + 0x3f8]
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x43b1b0
sub eax, edx
mov dword [esp + 0x4c], eax
je 0x43b2d2
lea eax, [esp + 0x3f8]
push eax
jmp 0x43b2b7
cmp eax, 3
jne 0x43b251
cmp dword [0x84efa8], edi
jne 0x43b2e1
mov edi, dword [0x21ebef8]
push 0x58
mov ecx, edi
call fcn.004256f0
test al, al
jne 0x43b208
push 0xb7
mov ecx, edi
call fcn.004256f0
test al, al
je 0x43b2e7
xor eax, eax
mov ecx, 0x41
lea edi, [esp + 0x500]
rep stosd dword es:[edi], eax
lea ecx, [esp + 0x500]
push ecx
mov ecx, 0x21f1c78
call fcn.00532890
lea eax, [esp + 0x500]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x43b234
sub eax, edx
mov dword [esp + 0x4c], eax
je 0x43b2d2
lea edx, [esp + 0x500]
push edx
jmp 0x43b2b7
mov edi, dword [0x21ebef8]
push 0x58
mov ecx, edi
call fcn.004256f0
test al, al
jne 0x43b274
push 0xb7
mov ecx, edi
call fcn.004256f0
test al, al
je 0x43b2e7
xor eax, eax
mov ecx, 0x41
lea edi, [esp + 0x608]
rep stosd dword es:[edi], eax
lea eax, [esp + 0x608]
push eax
mov ecx, 0x21f1c78
call fcn.00532890
lea eax, [esp + 0x608]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x43b2a0
sub eax, edx
mov dword [esp + 0x4c], eax
je 0x43b2d2
lea ecx, [esp + 0x608]
push ecx
push 0x704578
call fcn.0041b140
push 0x167
push 7
call fcn.0041d9a0
add esp, 0x10
jmp 0x43b2e1
push 0x168
push 0x11
call fcn.0041d9a0
add esp, 8
mov edi, dword [0x21ebef8]
push 0x43
mov ecx, edi
call fcn.004256f0
test al, al
je 0x43b31f
cmp dword [0x6f3558], 3
jne 0x43b306
mov eax, dword [0x84efa8]
test eax, eax
jne 0x43b31f
mov ecx, esi
push 0
mov dword [0x703a88], 0
call fcn.00442870
mov edi, dword [0x21ebef8]
push 0x44
mov ecx, edi
call fcn.004256f0
test al, al
je 0x43b362
cmp dword [0x6f3558], 3
jne 0x43b33e
mov eax, dword [0x84efa8]
test eax, eax
jne 0x43b362
mov edx, dword [0x703a88]
xor eax, eax
test edx, edx
sete al
test eax, eax
mov dword [0x703a88], eax
jne 0x43b362
mov ecx, esi
push eax
call fcn.00442870
mov edi, dword [0x21ebef8]
push 0x57
mov ecx, edi
call fcn.004256f0
test al, al
je 0x43b3a7
cmp dword [0x6f3558], 3
jne 0x43b395
mov eax, dword [0x84efa8]
test eax, eax
jne 0x43b3a7
mov eax, dword [0x703a84]
xor edx, edx
test eax, eax
sete dl
mov dword [0x703a84], edx
jmp 0x43b3a7
mov ecx, dword [0x703a84]
xor eax, eax
test ecx, ecx
sete al
mov dword [0x703a84], eax
mov eax, dword [0x703c18]
test eax, eax
jne 0x43b3f1
mov al, byte [0x21eadf7]
test al, al
jne 0x43b3f1
mov al, byte [0x21eadf4]
test al, al
jne 0x43b3f1
push 0xe
mov ecx, edi
call fcn.004256f0
test al, al
je 0x43b3f1
mov ecx, dword [esi + 0x13fecc]
add ecx, 0x160
push ecx
push 0x851b18
mov ecx, 0x84f768
call fcn.004c1b70
mov edi, dword [0x21ebef8]
mov al, byte [0x21e6a28]
test al, al
je 0x43b4bf
push 0x3b
mov ecx, edi
call fcn.004256f0
test al, al
je 0x43b40f
xor eax, eax
jmp 0x43b472
push 0x3c
mov ecx, edi
call fcn.004256f0
test al, al
je 0x43b423
mov eax, 1
jmp 0x43b472
push 0x3d
mov ecx, edi
call fcn.004256f0
test al, al
je 0x43b434
mov eax, ebx
jmp 0x43b472
push 0x3e
mov ecx, edi
call fcn.004256f0
test al, al
je 0x43b448
mov eax, 3
jmp 0x43b472
push 0x3f
mov ecx, edi
call fcn.004256f0
test al, al
je 0x43b45c
mov eax, 4
jmp 0x43b472
push 0x40
mov ecx, edi
call fcn.004256f0
test al, al
je 0x43b949
mov eax, 5
mov ecx, dword [0x21e697c]
lea edx, [ecx + ecx*2]
lea eax, [eax + edx*2]
push eax
mov ecx, 0x21e6948
call fcn.0041fad0
test eax, eax
je 0x43b949
cmp dword [0x6f3558], 3
jne 0x43b772
mov ecx, dword [0x84efa8]
test ecx, ecx
jne 0x43b949
mov ecx, dword [esi + 0x13fecc]
mov edx, dword [eax]
mov dword [ecx + 0x160], edx
jmp 0x43b92b
mov ecx, dword [0x21e6938]
test ecx, ecx
je 0x43b8a2
mov eax, dword [0x21e693c]
sub eax, ecx
sar eax, 2
test eax, eax
je 0x43b8a2
push 0x3b
mov ecx, edi
call fcn.004256f0
test al, al
je 0x43b554
cmp dword [0x6f3558], 3
jne 0x43b502
mov eax, dword [0x84efa8]
test eax, eax
jne 0x43b949
push 0
mov ecx, 0x21e6930
call fcn.0043a010
test eax, eax
je 0x43b949
mov ecx, dword [0x707160]
mov edx, dword [ecx]
mov ecx, dword [edx + 0x28c]
mov dword [ecx + 0x104], 0
mov edx, dword [esi + 0x13fecc]
mov eax, dword [eax]
mov dword [edx + 0x160], eax
mov dword [0x851b18], ebx
mov ecx, dword [esi + 0x13fecc]
mov edx, dword [ecx + 0x160]
push edx
jmp 0x43b93e
push 0x3c
mov ecx, edi
call fcn.004256f0
test al, al
je 0x43b5c9
cmp dword [0x6f3558], 3
jne 0x43b577
mov eax, dword [0x84efa8]
test eax, eax
jne 0x43b949
push 1
mov ecx, 0x21e6930
call fcn.0043a010
test eax, eax
je 0x43b949
mov ecx, dword [0x707160]
mov edx, dword [ecx]
mov ecx, dword [edx + 0x28c]
mov dword [ecx + 0x104], 1
mov edx, dword [esi + 0x13fecc]
mov eax, dword [eax]
mov dword [edx + 0x160], eax
mov dword [0x851b18], ebx
mov ecx, dword [esi + 0x13fecc]
mov edx, dword [ecx + 0x160]
push edx
jmp 0x43b93e
push 0x3d
mov ecx, edi
call fcn.004256f0
test al, al
je 0x43b639
cmp dword [0x6f3558], 3
jne 0x43b5ec
mov eax, dword [0x84efa8]
test eax, eax
jne 0x43b949
push ebx
mov ecx, 0x21e6930
call fcn.0043a010
test eax, eax
je 0x43b949
mov ecx, dword [0x707160]
mov edx, dword [ecx]
mov ecx, dword [edx + 0x28c]
mov dword [ecx + 0x104], ebx
mov edx, dword [esi + 0x13fecc]
mov eax, dword [eax]
mov dword [edx + 0x160], eax
mov dword [0x851b18], ebx
mov ecx, dword [esi + 0x13fecc]
mov edx, dword [ecx + 0x160]
push edx
jmp 0x43b93e
push 0x3e
mov ecx, edi
call fcn.004256f0
test al, al
je 0x43b6ae
mov eax, dword [0x6f3558]
mov edi, 3
cmp eax, edi
jne 0x43b661
mov eax, dword [0x84efa8]
test eax, eax
jne 0x43b949
push edi
mov ecx, 0x21e6930
call fcn.0043a010
test eax, eax
je 0x43b949
mov ecx, dword [0x707160]
mov edx, dword [ecx]
mov ecx, dword [edx + 0x28c]
mov dword [ecx + 0x104], edi
mov edx, dword [esi + 0x13fecc]
mov eax, dword [eax]
mov dword [edx + 0x160], eax
mov dword [0x851b18], ebx
mov ecx, dword [esi + 0x13fecc]
mov edx, dword [ecx + 0x160]
push edx
jmp 0x43b93e
push 0x3f
mov ecx, edi
call fcn.004256f0
test al, al
je 0x43b723
cmp dword [0x6f3558], 3
jne 0x43b6d1
mov eax, dword [0x84efa8]
test eax, eax
jne 0x43b949
push 4
mov ecx, 0x21e6930
call fcn.0043a010
test eax, eax
je 0x43b949
mov ecx, dword [0x707160]
mov edx, dword [ecx]
mov ecx, dword [edx + 0x28c]
mov dword [ecx + 0x104], 4
mov edx, dword [esi + 0x13fecc]
mov eax, dword [eax]
mov dword [edx + 0x160], eax
mov dword [0x851b18], ebx
mov ecx, dword [esi + 0x13fecc]
mov edx, dword [ecx + 0x160]
push edx
jmp 0x43b93e
push 0x40
mov ecx, edi
call fcn.004256f0
test al, al
je 0x43b798
cmp dword [0x6f3558], 3
jne 0x43b746
mov eax, dword [0x84efa8]
test eax, eax
jne 0x43b949
push 5
mov ecx, 0x21e6930
call fcn.0043a010
test eax, eax
je 0x43b949
mov ecx, dword [0x707160]
mov edx, dword [ecx]
mov ecx, dword [edx + 0x28c]
mov dword [ecx + 0x104], 5
mov edx, dword [esi + 0x13fecc]
mov eax, dword [eax]
mov dword [edx + 0x160], eax
mov dword [0x851b18], ebx
mov ecx, dword [esi + 0x13fecc]
mov edx, dword [ecx + 0x160]
push edx
jmp 0x43b93e
push 0x41
mov ecx, edi
call fcn.004256f0
test al, al
je 0x43b83c
cmp dword [0x6f3558], 3
jne 0x43b7fd
mov eax, dword [0x84efa8]
test eax, eax
jne 0x43b949
mov eax, dword [0x707160]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x28c]
push 6
mov ecx, 0x21e6930
mov dword [edx + 0x104], 6
call fcn.0043a010
test eax, eax
je 0x43b949
mov ecx, dword [esi + 0x13fecc]
mov edx, dword [eax]
mov dword [ecx + 0x160], edx
jmp 0x43b92b
push 6
mov ecx, 0x21e6930
call fcn.0043a010
test eax, eax
je 0x43b949
mov edx, dword [0x707160]
mov ecx, dword [edx]
mov edx, dword [ecx + 0x28c]
mov dword [edx + 0x104], 6
mov ecx, dword [esi + 0x13fecc]
mov edx, dword [eax]
mov dword [ecx + 0x160], edx
jmp 0x43b92b
push 0x42
mov ecx, edi
call fcn.004256f0
test al, al
je 0x43b949
cmp dword [0x6f3558], 3
jne 0x43b863
mov eax, dword [0x84efa8]
test eax, eax
jne 0x43b949
push 7
mov ecx, 0x21e6930
call fcn.0043a010
test eax, eax
je 0x43b949
mov edx, dword [0x707160]
mov ecx, dword [edx]
mov edx, dword [ecx + 0x28c]
mov dword [edx + 0x104], 7
mov ecx, dword [esi + 0x13fecc]
mov edx, dword [eax]
mov dword [ecx + 0x160], edx
jmp 0x43b92b
push 0x3b
mov ecx, edi
call fcn.004256f0
test al, al
jne 0x43b90a
push 0x3c
mov ecx, edi
call fcn.004256f0
test al, al
jne 0x43b90a
push 0x3d
mov ecx, edi
call fcn.004256f0
test al, al
jne 0x43b90a
push 0x3e
mov ecx, edi
call fcn.004256f0
test al, al
jne 0x43b90a
push 0x3f
mov ecx, edi
call fcn.004256f0
test al, al
jne 0x43b90a
push 0x40
mov ecx, edi
call fcn.004256f0
test al, al
jne 0x43b90a
push 0x41
mov ecx, edi
call fcn.004256f0
test al, al
jne 0x43b90a
push 0x42
mov ecx, edi
call fcn.004256f0
test al, al
je 0x43b949
cmp dword [0x6f3558], 3
jne 0x43b91c
mov eax, dword [0x84efa8]
test eax, eax
jne 0x43b949
mov eax, dword [esi + 0x13fecc]
mov edx, dword [eax + 0x34]
mov dword [eax + 0x160], edx
mov dword [0x851b18], ebx
mov eax, dword [esi + 0x13fecc]
mov ecx, dword [eax + 0x160]
push ecx
mov ecx, 0x84f768
push ebx
call fcn.004c7b30
mov eax, dword [0x703c18]
or edi, 0xffffffff
test eax, eax
jne 0x43b9e7
mov ecx, dword [0x21ebef8]
push 0x21
call fcn.004256f0
test al, al
je 0x43b9e7
mov ecx, dword [esi + 0x13fecc]
mov eax, dword [ecx + 0x160]
cmp eax, edi
je 0x43b9e7
cmp dword [0x851b18], ebx
jne 0x43b9e7
cmp eax, dword [ecx + 0x34]
je 0x43b9e7
push eax
mov ecx, 0x84f768
call fcn.004c8a80
test eax, eax
jne 0x43b9b1
mov edx, dword [esi + 0x13fecc]
mov eax, dword [edx + 0x160]
push eax
mov ecx, 0x84f768
call fcn.004c5660
test al, al
je 0x43b9e7
mov ecx, dword [esi + 0x13fecc]
mov edx, dword [ecx + 0x160]
push edx
mov ecx, esi
call fcn.00446510
test eax, eax
je 0x43b9e7
mov ecx, dword [eax + 0x37c]
mov dword [0x851b18], ecx
mov edx, dword [esi + 0x13fecc]
mov eax, dword [eax + 0x380]
mov dword [edx + 0x160], eax
mov eax, dword [0x6f3558]
dec eax
je 0x43ba04
sub eax, ebx
je 0x43ba04
mov eax, dword [0x703c18]
test eax, eax
jne 0x43bf12
push 0x29
jmp 0x43ba06
push 0xf
mov ecx, dword [0x21ebef8]
call fcn.004256f0
test al, al
je 0x43bf12
mov edx, dword [esi + 0x13fecc]
mov eax, dword [edx + 0x160]
xor ecx, ecx
cmp eax, edi
mov dword [esp + 0x48], 0x497423f0
mov dword [esp + 0x54], 0
mov dword [esp + 0x50], edi
mov dword [esp + 0x44], ecx
mov dword [esp + 0xfc], ecx
mov dword [esp + 0x4c], ecx
je 0x43bad5
mov edx, dword [0x851b18]
cmp edx, ecx
jne 0x43ba87
push eax
mov ecx, esi
call fcn.00446590
test eax, eax
mov dword [esp + 0xfc], eax
je 0x43bad5
mov ecx, dword [esi + 0x13fecc]
fld dword [ecx + 0x18]
fld dword [ecx + 0x10]
fld dword [eax + 0xc]
mov eax, dword [eax + 4]
mov dword [esp + 0x38], eax
jmp 0x43bab1
cmp edx, ebx
jne 0x43bad5
push eax
mov ecx, esi
call fcn.00446510
test eax, eax
mov dword [esp + 0x4c], eax
je 0x43bad5
mov ecx, dword [esi + 0x13fecc]
fld dword [ecx + 0x18]
fld dword [ecx + 0x10]
mov ecx, dword [eax + 0x10]
fld dword [eax + 0x18]
mov dword [esp + 0x38], ecx
fxch st(2)
fsub st(2)
fstp dword [esp + 0x54]
fstp st(1)
fsub dword [esp + 0x38]
fld st(0)
fmulp st(1)
fld dword [esp + 0x54]
fmul dword [esp + 0x54]
faddp st(1)
fsqrt
fabs
fstp dword [esp + 0x54]
mov eax, dword [esi + 0x13d8a0]
mov eax, dword [eax]
lea ebx, [esi + 0x13d8a8]
mov dword [ebx], eax
cmp eax, dword [esi + 0x13d8a0]
je 0x43bba6
mov edx, dword [ebx]
mov edi, dword [edx + 0x10]
test edi, edi
je 0x43bb83
mov eax, dword [edi + 0xb0]
test eax, eax
jne 0x43bb83
cmp dword [esp + 0xfc], edi
je 0x43bb83
mov ecx, edi
call fcn.004305d0
test eax, eax
jne 0x43bb83
mov eax, dword [esi + 0x13fecc]
fld dword [eax + 0x18]
fld dword [eax + 0x10]
mov eax, dword [edi + 4]
fld dword [edi + 0xc]
mov dword [esp + 0x38], eax
fxch st(2)
fsub st(2)
fstp dword [esp + 0x60]
fstp st(1)
fsub dword [esp + 0x38]
fld st(0)
fmulp st(1)
fld dword [esp + 0x60]
fmul dword [esp + 0x60]
faddp st(1)
fsqrt
fabs
fld dword [esp + 0x54]
fcomp st(1)
fnstsw ax
test ah, 5
jp 0x43bb81
fld dword [esp + 0x48]
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x43bb81
mov ecx, dword [edi + 0x28]
fstp dword [esp + 0x48]
mov dword [esp + 0x50], ecx
mov dword [esp + 0x44], 1
jmp 0x43bb83
fstp st(0)
mov ecx, ebx
call fcn.0040b6a0
mov eax, dword [esi + 0x13d8a0]
cmp dword [ebx], eax
jne 0x43baf1
mov eax, dword [esp + 0x44]
xor ecx, ecx
cmp eax, ecx
jne 0x43bc47
mov eax, dword [esi + 0x13d8a0]
mov eax, dword [eax]
mov dword [ebx], eax
cmp eax, dword [esi + 0x13d8a0]
je 0x43bc45
lea esp, [esp]
mov edx, dword [ebx]
mov edi, dword [edx + 0x10]
test edi, edi
je 0x43bc30
mov eax, dword [edi + 0xb0]
test eax, eax
jne 0x43bc30
mov ecx, edi
call fcn.004305d0
test eax, eax
jne 0x43bc30
mov eax, dword [esi + 0x13fecc]
fld dword [eax + 0x18]
fld dword [eax + 0x10]
mov eax, dword [edi + 4]
fld dword [edi + 0xc]
mov dword [esp + 0x38], eax
fxch st(2)
fsub st(2)
fstp dword [esp + 0x60]
fstp st(1)
fsub dword [esp + 0x38]
fld st(0)
fmulp st(1)
fld dword [esp + 0x60]
fmul dword [esp + 0x60]
faddp st(1)
fsqrt
fabs
fld dword [esp + 0x48]
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x43bc2e
mov ecx, dword [edi + 0x28]
fstp dword [esp + 0x48]
mov dword [esp + 0x50], ecx
jmp 0x43bc30
fstp st(0)
mov ecx, ebx
call fcn.0040b6a0
mov eax, dword [esi + 0x13d8a0]
cmp dword [ebx], eax
jne 0x43bbc0
xor ecx, ecx
mov eax, dword [esp + 0x50]
cmp eax, 0xffffffff
je 0x43bca2
mov dword [0x851b18], ecx
mov edx, dword [esi + 0x13fecc]
mov dword [edx + 0x164], 1
mov dword [0x7071d0], ecx
mov dword [0x7071c8], ecx
mov dword [0x7071cc], ecx
mov ecx, dword [esi + 0x13fecc]
mov dword [ecx + 0x160], eax
mov edx, dword [esi + 0x13fecc]
mov eax, dword [edx + 0x160]
mov ecx, dword [0x851b18]
push eax
push ecx
mov ecx, 0x84f768
call fcn.004c7b30
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 + 0x50], 0xffffffff
je 0x43bdbf
jmp 0x43bcd0
mov eax, dword [eax + 0x10]
mov edi, dword [esi + 0x13fecc]
mov ecx, dword [eax + 0x34]
cmp ecx, dword [edi + 0x34]
je 0x43bda8
mov dl, byte [0x21e6a42]
cmp dl, byte [eax + 0x276]
jne 0x43bd30
mov edx, 2
cmp dword [0x7066b4], edx
jne 0x43bd08
cmp ecx, dword [0x7066b8]
je 0x43bd30
cmp dword [0x7066d0], edx
jne 0x43bda8
mov edx, dword [eax + 0x2c8]
cmp edx, dword [0x706594]
jne 0x43bda8
mov dl, byte [eax + 0x37a]
test dl, dl
je 0x43bda8
mov edx, dword [eax + 0x250]
test edx, edx
jne 0x43bda8
cmp dword [esp + 0x4c], eax
je 0x43bda8
mov edx, dword [eax + 0x27c]
test edx, edx
jne 0x43bda8
fld dword [edi + 0x18]
fld dword [edi + 0x10]
fld dword [eax + 0x18]
mov eax, dword [eax + 0x10]
fxch st(2)
mov dword [esp + 0x38], eax
fsub st(2)
fstp dword [esp + 0x60]
fstp st(1)
fsub dword [esp + 0x38]
fld st(0)
fmulp st(1)
fld dword [esp + 0x60]
fmul dword [esp + 0x60]
faddp st(1)
fsqrt
fabs
fld dword [esp + 0x54]
fcomp st(1)
fnstsw ax
test ah, 5
jp 0x43bda6
fld dword [esp + 0x48]
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x43bda6
fstp dword [esp + 0x48]
mov dword [esp + 0x50], ecx
mov dword [esp + 0x44], 1
jmp 0x43bda8
fstp st(0)
mov ecx, ebx
call fcn.0040b6a0
mov ecx, dword [esi + 0x13d878]
mov eax, dword [ebx]
cmp eax, ecx
jne 0x43bcd0
mov eax, dword [esp + 0x44]
test eax, eax
jne 0x43bead
mov eax, dword [esi + 0x13d878]
mov eax, dword [eax]
mov dword [ebx], eax
cmp eax, dword [esi + 0x13d878]
je 0x43bead
mov eax, dword [eax + 0x10]
mov ecx, dword [esi + 0x13fecc]
mov edi, dword [eax + 0x34]
cmp edi, dword [ecx + 0x34]
je 0x43be96
mov dl, byte [0x21e6a42]
cmp dl, byte [eax + 0x276]
jne 0x43be39
mov edx, 2
cmp dword [0x7066b4], edx
jne 0x43be19
cmp edi, dword [0x7066b8]
je 0x43be39
cmp dword [0x7066d0], edx
jne 0x43be96
mov edx, dword [eax + 0x2c8]
cmp edx, dword [0x706594]
jne 0x43be96
mov dl, byte [eax + 0x37a]
test dl, dl
je 0x43be96
mov edx, dword [eax + 0x250]
test edx, edx
jne 0x43be96
mov edx, dword [eax + 0x27c]
test edx, edx
jne 0x43be96
fld dword [ecx + 0x18]
fld dword [ecx + 0x10]
fld dword [eax + 0x18]
mov eax, dword [eax + 0x10]
fxch st(2)
mov dword [esp + 0x38], eax
fsub st(2)
fstp dword [esp + 0x4c]
fstp st(1)
fsub dword [esp + 0x38]
fld st(0)
fmulp st(1)
fld dword [esp + 0x4c]
fmul dword [esp + 0x4c]
faddp st(1)
fsqrt
fabs
fld dword [esp + 0x48]
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x43be94
fstp dword [esp + 0x48]
mov dword [esp + 0x50], edi
jmp 0x43be96
fstp st(0)
mov ecx, ebx
call fcn.0040b6a0
mov ecx, dword [esi + 0x13d878]
mov eax, dword [ebx]
cmp eax, ecx
jne 0x43bde1
mov ecx, dword [esp + 0x50]
cmp ecx, 0xffffffff
je 0x43bf0a
mov dword [0x851b18], 2
mov edx, dword [esi + 0x13fecc]
xor eax, eax
mov dword [edx + 0x164], 1
mov dword [0x7071d0], eax
mov dword [0x7071c8], eax
mov dword [0x7071cc], eax
mov eax, dword [esi + 0x13fecc]
mov dword [eax + 0x160], ecx
mov ecx, dword [esi + 0x13fecc]
mov edx, dword [ecx + 0x160]
mov eax, dword [0x851b18]
push edx
push eax
mov ecx, 0x84f768
call fcn.004c7b30
mov ebx, 2
or edi, 0xffffffff
mov edx, dword [0x84716c]
mov eax, dword [edx + 0x3cc]
xor ecx, ecx
cmp eax, ecx
je 0x43c0bd
cmp dword [0x703c18], ecx
jne 0x43bf9e
mov al, byte [0x21eadf7]
test al, al
jne 0x43bf9e
mov al, byte [0x21eadf4]
test al, al
jne 0x43bf9e
mov eax, dword [esi + 0x13fecc]
mov eax, dword [eax + 0xdc]
cmp eax, 3
je 0x43bf9e
cmp eax, ebx
je 0x43bf9e
cmp eax, 9
je 0x43bf9e
mov ecx, 0x84f768
call fcn.004c48f0
test eax, eax
jne 0x43bf97
mov ecx, dword [0x703b74]
push ecx
mov ecx, dword [0x21ebef8]
call fcn.004256f0
test al, al
je 0x43bf97
mov al, byte [0x707200]
test al, al
jne 0x43bf9e
mov byte [0x707200], 1
call fcn.0058b010
jmp 0x43bf9e
mov byte [0x707200], 0
mov eax, dword [0x84716c]
mov ebx, dword [eax + 0xdc]
xor edx, edx
cmp ebx, 1
sete dl
mov dword [esi + 0x1400e0], edx
mov ecx, dword [0x84716c]
mov edx, dword [ecx + 0x3cc]
push edx
mov ecx, 0x7072a0
call fcn.00446510
test eax, eax
je 0x43bfe1
mov ecx, dword [0x84716c]
mov edx, dword [ecx + 0x34]
mov dword [eax + 0x3d0], edx
mov eax, dword [esi + 0x13fecc]
fld dword [0x6f3bd8]
fsub dword [0x6a8674]
add eax, 0x10
mov ecx, dword [eax]
mov dword [0x21f1d44], ecx
mov edx, dword [eax + 4]
mov dword [0x21f1d48], edx
fadd dword [0x21f1d48]
mov eax, dword [eax + 8]
mov dword [0x21f1d4c], eax
fstp dword [0x21f1d48]
mov al, byte [esi + 9]
mov ecx, dword [esi + 0x13fecc]
mov edx, dword [ecx + 0x14]
test al, al
mov eax, dword [0x21f1d40]
mov dword [esp + 0x18], edx
push eax
je 0x43c04c
mov ecx, edx
mov edx, dword [0x21f1d38]
push ecx
push edx
lea ecx, [esi + 0x13cc3c]
call fcn.00590db0
jmp 0x43c05b
mov ecx, dword [0x21f1d38]
push ecx
lea ecx, [esi + 0xc]
call fcn.0058ebe0
mov al, byte [esi + 9]
fadd dword [0x6a84d0]
test al, al
je 0x43c08a
mov edx, dword [esi + 0x13fecc]
fld dword [edx + 0x14]
fadd dword [0x6a8690]
fst dword [esp + 0x5c]
fcomp st(1)
fnstsw ax
test ah, 5
jp 0x43c08a
fstp st(0)
fld dword [esp + 0x5c]
fld dword [0x21f1d3c]
fcomp st(1)
fnstsw ax
test ah, 5
jp 0x43c0ad
push 1
fstp dword [0x21f1d3c]
mov ecx, esi
call fcn.004382d0
jmp 0x442591
push 1
fstp st(0)
mov ecx, esi
call fcn.004382d0
jmp 0x442591
mov ax, word [0x21e756c]
cmp ax, 5
jne 0x43c3a3
cmp dword [0x851b18], ebx
mov word [0x21e756c], cx
mov dword [esp + 0x44], 0x497423f0
jne 0x43c149
mov eax, dword [esi + 0x13fecc]
mov ecx, dword [eax + 0x160]
push ecx
mov ecx, esi
call fcn.00446510
test eax, eax
je 0x43c149
mov dl, byte [0x21e6a42]
cmp dl, byte [eax + 0x276]
jne 0x43c149
cmp dword [0x7066b4], ebx
jne 0x43c11d
mov ecx, dword [eax + 0x34]
cmp ecx, dword [0x7066b8]
je 0x43c149
cmp dword [0x7066d0], ebx
jne 0x43c13d
mov edx, dword [eax + 0x2c8]
cmp edx, dword [0x706594]
jne 0x43c13d
mov cl, byte [eax + 0x37a]
test cl, cl
jne 0x43c149
mov eax, dword [esi + 0x13fecc]
mov dword [eax + 0x160], edi
mov ecx, dword [esi + 0x13fecc]
cmp dword [ecx + 0x160], edi
je 0x43c164
cmp dword [0x851b18], 1
jne 0x43c353
mov edx, dword [esi + 0x13d8a0]
mov eax, dword [edx]
lea edi, [esi + 0x13d8a8]
mov dword [edi], eax
cmp eax, dword [esi + 0x13d8a0]
je 0x43c1fe
xor ebx, ebx
mov eax, dword [edi]
mov ecx, dword [eax + 0x10]
cmp ecx, ebx
je 0x43c1ed
cmp dword [ecx + 0xb0], ebx
jne 0x43c1ed
mov edx, dword [esi + 0x13fecc]
fld dword [edx + 0x10]
mov eax, dword [ecx + 0xc]
fld dword [edx + 0x18]
mov dword [esp + 0x40], eax
fld dword [ecx + 4]
fxch st(2)
fsub st(2)
fstp dword [esp + 0x64]
fstp st(1)
fsub dword [esp + 0x40]
fld st(0)
fmulp st(1)
fld dword [esp + 0x64]
fmul dword [esp + 0x64]
faddp st(1)
fsqrt
fabs
fld dword [esp + 0x44]
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x43c1eb
mov ecx, dword [ecx + 0x28]
fstp dword [esp + 0x44]
mov dword [edx + 0x160], ecx
mov dword [0x851b18], ebx
jmp 0x43c1ed
fstp st(0)
mov ecx, edi
call fcn.0040b6a0
mov edx, dword [edi]
cmp edx, dword [esi + 0x13d8a0]
jne 0x43c182
mov eax, dword [esi + 0x13d878]
mov eax, dword [eax]
mov dword [esi + 0x13d880], eax
cmp eax, dword [esi + 0x13d878]
je 0x43c353
mov edx, 2
lea ecx, [ecx]
mov ecx, dword [esi + 0x13d880]
mov eax, dword [ecx + 0x10]
mov ecx, dword [esi + 0x13fecc]
mov edi, dword [eax + 0x34]
cmp edi, dword [ecx + 0x34]
je 0x43c2e2
mov bl, byte [0x21e6a42]
cmp bl, byte [eax + 0x276]
jne 0x43c27d
cmp dword [0x7066b4], edx
jne 0x43c259
cmp edi, dword [0x7066b8]
je 0x43c27d
cmp dword [0x7066d0], edx
jne 0x43c2e2
mov ebx, dword [eax + 0x2c8]
cmp ebx, dword [0x706594]
jne 0x43c2e2
mov bl, byte [eax + 0x37a]
test bl, bl
je 0x43c2e2
mov ebx, dword [eax + 0x250]
test ebx, ebx
jne 0x43c2e2
mov ebx, dword [eax + 0x27c]
test ebx, ebx
jne 0x43c2e2
fld dword [ecx + 0x10]
fld dword [ecx + 0x18]
fld dword [eax + 0x10]
mov eax, dword [eax + 0x18]
fxch st(2)
mov dword [esp + 0x40], eax
fsub st(2)
fstp dword [esp + 0x64]
fstp st(1)
fsub dword [esp + 0x40]
fld st(0)
fmulp st(1)
fld dword [esp + 0x64]
fmul dword [esp + 0x64]
faddp st(1)
fsqrt
fabs
fld dword [esp + 0x44]
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x43c2e0
mov dword [ecx + 0x160], edi
fstp dword [esp + 0x44]
mov dword [0x851b18], edx
jmp 0x43c2e2
fstp st(0)
mov ecx, dword [esi + 0x13d880]
mov al, byte [ecx + 0x15]
test al, al
jne 0x43c341
mov eax, dword [ecx + 8]
mov bl, byte [eax + 0x15]
test bl, bl
jne 0x43c30f
mov ecx, dword [eax]
mov bl, byte [ecx + 0x15]
test bl, bl
jne 0x43c33b
mov eax, ecx
mov ecx, dword [eax]
mov bl, byte [ecx + 0x15]
test bl, bl
je 0x43c302
jmp 0x43c33b
mov eax, dword [ecx + 4]
mov cl, byte [eax + 0x15]
test cl, cl
jne 0x43c33b
lea esp, [esp]
mov ecx, dword [esi + 0x13d880]
cmp ecx, dword [eax + 8]
jne 0x43c33b
mov dword [esi + 0x13d880], eax
mov eax, dword [eax + 4]
mov cl, byte [eax + 0x15]
test cl, cl
je 0x43c320
mov dword [esi + 0x13d880], eax
mov eax, dword [esi + 0x13d880]
cmp eax, dword [esi + 0x13d878]
jne 0x43c220
mov edx, dword [0x851b18]
xor ecx, ecx
cmp edx, 2
mov edx, dword [esi + 0x13fecc]
setne cl
add ecx, 2
xor eax, eax
mov dword [0x7071d0], eax
mov dword [0x7071c8], eax
mov dword [0x7071cc], eax
mov eax, 1
mov dword [0x7071b0], ecx
mov dword [edx + 0x164], eax
mov ecx, dword [esp + 0x714]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
cmp ax, 4
jne 0x43c4e2
mov eax, dword [0x851b18]
mov edx, 1
cmp eax, edx
mov word [0x21e756c], cx
jne 0x43c407
mov eax, dword [esi + 0x13fecc]
cmp dword [eax + 0x160], edi
je 0x43c407
mov dword [eax + 0x164], edx
mov dword [0x7071d0], ecx
mov dword [0x7071c8], ecx
mov dword [0x7071cc], ecx
mov dword [0x7071b0], edx
mov eax, edx
mov ecx, dword [esp + 0x714]
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 + 0x60], 0x497423f0
je 0x43c4e2
mov ecx, dword [eax + 0x10]
test ecx, ecx
je 0x43c492
mov eax, dword [esi + 0x13fecc]
fld dword [eax + 0x18]
fld dword [eax + 0x10]
mov eax, dword [ecx + 0x20]
fld dword [ecx + 0x28]
mov dword [esp + 0x38], eax
fxch st(2)
fsub st(2)
fstp dword [esp + 0x4c]
fstp st(1)
fsub dword [esp + 0x38]
fld st(0)
fmulp st(1)
fld dword [esp + 0x4c]
fmul dword [esp + 0x4c]
faddp st(1)
fsqrt
fabs
fcom dword [0x6a84e0]
fnstsw ax
test ah, 5
jp 0x43c490
fld dword [esp + 0x60]
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x43c490
mov ebx, dword [ecx + 4]
fstp dword [esp + 0x60]
jmp 0x43c492
fstp st(0)
mov ecx, edi
call fcn.0040b6a0
mov ecx, dword [esi + 0x13d88c]
mov eax, dword [edi]
cmp eax, ecx
jne 0x43c430
cmp ebx, 0xffffffff
je 0x43c4e2
xor eax, eax
mov dword [0x7071d0], eax
mov dword [0x7071c8], eax
mov dword [0x7071cc], eax
mov eax, 1
mov dword [0x851b18], eax
mov ecx, dword [esi + 0x13fecc]
mov dword [ecx + 0x164], eax
mov edx, dword [esi + 0x13fecc]
mov dword [edx + 0x160], ebx
mov dword [0x7071b0], eax
mov eax, dword [0x703c18]
test eax, eax
jne 0x43c6c0
mov bl, byte [0x21eadf7]
test bl, bl
jne 0x43c525
mov al, byte [0x21eadf4]
test al, al
jne 0x43c525
mov ecx, dword [0x21ebef8]
push 0x23
call fcn.004256f0
test al, al
je 0x43c525
mov ecx, dword [0x21f2088]
xor eax, eax
test ecx, ecx
sete al
mov dword [0x21f2088], eax
mov ecx, dword [esi + 0x13fecc]
mov eax, dword [ecx + 0xe0]
test eax, eax
jne 0x43c5d7
test bl, bl
jne 0x43c56a
mov al, byte [0x21eadf4]
test al, al
jne 0x43c56a
mov ecx, 0x84f768
call fcn.004c48f0
test eax, eax
jne 0x43c56a
mov edx, dword [0x703b60]
mov ecx, dword [0x21ebef8]
push edx
call fcn.004256f0
test al, al
jne 0x43c574
cmp word [0x21e756c], 1
jne 0x43c5d1
mov eax, dword [esi + 0x13fecc]
cmp dword [eax + 0xdc], 3
je 0x43c5d1
mov word [0x21e756c], 0
mov ecx, dword [esi + 0x13fecc]
mov eax, dword [ecx + 0xdc]
cmp eax, 5
je 0x43c5b0
test eax, eax
jne 0x43c5b0
push 1
call fcn.00587ea0
add esp, 4
jmp 0x442591
cmp eax, 6
je 0x43c6df
cmp eax, 7
jne 0x43c6df
push 0
call fcn.00587ea0
add esp, 4
jmp 0x442591
mov bl, byte [0x21eadf7]
mov eax, dword [esi + 0x13fecc]
mov ecx, dword [eax + 0xe0]
test ecx, ecx
jne 0x43c6c0
mov eax, dword [eax + 0xdc]
cmp eax, 3
je 0x43c6c0
cmp eax, 6
je 0x43c6c0
cmp eax, 7
jne 0x43c6c0
test bl, bl
jne 0x43c64e
mov al, byte [0x21eadf4]
test al, al
jne 0x43c64e
mov ecx, 0x84f768
call fcn.004c48f0
test eax, eax
mov edi, dword [0x21ebef8]
jne 0x43c654
mov edx, dword [0x703b50]
push edx
mov ecx, edi
call fcn.004256f0
test al, al
je 0x43c654
push 0
call fcn.00587ea0
add esp, 4
jmp 0x442591
mov edi, dword [0x21ebef8]
mov eax, dword [0x703b64]
push eax
mov ecx, edi
call fcn.004256f0
test al, al
jne 0x43c5c2
mov ecx, dword [0x703b54]
push ecx
mov ecx, edi
call fcn.004256f0
test al, al
jne 0x43c5c2
mov edx, dword [0x703b68]
push edx
mov ecx, edi
call fcn.004256f0
test al, al
jne 0x43c5c2
mov eax, dword [0x703b58]
push eax
mov ecx, edi
call fcn.004256f0
test al, al
jne 0x43c5c2
mov ecx, dword [0x703b6c]
push ecx
mov ecx, edi
call fcn.004256f0
test al, al
jne 0x43c5c2
cmp word [0x21e756c], 3
jne 0x43c6df
xor ebx, ebx
mov word [0x21e756c], bx
mov dword [0x7071e4], 1
jmp 0x43c6ee
mov eax, dword [0x7071e4]
xor ebx, ebx
test eax, eax
je 0x43c7de
cmp dword [0x703c18], ebx
je 0x43c7de
mov eax, dword [esi + 0x13fecc]
mov ecx, dword [eax + 0xdc]
cmp ecx, 1
je 0x43c718
cmp ecx, ebx
je 0x43c718
cmp ecx, 3
jne 0x43c7de
cmp dword [eax + 0x168], ebx
je 0x43c726
fld dword [esp + 0x28]
jmp 0x43c72a
fld dword [esp + 0x18]
fmul dword [0x703c14]
add eax, 0x154
mov dword [0x7071b0], ebx
fstp dword [esp + 0x44]
fld dword [0x21f1d4c]
fsub dword [0x21f1d40]
fld dword [0x21f1d48]
fsub dword [0x21f1d3c]
fld dword [0x21f1d44]
fsub dword [0x21f1d38]
fstp dword [esp + 0x2c]
mov edx, dword [esp + 0x2c]
mov dword [eax], edx
fstp dword [esp + 0x30]
mov ecx, dword [esp + 0x30]
mov dword [eax + 4], ecx
fstp dword [esp + 0x34]
mov edx, dword [esp + 0x34]
mov dword [eax + 8], edx
mov eax, dword [esi + 0x13fecc]
mov dword [eax + 0x158], ebx
mov eax, dword [esi + 0x13fecc]
add eax, 0x154
push eax
push eax
call fcn.005cf7eb
fld dword [esp + 0x44]
mov eax, dword [esi + 0x13fecc]
fmul dword [eax + 0x15c]
add eax, 0x154
fld dword [esp + 0x44]
fmul dword [eax + 4]
fld dword [esp + 0x44]
fmul dword [eax]
mov eax, 1
mov dword [esp + 0x58], eax
mov dword [esi + 0x1400e0], eax
fstp dword [esp + 0x1c]
fstp dword [esp + 0x20]
fstp dword [esp + 0x24]
mov ecx, dword [esi + 0x13fecc]
cmp dword [ecx + 0x250], ebx
jne 0x440abc
mov eax, dword [ecx + 0xdc]
cmp eax, 1
je 0x43c80d
cmp eax, ebx
je 0x43c80d
cmp eax, 3
je 0x43c80d
cmp eax, 8
jne 0x440abc
cmp dword [ecx + 0x168], ebx
je 0x43c81b
fld dword [esp + 0x28]
jmp 0x43c81f
fld dword [esp + 0x18]
cmp ecx, ebx
fmul dword [0x703c14]
fstp dword [esp + 0x28]
je 0x43ce1c
cmp dword [0x21eaa5c], ebx
je 0x43cc2d
cmp dword [esi + 0x1400dc], ebx
je 0x43c850
mov dword [esi + 0x1400dc], ebx
call fcn.00587840
cmp dword [0x7071e4], ebx
je 0x43c85e
mov dword [0x7071e4], ebx
cmp dword [0x7071b0], ebx
je 0x43c86c
mov dword [0x7071b0], ebx
mov ecx, dword [0x21eaa60]
push ecx
mov ecx, 0x7072a0
call fcn.00446510
cmp eax, ebx
je 0x43c892
add eax, 0x10
mov edi, dword [eax]
mov ebx, dword [eax + 4]
mov edx, dword [eax + 8]
mov dword [esp + 0x34], edx
jmp 0x43c8b5
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 + 0x34], ecx
fld dword [esp + 0x34]
fadd dword [0x6a8524]
fstp dword [esp + 0x34]
mov eax, dword [esi + 0x13fecc]
fld dword [esp + 0x34]
fsub dword [eax + 0x18]
add eax, 0x10
mov dword [esp + 0x2c], edi
fld dword [esp + 0x2c]
fsub dword [eax]
lea edx, [esp + 0x13c]
push edx
mov eax, edx
fstp dword [esp + 0x140]
push eax
mov dword [esp + 0x148], 0
fstp dword [esp + 0x14c]
call fcn.005cf7eb
mov ecx, dword [esi + 0x13fecc]
fld dword [esp + 0x28]
mov edx, dword [esp + 0x13c]
add ecx, 0x154
mov dword [ecx], edx
mov eax, dword [esp + 0x140]
mov dword [ecx + 4], eax
mov edx, dword [esp + 0x144]
mov dword [ecx + 8], edx
mov eax, dword [esi + 0x13fecc]
mov ecx, dword [esp + 0x34]
add eax, 0x148
mov dword [eax], edi
mov dword [eax + 4], ebx
mov dword [eax + 8], ecx
fmul dword [esp + 0x144]
mov eax, dword [esi + 0x13fecc]
lea edx, [esp + 0x130]
fstp dword [esp + 0x54]
push edx
fld dword [esp + 0x144]
fmul dword [esp + 0x2c]
fstp dword [esp + 0x48]
fld dword [esp + 0x2c]
fmul dword [esp + 0x140]
fstp dword [esp + 0x74]
fld dword [eax + 0x150]
fsub dword [eax + 0x18]
fld dword [eax + 0x148]
fsub dword [eax + 0x10]
mov eax, edx
push eax
mov dword [esp + 0x13c], 0
fstp dword [esp + 0x138]
fstp dword [esp + 0x140]
call fcn.005cf7eb
fld dword [esp + 0x138]
mov ecx, dword [esi + 0x13fecc]
fmul dword [esp + 0x28]
mov edx, dword [ecx + 0x148]
mov dword [esp + 0x2c], edx
fstp dword [esp + 0x60]
fld dword [esp + 0x134]
fmul dword [esp + 0x28]
fstp dword [esp + 0x4c]
fld dword [esp + 0x130]
fmul dword [esp + 0x28]
fstp dword [esp + 0x38]
fld dword [ecx + 0x18]
fld dword [ecx + 0x10]
fld dword [ecx + 0x150]
fsub st(2)
fstp dword [esp + 0x18]
fld dword [esp + 0x2c]
fsub st(1)
fstp st(2)
fstp st(0)
fld st(0)
fmulp st(1)
fld dword [esp + 0x18]
fmul dword [esp + 0x18]
faddp st(1)
fsqrt
fabs
fstp dword [esp + 0xfc]
fld dword [esp + 0x130]
fabs
fld dword [0x6a75fc]
fucompp
fnstsw ax
test ah, 0x44
jnp 0x43cb7e
fld dword [esp + 0x138]
fabs
fld dword [0x6a75fc]
fucompp
fnstsw ax
test ah, 0x44
jnp 0x43cb7e
mov edx, dword [esp + 0x138]
mov eax, dword [esp + 0x130]
add ecx, 0x154
mov dword [ecx], eax
mov dword [esp + 0x34], edx
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x30], 0
mov edx, dword [esp + 0x30]
mov dword [ecx + 4], edx
mov dword [ecx + 8], eax
mov eax, dword [esi + 0x13fecc]
fld dword [eax + 0x15c]
lea ecx, [esp + 0x154]
fsub dword [eax + 0x24]
push ecx
fld dword [eax + 0x158]
mov edx, ecx
fsub dword [eax + 0x20]
push edx
fld dword [eax + 0x154]
fsub dword [eax + 0x1c]
fstp dword [esp + 0x15c]
fst dword [esp + 0x160]
fld st(1)
fstp dword [esp + 0x164]
fld dword [esp + 0x15c]
fmul dword [esp + 0x15c]
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 + 0x20]
call fcn.005cf7eb
fld dword [esp + 0x15c]
fmul dword [esp + 0x28]
fld dword [esp + 0x158]
fmul dword [esp + 0x28]
fld dword [esp + 0x28]
fmul dword [esp + 0x154]
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 + 0x18]
fsub dword [0x6a84cc]
fcompp
fnstsw ax
test ah, 0x41
mov eax, dword [esi + 0x13fecc]
jne 0x43cb52
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 0x43cb71
lea ecx, [eax + 0x154]
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 + 0x38]
fmul dword [esp + 0x38]
fld dword [esp + 0x4c]
fmul dword [esp + 0x4c]
faddp st(1)
fld dword [esp + 0x60]
fmul dword [esp + 0x60]
faddp st(1)
fsqrt
fld dword [esp + 0xfc]
fsub dword [0x6a84d0]
fcompp
fnstsw ax
test ah, 0x41
jne 0x43cbfe
mov eax, dword [esi + 0x13fecc]
cmp dword [eax + 0xdc], 3
je 0x43cbc9
mov dword [esp + 0x58], 1
fld dword [esp + 0x1c]
mov dword [esi + 0x1400e0], 1
fadd dword [esp + 0x70]
xor ebx, ebx
fstp dword [esp + 0x1c]
fld dword [esp + 0x20]
fadd dword [esp + 0x44]
fstp dword [esp + 0x20]
fld dword [esp + 0x24]
fadd dword [esp + 0x54]
fstp dword [esp + 0x24]
jmp 0x43ce1c
mov dword [esi + 0x1400e0], 1
mov eax, dword [esi + 0x13fecc]
lea ecx, [eax + 0x10]
mov edx, dword [ecx]
add eax, 0x148
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 0x43ce1c
cmp dword [0x21eaa74], ebx
je 0x43cd75
cmp dword [esi + 0x1400dc], ebx
je 0x43cc4c
mov dword [esi + 0x1400dc], ebx
call fcn.00587840
cmp dword [0x7071b0], ebx
je 0x43cc5a
mov dword [0x7071b0], ebx
mov edi, dword [0x21eaa84]
cmp edi, ebx
jge 0x43cd49
call fcn.005b91d1
cdq
mov ecx, 0x168
idiv ecx
push ecx
mov dword [esp + 0x230], 0
mov dword [esp + 0x234], 0
mov dword [esp + 0x238], 0x3f800000
mov dword [esp + 0x1ac], 0
mov dword [esp + 0x1b0], 0
mov dword [esp + 0x1b4], 0x3f800000
mov dword [esp + 0x1c], edx
fild dword [esp + 0x1c]
lea edx, [esp + 0x3b4]
fmul dword [0x6aa4f0]
fstp dword [esp]
push edx
call fcn.005d0f75
lea eax, [esp + 0x3b0]
push eax
lea ecx, [esp + 0x230]
push ecx
lea edx, [esp + 0x1b0]
push edx
call fcn.005cfbd1
lea eax, [esp + 0x1a8]
push eax
mov ecx, eax
push ecx
mov dword [esp + 0x238], 0
call fcn.005cf7eb
mov edx, dword [esp + 0x1a8]
mov eax, dword [esp + 0x1ac]
mov ecx, dword [esp + 0x1b0]
mov dword [0x21eaa78], edx
mov dword [0x21eaa7c], eax
mov dword [0x21eaa80], ecx
call fcn.005b91d1
cdq
mov ecx, 0xfa0
idiv ecx
mov edi, edx
add edi, 0x3e8
fld dword [0x703c14]
fmul dword [0x6aa4d8]
call fcn.005b8b18
mov ecx, dword [0x21eaa7c]
mov edx, dword [0x21eaa80]
add edi, eax
mov eax, dword [0x21eaa78]
mov dword [0x21eaa84], edi
jmp 0x43cdb3
cmp dword [0x21eaa64], ebx
je 0x43ce1c
cmp dword [esi + 0x1400dc], ebx
je 0x43cd94
mov dword [esi + 0x1400dc], ebx
call fcn.00587840
cmp dword [0x7071b0], ebx
je 0x43cda2
mov dword [0x7071b0], ebx
mov eax, dword [0x21eaa68]
mov ecx, dword [0x21eaa6c]
mov edx, dword [0x21eaa70]
mov edi, dword [esi + 0x13fecc]
fld dword [esp + 0x28]
add edi, 0x154
mov dword [edi], eax
mov dword [edi + 4], ecx
mov dword [edi + 8], edx
mov eax, dword [esi + 0x13fecc]
fmul dword [eax + 0x15c]
add eax, 0x154
fld dword [esp + 0x28]
fmul dword [eax + 4]
fld dword [esp + 0x28]
fmul dword [eax]
mov eax, 1
fld dword [esp + 0x1c]
mov dword [esp + 0x58], eax
mov dword [esi + 0x1400e0], eax
fadd st(1)
fstp dword [esp + 0x1c]
fstp st(0)
fld dword [esp + 0x20]
fadd st(1)
fstp dword [esp + 0x20]
fstp st(0)
fld dword [esp + 0x24]
fadd st(1)
fstp dword [esp + 0x24]
fstp st(0)
cmp dword [0x703c18], ebx
jne 0x43e529
mov al, byte [0x21eadf7]
test al, al
jne 0x43ce5e
mov al, byte [0x21eadf4]
test al, al
jne 0x43ce5e
mov ecx, 0x84f768
call fcn.004c48f0
test eax, eax
jne 0x43ce5e
mov edx, dword [0x703b5c]
mov ecx, dword [0x21ebef8]
push edx
call fcn.004256f0
test al, al
jne 0x43ce68
cmp word [0x21e756c], 2
jne 0x43ce74
mov word [0x21e756c], bx
call fcn.00587810
mov al, byte [0x21eadf7]
test al, al
jne 0x43ceb0
mov al, byte [0x21eadf4]
test al, al
jne 0x43ceb0
mov ecx, dword [0x21ebef8]
push 0x26
call fcn.004256f0
test al, al
je 0x43ceb0
mov eax, dword [esi + 0x13fecc]
mov edx, dword [eax + 0x170]
xor ecx, ecx
cmp edx, ebx
sete cl
mov dword [eax + 0x170], ecx
test byte [0x707258], 1
mov edi, dword [sym.imp.winmm.dll_timeGetTime]
jne 0x43cecd
or dword [0x707258], 1
call edi
mov dword [0x707254], eax
test byte [0x707258], 2
jne 0x43cee4
or dword [0x707258], 2
call edi
mov dword [0x707250], eax
test byte [0x707258], 4
jne 0x43cefb
or dword [0x707258], 4
call edi
mov dword [0x70724c], eax
test byte [0x707258], 8
jne 0x43cf12
or dword [0x707258], 8
call edi
mov dword [0x707248], eax
test byte [0x707258], 0x10
jne 0x43cf40
or dword [0x707258], 0x10
mov dword [0x70723c], 0
mov dword [0x707240], 0
mov dword [0x707244], 0
mov edx, dword [esi + 0x13fecc]
mov eax, dword [edx + 0xe0]
xor ebx, ebx
test eax, eax
jne 0x43ddbc
mov al, byte [0x21eadf7]
test al, al
jne 0x43d308
mov al, byte [0x21eadf4]
test al, al
jne 0x43d308
mov ecx, 0x84f768
call fcn.004c48f0
test eax, eax
mov edi, dword [0x21ebef8]
jne 0x43d12f
mov eax, dword [0x703b58]
push eax
mov ecx, edi
call fcn.00438160
test al, al
je 0x43d12f
mov ecx, dword [0x703b54]
push ecx
mov ecx, edi
call fcn.00438160
test al, al
je 0x43d12f
mov eax, dword [0x707238]
test eax, eax
mov ebx, 1
mov dword [esi + 0x1400e0], ebx
mov dword [0x7071b0], 0
jne 0x43cff3
mov edx, dword [esi + 0x13fecc]
add edx, 0x1c
mov eax, dword [edx]
mov dword [0x70723c], eax
mov ecx, dword [edx + 4]
mov dword [0x707240], ecx
mov edx, dword [edx + 8]
mov dword [0x707244], edx
mov eax, dword [esi + 0x13fecc]
fld dword [0x707240]
fmul dword [eax + 0x30]
add eax, 0x28
fld dword [0x707244]
mov dword [0x707238], ebx
fmul dword [eax + 4]
fsubp st(1)
fstp dword [esp + 0x2c]
fld dword [0x707244]
fmul dword [eax]
fld dword [0x70723c]
fmul dword [eax + 8]
fsubp st(1)
fstp dword [esp + 0x30]
mov ecx, dword [esp + 0x30]
fld dword [0x70723c]
fmul dword [eax + 4]
fld dword [0x707240]
fmul dword [eax]
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x10c], eax
mov dword [esp + 0x110], ecx
fsubp st(1)
lea eax, [esp + 0x10c]
push eax
mov ecx, eax
fstp dword [esp + 0x38]
mov edx, dword [esp + 0x38]
fld dword [0x70723c]
mov dword [esp + 0x118], edx
fadd dword [esp + 0x110]
push ecx
fstp dword [esp + 0x114]
fld dword [0x707240]
fadd dword [esp + 0x118]
fstp dword [esp + 0x118]
fld dword [0x707244]
fadd dword [esp + 0x11c]
fstp dword [esp + 0x11c]
call fcn.005cf7eb
mov edx, dword [esi + 0x13fecc]
fld dword [esp + 0x28]
mov eax, dword [esp + 0x10c]
add edx, 0x154
mov dword [edx], eax
mov ecx, dword [esp + 0x110]
mov dword [edx + 4], ecx
mov eax, dword [esp + 0x114]
mov dword [edx + 8], eax
mov eax, dword [esi + 0x13fecc]
fmul dword [eax + 0x15c]
add eax, 0x154
fld dword [esp + 0x28]
mov dword [esp + 0x58], ebx
fmul dword [eax + 4]
xor edi, edi
fld dword [esp + 0x28]
fmul dword [eax]
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)
fld dword [esp + 0x24]
fadd st(1)
fstp dword [esp + 0x24]
fstp st(0)
jmp 0x43dc7e
mov al, byte [0x21eadf7]
test al, al
jne 0x43d308
mov al, byte [0x21eadf4]
test al, al
jne 0x43d308
mov ecx, 0x84f768
call fcn.004c48f0
test eax, eax
jne 0x43d308
mov ecx, dword [0x703b6c]
mov edi, dword [0x21ebef8]
push ecx
mov ecx, edi
call fcn.00438160
test al, al
je 0x43d308
mov edx, dword [0x703b54]
push edx
mov ecx, edi
call fcn.00438160
test al, al
je 0x43d308
mov eax, dword [0x707238]
test eax, eax
mov ebx, 1
mov dword [esi + 0x1400e0], ebx
mov dword [0x7071b0], 0
jne 0x43d1cd
mov eax, dword [esi + 0x13fecc]
add eax, 0x1c
mov ecx, dword [eax]
mov dword [0x70723c], ecx
mov edx, dword [eax + 4]
mov dword [0x707240], edx
mov eax, dword [eax + 8]
mov dword [0x707244], eax
mov eax, dword [esi + 0x13fecc]
fld dword [0x707244]
fmul dword [eax + 0x2c]
add eax, 0x28
fld dword [0x707240]
mov dword [0x707238], ebx
fmul dword [eax + 8]
fsubp st(1)
fstp dword [esp + 0x2c]
mov ecx, dword [esp + 0x2c]
fld dword [0x70723c]
fmul dword [eax + 8]
fld dword [0x707244]
fmul dword [eax]
fsubp st(1)
fstp dword [esp + 0x30]
mov edx, dword [esp + 0x30]
fld dword [0x707240]
fmul dword [eax]
fld dword [0x70723c]
fmul dword [eax + 4]
mov dword [esp + 0x100], ecx
mov dword [esp + 0x104], edx
lea ecx, [esp + 0x100]
fsubp st(1)
push ecx
mov edx, ecx
push edx
fstp dword [esp + 0x3c]
mov eax, dword [esp + 0x3c]
fld dword [0x70723c]
mov dword [esp + 0x110], eax
fadd dword [esp + 0x108]
fstp dword [esp + 0x108]
fld dword [0x707240]
fadd dword [esp + 0x10c]
fstp dword [esp + 0x10c]
fld dword [0x707244]
fadd dword [esp + 0x110]
fstp dword [esp + 0x110]
call fcn.005cf7eb
mov eax, dword [esi + 0x13fecc]
fld dword [esp + 0x28]
mov ecx, dword [esp + 0x100]
add eax, 0x154
mov dword [eax], ecx
mov edx, dword [esp + 0x104]
mov dword [eax + 4], edx
mov ecx, dword [esp + 0x108]
mov dword [eax + 8], ecx
mov eax, dword [esi + 0x13fecc]
fmul dword [eax + 0x15c]
add eax, 0x154
fld dword [esp + 0x28]
mov dword [esp + 0x58], ebx
fmul dword [eax + 4]
xor edi, edi
fld dword [esp + 0x28]
fmul dword [eax]
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)
fld dword [esp + 0x24]
fadd st(1)
fstp dword [esp + 0x24]
fstp st(0)
jmp 0x43dc7e
mov al, byte [0x21eadf7]
xor edi, edi
test al, al
mov dword [0x707238], edi
jne 0x43d3f8
mov al, byte [0x21eadf4]
test al, al
jne 0x43d3f8
mov ecx, 0x84f768
call fcn.004c48f0
test eax, eax
jne 0x43d3b1
mov edx, dword [0x703b58]
mov ecx, dword [0x21ebef8]
push edx
call fcn.00438180
test al, al
je 0x43d3b1
mov eax, dword [esi + 0x13fecc]
cmp dword [eax + 0xdc], 3
je 0x43d3b1
mov dword [0x7071e4], edi
call dword [sym.imp.winmm.dll_timeGetTime]
sub eax, dword [0x70724c]
cmp eax, 0x12c
jbe 0x43d38d
mov dword [0x7071ec], edi
call dword [sym.imp.winmm.dll_timeGetTime]
mov dword [0x70724c], eax
jmp 0x43d3b1
mov eax, dword [esi + 0x13fecc]
mov cl, byte [eax + 0x378]
test cl, cl
mov dword [0x7071ec], 1
jne 0x43d3b1
mov dword [eax + 0xdc], 3
mov al, byte [0x21eadf7]
test al, al
jne 0x43d3f8
mov al, byte [0x21eadf4]
test al, al
jne 0x43d3f8
mov ecx, 0x84f768
call fcn.004c48f0
test eax, eax
jne 0x43d3f8
mov ecx, dword [0x703b58]
push ecx
mov ecx, dword [0x21ebef8]
call fcn.00438160
test al, al
je 0x43d3f8
mov ecx, dword [esi + 0x13fecc]
mov eax, dword [ecx + 0xdc]
cmp eax, 3
jne 0x43d419
cmp dword [0x7071ec], edi
je 0x43d78f
mov ecx, dword [esi + 0x13fecc]
mov eax, dword [ecx + 0xdc]
cmp eax, 3
jne 0x43d78f
cmp dword [0x7071ec], edi
je 0x43d43d
cmp eax, 3
jne 0x43d43d
push 0xe
call fcn.004118b0
test eax, eax
je 0x43d44f
push 0xa
call fcn.00587ea0
add esp, 4
jmp 0x43d44f
mov dword [esp + 0x58], 3
mov dword [ecx + 0xdc], 1
mov dword [esi + 0x1400e0], 1
mov ecx, dword [esi + 0x13fecc]
cmp dword [ecx + 0xcc], 0xe
mov dword [0x7071b0], edi
mov dword [0x7071e8], edi
mov dword [0x7071f0], edi
jne 0x43d53a
fld dword [ecx + 0xc8]
fcomp dword [0x6a8504]
fnstsw ax
test ah, 5
jp 0x43d78a
fld dword [ecx + 0x158]
fmul dword [ecx + 0x30]
fld dword [ecx + 0x15c]
fmul dword [ecx + 0x2c]
fsubp st(1)
fstp dword [esp + 0x2c]
mov edx, dword [esp + 0x2c]
fld dword [ecx + 0x28]
fmul dword [ecx + 0x15c]
fld dword [ecx + 0x154]
fmul dword [ecx + 0x30]
fsubp st(1)
fstp dword [esp + 0x30]
mov eax, dword [esp + 0x30]
fld dword [ecx + 0x154]
fmul dword [ecx + 0x2c]
fld dword [ecx + 0x28]
fmul dword [ecx + 0x158]
mov dword [esp + 0x1cc], edx
lea edx, [esp + 0x1cc]
mov dword [esp + 0x1d0], eax
fsubp st(1)
push edx
mov eax, edx
push eax
fstp dword [esp + 0x3c]
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x1dc], ecx
call fcn.005cf7eb
fld dword [esp + 0x1d4]
fmul dword [0x6a8690]
fld dword [esp + 0x1d0]
fmul dword [0x6a8690]
fld dword [esp + 0x1cc]
fmul dword [0x6a8690]
jmp 0x43d746
fld dword [ecx + 0x158]
fmul dword [ecx + 0x30]
fld dword [ecx + 0x2c]
fmul dword [ecx + 0x15c]
fsubp st(1)
fstp dword [esp + 0x2c]
fld dword [ecx + 0x28]
fmul dword [ecx + 0x15c]
fld dword [ecx + 0x154]
fmul dword [ecx + 0x30]
fsubp st(1)
fstp dword [esp + 0x30]
mov edx, dword [esp + 0x30]
fld dword [ecx + 0x2c]
fmul dword [ecx + 0x154]
fld dword [ecx + 0x158]
fmul dword [ecx + 0x28]
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0xa8], ecx
lea ecx, [esp + 0xa8]
fsubp st(1)
mov dword [esp + 0xac], edx
push ecx
mov edx, ecx
fstp dword [esp + 0x38]
mov eax, dword [esp + 0x38]
push edx
mov dword [esp + 0xb8], eax
call fcn.005cf7eb
mov eax, dword [esi + 0x13fecc]
movzx ecx, byte [eax + 0x275]
cmp ecx, 4
ja case.default.0x43d5c9
jmp dword [ecx*4 + 0x4425b0]
fld dword [esp + 0xb0]
fmul dword [0x6a84d0]
fld dword [esp + 0xac]
fmul dword [0x6a84d0]
fld dword [esp + 0xa8]
fmul dword [0x6a84d0]
jmp 0x43d6b9
fld dword [esp + 0xb0]
fmul dword [0x703c14]
fld dword [esp + 0xac]
fmul dword [0x703c14]
fld dword [esp + 0xa8]
fmul dword [0x703c14]
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)
fld dword [esp + 0x24]
fadd st(1)
fstp dword [esp + 0x24]
fstp st(0)
jmp case.default.0x43d5c9
fld dword [esp + 0xb0]
fmul dword [0x6a867c]
fld dword [esp + 0xac]
fmul dword [0x6a867c]
fld dword [esp + 0xa8]
fmul dword [0x6a867c]
jmp 0x43d6b9
fld dword [esp + 0xb0]
fadd st(0), st(0)
fld dword [esp + 0xac]
fadd st(0), st(0)
fld dword [esp + 0xa8]
fadd st(0), st(0)
jmp 0x43d6b9
fld dword [esp + 0xb0]
fmul dword [0x6a8678]
fld dword [esp + 0xac]
fmul dword [0x6a8678]
fld dword [esp + 0xa8]
fmul dword [0x6a8678]
fstp dword [esp + 0x70]
fxch st(1)
fmul dword [0x703c14]
fstp dword [esp + 0x18]
fmul dword [0x703c14]
fld dword [esp + 0x70]
fmul dword [0x703c14]
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)
fld dword [esp + 0x24]
fadd dword [esp + 0x18]
fstp dword [esp + 0x24]
mov cl, byte [eax + 0x378]
test cl, cl
je 0x43d78a
mov ecx, dword [esp + 0xa8]
add eax, 0x1c
mov dword [eax], ecx
mov edx, dword [esp + 0xac]
mov dword [eax + 4], edx
mov ecx, dword [esp + 0xb0]
mov dword [eax + 8], ecx
fld dword [esp + 0xb0]
fadd st(0), st(0)
fld dword [esp + 0xac]
fadd st(0), st(0)
fld dword [esp + 0xa8]
fadd st(0), st(0)
fstp dword [esp + 0x70]
fxch st(1)
fmul dword [0x703c14]
fstp dword [esp + 0x18]
fmul dword [0x703c14]
fld dword [esp + 0x70]
fmul dword [0x703c14]
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)
fld dword [esp + 0x24]
fadd dword [esp + 0x18]
fstp dword [esp + 0x24]
mov ebx, 1
mov al, byte [0x21eadf7]
test al, al
jne 0x43d877
mov al, byte [0x21eadf4]
test al, al
jne 0x43d877
mov ecx, 0x84f768
call fcn.004c48f0
test eax, eax
jne 0x43d830
mov edx, dword [0x703b6c]
mov ecx, dword [0x21ebef8]
push edx
call fcn.00438180
test al, al
je 0x43d830
mov eax, dword [esi + 0x13fecc]
cmp dword [eax + 0xdc], 3
je 0x43d830
mov dword [0x7071e4], edi
call dword [sym.imp.winmm.dll_timeGetTime]
sub eax, dword [0x707248]
cmp eax, 0x12c
jbe 0x43d80c
mov dword [0x7071f0], edi
call dword [sym.imp.winmm.dll_timeGetTime]
mov dword [0x707248], eax
jmp 0x43d830
mov eax, dword [esi + 0x13fecc]
mov cl, byte [eax + 0x378]
test cl, cl
mov dword [0x7071f0], 1
jne 0x43d830
mov dword [eax + 0xdc], 3
mov al, byte [0x21eadf7]
test al, al
jne 0x43d877
mov al, byte [0x21eadf4]
test al, al
jne 0x43d877
mov ecx, 0x84f768
call fcn.004c48f0
test eax, eax
jne 0x43d877
mov ecx, dword [0x703b6c]
push ecx
mov ecx, dword [0x21ebef8]
call fcn.00438160
test al, al
je 0x43d877
mov ecx, dword [esi + 0x13fecc]
mov eax, dword [ecx + 0xdc]
cmp eax, 3
jne 0x43d898
cmp dword [0x7071f0], edi
je 0x43dc7e
mov ecx, dword [esi + 0x13fecc]
mov eax, dword [ecx + 0xdc]
cmp eax, 3
jne 0x43dc7e
cmp dword [0x7071f0], edi
je 0x43d8bc
cmp eax, 3
jne 0x43d8bc
push 0xf
call fcn.004118b0
test eax, eax
je 0x43d8ce
push 0xb
call fcn.00587ea0
add esp, 4
jmp 0x43d8ce
mov dword [esp + 0x58], 4
mov dword [ecx + 0xdc], 1
mov dword [esi + 0x1400e0], 1
mov ecx, dword [esi + 0x13fecc]
cmp dword [ecx + 0xcc], 0xf
mov dword [0x7071b0], edi
mov dword [0x7071e8], edi
mov dword [0x7071ec], edi
jne 0x43d9f9
fld dword [ecx + 0xc8]
fcomp dword [0x6a8504]
fnstsw ax
test ah, 5
jp 0x43dc79
fld dword [ecx + 0x15c]
fmul dword [ecx + 0x2c]
fld dword [ecx + 0x158]
fmul dword [ecx + 0x30]
fsubp st(1)
fstp dword [esp + 0x2c]
mov edx, dword [esp + 0x2c]
fld dword [ecx + 0x154]
fmul dword [ecx + 0x30]
fld dword [ecx + 0x15c]
fmul dword [ecx + 0x28]
fsubp st(1)
fstp dword [esp + 0x30]
mov eax, dword [esp + 0x30]
fld dword [ecx + 0x28]
fmul dword [ecx + 0x158]
fld dword [ecx + 0x154]
fmul dword [ecx + 0x2c]
mov dword [esp + 0x1c0], edx
lea edx, [esp + 0x1c0]
mov dword [esp + 0x1c4], eax
fsubp st(1)
push edx
mov eax, edx
push eax
fstp dword [esp + 0x3c]
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x1d0], ecx
call fcn.005cf7eb
fld dword [esp + 0x1c8]
fmul dword [0x6a8690]
fld dword [esp + 0x1c4]
fmul dword [0x6a8690]
fld dword [esp + 0x1c0]
fmul dword [0x6a8690]
fstp dword [esp + 0x70]
fxch st(1)
fmul dword [0x703c14]
fstp dword [esp + 0x18]
fmul dword [0x703c14]
fld dword [esp + 0x70]
fmul dword [0x703c14]
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)
fld dword [esp + 0x24]
fadd dword [esp + 0x18]
jmp 0x43dc75
fld dword [ecx + 0x15c]
fmul dword [ecx + 0x2c]
fld dword [ecx + 0x30]
fmul dword [ecx + 0x158]
fsubp st(1)
fstp dword [esp + 0x2c]
fld dword [ecx + 0x30]
fmul dword [ecx + 0x154]
fld dword [ecx + 0x28]
fmul dword [ecx + 0x15c]
fsubp st(1)
fstp dword [esp + 0x30]
mov edx, dword [esp + 0x30]
fld dword [ecx + 0x28]
fmul dword [ecx + 0x158]
fld dword [ecx + 0x154]
fmul dword [ecx + 0x2c]
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x9c], ecx
lea ecx, [esp + 0x9c]
fsubp st(1)
mov dword [esp + 0xa0], edx
push ecx
mov edx, ecx
fstp dword [esp + 0x38]
mov eax, dword [esp + 0x38]
push edx
mov dword [esp + 0xac], eax
call fcn.005cf7eb
mov eax, dword [esi + 0x13fecc]
movzx ecx, byte [eax + 0x275]
cmp ecx, 4
ja case.default.0x43da88
jmp dword [ecx*4 + 0x4425c4]
fld dword [esp + 0xa4]
fmul dword [0x6a84d0]
fld dword [esp + 0xa0]
fmul dword [0x6a84d0]
fld dword [esp + 0x9c]
fmul dword [0x6a84d0]
fstp dword [esp + 0x70]
fxch st(1)
fmul dword [0x703c14]
fstp dword [esp + 0x18]
fmul dword [0x703c14]
fld dword [esp + 0x70]
fmul dword [0x703c14]
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)
fld dword [esp + 0x24]
fadd dword [esp + 0x18]
jmp 0x43dbf0
fld dword [esp + 0xa4]
fmul dword [0x703c14]
fld dword [esp + 0xa0]
fmul dword [0x703c14]
fld dword [esp + 0x9c]
fmul dword [0x703c14]
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)
fld dword [esp + 0x24]
fadd st(1)
fstp dword [esp + 0x24]
fstp st(0)
jmp case.default.0x43da88
fld dword [esp + 0xa4]
fmul dword [0x6a867c]
fld dword [esp + 0xa0]
fmul dword [0x6a867c]
fld dword [esp + 0x9c]
fmul dword [0x6a867c]
jmp 0x43dbb8
fld dword [esp + 0xa4]
fadd st(0), st(0)
fld dword [esp + 0xa0]
fadd st(0), st(0)
fld dword [esp + 0x9c]
fadd st(0), st(0)
jmp 0x43dbb8
fld dword [esp + 0xa4]
fmul dword [0x6a8678]
fld dword [esp + 0xa0]
fmul dword [0x6a8678]
fld dword [esp + 0x9c]
fmul dword [0x6a8678]
fstp dword [esp + 0x70]
fxch st(1)
fmul dword [0x703c14]
fstp dword [esp + 0x18]
fmul dword [0x703c14]
fld dword [esp + 0x70]
fmul dword [0x703c14]
fadd dword [esp + 0x1c]
fstp dword [esp + 0x1c]
fadd dword [esp + 0x20]
fstp dword [esp + 0x20]
fld dword [esp + 0x18]
fadd dword [esp + 0x24]
fstp dword [esp + 0x24]
mov cl, byte [eax + 0x378]
test cl, cl
je 0x43dc79
mov ecx, dword [esp + 0x9c]
add eax, 0x1c
mov dword [eax], ecx
mov edx, dword [esp + 0xa0]
mov dword [eax + 4], edx
mov ecx, dword [esp + 0xa4]
mov dword [eax + 8], ecx
fld dword [esp + 0xa4]
fadd st(0), st(0)
fld dword [esp + 0xa0]
fadd st(0), st(0)
fld dword [esp + 0x9c]
fadd st(0), st(0)
fstp dword [esp + 0x70]
fxch st(1)
fmul dword [0x703c14]
fstp dword [esp + 0x18]
fmul dword [0x703c14]
fld dword [esp + 0x70]
fmul dword [0x703c14]
fadd dword [esp + 0x1c]
fstp dword [esp + 0x1c]
fadd dword [esp + 0x20]
fstp dword [esp + 0x20]
fld dword [esp + 0x18]
fadd dword [esp + 0x24]
fstp dword [esp + 0x24]
mov ebx, 1
mov al, byte [0x21eadf7]
test al, al
jne 0x43ddb4
mov al, byte [0x21eadf4]
test al, al
jne 0x43ddb4
mov edx, dword [esi + 0x13fecc]
mov eax, dword [edx + 0xdc]
cmp eax, 3
je 0x43ddb4
cmp eax, 2
je 0x43ddb4
cmp eax, 9
je 0x43ddb4
mov ecx, 0x84f768
call fcn.004c48f0
test eax, eax
jne 0x43ddad
mov eax, dword [0x703b74]
mov ecx, dword [0x21ebef8]
push eax
call fcn.004256f0
test al, al
je 0x43ddad
mov al, byte [0x707200]
test al, al
jne 0x43ddb4
mov eax, dword [esi + 0x13fecc]
cmp dword [eax + 0x288], edi
mov byte [0x707200], 1
mov dword [0x7071e8], edi
mov dword [0x7071ec], edi
mov dword [0x7071f0], edi
mov dword [0x7071bc], 0x41100000
mov dword [0x7071c0], 1
je 0x43dd6d
mov cl, byte [eax + 0x378]
test cl, cl
je 0x43ddb4
mov ecx, esi
mov dword [eax + 0xdc], 3
mov dword [0x7071b8], 1
mov dword [0x7071c0], edi
call fcn.00439040
push 2
call fcn.00587ea0
add esp, 4
jmp 0x43ddb4
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 0x43ddb4
mov byte [0x707200], 0
cmp ebx, edi
jne 0x43e529
mov eax, dword [0x7071b0]
xor ebx, ebx
cmp eax, ebx
je 0x43ddd2
mov dword [0x7071e4], ebx
jmp 0x43dee4
mov al, byte [0x21eadf7]
test al, al
jne 0x43df1a
mov al, byte [0x21eadf4]
test al, al
jne 0x43df1a
mov ecx, 0x84f768
call fcn.004c48f0
test eax, eax
jne 0x43de46
mov edx, dword [0x703b70]
mov ecx, dword [0x21ebef8]
push edx
call fcn.00438180
test al, al
je 0x43de46
mov edi, dword [sym.imp.winmm.dll_timeGetTime]
call edi
sub eax, dword [0x707254]
cmp eax, 0x12c
jbe 0x43de37
mov dword [0x7071e4], ebx
call edi
mov dword [0x707254], eax
jmp 0x43dee4
mov dword [0x7071e4], 1
jmp 0x43dee4
mov al, byte [0x21eadf7]
test al, al
jne 0x43df1a
mov al, byte [0x21eadf4]
test al, al
jne 0x43df1a
mov ecx, 0x84f768
call fcn.004c48f0
test eax, eax
jne 0x43dee4
mov eax, dword [0x703b68]
mov ecx, dword [0x21ebef8]
push eax
call fcn.00438180
test al, al
je 0x43dee4
mov ecx, dword [esi + 0x13fecc]
cmp dword [ecx + 0xdc], 3
je 0x43dee4
mov edi, dword [sym.imp.winmm.dll_timeGetTime]
mov dword [0x7071e4], ebx
call edi
sub eax, dword [0x707250]
cmp eax, 0x12c
jbe 0x43dec0
mov dword [0x7071e8], ebx
call edi
mov dword [0x707250], eax
jmp 0x43dee4
mov eax, dword [esi + 0x13fecc]
mov cl, byte [eax + 0x378]
test cl, cl
mov dword [0x7071e8], 1
jne 0x43dee4
mov dword [eax + 0xdc], 3
mov al, byte [0x21eadf7]
test al, al
jne 0x43df1a
mov al, byte [0x21eadf4]
test al, al
jne 0x43df1a
mov ecx, 0x84f768
call fcn.004c48f0
test eax, eax
jne 0x43df1a
mov edx, dword [0x703b68]
mov ecx, dword [0x21ebef8]
push edx
call fcn.00438160
test al, al
jne 0x43df39
cmp dword [0x7071e8], ebx
je 0x43e0fd
mov eax, dword [esi + 0x13fecc]
cmp dword [eax + 0xdc], 3
jne 0x43e0fd
cmp dword [0x7071e8], ebx
je 0x43df67
mov ecx, dword [esi + 0x13fecc]
cmp dword [ecx + 0xdc], 3
jne 0x43df67
push 0xd
call fcn.004118b0
test eax, eax
je 0x43df6f
push 3
call fcn.00587ea0
add esp, 4
jmp 0x43df6f
mov dword [esp + 0x58], 2
fld dword [0x21f1d4c]
mov ecx, dword [esi + 0x13fecc]
fsub dword [0x21f1d40]
add ecx, 0x154
fld dword [0x21f1d48]
mov dword [0x7071b0], ebx
fsub dword [0x21f1d3c]
mov dword [0x7071ec], ebx
fld dword [0x21f1d44]
mov dword [0x7071f0], ebx
fsub dword [0x21f1d38]
fstp dword [esp + 0x2c]
mov edx, dword [esp + 0x2c]
mov dword [ecx], edx
fstp dword [esp + 0x30]
mov eax, dword [esp + 0x30]
mov dword [ecx + 4], eax
fstp dword [esp + 0x34]
mov edx, dword [esp + 0x34]
mov dword [ecx + 8], edx
mov eax, dword [esi + 0x13fecc]
mov dword [eax + 0x158], ebx
mov eax, dword [esi + 0x13fecc]
add eax, 0x154
push eax
push eax
call fcn.005cf7eb
mov eax, dword [esi + 0x13fecc]
cmp dword [eax + 0xcc], 0xd
je case.0x43e00e.4
movzx ecx, byte [eax + 0x275]
cmp ecx, 4
ja case.default.0x43e00e
jmp dword [ecx*4 + 0x4425d8]
fld dword [0x703c14]
fmul dword [0x6a84d0]
jmp 0x43e04f
fld dword [0x703c14]
jmp 0x43e04f
fld dword [0x703c14]
fmul dword [0x6a867c]
jmp 0x43e04f
fld dword [0x703c14]
fadd st(0), st(0)
jmp 0x43e04f
fld dword [0x703c14]
fmul dword [0x6a8678]
fld st(0)
fmul dword [eax + 0x15c]
fld st(1)
fmul dword [eax + 0x158]
fstp dword [esp + 0x18]
fxch st(1)
fmul dword [eax + 0x154]
fstp dword [esp + 0x70]
fchs
fld dword [esp + 0x18]
fchs
fld dword [esp + 0x70]
fchs
fadd dword [esp + 0x1c]
fstp dword [esp + 0x1c]
fadd dword [esp + 0x20]
fstp dword [esp + 0x20]
fadd dword [esp + 0x24]
fstp dword [esp + 0x24]
mov cl, byte [eax + 0x378]
test cl, cl
je 0x43e0ed
fld dword [0x703c14]
fadd st(0), st(0)
fld st(0)
fmul dword [eax + 0x15c]
fld st(1)
fmul dword [eax + 0x158]
fstp dword [esp + 0x18]
fxch st(1)
fmul dword [eax + 0x154]
fstp dword [esp + 0x70]
fchs
fld dword [esp + 0x18]
fchs
fld dword [esp + 0x70]
fchs
fadd dword [esp + 0x1c]
fstp dword [esp + 0x1c]
fadd dword [esp + 0x20]
fstp dword [esp + 0x20]
fadd dword [esp + 0x24]
fstp dword [esp + 0x24]
mov edi, 1
mov dword [esi + 0x1400e0], edi
jmp 0x43e203
mov al, byte [0x21eadf7]
test al, al
jne 0x43e133
mov al, byte [0x21eadf4]
test al, al
jne 0x43e133
mov ecx, 0x84f768
call fcn.004c48f0
test eax, eax
jne 0x43e133
mov ecx, dword [0x703b54]
push ecx
mov ecx, dword [0x21ebef8]
call fcn.00438160
test al, al
jne 0x43e13f
cmp dword [0x7071e4], ebx
je 0x43e1fe
fld dword [0x21f1d4c]
mov edx, dword [esi + 0x13fecc]
fsub dword [0x21f1d40]
add edx, 0x154
fld dword [0x21f1d48]
mov dword [0x7071b0], ebx
fsub dword [0x21f1d3c]
fld dword [0x21f1d44]
fsub dword [0x21f1d38]
fstp dword [esp + 0x2c]
mov eax, dword [esp + 0x2c]
mov dword [edx], eax
fstp dword [esp + 0x30]
mov ecx, dword [esp + 0x30]
mov dword [edx + 4], ecx
fstp dword [esp + 0x34]
mov eax, dword [esp + 0x34]
mov dword [edx + 8], eax
mov ecx, dword [esi + 0x13fecc]
mov dword [ecx + 0x158], ebx
mov eax, dword [esi + 0x13fecc]
add eax, 0x154
push eax
push eax
call fcn.005cf7eb
fld dword [esp + 0x28]
mov eax, dword [esi + 0x13fecc]
fmul dword [eax + 0x15c]
add eax, 0x154
fld dword [esp + 0x28]
mov edi, 1
fmul dword [eax + 4]
mov dword [esp + 0x58], edi
fld dword [esp + 0x28]
fmul dword [eax]
mov dword [esi + 0x1400e0], edi
fadd dword [esp + 0x1c]
fstp dword [esp + 0x1c]
fadd dword [esp + 0x20]
fstp dword [esp + 0x20]
fadd dword [esp + 0x24]
fstp dword [esp + 0x24]
jmp 0x43e203
mov edi, 1
mov al, byte [0x21eadf7]
test al, al
jne 0x43e529
mov al, byte [0x21eadf4]
test al, al
jne 0x43e529
mov edx, dword [0x703b50]
mov ecx, dword [0x21ebef8]
push edx
call fcn.00438160
test al, al
je 0x43e3b0
mov ecx, 0x84f768
call fcn.004c48f0
test eax, eax
jne 0x43e396
fld dword [esp + 0x28]
mov eax, dword [esi + 0x13fecc]
fmul dword [0x6a8504]
add eax, 0x154
mov edx, eax
mov ecx, dword [edx]
fmul dword [0x6aa4f0]
mov dword [esp + 0x2c], ecx
mov ecx, dword [edx + 4]
fst dword [esp + 0x18]
fcos
mov edx, dword [edx + 8]
mov dword [esp + 0x34], edx
mov dword [0x7071b0], ebx
mov dword [esp + 0x5c], ebx
fst dword [esp + 0x4c]
fld dword [esp + 0x18]
fsin
fld st(0)
fld st(1)
fld st(3)
fmul dword [esp + 0x34]
fxch st(1)
fmul dword [esp + 0x2c]
faddp st(1)
fld dword [esp + 0x4c]
fmul dword [esp + 0x2c]
fxch st(2)
fmul dword [esp + 0x34]
fsubp st(2)
fxch st(1)
fstp dword [esp + 0x2c]
mov edx, dword [esp + 0x2c]
mov dword [eax], edx
fstp dword [esp + 0x34]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x34]
mov dword [eax + 8], ecx
fld dword [0x21f1d40]
fsub dword [0x21f1d4c]
fld dword [0x21f1d3c]
fsub dword [0x21f1d48]
fld dword [0x21f1d38]
fsub dword [0x21f1d44]
fstp dword [esp + 0x38]
mov edx, dword [esp + 0x38]
mov dword [esp + 0x2c], edx
fstp dword [esp + 0x3c]
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x30], eax
fstp dword [esp + 0x40]
mov ecx, dword [esp + 0x40]
fld st(1)
mov dword [esp + 0x34], ecx
fld st(1)
fxch st(1)
fmul dword [esp + 0x2c]
fxch st(1)
fmul dword [esp + 0x34]
fsubp st(1)
fstp dword [esp + 0x18]
fxch st(1)
fmul dword [esp + 0x34]
fxch st(1)
fmul dword [esp + 0x2c]
faddp st(1)
fadd dword [0x21f1d4c]
fld dword [esp + 0x30]
fadd dword [0x21f1d48]
fld dword [0x21f1d44]
fadd dword [esp + 0x18]
fstp dword [esp + 0x38]
mov edx, dword [esp + 0x38]
mov dword [0x21f1d38], edx
fstp dword [esp + 0x3c]
mov eax, dword [esp + 0x3c]
mov dword [0x21f1d3c], eax
fstp dword [esp + 0x40]
mov ecx, dword [esp + 0x40]
mov dword [0x21f1d40], ecx
mov eax, dword [esi + 0x13fecc]
cmp dword [eax + 0xdc], 3
je 0x43e390
mov dword [eax + 0xdc], edi
mov dword [esi + 0x1400e0], edi
mov al, byte [0x21eadf7]
test al, al
jne 0x43e529
mov al, byte [0x21eadf4]
test al, al
jne 0x43e529
mov ecx, 0x84f768
call fcn.004c48f0
test eax, eax
jne 0x43e529
mov edx, dword [0x703b64]
mov ecx, dword [0x21ebef8]
push edx
call fcn.00438160
test al, al
je 0x43e529
fld dword [esp + 0x28]
mov eax, dword [esi + 0x13fecc]
fmul dword [0x6aa514]
add eax, 0x154
mov edx, eax
mov ecx, dword [edx]
fmul dword [0x6aa4f0]
mov dword [esp + 0x2c], ecx
mov ecx, dword [edx + 4]
fst dword [esp + 0x18]
fcos
mov edx, dword [edx + 8]
mov dword [esp + 0x34], edx
mov dword [0x7071b0], ebx
mov dword [esp + 0x5c], ebx
fst dword [esp + 0x4c]
fld dword [esp + 0x18]
fsin
fld st(0)
fld st(1)
fld st(3)
fmul dword [esp + 0x34]
fxch st(1)
fmul dword [esp + 0x2c]
faddp st(1)
fld dword [esp + 0x4c]
fmul dword [esp + 0x2c]
fxch st(2)
fmul dword [esp + 0x34]
fsubp st(2)
fxch st(1)
fstp dword [esp + 0x2c]
mov edx, dword [esp + 0x2c]
mov dword [eax], edx
fstp dword [esp + 0x34]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x34]
mov dword [eax + 8], ecx
fld dword [0x21f1d40]
fsub dword [0x21f1d4c]
fld dword [0x21f1d3c]
fsub dword [0x21f1d48]
fld dword [0x21f1d38]
fsub dword [0x21f1d44]
fstp dword [esp + 0x38]
mov edx, dword [esp + 0x38]
mov dword [esp + 0x2c], edx
fstp dword [esp + 0x3c]
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x30], eax
fstp dword [esp + 0x40]
mov ecx, dword [esp + 0x40]
fld st(1)
mov dword [esp + 0x34], ecx
fld st(1)
fxch st(1)
fmul dword [esp + 0x2c]
fxch st(1)
fmul dword [esp + 0x34]
fsubp st(1)
fstp dword [esp + 0x18]
fxch st(1)
fmul dword [esp + 0x34]
fxch st(1)
fmul dword [esp + 0x2c]
faddp st(1)
fadd dword [0x21f1d4c]
fld dword [esp + 0x30]
fadd dword [0x21f1d48]
fld dword [0x21f1d44]
fadd dword [esp + 0x18]
fstp dword [esp + 0x38]
mov edx, dword [esp + 0x38]
mov dword [0x21f1d38], edx
fstp dword [esp + 0x3c]
mov eax, dword [esp + 0x3c]
mov dword [0x21f1d3c], eax
fstp dword [esp + 0x40]
mov ecx, dword [esp + 0x40]
mov dword [0x21f1d40], ecx
mov eax, dword [esi + 0x13fecc]
cmp dword [eax + 0xdc], 3
je 0x43e523
mov dword [eax + 0xdc], edi
mov dword [esi + 0x1400e0], edi
mov eax, dword [esp + 0x58]
xor edi, edi
cmp eax, edi
mov dword [esi + 0x1400d8], edi
je 0x43e579
cmp dword [0x7071c8], edi
jne 0x43e549
cmp dword [0x7071cc], edi
je 0x43e579
call dword [sym.imp.winmm.dll_timeGetTime]
mov ebx, dword [0x707228]
mov edx, eax
sub edx, ebx
cmp edx, 0xfa
jbe 0x43e579
mov ecx, esi
mov dword [0x707228], eax
call fcn.00439040
mov dword [0x7071cc], edi
mov dword [0x7071c8], edi
mov eax, dword [0x7071b0]
cmp eax, 6
ja case.default.0x43e587
jmp dword [eax*4 + 0x4425ec]
mov dword [0x7071d0], edi
mov dword [0x7071c8], edi
mov dword [0x7071cc], edi
jmp case.default.0x43e587
mov eax, dword [esi + 0x13fecc]
mov eax, dword [eax + 0x160]
cmp eax, 0xffffffff
mov dword [0x7071e4], edi
je case.default.0x43e587
push eax
mov ecx, esi
call fcn.00446550
mov edi, eax
xor ebx, ebx
cmp edi, ebx
je case.default.0x43e587
cmp dword [0x84737c], ebx
je 0x43e5e7
mov dword [0x84737c], ebx
call fcn.00587840
mov edx, dword [esi + 0x13fecc]
lea ecx, [edi + 0x20]
mov eax, dword [ecx]
add edx, 0x148
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 + 0x150]
lea edx, [esp + 0xe4]
fsub dword [eax + 0x18]
push edx
fld dword [eax + 0x148]
fsub dword [eax + 0x10]
mov eax, edx
push eax
mov dword [esp + 0xf0], 0
fstp dword [esp + 0xec]
fstp dword [esp + 0xf4]
call fcn.005cf7eb
fld dword [esp + 0x28]
mov ecx, dword [esi + 0x13fecc]
fmul dword [esp + 0xec]
mov edx, dword [ecx + 0x148]
mov dword [esp + 0x70], edx
fstp dword [esp + 0x54]
fld dword [esp + 0x28]
fmul dword [esp + 0xe8]
fstp dword [esp + 0x44]
fld dword [esp + 0x28]
fmul dword [esp + 0xe4]
fstp dword [esp + 0x2c]
fld dword [ecx + 0x18]
fld dword [ecx + 0x10]
fld dword [ecx + 0x150]
fsub st(2)
fstp dword [esp + 0x18]
fld dword [esp + 0x70]
fsub st(1)
fstp st(2)
fstp st(0)
fld st(0)
fmulp st(1)
fld dword [esp + 0x18]
fmul dword [esp + 0x18]
faddp st(1)
fsqrt
fstp dword [esp + 0x18]
fld dword [esp + 0xe4]
fabs
fcomp dword [0x6a75fc]
fnstsw ax
test ah, 0x41
jne 0x43e81c
fld dword [esp + 0xec]
fabs
fcomp dword [0x6a75fc]
fnstsw ax
test ah, 0x41
jne 0x43e81c
mov edx, dword [esp + 0xec]
mov eax, dword [esp + 0xe4]
add ecx, 0x154
mov dword [ecx], eax
mov dword [esp + 0x40], edx
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0x3c], 0
mov edx, dword [esp + 0x3c]
mov dword [ecx + 4], edx
mov dword [ecx + 8], eax
mov eax, dword [esi + 0x13fecc]
fld dword [eax + 0x15c]
lea ecx, [esp + 0x148]
fsub dword [eax + 0x24]
push ecx
fld dword [eax + 0x158]
mov edx, ecx
fsub dword [eax + 0x20]
push edx
fld dword [eax + 0x154]
fsub dword [eax + 0x1c]
fstp dword [esp + 0x150]
fst dword [esp + 0x154]
fld st(1)
fstp dword [esp + 0x158]
fld dword [esp + 0x150]
fmul dword [esp + 0x150]
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 + 0x54]
call fcn.005cf7eb
fld dword [esp + 0x150]
fmul dword [esp + 0x28]
fld dword [esp + 0x14c]
fmul dword [esp + 0x28]
fld dword [esp + 0x148]
fmul dword [esp + 0x28]
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 + 0x4c]
fsub dword [0x6a84cc]
fcompp
fnstsw ax
test ah, 0x41
mov eax, dword [esi + 0x13fecc]
jne 0x43e7f4
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 0x43e813
lea ecx, [eax + 0x154]
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 + 0x18]
fcomp dword [0x6a8210]
fnstsw ax
test ah, 0x41
jne 0x43e8b0
fld dword [esp + 0x2c]
fmul dword [esp + 0x2c]
fld dword [esp + 0x44]
fmul dword [esp + 0x44]
faddp st(1)
fld dword [esp + 0x54]
fmul dword [esp + 0x54]
faddp st(1)
fsqrt
fld dword [esp + 0x18]
fsub dword [0x6a84cc]
fcompp
fnstsw ax
test ah, 0x41
mov eax, dword [esi + 0x13fecc]
jne 0x44064a
cmp dword [eax + 0xdc], 3
je 0x43e87d
mov dword [esp + 0x58], 1
fld dword [esp + 0x2c]
mov dword [esi + 0x1400e0], 1
fadd dword [esp + 0x1c]
fstp dword [esp + 0x1c]
fld dword [esp + 0x44]
fadd dword [esp + 0x20]
fstp dword [esp + 0x20]
fld dword [esp + 0x54]
fadd dword [esp + 0x24]
fstp dword [esp + 0x24]
jmp case.default.0x43e587
fld dword [esp + 0xe4]
fabs
fld dword [0x6a75fc]
fucompp
fnstsw ax
test ah, 0x44
jnp 0x43e917
fld dword [esp + 0xec]
fabs
fld dword [0x6a75fc]
fucompp
fnstsw ax
test ah, 0x44
jnp 0x43e917
mov eax, dword [esp + 0xec]
mov ecx, dword [esi + 0x13fecc]
mov edx, dword [esp + 0xe4]
add ecx, 0x1c
mov dword [esp + 0x40], eax
mov dword [ecx], edx
mov dword [esp + 0x3c], 0
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x38], edx
mov edx, dword [esp + 0x40]
mov dword [ecx + 4], eax
mov dword [ecx + 8], edx
mov eax, dword [edi + 4]
push eax
call fcn.005876d0
mov ecx, dword [esi + 0x13fecc]
mov dword [ecx + 0x164], ebx
mov edx, dword [esi + 0x13fecc]
add esp, 4
mov dword [0x7071b0], ebx
mov dword [edx + 0x160], 0xffffffff
jmp case.default.0x43e587
mov ecx, dword [esi + 0x13fecc]
mov eax, dword [ecx + 0x160]
cmp eax, 0xffffffff
mov dword [0x7071e4], edi
je case.default.0x43e587
cmp eax, dword [ecx + 0x34]
je case.default.0x43e587
push eax
mov ecx, esi
call fcn.00446510
mov edi, eax
test edi, edi
mov dword [esp + 0x48], edi
je 0x43f409
mov eax, dword [esi + 0x13fecc]
xor ecx, ecx
mov cl, byte [eax + 0x192]
xor edx, edx
mov dl, byte [eax + 0x185]
push ecx
mov ecx, 0x856fcc
push edx
call fcn.0045f2c0
test eax, eax
je 0x43e9c2
movzx eax, word [eax + 0x26]
mov dword [esp + 0x18], eax
fild dword [esp + 0x18]
fadd dword [0x6a84d0]
fstp dword [esp + 0x50]
jmp 0x43e9ca
mov dword [esp + 0x50], 0x3f800000
mov eax, dword [0x7071d4]
test eax, eax
je 0x43ea1f
dec eax
push eax
mov ecx, 0x21e68d4
call fcn.0043a010
test eax, eax
je 0x43ea1f
xor ecx, ecx
mov cl, byte [eax + 4]
xor edx, edx
mov dx, word [eax + 2]
push ecx
mov ecx, 0x856fcc
push edx
call fcn.00460190
test eax, eax
je 0x43ea1f
movzx eax, byte [eax + 0x38]
mov dword [esp + 0x18], eax
fild dword [esp + 0x18]
fld dword [esp + 0x50]
fcomp st(1)
fnstsw ax
test ah, 5
jp 0x43ea1d
fstp dword [esp + 0x50]
jmp 0x43ea1f
fstp st(0)
mov ecx, dword [esi + 0x13fecc]
xor edx, edx
mov dl, byte [ecx + 0x185]
mov ecx, 0x84f768
push edx
call fcn.004bfc00
test eax, eax
je 0x43ea53
movzx eax, word [0x21e756e]
mov dword [esp + 0x18], eax
fild dword [esp + 0x18]
fadd dword [esp + 0x50]
fstp dword [esp + 0x50]
mov eax, dword [0x7071d4]
test eax, eax
jne 0x43eaac
mov cl, byte [0x21e6a42]
cmp cl, byte [edi + 0x276]
jne 0x43eaac
mov ecx, dword [0x7066b4]
mov eax, 2
cmp ecx, eax
jne 0x43ea84
mov edx, dword [edi + 0x34]
cmp edx, dword [0x7066b8]
je 0x43eaac
cmp dword [0x7066d0], eax
jne 0x43eaa4
mov eax, dword [edi + 0x2c8]
cmp eax, dword [0x706594]
jne 0x43eaa4
mov al, byte [edi + 0x37a]
test al, al
jne 0x43eaac
mov dword [esp + 0x50], 0x3fc00000
mov eax, dword [esi + 0x13fecc]
mov ecx, dword [eax + 0x288]
test ecx, ecx
je 0x43eac6
mov ecx, dword [ecx + 0x88]
mov dword [esp + 0x50], ecx
mov ebx, dword [esp + 0x48]
add ebx, 0x10
add eax, 0x148
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 + 0x150]
fsub dword [eax + 0x18]
fld dword [eax + 0x148]
fsub dword [eax + 0x10]
lea eax, [esp + 0xd8]
push eax
mov ecx, eax
fstp dword [esp + 0xdc]
push ecx
mov dword [esp + 0xe4], 0
fstp dword [esp + 0xe8]
call fcn.005cf7eb
fld dword [esp + 0x28]
mov ecx, dword [esi + 0x13fecc]
fmul dword [esp + 0xe0]
mov edx, dword [ecx + 0x148]
mov dword [esp + 0x70], edx
fstp dword [esp + 0x54]
fld dword [esp + 0x28]
fmul dword [esp + 0xdc]
fstp dword [esp + 0x44]
fld dword [esp + 0x28]
fmul dword [esp + 0xd8]
fstp dword [esp + 0x2c]
fld dword [ecx + 0x18]
fld dword [ecx + 0x10]
fld dword [ecx + 0x150]
fsub st(2)
fstp dword [esp + 0x18]
fld dword [esp + 0x70]
fsub st(1)
fstp st(2)
fstp st(0)
fld st(0)
fmulp st(1)
fld dword [esp + 0x18]
fmul dword [esp + 0x18]
faddp st(1)
fsqrt
fabs
fstp dword [esp + 0x18]
fld dword [esp + 0xd8]
fabs
fld dword [0x6a75fc]
fucompp
fnstsw ax
test ah, 0x44
jnp 0x43ed05
fld dword [esp + 0xe0]
fabs
fld dword [0x6a75fc]
fucompp
fnstsw ax
test ah, 0x44
jnp 0x43ed05
mov edx, dword [esp + 0xe0]
mov eax, dword [esp + 0xd8]
add ecx, 0x154
mov dword [ecx], eax
mov dword [esp + 0x40], edx
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0x3c], 0
mov edx, dword [esp + 0x3c]
mov dword [ecx + 4], edx
mov dword [ecx + 8], eax
mov eax, dword [esi + 0x13fecc]
fld dword [eax + 0x15c]
lea ecx, [esp + 0x19c]
fsub dword [eax + 0x24]
push ecx
fld dword [eax + 0x158]
mov edx, ecx
fsub dword [eax + 0x20]
push edx
fld dword [eax + 0x154]
fsub dword [eax + 0x1c]
fstp dword [esp + 0x1a4]
fst dword [esp + 0x1a8]
fld st(1)
fstp dword [esp + 0x1ac]
fld dword [esp + 0x1a4]
fmul dword [esp + 0x1a4]
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 + 0x54]
call fcn.005cf7eb
fld dword [esp + 0x1a4]
fmul dword [esp + 0x28]
fld dword [esp + 0x1a0]
fmul dword [esp + 0x28]
fld dword [esp + 0x28]
fmul dword [esp + 0x19c]
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 + 0x4c]
fsub dword [0x6a84cc]
fcompp
fnstsw ax
test ah, 0x41
mov eax, dword [esi + 0x13fecc]
jne 0x43ecd9
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 0x43ed07
lea ecx, [eax + 0x154]
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 0x43ed07
xor edi, edi
mov ecx, dword [esi + 0x13fecc]
mov eax, dword [0x6f3be4]
cmp eax, dword [ecx + 0x160]
jne 0x43ed23
cmp dword [0x7071fc], 2
je 0x43ed56
mov dword [0x7071c4], edi
mov dword [esi + 0x1400dc], edi
call fcn.00587840
mov ecx, dword [esi + 0x13fecc]
mov edx, dword [ecx + 0x160]
mov dword [0x6f3be4], edx
mov dword [0x7071fc], 2
mov dword [0x7071c4], edi
fld dword [esp + 0x18]
fcomp dword [esp + 0x50]
fnstsw ax
test ah, 0x41
jne 0x43ee1e
cmp dword [esi + 0x1400dc], edi
je 0x43ed7c
mov dword [esi + 0x1400dc], edi
call fcn.00587840
fld dword [esp + 0x2c]
fmul dword [esp + 0x2c]
fld dword [esp + 0x44]
fmul dword [esp + 0x44]
faddp st(1)
fld dword [esp + 0x54]
fmul dword [esp + 0x54]
faddp st(1)
fsqrt
fld dword [esp + 0x18]
fsub dword [0x6a84cc]
fcompp
fnstsw ax
test ah, 0x41
mov eax, dword [esi + 0x13fecc]
jne 0x4408e1
cmp dword [eax + 0xdc], 3
je 0x43edce
mov dword [esp + 0x58], 1
mov dword [0x7071c8], edi
fld dword [esp + 0x1c]
mov dword [eax + 0x1a8], edi
fadd dword [esp + 0x2c]
mov eax, dword [0x7071c4]
cmp eax, edi
mov dword [esi + 0x1400e0], 1
fstp dword [esp + 0x1c]
fld dword [esp + 0x20]
fadd dword [esp + 0x44]
fstp dword [esp + 0x20]
fld dword [esp + 0x24]
fadd dword [esp + 0x54]
fstp dword [esp + 0x24]
je case.default.0x43e587
mov dword [esi + 0x1400d8], 1
jmp case.default.0x43e587
mov edx, dword [esp + 0x48]
cmp dword [edx + 0xdc], 4
jne 0x43ee36
mov dword [0x7071b0], edi
jmp case.default.0x43e587
cmp dword [ecx + 0xdc], 2
je case.default.0x43e587
fld dword [esp + 0xd8]
fabs
fld dword [0x6a75fc]
fucompp
fnstsw ax
test ah, 0x44
jnp 0x43efdf
fld dword [esp + 0xe0]
fabs
fld dword [0x6a75fc]
fucompp
fnstsw ax
test ah, 0x44
jnp 0x43efdf
cmp dword [0x7071c8], 1
je 0x43efdf
mov edx, dword [esp + 0xe0]
mov eax, dword [esp + 0xd8]
add ecx, 0x1c
mov dword [ecx], eax
mov dword [esp + 0x40], edx
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0x3c], 0
mov edx, dword [esp + 0x3c]
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 + 0x1f0]
fstp dword [esp + 0x1f8]
push edx
mov eax, edx
push eax
mov dword [esp + 0x1f8], ecx
mov dword [esp + 0x1fc], 0
mov dword [esp + 0x1ec], 0
mov dword [esp + 0x1f0], 0
mov dword [esp + 0x1f4], 0x3f800000
call fcn.005cf7eb
lea ecx, [esp + 0x1e4]
push ecx
mov edx, ecx
push edx
call fcn.005cf7eb
fld dword [esp + 0x1ec]
fmul dword [esp + 0x1f8]
fld dword [esp + 0x1e8]
fmul dword [esp + 0x1f4]
faddp st(1)
fld dword [esp + 0x1e4]
fmul dword [esp + 0x1f0]
faddp st(1)
fst dword [esp + 0x18]
call fcn.005b9cf0
fmul dword [0x6aa48c]
call fcn.005b8b18
mov edi, eax
mov eax, dword [esi + 0x13fecc]
fld dword [eax + 0x1c]
fcomp dword [0x6a75fc]
fnstsw ax
test ah, 0x41
jne 0x43ef82
mov ecx, 0x168
sub ecx, edi
mov edi, ecx
call dword [sym.imp.winmm.dll_timeGetTime]
mov ecx, dword [0x707228]
mov edx, eax
sub edx, ecx
cmp edx, 0xfa
jbe 0x43efdf
mov dword [0x707228], eax
mov eax, dword [0x7071c4]
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 0x43efca
xor edx, edx
mov dl, byte [eax + 0x25c]
push edx
push 4
push 0
jmp 0x43efd7
xor edx, edx
mov dl, byte [eax + 0x25c]
push edx
push 4
push 1
call fcn.00587d90
add esp, 0x1c
mov eax, dword [0x7071d4]
test eax, eax
mov edi, 2
mov dword [esi + 0x1400e0], edi
je 0x43f150
dec eax
push eax
mov ecx, 0x21e68d4
call fcn.0043a010
mov edi, eax
test edi, edi
je case.default.0x43e587
lea eax, [esp + 0xb9]
push eax
lea ecx, [esp + 0x9f]
push ecx
mov byte [esp + 0xa3], 0
mov byte [esp + 0xc1], 0
mov edx, dword [esi + 0x13fecc]
push ebx
add edx, 0x10
push edx
mov ecx, esi
call fcn.00437230
test eax, eax
je 0x43f0a2
xor eax, eax
mov al, byte [edi + 4]
xor ecx, ecx
mov cx, word [edi + 2]
push eax
push ecx
mov ecx, 0x856fcc
call fcn.00460190
movzx ecx, byte [esp + 0x9b]
dec ecx
jne 0x43f0a2
mov al, byte [eax + 0x1d]
cmp al, 2
je 0x43f0a2
cmp al, 4
je 0x43f0a2
cmp al, 6
je 0x43f0a2
push 0xd8
push 0x11
call fcn.0041d9a0
mov ecx, dword [0x7071c8]
xor eax, eax
add esp, 8
cmp ecx, eax
mov dword [0x7071d4], eax
jne 0x442591
mov dword [0x7071b0], eax
jmp 0x442591
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.00436bc0
test eax, eax
je 0x43fc0d
xor edx, edx
mov dl, byte [edi + 4]
xor eax, eax
mov ax, word [edi + 2]
mov ecx, 0x856fcc
push edx
push eax
call fcn.00460190
cmp word [eax + 0x1e], 0x5a
jne 0x43f116
cmp byte [eax + 0x42], 2
jne 0x43f116
mov ecx, dword [0x84716c]
mov edx, dword [ecx + 0x160]
jmp 0x43f11d
mov ecx, dword [esp + 0x48]
mov edx, dword [ecx + 0x34]
xor eax, eax
mov al, byte [edi]
push edx
push eax
call fcn.00587f80
mov ecx, dword [0x7071c8]
xor eax, eax
add esp, 8
cmp ecx, eax
mov dword [0x21e6a3c], 1
jne 0x43f146
mov dword [0x7071b0], eax
mov dword [0x7071d4], eax
jmp case.default.0x43e587
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 + 0x50]
fadd dword [0x6a868c]
fcompp
fnstsw ax
test ah, 0x41
jne case.default.0x43e587
mov eax, dword [0x7071c8]
test eax, eax
jne case.default.0x43e587
mov ecx, dword [0x7034d4]
mov edx, dword [ecx]
push 0x1b
call dword [edx + 4]
test al, al
je 0x43f29b
call dword [sym.imp.winmm.dll_timeGetTime]
mov edx, dword [0x70722c]
mov edi, eax
sub eax, edx
cmp eax, 0xfa
jbe 0x43f3fa
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.00436bc0
test eax, eax
je 0x43f3ea
mov eax, dword [esi + 0x13fecc]
mov ecx, dword [eax + 0x160]
lea edx, [esp + 0xb7]
push edx
mov dword [0x6f3be4], ecx
lea eax, [esp + 0x9e]
mov byte [esp + 0x9e], 0
mov byte [esp + 0xbb], 0
mov ecx, dword [esi + 0x13fecc]
push eax
add ecx, 0x10
push ebx
push ecx
mov ecx, esi
mov dword [0x7071c4], 1
mov dword [0x7071fc], 2
call fcn.00437230
test eax, eax
je 0x43f286
movzx eax, byte [esp + 0x9a]
dec eax
je 0x43f3b4
mov edx, dword [esp + 0x48]
mov eax, dword [edx + 0x34]
push eax
call fcn.00587e40
add esp, 4
jmp 0x43f3f4
mov eax, dword [esp + 0x48]
mov cl, byte [0x21e6a42]
cmp cl, byte [eax + 0x276]
jne 0x43f2ec
cmp dword [0x7066b4], edi
jne 0x43f2c0
mov edx, dword [eax + 0x34]
cmp edx, dword [0x7066b8]
je 0x43f2ec
cmp dword [0x7066d0], edi
jne 0x43f3fa
mov ecx, dword [eax + 0x2c8]
cmp ecx, dword [0x706594]
jne 0x43f3fa
mov cl, byte [eax + 0x37a]
test cl, cl
je 0x43f3fa
call dword [sym.imp.winmm.dll_timeGetTime]
mov ecx, dword [0x70722c]
mov edi, eax
mov edx, edi
sub edx, ecx
cmp edx, 0xfa
jbe 0x43f3fa
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.00436bc0
test eax, eax
je 0x43f3ea
mov edx, dword [esi + 0x13fecc]
mov eax, dword [edx + 0x160]
lea ecx, [esp + 0xb8]
push ecx
mov dword [0x6f3be4], eax
lea edx, [esp + 0x9d]
mov byte [esp + 0x9d], 0
mov byte [esp + 0xbc], 0
mov eax, dword [esi + 0x13fecc]
push edx
push ebx
add eax, 0x10
push eax
mov ecx, esi
mov dword [0x7071c4], 1
mov dword [0x7071fc], 2
call fcn.00437230
test eax, eax
je 0x43f3d8
movzx eax, byte [esp + 0x99]
dec eax
jne 0x43f3d8
push 0x13c
push 0x11
call fcn.0041d9a0
add esp, 8
mov dword [0x7071b0], 0
mov dword [0x70722c], edi
jmp 0x442591
mov ecx, dword [esp + 0x48]
mov edx, dword [ecx + 0x34]
push edx
call fcn.00587e40
add esp, 4
jmp 0x43f3f4
mov dword [0x7071b0], 0
mov dword [0x70722c], edi
mov dword [0x7071c8], 1
jmp case.default.0x43e587
mov dword [0x7071b0], 0
jmp case.default.0x43e587
mov eax, dword [esi + 0x13fecc]
mov eax, dword [eax + 0x160]
cmp eax, 0xffffffff
mov dword [0x7071e4], edi
je case.default.0x43e587
push eax
mov ecx, esi
call fcn.00446590
cmp eax, edi
mov dword [esp + 0x50], eax
je case.default.0x43e587
cmp dword [eax + 0xb0], edi
jne case.default.0x43e587
fld dword [eax + 0x88]
mov eax, dword [esi + 0x13fecc]
fsub dword [0x6a868c]
xor ecx, ecx
mov cl, byte [eax + 0x192]
xor edx, edx
mov dl, byte [eax + 0x185]
fstp dword [esp + 0x48]
push ecx
mov ecx, 0x856fcc
push edx
call fcn.0045f2c0
cmp eax, edi
je 0x43f49f
movzx eax, word [eax + 0x26]
mov dword [esp + 0x18], eax
fild dword [esp + 0x18]
fadd dword [esp + 0x48]
fstp dword [esp + 0x48]
jmp 0x43f4a7
mov dword [esp + 0x48], 0x3f800000
mov eax, dword [0x7071d4]
cmp eax, edi
je 0x43f4fc
dec eax
push eax
mov ecx, 0x21e68d4
call fcn.0043a010
cmp eax, edi
je 0x43f4fc
xor ecx, ecx
mov cl, byte [eax + 4]
xor edx, edx
mov dx, word [eax + 2]
push ecx
mov ecx, 0x856fcc
push edx
call fcn.00460190
cmp eax, edi
je 0x43f4fc
movzx eax, byte [eax + 0x38]
mov dword [esp + 0x18], eax
fild dword [esp + 0x18]
fld dword [esp + 0x48]
fcomp st(1)
fnstsw ax
test ah, 5
jp 0x43f4fa
fstp dword [esp + 0x48]
jmp 0x43f4fc
fstp st(0)
mov ecx, dword [esi + 0x13fecc]
xor edx, edx
mov dl, byte [ecx + 0x185]
mov ecx, 0x84f768
push edx
call fcn.004bfc00
test eax, eax
je 0x43f530
movzx eax, word [0x21e756e]
mov dword [esp + 0x18], eax
fild dword [esp + 0x18]
fadd dword [esp + 0x48]
fstp dword [esp + 0x48]
mov eax, dword [esi + 0x13fecc]
mov ecx, dword [eax + 0x288]
cmp ecx, edi
je 0x43f54a
mov ecx, dword [ecx + 0x88]
mov dword [esp + 0x48], ecx
mov ebx, dword [esp + 0x50]
add ebx, 4
add eax, 0x148
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 + 0x150]
fsub dword [eax + 0x18]
fld dword [eax + 0x148]
fsub dword [eax + 0x10]
lea eax, [esp + 0xf0]
push eax
mov ecx, eax
fstp dword [esp + 0xf4]
push ecx
mov dword [esp + 0xfc], 0
fstp dword [esp + 0x100]
call fcn.005cf7eb
mov ecx, dword [esi + 0x13fecc]
fld dword [ecx + 0x18]
mov edx, dword [ecx + 0x148]
fld dword [ecx + 0x10]
mov dword [esp + 0x70], edx
fld dword [ecx + 0x150]
fsub st(2)
fstp dword [esp + 0x18]
fld dword [esp + 0x70]
fsub st(1)
fstp st(2)
fstp st(0)
fld st(0)
fmulp st(1)
fld dword [esp + 0x18]
fmul dword [esp + 0x18]
faddp st(1)
fsqrt
fabs
fstp dword [esp + 0x18]
fld dword [esp + 0xf8]
fmul dword [esp + 0x28]
fld dword [esp + 0xf4]
fmul dword [esp + 0x28]
fld dword [esp + 0xf0]
fmul dword [esp + 0x28]
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
fstp dword [esp + 0x40]
mov eax, dword [esp + 0x40]
fld dword [esp + 0xf0]
mov dword [esp + 0x34], eax
fabs
fld dword [0x6a75fc]
fucompp
fnstsw ax
test ah, 0x44
jnp 0x43f796
fld dword [esp + 0xf8]
fabs
fld dword [0x6a75fc]
fucompp
fnstsw ax
test ah, 0x44
jnp 0x43f796
mov eax, dword [esp + 0xf8]
mov edx, dword [esp + 0xf0]
mov dword [esp + 0x40], eax
add ecx, 0x154
mov dword [ecx], edx
mov dword [esp + 0x3c], 0
mov eax, dword [esp + 0x3c]
mov dword [ecx + 4], eax
mov dword [esp + 0x38], edx
mov edx, dword [esp + 0x40]
mov dword [ecx + 8], edx
mov eax, dword [esi + 0x13fecc]
fld dword [eax + 0x15c]
fsub dword [eax + 0x24]
fld dword [eax + 0x158]
fsub dword [eax + 0x20]
fld dword [eax + 0x154]
fsub dword [eax + 0x1c]
lea eax, [esp + 0x190]
push eax
mov ecx, eax
fstp dword [esp + 0x194]
push ecx
fst dword [esp + 0x19c]
fld st(1)
fstp dword [esp + 0x1a0]
fld dword [esp + 0x198]
fmul dword [esp + 0x198]
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 + 0x54]
call fcn.005cf7eb
fld dword [esp + 0x198]
fmul dword [esp + 0x28]
fld dword [esp + 0x194]
fmul dword [esp + 0x28]
fld dword [esp + 0x28]
fmul dword [esp + 0x190]
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 + 0x4c]
fsub dword [0x6a84cc]
fcompp
fnstsw ax
test ah, 0x41
mov eax, dword [esi + 0x13fecc]
jne 0x43f76a
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 0x43f789
lea edx, [eax + 0x154]
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 [0x6f3be4]
cmp edx, dword [ecx + 0x160]
mov edi, 3
jne 0x43f7b7
cmp dword [0x7071fc], edi
je 0x43f7e0
xor eax, eax
mov dword [0x7071c4], eax
mov dword [esi + 0x1400dc], eax
call fcn.00587840
mov ecx, dword [esi + 0x13fecc]
mov eax, dword [ecx + 0x160]
mov dword [0x6f3be4], eax
mov dword [0x7071fc], edi
fld dword [esp + 0x18]
fcomp dword [esp + 0x48]
fnstsw ax
test ah, 0x41
jne 0x43f89c
mov eax, dword [esi + 0x1400dc]
test eax, eax
je 0x43f80c
mov dword [esi + 0x1400dc], 0
call fcn.00587840
fld dword [esp + 0x34]
fmul dword [esp + 0x34]
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 + 0x18]
fsub dword [0x6a84cc]
fcompp
fnstsw ax
test ah, 0x41
jne 0x43f879
mov ecx, dword [esi + 0x13fecc]
cmp dword [ecx + 0xdc], edi
mov eax, 1
je 0x43f85e
mov dword [esp + 0x58], eax
mov dword [0x7071cc], 0
mov ecx, dword [0x7071c4]
test ecx, ecx
je 0x43f86e
mov dword [esi + 0x1400d8], eax
mov dword [esi + 0x1400e0], eax
jmp 0x440165
mov eax, dword [esi + 0x13fecc]
lea edx, [eax + 0x10]
mov ecx, dword [edx]
add eax, 0x148
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.0x43e587
mov eax, dword [ecx + 0xdc]
cmp eax, 2
je 0x43f8b5
mov edx, dword [esp + 0x50]
mov edi, dword [edx + 0xb0]
test edi, edi
je 0x43f8de
mov edx, dword [0x7071d4]
test edx, edx
je case.default.0x43e587
cmp eax, 2
je case.default.0x43e587
mov eax, dword [esp + 0x50]
mov edx, dword [eax + 0xb0]
test edx, edx
jne case.default.0x43e587
fld dword [esp + 0xf0]
fabs
fld dword [0x6a75fc]
fucompp
fnstsw ax
test ah, 0x44
jnp 0x43fa86
fld dword [esp + 0xf8]
fabs
fld dword [0x6a75fc]
fucompp
fnstsw ax
test ah, 0x44
jnp 0x43fa86
cmp dword [0x7071cc], 1
je 0x43fa86
mov eax, dword [esp + 0xf8]
mov edx, dword [esp + 0xf0]
mov dword [esp + 0x40], eax
add ecx, 0x1c
mov dword [ecx], edx
mov dword [esp + 0x38], edx
mov edx, dword [esp + 0x40]
mov dword [esp + 0x3c], 0
mov eax, dword [esp + 0x3c]
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 + 0x1b4]
fstp dword [esp + 0x1bc]
push ecx
mov edx, ecx
push edx
mov dword [esp + 0x1bc], eax
mov dword [esp + 0x1c0], 0
mov dword [esp + 0x1e0], 0
mov dword [esp + 0x1e4], 0
mov dword [esp + 0x1e8], 0x3f800000
call fcn.005cf7eb
lea eax, [esp + 0x1d8]
push eax
mov ecx, eax
push ecx
call fcn.005cf7eb
fld dword [esp + 0x1e0]
fmul dword [esp + 0x1bc]
fld dword [esp + 0x1dc]
fmul dword [esp + 0x1b8]
faddp st(1)
fld dword [esp + 0x1d8]
fmul dword [esp + 0x1b4]
faddp st(1)
fst dword [esp + 0x18]
call fcn.005b9cf0
fmul dword [0x6aa48c]
call fcn.005b8b18
mov edx, dword [esi + 0x13fecc]
fld dword [edx + 0x1c]
mov edi, eax
fcomp dword [0x6a75fc]
fnstsw ax
test ah, 0x41
jne 0x43fa1d
mov eax, 0x168
sub eax, edi
mov edi, eax
call dword [sym.imp.winmm.dll_timeGetTime]
mov edx, dword [0x707228]
mov ecx, eax
sub ecx, edx
cmp ecx, 0xfa
jbe 0x43fa86
mov dword [0x707228], eax
mov eax, dword [0x7071c4]
test eax, eax
mov eax, dword [esi + 0x13fecc]
je 0x43fa64
mov edx, dword [eax + 0x18]
mov ecx, dword [eax + 0x14]
push edx
mov edx, dword [eax + 0x10]
movzx eax, byte [eax + 0x25c]
push ecx
push edx
push edi
push eax
push 4
push 0
jmp 0x43fa7e
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 + 0x25c]
push ecx
push edi
push edx
push 4
push 1
call fcn.00587d90
add esp, 0x1c
mov eax, dword [0x7071d4]
test eax, eax
mov dword [esi + 0x1400e0], 2
je 0x43fc1e
dec eax
push eax
mov ecx, 0x21e68d4
call fcn.0043a010
mov edi, eax
test edi, edi
je case.default.0x43e587
lea eax, [esp + 0xbb]
push eax
lea ecx, [esp + 0x9b]
push ecx
mov byte [esp + 0x9f], 0
mov byte [esp + 0xc3], 0
mov edx, dword [esi + 0x13fecc]
push ebx
add edx, 0x10
push edx
mov ecx, esi
call fcn.00437230
test eax, eax
je 0x43fb49
xor eax, eax
mov al, byte [edi + 4]
xor ecx, ecx
mov cx, word [edi + 2]
push eax
push ecx
mov ecx, 0x856fcc
call fcn.00460190
movzx ecx, byte [esp + 0x97]
dec ecx
jne 0x43fb49
mov al, byte [eax + 0x1d]
cmp al, 2
je 0x43fb49
cmp al, 4
je 0x43fb49
cmp al, 6
je 0x43fb49
push 0xd8
push 0x11
call fcn.0041d9a0
mov ecx, dword [0x7071cc]
xor eax, eax
add esp, 8
cmp ecx, eax
mov dword [0x7071d4], eax
jne 0x43fb3f
mov dword [0x7071b0], eax
mov dword [0x7071d0], eax
jmp 0x442591
mov edx, dword [esp + 0x50]
mov eax, dword [edx + 0xc]
mov ecx, dword [ebx]
push eax
push ecx
mov ecx, esi
call fcn.0040dcc0
fadd dword [0x6a84d8]
mov eax, dword [esp + 0x50]
fld st(0)
fstp dword [eax + 8]
fld dword [eax + 0x8c]
fmul dword [0x6aa3bc]
fstp dword [esp + 0x48]
fcomp dword [esp + 0x48]
fnstsw ax
test ah, 5
jp 0x43fb90
mov edx, dword [esp + 0x48]
mov eax, dword [esp + 0x50]
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.00436bc0
test eax, eax
je 0x43fc0d
mov ecx, dword [esp + 0x50]
mov edx, dword [ecx + 0x28]
xor eax, eax
mov al, byte [edi]
push edx
push eax
call fcn.00587fc0
mov ecx, dword [0x7071cc]
xor eax, eax
add esp, 8
cmp ecx, eax
mov dword [0x21e6a3c], 1
jne 0x43fbfe
mov dword [0x7071b0], eax
mov dword [0x7071d0], eax
mov dword [0x7071d4], eax
jmp case.default.0x43e587
xor eax, eax
mov dword [0x7071b0], eax
mov dword [0x7071d4], eax
jmp case.default.0x43e587
mov eax, dword [0x7071cc]
test eax, eax
jne case.default.0x43e587
call dword [sym.imp.winmm.dll_timeGetTime]
mov edx, dword [0x70722c]
mov edi, eax
mov ecx, edi
sub ecx, edx
cmp ecx, 0xfa
jbe 0x43fd9d
mov edx, dword [esp + 0x50]
mov eax, dword [edx + 0xc]
mov ecx, dword [ebx]
push eax
push ecx
mov ecx, esi
call fcn.0040dcc0
fadd dword [0x6a84d8]
mov eax, dword [esp + 0x50]
fld st(0)
fstp dword [eax + 8]
fld dword [eax + 0x8c]
fmul dword [0x6aa3bc]
fstp dword [esp + 0x48]
fcomp dword [esp + 0x48]
fnstsw ax
test ah, 5
jp 0x43fc90
mov edx, dword [esp + 0x48]
mov eax, dword [esp + 0x50]
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.00436bc0
test eax, eax
je 0x43fd8d
mov eax, dword [esi + 0x13fecc]
mov ecx, dword [eax + 0x160]
lea edx, [esp + 0xba]
push edx
mov dword [0x6f3be4], ecx
lea eax, [esp + 0x9c]
mov byte [esp + 0x9c], 0
mov byte [esp + 0xbe], 0
mov ecx, dword [esi + 0x13fecc]
push eax
add ecx, 0x10
push ebx
push ecx
mov ecx, esi
mov dword [0x7071c4], 1
mov dword [0x7071fc], 3
call fcn.00437230
test eax, eax
je 0x43fd7b
movzx eax, byte [esp + 0x98]
dec eax
jne 0x43fd7b
push 0x13c
push 0x11
call fcn.0041d9a0
mov eax, 1
add esp, 8
mov dword [0x7071b0], 0
mov dword [0x70722c], edi
mov dword [0x7071cc], eax
mov ecx, dword [esp + 0x714]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov edx, dword [esp + 0x50]
mov eax, dword [edx + 0x28]
push eax
call fcn.00587e70
add esp, 4
jmp 0x43fd97
mov dword [0x7071b0], 0
mov dword [0x70722c], edi
mov dword [0x7071cc], 1
jmp case.default.0x43e587
mov ecx, dword [esi + 0x13fecc]
mov eax, dword [ecx + 0x160]
cmp eax, 0xffffffff
mov dword [0x7071e4], edi
je case.default.0x43e587
push eax
mov ecx, esi
call fcn.00446630
mov edi, eax
test edi, edi
je case.default.0x43e587
mov eax, dword [edi + 0xc8]
test eax, eax
jne case.default.0x43e587
mov eax, dword [esi + 0x1400dc]
test eax, eax
je 0x43fe00
mov dword [esi + 0x1400dc], 0
call fcn.00587840
mov edx, dword [esi + 0x13fecc]
lea ebx, [edi + 0x38]
add edx, 0x148
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 + 0x150]
lea ecx, [esp + 0xcc]
fsub dword [eax + 0x18]
push ecx
fld dword [eax + 0x148]
mov edx, ecx
fsub dword [eax + 0x10]
push edx
mov dword [esp + 0xd8], 0
fstp dword [esp + 0xd4]
fstp dword [esp + 0xdc]
call fcn.005cf7eb
mov ecx, dword [esi + 0x13fecc]
fld dword [ecx + 0x18]
mov eax, dword [ecx + 0x148]
fld dword [ecx + 0x10]
mov dword [esp + 0x70], eax
fld dword [ecx + 0x150]
fsub st(2)
fstp dword [esp + 0x18]
fld dword [esp + 0x70]
fsub st(1)
fstp st(2)
fstp st(0)
fld st(0)
fmulp st(1)
fld dword [esp + 0x18]
fmul dword [esp + 0x18]
faddp st(1)
fsqrt
fabs
fst dword [esp + 0x44]
fcomp dword [0x6a8690]
fnstsw ax
test ah, 5
jnp 0x43ff02
mov edx, dword [0x7071d0]
test edx, edx
jne 0x43ff02
fld dword [esp + 0x28]
fmul dword [esp + 0xd4]
fld dword [esp + 0x28]
fmul dword [esp + 0xd0]
fld dword [esp + 0x28]
fmul dword [esp + 0xcc]
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
fstp dword [esp + 0x40]
mov eax, dword [esp + 0x40]
mov dword [esp + 0x34], eax
jmp 0x43ff6e
fld dword [esp + 0xd4]
fadd st(0), st(0)
fld dword [esp + 0xd0]
fadd st(0), st(0)
fstp dword [esp + 0x18]
fld dword [esp + 0xcc]
fadd st(0), st(0)
fstp dword [esp + 0x70]
fmul dword [0x703c14]
fld dword [esp + 0x18]
fmul dword [0x703c14]
fld dword [esp + 0x70]
fmul dword [0x703c14]
fstp dword [esp + 0x38]
mov edx, dword [esp + 0x38]
mov dword [esp + 0x2c], edx
fstp dword [esp + 0x3c]
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x30], eax
fstp dword [esp + 0x40]
mov edx, dword [esp + 0x40]
mov dword [esp + 0x34], edx
mov edx, 1
mov dword [0x7071d0], edx
fld dword [esp + 0xcc]
fabs
fld dword [0x6a75fc]
fucompp
fnstsw ax
test ah, 0x44
jnp 0x4400da
fld dword [esp + 0xd4]
fabs
fld dword [0x6a75fc]
fucompp
fnstsw ax
test ah, 0x44
jnp 0x4400da
mov edx, dword [esp + 0xd4]
mov eax, dword [esp + 0xcc]
add ecx, 0x154
mov dword [ecx], eax
mov dword [esp + 0x40], edx
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0x3c], 0
mov edx, dword [esp + 0x3c]
mov dword [ecx + 4], edx
mov dword [ecx + 8], eax
mov eax, dword [esi + 0x13fecc]
fld dword [eax + 0x15c]
lea ecx, [esp + 0x184]
fsub dword [eax + 0x24]
push ecx
fld dword [eax + 0x158]
mov edx, ecx
fsub dword [eax + 0x20]
push edx
fld dword [eax + 0x154]
fsub dword [eax + 0x1c]
fstp dword [esp + 0x18c]
fst dword [esp + 0x190]
fld st(1)
fstp dword [esp + 0x194]
fld dword [esp + 0x18c]
fmul dword [esp + 0x18c]
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 + 0x20]
call fcn.005cf7eb
fld dword [esp + 0x18c]
fmul dword [esp + 0x28]
fld dword [esp + 0x188]
fmul dword [esp + 0x28]
fld dword [esp + 0x28]
fmul dword [esp + 0x184]
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 + 0x18]
fsub dword [0x6a84cc]
fcompp
fnstsw ax
test ah, 0x41
mov eax, dword [esi + 0x13fecc]
jne 0x4400a8
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 0x4400c7
lea ecx, [eax + 0x154]
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 [0x7071d0]
fld dword [esp + 0x44]
fcomp dword [0x6a8644]
fnstsw ax
test ah, 0x41
jne 0x44018e
fld dword [esp + 0x34]
fmul dword [esp + 0x34]
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 + 0x44]
fsub dword [0x6a84cc]
fcompp
fnstsw ax
test ah, 0x41
mov eax, dword [esi + 0x13fecc]
jne 0x44064a
cmp dword [eax + 0xdc], 3
je 0x440151
test edx, edx
mov dword [esp + 0x58], 1
je 0x440147
mov dword [esp + 0x58], 5
mov dword [0x7071cc], 0
mov dword [eax + 0x1a8], 0
mov dword [esi + 0x1400e0], 1
fld dword [esp + 0x1c]
fadd dword [esp + 0x2c]
fstp dword [esp + 0x1c]
fld dword [esp + 0x30]
fadd dword [esp + 0x20]
fstp dword [esp + 0x20]
fld dword [esp + 0x34]
fadd dword [esp + 0x24]
fstp dword [esp + 0x24]
jmp case.default.0x43e587
mov ecx, dword [edi + 0xb4]
test ecx, ecx
je 0x4401d4
fld dword [esp + 0x44]
fcomp dword [0x6a8644]
fnstsw ax
test ah, 0x41
jne 0x4401cc
mov eax, dword [esi + 0x13fecc]
cmp dword [eax + 0xdc], 3
je 0x4401cc
test edx, edx
mov dword [esp + 0x58], 1
je 0x4401cc
mov dword [esp + 0x58], 5
test ecx, ecx
jne case.default.0x43e587
mov ecx, dword [esi + 0x13fecc]
cmp dword [ecx + 0xdc], 2
je case.default.0x43e587
mov eax, dword [edi + 0xc8]
test eax, eax
jne case.default.0x43e587
mov eax, dword [0x7071d4]
test eax, eax
jne 0x44023e
fld dword [esp + 0xcc]
fabs
fld dword [0x6a75fc]
fucompp
fnstsw ax
test ah, 0x44
jnp 0x44023e
fld dword [esp + 0xd4]
fabs
fld dword [0x6a75fc]
fucompp
fnstsw ax
test ah, 0x44
jnp 0x44023e
cmp dword [0x7071cc], 1
je 0x44023e
mov ecx, esi
call fcn.00439040
mov dword [esi + 0x1400e0], 2
mov eax, dword [0x852b5c]
test eax, eax
jne 0x44032e
mov dword [0x852b5c], 0x64
movzx edx, byte [edi + 0x60]
mov dword [0x856fac], edx
mov eax, dword [edi + 0x5c]
mov dword [0x852b60], eax
mov ecx, dword [edi + 0x5c]
mov dword [0x852b64], ecx
movzx edx, word [edi + 0x62]
mov dword [0x856fa8], edx
lea eax, [edi + 4]
mov edx, 0x21e75e8
sub edx, eax
mov edi, edi
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x440290
cmp byte [edi + 0x60], 0xc
je 0x4402df
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 + 0x38]
mov ecx, dword [esp + 0x38]
mov dword [eax], ecx
fstp dword [esp + 0x3c]
mov edx, dword [esp + 0x3c]
mov dword [eax + 4], edx
fstp dword [esp + 0x40]
mov ecx, dword [esp + 0x40]
mov dword [eax + 8], ecx
mov edx, dword [0x856fa8]
mov eax, dword [0x856fac]
push edx
push eax
mov ecx, 0x84f768
mov dword [0x7071b0], 0
call fcn.004c1bf0
mov eax, dword [edi + 0xac]
test eax, eax
je 0x440316
mov ecx, dword [edi + 0x5c]
push ecx
call fcn.00588b70
add esp, 4
mov edx, dword [edi + 0x5c]
mov dword [0x21e7ca8], edx
mov dword [0x7071cc], 1
jmp case.default.0x43e587
mov dword [0x7071b0], 0
mov dword [0x7071cc], 1
jmp case.default.0x43e587
mov eax, dword [esi + 0x13fecc]
mov eax, dword [eax + 0x160]
cmp eax, 0xffffffff
mov dword [0x7071e4], edi
je case.default.0x43e587
push eax
mov ecx, esi
call fcn.00446670
mov edi, eax
xor ebx, ebx
cmp edi, ebx
je 0x440658
cmp dword [esi + 0x1400dc], ebx
je 0x440389
mov dword [esi + 0x1400dc], ebx
call fcn.00587840
mov ecx, dword [esi + 0x13fecc]
add edi, 0x10
mov edx, dword [edi]
add ecx, 0x148
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 + 0x150]
fsub dword [eax + 0x18]
fld dword [eax + 0x148]
fsub dword [eax + 0x10]
lea eax, [esp + 0x118]
push eax
mov ecx, eax
fstp dword [esp + 0x11c]
push ecx
mov dword [esp + 0x124], 0
fstp dword [esp + 0x128]
call fcn.005cf7eb
fld dword [esp + 0x28]
mov ecx, dword [esi + 0x13fecc]
fmul dword [esp + 0x120]
mov edx, dword [ecx + 0x148]
mov dword [esp + 0x70], edx
fstp dword [esp + 0x54]
fld dword [esp + 0x28]
fmul dword [esp + 0x11c]
fstp dword [esp + 0x44]
fld dword [esp + 0x28]
fmul dword [esp + 0x118]
fstp dword [esp + 0x2c]
fld dword [ecx + 0x18]
fld dword [ecx + 0x10]
fld dword [ecx + 0x150]
fsub st(2)
fstp dword [esp + 0x18]
fld dword [esp + 0x70]
fsub st(1)
fstp st(2)
fstp st(0)
fld st(0)
fmulp st(1)
fld dword [esp + 0x18]
fmul dword [esp + 0x18]
faddp st(1)
fsqrt
fabs
fstp dword [esp + 0x18]
fld dword [esp + 0x118]
fabs
fld dword [0x6a75fc]
fucompp
fnstsw ax
test ah, 0x44
jnp 0x4405ba
fld dword [esp + 0x120]
fabs
fld dword [0x6a75fc]
fucompp
fnstsw ax
test ah, 0x44
jnp 0x4405ba
mov edx, dword [esp + 0x120]
mov eax, dword [esp + 0x118]
add ecx, 0x154
mov dword [ecx], eax
mov dword [esp + 0x40], edx
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0x3c], 0
mov edx, dword [esp + 0x3c]
mov dword [ecx + 4], edx
mov dword [ecx + 8], eax
mov eax, dword [esi + 0x13fecc]
fld dword [eax + 0x15c]
lea ecx, [esp + 0x160]
fsub dword [eax + 0x24]
push ecx
fld dword [eax + 0x158]
mov edx, ecx
fsub dword [eax + 0x20]
push edx
fld dword [eax + 0x154]
fsub dword [eax + 0x1c]
fstp dword [esp + 0x168]
fst dword [esp + 0x16c]
fld st(1)
fstp dword [esp + 0x170]
fld dword [esp + 0x168]
fmul dword [esp + 0x168]
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 + 0x54]
call fcn.005cf7eb
fld dword [esp + 0x28]
fmul dword [esp + 0x168]
fld dword [esp + 0x28]
fmul dword [esp + 0x164]
fld dword [esp + 0x28]
fmul dword [esp + 0x160]
fld st(1)
fmul st(2)
fld st(3)
fmul st(4)
faddp st(1)
fld st(1)
fmul st(2)
faddp st(1)
fsqrt
fld dword [esp + 0x4c]
fsub dword [0x6a84cc]
fcompp
fnstsw ax
test ah, 0x41
mov eax, dword [esi + 0x13fecc]
jne 0x440592
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 0x4405b1
lea ecx, [eax + 0x154]
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 + 0x18]
fcomp dword [0x6a868c]
fnstsw ax
test ah, 0x41
jne case.default.0x43e587
fld dword [esp + 0x2c]
fmul dword [esp + 0x2c]
fld dword [esp + 0x44]
fmul dword [esp + 0x44]
faddp st(1)
fld dword [esp + 0x54]
fmul dword [esp + 0x54]
faddp st(1)
fsqrt
fld dword [esp + 0x18]
fsub dword [0x6a84cc]
fcompp
fnstsw ax
test ah, 0x41
mov eax, dword [esi + 0x13fecc]
jne 0x44064a
cmp dword [eax + 0xdc], 3
je 0x440617
mov dword [esp + 0x58], 1
fld dword [esp + 0x1c]
mov dword [esi + 0x1400e0], 1
fadd dword [esp + 0x2c]
fstp dword [esp + 0x1c]
fld dword [esp + 0x20]
fadd dword [esp + 0x44]
fstp dword [esp + 0x20]
fld dword [esp + 0x24]
fadd dword [esp + 0x54]
fstp dword [esp + 0x24]
jmp case.default.0x43e587
lea ecx, [eax + 0x148]
add eax, 0x10
jmp 0x4408e9
mov dword [0x7071b0], ebx
jmp case.default.0x43e587
cmp dword [esi + 0x1400dc], edi
je 0x440676
mov dword [esi + 0x1400dc], edi
call fcn.00587840
mov eax, dword [esi + 0x13fecc]
fld dword [eax + 0x150]
lea edx, [esp + 0x124]
fsub dword [eax + 0x18]
push edx
fld dword [eax + 0x148]
fsub dword [eax + 0x10]
mov eax, edx
push eax
mov dword [esp + 0x130], 0
fstp dword [esp + 0x12c]
fstp dword [esp + 0x134]
call fcn.005cf7eb
fld dword [esp + 0x28]
mov ecx, dword [esi + 0x13fecc]
fmul dword [esp + 0x12c]
mov edx, dword [ecx + 0x148]
mov dword [esp + 0x70], edx
fstp dword [esp + 0x54]
fld dword [esp + 0x28]
fmul dword [esp + 0x128]
fstp dword [esp + 0x44]
fld dword [esp + 0x28]
fmul dword [esp + 0x124]
fstp dword [esp + 0x2c]
fld dword [ecx + 0x18]
fld dword [ecx + 0x10]
fld dword [ecx + 0x150]
fsub st(2)
fstp dword [esp + 0x18]
fld dword [esp + 0x70]
fsub st(1)
fstp st(2)
fstp st(0)
fld st(0)
fmulp st(1)
fld dword [esp + 0x18]
fmul dword [esp + 0x18]
faddp st(1)
fsqrt
fabs
fstp dword [esp + 0x4c]
fld dword [esp + 0x124]
fabs
fld dword [0x6a75fc]
fucompp
fnstsw ax
test ah, 0x44
jnp 0x440888
fld dword [esp + 0x12c]
fabs
fld dword [0x6a75fc]
fucompp
fnstsw ax
test ah, 0x44
jnp 0x440888
mov edx, dword [esp + 0x12c]
mov eax, dword [esp + 0x124]
add ecx, 0x154
mov dword [ecx], eax
mov dword [esp + 0x40], edx
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0x3c], 0
mov edx, dword [esp + 0x3c]
mov dword [ecx + 4], edx
mov dword [ecx + 8], eax
mov eax, dword [esi + 0x13fecc]
fld dword [eax + 0x15c]
lea ecx, [esp + 0x16c]
fsub dword [eax + 0x24]
push ecx
fld dword [eax + 0x158]
mov edx, ecx
fsub dword [eax + 0x20]
push edx
fld dword [eax + 0x154]
fsub dword [eax + 0x1c]
fstp dword [esp + 0x174]
fst dword [esp + 0x178]
fld st(1)
fstp dword [esp + 0x17c]
fld dword [esp + 0x174]
fmul dword [esp + 0x174]
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 + 0x20]
call fcn.005cf7eb
fld dword [esp + 0x28]
fmul dword [esp + 0x174]
fld dword [esp + 0x28]
fmul dword [esp + 0x170]
fld dword [esp + 0x28]
fmul dword [esp + 0x16c]
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 + 0x18]
fsub dword [0x6a84cc]
fcompp
fnstsw ax
test ah, 0x41
mov eax, dword [esi + 0x13fecc]
jne 0x440860
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 0x44087f
lea ecx, [eax + 0x154]
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 + 0x2c]
fmul dword [esp + 0x2c]
fld dword [esp + 0x44]
fmul dword [esp + 0x44]
faddp st(1)
fld dword [esp + 0x54]
fmul dword [esp + 0x54]
faddp st(1)
fsqrt
fld dword [esp + 0x4c]
fsub dword [0x6a84cc]
fcompp
fnstsw ax
test ah, 0x41
jne 0x4408c4
mov eax, dword [esi + 0x13fecc]
jmp 0x440606
mov ecx, esi
mov dword [esi + 0x1400e0], 2
call fcn.00439040
mov eax, dword [esi + 0x13fecc]
mov dword [0x7071b0], edi
lea ecx, [eax + 0x10]
add eax, 0x148
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 + 0x58]
test eax, eax
je 0x440a06
mov edx, dword [esi + 0x13fecc]
cmp byte [edx + 0x275], 0xff
je 0x440a06
mov dword [0x21e6f34], 0
mov ecx, dword [esi + 0x13fecc]
mov eax, dword [ecx + 0xdc]
cmp eax, 2
je case.default.0x440968
cmp eax, 3
je case.default.0x440968
cmp eax, 9
je case.default.0x440968
mov eax, dword [ecx + 0xe0]
test eax, eax
je 0x44095a
push 7
jmp 0x440ac7
mov eax, dword [esp + 0x58]
dec eax
cmp eax, 4
ja case.default.0x440968
jmp dword [eax*4 + 0x442608]
mov eax, dword [ecx + 0x168]
test eax, eax
je 0x4409a4
mov dl, byte [ecx + 0x280]
test dl, dl
mov eax, 2
jne 0x44099b
xor eax, eax
mov al, byte [ecx + 0x185]
mov ecx, 0x84f768
push eax
call fcn.004c2200
mov ecx, dword [esi + 0x13fecc]
push eax
jmp 0x4409a6
push 1
call fcn.004118b0
mov ecx, dword [esi + 0x13fecc]
mov dword [ecx + 0xdc], 1
jmp case.default.0x440968
push 1
call fcn.004118b0
mov edx, dword [esi + 0x13fecc]
mov dword [edx + 0xdc], 1
jmp case.default.0x440968
push 3
call fcn.004118b0
mov eax, dword [esi + 0x13fecc]
mov dword [eax + 0xdc], 1
jmp case.default.0x440968
push 4
jmp 0x440ac7
push 5
jmp 0x440ac7
mov ecx, dword [esi + 0x13fecc]
cmp byte [ecx + 0x274], 0xff
jne 0x440a1a
call fcn.00415de0
mov ecx, dword [esi + 0x13fecc]
mov al, byte [ecx + 0x1b4]
test al, al
jne case.default.0x440968
mov eax, dword [ecx + 0xdc]
cmp eax, 8
je case.default.0x440968
cmp eax, 2
je case.default.0x440968
cmp eax, 3
je case.default.0x440968
cmp eax, 9
je case.default.0x440968
cmp eax, 7
jne 0x440a61
push 0xc
jmp 0x440ac7
mov eax, dword [ecx + 0xe0]
test eax, eax
je 0x440a6f
push 6
jmp 0x440aa5
call dword [sym.imp.winmm.dll_timeGetTime]
mov ecx, dword [esi + 0x13fecc]
sub eax, dword [ecx + 0x1a8]
cmp eax, 0x2710
jbe 0x440a8c
push 0
jmp 0x440aa5
movzx ecx, byte [ecx + 0x185]
push ecx
mov ecx, 0x84f768
call fcn.004c2120
mov ecx, dword [esi + 0x13fecc]
push eax
call fcn.004118b0
mov edx, dword [esi + 0x13fecc]
mov dword [edx + 0xdc], 0
jmp case.default.0x440968
cmp dword [ecx + 0xdc], 4
jne case.default.0x440968
push 9
call fcn.004118b0
mov ecx, dword [0x7071f8]
mov eax, 8
cmp ecx, eax
jne 0x440afa
mov ecx, dword [esi + 0x13fecc]
cmp dword [ecx + 0xdc], eax
je 0x440afa
mov ecx, esi
mov dword [esi + 0x1400e0], 2
call fcn.00439040
mov eax, dword [ebp + 8]
xor edi, edi
cmp eax, edi
jne 0x4413c9
mov edx, dword [esp + 0x5c]
push edx
mov ecx, esi
call fcn.004382d0
mov eax, dword [esi + 0x13fecc]
cmp dword [eax + 0x288], edi
mov ax, word [0x21e756c]
je 0x440b31
cmp ax, 5
ja 0x440c20
cmp ax, di
je 0x440c27
cmp ax, 0x10
jne 0x440c06
cmp dword [0x6f3558], 2
je 0x440bcc
mov ax, word [0x8507e0]
cmp ax, 0x2a
je 0x440bcc
mov cl, byte [0x21e6a42]
test cl, cl
jne 0x440b9b
cmp ax, 0x23
je 0x440bcc
push edi
push 0x447a0000
push 0x21f1d38
push 0x6aa4c0
mov ecx, 0x21efa50
call fcn.00529cb0
push 0x1cb
push 0x11
call fcn.0041d9a0
add esp, 8
jmp 0x440c20
cmp ax, 0x24
je 0x440bcc
push edi
push 0x447a0000
push 0x21f1d38
push 0x6aa4c0
mov ecx, 0x21efa50
call fcn.00529cb0
push 0x1cc
push 0x11
call fcn.0041d9a0
add esp, 8
jmp 0x440c20
mov ecx, dword [0x84716c]
mov eax, dword [ecx + 0xdc]
cmp eax, 5
je 0x440bec
cmp eax, 7
je 0x440bec
push 1
call fcn.00587ea0
add esp, 4
cmp dword [0x852b5c], edi
jne 0x440c20
mov dword [0x21e7548], edi
mov dword [0x852b5c], 0xd
jmp 0x440c20
cmp ax, 5
jbe 0x440c20
xor edx, edx
mov dl, byte [0x21e756c]
add dl, 0x6e
push edx
call fcn.00587ea0
add esp, 4
mov word [0x21e756c], di
mov cl, byte [0x21e68d0]
test cl, cl
je 0x440c8f
cmp dword [esp + 0x58], edi
jne 0x440c8f
mov eax, dword [esi + 0x13fecc]
cmp dword [eax + 0x160], 0xffffffff
je 0x440c79
mov eax, dword [0x851b18]
cmp eax, edi
jne 0x440c64
movzx ecx, cl
mov dword [0x7071d4], ecx
mov dword [0x7071b0], 3
jmp 0x440c88
cmp eax, 2
jne 0x440c88
movzx edx, cl
mov dword [0x7071d4], edx
mov dword [0x7071b0], eax
jmp 0x440c88
push 0xe8
push 0x11
call fcn.0041d9a0
add esp, 8
mov byte [0x21e68d0], 0
mov cl, byte [0x707258]
mov eax, 0x20
test al, cl
jne 0x440caf
or dword [0x707258], eax
call dword [sym.imp.winmm.dll_timeGetTime]
mov dword [0x707234], eax
mov eax, dword [esi + 0x13fecc]
mov ebx, dword [eax + 0x160]
cmp dword [0x21ebf08], 1
jne 0x440dc8
mov eax, dword [0x21ebf0c]
test eax, eax
jne 0x440dc8
mov ecx, esi
call fcn.0043a040
cmp eax, 0xffffffff
je 0x440dc8
cmp ebx, eax
jne 0x440dc8
mov ecx, dword [esi + 0x13fecc]
mov edx, dword [ecx + 0x160]
push edx
mov ecx, esi
call fcn.00446510
mov edi, eax
test edi, edi
je 0x440dc8
mov eax, dword [esi + 0x13fecc]
mov cl, byte [edi + 0x276]
cmp cl, byte [eax + 0x276]
je 0x440d35
mov ax, word [0x8507e0]
cmp ax, 0x2a
je 0x440d35
cmp ax, 0x28
jne 0x440dc8
push edi
mov dword [esp + 0x1c], 0x41200000
call fcn.0047b000
add esp, 4
test al, al
je 0x440d52
fld dword [0x6aa51c]
jmp 0x440d56
fld dword [esp + 0x18]
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 0x440da6
push 0xe9
push 0x11
call fcn.0041d9a0
add esp, 8
jmp 0x440dc8
mov dword [0x851b18], 2
mov edx, dword [esi + 0x13fecc]
mov eax, dword [edx + 0x160]
mov dword [0x856f98], eax
mov byte [0x21e68d1], 1
cmp dword [0x21ebf00], 1
jne 0x4413c9
mov ecx, dword [esi + 0x13fecc]
lea edi, [esi + 0x140210]
add ecx, 0x10
push edi
push ecx
lea ecx, [esi + 0x13d740]
call fcn.00525620
mov ecx, esi
mov dword [0x7071d4], 0
call fcn.0043a270
mov edx, dword [esi + 0x13fecc]
mov dword [edx + 0x160], eax
mov eax, dword [esi + 0x13fecc]
cmp dword [eax + 0x160], 0xffffffff
je 0x440e31
mov eax, 1
mov dword [0x851b18], eax
mov dword [0x7071b0], eax
jmp 0x4413c9
mov ecx, esi
call fcn.0043a710
mov ecx, dword [esi + 0x13fecc]
mov dword [ecx + 0x160], eax
mov edx, dword [esi + 0x13fecc]
cmp dword [edx + 0x160], 0xffffffff
je 0x440e86
mov edi, dword [sym.imp.winmm.dll_timeGetTime]
mov dword [0x851b18], 3
call edi
mov eax, dword [esi + 0x13fecc]
cmp ebx, dword [eax + 0x160]
jne 0x440fe7
mov dword [0x7071b0], 4
jmp 0x4413c9
mov ecx, esi
call fcn.0043a4e0
mov ecx, dword [esi + 0x13fecc]
mov dword [ecx + 0x160], eax
mov edx, dword [esi + 0x13fecc]
mov eax, dword [edx + 0x160]
cmp eax, 0xffffffff
je 0x440f1b
cmp dword [0x6f3be0], eax
jne 0x440ebb
cmp dword [0x7071b0], 3
je 0x440ec4
push eax
call fcn.0058a6f0
add esp, 4
mov edi, dword [sym.imp.winmm.dll_timeGetTime]
mov dword [0x851b18], 0
call edi
mov eax, dword [esi + 0x13fecc]
mov ecx, dword [eax + 0x160]
call fcn.004382a0
cmp ebx, ecx
jne 0x440f80
mov dword [0x7071b0], 3
mov ecx, dword [esi + 0x13fecc]
mov edx, dword [ecx + 0x160]
mov eax, dword [0x851b18]
push edx
push eax
mov ecx, 0x84f768
call fcn.004c7b30
jmp 0x4413c9
mov ecx, esi
call fcn.0043a040
mov ecx, dword [esi + 0x13fecc]
mov dword [ecx + 0x160], eax
mov edx, dword [esi + 0x13fecc]
mov eax, dword [edx + 0x160]
cmp eax, 0xffffffff
je 0x440fa5
cmp dword [0x6f3be0], eax
jne 0x440f50
cmp dword [0x7071b0], 2
je 0x440f59
push eax
call fcn.0058a690
add esp, 4
mov edi, dword [sym.imp.winmm.dll_timeGetTime]
mov dword [0x851b18], 2
call edi
mov eax, dword [esi + 0x13fecc]
mov ecx, dword [eax + 0x160]
call fcn.004382a0
cmp ebx, ecx
je 0x440f96
mov dword [0x7071b0], 0
call edi
mov dword [0x707234], eax
jmp 0x440ef9
mov dword [0x7071b0], 2
jmp 0x440ef9
mov ecx, esi
call fcn.0043a950
mov ecx, dword [esi + 0x13fecc]
mov dword [ecx + 0x160], eax
mov eax, dword [esi + 0x13fecc]
cmp dword [eax + 0x160], 0xffffffff
je 0x441011
mov edi, dword [sym.imp.winmm.dll_timeGetTime]
mov dword [0x851b18], 2
call edi
mov edx, dword [esi + 0x13fecc]
cmp ebx, dword [edx + 0x160]
je 0x441002
call fcn.004382a0
mov dword [0x7071b0], 0
call edi
mov dword [0x707234], eax
jmp 0x4413c9
mov dword [0x7071b0], 5
jmp 0x4413c9
mov dword [eax + 0x160], ebx
mov eax, dword [0x703ad8]
test eax, eax
je 0x4413c9
mov eax, dword [esi + 0x13fecc]
add eax, 0x148
push eax
push edi
lea ecx, [esi + 0xc]
xor ebx, ebx
call fcn.0058ec90
test al, al
je 0x441098
lea ecx, [esp + 0x88]
push ecx
lea edx, [esp + 0x2b0]
push edx
mov ecx, 0x70721c
call fcn.004365f0
mov ecx, eax
call fcn.00436580
fstp dword [esi + 0x140228]
mov eax, dword [esi + 0x13fecc]
mov ecx, dword [eax + 0x150]
mov edx, dword [eax + 0x148]
push ecx
push edx
mov ecx, esi
call fcn.0040dcc0
fadd dword [0x6a84d8]
mov eax, dword [esi + 0x13fecc]
mov ebx, 1
fstp dword [eax + 0x14c]
lea ecx, [esp + 0x238]
xor edi, edi
mov dword [esp + 0xc8], 0x497423f0
call fcn.0058bfb0
push 0x43fa0000
sub esp, 0xc
lea edx, [esp + 0xcc]
mov ecx, esp
mov dword [esp + 0x28], esp
push edx
mov dword [esp + 0x730], edi
call fcn.0041f2e0
lea eax, [esp + 0x328]
push eax
call fcn.0041f330
add esp, 0x14
push eax
lea ecx, [esp + 0x2f8]
push ecx
lea ecx, [esp + 0x90]
call fcn.0041f300
push eax
lea edx, [esp + 0x8c]
push edx
lea ecx, [esp + 0x2c0]
call fcn.0041f360
push eax
lea ecx, [esp + 0x23c]
call fcn.0041f390
lea ecx, [esp + 0x2b8]
call fcn.00525410
push edi
lea eax, [esp + 0x200]
push eax
lea ecx, [esp + 0xd0]
push ecx
lea edx, [esp + 0x244]
push edx
lea ecx, [esi + 0x13cc3c]
call fcn.00590ed0
test al, al
jne 0x4411cd
push 0
lea eax, [esp + 0x200]
push eax
lea ecx, [esp + 0xd0]
push ecx
lea edx, [esp + 0x244]
push edx
lea ecx, [esi + 0x13d02c]
call fcn.005933d0
test al, al
jne 0x4411cd
push 0
lea eax, [esp + 0x200]
push eax
lea ecx, [esp + 0xd0]
push ecx
lea edx, [esp + 0x244]
push edx
lea ecx, [esi + 0x13d0b8]
call fcn.005933d0
test al, al
jne 0x4411cd
push 0
lea eax, [esp + 0x200]
push eax
lea ecx, [esp + 0xd0]
push ecx
lea edx, [esp + 0x244]
push edx
lea ecx, [esi + 0x13d374]
call fcn.005933d0
test al, al
je 0x441226
fld dword [esi + 0x140228]
fcomp dword [esp + 0xc8]
fnstsw ax
test ah, 0x41
jne 0x441226
mov eax, dword [esi + 0x13fecc]
mov ecx, dword [esp + 0x1fc]
add eax, 0x148
mov dword [eax], ecx
mov edx, dword [esp + 0x200]
mov dword [eax + 4], edx
mov ecx, dword [esp + 0x204]
mov dword [eax + 8], ecx
mov eax, dword [esi + 0x13fecc]
fld dword [eax + 0x14c]
mov edi, 1
fadd dword [0x6a84d8]
fstp dword [eax + 0x14c]
test ebx, ebx
jne 0x441232
test edi, edi
je 0x4413b2
mov dword [0x7071b0], 6
xor ebx, ebx
lea edi, [esi + 0x1401f0]
mov ecx, dword [edi]
test ecx, ecx
je 0x441256
mov edx, dword [ecx]
push 1
call dword [edx]
mov dword [edi], 0
push ebx
mov ecx, 0x21f8680
call fcn.0040ca80
test eax, eax
mov dword [edi], eax
je 0x441317
mov dword [eax + 0x104], 6
mov eax, dword [esi + 0x13fecc]
mov ecx, dword [edi]
add eax, 0x148
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 + 0x38], 0
fsub dword [0x6a84d8]
mov edx, dword [esp + 0x38]
mov dword [esp + 0x3c], 0
mov dword [esp + 0x40], 0x3f800000
fstp dword [eax + 0x30]
mov ecx, dword [edi]
mov eax, dword [esp + 0x3c]
add ecx, 0x38
mov dword [ecx], edx
mov edx, dword [esp + 0x40]
mov dword [ecx + 4], eax
mov dword [ecx + 8], edx
mov eax, dword [edi]
mov dword [esp + 0xbc], 0
mov ecx, dword [esp + 0xbc]
add eax, 0x44
mov dword [eax], ecx
mov dword [esp + 0xc0], 0x3f800000
mov edx, dword [esp + 0xc0]
mov dword [esp + 0xc4], 0
mov ecx, dword [esp + 0xc4]
mov dword [eax + 4], edx
mov dword [eax + 8], ecx
inc ebx
add edi, 4
cmp ebx, 8
jl 0x441244
mov eax, dword [esi + 0x1401f8]
test eax, eax
je 0x44135d
mov dword [esp + 0x38], 0
mov edx, dword [esp + 0x38]
add eax, 0x2c
mov dword [eax], edx
mov dword [esp + 0x3c], 0
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x40], 0
mov edx, dword [esp + 0x40]
mov dword [eax + 4], ecx
mov dword [eax + 8], edx
mov eax, dword [esi + 0x140200]
test eax, eax
je 0x441396
mov dword [esp + 0x38], 0
mov ecx, dword [esp + 0x38]
add eax, 0x2c
mov dword [eax], ecx
mov dword [esp + 0x3c], 0
mov edx, dword [esp + 0x3c]
mov dword [esp + 0x40], 0
mov ecx, dword [esp + 0x40]
mov dword [eax + 4], edx
mov dword [eax + 8], ecx
mov edx, dword [0x707160]
mov eax, dword [edx]
mov eax, dword [eax + 0x28c]
test eax, eax
je 0x4413b2
mov dword [eax + 0x104], 0xffffffff
lea ecx, [esp + 0x238]
mov dword [esp + 0x71c], 0xffffffff
call fcn.00525410
mov eax, dword [esi + 0x13fecc]
mov ecx, dword [eax + 0x160]
mov dword [0x6f3be0], ecx
mov cl, byte [eax + 0x279]
cmp cl, 2
jb 0x44140f
mov edx, dword [0x7071b0]
cmp edx, 6
je 0x441400
cmp edx, 5
je 0x441400
mov dword [0x7071b0], 0
cmp cl, 4
je 0x44140f
mov dword [0x7071b0], 0
mov ecx, dword [0x7071c0]
test ecx, ecx
je 0x44145d
cmp dword [eax + 0xcc], 8
jne 0x44145d
fld dword [eax + 0xc8]
fcomp dword [0x6a75fc]
fnstsw ax
test ah, 0x41
jne 0x44145d
mov edi, 1
mov ecx, esi
mov dword [0x7071b8], edi
mov dword [0x7071c0], 0
call fcn.00439040
push 2
call fcn.00587ea0
add esp, 4
jmp 0x441462
mov edi, 1
mov ecx, dword [esi + 0x13fecc]
cmp byte [ecx + 0x275], 0xff
jne 0x4414a1
mov dword [esp + 0x38], 0
mov edx, dword [esp + 0x38]
mov dword [esp + 0x3c], 0
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x40], 0
mov dword [esp + 0x1c], edx
mov edx, dword [esp + 0x40]
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], edx
fld dword [0x703c14]
fmul dword [0x6a8664]
fadd dword [0x6a8210]
fmul dword [0x6f3bdc]
fst dword [0x6f3bdc]
fcomp dword [0x6a8660]
fnstsw ax
test ah, 5
jp 0x4414d6
mov dword [0x6f3bdc], 0xc1a00000
fld dword [0x6f3bdc]
mov eax, dword [0x7071b8]
test eax, eax
fmul dword [0x703c14]
fstp dword [esp + 0x48]
je 0x441503
fld dword [0x7071bc]
fmul dword [0x703c14]
fadd dword [esp + 0x48]
fstp dword [esp + 0x48]
lea eax, [ecx + 0x10]
mov edx, eax
mov ebx, dword [edx]
mov dword [esp + 0xbc], ebx
mov ebx, dword [edx + 4]
mov edx, dword [edx + 8]
mov dword [esp + 0xc4], edx
mov dl, byte [esi + 9]
test dl, dl
mov dword [esp + 0xc0], ebx
jne 0x441832
fld dword [ecx + 0x18]
push ecx
fadd dword [0x6a8524]
lea edx, [esp + 0x2e0]
fstp dword [esp + 0x1c]
fld dword [ecx + 0x18]
mov ecx, dword [eax]
fsub dword [0x6a8524]
fstp dword [esp]
push ecx
mov ecx, dword [esp + 0x20]
fld dword [eax]
fadd dword [0x6a8524]
push ecx
push ecx
fstp dword [esp]
push ecx
fld dword [eax]
push ecx
fsub dword [0x6a8524]
lea ecx, [esi + 0xc]
fstp dword [esp]
push edx
call fcn.0058ec20
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov eax, dword [eax + 8]
mov dword [esp + 0x88], ecx
lea ecx, [esp + 0x88]
mov dword [esp + 0x8c], edx
mov dword [esp + 0x90], eax
call fcn.004366d0
fld dword [esp + 0x88]
fadd dword [esp + 0x90]
mov eax, dword [esp + 0x90]
mov ecx, dword [esp + 0x88]
mov edx, dword [esp + 0x8c]
fmul dword [0x6a75fc]
mov dword [esp + 0x34], eax
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x30], edx
fadd dword [esp + 0x8c]
fst dword [esp + 0x50]
fcomp dword [0x6a84d0]
fnstsw ax
test ah, 5
jp 0x44182c
mov ecx, dword [esi + 0x13fecc]
fld dword [ecx + 0x14]
fcomp dword [0x6a75fc]
fnstsw ax
test ah, 0x41
jne 0x44182c
mov al, byte [ecx + 0x25c]
test al, al
jne 0x44182c
mov edx, dword [ecx + 0x18]
mov eax, dword [ecx + 0x10]
push edx
push eax
mov ecx, esi
call fcn.0040dcc0
fadd dword [0x6a84d8]
mov ecx, dword [esi + 0x13fecc]
fld dword [esp + 0x48]
fadd dword [ecx + 0x14]
fcomp st(1)
fnstsw ax
fstp st(0)
test ah, 0x41
jp 0x441832
mov eax, dword [0x707230]
test eax, eax
je 0x44165d
inc dword [0x6f3c04]
fld dword [esp + 0x30]
fmul dword [0x6a75fc]
fld dword [esp + 0x34]
fsubr st(1)
fstp dword [esp + 0x38]
mov edx, dword [esp + 0x38]
fld dword [esp + 0x34]
mov dword [esp + 0x88], edx
fmul dword [0x6a75fc]
fld dword [esp + 0x2c]
fmul dword [0x6a75fc]
fsubp st(1)
fstp dword [esp + 0x3c]
mov eax, dword [esp + 0x3c]
fld dword [esp + 0x2c]
mov dword [esp + 0x8c], eax
fsub st(1)
fstp dword [esp + 0x40]
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x90], ecx
fstp st(0)
fld dword [esp + 0x90]
fmul dword [esp + 0x30]
fld dword [esp + 0x8c]
fmul dword [esp + 0x34]
fsubp st(1)
fstp dword [esp + 0x38]
mov edx, dword [esp + 0x38]
fld dword [esp + 0x88]
fmul dword [esp + 0x34]
fld dword [esp + 0x2c]
fmul dword [esp + 0x90]
fsubp st(1)
fstp dword [esp + 0x3c]
mov eax, dword [esp + 0x3c]
fld dword [esp + 0x2c]
mov dword [esp + 0x2c], edx
fmul dword [esp + 0x8c]
fld dword [esp + 0x88]
fmul dword [esp + 0x30]
mov dword [esp + 0x30], eax
fsubp st(1)
fstp dword [esp + 0x40]
mov ecx, dword [esp + 0x40]
fld dword [esp + 0x50]
mov dword [esp + 0x34], ecx
fcomp dword [0x6a8524]
fnstsw ax
test ah, 5
jp 0x441789
fld dword [esp + 0x34]
fmul dword [0x703c14]
fld dword [esp + 0x30]
fmul dword [0x703c14]
fld dword [esp + 0x2c]
fmul dword [0x703c14]
fstp dword [esp + 0x70]
fild dword [0x6f3c04]
fstp dword [esp + 0x5c]
fxch st(1)
fmul dword [esp + 0x5c]
fstp dword [esp + 0x18]
fmul dword [esp + 0x5c]
fld dword [esp + 0x70]
fmul dword [esp + 0x5c]
fld dword [0x6a8210]
fsub dword [esp + 0x50]
fmul dword [0x6a8508]
jmp 0x4417ec
fld dword [esp + 0x50]
fcomp dword [0x6a868c]
fld dword [esp + 0x34]
fmul dword [0x703c14]
fld dword [esp + 0x30]
fmul dword [0x703c14]
fld dword [esp + 0x2c]
fmul dword [0x703c14]
fnstsw ax
fstp dword [esp + 0x70]
test ah, 5
fild dword [0x6f3c04]
fstp dword [esp + 0x5c]
fxch st(1)
fmul dword [esp + 0x5c]
fstp dword [esp + 0x18]
fmul dword [esp + 0x5c]
fld dword [esp + 0x70]
fmul dword [esp + 0x5c]
fld dword [0x6a8210]
fsub dword [esp + 0x50]
jp 0x4417ec
fmul dword [0x6a8690]
fld dword [esp + 0x18]
fmul st(1)
mov dword [0x707230], edi
fstp dword [esp + 0x4c]
fxch st(2)
fmul st(2)
fstp dword [esp + 0x18]
fmulp st(1)
fld dword [esp + 0x1c]
fadd st(1)
fstp dword [esp + 0x1c]
fstp st(0)
fld dword [esp + 0x20]
fadd dword [esp + 0x18]
fstp dword [esp + 0x20]
fld dword [esp + 0x24]
fadd dword [esp + 0x4c]
fstp dword [esp + 0x24]
jmp 0x441832
mov dword [0x6f3c04], edi
fld dword [esp + 0x24]
fmul dword [esp + 0x24]
fld dword [esp + 0x1c]
fmul dword [esp + 0x1c]
faddp st(1)
fld dword [esp + 0x20]
fmul dword [esp + 0x20]
faddp st(1)
fsqrt
fcomp dword [0x6a84cc]
fnstsw ax
test ah, 0x41
jp 0x44192e
fld dword [0x707210]
mov dword [esp + 0x40], 0
fadd dword [esp + 0x1c]
mov dword [esp + 0x3c], 0
mov dword [esp + 0x38], 0
fstp dword [0x707210]
fld dword [0x707214]
fadd dword [esp + 0x20]
fstp dword [0x707214]
fld dword [0x707218]
fadd dword [esp + 0x24]
fst dword [0x707218]
fmul dword [0x707218]
fld dword [0x707214]
fmul dword [0x707214]
faddp st(1)
fld dword [0x707210]
fmul dword [0x707210]
faddp st(1)
fsqrt
fcomp dword [0x6a84cc]
fnstsw ax
test ah, 1
jne 0x441916
mov edx, dword [0x707210]
mov eax, dword [0x707214]
mov ecx, dword [0x707218]
mov dword [esp + 0x1c], edx
mov edx, dword [esp + 0x38]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 0x40]
mov dword [0x707210], edx
mov dword [0x707214], eax
mov dword [0x707218], ecx
jmp 0x44192e
mov edx, dword [esp + 0x38]
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], ecx
fld dword [0x6a75fc]
fld dword [esp + 0x1c]
fucompp
fnstsw ax
test ah, 0x44
jp 0x44199b
fld dword [0x6a75fc]
fld dword [esp + 0x24]
fucompp
fnstsw ax
test ah, 0x44
jp 0x44199b
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x48]
push 0
sub esp, 0xc
mov eax, esp
mov dword [eax], edx
mov edx, dword [esp + 0x34]
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 + 0x28], 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 + 0x2ec]
jmp 0x4419df
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x48]
push edi
sub esp, 0xc
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [esp + 0x34]
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 + 0x28], 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 + 0x328]
mov dword [esp + 0x34], esp
push ecx
mov ecx, esi
call fcn.00436f80
fld dword [esp + 0x48]
mov edx, dword [esi + 0x13fecc]
fabs
mov ecx, dword [eax]
add edx, 0x10
mov dword [edx], ecx
mov ecx, dword [eax + 4]
fcomp dword [0x6a84cc]
mov dword [edx + 4], ecx
mov eax, dword [eax + 8]
mov dword [edx + 8], eax
fnstsw ax
test ah, 0x41
jp 0x441a40
fld dword [esp + 0x48]
fadd dword [0x7071f4]
fst dword [0x7071f4]
fabs
fcomp dword [0x6a84cc]
fnstsw ax
test ah, 1
jne 0x441a40
mov dword [0x7071f4], 0
mov ecx, dword [esi + 0x13fecc]
fld dword [0x707204]
fsub dword [ecx + 0x14]
xor ebx, ebx
xor edi, edi
mov dword [esp + 0x44], ebx
fabs
fcomp dword [0x6a868c]
fnstsw ax
test ah, 0x41
jne 0x441a6c
mov byte [ecx + 0x25c], bl
mov al, byte [esi + 0x13ff48]
test al, al
je 0x441ab4
mov eax, dword [esi + 0x13fecc]
mov ecx, dword [eax + 0x14]
mov ebx, 1
mov byte [eax + 0x25c], bl
mov edx, dword [esi + 0x13fecc]
mov eax, dword [edx + 0x14]
mov dword [esp + 0x44], ecx
mov dword [0x6f3bdc], 0xc03eb852
mov dword [0x7071b8], edi
mov dword [0x707204], eax
mov dword [0x7071e0], ebx
jmp 0x441ace
cmp dword [0x7071b8], edi
jne 0x441ac8
mov dword [0x7071e0], 1
jmp 0x441ace
mov dword [0x7071e0], edi
mov al, byte [esi + 9]
test al, al
je 0x441add
fld dword [0x6aa4d8]
jmp 0x441b05
mov eax, dword [esi + 0x13fecc]
mov ecx, dword [eax + 0x18]
mov edx, dword [eax + 0x10]
mov eax, ecx
mov dword [esp + 0x18], ecx
mov ecx, edx
push eax
push ecx
lea ecx, [esi + 0xc]
mov dword [esp + 0x54], edx
call fcn.0058ebe0
fadd dword [0x6a84d8]
mov ecx, dword [esi + 0x13fecc]
fcom dword [ecx + 0x14]
fnstsw ax
test ah, 1
jne 0x441bdf
fld dword [esp + 0xc0]
fcomp st(1)
fnstsw ax
test ah, 0x41
jp 0x441bbb
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 + 0x28], 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 + 0x304]
mov dword [esp + 0x34], esp
push ecx
mov ecx, esi
call fcn.00436f80
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 0x441bc7
mov eax, dword [esi + 0x13fecc]
mov ecx, dword [eax + 0x14]
mov byte [eax + 0x25c], 1
mov edx, dword [esi + 0x13fecc]
mov eax, dword [edx + 0x14]
mov dword [esp + 0x44], ecx
mov dword [0x707204], eax
jmp 0x441bc2
fst dword [esp + 0x44]
fstp dword [ecx + 0x14]
mov ebx, 1
mov dword [0x6f3bdc], 0xc03eb852
mov dword [0x7071b8], edi
mov dword [0x7071e0], edi
jmp 0x441bf3
mov eax, dword [0x7071b8]
fstp st(0)
xor ecx, ecx
cmp eax, edi
sete cl
mov dword [0x7071e0], ecx
mov ecx, dword [esi + 0x13fecc]
fld dword [ecx + 0x14]
fcomp dword [0x6a865c]
fnstsw ax
test ah, 0x41
jp 0x441c22
mov dword [ecx + 0xe0], 1
mov edx, dword [esi + 0x13fecc]
mov dword [edx + 0x14], 0xbecccccd
jmp 0x441c28
mov dword [ecx + 0xe0], edi
mov ecx, dword [esi + 0x13fecc]
fld dword [ecx + 0x10]
mov edx, 0x3f800000
fcomp dword [0x6a8210]
fnstsw ax
test ah, 5
jp 0x441c46
mov dword [ecx + 0x10], edx
mov ecx, dword [esi + 0x13fecc]
fld dword [ecx + 0x18]
fcomp dword [0x6a8210]
fnstsw ax
test ah, 5
jp 0x441c5f
mov dword [ecx + 0x18], edx
mov eax, dword [0x847384]
mov ecx, dword [esi + 0x13fecc]
dec eax
mov dword [esp + 0x18], eax
fild dword [esp + 0x18]
fcom dword [ecx + 0x10]
fnstsw ax
test ah, 5
jp 0x441c82
fstp dword [ecx + 0x10]
jmp 0x441c84
fstp st(0)
mov edx, dword [0x847384]
mov ecx, dword [esi + 0x13fecc]
dec edx
mov dword [esp + 0x18], edx
fild dword [esp + 0x18]
fcom dword [ecx + 0x18]
fnstsw ax
test ah, 5
jp 0x441ca8
fstp dword [ecx + 0x18]
jmp 0x441caa
fstp st(0)
cmp dword [0x703a88], edi
mov eax, dword [esi + 0x13fecc]
je 0x441d59
fld dword [0x21f1d44]
add eax, 0x10
fsub dword [esp + 0x64]
mov ecx, dword [eax]
fld dword [0x21f1d48]
mov dword [0x21f1d38], ecx
fsub dword [esp + 0x68]
mov edx, dword [eax + 4]
fld dword [0x21f1d4c]
mov dword [0x21f1d3c], edx
fsub dword [esp + 0x6c]
mov eax, dword [eax + 8]
mov dword [0x21f1d40], eax
fstp dword [esp + 0x78]
fld dword [0x21f1d3c]
fadd dword [0x6a8674]
fstp dword [0x21f1d3c]
fld dword [0x21f1d38]
fadd st(2)
fstp dword [esp + 0x64]
mov edx, dword [esp + 0x64]
fld dword [0x21f1d3c]
mov dword [0x21f1d44], edx
fadd st(1)
fstp dword [esp + 0x68]
mov edx, dword [esp + 0x68]
mov dword [0x21f1d48], edx
fstp st(0)
fstp st(0)
fld dword [0x21f1d40]
fadd dword [esp + 0x78]
fstp dword [esp + 0x6c]
mov edx, dword [esp + 0x6c]
mov dword [0x21f1d4c], edx
jmp 0x441e4d
add eax, 0x10
mov ecx, dword [eax]
mov dword [0x21f1d44], ecx
mov edx, dword [eax + 4]
mov dword [0x21f1d48], edx
mov eax, dword [eax + 8]
mov dword [0x21f1d4c], eax
mov ecx, dword [esi + 0x13fecc]
mov eax, dword [ecx + 0xdc]
cmp eax, 7
je 0x441d9f
cmp eax, 5
je 0x441d9f
fld dword [0x6f3bd8]
fsub dword [0x6a8674]
fadd dword [0x21f1d48]
jmp 0x441dab
fld dword [0x21f1d48]
fsub dword [0x6aa3c8]
fstp dword [0x21f1d48]
mov edx, dword [esi + 0x13fecc]
mov eax, dword [edx + 0xdc]
cmp eax, 1
je 0x441ddd
cmp eax, 3
je 0x441ddd
cmp eax, 5
je 0x441dd1
cmp eax, 6
jne 0x441de7
mov dword [0x21f6ab4], 0x3fc00000
jmp 0x441de7
mov dword [0x21f6ab4], 0x41200000
mov eax, dword [esi + 0x13fecc]
fld dword [eax + 0x10]
add eax, 0x10
fsub dword [esp + 0xbc]
fld dword [eax + 4]
fsub dword [esp + 0xc0]
fld dword [eax + 8]
fsub dword [esp + 0xc4]
fstp dword [esp + 0x78]
fld dword [0x21f1d38]
fadd st(2)
fstp dword [0x21f1d38]
mov ecx, dword [0x21f1d38]
fld dword [0x21f1d3c]
fadd st(1)
fstp dword [0x21f1d3c]
fstp st(0)
fstp st(0)
fld dword [0x21f1d40]
fadd dword [esp + 0x78]
fstp dword [0x21f1d40]
mov eax, dword [0x21f1d40]
mov edx, dword [esi + 0x13fecc]
mov edx, dword [edx + 0x14]
mov dword [esp + 0x18], edx
mov dl, byte [esi + 9]
test dl, dl
push eax
je 0x441e75
mov eax, dword [esp + 0x1c]
push eax
push ecx
lea ecx, [esi + 0x13cc3c]
call fcn.00590db0
jmp 0x441e7e
push ecx
lea ecx, [esi + 0xc]
call fcn.0058ebe0
mov al, byte [esi + 9]
fadd dword [0x6a84d0]
test al, al
je 0x441ead
mov ecx, dword [esi + 0x13fecc]
fld dword [ecx + 0x14]
fadd dword [0x6a8690]
fst dword [esp + 0x5c]
fcomp st(1)
fnstsw ax
test ah, 5
jp 0x441ead
fstp st(0)
fld dword [esp + 0x5c]
fld dword [0x21f1d3c]
fcomp st(1)
fnstsw ax
test ah, 5
jp 0x441ec4
fstp dword [0x21f1d3c]
jmp 0x441ec6
fstp st(0)
mov ecx, dword [esi + 0x13fecc]
fld dword [ecx + 0x10]
fcomp dword [0x6a75fc]
fnstsw ax
test ah, 5
jp 0x441edf
mov dword [ecx + 0x10], edi
mov ecx, dword [esi + 0x13fecc]
fld dword [ecx + 0x18]
fcomp dword [0x6a75fc]
fnstsw ax
test ah, 5
jp 0x441ef8
mov dword [ecx + 0x18], edi
fild dword [esi + 0x1400e4]
mov ecx, dword [esi + 0x13fecc]
fcom dword [ecx + 0x10]
fnstsw ax
test ah, 5
jp 0x441f13
fstp dword [ecx + 0x10]
jmp 0x441f15
fstp st(0)
fild dword [esi + 0x1400e4]
mov ecx, dword [esi + 0x13fecc]
fcom dword [ecx + 0x18]
fnstsw ax
test ah, 5
jp 0x441f30
fstp dword [ecx + 0x18]
jmp 0x441f32
fstp st(0)
mov eax, dword [0x7071d8]
test eax, eax
mov edi, dword [0x7071dc]
mov edx, dword [0x7071b8]
je 0x441f50
test edx, edx
je 0x441f6e
jmp 0x441ff1
test edx, edx
jne 0x441ff1
test edi, edi
je 0x441ff1
mov ecx, dword [0x7071e0]
test ecx, ecx
jne 0x441ff1
xor ecx, ecx
test eax, eax
je 0x441f7f
test edx, edx
jne 0x441fb3
mov ecx, 1
jmp 0x441f83
test edx, edx
jne 0x441fb3
test edi, edi
je 0x441fb3
mov eax, dword [0x7071e0]
test eax, eax
jne 0x441fb3
mov eax, dword [esi + 0x13fecc]
fld dword [0x7071b4]
fsub dword [eax + 0x14]
fabs
fcomp dword [0x6a8524]
fnstsw ax
test ah, 0x41
jne 0x441fb3
mov ecx, 1
mov eax, dword [esi + 0x13fecc]
mov edi, dword [eax + 0xe0]
test edi, edi
jne 0x441ff1
test ecx, ecx
je 0x441ff1
call dword [sym.imp.winmm.dll_timeGetTime]
mov edi, dword [0x707228]
mov ecx, eax
sub ecx, edi
cmp ecx, 0x1f4
jbe 0x441feb
mov ecx, esi
mov dword [0x707228], eax
call fcn.00439040
mov edx, dword [0x7071b8]
test ebx, ebx
je 0x441ffe
mov eax, dword [esp + 0x44]
mov dword [0x7071b4], eax
mov eax, dword [0x852b5c]
test eax, eax
mov ecx, dword [0x7071e0]
mov dword [0x7071d8], edx
mov dword [0x7071dc], ecx
je 0x442092
cmp eax, 0x64
jl 0x442092
mov edx, dword [0x852b60]
push edx
mov ecx, esi
call fcn.00446630
test eax, eax
je 0x442092
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 [0x6a8690]
fnstsw ax
test ah, 0x41
jne 0x442092
cmp dword [0x852b5c], 0x67
jne 0x442088
cmp byte [0x21e76b1], 2
je 0x442092
mov dword [0x852b5c], 0
mov eax, dword [esi + 0x13fecc]
add eax, 0x10
push eax
mov ecx, 0x21ef9b0
call fcn.00527090
mov edi, eax
xor ebx, ebx
cmp edi, ebx
je 0x44214e
mov ecx, dword [0x2225648]
cmp dword [ecx + 0x358], ebx
jne 0x44211a
mov ecx, esi
call fcn.00439040
mov edx, dword [0x707160]
mov ecx, dword [edx]
call fcn.0048a610
xor eax, eax
mov al, byte [edi]
push eax
call fcn.005878a0
mov ecx, dword [0x2225648]
mov dword [ecx + 0x358], 1
mov dword [esi + 0x14022c], edi
mov edx, dword [edi + 0x228]
add esp, 4
push edx
mov ecx, 0x84f768
call fcn.004c48a0
test eax, eax
je 0x44214e
call dword [sym.imp.winmm.dll_timeGetTime]
mov dword [esi + 0x1402c0], eax
jmp 0x44214e
mov eax, dword [edi + 0x228]
push eax
mov ecx, 0x84f768
call fcn.004c48a0
test eax, eax
je 0x44214e
call dword [sym.imp.winmm.dll_timeGetTime]
sub eax, dword [esi + 0x1402c0]
cmp eax, 0x3a98
jbe 0x44214e
mov ecx, dword [0x2225648]
mov dword [ecx + 0x358], ebx
mov edi, dword [esi + 0x14022c]
cmp edi, ebx
je 0x44221c
mov edx, dword [esi + 0x13fecc]
add edx, 0x10
push edx
lea ecx, [edi + 4]
call fcn.004381f0
test al, al
jne 0x44221c
lea eax, [esp + 0x70]
push eax
lea ecx, [edi + 0x238]
call fcn.004399e0
fld dword [esp + 0x7c]
fsub dword [esp + 0x70]
mov eax, dword [esi + 0x13fecc]
add eax, 0x10
fmul dword [0x6a84d0]
fadd dword [esp + 0x70]
fld dword [esp + 0x80]
fsub dword [esp + 0x74]
fmul dword [0x6a84d0]
fadd dword [esp + 0x74]
fld dword [esp + 0x84]
fsub dword [esp + 0x78]
fmul dword [0x6a84d0]
fadd dword [esp + 0x78]
fstp dword [esp + 0x78]
fxch st(1)
fsub dword [eax]
fstp dword [esp + 0x64]
fsub dword [eax + 4]
fld dword [esp + 0x78]
fsub dword [eax + 8]
fld dword [esp + 0x64]
fmul dword [esp + 0x64]
fld st(1)
fmul st(2)
faddp st(1)
fld st(2)
fmul st(3)
faddp st(1)
fsqrt
fstp st(2)
fstp st(0)
fabs
fcomp dword [0x6a8638]
fnstsw ax
test ah, 0x41
jne 0x44221c
mov ecx, dword [0x2225648]
mov dword [ecx + 0x358], 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 + 0x24], esp
call fcn.00525780
test al, al
je 0x44250d
mov eax, dword [esi + 0x13fecc]
mov cl, byte [eax + 0x279]
test cl, cl
jne 0x44250d
cmp dword [eax + 0x250], ebx
jne 0x44250d
cmp dword [edi], ebx
jne 0x442283
mov dword [eax + 0xe4], ebx
jmp 0x442591
mov al, byte [esi + 0x13d7a8]
test al, al
mov ecx, esi
je 0x442381
call fcn.00439040
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 + 0x68]
push edx
lea ecx, [eax + 0xb0]
call fcn.004365f0
lea ecx, [esp + 0x64]
call fcn.004366d0
push 0x3f666666
sub esp, 0xc
lea eax, [esp + 0x74]
mov ecx, esp
mov dword [esp + 0x28], esp
push eax
call fcn.0041f2e0
lea ecx, [esp + 0x334]
push ecx
call fcn.0041f330
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 + 0x64]
mov eax, dword [esp + 0x64]
fld dword [edi + 4]
add edx, 0x1c
fchs
fstp dword [esp + 0x68]
mov ecx, dword [esp + 0x68]
fld dword [edi + 8]
mov dword [edx], eax
fchs
mov dword [edx + 4], ecx
fstp dword [esp + 0x6c]
mov eax, dword [esp + 0x6c]
mov dword [edx + 8], eax
jmp 0x4424cd
call fcn.00439040
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 + 0x68]
push edx
lea ecx, [eax + 0xa4]
call fcn.004365f0
lea ecx, [esp + 0x64]
call fcn.004366d0
push 0x3f666666
sub esp, 0xc
lea eax, [esp + 0x74]
mov ecx, esp
mov dword [esp + 0x28], esp
push eax
call fcn.0041f2e0
lea ecx, [esp + 0x310]
push ecx
call fcn.0041f330
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 + 0x64]
mov eax, dword [esp + 0x64]
fld dword [edi + 4]
add edx, 0x1c
fchs
fstp dword [esp + 0x68]
mov ecx, dword [esp + 0x68]
fld dword [edi + 8]
mov dword [edx], eax
fchs
mov dword [edx + 4], ecx
fstp dword [esp + 0x6c]
mov eax, dword [esp + 0x6c]
mov dword [edx + 8], eax
mov eax, dword [esi + 0x13fecc]
fld dword [eax + 0x1c]
fmul dword [0x6a8508]
fld dword [eax + 0x20]
fmul dword [0x6a8508]
fld dword [eax + 0x24]
fmul dword [0x6a8508]
fstp dword [esp + 0x78]
fld dword [eax + 0x10]
fsub st(2)
fstp dword [esp + 0x64]
fld dword [eax + 0x14]
fsub st(1)
fstp dword [esp + 0x68]
fstp st(0)
fstp st(0)
fld dword [eax + 0x18]
fsub dword [esp + 0x78]
mov ecx, dword [esp + 0x64]
mov edx, dword [esp + 0x68]
mov dword [0x21f1d38], ecx
fstp dword [esp + 0x6c]
mov eax, dword [esp + 0x6c]
mov dword [0x21f1d3c], edx
mov dword [0x21f1d40], 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 [0x7071b0], 6
jne 0x442522
mov dword [esi + 0x1401ec], 1
jmp 0x442528
mov dword [esi + 0x1401ec], ebx
mov eax, dword [esi + 0x13fecc]
cmp dword [eax + 0xdc], 7
je 0x44253f
cmp dword [eax + 0xe4], ebx
je 0x44254b
mov dword [esi + 0x1401ec], ebx
mov dword [0x7071b0], ebx
cmp dword [esp + 0x58], ebx
je 0x442591
cmp dword [0x7071c8], ebx
jne 0x442561
cmp dword [0x7071cc], ebx
je 0x442591
call dword [sym.imp.winmm.dll_timeGetTime]
mov edi, dword [0x707228]
mov ecx, eax
sub ecx, edi
cmp ecx, 0xfa
jbe 0x442591
mov ecx, esi
mov dword [0x707228], eax
call fcn.00439040
mov dword [0x7071cc], ebx
mov dword [0x7071c8], ebx
mov ecx, dword [esp + 0x714]
pop edi
pop esi
mov eax, 1
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret 4