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

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x1cc
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x120]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
add eax, 0x10
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x24]
mov dword [eax], 0
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0xb4]
mov eax, dword [ebp - 0x28]
mov dword [eax + 0x6c], edx
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x20]
mov eax, dword [ebp - 0x28]
mov dword [eax + 0x7c], edx
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 0x7c]
test eax, eax
je 0x6a9ca1ab
mov eax, dword [ebp + 8]
mov dword [eax + 0x24], 0
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 0x14f2c]
test eax, eax
je 0x6a9ca1c2
mov eax, dword [ebp + 8]
mov dword [eax + 0x24], 0
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x110]
mov eax, dword [ebp - 0x24]
mov dword [eax + 0x14f44], edx
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x114]
mov eax, dword [ebp - 0x24]
mov dword [eax + 0x14f48], edx
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x118]
mov eax, dword [ebp - 0x24]
mov dword [eax + 0x14f4c], edx
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x128]
test eax, eax
je 0x6a9ca22b
call fcn.6a9d49df
mov dl, al
and edx, 1
mov eax, dword [ebp - 0x24]
and edx, 1
lea ecx, [edx + edx]
mov dl, byte [eax + 0x14efc]
and edx, 0xfffffffd
or edx, ecx
mov byte [eax + 0x14efc], dl
jmp 0x6a9ca23d
mov eax, dword [ebp - 0x24]
mov dl, byte [eax + 0x14efc]
and edx, 0xfffffffd
mov byte [eax + 0x14efc], dl
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x124]
test eax, eax
je 0x6a9ca26f
call fcn.6a9d49d5
mov dl, al
and edx, 1
mov eax, dword [ebp - 0x24]
mov cl, dl
and ecx, 1
mov dl, byte [eax + 0x14efc]
and edx, 0xfffffffe
or edx, ecx
mov byte [eax + 0x14efc], dl
jmp 0x6a9ca281
mov eax, dword [ebp - 0x24]
mov dl, byte [eax + 0x14efc]
and edx, 0xfffffffe
mov byte [eax + 0x14efc], dl
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x12c]
test eax, eax
je 0x6a9ca2e0
call fcn.6a9d49e9
mov dl, al
and edx, 1
mov eax, dword [ebp - 0x24]
and edx, 1
lea ecx, [edx*4]
mov dl, byte [eax + 0x14efc]
and edx, 0xfffffffb
or edx, ecx
mov byte [eax + 0x14efc], dl
call fcn.6a9d49f3
mov dl, al
and edx, 1
mov eax, dword [ebp - 0x24]
and edx, 1
lea ecx, [edx*8]
mov dl, byte [eax + 0x14efc]
and edx, 0xfffffff7
or edx, ecx
mov byte [eax + 0x14efc], dl
jmp 0x6a9ca304
mov eax, dword [ebp - 0x24]
mov dl, byte [eax + 0x14efc]
and edx, 0xfffffffb
mov byte [eax + 0x14efc], dl
mov eax, dword [ebp - 0x24]
mov dl, byte [eax + 0x14efc]
and edx, 0xfffffff7
mov byte [eax + 0x14efc], dl
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 0x14f24]
test eax, eax
jne 0x6a9ca330
mov dword [esp + 4], 0xad4
mov dword [esp], 1
call sub.msvcrt.dll_calloc
mov edx, eax
mov eax, dword [ebp - 0x24]
mov dword [eax + 0x14f24], edx
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 0x14f24]
test eax, eax
jne 0x6a9ca347
mov eax, 0xfffffffe
jmp 0x6a9cc4b0
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 0x14eac]
test eax, eax
jne 0x6a9ca373
mov dword [esp + 4], 0x20e88
mov dword [esp], 1
call sub.msvcrt.dll_calloc
mov edx, eax
mov eax, dword [ebp - 0x24]
mov dword [eax + 0x14eac], edx
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 0x14eac]
test eax, eax
jne 0x6a9ca3a2
mov eax, dword [ebp - 0x24]
mov dword [esp], eax
call fcn.6a9d3725
mov eax, dword [ebp + 8]
mov dword [eax + 0x120], 0
mov eax, 0xfffffffe
jmp 0x6a9cc4b0
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x78]
mov eax, dword [ebp - 0x28]
mov dword [eax + 0x90], edx
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x68]
mov eax, dword [ebp - 0x28]
mov dword [eax + 0x94], edx
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x6c]
mov eax, dword [ebp - 0x28]
mov dword [eax + 0x98], edx
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x70]
mov eax, dword [ebp - 0x28]
mov dword [eax + 0x9c], edx
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x74]
mov eax, dword [ebp - 0x28]
mov dword [eax + 0xa0], edx
mov eax, dword [ebp + 8]
mov edx, dword [eax + 8]
mov eax, dword [ebp - 0x28]
mov dword [eax + 0x34], edx
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 0x34]
cmp eax, 1
jne 0x6a9ca40e
mov eax, dword [ebp + 8]
mov dword [eax + 0x30], 3
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x30]
cmp eax, 3
jne 0x6a9ca420
mov eax, 1
jmp 0x6a9ca425
mov eax, 2
mov edx, dword [ebp - 0x28]
mov dword [edx + 0x38], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x30]
cmp eax, 3
jne 0x6a9ca440
mov eax, dword [ebp + 8]
mov dword [eax + 0x34], 0
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x34]
mov eax, dword [ebp - 0x28]
mov dword [eax + 0x40], edx
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x9c]
test eax, eax
jne 0x6a9ca482
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xa8]
cmp eax, 0x80
je 0x6a9ca482
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x60]
test eax, eax
jne 0x6a9ca482
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0xa8]
mov eax, dword [ebp + 8]
mov dword [eax + 0x60], edx
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x9c]
cmp eax, 1
jbe 0x6a9ca4a1
cmp eax, 4
je 0x6a9ca4a1
mov eax, dword [ebp + 8]
mov dword [eax + 0x38], 0
jmp 0x6a9ca4a2
nop
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x38]
mov eax, dword [ebp - 0x28]
mov dword [eax + 0x88], edx
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x9c]
test eax, eax
jne 0x6a9ca524
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x60]
test eax, eax
jne 0x6a9ca524
mov eax, dword [ebp + 8]
fld dword [eax + 0x64]
fabs
fldz
fxch st(1)
fucompp
fnstsw ax
test ah, 0x45
jne 0x6a9ca501
mov eax, dword [ebp + 8]
fld dword [eax + 0x64]
fabs
mov eax, dword [ebp + 8]
fld dword [eax + 0x64]
fabs
fld qword [0x6ae3f8f8]
fmulp st(1)
fucompp
fnstsw ax
test ah, 5
sete al
jmp 0x6a9ca515
mov eax, dword [ebp + 8]
fld dword [eax + 0x64]
fabs
fldz
fucompp
fnstsw ax
test ah, 5
sete al
test al, al
je 0x6a9ca524
mov edx, dword [ebp + 8]
mov eax, dword [0x6ae3f900]
mov dword [edx + 0x64], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x9c]
test eax, eax
jne 0x6a9ca65f
mov eax, dword [ebp + 8]
fld dword [eax + 0x64]
fldz
fxch st(1)
fucompp
fnstsw ax
test ah, 0x45
jne 0x6a9ca65f
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x10]
test eax, eax
jne 0x6a9ca5ac
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x1b0], eax
fild dword [ebp - 0x1b0]
fld qword [str._np_n]
fmulp st(1)
fnstcw word [ebp - 0x1b2]
mov ax, word [ebp - 0x1b2]
mov ah, 0xc
mov word [ebp - 0x1b4], ax
fldcw word [ebp - 0x1b4]
fistp dword [ebp - 0x1b0]
fldcw word [ebp - 0x1b2]
mov eax, dword [ebp - 0x1b0]
mov dword [esp], eax
call fcn.6a9d3e5f
mov edx, dword [ebp + 8]
mov dword [edx + 0x10], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x10]
mov edx, eax
shl edx, 4
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 0x38]
imul eax, edx
mov dword [ebp - 0x1b0], eax
fild dword [ebp - 0x1b0]
mov eax, dword [ebp + 8]
fld dword [eax + 0x64]
fld qword [0x6ae3f910]
fmulp st(1)
fdivp st(1)
fnstcw word [ebp - 0x1b2]
mov ax, word [ebp - 0x1b2]
mov ah, 0xc
mov word [ebp - 0x1b4], ax
fldcw word [ebp - 0x1b4]
fistp dword [ebp - 0x1b0]
fldcw word [ebp - 0x1b2]
mov edx, dword [ebp - 0x1b0]
mov eax, dword [ebp + 8]
mov dword [eax + 0x60], edx
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x10]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.6a9d3f4e
mov edx, dword [ebp - 0x28]
mov dword [edx + 4], eax
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 0x88]
test eax, eax
jne 0x6a9ca65f
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x10]
mov eax, dword [ebp - 0x28]
mov edx, dword [eax]
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x60]
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.6a9d3cea
mov edx, dword [ebp + 8]
mov dword [edx + 0x60], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x10]
test eax, eax
je 0x6a9ca73a
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x10]
cmp eax, 0x3e7f
jg 0x6a9ca6b7
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xa8]
cmp eax, 8
jge 0x6a9ca68d
mov eax, 8
mov edx, dword [ebp + 8]
mov dword [edx + 0xa8], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xa8]
cmp eax, 0x40
jle 0x6a9ca6a9
mov eax, 0x40
mov edx, dword [ebp + 8]
mov dword [edx + 0xa8], eax
jmp 0x6a9ca73a
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x10]
cmp eax, 0x7cff
jg 0x6a9ca700
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xa8]
cmp eax, 8
jge 0x6a9ca6d7
mov eax, 8
mov edx, dword [ebp + 8]
mov dword [edx + 0xa8], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xa8]
cmp eax, 0xa0
jle 0x6a9ca6f5
mov eax, 0xa0
mov edx, dword [ebp + 8]
mov dword [edx + 0xa8], eax
jmp 0x6a9ca73a
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xa8]
cmp eax, 0x20
jge 0x6a9ca713
mov eax, 0x20
mov edx, dword [ebp + 8]
mov dword [edx + 0xa8], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xa8]
cmp eax, 0x140
jle 0x6a9ca731
mov eax, 0x140
mov edx, dword [ebp + 8]
mov dword [edx + 0xa8], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x10]
test eax, eax
jne 0x6a9caa87
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x9c]
cmp eax, 1
je 0x6a9ca768
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x9c]
cmp eax, 4
jne 0x6a9caa87
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xa4]
mov dword [ebp - 0x1b0], eax
fild dword [ebp - 0x1b0]
mov eax, dword [ebp + 8]
fld dword [eax + 0xa0]
faddp st(1)
fstp dword [ebp - 0x2c]
lea edx, [ebp - 0x1a0]
mov ebx, 0x6aada5e0
mov eax, 0x36
mov edi, edx
mov esi, ebx
mov ecx, eax
rep movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x1c], 2
jmp 0x6a9caa7a
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0xc]
mov edx, dword [ebp - 0x1c]
mov eax, edx
shl eax, 1
add eax, edx
shl eax, 3
lea edx, [ebp - 0x18]
add eax, edx
sub eax, 0x188
mov eax, dword [eax]
cmp ecx, eax
jne 0x6a9ca8ab
mov edx, dword [ebp - 0x1c]
mov eax, edx
shl eax, 1
add eax, edx
shl eax, 3
lea ecx, [ebp - 0x18]
add eax, ecx
sub eax, 0x188
fld dword [eax + 4]
fld dword [ebp - 0x2c]
fxch st(1)
fucompp
fnstsw ax
test ah, 0x45
jne 0x6a9ca8ab
mov edx, dword [ebp - 0x1c]
mov eax, edx
shl eax, 1
add eax, edx
shl eax, 3
lea esi, [ebp - 0x18]
add eax, esi
sub eax, 0x188
fld dword [eax + 4]
fld dword [ebp - 0x2c]
fdivrp st(1)
fstp qword [ebp - 0x38]
mov edx, dword [ebp - 0x1c]
mov eax, edx
shl eax, 1
add eax, edx
shl eax, 3
lea edi, [ebp - 0x18]
add eax, edi
sub eax, 0x188
fld dword [eax + 0xc]
fld qword [ebp - 0x38]
fmulp st(1)
fstp qword [ebp - 0x38]
fld qword [ebp - 0x38]
fnstcw word [ebp - 0x1b2]
mov ax, word [ebp - 0x1b2]
mov ah, 0xc
mov word [ebp - 0x1b4], ax
fldcw word [ebp - 0x1b4]
fistp dword [ebp - 0x1b0]
fldcw word [ebp - 0x1b2]
mov edx, dword [ebp - 0x1b0]
mov eax, dword [ebp + 8]
mov dword [eax + 0xa4], edx
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xa4]
mov dword [ebp - 0x1b0], eax
fild dword [ebp - 0x1b0]
fld qword [ebp - 0x38]
fsubrp st(1)
fstp dword [ebp - 0x1ac]
fld dword [ebp - 0x1ac]
mov eax, dword [ebp + 8]
fstp dword [eax + 0xa0]
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0xc]
mov edx, dword [ebp - 0x1c]
mov eax, edx
shl eax, 1
add eax, edx
shl eax, 3
lea edx, [ebp - 0x18]
add eax, edx
sub eax, 0x188
mov eax, dword [eax]
cmp ecx, eax
jl 0x6a9caa77
mov edx, dword [ebp - 0x1c]
mov eax, edx
shl eax, 1
add eax, edx
shl eax, 3
lea ecx, [ebp - 0x18]
add eax, ecx
sub eax, 0x188
fld dword [eax + 4]
fld dword [ebp - 0x2c]
fucompp
fnstsw ax
test ah, 5
jne 0x6a9caa77
mov edx, dword [ebp - 0x1c]
mov eax, edx
shl eax, 1
add eax, edx
shl eax, 3
lea esi, [ebp - 0x18]
add eax, esi
sub eax, 0x188
fld dword [eax + 8]
fld dword [ebp - 0x2c]
fxch st(1)
fucompp
fnstsw ax
test ah, 0x45
jne 0x6a9caa77
mov edx, dword [ebp - 0x1c]
mov eax, edx
shl eax, 1
add eax, edx
shl eax, 3
lea edi, [ebp - 0x18]
add eax, edi
sub eax, 0x188
fld dword [eax + 8]
mov edx, dword [ebp - 0x1c]
mov eax, edx
shl eax, 1
add eax, edx
shl eax, 3
lea edx, [ebp - 0x18]
add eax, edx
sub eax, 0x188
fld dword [eax + 4]
fsubp st(1)
fstp dword [ebp - 0x3c]
mov edx, dword [ebp - 0x1c]
mov eax, edx
shl eax, 1
add eax, edx
shl eax, 3
lea ecx, [ebp - 0x18]
add eax, ecx
sub eax, 0x178
fld dword [eax]
mov edx, dword [ebp - 0x1c]
mov eax, edx
shl eax, 1
add eax, edx
shl eax, 3
lea esi, [ebp - 0x18]
add eax, esi
sub eax, 0x188
fld dword [eax + 0xc]
fsubp st(1)
fstp dword [ebp - 0x40]
mov edx, dword [ebp - 0x1c]
mov eax, edx
shl eax, 1
add eax, edx
shl eax, 3
lea edi, [ebp - 0x18]
add eax, edi
sub eax, 0x188
fld dword [eax + 0xc]
mov edx, dword [ebp - 0x1c]
mov eax, edx
shl eax, 1
add eax, edx
shl eax, 3
lea edx, [ebp - 0x18]
add eax, edx
sub eax, 0x188
fld dword [eax + 4]
fld dword [ebp - 0x2c]
fsubrp st(1)
fmul dword [ebp - 0x40]
fdiv dword [ebp - 0x3c]
faddp st(1)
fstp qword [ebp - 0x48]
fld qword [ebp - 0x48]
fnstcw word [ebp - 0x1b2]
mov ax, word [ebp - 0x1b2]
mov ah, 0xc
mov word [ebp - 0x1b4], ax
fldcw word [ebp - 0x1b4]
fistp dword [ebp - 0x1b0]
fldcw word [ebp - 0x1b2]
mov edx, dword [ebp - 0x1b0]
mov eax, dword [ebp + 8]
mov dword [eax + 0xa4], edx
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xa4]
mov dword [ebp - 0x1b0], eax
fild dword [ebp - 0x1b0]
fld qword [ebp - 0x48]
fsubrp st(1)
fstp dword [ebp - 0x1ac]
fld dword [ebp - 0x1ac]
mov eax, dword [ebp + 8]
fstp dword [eax + 0xa0]
mov edx, dword [ebp - 0x1c]
mov eax, edx
shl eax, 1
add eax, edx
shl eax, 3
lea ecx, [ebp - 0x18]
add eax, ecx
sub eax, 0x188
mov edx, dword [eax]
mov eax, dword [ebp + 8]
mov dword [eax + 0x10], edx
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xb8]
test eax, eax
jne 0x6a9caa86
mov eax, dword [ebp + 8]
mov dword [eax + 0xb8], 0xffffffff
jmp 0x6a9caa86
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 8
jle 0x6a9ca7af
jmp 0x6a9caa87
nop
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xb8]
test eax, eax
jne 0x6a9cae29
mov eax, 0
mov edx, 0x40cf4000
mov dword [ebp - 0xb0], eax
mov dword [ebp - 0xac], edx
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x9c]
cmp eax, 4
ja case.default.0x6a9caac7
mov eax, dword [eax*4 + 0x6ae3f0a8]
jmp eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x60]
mov dword [esp + 8], eax
lea eax, [ebp - 0xb8]
mov dword [esp + 4], eax
lea eax, [ebp - 0xb0]
mov dword [esp], eax
call fcn.6a9c9b72
jmp 0x6a9cadb2
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xa8]
mov dword [esp + 8], eax
lea eax, [ebp - 0xb8]
mov dword [esp + 4], eax
lea eax, [ebp - 0xb0]
mov dword [esp], eax
call fcn.6a9c9b72
jmp 0x6a9cadb2
lea edx, [ebp - 0x1a0]
mov ebx, 0x6aada6c0
mov eax, 0xb
mov edi, edx
mov esi, ebx
mov ecx, eax
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xa4]
test eax, eax
js 0x6a9cabd9
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xa4]
cmp eax, 9
jg 0x6a9cabd9
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xa4]
mov eax, dword [ebp + eax*4 - 0x1a0]
mov dword [ebp - 0x1b0], eax
fild dword [ebp - 0x1b0]
fstp qword [ebp - 0x50]
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xa4]
inc eax
mov eax, dword [ebp + eax*4 - 0x1a0]
mov dword [ebp - 0x1b0], eax
fild dword [ebp - 0x1b0]
fstp qword [ebp - 0x58]
mov eax, dword [ebp + 8]
fld dword [eax + 0xa0]
fstp qword [ebp - 0x60]
mov eax, dword [ebp - 0x60]
mov edx, dword [ebp - 0x5c]
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edx
mov eax, dword [ebp - 0x58]
mov edx, dword [ebp - 0x54]
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
mov eax, dword [ebp - 0x50]
mov edx, dword [ebp - 0x4c]
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.6a9ca11a
fstp qword [ebp - 0xb0]
jmp 0x6a9cadb2
mov eax, 0
mov edx, 0x40d30b00
mov dword [ebp - 0xb0], eax
mov dword [ebp - 0xac], edx
jmp 0x6a9cadb2
lea edx, [ebp - 0x1a0]
mov ebx, 0x6aada700
mov eax, 0xb
mov edi, edx
mov esi, ebx
mov ecx, eax
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xa4]
test eax, eax
js 0x6a9cacb3
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xa4]
cmp eax, 9
jg 0x6a9cacb3
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xa4]
mov eax, dword [ebp + eax*4 - 0x1a0]
mov dword [ebp - 0x1b0], eax
fild dword [ebp - 0x1b0]
fstp qword [ebp - 0x68]
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xa4]
inc eax
mov eax, dword [ebp + eax*4 - 0x1a0]
mov dword [ebp - 0x1b0], eax
fild dword [ebp - 0x1b0]
fstp qword [ebp - 0x70]
mov eax, dword [ebp + 8]
fld dword [eax + 0xa0]
fstp qword [ebp - 0x78]
mov eax, dword [ebp - 0x78]
mov edx, dword [ebp - 0x74]
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edx
mov eax, dword [ebp - 0x70]
mov edx, dword [ebp - 0x6c]
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
mov eax, dword [ebp - 0x68]
mov edx, dword [ebp - 0x64]
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.6a9ca11a
fstp qword [ebp - 0xb0]
jmp 0x6a9cadb2
mov eax, 0
mov edx, 0x40d4ff00
mov dword [ebp - 0xb0], eax
mov dword [ebp - 0xac], edx
jmp 0x6a9cadb2
lea edx, [ebp - 0x1a0]
mov ebx, 0x6aada740
mov eax, 0xb
mov edi, edx
mov esi, ebx
mov ecx, eax
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xa4]
test eax, eax
js 0x6a9cad9c
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xa4]
cmp eax, 9
jg 0x6a9cad9c
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xa4]
mov eax, dword [ebp + eax*4 - 0x1a0]
mov dword [ebp - 0x1b0], eax
fild dword [ebp - 0x1b0]
fstp qword [ebp - 0x80]
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xa4]
inc eax
mov eax, dword [ebp + eax*4 - 0x1a0]
mov dword [ebp - 0x1b0], eax
fild dword [ebp - 0x1b0]
fstp qword [ebp - 0x88]
mov eax, dword [ebp + 8]
fld dword [eax + 0xa0]
fstp qword [ebp - 0x90]
mov eax, dword [ebp - 0x90]
mov edx, dword [ebp - 0x8c]
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edx
mov eax, dword [ebp - 0x88]
mov edx, dword [ebp - 0x84]
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
mov eax, dword [ebp - 0x80]
mov edx, dword [ebp - 0x7c]
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.6a9ca11a
fstp qword [ebp - 0xb0]
jmp 0x6a9cadb2
mov eax, 0
mov edx, 0x40d30b00
mov dword [ebp - 0xb0], eax
mov dword [ebp - 0xac], edx
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x30]
cmp eax, 3
jne 0x6a9cadec
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x9c]
test eax, eax
je 0x6a9cadd8
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x9c]
cmp eax, 3
jne 0x6a9cadec
fld qword [ebp - 0xb0]
fld qword [0x6ae3f918]
fmulp st(1)
fstp qword [ebp - 0xb0]
fld qword [ebp - 0xb0]
fnstcw word [ebp - 0x1b2]
mov ax, word [ebp - 0x1b2]
mov ah, 0xc
mov word [ebp - 0x1b4], ax
fldcw word [ebp - 0x1b4]
fistp dword [ebp - 0x1b0]
fldcw word [ebp - 0x1b2]
mov edx, dword [ebp - 0x1b0]
mov eax, dword [ebp + 8]
mov dword [eax + 0xb8], edx
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x10]
test eax, eax
jne 0x6a9cae84
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xb8]
lea edx, [eax + eax]
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xc]
cmp edx, eax
jle 0x6a9cae63
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xc]
mov edx, eax
shr edx, 0x1f
add eax, edx
sar eax, 1
mov edx, eax
mov eax, dword [ebp + 8]
mov dword [eax + 0xb8], edx
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0xc]
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xb8]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.6a9c9bcd
mov edx, dword [ebp + 8]
mov dword [edx + 0x10], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x9c]
cmp eax, 1
je 0x6a9caea0
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x9c]
cmp eax, 4
jne 0x6a9caec0
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xb8]
cmp eax, 0x5dc0
jle 0x6a9caeb5
mov eax, 0x5dc0
mov edx, dword [ebp + 8]
mov dword [edx + 0xb8], eax
jmp 0x6a9caede
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xb8]
cmp eax, 0x5014
jle 0x6a9caed5
mov eax, 0x5014
mov edx, dword [ebp + 8]
mov dword [edx + 0xb8], eax
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0xb8]
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x10]
mov edx, eax
shr edx, 0x1f
add eax, edx
sar eax, 1
mov edx, eax
mov eax, ecx
cmp eax, edx
jle 0x6a9caf00
mov eax, edx
mov edx, dword [ebp + 8]
mov dword [edx + 0xb8], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x9c]
test eax, eax
jne 0x6a9caf64
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x10]
mov edx, eax
shl edx, 4
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 0x38]
imul eax, edx
mov dword [ebp - 0x1b0], eax
fild dword [ebp - 0x1b0]
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x60]
mov dword [ebp - 0x1b0], eax
fild dword [ebp - 0x1b0]
fld qword [0x6ae3f910]
fmulp st(1)
fdivp st(1)
fstp dword [ebp - 0x1ac]
fld dword [ebp - 0x1ac]
mov eax, dword [ebp + 8]
fstp dword [eax + 0x64]
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x9c]
cmp eax, 3
jne 0x6a9cafc3
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x10]
mov edx, eax
shl edx, 4
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 0x38]
imul eax, edx
mov dword [ebp - 0x1b0], eax
fild dword [ebp - 0x1b0]
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xa8]
mov dword [ebp - 0x1b0], eax
fild dword [ebp - 0x1b0]
fld qword [0x6ae3f910]
fmulp st(1)
fdivp st(1)
fstp dword [ebp - 0x1ac]
fld dword [ebp - 0x1ac]
mov eax, dword [ebp + 8]
fstp dword [eax + 0x64]
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x24]
test eax, eax
jne 0x6a9cafeb
mov eax, dword [ebp + 8]
mov dword [eax + 0x3c], 0
mov eax, dword [ebp + 8]
mov dword [eax + 0x40], 0
mov eax, dword [ebp - 0x28]
mov dword [eax + 0x74], 0
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x3c]
mov eax, dword [ebp - 0x28]
mov dword [eax + 0x70], edx
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x40]
mov eax, dword [ebp - 0x28]
mov dword [eax + 0x78], edx
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 0x78]
test eax, eax
je 0x6a9cb017
mov eax, dword [ebp - 0x28]
mov dword [eax + 0x74], 1
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 0x70]
test eax, eax
je 0x6a9cb062
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x10]
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 0x14eac]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.6a9d9871
test eax, eax
jne 0x6a9cb062
mov eax, dword [ebp - 0x24]
mov dword [esp], eax
call fcn.6a9d3725
mov eax, dword [ebp + 8]
mov dword [eax + 0x120], 0
mov eax, 0xfffffffa
jmp 0x6a9cc4b0
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 0x78]
test eax, eax
je 0x6a9cb104
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x28]
test eax, eax
jne 0x6a9cb104
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 0x14f30]
test eax, eax
je 0x6a9cb09c
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 0x14f30]
mov dword [esp], eax
call fcn.6a9daa0d
call fcn.6a9da9e0
mov edx, dword [ebp - 0x24]
mov dword [edx + 0x14f30], eax
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x118]
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 0x14f30]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.6a9dac58
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x114]
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 0x14f30]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.6a9dac6f
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x110]
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 0x14f30]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.6a9dac86
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x80]
mov eax, dword [ebp - 0x28]
mov dword [eax + 0x80], edx
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0xb8]
mov eax, dword [ebp - 0x28]
mov dword [eax + 0x24], edx
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0xbc]
mov eax, dword [ebp - 0x28]
mov dword [eax + 0x28], edx
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0xc]
mov eax, dword [ebp - 0x28]
mov dword [eax + 0x2c], edx
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x10]
mov eax, dword [ebp - 0x28]
mov dword [eax + 0x30], edx
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 0x30]
cmp eax, 0x5dc0
jg 0x6a9cb160
mov eax, 1
jmp 0x6a9cb165
mov eax, 2
mov edx, dword [ebp - 0x28]
mov dword [edx + 0x3c], eax
mov eax, dword [ebp - 0x24]
mov dword [eax + 0x14b18], 0x240
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x9c]
cmp eax, 3
je 0x6a9cb1d2
cmp eax, 3
ja 0x6a9cb196
cmp eax, 1
jb 0x6a9cb225
jmp 0x6a9cb19f
cmp eax, 4
jne 0x6a9cb225
lea edx, [ebp - 0x1a0]
mov ebx, 0x6aada780
mov eax, 0xa
mov edi, edx
mov esi, ebx
mov ecx, eax
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xa4]
mov eax, dword [ebp + eax*4 - 0x1a0]
mov edx, dword [ebp + 8]
mov dword [edx + 0x64], eax
jmp 0x6a9cb274
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 0x30]
mov edx, eax
shl edx, 4
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 0x38]
imul eax, edx
mov dword [ebp - 0x1b0], eax
fild dword [ebp - 0x1b0]
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xa8]
mov dword [ebp - 0x1b0], eax
fild dword [ebp - 0x1b0]
fld qword [0x6ae3f910]
fmulp st(1)
fdivp st(1)
fstp dword [ebp - 0x1ac]
fld dword [ebp - 0x1ac]
mov eax, dword [ebp + 8]
fstp dword [eax + 0x64]
jmp 0x6a9cb274
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 0x30]
mov edx, eax
shl edx, 4
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 0x38]
imul eax, edx
mov dword [ebp - 0x1b0], eax
fild dword [ebp - 0x1b0]
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x60]
mov dword [ebp - 0x1b0], eax
fild dword [ebp - 0x1b0]
fld qword [0x6ae3f910]
fmulp st(1)
fdivp st(1)
fstp dword [ebp - 0x1ac]
fld dword [ebp - 0x1ac]
mov eax, dword [ebp + 8]
fstp dword [eax + 0x64]
nop
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x30]
cmp eax, 4
jne 0x6a9cb289
mov eax, dword [ebp + 8]
mov dword [eax + 0x30], 1
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x30]
mov eax, dword [ebp - 0x28]
mov dword [eax + 0xa4], edx
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 0x28]
test eax, eax
jle 0x6a9cb389
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 0x28]
mov dword [ebp - 0x1b0], eax
fild dword [ebp - 0x1b0]
fadd st(0)
fstp dword [ebp - 0x1ac]
fld dword [ebp - 0x1ac]
mov eax, dword [ebp - 0x28]
fstp dword [eax + 0xf0]
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xc4]
test eax, eax
js 0x6a9cb312
mov eax, dword [ebp - 0x28]
mov edx, dword [eax + 0x28]
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xc4]
add eax, edx
mov dword [ebp - 0x1b0], eax
fild dword [ebp - 0x1b0]
fadd st(0)
fstp dword [ebp - 0x1ac]
fld dword [ebp - 0x1ac]
mov eax, dword [ebp - 0x28]
fstp dword [eax + 0xf4]
jmp 0x6a9cb33b
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 0x28]
mov dword [ebp - 0x1b0], eax
fild dword [ebp - 0x1b0]
fadd st(0)
fstp dword [ebp - 0x1ac]
fld dword [ebp - 0x1ac]
mov eax, dword [ebp - 0x28]
fstp dword [eax + 0xf4]
mov eax, dword [ebp - 0x28]
fld dword [eax + 0xf0]
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 0x30]
mov dword [ebp - 0x1b0], eax
fild dword [ebp - 0x1b0]
fdivp st(1)
mov eax, dword [ebp - 0x28]
fstp dword [eax + 0xf0]
mov eax, dword [ebp - 0x28]
fld dword [eax + 0xf4]
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 0x30]
mov dword [ebp - 0x1b0], eax
fild dword [ebp - 0x1b0]
fdivp st(1)
mov eax, dword [ebp - 0x28]
fstp dword [eax + 0xf4]
jmp 0x6a9cb3a5
mov edx, dword [ebp - 0x28]
mov eax, dword [0x6ae3f8c0]
mov dword [edx + 0xf0], eax
mov edx, dword [ebp - 0x28]
mov eax, dword [0x6ae3f8c0]
mov dword [edx + 0xf4], eax
mov edx, dword [ebp - 0x28]
mov eax, dword [0x6ae3f8c0]
mov dword [edx + 0xe8], eax
mov edx, dword [ebp - 0x28]
mov eax, dword [0x6ae3f8c0]
mov dword [edx + 0xec], eax
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 0x24]
test eax, eax
jle 0x6a9cb4f3
mov eax, dword [ebp - 0x28]
mov edx, dword [eax + 0x24]
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 0x30]
mov ecx, eax
shr ecx, 0x1f
add eax, ecx
sar eax, 1
cmp edx, eax
jge 0x6a9cb4f3
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 0x24]
mov dword [ebp - 0x1b0], eax
fild dword [ebp - 0x1b0]
fadd st(0)
fstp dword [ebp - 0x1ac]
fld dword [ebp - 0x1ac]
mov eax, dword [ebp - 0x28]
fstp dword [eax + 0xec]
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xc0]
test eax, eax
js 0x6a9cb47e
mov eax, dword [ebp - 0x28]
mov edx, dword [eax + 0x24]
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xc0]
mov ecx, edx
sub ecx, eax
mov eax, ecx
mov dword [ebp - 0x1b0], eax
fild dword [ebp - 0x1b0]
fadd st(0)
fstp dword [ebp - 0x1ac]
fld dword [ebp - 0x1ac]
mov eax, dword [ebp - 0x28]
fstp dword [eax + 0xe8]
mov eax, dword [ebp - 0x28]
fld dword [eax + 0xe8]
fldz
fucompp
fnstsw ax
test ah, 0x45
jne 0x6a9cb4a7
mov edx, dword [ebp - 0x28]
mov eax, dword [0x6ae3f8c0]
mov dword [edx + 0xe8], eax
jmp 0x6a9cb4a7
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 0x24]
mov dword [ebp - 0x1b0], eax
fild dword [ebp - 0x1b0]
fadd st(0)
fstp dword [ebp - 0x1ac]
fld dword [ebp - 0x1ac]
mov eax, dword [ebp - 0x28]
fstp dword [eax + 0xe8]
mov eax, dword [ebp - 0x28]
fld dword [eax + 0xe8]
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 0x30]
mov dword [ebp - 0x1b0], eax
fild dword [ebp - 0x1b0]
fdivp st(1)
mov eax, dword [ebp - 0x28]
fstp dword [eax + 0xe8]
mov eax, dword [ebp - 0x28]
fld dword [eax + 0xec]
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 0x30]
mov dword [ebp - 0x1b0], eax
fild dword [ebp - 0x1b0]
fdivp st(1)
mov eax, dword [ebp - 0x28]
fstp dword [eax + 0xec]
mov eax, dword [ebp - 0x24]
mov dword [esp], eax
call fcn.6a9c97e3
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 0x30]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.6a9d3f4e
mov edx, dword [ebp - 0x28]
mov dword [edx + 4], eax
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 4]
test eax, eax
jns 0x6a9cb545
mov eax, dword [ebp - 0x24]
mov dword [esp], eax
call fcn.6a9d3725
mov eax, dword [ebp + 8]
mov dword [eax + 0x120], 0
mov eax, 0xffffffff
jmp 0x6a9cc4b0
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x9c]
test eax, eax
jne 0x6a9cb5f5
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 0x88]
test eax, eax
je 0x6a9cb575
mov eax, dword [ebp - 0x24]
mov dword [eax + 0x14b08], 0
jmp 0x6a9cb602
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 0x30]
mov eax, dword [ebp - 0x28]
mov edx, dword [eax]
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x60]
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.6a9d3cea
mov edx, dword [ebp + 8]
mov dword [edx + 0x60], eax
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 0x30]
mov eax, dword [ebp - 0x28]
mov edx, dword [eax]
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x60]
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.6a9d3ee9
mov edx, dword [ebp - 0x24]
mov dword [edx + 0x14b08], eax
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 0x14b08]
test eax, eax
jg 0x6a9cb602
mov eax, dword [ebp - 0x24]
mov dword [esp], eax
call fcn.6a9d3725
mov eax, dword [ebp + 8]
mov dword [eax + 0x120], 0
mov eax, 0xffffffff
jmp 0x6a9cc4b0
mov eax, dword [ebp - 0x24]
mov dword [eax + 0x14b08], 1
mov eax, dword [ebp - 0x24]
mov dword [esp], eax
call fcn.6a9dd14a
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 4]
mov eax, dword [ebp - 0x28]
mov edx, dword [eax]
mov eax, edx
shl eax, 1
add eax, edx
lea edx, [ecx + eax]
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 0x30]
cmp eax, 0x3e7f
jg 0x6a9cb635
mov eax, 6
jmp 0x6a9cb63a
mov eax, 0
add eax, edx
mov dword [ebp - 0x94], eax
mov dword [ebp - 0x1c], 0
jmp 0x6a9cb683
mov edx, dword [ebp - 0x94]
mov eax, edx
shl eax, 2
add eax, edx
lea ecx, [eax*4]
add eax, ecx
shl eax, 1
add eax, edx
mov edx, dword [ebp - 0x1c]
add eax, edx
mov edx, dword [eax*4 + 0x6ae3fb40]
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x1c]
add ecx, 0x14dc
mov dword [eax + ecx*4], edx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0x16
jle 0x6a9cb64b
mov dword [ebp - 0x1c], 0
jmp 0x6a9cb6f6
mov eax, dword [ebp - 0x24]
mov edx, dword [eax + 0x53c8]
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 0x53c4]
mov ecx, edx
sub ecx, eax
mov edx, 0x2aaaaaab
mov eax, ecx
imul edx
mov eax, ecx
sar eax, 0x1f
mov ecx, edx
sub ecx, eax
mov eax, ecx
mov dword [ebp - 0x98], eax
mov eax, dword [ebp - 0x24]
mov edx, dword [eax + 0x53c4]
mov eax, dword [ebp - 0x1c]
imul eax, dword [ebp - 0x98]
add eax, edx
mov dword [ebp - 0x9c], eax
mov eax, dword [ebp - 0x24]
mov edx, dword [ebp - 0x1c]
lea ecx, [edx + 0x1500]
mov edx, dword [ebp - 0x9c]
mov dword [eax + ecx*4 + 4], edx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 6
jle 0x6a9cb692
mov eax, dword [ebp - 0x24]
mov dword [eax + 0x541c], 0x240
mov dword [ebp - 0x1c], 0
jmp 0x6a9cb74e
mov edx, dword [ebp - 0x94]
mov eax, edx
shl eax, 2
add eax, edx
lea ecx, [eax*4]
add eax, ecx
shl eax, 1
add eax, edx
mov edx, dword [ebp - 0x1c]
add eax, edx
add eax, 0x14
mov edx, dword [eax*4 + 0x6ae3fb4c]
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x1c]
add ecx, 0x14f0
mov dword [eax + ecx*4 + 0xc], edx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0xd
jle 0x6a9cb712
mov dword [ebp - 0x1c], 0
jmp 0x6a9cb7c0
mov eax, dword [ebp - 0x24]
mov edx, dword [eax + 0x5400]
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 0x53fc]
mov ecx, edx
sub ecx, eax
mov edx, 0x2aaaaaab
mov eax, ecx
imul edx
mov eax, ecx
sar eax, 0x1f
mov ecx, edx
sub ecx, eax
mov eax, ecx
mov dword [ebp - 0xa0], eax
mov eax, dword [ebp - 0x24]
mov edx, dword [eax + 0x53fc]
mov eax, dword [ebp - 0x1c]
imul eax, dword [ebp - 0xa0]
add eax, edx
mov dword [ebp - 0xa4], eax
mov eax, dword [ebp - 0x24]
mov edx, dword [ebp - 0x1c]
lea ecx, [edx + 0x1508]
mov edx, dword [ebp - 0xa4]
mov dword [eax + ecx*4], edx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 6
jle 0x6a9cb75d
mov eax, dword [ebp - 0x24]
mov dword [eax + 0x5438], 0xc0
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 0x3c]
cmp eax, 2
jne 0x6a9cb7fd
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 0x38]
cmp eax, 1
jne 0x6a9cb7f0
mov eax, 0x15
jmp 0x6a9cb7f5
mov eax, 0x24
mov edx, dword [ebp - 0x28]
mov dword [edx + 8], eax
jmp 0x6a9cb81a
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 0x38]
cmp eax, 1
jne 0x6a9cb80f
mov eax, 0xd
jmp 0x6a9cb814
mov eax, 0x15
mov edx, dword [ebp - 0x28]
mov dword [edx + 8], eax
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 0x90]
test eax, eax
je 0x6a9cb836
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 8]
lea edx, [eax + 2]
mov eax, dword [ebp - 0x28]
mov dword [eax + 8], edx
mov eax, dword [ebp - 0x24]
mov dword [eax], 0xfff88e3b
mov dword [ebp - 0x20], 0
jmp 0x6a9cb898
mov eax, dword [ebp - 0x28]
mov edx, dword [eax + 0x3c]
mov eax, edx
shl eax, 2
add eax, edx
lea edx, [eax*4]
add eax, edx
lea edx, [eax*8]
sub edx, eax
lea eax, [edx*4]
mov edx, eax
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 0x38]
imul eax, edx
mov dword [ebp - 0x1b0], eax
fild dword [ebp - 0x1b0]
mov eax, dword [ebp - 0x24]
mov edx, dword [ebp - 0x20]
add edx, 0x26d0
fstp dword [eax + edx*4 + 0xc]
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 0x12
jle 0x6a9cb848
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xdc]
cmp eax, 0xffffffff
jne 0x6a9cb8b9
mov eax, dword [ebp + 8]
mov dword [eax + 0xdc], 4
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x9c]
cmp eax, 2
je 0x6a9cb9bd
cmp eax, 4
je 0x6a9cb8d9
cmp eax, 1
jne 0x6a9cba5e
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x7c]
test eax, eax
jns 0x6a9cb8ed
mov eax, dword [ebp + 8]
mov dword [eax + 0x7c], 2
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xf4]
test eax, eax
jns 0x6a9cb907
mov eax, dword [ebp + 8]
mov dword [eax + 0xf4], 0
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0xa4]
mov eax, edx
shl eax, 2
add eax, edx
shl eax, 1
neg eax
add eax, 0x1f4
mov dword [esp + 8], 0
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.6a9de12e
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x2c]
test eax, eax
jns 0x6a9cb94b
mov eax, dword [ebp + 8]
mov dword [eax + 0x2c], 3
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x2c]
cmp eax, 4
jg 0x6a9cb960
mov eax, dword [ebp + 8]
mov dword [eax + 0x2c], 0
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x2c]
cmp eax, 7
jle 0x6a9cb975
mov eax, dword [ebp + 8]
mov dword [eax + 0x2c], 7
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x8c]
test eax, eax
je 0x6a9cb991
mov eax, dword [ebp - 0x24]
mov dword [eax + 0x14c64], 0
jmp 0x6a9cb9ab
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 0x30]
cmp eax, 0xabe0
setg al
movzx edx, al
mov eax, dword [ebp - 0x24]
mov dword [eax + 0x14c64], edx
mov eax, dword [ebp - 0x24]
mov dword [eax + 0x14f34], 0x6a9d8482
jmp 0x6a9cbb01
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0xa4]
mov eax, edx
shl eax, 2
add eax, edx
shl eax, 1
neg eax
add eax, 0x1f4
mov dword [esp + 8], 0
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.6a9de12e
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x8c]
test eax, eax
je 0x6a9cba09
mov eax, dword [ebp - 0x24]
mov dword [eax + 0x14c64], 0
jmp 0x6a9cba23
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 0x30]
cmp eax, 0xabe0
setg al
movzx edx, al
mov eax, dword [ebp - 0x24]
mov dword [eax + 0x14c64], edx
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x2c]
cmp eax, 6
jle 0x6a9cba38
mov eax, dword [ebp + 8]
mov dword [eax + 0x2c], 6
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x2c]
test eax, eax
jns 0x6a9cba4c
mov eax, dword [ebp + 8]
mov dword [eax + 0x2c], 3
mov eax, dword [ebp - 0x24]
mov dword [eax + 0x14f34], 0x6a9d7d72
jmp 0x6a9cbb01
mov eax, dword [ebp - 0x24]
mov dword [eax + 0x14c64], 0
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x2c]
test eax, eax
jns 0x6a9cba7f
mov eax, dword [ebp + 8]
mov dword [eax + 0x2c], 3
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x9c]
mov dword [ebp - 0xa8], eax
cmp dword [ebp - 0xa8], 0
jne 0x6a9cbaac
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x60]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.6a9cfc51
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xa8]
mov dword [esp + 8], 0
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.6a9de12e
mov eax, dword [ebp + 8]
mov edx, dword [ebp - 0xa8]
mov dword [eax + 0x9c], edx
cmp dword [ebp - 0xa8], 0
jne 0x6a9cbaf3
mov eax, dword [ebp - 0x24]
mov dword [eax + 0x14f34], 0x6a9d9103
jmp 0x6a9cbb00
mov eax, dword [ebp - 0x24]
mov dword [eax + 0x14f34], 0x6a9d8dfc
nop
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xc8]
mov edx, dword [ebp - 0x24]
mov dword [edx + 0x14bb0], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xcc]
mov edx, dword [ebp - 0x24]
mov dword [edx + 0x14bb4], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x100]
test eax, eax
je 0x6a9cbb6c
mov eax, dword [ebp - 0x24]
fld dword [eax + 0x14bb0]
mov eax, dword [ebp + 8]
fld dword [eax + 0x104]
faddp st(1)
mov eax, dword [ebp - 0x24]
fstp dword [eax + 0x14bb0]
mov eax, dword [ebp - 0x24]
fld dword [eax + 0x14bb4]
mov eax, dword [ebp + 8]
fld dword [eax + 0x104]
faddp st(1)
mov eax, dword [ebp - 0x24]
fstp dword [eax + 0x14bb4]
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x9c]
test eax, eax
je 0x6a9cbd3a
mov eax, dword [ebp - 0x28]
mov dword [eax + 0x60], 1
mov eax, dword [ebp - 0x28]
mov dword [eax + 0x64], 0xe
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 0x30]
cmp eax, 0x3e7f
jg 0x6a9cbba8
mov eax, dword [ebp - 0x28]
mov dword [eax + 0x64], 8
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xac]
test eax, eax
je 0x6a9cbc20
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 0x30]
mov eax, dword [ebp - 0x28]
mov edx, dword [eax]
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xac]
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.6a9d3cea
mov edx, dword [ebp + 8]
mov dword [edx + 0xac], eax
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 0x30]
mov eax, dword [ebp - 0x28]
mov edx, dword [eax]
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xac]
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.6a9d3ee9
mov edx, dword [ebp - 0x28]
mov dword [edx + 0x60], eax
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 0x60]
test eax, eax
jns 0x6a9cbc20
mov eax, 0xffffffff
jmp 0x6a9cc4b0
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xb0]
test eax, eax
je 0x6a9cbc98
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 0x30]
mov eax, dword [ebp - 0x28]
mov edx, dword [eax]
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xb0]
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.6a9d3cea
mov edx, dword [ebp + 8]
mov dword [edx + 0xb0], eax
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 0x30]
mov eax, dword [ebp - 0x28]
mov edx, dword [eax]
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xb0]
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.6a9d3ee9
mov edx, dword [ebp - 0x28]
mov dword [edx + 0x64], eax
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 0x64]
test eax, eax
jns 0x6a9cbc98
mov eax, 0xffffffff
jmp 0x6a9cc4b0
mov eax, dword [ebp - 0x28]
mov edx, dword [eax]
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 0x60]
shl edx, 4
add eax, edx
mov edx, dword [eax*4 + 0x6ae41c40]
mov eax, dword [ebp + 8]
mov dword [eax + 0xac], edx
mov eax, dword [ebp - 0x28]
mov edx, dword [eax]
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 0x64]
shl edx, 4
add eax, edx
mov edx, dword [eax*4 + 0x6ae41c40]
mov eax, dword [ebp + 8]
mov dword [eax + 0xb0], edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0xa8]
mov eax, dword [ebp - 0x28]
mov edx, dword [eax]
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 0x64]
shl edx, 4
add eax, edx
mov edx, dword [eax*4 + 0x6ae41c40]
mov eax, ecx
cmp eax, edx
jle 0x6a9cbd00
mov eax, edx
mov edx, dword [ebp + 8]
mov dword [edx + 0xa8], eax
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0xa8]
mov eax, dword [ebp - 0x28]
mov edx, dword [eax]
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 0x60]
shl edx, 4
add eax, edx
mov edx, dword [eax*4 + 0x6ae41c40]
mov eax, ecx
cmp eax, edx
jge 0x6a9cbd31
mov eax, edx
mov edx, dword [ebp + 8]
mov dword [edx + 0xa8], eax
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x98]
mov eax, dword [ebp - 0x28]
mov dword [eax + 0x54], edx
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x24]
mov eax, dword [ebp - 0x28]
mov dword [eax + 0x8c], edx
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x9c]
mov eax, dword [ebp - 0x28]
mov dword [eax + 0x58], edx
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x50]
mov eax, dword [ebp - 0x24]
mov dword [eax + 0x14c68], edx
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x54]
mov eax, dword [ebp - 0x28]
mov dword [eax + 0xc], edx
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x58]
mov eax, dword [ebp - 0x28]
mov dword [eax + 0x10], edx
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x5c]
mov eax, dword [ebp - 0x28]
mov dword [eax + 0x14], edx
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x60]
mov eax, dword [ebp - 0x28]
mov dword [eax + 0x68], edx
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0xa8]
mov eax, dword [ebp - 0x28]
mov dword [eax + 0x5c], edx
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x64]
mov edx, dword [ebp - 0x28]
mov dword [edx + 0xe4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.6a9c9da3
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xe8]
test eax, eax
jns 0x6a9cbded
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 0x14f24]
mov dword [eax], 3
jmp 0x6a9cbe01
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 0x14f24]
mov edx, dword [ebp + 8]
mov edx, dword [edx + 0xe8]
mov dword [eax], edx
mov eax, dword [ebp - 0x24]
mov ebx, dword [eax + 0x14f24]
mov eax, dword [ebp + 8]
fld dword [eax + 0xec]
fld qword [0x6ae3f920]
fdivp st(1)
fstp qword [esp + 8]
mov eax, 0
mov edx, 0x40240000
mov dword [esp], eax
mov dword [esp + 4], edx
call sub.msvcrt.dll_pow
fstp dword [ebp - 0x1ac]
fld dword [ebp - 0x1ac]
fstp dword [ebx + 4]
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xf0]
cmp eax, 0xffffffff
jne 0x6a9cbe5f
mov eax, dword [ebp + 8]
mov dword [eax + 0xf0], 0
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xf0]
test eax, eax
jne 0x6a9cbe94
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 0xa4]
cmp eax, 1
je 0x6a9cbe87
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 0xa4]
test eax, eax
jne 0x6a9cbe94
mov eax, dword [ebp + 8]
mov dword [eax + 0xf0], 1
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0xf0]
mov eax, dword [ebp - 0x28]
mov dword [eax + 0xa8], edx
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.6a9cf8e0
test eax, eax
jns 0x6a9cbec8
mov dword [esp + 4], 1
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.6a9cf8b1
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.6a9cf936
test eax, eax
jns 0x6a9cbeea
mov dword [esp + 4], 0
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.6a9cf907
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.6a9d0d75
fldz
fucompp
fnstsw ax
test ah, 0x45
jne 0x6a9cbf1d
mov eax, 0
mov edx, 0
mov dword [esp + 4], eax
mov dword [esp + 8], edx
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.6a9d0d40
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.6a9cfa38
or eax, 1
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.6a9cfa09
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xdc]
test eax, eax
jns 0x6a9cbf54
mov eax, dword [ebp + 8]
mov dword [eax + 0xdc], 4
mov eax, dword [ebp + 8]
fld dword [eax + 0xe0]
fldz
fucompp
fnstsw ax
test ah, 0x45
jne 0x6a9cbf76
mov edx, dword [ebp + 8]
mov eax, dword [0x6ae3f930]
mov dword [edx + 0xe0], eax
mov eax, dword [ebp + 8]
fld dword [eax + 0xf8]
fldz
fucompp
fnstsw ax
test ah, 0x45
jne 0x6a9cbf98
mov edx, dword [ebp + 8]
mov eax, dword [0x6ae3f8c0]
mov dword [edx + 0xf8], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xf4]
test eax, eax
jns 0x6a9cbfb2
mov eax, dword [ebp + 8]
mov dword [eax + 0xf4], 1
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xf8]
mov edx, dword [ebp - 0x28]
mov dword [edx + 0xac], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xfc]
mov edx, dword [ebp - 0x28]
mov dword [edx + 0xb0], eax
mov eax, dword [ebp + 8]
fld dword [eax + 0xe4]
fldz
fsubrp st(1)
mov eax, dword [ebp - 0x28]
fstp dword [eax + 0xb4]
mov eax, dword [ebp - 0x28]
fld dword [eax + 0xb4]
fld dword [0x6ae3f934]
fmulp st(1)
fstp dword [esp + 4]
mov eax, dword [0x6ae3f938]
mov dword [esp], eax
call fcn.6aa7ef10
mov eax, dword [ebp - 0x28]
fstp dword [eax + 0xb8]
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xe0]
mov edx, dword [ebp - 0x28]
mov dword [edx + 0xbc], eax
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0xdc]
mov eax, dword [ebp - 0x28]
mov dword [eax + 0xc0], edx
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0xd0]
mov eax, dword [ebp - 0x28]
mov dword [eax + 0xc4], edx
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0xd4]
mov eax, dword [ebp - 0x28]
mov dword [eax + 0xc8], edx
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0xd8]
mov eax, dword [ebp - 0x28]
mov dword [eax + 0xcc], edx
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x84]
mov eax, dword [ebp - 0x28]
mov dword [eax + 0x44], edx
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x88]
mov eax, dword [ebp - 0x28]
mov dword [eax + 0x48], edx
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0xf4]
mov eax, dword [ebp - 0x28]
mov dword [eax + 0x4c], edx
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x94]
mov edx, eax
and edx, 2
mov eax, dword [ebp - 0x28]
mov dword [eax + 0x50], edx
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x94]
sar eax, 2
and eax, 0x3f
mov dword [ebp - 0x1b0], eax
fild dword [ebp - 0x1b0]
mov eax, dword [ebp - 0x28]
fstp dword [eax + 0xd8]
mov eax, dword [ebp - 0x28]
fld dword [eax + 0xd8]
fld dword [0x6ae3f93c]
fxch st(1)
fucompp
fnstsw ax
test ah, 5
jne 0x6a9cc10a
mov eax, dword [ebp - 0x28]
fld dword [eax + 0xd8]
fld dword [0x6ae3f940]
fsubp st(1)
mov eax, dword [ebp - 0x28]
fstp dword [eax + 0xd8]
mov eax, dword [ebp - 0x28]
fld dword [eax + 0xd8]
fld dword [0x6ae3f944]
fmulp st(1)
mov eax, dword [ebp - 0x28]
fstp dword [eax + 0xd8]
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x94]
sar eax, 8
and eax, 0x3f
mov dword [ebp - 0x1b0], eax
fild dword [ebp - 0x1b0]
mov eax, dword [ebp - 0x28]
fstp dword [eax + 0xd4]
mov eax, dword [ebp - 0x28]
fld dword [eax + 0xd4]
fld dword [0x6ae3f93c]
fxch st(1)
fucompp
fnstsw ax
test ah, 5
jne 0x6a9cc17c
mov eax, dword [ebp - 0x28]
fld dword [eax + 0xd4]
fld dword [0x6ae3f940]
fsubp st(1)
mov eax, dword [ebp - 0x28]
fstp dword [eax + 0xd4]
mov eax, dword [ebp - 0x28]
fld dword [eax + 0xd4]
fld dword [0x6ae3f944]
fmulp st(1)
mov eax, dword [ebp - 0x28]
fstp dword [eax + 0xd4]
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x94]
sar eax, 0xe
and eax, 0x3f
mov dword [ebp - 0x1b0], eax
fild dword [ebp - 0x1b0]
mov eax, dword [ebp - 0x28]
fstp dword [eax + 0xdc]
mov eax, dword [ebp - 0x28]
fld dword [eax + 0xdc]
fld dword [0x6ae3f93c]
fxch st(1)
fucompp
fnstsw ax
test ah, 5
jne 0x6a9cc1ee
mov eax, dword [ebp - 0x28]
fld dword [eax + 0xdc]
fld dword [0x6ae3f940]
fsubp st(1)
mov eax, dword [ebp - 0x28]
fstp dword [eax + 0xdc]
mov eax, dword [ebp - 0x28]
fld dword [eax + 0xdc]
fld dword [0x6ae3f944]
fmulp st(1)
mov eax, dword [ebp - 0x28]
fstp dword [eax + 0xdc]
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x94]
sar eax, 0x14
and eax, 0x3f
mov dword [ebp - 0x1b0], eax
fild dword [ebp - 0x1b0]
mov eax, dword [ebp - 0x28]
fstp dword [eax + 0xe0]
mov eax, dword [ebp - 0x28]
fld dword [eax + 0xe0]
fld dword [0x6ae3f93c]
fxch st(1)
fucompp
fnstsw ax
test ah, 5
jne 0x6a9cc260
mov eax, dword [ebp - 0x28]
fld dword [eax + 0xe0]
fld dword [0x6ae3f940]
fsubp st(1)
mov eax, dword [ebp - 0x28]
fstp dword [eax + 0xe0]
mov eax, dword [ebp - 0x28]
fld dword [eax + 0xe0]
fld dword [0x6ae3f944]
fmulp st(1)
mov eax, dword [ebp - 0x28]
fstp dword [eax + 0xe0]
mov eax, dword [ebp - 0x28]
fld dword [eax + 0xe0]
mov eax, dword [ebp - 0x28]
fld dword [eax + 0xdc]
faddp st(1)
mov eax, dword [ebp - 0x28]
fstp dword [eax + 0xe0]
lea edx, [ebp - 0xc8]
mov ebx, 0x6aada7a8
mov eax, 4
mov edi, edx
mov esi, ebx
mov ecx, eax
rep movsd dword es:[edi], dword [esi]
fld dword [ebp - 0xc8]
mov eax, dword [ebp + 8]
fld dword [eax + 0x14]
fmulp st(1)
fstp dword [ebp - 0xc8]
fld dword [ebp - 0xc4]
mov eax, dword [ebp + 8]
fld dword [eax + 0x14]
fmulp st(1)
fstp dword [ebp - 0xc4]
fld dword [ebp - 0xc0]
mov eax, dword [ebp + 8]
fld dword [eax + 0x14]
fmulp st(1)
fstp dword [ebp - 0xc0]
fld dword [ebp - 0xbc]
mov eax, dword [ebp + 8]
fld dword [eax + 0x14]
fmulp st(1)
fstp dword [ebp - 0xbc]
fld dword [ebp - 0xc8]
mov eax, dword [ebp + 8]
fld dword [eax + 0x18]
fmulp st(1)
fstp dword [ebp - 0xc8]
fld dword [ebp - 0xc4]
mov eax, dword [ebp + 8]
fld dword [eax + 0x18]
fmulp st(1)
fstp dword [ebp - 0xc4]
fld dword [ebp - 0xc0]
mov eax, dword [ebp + 8]
fld dword [eax + 0x1c]
fmulp st(1)
fstp dword [ebp - 0xc0]
fld dword [ebp - 0xbc]
mov eax, dword [ebp + 8]
fld dword [eax + 0x1c]
fmulp st(1)
fstp dword [ebp - 0xbc]
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 0x34]
cmp eax, 2
jne 0x6a9cc3b3
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 0x38]
cmp eax, 1
jne 0x6a9cc3b3
fld dword [ebp - 0xc8]
fld dword [ebp - 0xc0]
faddp st(1)
fld dword [0x6ae3f948]
fmulp st(1)
fstp dword [ebp - 0xc8]
fld dword [ebp - 0xc4]
fld dword [ebp - 0xbc]
faddp st(1)
fld dword [0x6ae3f948]
fmulp st(1)
fstp dword [ebp - 0xc4]
mov eax, dword [0x6ae3f8c0]
mov dword [ebp - 0xc0], eax
mov eax, dword [0x6ae3f8c0]
mov dword [ebp - 0xbc], eax
mov eax, dword [ebp - 0xc8]
mov edx, dword [ebp - 0x28]
mov dword [edx + 0xf8], eax
mov eax, dword [ebp - 0xc4]
mov edx, dword [ebp - 0x28]
mov dword [edx + 0xfc], eax
mov eax, dword [ebp - 0xc0]
mov edx, dword [ebp - 0x28]
mov dword [edx + 0x100], eax
mov eax, dword [ebp - 0xbc]
mov edx, dword [ebp - 0x28]
mov dword [edx + 0x104], eax
mov eax, dword [ebp - 0x24]
mov dword [eax + 0x9b98], 0
mov eax, dword [ebp - 0x24]
mov edx, dword [eax + 0x9b98]
mov eax, dword [ebp - 0x24]
mov dword [eax + 0x9b9c], edx
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 0x58]
test eax, eax
jne 0x6a9cc46c
mov eax, dword [ebp - 0x28]
mov eax, dword [eax]
lea ecx, [eax + 1]
mov edx, ecx
shl edx, 2
add edx, ecx
lea eax, [edx*8]
sub eax, edx
shl eax, 3
add eax, ecx
shl eax, 2
add eax, ecx
shl eax, 6
mov edx, eax
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 0x68]
imul eax, edx
mov edx, dword [ebp - 0x28]
mov ecx, dword [edx + 0x30]
cdq
idiv ecx
mov eax, dword [ebp - 0x24]
mov dword [eax + 0x9b98], edx
mov eax, dword [ebp - 0x24]
mov edx, dword [eax + 0x9b98]
mov eax, dword [ebp - 0x24]
mov dword [eax + 0x9b9c], edx
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.6a9cde81
mov eax, dword [ebp - 0x24]
mov dword [esp], eax
call fcn.6a9d1376
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.6a9e26a1
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x7c]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x28]
mov dword [esp], eax
call fcn.6a9dad58
mov edx, dword [ebp - 0x28]
mov dword [edx + 0x84], eax
mov eax, 0
add esp, 0x1cc
pop ebx
pop esi
pop edi
pop ebp
ret