Function at 0x10aaeaf0
Capabilities:
Execute anti-debugging instructions

Disassembly:
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x10e1d698
push eax
mov dword fs:[0], esp
sub esp, 0x64
push ebx
mov ebx, dword [esp + 0x7c]
mov ecx, dword [ebx + 0x40]
push ebp
xor ebp, ebp
cmp ecx, ebp
push esi
push edi
je 0x10aaf2db
fld dword [0x10e4500c]
fld dword [esp + 0x98]
fucompp
fnstsw ax
test ah, 0x44
jp 0x10aaeb3e
mov dword [esp + 0x98], 0x44160000
fld dword [esp + 0x98]
mov eax, dword [0x110baf58]
cmp eax, ecx
fmul dword [esp + 0x98]
fstp dword [esp + 0x24]
jne 0x10aaeb65
cmp dword [0x110baf6c], ebp
jne 0x10aaee3b
mov eax, ecx
lea ecx, [eax + 0x134]
mov dword [0x110baf58], eax
mov eax, dword [ecx]
call dword [eax]
push 4
mov ecx, 0x110baf74
mov dword [0x110baf78], ebp
mov dword [0x110baf7c], ebp
call fcn.109b8e40
push 0x14
mov ecx, 0x110baf68
mov dword [0x110baf6c], ebp
mov dword [0x110baf70], ebp
call fcn.109b8e40
mov ecx, dword [0x110baf58]
mov eax, dword [ecx + 0x148]
push eax
push 0x14
mov ecx, 0x110baf68
call fcn.10923200
mov dword [0x10f4a1f4], 0xc7c34ff3
mov esi, dword [ebx + 0x40]
mov ebx, dword [0x110baf58]
add esi, 0x2c
mov ecx, 7
mov edi, 0x110baf84
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebx + 0x148]
test eax, eax
mov dword [esp + 0x20], ebp
jle 0x10aaedf1
mov dword [esp + 0x28], 0
mov dword [esp + 0x2c], 0
mov dword [esp + 0x30], 0
jmp 0x10aaec10
mov edx, dword [esp + 0x30]
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x2c]
mov esi, ebp
imul esi, esi, 0x104
mov dword [esp + 0x6c], edx
mov dword [esp + 0x60], edx
mov edx, dword [ebx + 0x144]
lea edi, [esi + edx]
mov dword [esp + 0x64], ecx
mov dword [esp + 0x58], ecx
push edi
lea ecx, [esp + 0x5c]
mov dword [esp + 0x6c], eax
mov dword [esp + 0x60], eax
mov byte [esp + 0x74], 0
call fcn.10971530
lea eax, [edi + 0xc]
push eax
lea ecx, [esp + 0x5c]
call fcn.10971530
add edi, 0x18
push edi
lea ecx, [esp + 0x5c]
call fcn.10971530
mov ecx, dword [ebx + 0x144]
fld dword [esi + ecx + 0x20]
lea eax, [esi + ecx]
fsub dword [eax + 0x14]
fld dword [eax + 0x1c]
fsub dword [eax + 0x10]
fld dword [eax + 0x18]
fsub dword [eax + 0xc]
fld dword [eax + 8]
fsub dword [eax + 0x14]
fstp dword [esp + 0x14]
fld dword [eax + 4]
fsub dword [eax + 0x10]
fstp dword [esp + 0x10]
fld dword [eax]
fsub dword [eax + 0xc]
fld st(0)
fmul st(3)
fld dword [esp + 0x10]
fmul st(3)
fsubp st(1)
fstp dword [esp + 0x1c]
fld dword [esp + 0x14]
fmul st(2)
fxch st(1)
fmul st(4)
fsubp st(1)
fstp dword [esp + 0x18]
fstp st(0)
fld dword [esp + 0x10]
fmulp st(2)
fld dword [esp + 0x14]
fmul st(1)
fsubp st(2)
fstp st(0)
fld st(0)
fmulp st(1)
fld dword [esp + 0x18]
fmul dword [esp + 0x18]
faddp st(1)
fld dword [esp + 0x1c]
fmul dword [esp + 0x1c]
faddp st(1)
fsqrt
fmul dword [0x10e4708c]
fld dword [esp + 0x6c]
fadd dword [esp + 0x60]
fld dword [esp + 0x68]
fadd dword [esp + 0x5c]
fstp dword [esp + 0x1c]
fld dword [esp + 0x64]
fadd dword [esp + 0x58]
fstp dword [esp + 0x40]
fmul dword [0x10e4708c]
fld dword [esp + 0x1c]
mov edx, dword [0x110baf68]
fmul dword [0x10e4708c]
lea eax, [ebp + ebp*4]
fld dword [esp + 0x40]
shl eax, 2
fmul dword [0x10e4708c]
lea ecx, [eax + edx]
fstp dword [esp + 0x34]
mov edx, dword [esp + 0x34]
mov dword [ecx], edx
fstp dword [esp + 0x38]
mov edx, dword [esp + 0x38]
mov dword [ecx + 4], edx
fstp dword [esp + 0x3c]
mov edx, dword [esp + 0x3c]
mov dword [ecx + 8], edx
mov ecx, dword [0x110baf68]
fld dword [eax + ecx + 8]
fsub dword [esp + 0x6c]
fld dword [eax + ecx + 4]
fsub dword [esp + 0x68]
fld dword [eax + ecx]
fsub dword [esp + 0x64]
fld st(0)
fmul st(1)
fld st(2)
fmul st(3)
faddp st(1)
fld st(3)
fmul st(4)
faddp st(1)
fstp dword [eax + ecx + 0xc]
mov ecx, dword [0x110baf68]
fstp st(0)
fstp st(0)
fstp st(0)
fld st(0)
fstp dword [eax + ecx + 0x10]
fcom dword [0x10f4a1f4]
fnstsw ax
test ah, 0x41
jne 0x10aaedb7
fstp dword [0x10f4a1f4]
jmp 0x10aaedb9
fstp st(0)
sub esp, 0x1c
mov edi, esp
mov ecx, 7
lea esi, [esp + 0x74]
lea edx, [esp + 0x3c]
rep movsd dword es:[edi], dword [esi]
push edx
mov ecx, 0x110baf80
call fcn.10aae9d0
mov ebx, dword [0x110baf58]
mov eax, dword [ebx + 0x148]
inc ebp
cmp ebp, eax
mov dword [esp + 0x20], ebp
jl 0x10aaec10
mov eax, dword [0x110baf6c]
xor ecx, ecx
test eax, eax
jle 0x10aaee20
xor eax, eax
mov edi, edi
mov edx, dword [0x110baf68]
fld dword [eax + edx + 0x10]
inc ecx
fdiv dword [0x10f4a1f4]
add eax, 0x14
fstp dword [eax + edx - 4]
cmp ecx, dword [0x110baf6c]
jl 0x10aaee00
fld dword [0x10e45008]
mov ebx, dword [esp + 0x88]
fdiv dword [0x10f4a1f4]
xor ebp, ebp
fstp dword [0x10f4a1f4]
rdtsc
mov dword [0x10fab810], edx
mov dword [0x10fab80c], eax
fld dword [esp + 0x8c]
fld dword [0x10f4a1f8]
mov eax, dword [0x10fab80c]
mov ecx, dword [0x110baf60]
fucompp
mov esi, dword [0x110baf78]
sub ecx, eax
mov edi, esi
fnstsw ax
mov dword [0x110baf60], ecx
mov dword [esp + 0x1c], edi
test ah, 0x44
jp 0x10aaeec3
fld dword [esp + 0x90]
fld dword [0x10f4a1fc]
fucompp
fnstsw ax
test ah, 0x44
jp 0x10aaeec3
fld dword [esp + 0x94]
fld dword [0x10f4a200]
fucompp
fnstsw ax
test ah, 0x44
jp 0x10aaeec3
fld dword [esp + 0x98]
fld dword [0x110baf5c]
fucompp
fnstsw ax
test ah, 0x44
jnp 0x10aaf0a1
mov ecx, dword [esp + 0x8c]
mov edx, dword [esp + 0x90]
mov eax, dword [esp + 0x94]
mov dword [0x10f4a1f8], ecx
mov ecx, dword [esp + 0x98]
mov dword [0x110baf5c], ecx
push 4
mov ecx, 0x110baf74
mov dword [0x10f4a1fc], edx
mov dword [0x10f4a200], eax
mov dword [0x110baf78], ebp
mov dword [0x110baf7c], esi
call fcn.109b8e40
fld dword [esp + 0x8c]
fsub dword [ebx + 0x148]
mov edx, dword [esp + 0x98]
mov eax, edx
mov ecx, edx
fstp dword [esp + 0x8c]
mov dword [esp + 0x34], edx
fld dword [esp + 0x90]
mov dword [esp + 0x38], eax
fsub dword [ebx + 0x14c]
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x28], ebp
mov dword [esp + 0x2c], ebp
fstp dword [esp + 0x90]
mov dword [esp + 0x30], ebp
fld dword [esp + 0x94]
fsub dword [ebx + 0x150]
fstp dword [esp + 0x94]
lea edx, [esp + 0x28]
push edx
lea eax, [esp + 0x38]
push eax
lea ecx, [esp + 0x94]
push ecx
mov ecx, 0x110baf80
mov dword [esp + 0x88], ebp
call fcn.10aae760
mov ecx, dword [esp + 0x2c]
xor eax, eax
cmp ecx, ebp
mov dword [esp + 0x20], eax
jle 0x10aaf08a
mov edx, dword [esp + 0x28]
mov ebx, dword [edx + eax*4]
mov ecx, dword [ebx + 0x44]
xor edi, edi
cmp ecx, ebp
jle 0x10aaf06e
jmp 0x10aaefc0
mov eax, dword [ebx + 0x40]
mov edx, dword [0x110baf68]
lea esi, [eax + edi*4]
mov eax, dword [esi]
lea ecx, [eax + eax*4]
fld dword [edx + ecx*4 + 8]
lea eax, [edx + ecx*4]
fsub dword [esp + 0x94]
fld dword [eax + 4]
fsub dword [esp + 0x90]
fld dword [eax]
fsub dword [esp + 0x8c]
fld st(0)
fmul st(1)
fld st(2)
fmul st(3)
faddp st(1)
fld st(3)
fmul st(4)
faddp st(1)
fld dword [esp + 0x24]
fadd dword [eax + 0xc]
fcompp
fstp st(0)
fnstsw ax
fstp st(0)
test ah, 0x41
fstp st(0)
jne 0x10aaf05e
mov ecx, dword [0x110baf78]
mov eax, dword [0x110baf7c]
mov ebp, ecx
inc ecx
cmp ecx, eax
mov dword [0x110baf78], ecx
jle 0x10aaf051
lea eax, [ecx + ecx*2]
cdq
and edx, 7
add eax, edx
sar eax, 3
lea eax, [eax + ecx + 0x20]
push 4
mov ecx, 0x110baf74
mov dword [0x110baf7c], eax
call fcn.109b8e40
mov ecx, dword [esi]
mov edx, dword [0x110baf74]
mov dword [edx + ebp*4], ecx
xor ebp, ebp
mov eax, dword [ebx + 0x44]
inc edi
cmp edi, eax
jl 0x10aaefc0
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x2c]
inc eax
cmp eax, ecx
mov dword [esp + 0x20], eax
jl 0x10aaefa2
mov edi, dword [esp + 0x1c]
mov ebx, dword [esp + 0x88]
lea ecx, [esp + 0x28]
mov dword [esp + 0x7c], 0xffffffff
call fcn.10aadfe0
mov esi, dword [0x110baf78]
cmp edi, ebp
je 0x10aaf2db
cmp esi, ebp
jne 0x10aaf0e4
cmp edi, dword [0x110baf7c]
mov esi, edi
mov dword [0x110baf78], esi
jle 0x10aaf0e4
lea eax, [edi + edi*2]
cdq
and edx, 7
add eax, edx
sar eax, 3
lea eax, [eax + edi + 0x20]
push 4
mov ecx, 0x110baf74
mov dword [0x110baf7c], eax
call fcn.109b8e40
mov esi, dword [0x110baf78]
mov eax, dword [0x10f46d80]
imul eax, eax, 0xbb38435
add eax, 0x3619636b
mov ecx, eax
mov dword [0x10f46d80], eax
imul eax, eax, 0xbb38435
shr ecx, 0x10
mov dword [esp + 0x88], ecx
add eax, 0x3619636b
mov edx, eax
fild dword [esp + 0x88]
shr edx, 0x10
mov dword [esp + 0x88], edx
mov dword [0x10f46d80], eax
imul eax, eax, 0xbb38435
fmul dword [0x10e93d00]
fsubr dword [0x10e45008]
fstp dword [esp + 0x28]
fld dword [0x10e45008]
fsub dword [esp + 0x28]
fild dword [esp + 0x88]
add eax, 0x3619636b
mov ecx, eax
fmul st(1)
shr eax, 0x11
xor edx, edx
div esi
fmul dword [0x10e93d00]
fstp dword [esp + 0x2c]
fsub dword [esp + 0x2c]
xor edi, edi
fstp dword [esp + 0x30]
mov eax, dword [0x110baf74]
imul ecx, ecx, 0xbb38435
add ecx, 0x3619636b
mov ebp, ecx
shr ebp, 0x10
mov dword [esp + 0x88], ebp
mov ebp, dword [0x110baf68]
mov dword [0x10f46d80], ecx
fild dword [esp + 0x88]
mov eax, dword [eax + edx*4]
lea eax, [eax + eax*4]
fmul dword [0x10e93d00]
fcomp dword [ebp + eax*4 + 0x10]
fnstsw ax
test ah, 0x41
jne 0x10aaf1db
imul ecx, ecx, 0xbb38435
add ecx, 0x3619636b
mov eax, ecx
shr eax, 0x11
xor edx, edx
div esi
inc edi
cmp edi, 0xa
mov dword [0x10f46d80], ecx
jl 0x10aaf173
mov ecx, dword [0x110baf74]
fld dword [esp + 0x30]
mov edx, dword [ecx + edx*4]
mov eax, dword [0x110baf58]
imul edx, edx, 0x104
mov ecx, dword [eax + 0x144]
lea eax, [edx + ecx]
mov edx, dword [esp + 0x84]
fmul dword [eax + 0x18]
fld dword [esp + 0x30]
fmul dword [eax + 0x1c]
fld dword [esp + 0x30]
fmul dword [eax + 0x20]
fstp dword [esp + 0x54]
fld dword [esp + 0x2c]
fmul dword [eax + 0xc]
fld dword [esp + 0x2c]
fmul dword [eax + 0x10]
fld dword [esp + 0x2c]
fmul dword [eax + 0x14]
fstp dword [esp + 0x48]
fld dword [esp + 0x28]
fmul dword [eax]
fld dword [esp + 0x28]
fmul dword [eax + 4]
fstp dword [esp + 0x38]
fld dword [esp + 0x28]
fmul dword [eax + 8]
fstp dword [esp + 0x3c]
fadd st(2)
fstp dword [esp + 0x28]
fld dword [esp + 0x38]
fadd st(1)
fstp st(2)
fstp st(0)
fld dword [esp + 0x3c]
fadd dword [esp + 0x48]
fstp dword [esp + 0x30]
fld dword [esp + 0x28]
fadd st(3)
fstp dword [esp + 0x40]
fadd st(1)
fstp st(2)
fstp st(0)
fld dword [esp + 0x30]
fadd dword [esp + 0x54]
fld dword [esp + 0x40]
fadd dword [ebx + 0x148]
fstp dword [esp + 0x34]
mov eax, dword [esp + 0x34]
fxch st(1)
fadd dword [ebx + 0x14c]
fstp dword [esp + 0x38]
mov ecx, dword [esp + 0x38]
fadd dword [ebx + 0x150]
mov dword [edx], eax
mov dword [edx + 4], ecx
fstp dword [esp + 0x3c]
mov eax, dword [esp + 0x3c]
mov dword [edx + 8], eax
rdtsc
mov dword [0x10fab810], edx
mov dword [0x10fab80c], eax
mov ecx, dword [0x110baf60]
mov edx, dword [0x10fab80c]
lea eax, [ecx + edx - 0xc]
mov dword [0x110baf60], eax
mov ecx, dword [esp + 0x74]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0x70
ret