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

Disassembly:
push ebx
push esi
push edi
push ebp
sub esp, 0x3f8
cmp byte [0x703899], 0
mov ebp, ecx
jne 0x47010a
xor al, al
mov byte [0x703899], 1
mov byte [0x703898], al
mov byte [esp + 0x30], 0
mov byte [esp + 0x28], 0
mov byte [esp + 0x2c], 0
movzx edx, byte [ebp + 0x76]
imul edx, edx, 0x73
movsx eax, word [ebp + edx*4 + 0x194]
mov dword [esp + 0x34], eax
xor al, al
mov byte [ebp + 0x5e], al
xor al, al
mov byte [ebp + 0x5f], al
xor al, al
mov byte [ebp + 0x67], al
xor al, al
mov byte [ebp + 0x66], al
xor al, al
mov byte [ebp + 0x58], al
xor al, al
mov byte [ebp + 0x65], al
xor al, al
mov byte [ebp + 0x52], al
xor al, al
mov byte [ebp + 0x50], al
xor al, al
mov byte [0x703684], al
movzx eax, byte [ebp + 0x76]
imul eax, eax, 0x73
cmp dword [ebp + eax*4 + 0x338], 0
jne 0x47018c
cmp dword [ebp + 0x80c], 0
jne 0x47018c
movzx ebx, byte [0xa10b03]
imul ebx, ebx, 0x2e
mov eax, dword [ebx*8 + 0x94ad30]
mov dword [ebp + 0x80c], eax
inc dword [ebp + 0xcc]
mov eax, dword [ebp + 0xcc]
cmp eax, dword [ebp + 0xc8]
jle 0x4701aa
mov dword [ebp + 0xcc], 1
mov eax, dword [ebp + 0xcc]
cmp eax, dword [ebp + 0xc8]
jne 0x4701be
mov byte [ebp + 0x4e], 1
jmp 0x4701c3
xor al, al
mov byte [ebp + 0x4e], al
cmp byte [ebp + 0x4e], 1
jne 0x4701dd
call fcn.0057e1e0
test al, al
je 0x4701d8
mov byte [ebp + 0x73], 1
jmp 0x4701dd
xor al, al
mov byte [ebp + 0x73], al
cmp byte [ebp + 0x5b], 1
jne 0x470204
push 0
call fcn.004ab080
pop ecx
and word [eax + 0xf0], 0xfffe
call fcn.004bc140
mov dl, byte [eax + 0x52]
and dl, 0xfb
or dl, 4
mov byte [eax + 0x52], dl
cmp byte [0xa10b3e], 0
jne 0x4726d4
cmp byte [0xa10b7f], 0
jne 0x4726d4
cmp byte [ebp + 0x51], 0
jne 0x4726d4
fld dword [0x68add8]
fstp dword [esp + 0x44]
fld dword [0x68add8]
fstp dword [esp + 0x48]
cmp byte [ebp + 0x64], 1
jne 0x470280
mov edi, dword [ebp + 0x80c]
xor cl, cl
mov al, byte [edi + 0x50]
and al, 7
cmp al, 2
sete al
test al, al
je 0x470263
mov eax, dword [edi + 0x29c]
cmp eax, 2
je 0x470265
mov cl, 1
test cl, cl
je 0x470280
mov ecx, ebp
call fcn.0046bc7d
mov ecx, ebp
xor al, al
mov byte [ebp + 0x65], 1
mov byte [ebp + 0x64], al
call fcn.0046b863
mov esi, dword [ebp + 0x80c]
mov al, byte [esi + 0x50]
and al, 7
cmp al, 2
jne 0x471047
mov eax, dword [esi + 0x29c]
cmp eax, 1
jne 0x4702ae
movsx eax, word [esi + 0x5c]
cmp eax, 0xbe
je 0x4702ae
mov byte [esp + 0x2c], 1
push 0
call fcn.004ab080
pop ecx
mov ecx, eax
call fcn.004aa720
test al, al
je 0x470319
cmp byte [0xa10afe], 1
je 0x470319
cmp byte [ebp + 0x5b], 1
je 0x4702d9
cmp dword [ebp + 0xd0], 2
jne 0x470319
cmp byte [ebp + 0x6d], 0
jne 0x470319
fld dword [ebp + 0xdc]
fsub dword [0x68ae2c]
fstp dword [ebp + 0xdc]
fld dword [0x68ade8]
fcomp dword [ebp + 0xdc]
fnstsw ax
and ah, 0x44
cmp ah, 0x40
jne 0x470319
fld dword [ebp + 0xdc]
fsub dword [0x68ae2c]
fstp dword [ebp + 0xdc]
push 0
call fcn.004ab080
pop ecx
mov ecx, eax
call fcn.004aa6e0
test al, al
fldz
je 0x470386
cmp byte [0xa10afe], 1
je 0x470386
cmp byte [ebp + 0x5b], 1
je 0x470346
cmp dword [ebp + 0xd0], 2
jne 0x470386
cmp byte [ebp + 0x6d], 0
jne 0x470386
fld dword [ebp + 0xdc]
fadd dword [0x68ae2c]
fstp dword [ebp + 0xdc]
fld dword [0x68ade8]
fcomp dword [ebp + 0xdc]
fnstsw ax
and ah, 0x44
cmp ah, 0x40
jne 0x470386
fld dword [ebp + 0xdc]
fadd dword [0x68ae2c]
fstp dword [ebp + 0xdc]
cmp byte [ebp + 0x73], 0
jne 0x4703c7
fld dword [ebp + 0xdc]
fst st(1)
fcomp dword [0x68adcc]
fnstsw ax
test ah, 0x45
jne 0x4703ad
mov dword [ebp + 0xdc], 0
jmp 0x4703c7
fcom dword [0x68add8]
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x4703c7
mov dword [ebp + 0xdc], 0x40a00000
cmp byte [ebp + 0x73], 0
je 0x470402
fld dword [ebp + 0xdc]
fstp st(1)
fld dword [0x68ade8]
fcomp st(1)
fnstsw ax
and ah, 0x44
cmp ah, 0x40
je 0x470402
fld dword [0x68add8]
fcomp st(1)
fnstsw ax
and ah, 0x44
cmp ah, 0x40
je 0x470402
mov word [0x70388a], 0x12
mov edx, dword [ebp + 0x80c]
mov eax, dword [edx + 0x29c]
cmp eax, 1
mov dword [esp + 0x38], eax
jne 0x47042a
movsx eax, word [edx + 0x5c]
cmp eax, 0xbe
jne 0x47042a
mov dword [esp + 0x38], 0
cmp dword [esp + 0x38], 0
je 0x47043c
cmp dword [esp + 0x38], 5
jne 0x470c23
xor ebx, ebx
cmp dword [esp + 0x38], 5
jne 0x47395e
fstp st(0)
call fcn.0057e1c0
test al, al
je 0x470464
call fcn.0057e490
mov ebx, eax
test ebx, ebx
je 0x470464
mov byte [esp + 0x30], 1
mov ecx, dword [ebp + 0x80c]
add ecx, 4
call fcn.00473aa0
push dword [eax + 8]
push dword [eax + 4]
push dword [eax]
call fcn.0042da20
add esp, 0xc
test al, al
jne 0x470491
cmp byte [esp + 0x30], 0
je 0x470c01
cmp byte [ebp + 0x868], 0
jne 0x4704a0
cmp byte [ebp + 0x5b], 1
je 0x4704ad
cmp dword [ebp + 0xd0], 2
jne 0x470bac
cmp dword [ebp + 0x6ec], 0
jne 0x4704be
test ebx, ebx
je 0x470bac
mov ecx, dword [ebp + 0x80c]
add ecx, 4
call fcn.00423020
lea ecx, [esp + 0xe4]
push eax
call fcn.00473a87
mov eax, dword [ebp + 0x6ec]
test eax, eax
je 0x4705e6
cmp dword [eax + 0xc], 0
je 0x47058c
mov dword [esp + 0x10], 1
mov dword [esp + 0xec], 0
fld dword [eax + 0x5c]
fstp dword [esp + 0xcc]
mov eax, dword [ebp + 0x6ec]
mov dword [esp + 0xd4], 0
fld dword [eax + 0x60]
fstp dword [esp + 0xd0]
fld dword [esp + 0xec]
fsub dword [esp + 0xd4]
push eax
fstp dword [esp]
fld dword [esp + 0xec]
fsub dword [esp + 0xd4]
push eax
fstp dword [esp]
fld dword [esp + 0xec]
fsub dword [esp + 0xd4]
push eax
fstp dword [esp]
lea ecx, [esp + 0x1c4]
call fcn.00473a6e
lea ecx, [esp + 0x1b8]
call fcn.00473a4f
fstp dword [esp + 0x70]
push dword [esp + 0x70]
call fcn.00422fc0
fstp st(0)
pop ecx
jmp 0x4708bb
cmp dword [eax + 0x10], 0
je 0x47059f
mov dword [esp + 0x10], 2
jmp 0x4708bb
mov dword [esp + 0x10], 1
mov ecx, dword [ebp + 0x80c]
add ecx, 4
call fcn.00473aa0
fld dword [eax]
fstp dword [esp + 0xcc]
mov ecx, dword [ebp + 0x80c]
add ecx, 4
call fcn.00473aa0
fld dword [eax + 4]
fstp dword [esp + 0xd0]
mov dword [esp + 0xe0], 0
jmp 0x4708bb
mov dword [esp + 0x10], 1
lea ecx, [esp + 0xcc]
movzx eax, byte [ebp + 0x76]
imul eax, eax, 0x1cc
add eax, ebp
add eax, 0x2fc
push eax
call fcn.00473a87
movsx ecx, word [ebx + 6]
movsx eax, word [ebx + 4]
push dword [0x68add8]
add ecx, eax
push eax
cmp ecx, 0x80000000
sbb ecx, 0xffffffff
sar ecx, 1
mov dword [esp + 0xc0], ecx
fild dword [esp + 0xc0]
fstp dword [esp]
movsx esi, word [ebx + 2]
movsx eax, word [ebx]
add esi, eax
push eax
cmp esi, 0x80000000
sbb esi, 0xffffffff
sar esi, 1
mov dword [esp + 0xc4], esi
fild dword [esp + 0xc4]
fstp dword [esp]
lea ecx, [esp + 0x1d0]
call fcn.00473a6e
lea eax, [esp + 0x1c4]
lea ecx, [esp + 0xc0]
push eax
call fcn.00473a87
fld dword [esp + 0xc8]
fsub dword [esp + 0xd4]
push eax
fstp dword [esp]
fld dword [esp + 0xc8]
fsub dword [esp + 0xd4]
push eax
fstp dword [esp]
fld dword [esp + 0xc8]
fsub dword [esp + 0xd4]
push eax
fstp dword [esp]
lea ecx, [esp + 0x1dc]
call fcn.00473a6e
fld dword [esp + 0x1d4]
fld st(0)
fmul st(0)
fld dword [esp + 0x1d0]
push eax
fmul st(0)
faddp st(1)
fstp dword [esp]
fstp st(0)
call fcn.00422fc0
fstp dword [esp + 0x78]
fld dword [esp + 0x78]
fcomp dword [0x68ae28]
fnstsw ax
pop ecx
test ah, 0x45
jne 0x4708bb
mov ecx, dword [0x7e4e9c]
lea eax, [esp + 0xc0]
add ecx, 4
push eax
mov byte [esp + 0x20], 1
call fcn.00423020
push eax
lea eax, [esp + 0x1e4]
push eax
call fcn.00473a1c
lea esi, [esp + 0x1e8]
lea edi, [esp + 0x114]
movsd dword es:[edi], dword [esi]
add esp, 0xc
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0x108]
mov dword [esp + 0x110], 0
call fcn.004dfec0
movsx eax, word [ebx + 4]
movsx edi, word [ebx + 6]
movsx ecx, word [ebx + 2]
sub edi, eax
movsx eax, word [ebx]
sub ecx, eax
cmp ecx, edi
jg 0x470769
mov ecx, edi
mov dword [esp + 0xb8], ecx
lea eax, [esp + 0x108]
fild dword [esp + 0xb8]
push eax
lea eax, [esp + 0x1f8]
fmul dword [0x68ade4]
fstp dword [esp + 0xac]
push dword [esp + 0xac]
push eax
call fcn.004739e9
mov ecx, dword [0x7e4e9c]
add esp, 0xc
lea eax, [esp + 0x1f4]
add ecx, 4
push eax
call fcn.00423020
push eax
lea eax, [esp + 0x1f0]
push eax
call fcn.004739b6
lea esi, [esp + 0x1f4]
lea edi, [esp + 0x120]
movsd dword es:[edi], dword [esi]
add esp, 0xc
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov ecx, dword [0x7e4e9c]
add ecx, 4
call fcn.00473aa0
lea edx, [esp + 0x114]
push 1
push 0
push 0
push 0
push 0
push 0
push 1
push edx
push eax
call fcn.004da580
add esp, 0x24
test al, al
jne 0x4708a0
lea eax, [esp + 0x108]
push eax
lea eax, [esp + 0x210]
push dword [esp + 0xac]
push eax
call fcn.004739e9
mov ecx, dword [0x7e4e9c]
add esp, 0xc
lea eax, [esp + 0x20c]
add ecx, 4
push eax
call fcn.00423020
push eax
lea eax, [esp + 0x208]
push eax
call fcn.00473a1c
lea eax, [esp + 0x20c]
add esp, 0xc
lea ecx, [esp + 0x114]
push eax
call fcn.00473a87
mov ecx, dword [0x7e4e9c]
add ecx, 4
call fcn.00473aa0
lea edi, [esp + 0x114]
push 1
push 0
push 0
push 0
push 0
push 0
push 1
push edi
push eax
call fcn.004da580
add esp, 0x24
test al, al
jne 0x4708a0
mov byte [esp + 0x1c], 0
cmp byte [esp + 0x1c], 0
je 0x4708bb
lea eax, [esp + 0x114]
lea ecx, [esp + 0xcc]
push eax
call fcn.00473a87
mov edx, dword [ebp + 0x6ec]
test edx, edx
je 0x470900
fld dword [edx + 0x4c]
fadd dword [edx + 0x50]
push dword [0x68add8]
push eax
fmul dword [0x68ae08]
fstp dword [esp]
fld dword [edx + 0x44]
fadd dword [edx + 0x48]
push eax
fmul dword [0x68ae08]
fstp dword [esp]
lea ecx, [esp + 0x224]
call fcn.00473a6e
lea eax, [esp + 0x218]
jmp 0x470949
test ebx, ebx
mov dword [esp + 0xd4], 0
jne 0x470956
mov ecx, dword [ebp + 0x80c]
add ecx, 4
push dword [0x68add8]
call fcn.00423020
mov ecx, dword [ebp + 0x80c]
add ecx, 4
push dword [eax + 4]
call fcn.00423020
lea ecx, [esp + 0x22c]
push dword [eax]
call fcn.00473a6e
lea eax, [esp + 0x224]
lea ecx, [esp + 0xc0]
push eax
call fcn.00473a87
cmp dword [esp + 0x10], 1
jne 0x470986
lea eax, [esp + 0xc0]
lea ecx, [esp + 0xcc]
push eax
lea eax, [esp + 0x234]
push ecx
push eax
call fcn.00473a1c
add esp, 0xc
lea eax, [esp + 0x230]
jmp 0x4709ad
lea eax, [esp + 0xc0]
lea esi, [esp + 0xd8]
push eax
lea eax, [esp + 0x240]
push esi
push eax
call fcn.00473a1c
add esp, 0xc
lea eax, [esp + 0x23c]
lea ecx, [esp + 0xf0]
push eax
call fcn.00473a87
mov ecx, dword [ebp + 0x80c]
add ecx, 4
call fcn.00423020
lea ecx, [esp + 0xe4]
push eax
call fcn.00473a87
lea eax, [esp + 0x123]
push eax
push dword [esp + 0xf0]
push dword [esp + 0xf0]
push dword [esp + 0xf0]
call fcn.004d53c0
add esp, 0x10
cmp byte [esp + 0x123], 0
fstp dword [esp + 0x4c]
jne 0x470a19
fld dword [esp + 0xec]
fsub dword [0x68aebc]
fstp dword [esp + 0x4c]
lea ecx, [esp + 0xf0]
mov dword [esp + 0xf8], 0
call fcn.004dfec0
cmp dword [esp + 0x10], 1
jne 0x470b0a
cmp dword [ebp + 0x6ec], 0
jne 0x470ac3
test ebx, ebx
je 0x470ac3
movsx eax, word [ebx + 4]
movsx ecx, word [ebx + 6]
movsx esi, word [ebx + 2]
sub ecx, eax
movsx eax, word [ebx]
sub esi, eax
cmp esi, ecx
jg 0x470a61
mov esi, ecx
mov dword [esp + 0xb8], esi
lea eax, [esp + 0xf0]
fild dword [esp + 0xb8]
push eax
push eax
fmul dword [0x68af04]
fadd dword [0x68af08]
fstp dword [esp]
lea eax, [esp + 0x25c]
push eax
call fcn.004739e9
lea eax, [esp + 0x260]
add esp, 0xc
lea edx, [esp + 0xc0]
push eax
lea eax, [esp + 0x24c]
push edx
push eax
call fcn.004739b6
add esp, 0xc
lea eax, [esp + 0x248]
jmp 0x470b4f
lea eax, [esp + 0xf0]
push eax
lea eax, [esp + 0x270]
push dword [0x68af0c]
push eax
call fcn.004739e9
lea eax, [esp + 0x278]
add esp, 0xc
lea edi, [esp + 0xcc]
push eax
lea eax, [esp + 0x264]
push edi
push eax
call fcn.004739b6
add esp, 0xc
lea eax, [esp + 0x260]
jmp 0x470b4f
lea eax, [esp + 0xf0]
push eax
lea eax, [esp + 0x288]
push dword [0x68af0c]
push eax
call fcn.004739e9
lea eax, [esp + 0x290]
add esp, 0xc
lea ecx, [esp + 0xd8]
push eax
lea eax, [esp + 0x27c]
push ecx
push eax
call fcn.004739b6
add esp, 0xc
lea eax, [esp + 0x278]
lea ecx, [esp + 0xfc]
push eax
call fcn.00473a87
fld dword [esp + 0x4c]
fadd dword [0x68af10]
lea eax, [esp + 0xfc]
mov dword [esp + 0x290], 0
lea esi, [esp + 0x290]
mov ecx, ebp
push esi
push eax
fstp dword [esp + 0x10c]
mov dword [esp + 0x2a0], 0
mov dword [esp + 0x29c], 0
call fcn.0046ba72
mov byte [ebp + 0x868], 1
call fcn.0042da10
test al, al
jne 0x470bbc
cmp byte [esp + 0x30], 0
je 0x470bf0
cmp byte [ebp + 0x868], 1
jne 0x470bf0
cmp byte [ebp + 0x5b], 1
je 0x470bd4
cmp dword [ebp + 0xd0], 2
jne 0x470bf0
cmp dword [ebp + 0x6ec], 0
jne 0x470be1
test ebx, ebx
je 0x470c39
mov word [0x70388a], 0xf
mov byte [ebp + 0x56], 1
jmp 0x470c39
cmp byte [ebp + 0x56], 0
je 0x470c18
xor al, al
mov byte [ebp + 0x58], 1
mov byte [ebp + 0x56], al
jmp 0x470c18
cmp byte [ebp + 0x56], 0
je 0x470c10
xor al, al
mov byte [ebp + 0x58], 1
mov byte [ebp + 0x56], al
xor al, al
mov byte [ebp + 0x868], al
mov word [0x70388a], 0x12
jmp 0x470c39
cmp dword [esp + 0x38], 1
jne 0x473965
fstp st(0)
mov word [0x70388a], 0x16
mov ecx, dword [ebp + 0x80c]
call fcn.005baaa0
xor edx, edx
mov ecx, 0x7e4690
mov dword [esp + 0x124], edx
lea edi, [esp + 0x124]
push edi
push eax
call fcn.0046f659
fld dword [ebp + 0xdc]
fld dword [0x68add8]
fcomp st(1)
fnstsw ax
and ah, 0x44
cmp ah, 0x40
jne 0x470c93
cmp byte [ebp + 0x56], 0
jne 0x470c93
mov dword [ebp + 0xe0], 0
mov word [0x70388a], 0x10
jmp 0x470cfd
fld dword [0x68ae2c]
fcomp st(1)
fnstsw ax
and ah, 0x44
cmp ah, 0x40
jne 0x470cb5
mov eax, dword [esp + 0x124]
fld dword [eax*4 + 0x68ab70]
jmp 0x470cf7
fld dword [0x68ade4]
fcomp st(1)
fnstsw ax
and ah, 0x44
cmp ah, 0x40
jne 0x470cd7
mov eax, dword [esp + 0x124]
fld dword [eax*4 + 0x68ab84]
jmp 0x470cf7
fld dword [0x68adf4]
fcomp st(1)
fnstsw ax
and ah, 0x44
cmp ah, 0x40
jne 0x470cfd
mov eax, dword [esp + 0x124]
fld dword [eax*4 + 0x68ab98]
fstp dword [ebp + 0xe0]
fld dword [0x68ade8]
fcomp dword [ebp + 0xdc]
fnstsw ax
and ah, 0x44
cmp ah, 0x40
jne 0x470d2c
cmp byte [ebp + 0x56], 0
jne 0x470d2c
mov dword [ebp + 0xe0], 0x3f800000
mov word [0x70388a], 1
cmp dword [esp + 0x38], 0
jne 0x47396c
cmp byte [ebp + 0x56], 0
jne 0x47396c
mov ecx, dword [ebp + 0x80c]
movsx eax, word [ecx + 0x5c]
fstp st(0)
mov ecx, dword [eax*4 + 0x92d4d0]
call fcn.004739b2
fld dword [eax + 0x18]
fstp dword [esp + 0x6c]
mov esi, dword [ebp + 0x80c]
movsx eax, word [esi + 0x5c]
mov ecx, dword [eax*4 + 0x92d4d0]
call fcn.004739b2
fld dword [eax + 0x24]
fsub dword [esp + 0x6c]
fstp dword [esp + 0x78]
call fcn.0057e1a0
test al, al
je 0x470db1
fld dword [esp + 0x78]
fcomp dword [0x68af14]
fnstsw ax
test ah, 5
jne 0x470db1
cmp dword [ebp + 0x6f0], 0
jne 0x470db1
mov word [0x70388a], 0x10
mov byte [ebp + 0x52], 1
cmp word [0x70388a], 1
jne 0x470ddf
call fcn.0057e1a0
test al, al
jne 0x470dd6
call fcn.0057e100
test al, al
jne 0x470dd6
call fcn.0057e0e0
test al, al
je 0x470ddf
mov word [0x70388a], 0x10
mov al, byte [ebp + 0x69]
cmp al, 1
fldz
fldz
jne 0x470e57
fld dword [ebp + 0x130]
fstp st(1)
fld dword [ebp + 0xe4]
fstp st(2)
fld st(1)
fcomp st(1)
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x470e31
fld dword [0x68af18]
fmul dword [0x97542c]
fadd st(2)
fstp st(2)
fcom st(1)
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x470e28
fld st(0)
jmp 0x470e2a
fld st(1)
fstp st(2)
jmp 0x470f8d
fld dword [0x68af18]
fmul dword [0x97542c]
fsubr st(2)
fstp st(2)
fcom st(1)
fnstsw ax
test ah, 0x45
jne 0x470e4e
fld st(0)
jmp 0x470e50
fld st(1)
fstp st(2)
jmp 0x470f8d
cmp byte [ebp + 0x73], 0
je 0x470ee8
fld dword [0x68af1c]
fstp dword [esp + 0x44]
fld dword [ebp + 0xe4]
fstp st(2)
fld st(1)
fcomp dword [0x68af20]
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x470eb8
fld dword [0x68af18]
fmul dword [0x97542c]
fadd st(2)
fstp st(2)
fld dword [0x68af20]
fcomp st(2)
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x470eaf
fld dword [0x68af20]
jmp 0x470eb1
fld st(1)
fstp st(2)
jmp 0x470f8d
fld dword [0x68af18]
fmul dword [0x97542c]
fsubr st(2)
fstp st(2)
fld dword [0x68af20]
fcomp st(2)
fnstsw ax
test ah, 0x45
jne 0x470edf
fld dword [0x68af20]
jmp 0x470ee1
fld st(1)
fstp st(2)
jmp 0x470f8d
test al, al
jne 0x470f95
fld dword [ebp + 0xe0]
fstp st(1)
fld dword [ebp + 0xe4]
fstp st(2)
fld st(1)
fcomp st(1)
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x470f34
fld dword [0x68af18]
fmul dword [0x97542c]
fadd st(2)
fstp st(2)
fcom st(1)
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x470f2e
fld st(0)
jmp 0x470f30
fld st(1)
fstp st(2)
jmp 0x470f55
fld dword [0x68af18]
fmul dword [0x97542c]
fsubr st(2)
fstp st(2)
fcom st(1)
fnstsw ax
test ah, 0x45
jne 0x470f51
fld st(0)
jmp 0x470f53
fld st(1)
fstp st(2)
fld st(1)
fstp dword [ebp + 0xe4]
fld dword [0x68adf4]
fcomp dword [ebp + 0xdc]
fnstsw ax
and ah, 0x44
cmp ah, 0x40
jne 0x470f95
fld dword [ebp + 0xe0]
fstp st(2)
fld dword [0x68add8]
fcomp st(2)
fnstsw ax
and ah, 0x44
cmp ah, 0x40
jne 0x470f95
fld st(1)
fstp dword [ebp + 0xe4]
movzx eax, byte [ebp + 0x76]
fcompp
push 0
imul eax, eax, 0x1cc
push dword [0x68af24]
push dword [0x68aeb8]
add eax, ebp
lea ebx, [eax + 0x1f0]
add eax, 0x1ec
push ebx
push eax
push dword [esp + 0x58]
call fcn.004864e3
movzx ecx, byte [ebp + 0x76]
add esp, 0x18
imul ecx, ecx, 0x1cc
add ecx, ebp
lea eax, [ecx + 0x2fc]
add ecx, 0x188
push eax
call fcn.00485b17
test al, al
je 0x4726d4
cmp byte [esp + 0x2c], 0
jne 0x4726d4
movzx edx, byte [ebp + 0x76]
imul edx, edx, 0x73
mov edi, dword [ebp + edx*4 + 0x338]
mov al, byte [edi + 0x50]
and al, 7
cmp al, 3
je 0x4726d4
mov eax, dword [ebp + 0x80c]
movsx esi, word [eax + 0x5c]
mov eax, esi
cmp eax, 0xbe
je 0x4726d4
cmp esi, 0xb1
je 0x4726d4
mov word [0x70388a], 0x17
jmp 0x4726d4
cmp al, 3
jne 0x4726d4
push 0
call fcn.004ab080
pop ecx
mov ecx, eax
call fcn.004aa720
test al, al
je 0x4710d5
cmp byte [0xa10afe], 1
je 0x4710d5
cmp byte [ebp + 0x5b], 1
je 0x47107a
cmp dword [ebp + 0xd0], 2
jne 0x4710d5
cmp byte [ebp + 0x6d], 0
jne 0x4710d5
cmp byte [ebp + 0x73], 0
jne 0x4710d5
cmp byte [ebp + 0x4f], 0
jne 0x4710d5
cmp byte [0x869693], 0
jne 0x4710c3
fld dword [0x68adf4]
fcomp dword [ebp + 0x164]
fnstsw ax
and ah, 0x44
cmp ah, 0x40
jne 0x4710b7
mov dword [ebp + 0x164], 0x3f800000
jmp 0x4710d5
mov dword [ebp + 0x164], 0x40400000
jmp 0x4710d5
fld dword [ebp + 0x164]
fsub dword [0x68ae2c]
fstp dword [ebp + 0x164]
push 0
call fcn.004ab080
pop ecx
mov ecx, eax
call fcn.004aa6e0
test al, al
fldz
je 0x47115d
cmp byte [0xa10afe], 1
je 0x47115d
cmp byte [ebp + 0x5b], 1
je 0x471102
cmp dword [ebp + 0xd0], 2
jne 0x47115d
cmp byte [ebp + 0x6d], 0
jne 0x47115d
cmp byte [ebp + 0x73], 0
jne 0x47115d
cmp byte [ebp + 0x4f], 0
jne 0x47115d
cmp byte [0x869693], 0
jne 0x47114b
fld dword [0x68adf4]
fcomp dword [ebp + 0x164]
fnstsw ax
and ah, 0x44
cmp ah, 0x40
jne 0x47113f
mov dword [ebp + 0x164], 0x3f800000
jmp 0x47115d
mov dword [ebp + 0x164], 0x40400000
jmp 0x47115d
fld dword [ebp + 0x164]
fadd dword [0x68ae2c]
fstp dword [ebp + 0x164]
fld dword [ebp + 0x164]
fst st(1)
fcomp dword [0x68adf4]
fnstsw ax
test ah, 0x45
jne 0x47117e
mov dword [ebp + 0x164], 0x3f800000
jmp 0x471198
fcom dword [0x68ae2c]
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x471198
mov dword [ebp + 0x164], 0x40400000
mov word [0x70388a], 4
cmp byte [ebp + 0x5b], 1
je 0x4711b1
cmp byte [ebp + 0x71], 0
je 0x473973
mov ecx, dword [0x7e4e9c]
mov al, byte [ecx + 0x50]
and al, 7
cmp al, 3
jne 0x473973
cmp byte [ebp + 0x6d], 0
je 0x4711d4
cmp byte [ebp + 0x71], 0
je 0x473973
mov ecx, 0x7e4818
fstp st(0)
call fcn.004758b0
test al, al
jne 0x471306
push 0
call fcn.004ab080
pop ecx
mov ecx, eax
call fcn.004a9aa0
test ax, ax
jne 0x471210
push 0
call fcn.004ab080
pop ecx
mov ecx, eax
call fcn.004a9910
test ax, ax
je 0x47121c
mov eax, dword [0x974b34]
mov dword [ebp + 0x7c], eax
mov byte [ebp + 0x4f], 1
cmp byte [ebp + 0x4f], 0
je 0x47130b
push 0
call fcn.004ab080
pop ecx
mov ecx, eax
call fcn.004aae50
test ax, ax
jne 0x471306
push 0
call fcn.004ab080
pop ecx
mov ecx, eax
call fcn.004aad60
test ax, ax
jne 0x471306
push 0
call fcn.004ab080
movsx eax, word [eax + 0x1c]
pop ecx
test eax, eax
jne 0x471306
push 0
call fcn.004ab080
movsx eax, word [eax + 0x1e]
pop ecx
test eax, eax
jne 0x471306
push 0
call fcn.004ab080
movsx eax, word [eax + 0x20]
pop ecx
test eax, eax
jne 0x471306
push 0
call fcn.004ab080
movsx eax, word [eax + 0x22]
pop ecx
test eax, eax
jne 0x471306
push 0
call fcn.004ab080
movsx eax, word [eax + 0x1a]
pop ecx
test eax, eax
je 0x4712b0
jmp 0x471306
mov esi, dword [0x974b34]
mov dword [esp + 0xbc], 0
sub esi, dword [ebp + 0x7c]
mov eax, esi
mov dword [esp + 0xb8], esi
mov dword [esp + 0xb8], eax
fild qword [esp + 0xb8]
fcomp dword [0x68af28]
fnstsw ax
test ah, 0x45
je 0x471306
push 0
call fcn.004ab080
pop ecx
mov ecx, eax
call fcn.004aa480
test al, al
je 0x47130b
xor al, al
mov byte [ebp + 0x4f], al
mov byte [ebp + 0x50], 1
jmp 0x47130b
xor al, al
mov byte [ebp + 0x4f], al
call fcn.004bc140
mov ecx, eax
call fcn.00501970
test al, al
je 0x471333
call fcn.004bc140
fld dword [eax + 0x5fc]
fcomp dword [0x68add8]
fnstsw ax
test ah, 0x45
jne 0x471338
xor al, al
mov byte [ebp + 0x4f], al
cmp byte [ebp + 0x4f], 0
je 0x471357
push 0
mov word [0x70388a], 0x10
call fcn.004ab080
or word [eax + 0xf0], 1
pop ecx
fldz
fldz
fld dword [ebp + 0x164]
fstp st(2)
fld dword [0x68ae2c]
fcomp st(2)
fnstsw ax
and ah, 0x44
cmp ah, 0x40
jne 0x471381
mov dword [ebp + 0x144], 0x3e800000
jmp 0x4713bb
fld dword [0x68ade4]
fcomp st(2)
fnstsw ax
and ah, 0x44
cmp ah, 0x40
jne 0x47139f
mov dword [ebp + 0x144], 0x3fc00000
jmp 0x4713bb
fld dword [0x68adf4]
fcomp st(2)
fnstsw ax
and ah, 0x44
cmp ah, 0x40
jne 0x4713bb
mov dword [ebp + 0x144], 0x4039999a
mov al, byte [ebp + 0x68]
cmp al, 1
jne 0x47142f
fld dword [ebp + 0x148]
fstp st(1)
fld dword [ebp + 0x14c]
fstp st(2)
fld st(1)
fcomp st(1)
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x471409
fld dword [0x68af18]
fmul dword [0x97542c]
fadd st(2)
fstp st(2)
fcom st(1)
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x471400
fld st(0)
jmp 0x471402
fld st(1)
fstp st(2)
jmp 0x47157f
fld dword [0x68af18]
fmul dword [0x97542c]
fsubr st(2)
fstp st(2)
fcom st(1)
fnstsw ax
test ah, 0x45
jne 0x471426
fld st(0)
jmp 0x471428
fld st(1)
fstp st(2)
jmp 0x47157f
cmp byte [ebp + 0x73], 0
je 0x4714da
cmp byte [0x7038a0], 0
jne 0x471453
mov byte [0x7038a0], 1
mov dword [0x70389c], 0x3f000000
fld dword [0x68af04]
fstp dword [esp + 0x48]
fld dword [ebp + 0x14c]
fstp st(2)
fld st(1)
fcomp dword [0x70389c]
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x4714aa
fld dword [0x68af18]
fmul dword [0x97542c]
fadd st(2)
fstp st(2)
fld dword [0x70389c]
fcomp st(2)
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x4714a1
fld dword [0x70389c]
jmp 0x4714a3
fld st(1)
fstp st(2)
jmp 0x47157f
fld dword [0x68af18]
fmul dword [0x97542c]
fsubr st(2)
fstp st(2)
fld dword [0x70389c]
fcomp st(2)
fnstsw ax
test ah, 0x45
jne 0x4714d1
fld dword [0x70389c]
jmp 0x4714d3
fld st(1)
fstp st(2)
jmp 0x47157f
test al, al
jne 0x471587
fld dword [ebp + 0x144]
fstp st(1)
fld dword [ebp + 0x14c]
fstp st(2)
fld st(1)
fcomp st(1)
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x471526
fld dword [0x68af18]
fmul dword [0x97542c]
fadd st(2)
fstp st(2)
fcom st(1)
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x471520
fld st(0)
jmp 0x471522
fld st(1)
fstp st(2)
jmp 0x471547
fld dword [0x68af18]
fmul dword [0x97542c]
fsubr st(2)
fstp st(2)
fcom st(1)
fnstsw ax
test ah, 0x45
jne 0x471543
fld st(0)
jmp 0x471545
fld st(1)
fstp st(2)
fld st(1)
fstp dword [ebp + 0x14c]
fld dword [0x68adf4]
fcomp dword [ebp + 0x164]
fnstsw ax
and ah, 0x44
cmp ah, 0x40
jne 0x471587
fld dword [ebp + 0x144]
fstp st(2)
fld dword [0x68add8]
fcomp st(2)
fnstsw ax
and ah, 0x44
cmp ah, 0x40
jne 0x471587
fld st(1)
fstp dword [ebp + 0x14c]
movzx eax, byte [ebp + 0x76]
fcompp
push 0
imul eax, eax, 0x1cc
push dword [0x68af2c]
push dword [0x68aeb8]
add eax, ebp
lea edx, [eax + 0x1e8]
add eax, 0x1e4
push edx
push eax
push dword [esp + 0x5c]
call fcn.004864e3
add esp, 0x18
cmp byte [ebp + 0x4f], 0
jne 0x47161c
call fcn.004bc140
cmp dword [eax + 0x244], 0x11
jne 0x4715e2
cmp byte [0xa10b54], 0
jne 0x4715e2
mov word [0x70388a], 0x24
mov esi, dword [0x7e4e9c]
movsx eax, byte [esi + 0x504]
lea eax, [eax + eax*2]
cmp dword [esi + eax*8 + 0x408], 6
jne 0x47161c
call fcn.004bc140
cmp dword [eax + 0x244], 0x10
jne 0x47161c
cmp byte [0xa10b54], 0
jne 0x47161c
mov word [0x70388a], 0x24
xor ebx, ebx
call fcn.0057e1c0
test al, al
je 0x471637
call fcn.0057e490
mov ebx, eax
test ebx, ebx
je 0x471637
mov byte [esp + 0x30], 1
mov ecx, dword [ebp + 0x80c]
add ecx, 4
call fcn.00473aa0
push dword [eax + 8]
push dword [eax + 4]
push dword [eax]
call fcn.0042da20
add esp, 0xc
test al, al
je 0x471662
cmp byte [0xa10b54], 0
je 0x47166d
cmp byte [esp + 0x30], 0
je 0x471f58
cmp byte [ebp + 0x868], 0
jne 0x471f00
cmp byte [ebp + 0x5b], 1
jne 0x471f00
mov eax, dword [ebp + 0x6ec]
test eax, eax
jne 0x471699
cmp byte [esp + 0x30], 0
je 0x471f00
test eax, eax
je 0x4717c1
mov ecx, dword [ebp + 0x80c]
add ecx, 4
call fcn.00423020
lea ecx, [esp + 0xe4]
push eax
call fcn.00473a87
mov eax, dword [ebp + 0x6ec]
cmp dword [eax + 0xc], 0
je 0x471767
mov dword [esp + 0x14], 1
mov dword [esp + 0xec], 0
fld dword [eax + 0x5c]
fstp dword [esp + 0xcc]
mov eax, dword [ebp + 0x6ec]
mov dword [esp + 0xd4], 0
fld dword [eax + 0x60]
fstp dword [esp + 0xd0]
fld dword [esp + 0xec]
fsub dword [esp + 0xd4]
push eax
fstp dword [esp]
fld dword [esp + 0xec]
fsub dword [esp + 0xd4]
push eax
fstp dword [esp]
fld dword [esp + 0xec]
fsub dword [esp + 0xd4]
push eax
fstp dword [esp]
lea ecx, [esp + 0x2a8]
call fcn.00473a6e
lea ecx, [esp + 0x29c]
call fcn.00473a4f
fstp dword [esp + 0x7c]
push dword [esp + 0x7c]
call fcn.00422fc0
fstp st(0)
pop ecx
jmp 0x471b12
cmp dword [eax + 0x10], 0
je 0x47177a
mov dword [esp + 0x14], 2
jmp 0x471b12
mov dword [esp + 0x14], 1
mov ecx, dword [ebp + 0x80c]
add ecx, 4
call fcn.00473aa0
fld dword [eax]
fstp dword [esp + 0xcc]
mov ecx, dword [ebp + 0x80c]
add ecx, 4
call fcn.00473aa0
fld dword [eax + 4]
fstp dword [esp + 0xd0]
mov dword [esp + 0xe0], 0
jmp 0x471b12
mov dword [esp + 0x14], 1
lea ecx, [esp + 0xcc]
movzx eax, byte [ebp + 0x76]
imul eax, eax, 0x1cc
add eax, ebp
add eax, 0x2fc
push eax
call fcn.00473a87
test ebx, ebx
je 0x471b12
movsx edi, word [ebx + 6]
movsx eax, word [ebx + 4]
push dword [0x68add8]
add edi, eax
push eax
cmp edi, 0x80000000
sbb edi, 0xffffffff
sar edi, 1
mov dword [esp + 0xc0], edi
fild dword [esp + 0xc0]
fstp dword [esp]
movsx ecx, word [ebx + 2]
movsx eax, word [ebx]
add ecx, eax
push eax
cmp ecx, 0x80000000
sbb ecx, 0xffffffff
sar ecx, 1
mov dword [esp + 0xc4], ecx
fild dword [esp + 0xc4]
fstp dword [esp]
lea ecx, [esp + 0x2b4]
call fcn.00473a6e
lea eax, [esp + 0x2a8]
lea ecx, [esp + 0xc0]
push eax
call fcn.00473a87
mov ecx, dword [0x7e4e9c]
add ecx, 4
call fcn.00473aa0
fld dword [eax]
fcomp dword [0x68af30]
fnstsw ax
test ah, 0x45
jne 0x471953
mov ecx, dword [0x7e4e9c]
add ecx, 4
call fcn.00473aa0
fld dword [eax]
fcomp dword [0x68af34]
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x471953
mov ecx, dword [0x7e4e9c]
add ecx, 4
call fcn.00473aa0
fld dword [eax + 4]
fcomp dword [0x68af38]
fnstsw ax
test ah, 0x45
jne 0x471953
mov ecx, dword [0x7e4e9c]
add ecx, 4
call fcn.00473aa0
fld dword [eax + 4]
fcomp dword [0x68af3c]
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x471953
mov ecx, dword [0x7e4e9c]
add ecx, 4
call fcn.00473aa0
fld dword [eax + 8]
fcomp dword [0x68af40]
fnstsw ax
test ah, 0x45
jne 0x471953
mov ecx, dword [0x7e4e9c]
add ecx, 4
call fcn.00473aa0
fld dword [eax + 8]
fcomp dword [0x68af44]
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x471953
lea ecx, [esp + 0x2b4]
push dword [0x68af48]
push dword [0x68af4c]
push dword [0x68af50]
call fcn.00473a6e
lea eax, [esp + 0x2b4]
jmp 0x471b05
mov ecx, dword [0x7e4e9c]
lea eax, [esp + 0xc0]
add ecx, 4
push eax
mov byte [esp + 0x24], 1
call fcn.00423020
push eax
lea eax, [esp + 0x2c8]
push eax
call fcn.00473a1c
lea esi, [esp + 0x2cc]
lea edi, [esp + 0x134]
movsd dword es:[edi], dword [esi]
add esp, 0xc
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0x128]
mov dword [esp + 0x130], 0
call fcn.004dfec0
movsx eax, word [ebx + 4]
movsx ecx, word [ebx + 6]
movsx edi, word [ebx + 2]
sub ecx, eax
movsx eax, word [ebx]
sub edi, eax
cmp edi, ecx
jg 0x4719c0
mov edi, ecx
mov dword [esp + 0xb8], edi
lea eax, [esp + 0x128]
fild dword [esp + 0xb8]
push eax
lea eax, [esp + 0x2dc]
fmul dword [0x68ade4]
fstp dword [esp + 0xb0]
push dword [esp + 0xb0]
push eax
call fcn.004739e9
mov ecx, dword [0x7e4e9c]
add esp, 0xc
lea eax, [esp + 0x2d8]
add ecx, 4
push eax
call fcn.00423020
push eax
lea eax, [esp + 0x2d4]
push eax
call fcn.004739b6
lea esi, [esp + 0x2d8]
lea edi, [esp + 0x140]
movsd dword es:[edi], dword [esi]
add esp, 0xc
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov ecx, dword [0x7e4e9c]
add ecx, 4
call fcn.00473aa0
lea esi, [esp + 0x134]
push 1
push 0
push 0
push 0
push 0
push 0
push 1
push esi
push eax
call fcn.004da580
add esp, 0x24
test al, al
jne 0x471af7
lea eax, [esp + 0x128]
push eax
lea eax, [esp + 0x2f4]
push dword [esp + 0xb0]
push eax
call fcn.004739e9
mov ecx, dword [0x7e4e9c]
add esp, 0xc
lea eax, [esp + 0x2f0]
add ecx, 4
push eax
call fcn.00423020
push eax
lea eax, [esp + 0x2ec]
push eax
call fcn.00473a1c
lea eax, [esp + 0x2f0]
add esp, 0xc
lea ecx, [esp + 0x134]
push eax
call fcn.00473a87
mov ecx, dword [0x7e4e9c]
add ecx, 4
call fcn.00473aa0
lea edx, [esp + 0x134]
push 1
push 0
push 0
push 0
push 0
push 0
push 1
push edx
push eax
call fcn.004da580
add esp, 0x24
test al, al
jne 0x471af7
mov byte [esp + 0x20], 0
cmp byte [esp + 0x20], 0
je 0x471b12
lea eax, [esp + 0x134]
lea ecx, [esp + 0xcc]
push eax
call fcn.00473a87
mov esi, dword [ebp + 0x6ec]
test esi, esi
je 0x471b57
fld dword [esi + 0x4c]
fadd dword [esi + 0x50]
push dword [0x68add8]
push eax
fmul dword [0x68ae08]
fstp dword [esp]
fld dword [esi + 0x44]
fadd dword [esi + 0x48]
push eax
fmul dword [0x68ae08]
fstp dword [esp]
lea ecx, [esp + 0x308]
call fcn.00473a6e
lea eax, [esp + 0x2fc]
jmp 0x471ba0
test ebx, ebx
mov dword [esp + 0xd4], 0
jne 0x471bad
mov ecx, dword [ebp + 0x80c]
add ecx, 4
push dword [0x68add8]
call fcn.00423020
mov ecx, dword [ebp + 0x80c]
add ecx, 4
push dword [eax + 4]
call fcn.00423020
lea ecx, [esp + 0x310]
push dword [eax]
call fcn.00473a6e
lea eax, [esp + 0x308]
lea ecx, [esp + 0xc0]
push eax
call fcn.00473a87
cmp dword [esp + 0x14], 1
jne 0x471bdd
lea eax, [esp + 0xc0]
lea edi, [esp + 0xcc]
push eax
lea eax, [esp + 0x318]
push edi
push eax
call fcn.00473a1c
add esp, 0xc
lea eax, [esp + 0x314]
jmp 0x471c04
lea eax, [esp + 0xc0]
lea ecx, [esp + 0xd8]
push eax
lea eax, [esp + 0x324]
push ecx
push eax
call fcn.00473a1c
add esp, 0xc
lea eax, [esp + 0x320]
lea ecx, [esp + 0xf0]
push eax
call fcn.00473a87
mov ecx, dword [ebp + 0x80c]
add ecx, 4
call fcn.00423020
lea ecx, [esp + 0xe4]
push eax
call fcn.00473a87
lea eax, [esp + 0x143]
push eax
push dword [esp + 0xf0]
push dword [esp + 0xf0]
push dword [esp + 0xf0]
call fcn.004d53c0
add esp, 0x10
cmp byte [esp + 0x143], 0
fstp dword [esp + 0x50]
jne 0x471c70
fld dword [esp + 0xec]
fsub dword [0x68aebc]
fstp dword [esp + 0x50]
cmp dword [esp + 0x14], 1
mov dword [esp + 0xf8], 0
jne 0x471dc6
cmp dword [ebp + 0x6ec], 0
jne 0x471d73
cmp byte [esp + 0x30], 0
je 0x471d73
lea ecx, [esp + 0xf0]
call fcn.004dfec0
test ebx, ebx
je 0x471d29
movsx eax, word [ebx + 4]
movsx edi, word [ebx + 6]
movsx ecx, word [ebx + 2]
sub edi, eax
movsx eax, word [ebx]
sub ecx, eax
cmp ecx, edi
jg 0x471cc7
mov ecx, edi
mov dword [esp + 0xb8], ecx
lea eax, [esp + 0xf0]
fild dword [esp + 0xb8]
push eax
push eax
fmul dword [0x68af04]
fadd dword [0x68af08]
fstp dword [esp]
lea eax, [esp + 0x340]
push eax
call fcn.004739e9
lea eax, [esp + 0x344]
add esp, 0xc
lea esi, [esp + 0xc0]
push eax
lea eax, [esp + 0x330]
push esi
push eax
call fcn.004739b6
add esp, 0xc
lea eax, [esp + 0x32c]
jmp 0x471e17
lea eax, [esp + 0xf0]
push eax
lea eax, [esp + 0x354]
push dword [0x68af08]
push eax
call fcn.004739e9
lea eax, [esp + 0x35c]
add esp, 0xc
lea edx, [esp + 0xcc]
push eax
lea eax, [esp + 0x348]
push edx
push eax
call fcn.004739b6
add esp, 0xc
lea eax, [esp + 0x344]
jmp 0x471e17
lea ecx, [esp + 0xf0]
call fcn.004dfec0
lea eax, [esp + 0xf0]
push eax
lea eax, [esp + 0x36c]
push dword [0x68af0c]
push eax
call fcn.004739e9
lea eax, [esp + 0x374]
add esp, 0xc
lea edi, [esp + 0xcc]
push eax
lea eax, [esp + 0x360]
push edi
push eax
call fcn.004739b6
add esp, 0xc
lea eax, [esp + 0x35c]
jmp 0x471e17
lea ecx, [esp + 0xf0]
call fcn.004dfec0
lea eax, [esp + 0xf0]
push eax
lea eax, [esp + 0x384]
push dword [0x68af0c]
push eax
call fcn.004739e9
lea eax, [esp + 0x38c]
add esp, 0xc
lea ecx, [esp + 0xd8]
push eax
lea eax, [esp + 0x378]
push ecx
push eax
call fcn.004739b6
add esp, 0xc
lea eax, [esp + 0x374]
lea ecx, [esp + 0xfc]
push eax
call fcn.00473a87
fld dword [0x68ade8]
fcomp dword [ebp + 0x164]
fnstsw ax
and ah, 0x44
cmp ah, 0x40
jne 0x471eb0
cmp byte [esp + 0x30], 0
jne 0x471eb0
lea eax, [esp + 0xc0]
lea ecx, [esp + 0xfc]
push eax
call fcn.00473a87
call fcn.004bc140
add eax, 4
mov ecx, eax
call fcn.00473aa0
fldz
fld dword [0x68af54]
fadd dword [eax + 8]
fadd dword [esp + 0x104]
fstp dword [esp + 0x104]
mov eax, dword [ebp + 0x6ec]
test eax, eax
je 0x47397a
fld dword [eax + 0x48]
fstp st(1)
fld dword [esp + 0x104]
fcomp st(1)
fnstsw ax
test ah, 0x45
jne 0x47397a
fst dword [esp + 0x104]
jmp 0x47397a
fld dword [esp + 0x50]
fadd dword [0x68af10]
fstp dword [esp + 0x104]
lea eax, [esp + 0xfc]
mov dword [esp + 0x38c], 0
lea esi, [esp + 0x38c]
mov ecx, ebp
push esi
push eax
mov dword [esp + 0x39c], 0
mov dword [esp + 0x398], 0
call fcn.0046ba72
mov byte [ebp + 0x868], 1
call fcn.0042da10
test al, al
jne 0x471f10
cmp byte [esp + 0x30], 0
je 0x471f3e
cmp byte [ebp + 0x5b], 1
jne 0x471f3e
cmp byte [ebp + 0x868], 1
jne 0x471f3e
cmp dword [ebp + 0x6ec], 0
jne 0x471f2f
cmp byte [esp + 0x30], 0
je 0x471f6f
mov word [0x70388a], 0xf
mov byte [ebp + 0x56], 1
jmp 0x471f6f
cmp byte [ebp + 0x56], 0
je 0x471f4d
xor al, al
mov byte [ebp + 0x58], 1
mov byte [ebp + 0x56], al
mov word [0x70388a], 4
jmp 0x471f6f
cmp byte [ebp + 0x56], 0
je 0x471f67
xor al, al
mov byte [ebp + 0x58], 1
mov byte [ebp + 0x56], al
xor al, al
mov byte [ebp + 0x868], al
cmp byte [ebp + 0x4f], 0
jne 0x4720c3
mov ecx, dword [ebp + 0x80c]
add ecx, 4
call fcn.00473aa0
mov edi, eax
push eax
fld dword [edi + 8]
fsub dword [0x68add8]
fstp dword [esp]
fld dword [edi + 4]
fsub dword [0x68af58]
push eax
fstp dword [esp]
fld dword [edi]
fsub dword [0x68af5c]
push eax
fstp dword [esp]
lea ecx, [esp + 0x3a4]
call fcn.00473a6e
fld dword [esp + 0x39c]
fld st(0)
fmul st(0)
fld dword [esp + 0x398]
push eax
fmul st(0)
faddp st(1)
fstp dword [esp]
fstp st(0)
call fcn.00422fc0
fstp dword [esp + 0x84]
fld dword [esp + 0x84]
fcomp dword [0x68ae1c]
fnstsw ax
pop ecx
and ah, 5
cmp ah, 1
jne 0x4720c3
mov ecx, dword [ebp + 0x80c]
add ecx, 4
call fcn.00473aa0
mov ecx, eax
push eax
fld dword [ecx + 8]
fsub dword [0x68add8]
fstp dword [esp]
fld dword [ecx + 4]
fsub dword [0x68af58]
push eax
fstp dword [esp]
fld dword [ecx]
fsub dword [0x68af5c]
push eax
fstp dword [esp]
lea ecx, [esp + 0x3b0]
call fcn.00473a6e
fld dword [esp + 0x3a8]
fld st(0)
fmul st(0)
fld dword [esp + 0x3a4]
push eax
fmul st(0)
faddp st(1)
fstp dword [esp]
fstp st(0)
call fcn.00422fc0
fstp dword [esp + 0x88]
fld dword [esp + 0x88]
fcomp dword [0x68af60]
fnstsw ax
pop ecx
and ah, 5
cmp ah, 1
je 0x47209f
mov ecx, dword [ebp + 0x80c]
add ecx, 4
call fcn.00473aa0
fld dword [eax + 8]
fcomp dword [0x68ae44]
fnstsw ax
test ah, 0x45
jne 0x4720c3
movzx ecx, byte [ebp + 0x76]
imul ecx, ecx, 0x1cc
add ecx, ebp
add ecx, 0x188
call fcn.004758b0
test al, al
jne 0x4720c3
mov word [0x70388a], 0x26
movzx ecx, byte [ebp + 0x76]
imul ecx, ecx, 0x1cc
add ecx, ebp
lea eax, [ecx + 0x2fc]
add ecx, 0x188
push eax
call fcn.00485b17
test al, al
je 0x472105
movzx ebx, byte [ebp + 0x76]
imul ebx, ebx, 0x73
mov edx, dword [ebp + ebx*4 + 0x338]
mov al, byte [edx + 0x50]
and al, 7
cmp al, 3
jne 0x472105
mov word [0x70388a], 0x17
fld dword [0x68ade8]
fcomp dword [ebp + 0x164]
fnstsw ax
and ah, 0x44
cmp ah, 0x40
jne 0x47214b
call fcn.0057e1a0
test al, al
jne 0x47214b
call fcn.0057e100
test al, al
jne 0x47214b
call fcn.0057e0e0
test al, al
jne 0x47214b
cmp byte [ebp + 0x4f], 0
jne 0x47214b
cmp byte [ebp + 0x56], 0
jne 0x47214b
mov word [0x70388a], 0x25
push 0
call fcn.004ab080
pop ecx
mov ecx, eax
call fcn.004aa4f0
test al, al
jne 0x47216f
cmp word [ebp + 0x700], 0x2d
je 0x47216f
mov ecx, ebp
call fcn.0046fe51
mov ax, word [ebp + 0x6f4]
test ax, ax
je 0x472181
mov word [0x70388a], ax
mov ax, word [ebp + 0x700]
test ax, ax
je 0x4726d4
cmp byte [esp + 0x30], 0
jne 0x4726d4
cmp ax, 0x22
je 0x4721cf
lea edi, [eax - 7]
cmp di, 2
jbe 0x4721cf
add eax, 0xffffffd3
cmp ax, 1
jbe 0x4721cf
movzx ecx, byte [ebp + 0x76]
imul ecx, ecx, 0x1cc
add ecx, ebp
add ecx, 0x188
call fcn.00485d78
test al, al
je 0x47222e
movzx ecx, byte [0xa10b03]
imul ecx, ecx, 0x2e
mov eax, dword [ecx*8 + 0x94ad30]
cmp dword [eax + 0x244], 0x18
jne 0x47221c
cmp word [0x70388a], 0x25
je 0x47221c
movzx ecx, byte [ebp + 0x76]
imul ecx, ecx, 0x1cc
add ecx, ebp
add ecx, 0x188
call fcn.00485d78
test al, al
jne 0x47221c
mov word [0x70388a], 4
jmp 0x4726d4
mov ax, word [ebp + 0x700]
mov word [0x70388a], ax
jmp 0x4726d4
cmp word [0x70388a], 0x25
je 0x4726d4
fld dword [0x68adf4]
fcomp dword [0x7e47f4]
fnstsw ax
and ah, 0x44
cmp ah, 0x40
je 0x4726d4
fld dword [0x68ade8]
cmp byte [0x7038a8], 0
fstp dword [esp + 0x54]
jne 0x47227a
mov byte [0x7038a8], 1
mov dword [0x7038a4], 0x40000000
mov byte [esp + 0xc], 0
mov ecx, dword [ebp + 0x80c]
add ecx, 4
call fcn.00423020
lea esi, [eax]
lea edi, [esp + 0x144]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
lea eax, [esp + 0x144]
lea esi, [ebp + 0x724]
push eax
lea eax, [esp + 0x3b4]
push esi
push eax
call fcn.00473a1c
lea esi, [esp + 0x3bc]
lea edi, [esp + 0x15c]
movsd dword es:[edi], dword [esi]
add esp, 0xc
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movzx ebx, byte [ebp + 0x76]
lea eax, [esp + 0x144]
push eax
lea eax, [esp + 0x3c0]
imul ebx, ebx, 0x1cc
add ebx, ebp
add ebx, 0x2fc
push ebx
push eax
call fcn.00473a1c
lea esi, [esp + 0x3c8]
lea edi, [esp + 0x168]
movsd dword es:[edi], dword [esi]
add esp, 0xc
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
cmp byte [ebp + 0x56], 0
je 0x472316
cmp byte [esp + 0x30], 0
jne 0x4726d4
fld dword [0x68ae2c]
fcomp dword [ebp + 0x164]
fnstsw ax
and ah, 0x44
cmp ah, 0x40
jne 0x472336
fld dword [0x68af64]
fstp dword [esp + 0x54]
call fcn.004bc140
cmp dword [eax + 0x508], 0
je 0x4726d4
call fcn.004bc140
mov eax, dword [eax + 0x508]
cmp dword [eax + 0x244], 0x37
je 0x472370
call fcn.004bc140
mov eax, dword [eax + 0x508]
cmp dword [eax + 0x244], 0x36
jne 0x47237f
mov eax, dword [esp + 0x54]
mov byte [esp + 0xc], 1
mov dword [esp + 0x60], eax
jmp 0x472389
fld dword [0x7038a4]
fstp dword [esp + 0x60]
mov eax, dword [esp + 0x154]
mov dword [esp + 0xb0], eax
push eax
fld dword [esp + 0xb4]
fmul st(0)
fld dword [esp + 0x154]
fmul st(0)
faddp st(1)
fstp dword [esp]
call fcn.0047399f
mov eax, dword [esp + 0x164]
pop ecx
mov dword [esp + 0xb4], eax
push eax
fstp dword [esp + 0x8c]
fld dword [esp + 0xb8]
fmul st(0)
fld dword [esp + 0x160]
fmul st(0)
faddp st(1)
fstp dword [esp]
call fcn.0047399f
pop ecx
fstp st(0)
push dword [esp + 0xb4]
push dword [esp + 0x160]
call fcn.004a5600
pop ecx
pop ecx
fstp dword [esp + 0x5c]
push dword [esp + 0xb0]
push dword [esp + 0x154]
call fcn.004a5600
fstp dword [esp + 0x60]
mov ax, word [ebp + 0x700]
pop ecx
mov word [0x70388a], ax
pop ecx
movzx eax, byte [ebp + 0x76]
imul eax, eax, 0x73
cmp word [ebp + eax*4 + 0x194], 0xb
je 0x4724de
fldz
fld dword [esp + 0x5c]
fsub dword [esp + 0x58]
fstp st(1)
jmp 0x472453
fsub dword [0x68ae74]
fcom dword [0x68ae70]
fnstsw ax
test ah, 5
je 0x47244d
jmp 0x47246c
fadd dword [0x68ae74]
fcom dword [0x68ae78]
fnstsw ax
and ah, 5
cmp ah, 1
je 0x472466
push eax
fst dword [esp]
fstp st(0)
call fcn.0047398c
fstp dword [esp + 0x90]
fld dword [esp + 0x90]
fcomp dword [0x68ae68]
fnstsw ax
pop ecx
and ah, 5
cmp ah, 1
jne 0x4724de
fld dword [esp + 0x88]
fcomp dword [0x68ae20]
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x4724de
fld dword [esp + 0x158]
fcomp dword [0x68aed8]
fnstsw ax
test ah, 0x45
jne 0x4724de
mov word [0x70388a], 0x1c
fld dword [0x68add8]
cmp word [0x70388a], 0x1c
fstp dword [esp + 0x64]
je 0x4724fc
cmp word [0x70388a], 0xb
jne 0x472558
cmp byte [0x7e4719], 0
je 0x472517
movzx eax, byte [ebp + 0x76]
imul eax, eax, 0x73
cmp word [ebp + eax*4 + 0x194], 0x23
jne 0x472558
fld dword [esp + 0x88]
fcomp dword [esp + 0x60]
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x472558
cmp byte [esp + 0xc], 0
je 0x472558
cmp word [0x70388a], 0x1c
jne 0x472545
fld dword [0x68adcc]
jmp 0x47254b
fld dword [0x68af68]
fstp dword [esp + 0x64]
mov word [0x70388a], 0x23
cmp word [0x70388a], 0x23
jne 0x4726cd
cmp byte [0x703898], 0
jne 0x4726d4
lea ecx, [esp + 0x174]
call fcn.004230e0
lea ecx, [esp + 0x184]
call fcn.004230e0
xor eax, eax
mov dword [esp + 0x19c], eax
mov ecx, dword [ebp + 0x80c]
add ecx, 4
call fcn.00423020
lea ecx, [esp + 0x168]
push eax
call fcn.00473a87
push dword [esp + 0x5c]
call fcn.00423ba0
fstp dword [esp + 0x94]
fld dword [esp + 0x68]
fmul dword [esp + 0x94]
pop ecx
push dword [esp + 0x5c]
fadd dword [esp + 0x16c]
fstp dword [esp + 0x16c]
call fcn.00423b70
fstp dword [esp + 0x98]
fld dword [esp + 0x68]
fmul dword [esp + 0x98]
pop ecx
fadd dword [esp + 0x16c]
fstp dword [esp + 0x16c]
fld dword [esp + 0x170]
fadd dword [0x68af6c]
fstp dword [esp + 0x170]
mov ecx, dword [ebp + 0x80c]
add ecx, 4
call fcn.00473aa0
lea edi, [esp + 0x168]
lea edx, [esp + 0x19c]
lea ecx, [esp + 0x174]
push 0
push 1
push 1
push 0
push 1
push 0
push 0
push 1
push edx
push ecx
push edi
push eax
call fcn.004d92f0
add esp, 0x30
test al, al
je 0x47268c
mov dword [esp + 0x3c8], 0
lea ebx, [esp + 0x3c8]
lea eax, [esp + 0x174]
mov dword [esp + 0x3cc], 0
push ebx
mov dword [esp + 0x3d4], 0
jmp 0x4726bc
mov dword [esp + 0x3d4], 0
lea esi, [esp + 0x3d4]
lea eax, [esp + 0x168]
mov dword [esp + 0x3d8], 0
push esi
mov dword [esp + 0x3e0], 0
mov ecx, ebp
push eax
call fcn.0046ba72
mov byte [0x703898], 1
jmp 0x4726d4
xor al, al
mov byte [0x703898], al
cmp word [0xa10ab8], 0
je 0x4726ea
mov ax, word [0xa10ab8]
mov word [0x70388a], ax
xor dl, dl
cmp byte [0x7038aa], 0
jne 0x472703
xor al, al
mov byte [0x7038aa], 1
mov byte [0x7038a9], al
movzx eax, byte [0xa10b03]
mov byte [esp + 0x3c], 0
imul eax, eax, 0x2e
mov ecx, dword [eax*8 + 0x94ad30]
cmp dword [ecx + 0x244], 0x3e
jne 0x47272b
mov byte [0x7038a9], 1
jmp 0x472740
cmp byte [0x7038a9], 0
je 0x472740
xor al, al
mov byte [esp + 0x3c], 1
mov byte [0x7038a9], al
cmp dword [0x703890], 0x3e
je 0x47277b
cmp dword [ecx + 0x244], 0x3e
jne 0x47277b
fld dword [0x68add8]
fcomp dword [ebp + 0xdc]
fnstsw ax
and ah, 0x44
cmp ah, 0x40
jne 0x472777
mov edi, dword [ebp + 0x80c]
mov al, byte [edi + 0x50]
and al, 7
cmp al, 2
je 0x47277d
mov dl, 1
jmp 0x47277d
xor dl, dl
cmp dl, 1
mov eax, dword [ecx + 0x244]
mov dword [0x703890], eax
jne 0x4727b1
mov dword [0x703894], 0x20
mov word [0x70388a], 0x20
movzx eax, byte [ebp + 0x76]
imul eax, eax, 0x73
mov byte [ebp + eax*4 + 0x192], 1
jmp 0x4727c6
cmp dword [ecx + 0x244], 0x3e
jne 0x4727c6
mov ax, word [0x703894]
mov word [0x70388a], ax
movzx ebx, byte [0xa10b03]
imul ebx, ebx, 0x2e
mov eax, dword [ebx*8 + 0x94ad30]
cmp dword [eax + 0x244], 0x37
jne 0x47290e
movzx eax, byte [ebp + 0x76]
imul eax, eax, 0x73
cmp word [ebp + eax*4 + 0x194], 0x1d
jne 0x472804
mov word [0x70388a], 0x1d
jmp 0x47290e
mov byte [esp + 0x24], 0
mov esi, dword [ebp + 0x80c]
mov al, byte [esi + 0x50]
and al, 7
cmp al, 3
jne 0x4728ef
xor edi, edi
jmp 0x4728e0
mov eax, dword [esi + edi*4 + 0x56c]
test eax, eax
je 0x4728df
cmp dword [eax + 0x244], 0x31
jne 0x4728df
lea ecx, [esi + 4]
call fcn.00473aa0
mov ecx, dword [esi + edi*4 + 0x56c]
mov ebx, eax
add ecx, 4
call fcn.00473aa0
mov edx, eax
push eax
fld dword [edx + 8]
fsub dword [ebx + 8]
fstp dword [esp]
fld dword [edx + 4]
fsub dword [ebx + 4]
push eax
fstp dword [esp]
fld dword [edx]
fsub dword [ebx]
push eax
fstp dword [esp]
lea ecx, [esp + 0x3ec]
call fcn.00473a6e
lea ecx, [esp + 0x3e0]
call fcn.00473a4f
fstp dword [esp + 0x98]
push dword [esp + 0x98]
call fcn.00422fc0
fstp dword [esp + 0xa0]
fld dword [esp + 0xa0]
fcomp dword [0x68ade8]
fnstsw ax
pop ecx
and ah, 5
cmp ah, 1
jne 0x4728df
mov word [0x70388a], 0x20
mov byte [esp + 0x24], 1
movzx eax, byte [ebp + 0x76]
imul eax, eax, 0x73
mov byte [ebp + eax*4 + 0x192], 1
jmp 0x4728ef
inc edi
movzx eax, word [esi + 0x594]
cmp edi, eax
jl 0x472823
cmp byte [esp + 0x24], 0
jne 0x47290e
mov word [0x70388a], 0x1d
movzx eax, byte [ebp + 0x76]
imul eax, eax, 0x73
mov byte [ebp + eax*4 + 0x192], 1
cmp byte [ebp + 0x60], 1
jne 0x472acc
mov ax, word [0x70388a]
add eax, 0xfffffff9
cmp ax, 1
jbe 0x472980
cmp word [0x70388a], 0x2e
je 0x472980
cmp word [0x70388a], 0xb
je 0x472980
cmp word [0x70388a], 0x1c
je 0x472980
mov ax, word [0x70388a]
add eax, 0xffffffde
cmp ax, 1
jbe 0x472980
cmp word [0x70388a], 0x12
je 0x472980
mov ax, word [0x70388a]
add eax, 0xfffffffd
cmp ax, 1
jbe 0x472980
cmp byte [0xa10b54], 0
jne 0x472980
mov ecx, 0x7e4690
call fcn.0046bade
mov ax, word [ebp + 0x948]
mov word [0x70388a], ax
mov ax, word [0x70388a]
movzx ecx, byte [ebp + 0x76]
push 0x7e4dc0
imul ecx, ecx, 0x73
mov word [ebp + ecx*4 + 0x194], ax
mov byte [0x7e46ea], 1
movzx eax, byte [ebp + 0x76]
imul eax, eax, 0x73
mov byte [ebp + eax*4 + 0x192], 1
movzx ecx, byte [ebp + 0x76]
imul ecx, ecx, 0x1cc
add ecx, ebp
add ecx, 0x2b4
call fcn.00473a87
movzx edx, byte [ebp + 0x76]
mov eax, dword [0x7e4e9c]
push 0x7e4dcc
imul edx, edx, 0x73
mov dword [ebp + edx*4 + 0x338], eax
movzx ecx, byte [ebp + 0x76]
imul ecx, ecx, 0x1cc
add ecx, ebp
add ecx, 0x2c0
call fcn.00473a87
movzx ecx, byte [ebp + 0x76]
push 0x7e4dd8
imul ecx, ecx, 0x1cc
add ecx, ebp
add ecx, 0x2cc
call fcn.00473a87
movzx ebx, byte [ebp + 0x76]
xor al, al
imul ebx, ebx, 0x73
mov byte [ebp + ebx*4 + 0x18a], al
mov al, byte [ebp + 0x76]
movzx ecx, al
movzx eax, al
imul ecx, ecx, 0x1cc
inc eax
cdq
and eax, 1
xor eax, edx
sub eax, edx
imul eax, eax, 0x1cc
add ecx, ebp
add ecx, 0x2d8
add eax, ebp
add eax, 0x2d8
push eax
call fcn.00473a87
xor al, al
mov byte [ebp + 0x60], al
movzx eax, byte [ebp + 0x76]
push 0x7e4e9c
imul eax, eax, 0x73
mov byte [ebp + eax*4 + 0x192], 1
mov ecx, dword [0x7e4e9c]
call fcn.004c6ae0
movzx ecx, byte [ebp + 0x76]
imul ecx, ecx, 0x1cc
lea eax, [ecx + ebp + 0x338]
mov ecx, dword [ebp + ecx + 0x338]
push eax
call fcn.004c6ae0
fld dword [ebp + 0xe0]
xor al, al
fstp dword [ebp + 0xe4]
fld dword [ebp + 0x144]
fstp dword [ebp + 0x14c]
mov byte [ebp + 0x89], al
xor al, al
mov byte [ebp + 0x869], al
cmp byte [0xa10b58], 0
je 0x472ade
mov word [0x70388a], 9
mov byte [esp + 0x40], 1
mov esi, dword [ebp + 0x80c]
test esi, esi
je 0x472b2c
mov al, byte [esi + 0x50]
and al, 7
cmp al, 2
je 0x472b12
fld dword [0x68adcc]
fcomp dword [ebp + 0x164]
fnstsw ax
and ah, 0x44
cmp ah, 0x40
jne 0x472b2c
mov byte [ebp + 0x5e], 1
jmp 0x472b2c
fld dword [0x68adcc]
fcomp dword [ebp + 0xdc]
fnstsw ax
and ah, 0x44
cmp ah, 0x40
jne 0x472b2c
mov byte [ebp + 0x5f], 1
cmp byte [ebp + 0x64], 1
je 0x472ba6
mov ax, word [0x70388a]
add eax, 0xffffffe4
cmp ax, 1
jbe 0x472ba6
cmp word [0x70388a], 0xb
je 0x472ba6
mov ax, word [0x70388a]
add eax, 0xfffffff9
cmp ax, 1
jbe 0x472ba6
cmp word [0x70388a], 0x17
je 0x472ba6
mov ax, word [0x70388a]
add eax, 0xffffffe0
cmp ax, 4
jbe 0x472ba6
mov ax, word [0x70388a]
add eax, 0xffffffd9
cmp ax, 4
jbe 0x472ba6
mov ax, word [0x70388a]
add eax, 0xffffffd3
cmp ax, 1
jbe 0x472ba6
cmp dword [ebp + 0xd0], 1
je 0x472ba6
cmp byte [ebp + 0x58], 0
jne 0x472ba6
cmp byte [ebp + 0x56], 0
je 0x472bab
mov byte [esp + 0x40], 0
cmp byte [ebp + 0x5e], 0
je 0x472bc1
cmp byte [esp + 0x40], 1
jne 0x472bc1
mov ecx, ebp
call fcn.0046be18
jmp 0x472c26
mov al, byte [ebp + 0x5f]
test al, al
je 0x472c0b
cmp byte [esp + 0x40], 1
jne 0x472c0b
mov ecx, dword [ebp + 0x80c]
mov al, byte [ecx + 0x50]
and al, 7
cmp al, 2
jne 0x472c02
call fcn.005baaa0
cmp eax, 3
je 0x472bf9
mov eax, dword [ebp + 0x80c]
mov edi, dword [eax + 0x29c]
cmp edi, 1
jne 0x472c02
mov ecx, ebp
call fcn.0046bee6
jmp 0x472c26
mov ecx, ebp
call fcn.0046bfee
jmp 0x472c26
cmp byte [ebp + 0x56], 0
je 0x472c1a
test al, al
je 0x472c1a
mov byte [esp + 0x28], 1
mov ecx, ebp
mov byte [esp + 0x40], 0
call fcn.0046fe13
cmp byte [ebp + 0x5b], 1
jne 0x473528
cmp word [0x70388a], 1
je 0x472ca2
cmp word [0x70388a], 0x10
je 0x472ca2
cmp word [0x70388a], 0x25
jne 0x472c50
jmp 0x472ca2
cmp word [0x70388a], 0x12
je 0x472c64
cmp word [0x70388a], 0x16
jne 0x472c86
movzx ecx, byte [ebp + 0x76]
imul ecx, ecx, 0x73
movsx eax, word [ebp + ecx*4 + 0x194]
sub eax, 1
je 0x472ca2
sub eax, 0xf
je 0x472ca2
sub eax, 0x15
je 0x472ca2
jmp 0x472ca7
cmp word [0x70388a], 0xf
jne 0x472ca7
movzx eax, byte [ebp + 0x76]
imul eax, eax, 0x73
cmp word [ebp + eax*4 + 0x194], 1
jne 0x472ca7
mov byte [esp + 0x28], 1
cmp word [0x70388a], 0xb
je 0x472cbb
cmp word [0x70388a], 0x1c
jne 0x472cc0
mov byte [esp + 0x28], 1
cmp word [0x70388a], 1
jne 0x472ce7
movzx eax, byte [ebp + 0x76]
imul eax, eax, 0x73
mov si, word [ebp + eax*4 + 0x194]
cmp si, 0x25
je 0x472d0c
cmp si, 0x1d
jne 0x472d11
jmp 0x472d0c
cmp word [0x70388a], 0x25
jne 0x472d11
movzx eax, byte [ebp + 0x76]
imul eax, eax, 0x73
mov di, word [ebp + eax*4 + 0x194]
cmp di, 1
je 0x472d0c
cmp di, 0x1d
jne 0x472d11
mov byte [esp + 0x28], 0
cmp word [0x70388a], 0x10
je 0x472d5c
mov ax, word [0x70388a]
add eax, 0xfffffff9
cmp ax, 1
jbe 0x472d5c
mov ax, word [0x70388a]
add eax, 0xffffffd9
cmp ax, 4
jbe 0x472d5c
cmp word [0x70388a], 0x2d
je 0x472d5c
mov ax, word [0x70388a]
add eax, 0xffffffe0
cmp ax, 2
jbe 0x472d5c
cmp word [0x70388a], 0x2e
jne 0x472d6f
mov ebx, dword [ebp + 0x80c]
mov al, byte [ebx + 0x50]
and al, 7
cmp al, 3
je 0x473081
cmp word [0x70388a], 0xf
jne 0x472de6
cmp byte [ebp + 0x56], 1
jne 0x472de6
movzx eax, byte [ebp + 0x76]
imul eax, eax, 0x73
mov cx, word [ebp + eax*4 + 0x194]
cmp cx, 7
je 0x472dcc
cmp cx, 0x2d
je 0x472dcc
cmp cx, 8
je 0x472dcc
cmp cx, 0x22
je 0x472dcc
cmp cx, 0x25
je 0x472dcc
cmp byte [esp + 0x30], 0
jne 0x472dcc
cmp cx, 0x10
je 0x472dcc
lea eax, [ecx - 0x27]
cmp ax, 4
jbe 0x472dcc
cmp cx, 0x2e
jne 0x473086
mov edi, dword [ebp + 0x80c]
test edi, edi
je 0x473086
mov al, byte [edi + 0x50]
and al, 7
cmp al, 2
jmp 0x47303c
cmp word [0x70388a], 4
jne 0x473022
mov byte [esp + 8], 0
movzx eax, byte [ebp + 0x76]
imul eax, eax, 0x73
mov bx, word [ebp + eax*4 + 0x194]
cmp bx, 0xb
je 0x472e14
cmp bx, 0x1c
jne 0x472e28
mov ecx, dword [ebp + 0x80c]
call fcn.0050b240
test al, al
jne 0x472e28
mov byte [esp + 8], 1
movzx edx, byte [ebp + 0x76]
imul edx, edx, 0x1cc
mov ax, word [ebp + edx + 0x194]
cmp ax, 0x10
je 0x472e8b
lea esi, [eax - 7]
cmp si, 1
jbe 0x472e8b
lea ecx, [eax - 0x20]
cmp cx, 2
jbe 0x472e8b
lea edi, [eax - 0x1d]
cmp di, 1
jbe 0x472e8b
lea ebx, [eax - 0x27]
cmp bx, 4
jbe 0x472e8b
cmp ax, 1
je 0x472e8b
cmp ax, 0x25
je 0x472e8b
lea esi, [eax - 0x2d]
cmp si, 1
jbe 0x472e8b
cmp byte [esp + 8], 0
jne 0x472e8b
cmp byte [esp + 0x3c], 0
je 0x473086
cmp byte [ebp + 0x58], 0
jne 0x473086
lea ecx, [eax - 7]
cmp cx, 1
jbe 0x472ebf
cmp ax, 0x22
je 0x472ebf
cmp ax, 0x10
je 0x472ebf
lea edi, [eax - 0x27]
cmp di, 4
jbe 0x472ebf
cmp ax, 0x2d
je 0x472ebf
cmp ax, 0x2e
jne 0x472efc
push dword [ebp + edx + 0x2f4]
push dword [ebp + edx + 0x2f0]
call fcn.004a5600
fsub dword [0x68ae68]
mov eax, dword [0x7e4e9c]
pop ecx
pop ecx
fstp dword [esp + 0x68]
fld dword [esp + 0x68]
fstp dword [eax + 0x374]
fld dword [esp + 0x68]
mov eax, dword [0x7e4e9c]
fstp dword [eax + 0x378]
mov byte [0x7e46f7], 1
mov byte [esp + 0x28], 1
movzx eax, byte [ebp + 0x76]
imul eax, eax, 0x1cc
cmp word [ebp + eax + 0x194], 0x25
jne 0x472ff7
call fcn.004bc140
add eax, 4
mov ecx, eax
call fcn.00423020
movzx ebx, byte [ebp + 0x76]
push eax
lea eax, [esp + 0x3f0]
imul ebx, ebx, 0x1cc
add ebx, 0x7e4690
add ebx, 0x2fc
push ebx
push eax
call fcn.00473a1c
lea esi, [esp + 0x3f8]
lea edi, [esp + 0x1ac]
movsd dword es:[edi], dword [esi]
add esp, 0xc
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0x1a0]
mov dword [esp + 0x1a8], 0
call fcn.004dfec0
mov dword [esp + 0x1a0], 0x3a83126f
fld dword [esp + 0x1a0]
fcomp dword [0x68add8]
fnstsw ax
and ah, 0x44
cmp ah, 0x40
je 0x472fcf
mov dword [esp + 0x1a4], 0x3a83126f
fld dword [esp + 0x1a4]
fcomp dword [0x68add8]
fnstsw ax
and ah, 0x44
cmp ah, 0x40
je 0x472fcf
mov dword [esp + 0x1a4], 0x3f800000
push dword [esp + 0x1a4]
push dword [esp + 0x1a4]
call fcn.004a5600
movzx eax, byte [ebp + 0x76]
pop ecx
pop ecx
imul eax, eax, 0x73
fstp dword [eax*4 + 0x7e48b4]
jmp 0x473086
push dword [ebp + eax + 0x2f4]
push dword [ebp + eax + 0x2f0]
call fcn.004a5600
movzx eax, byte [ebp + 0x76]
fadd dword [0x68ae70]
pop ecx
pop ecx
imul eax, eax, 0x73
fstp dword [eax*4 + 0x7e48b4]
jmp 0x473086
cmp word [0x70388a], 0x24
jne 0x473040
movzx eax, byte [ebp + 0x76]
imul eax, eax, 0x73
cmp word [ebp + eax*4 + 0x194], 0x10
jne 0x473086
jmp 0x473081
cmp word [0x70388a], 0x26
je 0x473081
mov ax, word [0x70388a]
add eax, 0xffffffe0
cmp ax, 1
jbe 0x473081
cmp word [0x70388a], 0x1d
jne 0x473065
jmp 0x473081
movzx eax, byte [ebp + 0x76]
imul eax, eax, 0x73
cmp word [eax*4 + 0x7e4824], 0x1d
jne 0x473086
cmp word [0x70388a], 0x1d
je 0x473086
mov byte [esp + 0x28], 1
movzx eax, byte [ebp + 0x76]
mov si, word [0x70388a]
imul eax, eax, 0x1cc
cmp si, word [eax + 0x7e4824]
je 0x4730ae
cmp dword [eax + 0x7e49c8], 0
jne 0x4730ae
mov byte [esp + 0x28], 1
cmp byte [ebp + 0x56], 0
je 0x473102
mov edx, dword [0x7e4d7c]
test edx, edx
je 0x473102
mov bl, byte [edx]
cmp bl, 2
je 0x4730cf
cmp bl, 3
je 0x4730cf
cmp bl, 4
jne 0x473102
mov esi, dword [ebp + 0x80c]
mov cl, byte [esi + 0x50]
and cl, 7
cmp cl, 2
jne 0x473102
movsx ebx, word [esi + 0x5c]
cmp ebx, 0x99
jne 0x473102
mov di, word [0x70388a]
cmp di, word [ebp + eax + 0x194]
je 0x473102
mov byte [esp + 0x28], 1
cmp byte [0xa10b35], 0
je 0x473114
mov word [0x70388a], 0x2c
mov al, byte [ebp + 0x89]
test al, al
je 0x473129
cmp byte [esp + 0x28], 1
jne 0x473338
movzx edx, byte [ebp + 0x76]
mov si, word [0x70388a]
imul edx, edx, 0x73
cmp si, word [ebp + edx*4 + 0x194]
je 0x473338
cmp byte [esp + 0x28], 1
jne 0x4732f2
cmp byte [ebp + 0x56], 0
je 0x47315c
cmp byte [ebp + 0x58], 0
je 0x4731bf
cmp word [0x70388a], 4
je 0x4731bf
mov ax, word [0x70388a]
add eax, 0xfffffff9
cmp ax, 1
jbe 0x4731bf
cmp word [0x70388a], 0x2e
je 0x4731bf
cmp word [0x70388a], 0xb
je 0x4731bf
cmp word [0x70388a], 0x10
je 0x4731bf
cmp word [0x70388a], 0x1c
je 0x4731bf
mov ax, word [0x70388a]
add eax, 0xffffffde
cmp ax, 1
jbe 0x4731bf
cmp byte [0xa10b54], 0
jne 0x4731bf
mov ecx, 0x7e4690
call fcn.0046bade
movzx ecx, byte [ebp + 0x76]
mov ax, word [0x70388a]
push 0x7e4dc0
imul ecx, ecx, 0x73
mov word [ebp + ecx*4 + 0x194], ax
mov byte [0x7e46ea], 1
movzx ecx, byte [ebp + 0x76]
imul ecx, ecx, 0x1cc
add ecx, ebp
add ecx, 0x2b4
call fcn.00473a87
movzx ebx, byte [ebp + 0x76]
mov eax, dword [0x7e4e9c]
push 0x7e4dcc
imul ebx, ebx, 0x73
mov dword [ebp + ebx*4 + 0x338], eax
movzx ecx, byte [ebp + 0x76]
imul ecx, ecx, 0x1cc
add ecx, ebp
add ecx, 0x2c0
call fcn.00473a87
movzx ecx, byte [ebp + 0x76]
push 0x7e4dd8
imul ecx, ecx, 0x1cc
add ecx, ebp
add ecx, 0x2cc
call fcn.00473a87
movzx edx, byte [ebp + 0x76]
mov al, byte [0x7e46ec]
imul edx, edx, 0x73
mov byte [ebp + edx*4 + 0x18a], al
mov al, byte [ebp + 0x76]
movzx ecx, al
movzx eax, al
imul ecx, ecx, 0x1cc
inc eax
cdq
and eax, 1
xor eax, edx
sub eax, edx
imul eax, eax, 0x1cc
add ecx, ebp
add ecx, 0x2d8
add eax, ebp
add eax, 0x2d8
push eax
call fcn.00473a87
fld dword [ebp + 0xe0]
xor al, al
fstp dword [ebp + 0xe4]
fld dword [ebp + 0x144]
fstp dword [ebp + 0x14c]
mov byte [ebp + 0x89], al
xor al, al
mov byte [ebp + 0x869], al
xor al, al
mov byte [ebp + 0x62], al
movzx eax, byte [ebp + 0x76]
push 0x7e4e9c
imul eax, eax, 0x73
mov byte [ebp + eax*4 + 0x192], 1
mov ecx, dword [0x7e4e9c]
call fcn.004c6ae0
movzx edx, byte [ebp + 0x76]
imul edx, edx, 0x1cc
lea eax, [edx + ebp + 0x338]
mov ecx, dword [ebp + edx + 0x338]
push eax
jmp 0x473693
cmp byte [ebp + 0x6a], 0
jne 0x473833
mov ax, word [0x70388a]
mov ecx, ebp
push eax
call fcn.0046ab08
mov ecx, dword [0x7e4e9c]
push 0x7e4e9c
call fcn.004c6ae0
movzx edx, byte [ebp + 0x76]
imul edx, edx, 0x1cc
lea eax, [edx + ebp + 0x338]
mov ecx, dword [ebp + edx + 0x338]
push eax
jmp 0x473693
test al, al
je 0x4734a3
movzx ecx, byte [ebp + 0x76]
imul ecx, ecx, 0x73
mov si, word [ebp + ecx*4 + 0x194]
cmp word [0x70388a], si
je 0x4734a3
cmp word [0x70388a], 0x24
mov bl, 1
je 0x47336e
cmp si, 0x24
jne 0x473370
xor bl, bl
cmp word [0x70388a], 4
jne 0x473382
cmp si, 0x24
jne 0x473382
xor bl, bl
cmp byte [ebp + 0x6a], 0
jne 0x473457
cmp byte [ebp + 0x5b], 0
je 0x473457
test al, al
je 0x473457
call fcn.004bc140
add eax, 4
mov ecx, eax
call fcn.00473aa0
fld dword [eax]
fsub dword [ebp + 0x30]
fstp dword [esp + 0x1ac]
call fcn.004bc140
add eax, 4
mov ecx, eax
call fcn.00473aa0
fld dword [eax + 4]
fsub dword [ebp + 0x34]
fstp dword [esp + 0x1b0]
call fcn.004bc140
add eax, 4
mov ecx, eax
call fcn.00473aa0
fld dword [eax + 8]
fsub dword [ebp + 0x38]
fstp dword [esp + 0x1b4]
mov ecx, dword [ebp + 0x80c]
test ecx, ecx
je 0x473457
mov al, byte [ecx + 0x50]
and al, 7
cmp al, 3
jne 0x473457
lea ecx, [esp + 0x1ac]
call fcn.00473a4f
fstp dword [esp + 0xa0]
push dword [esp + 0xa0]
call fcn.00422fc0
fstp dword [esp + 0xa8]
fld dword [esp + 0xa8]
fcomp dword [0x68af70]
fnstsw ax
pop ecx
test ah, 0x45
jne 0x473457
cmp word [0x70388a], 0xb
je 0x473453
cmp word [0x70388a], 0x1c
jne 0x473457
mov byte [ebp + 0x6a], 1
cmp byte [ebp + 0x6a], 1
jne 0x47345f
xor bl, bl
test bl, bl
je 0x473833
mov ax, word [0x70388a]
mov ecx, ebp
push eax
call fcn.0046aaf5
mov ecx, dword [0x7e4e9c]
push 0x7e4e9c
call fcn.004c6ae0
movzx ecx, byte [ebp + 0x76]
imul ecx, ecx, 0x1cc
lea eax, [ecx + ebp + 0x338]
mov ecx, dword [ebp + ecx + 0x338]
push eax
jmp 0x473693
cmp word [0x70388a], 0xf
jne 0x473833
movzx edx, byte [0x7e4706]
mov edi, dword [0x7e4e9c]
imul edx, edx, 0x73
cmp edi, dword [edx*4 + 0x7e49c8]
je 0x473833
cmp byte [ebp + 0x56], 0
je 0x473833
test al, al
jne 0x4734ec
mov ax, word [0x70388a]
mov ecx, ebp
push eax
call fcn.0046ab08
jmp 0x4734fa
mov ax, word [0x70388a]
mov ecx, ebp
push eax
call fcn.0046aaf5
mov ecx, dword [0x7e4e9c]
push 0x7e4e9c
call fcn.004c6ae0
movzx ebx, byte [ebp + 0x76]
imul ebx, ebx, 0x1cc
lea eax, [ebx + ebp + 0x338]
mov ecx, dword [ebp + ebx + 0x338]
push eax
jmp 0x473693
mov byte [esp + 0x18], 0
mov byte [esp], 0
cmp byte [ebp + 0x71], 1
je 0x473541
cmp byte [ebp + 0x72], 1
jne 0x4735db
cmp word [0x70388a], 0x10
jne 0x473569
movzx ecx, byte [ebp + 0x76]
imul ecx, ecx, 0x73
mov ax, word [ebp + ecx*4 + 0x194]
cmp ax, word [0x70388a]
je 0x4735db
mov byte [esp], 1
jmp 0x4735db
mov ax, word [ebp + 0x700]
cmp ax, 7
je 0x473582
cmp ax, 0x10
je 0x473582
cmp ax, 8
jne 0x4735a6
push 0
call fcn.004ab080
pop ecx
mov ecx, eax
call fcn.004aa4f0
test al, al
je 0x4735a6
cmp byte [ebp + 0x72], 0
je 0x4735a6
mov byte [esp + 0x18], 1
mov byte [esp], 1
jmp 0x4735db
movzx ebx, byte [ebp + 0x76]
imul ebx, ebx, 0x73
mov ax, word [ebp + ebx*4 + 0x194]
cmp ax, word [ebp + 0x948]
je 0x4735db
push 0
mov byte [ebp + 0x62], 1
mov word [ebp + 0x94c], 2
call fcn.004ab080
and word [eax + 0xf0], 0xfffe
pop ecx
mov al, byte [ebp + 0x89]
test al, al
jne 0x47363b
cmp byte [ebp + 0x62], 1
jne 0x47363b
cmp word [ebp + 0x94c], 1
jne 0x47363b
mov ax, word [ebp + 0x948]
mov ecx, ebp
mov word [0x70388a], ax
mov ax, word [0x70388a]
push eax
call fcn.0046ab08
mov ecx, dword [0x7e4e9c]
push 0x7e4e9c
call fcn.004c6ae0
movzx ecx, byte [ebp + 0x76]
imul ecx, ecx, 0x1cc
lea eax, [ecx + ebp + 0x338]
mov ecx, dword [ebp + ecx + 0x338]
push eax
jmp 0x473693
test al, al
je 0x47369d
cmp byte [ebp + 0x62], 1
jne 0x47369d
cmp word [ebp + 0x94c], 1
jne 0x47369d
mov ax, word [ebp + 0x948]
mov ecx, ebp
mov word [0x70388a], ax
mov ax, word [0x70388a]
push eax
call fcn.0046aaf5
mov ecx, dword [0x7e4e9c]
push 0x7e4e9c
call fcn.004c6ae0
movzx ebx, byte [ebp + 0x76]
imul ebx, ebx, 0x1cc
lea eax, [ebx + ebp + 0x338]
mov ecx, dword [ebp + ebx + 0x338]
push eax
call fcn.004c6ae0
jmp 0x473833
cmp byte [ebp + 0x62], 1
jne 0x4736ad
cmp word [ebp + 0x94c], 2
je 0x4736b7
cmp byte [esp], 0
je 0x473833
xor al, al
mov byte [ebp + 0x89], al
xor al, al
mov byte [ebp + 0x869], al
cmp byte [ebp + 0x71], 1
jne 0x4736ee
cmp word [0x70388a], 0x10
jne 0x4736ee
movzx edx, byte [ebp + 0x76]
mov ax, word [0x70388a]
imul edx, edx, 0x73
mov word [ebp + edx*4 + 0x194], ax
jmp 0x473723
cmp byte [esp + 0x18], 0
je 0x47370d
movzx ecx, byte [ebp + 0x76]
mov ax, word [ebp + 0x700]
imul ecx, ecx, 0x73
mov word [ebp + ecx*4 + 0x194], ax
jmp 0x473723
movzx ebx, byte [ebp + 0x76]
mov ax, word [ebp + 0x948]
imul ebx, ebx, 0x73
mov word [ebp + ebx*4 + 0x194], ax
mov byte [0x7e46ea], 1
movzx eax, byte [ebp + 0x76]
push 0x7e4dc0
imul eax, eax, 0x73
mov byte [ebp + eax*4 + 0x192], 1
movzx ecx, byte [ebp + 0x76]
imul ecx, ecx, 0x1cc
add ecx, ebp
add ecx, 0x2b4
call fcn.00473a87
movzx edx, byte [ebp + 0x76]
mov eax, dword [0x7e4e9c]
push 0x7e4dcc
imul edx, edx, 0x73
mov dword [ebp + edx*4 + 0x338], eax
movzx ecx, byte [ebp + 0x76]
imul ecx, ecx, 0x1cc
add ecx, ebp
add ecx, 0x2c0
call fcn.00473a87
movzx ecx, byte [ebp + 0x76]
push 0x7e4dd8
imul ecx, ecx, 0x1cc
add ecx, ebp
add ecx, 0x2cc
call fcn.00473a87
movzx ecx, byte [ebp + 0x76]
mov al, byte [0x7e46ec]
imul ecx, ecx, 0x73
mov byte [ebp + ecx*4 + 0x18a], al
mov al, byte [ebp + 0x76]
movzx ecx, al
movzx eax, al
imul ecx, ecx, 0x1cc
inc eax
cdq
and eax, 1
xor eax, edx
sub eax, edx
imul eax, eax, 0x1cc
add ecx, ebp
add ecx, 0x2d8
add eax, ebp
add eax, 0x2d8
push eax
call fcn.00473a87
mov byte [0x7e46ea], 1
mov ecx, dword [0x7e4e9c]
push 0x7e4e9c
call fcn.004c6ae0
movzx edx, byte [ebp + 0x76]
imul edx, edx, 0x1cc
lea eax, [edx + ebp + 0x338]
mov ecx, dword [ebp + edx + 0x338]
push eax
call fcn.004c6ae0
fld dword [ebp + 0xe0]
fstp dword [ebp + 0xe4]
fld dword [ebp + 0x144]
fstp dword [ebp + 0x14c]
xor al, al
mov byte [ebp + 0x62], al
movzx ecx, byte [ebp + 0x76]
imul ecx, ecx, 0x1cc
cmp dword [ebp + ecx + 0x338], 0
jne 0x473858
mov eax, dword [0x7e4e9c]
mov dword [ebp + ecx + 0x338], eax
movzx eax, byte [ebp + 0x76]
imul eax, eax, 0x73
mov di, word [ebp + eax*4 + 0x194]
cmp di, 0x11
je 0x47389d
mov esi, dword [ebp + 0x80c]
mov al, byte [esi + 0x50]
and al, 7
cmp al, 3
jne 0x4738ad
cmp di, 0x10
je 0x47389d
cmp di, 7
je 0x47389d
cmp di, 0x22
je 0x47389d
lea eax, [edi - 0x2d]
cmp ax, 1
jbe 0x47389d
cmp di, 8
jne 0x4738ad
call fcn.004bc140
mov bl, byte [eax + 0x52]
and bl, 0xfb
mov byte [eax + 0x52], bl
jmp 0x4738be
call fcn.004bc140
mov dl, byte [eax + 0x52]
and dl, 0xfb
or dl, 4
mov byte [eax + 0x52], dl
xor bl, bl
cmp byte [esp + 0x40], 0
jne 0x4738e0
cmp dword [ebp + 0xd0], 2
jne 0x4738e0
mov ecx, ebp
call fcn.0046bb24
mov ecx, ebp
mov bl, 1
call fcn.0046bade
movzx ecx, byte [ebp + 0x76]
imul ecx, ecx, 0x73
mov si, word [ebp + ecx*4 + 0x194]
movsx eax, si
cmp dword [esp + 0x34], eax
jne 0x473908
test bl, bl
jne 0x473908
cmp si, 4
je 0x473908
cmp si, 0x12
jne 0x473981
push 0
call fcn.004ab080
pop ecx
mov ecx, eax
call fcn.004aa650
test al, al
je 0x473981
cmp byte [0xa10afe], 1
je 0x473981
cmp byte [ebp + 0x5b], 1
je 0x473933
cmp dword [ebp + 0xd0], 2
jne 0x473981
cmp byte [ebp + 0x6d], 0
jne 0x473981
cmp dword [ebp + 0xd0], 2
jne 0x47394b
cmp byte [0x703684], 1
jne 0x473981
mov ecx, 0xa10b93
push 0
push 0xb3
call fcn.005f9980
jmp 0x473981
fstp st(0)
jmp 0x470464
fstp st(0)
jmp 0x470c39
fstp st(0)
jmp 0x470db1
fstp st(0)
jmp 0x471306
fstp st(0)
jmp 0x471ec1
add esp, 0x3f8
pop ebp
pop edi
pop esi
pop ebx
ret