Function at 0x7149bb95
Capabilities:
Inspect section memory permissions

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x288
push ebx
mov ebx, dword [ebp + 8]
test dword [ebx + 0x1a60], 0x80000
je 0x7149bbd2
mov eax, dword [ecx]
push ebx
call dword [eax + 4]
cmp dword [ebx + 0x684], 0
je 0x7149bbc6
xor eax, eax
jmp 0x7149da6a
push ebx
call fcn.7142b0a9
pop ecx
jmp 0x7149da6a
or dword [ebx + 0x225c], 0xffffffff
or dword [ebx + 0x1a44], 0x200000
mov eax, dword [ecx]
push esi
push ebx
call dword [eax + 4]
mov eax, dword [ebx + 0x1a70]
mov dword [ebp - 0x90], eax
mov eax, dword [ebx + 0x225c]
xor esi, esi
mov dword [ebp - 0x54], esi
cmp eax, 0xffffffff
je 0x7149da4c
mov ecx, dword [ebx + 0x1a48]
mov dword [ebp - 0xa4], ecx
cmp eax, 2
jbe 0x7149bc31
shr eax, 1
sub dword [ebx + 0x1a54], eax
mov dword [ebp - 0x54], eax
add eax, eax
push eax
push ebx
call fcn.71498f43
pop ecx
pop ecx
mov eax, dword [ebx + 0x1a70]
mov edx, dword [ebx + 0x1a60]
mov ecx, dword [ebx + 0x1a78]
mov dword [ebp - 0x58], eax
mov eax, dword [ebx + 0x1cd8]
mov dword [ebp - 0x68], eax
mov eax, dword [ebx + 0x1a64]
push edi
mov dword [ebp - 0xa8], eax
mov eax, dword [ebx + 0x1a7c]
mov edi, 0x8000000
mov dword [ebp - 0x44], esi
mov dword [ebp - 0x5c], edx
mov dword [ebp - 0x6c], esi
mov dword [ebp - 0x60], esi
mov dword [ebp - 0x48], esi
mov dword [ebp - 0x4c], esi
mov dword [ebp + 8], ecx
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x8c], ecx
test edi, edx
jne 0x7149bcbc
mov eax, dword [ebx + 0x1cc0]
add eax, ecx
mov dword [ebp - 0x40], eax
mov eax, dword [ebx + 0x1cc4]
add eax, ecx
mov dword [ebp - 0x24], eax
mov eax, dword [ebx + 0x1cc8]
add eax, ecx
mov dword [ebp - 0x20], eax
cmp dword [ebx + 0x1a84], esi
je 0x7149bd27
mov eax, dword [ebx + 0x1cbc]
add eax, ecx
jmp 0x7149bcfa
test byte [ebp - 0x5c], 0x10
mov eax, dword [ebx + 0x1a2c]
mov dword [ebp - 0x40], eax
mov eax, dword [ebx + 0x1a34]
mov dword [ebp - 0x24], eax
mov eax, dword [ebx + 0x1a90]
mov dword [ebp - 0x20], eax
jne 0x7149bd02
test dword [ebx + 0x1a44], edi
jne 0x7149bd02
cmp dword [ebx + 0x1a84], esi
je 0x7149bd27
mov eax, dword [ebx + 0x688]
mov eax, dword [ebx + eax*8 + 0x1a98]
mov dword [ebp - 0x8c], eax
jmp 0x7149bd27
xor ecx, ecx
cmp dword [ebx + 0x1a84], esi
jbe 0x7149bd27
lea eax, [ebx + 0x1a98]
mov edi, dword [eax]
mov dword [ebp + ecx*4 - 0x8c], edi
inc ecx
add eax, 8
cmp ecx, dword [ebx + 0x1a84]
jb 0x7149bd12
mov eax, dword [ebx + 0x1a44]
fldz
or dword [ebx + 0x530], 0xffffffff
mov dword [ebx + 0x560], esi
mov dword [ebx + 0x5b8], esi
test eax, 0x400
je 0x7149be4b
lea esi, [ebx + 0x514]
fst dword [ebx + 0x524]
lea edi, [ebx + 0x504]
fst dword [ebx + 0x528]
movsd dword es:[edi], dword [esi]
fstp dword [ebx + 0x52c]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
test edx, 0x10000000
je 0x7149be4d
mov ecx, dword [ebx + 0x1a5c]
mov edx, 0x2200
mov esi, 0x4200
mov edi, 0x10200
test cl, 0x40
je 0x7149bdee
cmp dword [ebx + 0x5f8], 0
jne 0x7149bdab
or eax, edx
mov dword [ebx + 0x1a44], eax
lea eax, [ebp - 0x24]
mov dword [ebp - 0x6c], eax
cmp dword [ebx + 0x5f0], 0
jne 0x7149bdc0
or dword [ebx + 0x1a44], esi
lea eax, [ebp - 0x24]
mov dword [ebp - 0x48], eax
cmp dword [ebx + 0x5ec], 0
jne 0x7149bdd5
or dword [ebx + 0x1a44], edi
lea eax, [ebp - 0x24]
mov dword [ebp - 0x60], eax
cmp dword [ebx + 0x5f4], 0
jne 0x7149bdee
or dword [ebx + 0x1a44], 0x8200
lea eax, [ebp - 0x24]
mov dword [ebp - 0x4c], eax
test cl, cl
jns 0x7149be4d
xor eax, eax
inc eax
cmp dword [ebx + 0x5f8], eax
jne 0x7149be09
or dword [ebx + 0x1a44], edx
lea ecx, [ebp - 0x20]
mov dword [ebp - 0x6c], ecx
cmp dword [ebx + 0x5f0], eax
jne 0x7149be1d
or dword [ebx + 0x1a44], esi
lea ecx, [ebp - 0x20]
mov dword [ebp - 0x48], ecx
cmp dword [ebx + 0x5ec], eax
jne 0x7149be31
or dword [ebx + 0x1a44], edi
lea ecx, [ebp - 0x20]
mov dword [ebp - 0x60], ecx
cmp dword [ebx + 0x5f4], eax
jne 0x7149be4d
or dword [ebx + 0x1a44], 0x8200
lea eax, [ebp - 0x20]
mov dword [ebp - 0x4c], eax
jmp 0x7149be4d
fstp st(0)
lea eax, [ebp - 0x1d8]
mov dword [ebp - 0x25c], eax
mov eax, dword [ebx + 0x1a54]
mov dword [ebp - 0x64], eax
test eax, eax
je 0x7149d931
mov eax, dword [ebp + 8]
and dword [ebp - 0xc], 0
lea esi, [ebp - 0x288]
mov dword [ebp - 4], eax
or edi, 0xffffffff
mov dword [ebp - 0x18], 2
push esi
push dword [ebp - 4]
push ebx
call fcn.71498af8
or dword [ebp - 0xc], eax
and edi, eax
mov eax, dword [ebp - 0x50]
add dword [ebp - 4], eax
add esp, 0xc
add esi, 0xb0
dec dword [ebp - 0x18]
jne 0x7149be84
mov eax, dword [ebp - 0xc]
or dword [ebx + 0x680], eax
and dword [ebx + 0x684], edi
xor edx, edx
cmp edi, edx
jne 0x7149d842
test dword [ebp - 0x68], eax
jne 0x7149cb69
inc dword [ebp - 0x54]
lea eax, [ebp - 0x288]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], 2
push dword [ebp - 0x58]
mov esi, dword [ebp + 8]
push dword [ebp - 0x18]
mov edi, dword [ebp - 0x40]
push ebx
call fcn.71498e37
and dword [ebx + 0x5b8], 0
add esp, 0xc
test dword [ebx + 0x1a60], 0x20000000
je 0x7149c084
fld dword [ebx + 0x454]
mov eax, dword [ebx + 0x1cb4]
fmul dword [esi + 4]
fld dword [ebx + 0x444]
fmul dword [esi]
faddp st(1)
fld dword [ebx + 0x464]
fmul dword [esi + 8]
faddp st(1)
fadd dword [ebx + 0x474]
fstp dword [ebp - 0x3c]
fld dword [ebx + 0x458]
fmul dword [esi + 4]
fld dword [ebx + 0x448]
fmul dword [esi]
faddp st(1)
fld dword [ebx + 0x468]
fmul dword [esi + 8]
faddp st(1)
fadd dword [ebx + 0x478]
fstp dword [ebp - 0x38]
fld dword [ebx + 0x45c]
fmul dword [esi + 4]
fld dword [ebx + 0x44c]
fmul dword [esi]
faddp st(1)
fld dword [ebx + 0x46c]
fmul dword [esi + 8]
faddp st(1)
fadd dword [ebx + 0x47c]
fstp dword [ebp - 0x34]
fldz
test eax, eax
je 0x7149c078
fst dword [ebp - 0xc]
xor ecx, ecx
fld dword [ebp - 0x3c]
fstp dword [ebp - 4]
fld dword [ebp - 0x38]
fstp dword [ebp - 0x1c]
fld dword [ebp - 0x34]
fstp dword [ebp - 8]
fst dword [ebp - 0x3c]
fst dword [ebp - 0x38]
fst dword [ebp - 0x34]
test eax, eax
jbe 0x7149c04a
mov edx, eax
lea eax, [ebx + 0x2e4]
fld dword [esi + ecx*4 + 0xc]
inc ecx
fstp dword [ebp - 0x10]
fld dword [ebp - 0x10]
fld st(0)
fmul dword [ebp - 4]
fadd dword [ebp - 0x3c]
fstp dword [ebp - 0x3c]
fld st(0)
fmul dword [ebp - 0x1c]
fadd dword [ebp - 0x38]
fstp dword [ebp - 0x38]
fld st(0)
fmul dword [ebp - 8]
fadd dword [ebp - 0x34]
fstp dword [ebp - 0x34]
fadd dword [ebp - 0xc]
fstp dword [ebp - 0xc]
fld dword [eax - 0x10]
fmul dword [esi + 4]
fld dword [eax - 0x20]
fmul dword [esi]
faddp st(1)
fld dword [eax]
add eax, 0x40
fmul dword [esi + 8]
faddp st(1)
fadd dword [eax - 0x30]
fstp dword [ebp - 4]
fld dword [eax - 0x4c]
fmul dword [esi + 4]
fld dword [eax - 0x5c]
fmul dword [esi]
faddp st(1)
fld dword [eax - 0x3c]
fmul dword [esi + 8]
faddp st(1)
fadd dword [eax - 0x2c]
fstp dword [ebp - 0x1c]
fld dword [eax - 0x48]
fmul dword [esi + 4]
fld dword [eax - 0x58]
fmul dword [esi]
faddp st(1)
fld dword [eax - 0x38]
fmul dword [esi + 8]
faddp st(1)
fadd dword [eax - 0x28]
fstp dword [ebp - 8]
cmp ecx, edx
jb 0x7149bfbd
fld dword [ebp - 0xc]
fld1
fsubrp st(1)
fstp dword [ebp - 0xc]
fld dword [ebp - 4]
fmul dword [ebp - 0xc]
fadd dword [ebp - 0x3c]
fstp dword [ebp - 0x3c]
fld dword [ebp - 0x1c]
fmul dword [ebp - 0xc]
fadd dword [ebp - 0x38]
fstp dword [ebp - 0x38]
fld dword [ebp - 8]
fmul dword [ebp - 0xc]
fadd dword [ebp - 0x34]
fstp dword [ebp - 0x34]
mov dword [ebx + 0x5b8], 1
jmp 0x7149c086
fldz
test dword [ebx + 0x1a60], 0x40000000
je 0x7149c206
fld dword [ebx + 0x488]
mov eax, dword [ebx + 0x1cb4]
fmul dword [edi + 4]
fld dword [ebx + 0x484]
fmul dword [edi]
faddp st(1)
fld dword [ebx + 0x48c]
fmul dword [edi + 8]
faddp st(1)
fstp dword [ebp - 0x30]
fld dword [ebx + 0x498]
fmul dword [edi + 4]
fld dword [ebx + 0x494]
fmul dword [edi]
faddp st(1)
fld dword [ebx + 0x49c]
fmul dword [edi + 8]
faddp st(1)
fstp dword [ebp - 0x2c]
fld dword [ebx + 0x4a8]
fmul dword [edi + 4]
fld dword [ebx + 0x4a4]
fmul dword [edi]
faddp st(1)
fld dword [ebx + 0x4ac]
fmul dword [edi + 8]
faddp st(1)
fstp dword [ebp - 0x28]
test eax, eax
je 0x7149c1e5
fst dword [ebp - 0xc]
xor ecx, ecx
fld dword [ebp - 0x30]
fstp dword [ebp - 8]
fld dword [ebp - 0x2c]
fstp dword [ebp - 0x1c]
fld dword [ebp - 0x28]
fstp dword [ebp - 4]
fst dword [ebp - 0x30]
fst dword [ebp - 0x2c]
fst dword [ebp - 0x28]
test eax, eax
jbe 0x7149c1b7
mov edx, eax
lea eax, [ebx + 0x38c]
fld dword [esi + ecx*4 + 0xc]
inc ecx
fstp dword [ebp - 0x10]
fld dword [ebp - 0x10]
fld st(0)
fmul dword [ebp - 8]
fadd dword [ebp - 0x30]
fstp dword [ebp - 0x30]
fld st(0)
fmul dword [ebp - 0x1c]
fadd dword [ebp - 0x2c]
fstp dword [ebp - 0x2c]
fld st(0)
fmul dword [ebp - 4]
fadd dword [ebp - 0x28]
fstp dword [ebp - 0x28]
fadd dword [ebp - 0xc]
fstp dword [ebp - 0xc]
fld dword [eax - 8]
fmul dword [edi]
fld dword [eax - 4]
fmul dword [edi + 4]
faddp st(1)
fld dword [eax]
add eax, 0x40
fmul dword [edi + 8]
faddp st(1)
fstp dword [ebp - 8]
fld dword [eax - 0x34]
fmul dword [edi + 4]
fld dword [eax - 0x38]
fmul dword [edi]
faddp st(1)
fld dword [eax - 0x30]
fmul dword [edi + 8]
faddp st(1)
fstp dword [ebp - 0x1c]
fld dword [eax - 0x24]
fmul dword [edi + 4]
fld dword [eax - 0x28]
fmul dword [edi]
faddp st(1)
fld dword [eax - 0x20]
fmul dword [edi + 8]
faddp st(1)
fstp dword [ebp - 4]
cmp ecx, edx
jb 0x7149c137
fld dword [ebp - 0xc]
fld1
fsubrp st(1)
fstp dword [ebp - 0xc]
fld dword [ebp - 8]
fmul dword [ebp - 0xc]
fadd dword [ebp - 0x30]
fstp dword [ebp - 0x30]
fld dword [ebp - 0x1c]
fmul dword [ebp - 0xc]
fadd dword [ebp - 0x2c]
fstp dword [ebp - 0x2c]
fld dword [ebp - 4]
fmul dword [ebp - 0xc]
fadd dword [ebp - 0x28]
fstp dword [ebp - 0x28]
test dword [ebx + 0x1a60], 0x2000000
je 0x7149c1ff
lea edx, [ebp - 0x30]
fstp st(0)
mov ecx, edx
call fcn.7140c2d7
fldz
or dword [ebx + 0x5b8], 2
mov ecx, dword [ebx + 0x1a44]
test ecx, 0x400
je 0x7149c6d1
fst dword [ebx + 0x504]
fst dword [ebx + 0x508]
fst dword [ebx + 0x50c]
fst dword [ebx + 0x524]
fst dword [ebx + 0x528]
fst dword [ebx + 0x52c]
test ecx, 0x200
je 0x7149c29b
test ecx, 0x10000
je 0x7149c261
mov eax, dword [ebp - 0x60]
test eax, eax
je 0x7149c259
mov eax, dword [eax]
mov eax, dword [eax]
jmp 0x7149c25b
xor eax, eax
mov dword [ebx + 0x540], eax
test ecx, 0x4000
je 0x7149c27e
mov eax, dword [ebp - 0x48]
test eax, eax
je 0x7149c276
mov eax, dword [eax]
mov eax, dword [eax]
jmp 0x7149c278
xor eax, eax
mov dword [ebx + 0x550], eax
test ecx, 0x8000
je 0x7149c29b
mov eax, dword [ebp - 0x4c]
test eax, eax
je 0x7149c293
mov eax, dword [eax]
mov eax, dword [eax]
jmp 0x7149c295
xor eax, eax
mov dword [ebx + 0x570], eax
mov esi, dword [ebx + 0x5c0]
test esi, esi
je 0x7149c2c3
fstp st(0)
lea eax, [ebp - 0x3c]
push eax
push edi
push dword [ebp + 8]
push esi
push ebx
call dword [esi + 0x80]
mov esi, dword [esi + 0x58]
add esp, 0x14
test esi, esi
jne 0x7149c2a7
fldz
mov eax, dword [ebx + 0x1a44]
mov esi, eax
and esi, 0x12000
je 0x7149c452
mov ecx, dword [ebx + 0x5b8]
test cl, 8
jne 0x7149c2f4
fst dword [ebx + 0x504]
fst dword [ebx + 0x508]
fst dword [ebx + 0x50c]
test eax, 0x10000
je 0x7149c35e
mov eax, dword [ebp - 0x60]
test eax, eax
je 0x7149c308
mov eax, dword [eax]
mov eax, dword [eax]
jmp 0x7149c30a
xor eax, eax
mov edi, eax
shr edi, 0x10
mov edx, 0xff
and edi, edx
mov dword [ebp - 0x10], edi
fild dword [ebp - 0x10]
mov edi, eax
shr edi, 8
fmul dword [ebx + 0x554]
and edi, edx
mov dword [ebp - 0x10], edi
movzx eax, al
fadd dword [ebx + 0x504]
fstp dword [ebx + 0x504]
fild dword [ebp - 0x10]
mov dword [ebp - 0x10], eax
fmul dword [ebx + 0x558]
fadd dword [ebx + 0x508]
fstp dword [ebx + 0x508]
fild dword [ebp - 0x10]
fmul dword [ebx + 0x55c]
jmp 0x7149c39f
fld dword [ebx + 0x584]
mov edx, 0xff
fmul dword [ebx + 0x544]
fadd dword [ebx + 0x504]
fstp dword [ebx + 0x504]
fld dword [ebx + 0x588]
fmul dword [ebx + 0x548]
fadd dword [ebx + 0x508]
fstp dword [ebx + 0x508]
fld dword [ebx + 0x58c]
fmul dword [ebx + 0x54c]
test dword [ebx + 0x1a44], 0x2000
fadd dword [ebx + 0x50c]
fstp dword [ebx + 0x50c]
je 0x7149c403
mov eax, dword [ebp - 0x6c]
test eax, eax
je 0x7149c3c4
mov eax, dword [eax]
mov eax, dword [eax]
jmp 0x7149c3c6
xor eax, eax
mov edi, eax
shr edi, 0x10
and edi, edx
mov dword [ebp - 0x10], edi
fild dword [ebp - 0x10]
mov edi, eax
shr edi, 8
fadd dword [ebx + 0x504]
and edi, edx
mov dword [ebp - 0x10], edi
movzx eax, al
fstp dword [ebx + 0x504]
fild dword [ebp - 0x10]
mov dword [ebp - 0x10], eax
fadd dword [ebx + 0x508]
fstp dword [ebx + 0x508]
fild dword [ebp - 0x10]
jmp 0x7149c43b
fld dword [ebx + 0x5a4]
fld qword [0x7141bf38]
fmul st(1), st(0)
fld dword [ebx + 0x504]
faddp st(2)
fxch st(1)
fstp dword [ebx + 0x504]
fld dword [ebx + 0x5a8]
fmul st(1)
fadd dword [ebx + 0x508]
fstp dword [ebx + 0x508]
fmul dword [ebx + 0x5ac]
fadd dword [ebx + 0x50c]
or ecx, 8
mov dword [ebx + 0x5b8], ecx
fstp dword [ebx + 0x50c]
jmp 0x7149c457
mov edx, 0xff
test byte [ebx + 0x5b8], 8
je 0x7149c565
fstp st(0)
test esi, esi
jne 0x7149c4a0
fld dword [ebx + 0x514]
fadd dword [ebx + 0x504]
fstp dword [ebx + 0x504]
fld dword [ebx + 0x518]
fadd dword [ebx + 0x508]
fstp dword [ebx + 0x508]
fld dword [ebx + 0x51c]
fadd dword [ebx + 0x50c]
fstp dword [ebx + 0x50c]
fld dword [ebx + 0x504]
fstp dword [ebp - 0x10]
fld dword [ebp - 0x10]
fistp qword [ebp - 0xd0]
fld dword [ebx + 0x508]
mov eax, dword [ebp - 0xd0]
fstp dword [ebp - 0x10]
fld dword [ebp - 0x10]
fistp qword [ebp - 0xf8]
mov ecx, dword [ebp - 0xf8]
fld dword [ebx + 0x50c]
fstp dword [ebp - 0x10]
mov dword [ebp - 4], ecx
fld dword [ebp - 0x10]
fistp qword [ebp - 0xe0]
mov esi, dword [ebp - 0xe0]
test eax, eax
jge 0x7149c4f3
xor eax, eax
jmp 0x7149c4f9
cmp eax, edx
jle 0x7149c4f9
mov eax, edx
test ecx, ecx
jge 0x7149c503
and dword [ebp - 4], 0
jmp 0x7149c50a
cmp ecx, edx
jle 0x7149c50a
mov dword [ebp - 4], edx
test esi, esi
jge 0x7149c512
xor esi, esi
jmp 0x7149c518
cmp esi, edx
jle 0x7149c518
mov esi, edx
mov edi, dword [ebx + 0x1a44]
test edi, 0x4000
jne 0x7149c541
fldz
shl eax, 8
add eax, dword [ebp - 4]
shl eax, 8
add eax, dword [ebx + 0x510]
add eax, esi
mov dword [ebx + 0x530], eax
jmp 0x7149c5a9
mov ecx, dword [ebp - 0x48]
test ecx, ecx
je 0x7149c54e
mov ecx, dword [ecx]
mov ecx, dword [ecx]
jmp 0x7149c550
xor ecx, ecx
fldz
shl eax, 8
add eax, dword [ebp - 4]
and ecx, 0xff000000
shl eax, 8
add eax, esi
jmp 0x7149c5a1
mov edi, dword [ebx + 0x1a44]
test edi, 0x4000
jne 0x7149c587
mov eax, dword [ebx + 0x5e8]
add eax, dword [ebx + 0x510]
mov dword [ebx + 0x530], eax
jmp 0x7149c5a9
mov eax, dword [ebp - 0x48]
test eax, eax
je 0x7149c599
mov eax, dword [eax]
mov eax, dword [eax]
and eax, 0xff000000
jmp 0x7149c59b
xor eax, eax
mov ecx, dword [ebx + 0x5e8]
add ecx, eax
mov dword [ebx + 0x530], ecx
test byte [ebx + 0x5b8], 4
je 0x7149c681
fstp st(0)
fld dword [ebx + 0x524]
fstp dword [ebp - 0x10]
fld dword [ebp - 0x10]
fistp qword [ebp - 0xd8]
fld dword [ebx + 0x528]
mov eax, dword [ebp - 0xd8]
fstp dword [ebp - 0x10]
fld dword [ebp - 0x10]
fistp qword [ebp - 0xe8]
fld dword [ebx + 0x52c]
mov esi, dword [ebp - 0xe8]
fstp dword [ebp - 0x10]
fld dword [ebp - 0x10]
fistp qword [ebp - 0xa0]
mov edi, dword [ebp - 0xa0]
test eax, eax
jge 0x7149c608
xor eax, eax
jmp 0x7149c60e
cmp eax, edx
jle 0x7149c60e
mov eax, edx
test esi, esi
jge 0x7149c616
xor esi, esi
jmp 0x7149c61c
cmp esi, edx
jle 0x7149c61c
mov esi, edx
cmp dword [ebp - 0xa0], 0
jge 0x7149c629
xor edi, edi
jmp 0x7149c633
cmp dword [ebp - 0xa0], edx
jle 0x7149c633
mov edi, edx
test dword [ebx + 0x1a44], 0x8000
jne 0x7149c656
fldz
shl eax, 8
add eax, esi
shl eax, 8
add eax, dword [ebx + 0x5bc]
add eax, edi
jmp 0x7149c6f3
mov ecx, dword [ebp - 0x4c]
test ecx, ecx
je 0x7149c663
mov ecx, dword [ecx]
mov ecx, dword [ecx]
jmp 0x7149c665
xor ecx, ecx
fldz
shl eax, 8
add eax, esi
shl eax, 8
and ecx, 0xff000000
add eax, edi
add ecx, eax
mov dword [ebx + 0x560], ecx
jmp 0x7149c6f9
test edi, 0x100000
jne 0x7149c6f9
test dword [ebx + 0x1a60], 0x800
jne 0x7149c6a7
test byte [ebx + 0x1a5c], 0x80
jne 0x7149c6ee
and dword [ebx + 0x560], 0
jmp 0x7149c6f9
test dword [ebx + 0x1a44], 0x8000
jne 0x7149c6bb
mov eax, dword [ebx + 0x5bc]
jmp 0x7149c6f3
mov eax, dword [ebp - 0x4c]
test eax, eax
je 0x7149c6cd
mov eax, dword [eax]
mov eax, dword [eax]
and eax, 0xff000000
jmp 0x7149c6f3
xor eax, eax
jmp 0x7149c6f3
mov eax, dword [ebx + 0x1a5c]
test al, 0xc0
je 0x7149c6f9
test al, 0x40
je 0x7149c6ea
mov ecx, dword [ebp - 0x24]
mov ecx, dword [ecx]
mov dword [ebx + 0x530], ecx
test al, al
jns 0x7149c6f9
mov eax, dword [ebp - 0x20]
mov eax, dword [eax]
mov dword [ebx + 0x560], eax
test dword [ebx + 0x1a44], 0x100
je 0x7149c719
lea eax, [ebp - 0x3c]
fstp st(0)
push eax
push dword [ebp + 8]
push ebx
call fcn.71492c10
fldz
add esp, 0xc
test dword [ebx + 0x1a44], 0x80000000
mov ecx, dword [ebp - 0x58]
jne 0x7149c737
mov eax, dword [ebx + 0x1cd0]
mov edx, dword [ebx + 0x530]
mov dword [ecx + eax], edx
test dword [ebx + 0x1a44], 0x100000
jne 0x7149c752
mov eax, dword [ebx + 0x1cd4]
mov edx, dword [ebx + 0x560]
mov dword [ecx + eax], edx
mov eax, dword [ebx + 0x1ccc]
add eax, ecx
mov ecx, dword [ebx + 0x1a60]
test ecx, 0x8000000
je 0x7149c989
test dword [ebx + 0x1a44], 0x10000000
jne 0x7149c925
test dword [ebp - 0x5c], 0x200000
mov dword [ebp - 0xc], eax
jne 0x7149c91e
fstp st(0)
test ecx, 0x4010000
jne 0x7149c7db
xor esi, esi
cmp dword [ebx + 0x1a88], esi
jbe 0x7149c927
lea eax, [ebx + 0x1ad8]
mov dword [ebp - 8], eax
mov eax, dword [ebp - 8]
mov edi, dword [eax]
push edi
push dword [ebp + esi*4 - 0x8c]
push dword [ebp - 0xc]
call sub.msvcrt.dll_memcpy
add dword [ebp - 0xc], edi
add dword [ebp - 8], 4
add esp, 0xc
inc esi
cmp esi, dword [ebx + 0x1a88]
jae 0x7149c927
jmp 0x7149c7ad
test ecx, 0x10000
jne 0x7149c858
xor esi, esi
cmp dword [ebx + 0x1a88], esi
jbe 0x7149c927
lea edi, [ebx + 0x1c30]
lea eax, [edi - 0x138]
mov ecx, dword [eax - 0x20]
mov eax, dword [eax]
mov dword [ebp - 8], ecx
mov ecx, dword [edi]
test ecx, ecx
jne 0x7149c81f
push dword [ebp - 8]
push dword [ebp + esi*4 - 0x8c]
push dword [ebp - 0xc]
call sub.msvcrt.dll_memcpy
jmp 0x7149c83d
mov edx, dword [ebp - 8]
push ecx
push dword [ebp - 0xc]
shr edx, 2
push dword [ebp + esi*4 - 0x8c]
shr eax, 2
lea eax, [eax + edx*4]
call dword [eax*4 + 0x714bf23c]
mov eax, dword [ebp - 8]
add dword [ebp - 0xc], eax
add esp, 0xc
inc esi
add edi, 4
cmp esi, dword [ebx + 0x1a88]
jae 0x7149c927
jmp 0x7149c7f7
and dword [ebp - 0x1c], 0
cmp dword [ebx + 0x1c2c], 0
mov dword [ebp - 4], eax
jbe 0x7149c927
lea eax, [ebx + 0x1ad8]
mov dword [ebp - 8], eax
lea esi, [ebx + 0x1b48]
mov eax, dword [esi]
test eax, eax
jne 0x7149c88d
mov eax, dword [esi - 0x1c]
mov ecx, dword [ebp + eax*4 - 0x8c]
jmp 0x7149c8d7
cmp eax, 0x20000
jne 0x7149c899
lea ecx, [ebp - 0x3c]
jmp 0x7149c8d7
cmp eax, 0x10000
jne 0x7149c8a5
lea ecx, [ebp - 0x30]
jmp 0x7149c8d7
test dword [ebx + 0x1a60], 0x1000000
lea eax, [ebp - 0x104]
push eax
lea eax, [ebp - 0x30]
push eax
je 0x7149c8ca
lea eax, [ebp - 0x3c]
push eax
call fcn.71491e76
add esp, 0xc
jmp 0x7149c8d1
call fcn.71491ee4
pop ecx
pop ecx
lea ecx, [ebp - 0x104]
mov eax, dword [ebp - 8]
mov edi, dword [eax]
mov eax, dword [esi - 8]
test eax, eax
je 0x7149c8f4
mov edx, dword [esi - 4]
push eax
push dword [ebp - 4]
push ecx
call dword [edx*4 + 0x714bf250]
jmp 0x7149c8fe
push edi
push ecx
push dword [ebp - 4]
call sub.msvcrt.dll_memcpy
add dword [ebp - 4], edi
add dword [ebp - 8], 4
add esp, 0xc
inc dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
add esi, 0x20
cmp eax, dword [ebx + 0x1c2c]
jae 0x7149c927
jmp 0x7149c87b
fst dword [eax]
fstp dword [eax + 4]
jmp 0x7149c927
fstp st(0)
mov eax, dword [ebp - 0x50]
add dword [ebp + 8], eax
test dword [ebx + 0x1a44], 0x40000000
jne 0x7149cb49
mov eax, dword [ebx + 0x1a30]
add dword [ebp - 0x40], eax
mov eax, dword [ebx + 0x1a38]
add dword [ebp - 0x24], eax
mov eax, dword [ebx + 0x1a94]
add dword [ebp - 0x20], eax
xor ecx, ecx
cmp dword [ebx + 0x1a84], ecx
jbe 0x7149cb49
mov edx, dword [ebx + 0x1a84]
lea eax, [ebx + 0x1a9c]
mov esi, dword [eax]
add dword [ebp + ecx*4 - 0x8c], esi
inc ecx
add eax, 8
cmp ecx, edx
jae 0x7149cb49
jmp 0x7149c972
test dword [ebx + 0x1a44], 0x10000000
jne 0x7149cb26
test dword [ebp - 0x5c], 0x200000
jne 0x7149cb1f
fstp st(0)
test ecx, 0x4010000
jne 0x7149c9ca
push dword [ebx + 0x1a8c]
push dword [ebp - 0x8c]
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
jmp 0x7149cb28
test ecx, 0x10000
jne 0x7149ca5a
mov ecx, dword [ebp - 0x8c]
and dword [ebp - 8], 0
cmp dword [ebx + 0x1a88], 0
mov dword [ebp - 4], ecx
mov dword [ebp - 0xc], eax
jbe 0x7149cb28
lea esi, [ebx + 0x1c30]
lea eax, [esi - 0x138]
mov edi, dword [eax - 0x20]
mov eax, dword [eax]
mov dword [ebp - 0x1c], eax
mov eax, dword [esi]
test eax, eax
je 0x7149ca2b
mov edx, dword [ebp - 0x1c]
push eax
push dword [ebp - 0xc]
mov ecx, edi
push dword [ebp - 4]
shr ecx, 2
shr edx, 2
lea ecx, [edx + ecx*4]
call dword [ecx*4 + 0x714bf23c]
jmp 0x7149ca37
push edi
push dword [ebp - 4]
push dword [ebp - 0xc]
call sub.msvcrt.dll_memcpy
mov eax, dword [ebp - 0x1c]
add dword [ebp - 4], eax
add dword [ebp - 0xc], edi
add esp, 0xc
inc dword [ebp - 8]
mov eax, dword [ebp - 8]
add esi, 4
cmp eax, dword [ebx + 0x1a88]
jae 0x7149cb28
jmp 0x7149c9f9
and dword [ebp - 0x1c], 0
cmp dword [ebx + 0x1c2c], 0
mov dword [ebp - 4], eax
jbe 0x7149cb28
lea eax, [ebx + 0x1ad8]
mov dword [ebp - 8], eax
lea esi, [ebx + 0x1b48]
mov eax, dword [esi]
test eax, eax
jne 0x7149ca8e
mov eax, dword [esi - 0x18]
add eax, dword [ebp - 0x8c]
jmp 0x7149cad8
cmp eax, 0x20000
jne 0x7149ca9a
lea eax, [ebp - 0x3c]
jmp 0x7149cad8
cmp eax, 0x10000
jne 0x7149caa6
lea eax, [ebp - 0x30]
jmp 0x7149cad8
test dword [ebx + 0x1a60], 0x1000000
lea eax, [ebp - 0x110]
push eax
lea eax, [ebp - 0x30]
push eax
je 0x7149cacb
lea eax, [ebp - 0x3c]
push eax
call fcn.71491e76
add esp, 0xc
jmp 0x7149cad2
call fcn.71491ee4
pop ecx
pop ecx
lea eax, [ebp - 0x110]
mov ecx, dword [ebp - 8]
mov edi, dword [ecx]
mov ecx, dword [esi - 8]
test ecx, ecx
je 0x7149caf5
mov edx, dword [esi - 4]
push ecx
push dword [ebp - 4]
push eax
call dword [edx*4 + 0x714bf250]
jmp 0x7149caff
push edi
push eax
push dword [ebp - 4]
call sub.msvcrt.dll_memcpy
add dword [ebp - 4], edi
add dword [ebp - 8], 4
add esp, 0xc
inc dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
add esi, 0x20
cmp eax, dword [ebx + 0x1c2c]
jae 0x7149cb28
jmp 0x7149ca7d
fst dword [eax]
fstp dword [eax + 4]
jmp 0x7149cb28
fstp st(0)
mov eax, dword [ebp - 0x50]
add dword [ebp + 8], eax
test dword [ebx + 0x1a44], 0x40000000
jne 0x7149cb49
add dword [ebp - 0x40], eax
add dword [ebp - 0x24], eax
add dword [ebp - 0x20], eax
add dword [ebp - 0x8c], eax
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 0x2c]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0xa8]
add dword [ebp - 0x58], eax
dec dword [ebp - 0x14]
je 0x7149d928
jmp 0x7149bedc
mov eax, dword [ebp - 0x54]
cmp eax, edx
je 0x7149cba0
push eax
lea esi, [eax + eax]
push esi
push dword [ebp - 0x90]
push 2
push ebx
call fcn.71497551
add dword [ebx + 0x1a48], esi
mov ecx, dword [ebp - 0x58]
add esp, 0x14
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x90], ecx
test eax, eax
jne 0x7149d959
and dword [ebp - 0x54], 0
lea eax, [ebp - 0x288]
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x10], 2
mov ecx, dword [ebp - 0x68]
mov eax, dword [ebp - 0xc]
test dword [eax + 0x10], ecx
jne 0x7149cbcd
lea ecx, [eax + 0x1c]
push ecx
push eax
push ebx
call fcn.71498e37
add esp, 0xc
mov edx, dword [ebp + 8]
xor ecx, ecx
test dword [ebx + 0x1a60], 0x20000000
mov dword [ebx + 0x5b8], ecx
je 0x7149cd60
fld dword [ebx + 0x454]
mov eax, dword [ebx + 0x1cb4]
fmul dword [edx + 4]
fld dword [ebx + 0x444]
fmul dword [edx]
faddp st(1)
fld dword [ebx + 0x464]
fmul dword [edx + 8]
faddp st(1)
fadd dword [ebx + 0x474]
fstp dword [ebp - 0x3c]
fld dword [ebx + 0x458]
fmul dword [edx + 4]
fld dword [ebx + 0x448]
fmul dword [edx]
faddp st(1)
fld dword [ebx + 0x468]
fmul dword [edx + 8]
faddp st(1)
fadd dword [ebx + 0x478]
fstp dword [ebp - 0x38]
fld dword [ebx + 0x45c]
fmul dword [edx + 4]
fld dword [ebx + 0x44c]
fmul dword [edx]
faddp st(1)
fld dword [ebx + 0x46c]
fmul dword [edx + 8]
faddp st(1)
fadd dword [ebx + 0x47c]
fstp dword [ebp - 0x34]
fldz
cmp eax, ecx
je 0x7149cd54
fst dword [ebp - 4]
fld dword [ebp - 0x3c]
fstp dword [ebp - 0x18]
fld dword [ebp - 0x38]
fstp dword [ebp - 8]
fld dword [ebp - 0x34]
fstp dword [ebp - 0x1c]
fst dword [ebp - 0x3c]
fst dword [ebp - 0x38]
fst dword [ebp - 0x34]
jbe 0x7149cd26
mov esi, eax
lea eax, [ebx + 0x2e4]
fld dword [edx + ecx*4 + 0xc]
inc ecx
fstp dword [ebp - 0x14]
fld dword [ebp - 0x14]
fld st(0)
fmul dword [ebp - 0x18]
fadd dword [ebp - 0x3c]
fstp dword [ebp - 0x3c]
fld st(0)
fmul dword [ebp - 8]
fadd dword [ebp - 0x38]
fstp dword [ebp - 0x38]
fld st(0)
fmul dword [ebp - 0x1c]
fadd dword [ebp - 0x34]
fstp dword [ebp - 0x34]
fadd dword [ebp - 4]
fstp dword [ebp - 4]
fld dword [eax - 0x10]
fmul dword [edx + 4]
fld dword [eax - 0x20]
fmul dword [edx]
faddp st(1)
fld dword [edx + 8]
fmul dword [eax]
add eax, 0x40
faddp st(1)
fadd dword [eax - 0x30]
fstp dword [ebp - 0x18]
fld dword [eax - 0x4c]
fmul dword [edx + 4]
fld dword [eax - 0x5c]
fmul dword [edx]
faddp st(1)
fld dword [eax - 0x3c]
fmul dword [edx + 8]
faddp st(1)
fadd dword [eax - 0x2c]
fstp dword [ebp - 8]
fld dword [eax - 0x48]
fmul dword [edx + 4]
fld dword [eax - 0x58]
fmul dword [edx]
faddp st(1)
fld dword [eax - 0x38]
fmul dword [edx + 8]
faddp st(1)
fadd dword [eax - 0x28]
fstp dword [ebp - 0x1c]
cmp ecx, esi
jb 0x7149cc99
fld dword [ebp - 4]
fld1
fsubrp st(1)
fstp dword [ebp - 4]
fld dword [ebp - 0x18]
fmul dword [ebp - 4]
fadd dword [ebp - 0x3c]
fstp dword [ebp - 0x3c]
fld dword [ebp - 8]
fmul dword [ebp - 4]
fadd dword [ebp - 0x38]
fstp dword [ebp - 0x38]
fld dword [ebp - 0x1c]
fmul dword [ebp - 4]
fadd dword [ebp - 0x34]
fstp dword [ebp - 0x34]
mov dword [ebx + 0x5b8], 1
jmp 0x7149cd62
fldz
test dword [ebx + 0x1a60], 0x40000000
mov edi, dword [ebp - 0x40]
je 0x7149cee7
fld dword [ebx + 0x488]
mov eax, dword [ebx + 0x1cb4]
fmul dword [edi + 4]
fld dword [ebx + 0x484]
fmul dword [edi]
faddp st(1)
fld dword [ebx + 0x48c]
fmul dword [edi + 8]
faddp st(1)
fstp dword [ebp - 0x30]
fld dword [ebx + 0x498]
fmul dword [edi + 4]
fld dword [ebx + 0x494]
fmul dword [edi]
faddp st(1)
fld dword [ebx + 0x49c]
fmul dword [edi + 8]
faddp st(1)
fstp dword [ebp - 0x2c]
fld dword [ebx + 0x4a8]
fmul dword [edi + 4]
fld dword [ebx + 0x4a4]
fmul dword [edi]
faddp st(1)
fld dword [ebx + 0x4ac]
fmul dword [edi + 8]
faddp st(1)
fstp dword [ebp - 0x28]
test eax, eax
je 0x7149cec6
fst dword [ebp - 4]
xor ecx, ecx
fld dword [ebp - 0x30]
fstp dword [ebp - 0x18]
fld dword [ebp - 0x2c]
fstp dword [ebp - 8]
fld dword [ebp - 0x28]
fstp dword [ebp - 0x1c]
fst dword [ebp - 0x30]
fst dword [ebp - 0x2c]
fstp dword [ebp - 0x28]
test eax, eax
jbe 0x7149ce96
mov esi, eax
lea eax, [ebx + 0x38c]
fld dword [edx + ecx*4 + 0xc]
inc ecx
fstp dword [ebp - 0x14]
fld dword [ebp - 0x14]
fld st(0)
fmul dword [ebp - 0x18]
fadd dword [ebp - 0x30]
fstp dword [ebp - 0x30]
fld st(0)
fmul dword [ebp - 8]
fadd dword [ebp - 0x2c]
fstp dword [ebp - 0x2c]
fld st(0)
fmul dword [ebp - 0x1c]
fadd dword [ebp - 0x28]
fstp dword [ebp - 0x28]
fadd dword [ebp - 4]
fstp dword [ebp - 4]
fld dword [eax - 8]
fmul dword [edi]
fld dword [eax - 4]
fmul dword [edi + 4]
faddp st(1)
fld dword [eax]
add eax, 0x40
fmul dword [edi + 8]
faddp st(1)
fstp dword [ebp - 0x18]
fld dword [eax - 0x34]
fmul dword [edi + 4]
fld dword [eax - 0x38]
fmul dword [edi]
faddp st(1)
fld dword [eax - 0x30]
fmul dword [edi + 8]
faddp st(1)
fstp dword [ebp - 8]
fld dword [eax - 0x24]
fmul dword [edi + 4]
fld dword [eax - 0x28]
fmul dword [edi]
faddp st(1)
fld dword [eax - 0x20]
fmul dword [edi + 8]
faddp st(1)
fstp dword [ebp - 0x1c]
cmp ecx, esi
jb 0x7149ce16
fld dword [ebp - 4]
fld1
fsubrp st(1)
fstp dword [ebp - 4]
fld dword [ebp - 0x18]
fmul dword [ebp - 4]
fadd dword [ebp - 0x30]
fstp dword [ebp - 0x30]
fld dword [ebp - 8]
fmul dword [ebp - 4]
fadd dword [ebp - 0x2c]
fstp dword [ebp - 0x2c]
fld dword [ebp - 0x1c]
fmul dword [ebp - 4]
fadd dword [ebp - 0x28]
fstp dword [ebp - 0x28]
jmp 0x7149cec8
fstp st(0)
test dword [ebx + 0x1a60], 0x2000000
je 0x7149cede
lea edx, [ebp - 0x30]
mov ecx, edx
call fcn.7140c2d7
or dword [ebx + 0x5b8], 2
fldz
mov ecx, dword [ebx + 0x1a44]
test ecx, 0x400
je 0x7149d39c
fst dword [ebx + 0x504]
fst dword [ebx + 0x508]
fst dword [ebx + 0x50c]
fst dword [ebx + 0x524]
fst dword [ebx + 0x528]
fstp dword [ebx + 0x52c]
test ecx, 0x200
je 0x7149cf7c
test ecx, 0x10000
je 0x7149cf42
mov eax, dword [ebp - 0x60]
test eax, eax
je 0x7149cf3a
mov eax, dword [eax]
mov eax, dword [eax]
jmp 0x7149cf3c
xor eax, eax
mov dword [ebx + 0x540], eax
test ecx, 0x4000
je 0x7149cf5f
mov eax, dword [ebp - 0x48]
test eax, eax
je 0x7149cf57
mov eax, dword [eax]
mov eax, dword [eax]
jmp 0x7149cf59
xor eax, eax
mov dword [ebx + 0x550], eax
test ecx, 0x8000
je 0x7149cf7c
mov eax, dword [ebp - 0x4c]
test eax, eax
je 0x7149cf74
mov eax, dword [eax]
mov eax, dword [eax]
jmp 0x7149cf76
xor eax, eax
mov dword [ebx + 0x570], eax
mov esi, dword [ebx + 0x5c0]
jmp 0x7149cf9a
lea eax, [ebp - 0x3c]
push eax
push edi
push dword [ebp + 8]
push esi
push ebx
call dword [esi + 0x80]
mov esi, dword [esi + 0x58]
add esp, 0x14
test esi, esi
jne 0x7149cf84
mov eax, dword [ebx + 0x1a44]
mov esi, eax
and esi, 0x12000
je 0x7149d12f
mov ecx, dword [ebx + 0x5b8]
test cl, 8
jne 0x7149cfd1
fldz
fst dword [ebx + 0x504]
fst dword [ebx + 0x508]
fstp dword [ebx + 0x50c]
test eax, 0x10000
je 0x7149d03b
mov eax, dword [ebp - 0x60]
test eax, eax
je 0x7149cfe5
mov eax, dword [eax]
mov eax, dword [eax]
jmp 0x7149cfe7
xor eax, eax
mov edi, eax
shr edi, 0x10
mov edx, 0xff
and edi, edx
mov dword [ebp - 0x14], edi
fild dword [ebp - 0x14]
mov edi, eax
shr edi, 8
fmul dword [ebx + 0x554]
and edi, edx
mov dword [ebp - 0x14], edi
movzx eax, al
fadd dword [ebx + 0x504]
fstp dword [ebx + 0x504]
fild dword [ebp - 0x14]
mov dword [ebp - 0x14], eax
fmul dword [ebx + 0x558]
fadd dword [ebx + 0x508]
fstp dword [ebx + 0x508]
fild dword [ebp - 0x14]
fmul dword [ebx + 0x55c]
jmp 0x7149d07c
fld dword [ebx + 0x584]
mov edx, 0xff
fmul dword [ebx + 0x544]
fadd dword [ebx + 0x504]
fstp dword [ebx + 0x504]
fld dword [ebx + 0x588]
fmul dword [ebx + 0x548]
fadd dword [ebx + 0x508]
fstp dword [ebx + 0x508]
fld dword [ebx + 0x58c]
fmul dword [ebx + 0x54c]
test dword [ebx + 0x1a44], 0x2000
fadd dword [ebx + 0x50c]
fstp dword [ebx + 0x50c]
je 0x7149d0e0
mov eax, dword [ebp - 0x6c]
test eax, eax
je 0x7149d0a1
mov eax, dword [eax]
mov eax, dword [eax]
jmp 0x7149d0a3
xor eax, eax
mov edi, eax
shr edi, 0x10
and edi, edx
mov dword [ebp - 0x14], edi
fild dword [ebp - 0x14]
mov edi, eax
shr edi, 8
fadd dword [ebx + 0x504]
and edi, edx
mov dword [ebp - 0x14], edi
movzx eax, al
fstp dword [ebx + 0x504]
fild dword [ebp - 0x14]
mov dword [ebp - 0x14], eax
fadd dword [ebx + 0x508]
fstp dword [ebx + 0x508]
fild dword [ebp - 0x14]
jmp 0x7149d118
fld dword [ebx + 0x5a4]
fld qword [0x7141bf38]
fmul st(1), st(0)
fld dword [ebx + 0x504]
faddp st(2)
fxch st(1)
fstp dword [ebx + 0x504]
fld dword [ebx + 0x5a8]
fmul st(1)
fadd dword [ebx + 0x508]
fstp dword [ebx + 0x508]
fmul dword [ebx + 0x5ac]
fadd dword [ebx + 0x50c]
or ecx, 8
mov dword [ebx + 0x5b8], ecx
fstp dword [ebx + 0x50c]
jmp 0x7149d134
mov edx, 0xff
test byte [ebx + 0x5b8], 8
je 0x7149d236
test esi, esi
jne 0x7149d17b
fld dword [ebx + 0x514]
fadd dword [ebx + 0x504]
fstp dword [ebx + 0x504]
fld dword [ebx + 0x518]
fadd dword [ebx + 0x508]
fstp dword [ebx + 0x508]
fld dword [ebx + 0x51c]
fadd dword [ebx + 0x50c]
fstp dword [ebx + 0x50c]
fld dword [ebx + 0x504]
fstp dword [ebp - 0x14]
fld dword [ebp - 0x14]
fistp qword [ebp - 0xb0]
fld dword [ebx + 0x508]
mov eax, dword [ebp - 0xb0]
fstp dword [ebp - 0x14]
fld dword [ebp - 0x14]
fistp qword [ebp - 0xf0]
mov ecx, dword [ebp - 0xf0]
fld dword [ebx + 0x50c]
fstp dword [ebp - 0x14]
mov dword [ebp - 4], ecx
fld dword [ebp - 0x14]
fistp qword [ebp - 0xc0]
mov esi, dword [ebp - 0xc0]
test eax, eax
jge 0x7149d1ce
xor eax, eax
jmp 0x7149d1d4
cmp eax, edx
jle 0x7149d1d4
mov eax, edx
test ecx, ecx
jge 0x7149d1de
and dword [ebp - 4], 0
jmp 0x7149d1e5
cmp ecx, edx
jle 0x7149d1e5
mov dword [ebp - 4], edx
test esi, esi
jge 0x7149d1ed
xor esi, esi
jmp 0x7149d1f3
cmp esi, edx
jle 0x7149d1f3
mov esi, edx
mov edi, dword [ebx + 0x1a44]
test edi, 0x4000
jne 0x7149d214
shl eax, 8
add eax, dword [ebp - 4]
shl eax, 8
add eax, dword [ebx + 0x510]
add eax, esi
jmp 0x7149d250
mov ecx, dword [ebp - 0x48]
test ecx, ecx
je 0x7149d221
mov ecx, dword [ecx]
mov ecx, dword [ecx]
jmp 0x7149d223
xor ecx, ecx
shl eax, 8
add eax, dword [ebp - 4]
and ecx, 0xff000000
shl eax, 8
add eax, esi
jmp 0x7149d272
mov edi, dword [ebx + 0x1a44]
test edi, 0x4000
jne 0x7149d258
mov eax, dword [ebx + 0x5e8]
add eax, dword [ebx + 0x510]
mov dword [ebx + 0x530], eax
jmp 0x7149d27a
mov eax, dword [ebp - 0x48]
test eax, eax
je 0x7149d26a
mov eax, dword [eax]
mov eax, dword [eax]
and eax, 0xff000000
jmp 0x7149d26c
xor eax, eax
mov ecx, dword [ebx + 0x5e8]
add ecx, eax
mov dword [ebx + 0x530], ecx
test byte [ebx + 0x5b8], 4
je 0x7149d34c
fld dword [ebx + 0x524]
fstp dword [ebp - 0x14]
fld dword [ebp - 0x14]
fistp qword [ebp - 0xc8]
fld dword [ebx + 0x528]
mov eax, dword [ebp - 0xc8]
fstp dword [ebp - 0x14]
fld dword [ebp - 0x14]
fistp qword [ebp - 0xb8]
fld dword [ebx + 0x52c]
mov esi, dword [ebp - 0xb8]
fstp dword [ebp - 0x14]
fld dword [ebp - 0x14]
fistp qword [ebp - 0x98]
mov edi, dword [ebp - 0x98]
test eax, eax
jge 0x7149d2d7
xor eax, eax
jmp 0x7149d2dd
cmp eax, edx
jle 0x7149d2dd
mov eax, edx
test esi, esi
jge 0x7149d2e5
xor esi, esi
jmp 0x7149d2eb
cmp esi, edx
jle 0x7149d2eb
mov esi, edx
cmp dword [ebp - 0x98], 0
jge 0x7149d2f8
xor edi, edi
jmp 0x7149d302
cmp dword [ebp - 0x98], edx
jle 0x7149d302
mov edi, edx
test dword [ebx + 0x1a44], 0x8000
jne 0x7149d323
shl eax, 8
add eax, esi
shl eax, 8
add eax, dword [ebx + 0x5bc]
add eax, edi
jmp 0x7149d3c0
mov ecx, dword [ebp - 0x4c]
test ecx, ecx
je 0x7149d330
mov ecx, dword [ecx]
mov ecx, dword [ecx]
jmp 0x7149d332
xor ecx, ecx
shl eax, 8
add eax, esi
shl eax, 8
and ecx, 0xff000000
add eax, edi
add ecx, eax
mov dword [ebx + 0x560], ecx
jmp 0x7149d3c6
test edi, 0x100000
jne 0x7149d3c6
test dword [ebx + 0x1a60], 0x800
jne 0x7149d372
test byte [ebx + 0x1a5c], 0x80
jne 0x7149d3bb
and dword [ebx + 0x560], 0
jmp 0x7149d3c6
test dword [ebx + 0x1a44], 0x8000
jne 0x7149d386
mov eax, dword [ebx + 0x5bc]
jmp 0x7149d3c0
mov eax, dword [ebp - 0x4c]
test eax, eax
je 0x7149d398
mov eax, dword [eax]
mov eax, dword [eax]
and eax, 0xff000000
jmp 0x7149d3c0
xor eax, eax
jmp 0x7149d3c0
mov eax, dword [ebx + 0x1a5c]
fstp st(0)
test al, 0xc0
je 0x7149d3c6
test al, 0x40
je 0x7149d3b7
mov ecx, dword [ebp - 0x24]
mov ecx, dword [ecx]
mov dword [ebx + 0x530], ecx
test al, al
jns 0x7149d3c6
mov eax, dword [ebp - 0x20]
mov eax, dword [eax]
mov dword [ebx + 0x560], eax
test dword [ebx + 0x1a44], 0x100
je 0x7149d3e2
lea eax, [ebp - 0x3c]
push eax
push dword [ebp + 8]
push ebx
call fcn.71492c10
add esp, 0xc
mov eax, dword [ebx + 0x1a6c]
test al, 0x40
je 0x7149d3f8
mov ecx, dword [ebx + 0x530]
mov edx, dword [ebp - 0xc]
mov dword [edx + 0x14], ecx
test al, al
jns 0x7149d408
mov eax, dword [ebx + 0x560]
mov ecx, dword [ebp - 0xc]
mov dword [ecx + 0x18], eax
mov ecx, dword [ebx + 0x1a60]
test ecx, 0x8000000
je 0x7149d639
test dword [ebx + 0x1a44], 0x10000000
jne 0x7149d5d7
mov eax, dword [ebp - 0xc]
add eax, 0x30
test dword [ebp - 0x5c], 0x200000
mov dword [ebp - 4], eax
jne 0x7149d5d0
test ecx, 0x4010000
jne 0x7149d48d
xor esi, esi
cmp dword [ebx + 0x1a88], esi
jbe 0x7149d5d7
lea eax, [ebx + 0x1ad8]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
mov edi, dword [eax]
push edi
push dword [ebp + esi*4 - 0x8c]
push dword [ebp - 4]
call sub.msvcrt.dll_memcpy
add dword [ebp - 4], edi
add dword [ebp - 0x18], 4
add esp, 0xc
inc esi
cmp esi, dword [ebx + 0x1a88]
jae 0x7149d5d7
jmp 0x7149d45f
test ecx, 0x10000
jne 0x7149d50a
xor esi, esi
cmp dword [ebx + 0x1a88], esi
jbe 0x7149d5d7
lea edi, [ebx + 0x1c30]
lea eax, [edi - 0x138]
mov ecx, dword [eax - 0x20]
mov eax, dword [eax]
mov dword [ebp - 0x18], ecx
mov ecx, dword [edi]
test ecx, ecx
jne 0x7149d4d1
push dword [ebp - 0x18]
push dword [ebp + esi*4 - 0x8c]
push dword [ebp - 4]
call sub.msvcrt.dll_memcpy
jmp 0x7149d4ef
mov edx, dword [ebp - 0x18]
push ecx
push dword [ebp - 4]
shr edx, 2
push dword [ebp + esi*4 - 0x8c]
shr eax, 2
lea eax, [eax + edx*4]
call dword [eax*4 + 0x714bf23c]
mov eax, dword [ebp - 0x18]
add dword [ebp - 4], eax
add esp, 0xc
inc esi
add edi, 4
cmp esi, dword [ebx + 0x1a88]
jae 0x7149d5d7
jmp 0x7149d4a9
and dword [ebp - 8], 0
cmp dword [ebx + 0x1c2c], 0
mov dword [ebp - 4], eax
jbe 0x7149d5d7
lea eax, [ebx + 0x1ad8]
mov dword [ebp - 0x18], eax
lea esi, [ebx + 0x1b48]
mov eax, dword [esi]
test eax, eax
jne 0x7149d53f
mov eax, dword [esi - 0x1c]
mov ecx, dword [ebp + eax*4 - 0x8c]
jmp 0x7149d589
cmp eax, 0x20000
jne 0x7149d54b
lea ecx, [ebp - 0x3c]
jmp 0x7149d589
cmp eax, 0x10000
jne 0x7149d557
lea ecx, [ebp - 0x30]
jmp 0x7149d589
test dword [ebx + 0x1a60], 0x1000000
lea eax, [ebp - 0x11c]
push eax
lea eax, [ebp - 0x30]
push eax
je 0x7149d57c
lea eax, [ebp - 0x3c]
push eax
call fcn.71491e76
add esp, 0xc
jmp 0x7149d583
call fcn.71491ee4
pop ecx
pop ecx
lea ecx, [ebp - 0x11c]
mov eax, dword [ebp - 0x18]
mov edi, dword [eax]
mov eax, dword [esi - 8]
test eax, eax
je 0x7149d5a6
mov edx, dword [esi - 4]
push eax
push dword [ebp - 4]
push ecx
call dword [edx*4 + 0x714bf250]
jmp 0x7149d5b0
push edi
push ecx
push dword [ebp - 4]
call sub.msvcrt.dll_memcpy
add dword [ebp - 4], edi
add dword [ebp - 0x18], 4
add esp, 0xc
inc dword [ebp - 8]
mov eax, dword [ebp - 8]
add esi, 0x20
cmp eax, dword [ebx + 0x1c2c]
jae 0x7149d5d7
jmp 0x7149d52d
fldz
fst dword [eax]
fstp dword [eax + 4]
mov eax, dword [ebp - 0x50]
add dword [ebp + 8], eax
test dword [ebx + 0x1a44], 0x40000000
jne 0x7149d80b
mov eax, dword [ebx + 0x1a30]
add dword [ebp - 0x40], eax
mov eax, dword [ebx + 0x1a38]
add dword [ebp - 0x24], eax
mov eax, dword [ebx + 0x1a94]
add dword [ebp - 0x20], eax
xor ecx, ecx
cmp dword [ebx + 0x1a84], ecx
jbe 0x7149d80b
mov edx, dword [ebx + 0x1a84]
lea eax, [ebx + 0x1a9c]
mov esi, dword [eax]
add dword [ebp + ecx*4 - 0x8c], esi
inc ecx
add eax, 8
cmp ecx, edx
jae 0x7149d80b
jmp 0x7149d622
test dword [ebx + 0x1a44], 0x10000000
jne 0x7149d7ea
test dword [ebp - 0x5c], 0x200000
jne 0x7149d7df
test ecx, 0x4010000
jne 0x7149d67e
push dword [ebx + 0x1a8c]
mov eax, dword [ebp - 0xc]
push dword [ebp - 0x8c]
add eax, 0x30
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
jmp 0x7149d7ea
test ecx, 0x10000
jne 0x7149d714
mov eax, dword [ebp - 0x8c]
and dword [ebp - 0x18], 0
mov dword [ebp - 4], eax
mov eax, dword [ebp - 0xc]
add eax, 0x30
cmp dword [ebx + 0x1a88], 0
mov dword [ebp - 0x44], eax
jbe 0x7149d7ea
lea esi, [ebx + 0x1c30]
lea eax, [esi - 0x138]
mov edi, dword [eax - 0x20]
mov eax, dword [eax]
mov dword [ebp - 0x14], eax
mov eax, dword [esi]
test eax, eax
je 0x7149d6e5
mov edx, dword [ebp - 0x14]
push eax
push dword [ebp - 0x44]
mov ecx, edi
push dword [ebp - 4]
shr ecx, 2
shr edx, 2
lea ecx, [edx + ecx*4]
call dword [ecx*4 + 0x714bf23c]
jmp 0x7149d6f1
push edi
push dword [ebp - 4]
push dword [ebp - 0x44]
call sub.msvcrt.dll_memcpy
mov eax, dword [ebp - 0x14]
add dword [ebp - 4], eax
add dword [ebp - 0x44], edi
add esp, 0xc
inc dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
add esi, 4
cmp eax, dword [ebx + 0x1a88]
jae 0x7149d7ea
jmp 0x7149d6b3
mov eax, dword [ebp - 0xc]
and dword [ebp - 8], 0
add eax, 0x30
cmp dword [ebx + 0x1c2c], 0
mov dword [ebp - 0x44], eax
jbe 0x7149d7ea
lea eax, [ebx + 0x1ad8]
mov dword [ebp - 0x18], eax
lea esi, [ebx + 0x1b48]
mov eax, dword [esi]
test eax, eax
jne 0x7149d74e
mov eax, dword [esi - 0x18]
add eax, dword [ebp - 0x8c]
jmp 0x7149d798
cmp eax, 0x20000
jne 0x7149d75a
lea eax, [ebp - 0x3c]
jmp 0x7149d798
cmp eax, 0x10000
jne 0x7149d766
lea eax, [ebp - 0x30]
jmp 0x7149d798
test dword [ebx + 0x1a60], 0x1000000
lea eax, [ebp - 0x128]
push eax
lea eax, [ebp - 0x30]
push eax
je 0x7149d78b
lea eax, [ebp - 0x3c]
push eax
call fcn.71491e76
add esp, 0xc
jmp 0x7149d792
call fcn.71491ee4
pop ecx
pop ecx
lea eax, [ebp - 0x128]
mov ecx, dword [ebp - 0x18]
mov edi, dword [ecx]
mov ecx, dword [esi - 8]
test ecx, ecx
je 0x7149d7b5
mov edx, dword [esi - 4]
push ecx
push dword [ebp - 0x44]
push eax
call dword [edx*4 + 0x714bf250]
jmp 0x7149d7bf
push edi
push eax
push dword [ebp - 0x44]
call sub.msvcrt.dll_memcpy
add dword [ebp - 0x44], edi
add dword [ebp - 0x18], 4
add esp, 0xc
inc dword [ebp - 8]
mov eax, dword [ebp - 8]
add esi, 0x20
cmp eax, dword [ebx + 0x1c2c]
jae 0x7149d7ea
jmp 0x7149d73d
fldz
mov eax, dword [ebp - 0xc]
fst dword [eax + 0x30]
fstp dword [eax + 0x34]
mov eax, dword [ebp - 0x50]
add dword [ebp + 8], eax
test dword [ebx + 0x1a44], 0x40000000
jne 0x7149d80b
add dword [ebp - 0x40], eax
add dword [ebp - 0x24], eax
add dword [ebp - 0x20], eax
add dword [ebp - 0x8c], eax
add dword [ebp - 0xc], 0xb0
dec dword [ebp - 0x10]
jne 0x7149cbb4
lea eax, [ebp - 0x1d8]
push eax
lea eax, [ebp - 0x288]
push eax
push ebx
call fcn.714977ed
add esp, 0xc
mov dword [ebp - 0x44], eax
test eax, eax
je 0x7149d928
jmp 0x7149d959
mov eax, dword [ebx + 0x1a60]
mov ecx, dword [ebx + 0x1a44]
and eax, 0x8000000
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x50]
je 0x7149d8ac
add dword [ebp + 8], eax
and ecx, 0x40000000
mov dword [ebp - 0x10], ecx
jne 0x7149d8c6
mov esi, dword [ebx + 0x1a30]
add dword [ebp - 0x40], esi
mov esi, dword [ebx + 0x1a38]
add dword [ebp - 0x24], esi
mov esi, dword [ebx + 0x1a94]
add dword [ebp - 0x20], esi
cmp dword [ebx + 0x1a84], edx
jbe 0x7149d8c6
lea ecx, [ebx + 0x1a9c]
mov esi, dword [ecx]
add dword [ebp + edx*4 - 0x8c], esi
inc edx
add ecx, 8
cmp edx, dword [ebx + 0x1a84]
jb 0x7149d892
mov ecx, dword [ebp - 0x10]
jmp 0x7149d8c6
add dword [ebp + 8], eax
and ecx, 0x40000000
jne 0x7149d8c6
add dword [ebp - 0x40], eax
add dword [ebp - 0x24], eax
add dword [ebp - 0x20], eax
add dword [ebp - 0x8c], eax
add dword [ebp + 8], eax
cmp dword [ebp - 0x14], 0
je 0x7149d915
test ecx, ecx
jne 0x7149d928
mov eax, dword [ebx + 0x1a30]
add dword [ebp - 0x40], eax
mov eax, dword [ebx + 0x1a38]
add dword [ebp - 0x24], eax
mov eax, dword [ebx + 0x1a94]
add dword [ebp - 0x20], eax
cmp dword [ebx + 0x1a84], ecx
jbe 0x7149d928
mov edx, dword [ebx + 0x1a84]
lea eax, [ebx + 0x1a9c]
mov esi, dword [eax]
add dword [ebp + ecx*4 - 0x8c], esi
inc ecx
add eax, 8
cmp ecx, edx
jae 0x7149d928
jmp 0x7149d902
test ecx, ecx
jne 0x7149d928
add dword [ebp - 0x40], eax
add dword [ebp - 0x24], eax
add dword [ebp - 0x20], eax
add dword [ebp - 0x8c], eax
dec dword [ebp - 0x64]
jne 0x7149be6a
cmp dword [ebp - 0x54], 0
je 0x7149d959
mov eax, dword [ebp - 0x54]
push eax
lea esi, [eax + eax]
push esi
push dword [ebp - 0x90]
push 2
push ebx
call fcn.71497551
add esp, 0x14
add dword [ebx + 0x1a48], esi
mov dword [ebp - 0x44], eax
test dword [ebx + 0x1a60], 0x100000
pop edi
jne 0x7149da3a
fld dword [ebx + 0x1b24]
lea ecx, [ebx + 0x624]
fadd dword [ebx + 0x68c]
fstp dword [ebp - 0x10]
fld dword [ebp - 0x10]
fstp dword [ebx + 0x1b24]
fld dword [ebx + 0x1b28]
fadd dword [ebx + 0x68c]
fstp dword [ebp - 0x68]
fld dword [ebp - 0x68]
fstp dword [ebx + 0x1b28]
fld dword [ebx + 0x1b1c]
fsub dword [ebx + 0x68c]
fstp dword [ebp + 8]
fld dword [ebp + 8]
fstp dword [ebx + 0x1b1c]
fld dword [ebx + 0x1b20]
fsub dword [ebx + 0x68c]
fstp dword [ebp - 0x64]
fld dword [ebp - 0x64]
fstp dword [ebx + 0x1b20]
fld dword [ebp + 8]
fld dword [ecx]
fcompp
fnstsw ax
test ah, 0x41
jne 0x7149d9e6
fld dword [ecx]
fstp dword [ebx + 0x1b1c]
fld dword [ebp - 0x64]
lea ecx, [ebx + 0x628]
fld dword [ecx]
fcompp
fnstsw ax
test ah, 0x41
jne 0x7149da02
fld dword [ecx]
fstp dword [ebx + 0x1b20]
fld dword [ebp - 0x10]
lea ecx, [ebx + 0x62c]
fld dword [ecx]
fcompp
fnstsw ax
test ah, 5
jp 0x7149da1e
fld dword [ecx]
fstp dword [ebx + 0x1b24]
fld dword [ebp - 0x68]
lea ecx, [ebx + 0x630]
fld dword [ecx]
fcompp
fnstsw ax
test ah, 5
jp 0x7149da3a
fld dword [ecx]
fstp dword [ebx + 0x1b28]
push dword [ebp - 0xa4]
push ebx
call fcn.71498f18
mov eax, dword [ebp - 0x44]
pop ecx
jmp 0x7149da68
and dword [ebx + 0x1a44], 0xffdfffff
cmp dword [ebx + 0x684], esi
je 0x7149da62
xor eax, eax
jmp 0x7149da69
push ebx
call fcn.7142b0a9
pop ecx
pop esi
pop ebx
leave
ret 4