Function at 0x8abdd0
Capabilities:
Execute anti-debugging instructions

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x484
mov dword [ebp - 0x1c], esp
mov dword [ebp - 0x10], 0xffffffff
lea eax, [ebp - 0x18]
mov dword [ebp - 0x14], 0x8b0090
mov ecx, dword fs:[0]
mov dword [ebp - 0x18], ecx
mov dword fs:[0], eax
mov dword [ebp - 0x24], 0
call fcn.008ad430
mov dword [ebp - 0x78], eax
cmp dword [ebp + 8], 0x12345678
je 0x8abe3e
nop
mov esi, dword [ebp + 0xc]
call fcn.008abc50
rdtsc
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x74], edx
cmp esi, 0x10000
jae 0x8abe65
xor ebx, ebx
mov eax, dword [ebp + 8]
mov esi, eax
test eax, eax
jne 0x8abe7c
jmp 0x8abe75
cmp dword [0xa74820], 0x33c0
jne 0x8ac4b9
sub esp, 4
call fcn.008ad420
add eax, 0x33c0
mov dword [0xa74820], eax
jmp 0x8ac4b9
nop
cmp byte [esi], 0
sete bl
mov eax, dword [ebp + 8]
mov esi, eax
test eax, eax
jne 0x8abe7c
call fcn.008ad440
mov esi, eax
movzx eax, byte [0xa8d9c0]
test al, 1
je 0x8abeb7
call fcn.008b3b20
test eax, eax
je 0x8abeb7
mov edx, dword [ebp + 0xc]
cmp edx, 0xffff
ja 0x8abee6
lea ecx, [ebp - 0x24]
push ecx
push edx
push 0
push dword [ebp + 8]
call eax
cmp eax, 0xc0000138
je 0x8abf37
jmp 0x8abf3f
test esi, esi
je 0x8abf3f
mov eax, dword [esi + 0x3c]
test eax, eax
je 0x8abf3f
cmp dword [esi + eax], 0x4550
jne 0x8abf3f
nop
cmp dword [esi + eax + 0x78], 0
je 0x8abedf
nop
cmp dword [esi + eax + 0x7c], 0
jne 0x8abf3f
mov bl, 1
jmp 0x8ac059
test edx, edx
je 0x8abf04
mov ecx, 0xffffffff
nop
cmp byte [edx + ecx + 1], 0
lea ecx, [ecx + 1]
jne 0x8abef0
nop
mov dword [ebp - 0x10], 0xffffffff
jmp 0x8abf06
xor ecx, ecx
mov word [ebp - 0x490], cx
inc ecx
mov word [ebp - 0x48e], cx
mov ecx, dword [ebp + 0xc]
mov dword [ebp - 0x48c], ecx
lea ecx, [ebp - 0x24]
lea edx, [ebp - 0x490]
push ecx
push 0
push edx
push dword [ebp + 8]
call eax
cmp eax, 0xc0000138
jne 0x8abf3f
nop
mov dword [ebp - 0x24], 0
lea eax, [ebp - 0x490]
push 0x400
push 0
push eax
call fcn.009350b0
add esp, 0xc
test bl, bl
jne 0x8ac057
nop
push dword [ebp + 8]
call fcn.00887fa0
xor ebx, ebx
test eax, eax
je 0x8ac059
xor edx, edx
nop word cs:[eax + eax]
mov dword [ebp - 0x28], edx
movzx ecx, word [eax + edx*2]
test ecx, ecx
je 0x8abf9d
cmp ecx, 0x2e
je 0x8abf9d
mov edx, dword [ebp - 0x28]
mov byte [ebp + edx - 0x490], cl
inc edx
jmp 0x8abf80
mov eax, 0x400
sub eax, dword [ebp - 0x28]
mov dword [ebp - 0x2c], eax
cmp eax, 2
jb 0x8ac057
nop
mov esi, dword [ebp + 0xc]
cmp esi, 0xffff
mov dword [ebp - 0x30], 0xf
mov dword [ebp - 0x34], 1
mov word [ebp - 0x44], 0x2e
ja 0x8ac177
mov dword [ebp - 0x34], 2
mov word [ebp - 0x43], 0x23
movzx ebx, si
xor esi, esi
lea edi, [ebp - 0x7b]
nop word [eax + eax]
mov eax, ebx
mov ecx, 0xcccccccd
mul ecx
shr edx, 3
lea eax, [edx + edx]
lea eax, [eax + eax*4]
mov ecx, ebx
sub ecx, eax
or cl, 0x30
mov byte [edi - 1], cl
dec edi
inc esi
cmp ebx, 9
mov ebx, edx
ja 0x8abff0
mov dword [ebp - 0x50], 0
mov dword [ebp - 0x4c], 0xf
mov byte [ebp - 0x60], 0
cmp esi, 0xf
jbe 0x8ac1df
nop
mov dword [ebp - 0x10], 2
sub esp, 0xc
movzx eax, byte [ebp - 0x48]
mov byte [esp + 4], al
mov dword [esp + 8], edi
mov dword [esp], esi
lea ecx, [ebp - 0x60]
call fcn.006704d0
jmp 0x8ac1f5
xor ebx, ebx
lea eax, [ebp - 0x490]
push 0x400
push 0
push eax
call fcn.009350b0
add esp, 0xc
rdtsc
sub eax, dword [ebp - 0x70]
sbb edx, dword [ebp - 0x74]
mov ecx, dword [0xa747e8]
or ecx, dword [0xa747ec]
je 0x8ac098
nop
mov ecx, dword [0xa747ec]
mov esi, dword [0xa747e8]
cmp esi, eax
sbb ecx, edx
jae 0x8ac0a4
nop
mov dword [0xa747e8], eax
mov dword [0xa747ec], edx
nop
cmp dword [ebp - 0x24], 0
setne al
or bl, al
mov dword [ebp - 0x10], 0xffffffff
jne 0x8ac492
call fcn.008ad450
cmp eax, 0x4750412d
je 0x8ac492
call fcn.008b3b20
test eax, eax
je 0x8ac492
nop
inc dword [0xa747b4]
mov edx, dword [ebp + 0xc]
cmp edx, 0xffff
ja 0x8ac0ff
lea ecx, [ebp - 0x24]
push ecx
push edx
push 0
push dword [ebp + 8]
call eax
cmp eax, 0xc0000142
jne 0x8ac146
jmp 0x8ac14d
xor ecx, ecx
test edx, edx
je 0x8ac121
nop word cs:[eax + eax]
cmp byte [edx + ecx], 0
lea ecx, [ecx + 1]
jne 0x8ac110
dec ecx
mov dword [ebp - 0x10], 0xffffffff
mov word [ebp - 0x44], cx
inc ecx
mov word [ebp - 0x42], cx
mov ecx, dword [ebp + 0xc]
mov dword [ebp - 0x40], ecx
lea ecx, [ebp - 0x24]
lea edx, [ebp - 0x44]
push ecx
push 0
push edx
push dword [ebp + 8]
call eax
cmp eax, 0xc0000142
je 0x8ac14d
cmp eax, 0xc0000138
jne 0x8ac1b9
nop
mov dword [ebp - 0x24], 0
nop
inc dword [0xa747d0]
inc dword [0xa747b8]
cmp dword [ebp + 0xc], 0xffff
ja 0x8ac1ad
nop
inc dword [0xa747bc]
jmp 0x8ac492
push esi
call fcn.00903f50
add esp, 4
cmp eax, 0xe
jbe 0x8ac203
nop
mov dword [ebp - 0x10], 2
sub esp, 0x10
movzx ecx, byte [ebp - 0x60]
mov byte [esp + 4], cl
mov dword [esp + 0xc], eax
mov dword [esp + 8], esi
mov dword [esp], eax
lea ecx, [ebp - 0x44]
call fcn.00671270
jmp 0x8ac21e
nop
inc dword [0xa747c0]
jmp 0x8ac492
cmp dword [ebp - 0x24], 0
je 0x8ac155
nop
inc dword [0xa747c4]
cmp dword [ebp + 0xc], 0xffff
ja 0x8ac48b
nop
inc dword [0xa747c8]
jmp 0x8ac492
mov dword [ebp - 0x50], esi
lea eax, [ebp - 0x60]
push esi
push edi
push eax
call fcn.00935430
add esp, 0xc
mov byte [ebp + esi - 0x60], 0
mov eax, dword [ebp - 0x50]
cmp dword [ebp - 0x4c], 0x10
jb 0x8ac223
mov ecx, dword [ebp - 0x60]
jmp 0x8ac226
lea ecx, [ebp - 0x43]
mov edx, eax
inc edx
mov dword [ebp - 0x34], edx
push eax
push esi
push ecx
mov esi, eax
call fcn.00935430
add esp, 0xc
mov byte [ebp + esi - 0x43], 0
jmp 0x8ac2bd
lea ecx, [ebp - 0x60]
mov edx, dword [ebp - 0x34]
mov edi, dword [ebp - 0x30]
mov esi, edi
sub esi, edx
cmp esi, eax
jae 0x8ac25f
nop
mov dword [ebp - 0x10], 3
sub esp, 0x10
movzx edx, byte [ebp - 0x90]
mov byte [esp + 4], dl
mov dword [esp + 0xc], eax
mov dword [esp + 8], ecx
mov dword [esp], eax
lea ecx, [ebp - 0x44]
call fcn.00671270
jmp 0x8ac283
lea esi, [edx + eax]
mov dword [ebp - 0x34], esi
cmp edi, 0x10
jb 0x8ac26f
mov edi, dword [ebp - 0x44]
jmp 0x8ac272
lea edi, [ebp - 0x44]
add edx, edi
push eax
push ecx
push edx
call fcn.00935430
add esp, 0xc
mov byte [edi + esi], 0
mov eax, dword [ebp - 0x4c]
cmp eax, 0x10
jb 0x8ac2bd
nop
mov ecx, dword [ebp - 0x60]
lea edx, [eax + 1]
cmp edx, 0x1000
jb 0x8ac2b3
nop
mov esi, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, esi
cmp ecx, 0x20
jae 0x8ac4e0
add eax, 0x24
mov edx, eax
mov ecx, esi
push edx
push ecx
call fcn.0091d82d
add esp, 8
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x20], eax
cmp eax, dword [ebp - 0x2c]
jae 0x8ac44e
cmp dword [ebp - 0x30], 0x10
jb 0x8ac2d7
mov edi, dword [ebp - 0x44]
jmp 0x8ac2da
lea edi, [ebp - 0x44]
cmp dword [ebp - 0x20], 0
nop
mov edx, dword [ebp - 0x28]
je 0x8ac41d
xor esi, esi
cmp dword [ebp - 0x20], 8
jb 0x8ac374
lea eax, [ebp - 0x490]
sub eax, edi
mov edx, dword [ebp - 0x28]
add eax, edx
cmp eax, 0x20
jb 0x8ac374
xor esi, esi
cmp dword [ebp - 0x20], 0x20
jb 0x8ac348
mov esi, dword [ebp - 0x20]
and esi, 0xffffffe0
xor eax, eax
nop
movups xmm0, xmmword [edi + eax]
movups xmm1, xmmword [edi + eax + 0x10]
lea ecx, [eax + ebp]
add ecx, 0xfffffb70
movups xmmword [edx + ecx], xmm0
movups xmmword [edx + ecx + 0x10], xmm1
add eax, 0x20
cmp esi, eax
jne 0x8ac316
cmp dword [ebp - 0x20], esi
je 0x8ac41d
test byte [ebp - 0x20], 0x18
je 0x8ac374
mov eax, esi
mov esi, dword [ebp - 0x20]
and esi, 0xfffffff8
nop
movsd xmm0, qword [edi + eax]
lea ecx, [eax + ebp]
add ecx, 0xfffffb70
movsd qword [edx + ecx], xmm0
add eax, 8
cmp esi, eax
jne 0x8ac350
cmp dword [ebp - 0x20], esi
je 0x8ac41d
mov edx, dword [ebp - 0x20]
mov eax, esi
and edx, 3
je 0x8ac3c1
mov esi, eax
neg esi
mov dword [ebp - 0x68], edi
lea ecx, [edi + eax]
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x64], eax
add eax, ebp
add eax, 0xfffffb70
mov dword [ebp - 0x6c], eax
xor ecx, ecx
mov edi, dword [ebp - 0x28]
nop dword [eax]
mov eax, edx
mov edx, dword [ebp - 0x2c]
movzx edx, byte [edx + ecx]
mov ebx, dword [ebp - 0x6c]
add ebx, ecx
mov byte [edi + ebx], dl
mov edx, eax
inc ecx
dec esi
cmp eax, ecx
jne 0x8ac3a0
neg esi
mov edi, dword [ebp - 0x68]
mov eax, dword [ebp - 0x64]
sub eax, dword [ebp - 0x20]
cmp eax, 0xfffffffc
mov edx, dword [ebp - 0x28]
ja 0x8ac41d
mov eax, dword [ebp - 0x20]
sub eax, esi
mov dword [ebp - 0x2c], eax
lea ecx, [edi + esi]
add ecx, 3
add esi, ebp
add esi, 0xfffffb73
xor eax, eax
nop word cs:[eax + eax]
movzx ebx, byte [ecx + eax - 3]
lea edi, [esi + eax]
mov byte [edx + edi - 3], bl
movzx ebx, byte [ecx + eax - 2]
mov byte [edx + edi - 2], bl
movzx ebx, byte [ecx + eax - 1]
mov byte [edx + edi - 1], bl
movzx ebx, byte [ecx + eax]
mov byte [edx + edi], bl
add eax, 4
cmp dword [ebp - 0x2c], eax
jne 0x8ac3f0
nop
mov eax, dword [ebp - 0x20]
add eax, ebp
add eax, 0xfffffb70
mov byte [edx + eax], 0
mov dword [ebp - 0x60], 0
mov dword [ebp - 0x10], 2
lea eax, [ebp - 0x60]
push eax
lea eax, [ebp - 0x490]
push eax
call fcn.008ab550
nop
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x30]
cmp eax, 0x10
jb 0x8ac484
nop
mov ecx, dword [ebp - 0x44]
lea edx, [eax + 1]
cmp edx, 0x1000
jb 0x8ac47a
nop
mov esi, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, esi
cmp ecx, 0x20
jae 0x8ac4d3
add eax, 0x24
mov edx, eax
mov ecx, esi
push edx
push ecx
call fcn.0091d82d
add esp, 8
xor ebx, ebx
jmp 0x8ac059
nop
inc dword [0xa747cc]
nop
push dword [ebp - 0x78]
call fcn.00887fe0
cmp dword [ebp + 0xc], 0x10000
mov eax, 0xc0000139
sbb eax, 0
xor ecx, ecx
cmp dword [ebp - 0x24], 0
cmove ecx, eax
push ecx
call fcn.008baad0
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x18]
mov dword fs:[0], ecx
add esp, 0x484
pop esi
pop edi
pop ebx
pop ebp
ret 8
nop
mov dword [ebp - 0x10], 1
call fcn.00900ce1
nop
mov dword [ebp - 0x10], 0
call fcn.00900ce1
nop dword [eax]
push ebp
sub esp, 0x10
add ebp, 0xc
call fcn.009350a0
nop dword [eax]
push ebp
sub esp, 0x10
add ebp, 0xc
call fcn.009350a0
nop dword [eax]
push ebp
sub esp, 0x10
add ebp, 0xc
lea ecx, [ebp - 0x60]
call fcn.0066ad50
add esp, 0x10
pop ebp
ret