Function at 0xaa37c3
Capabilities:
Execute anti-debugging instructions

Disassembly:
mov eax, dword [esi]
mov ecx, 0xc1b4d37
movzx edx, cx
lea esi, [esi + ecx - 0xc1b4d33]
sar cl, 0xe2
sal dl, 0xa4
rol dx, 0x2b
movzx ecx, byte [edi + ecx*2 - 0x18369a1a]
shr edx, 0xf0
je 0xc793b4
bt dx, 4
xor cl, 0xa7
neg edx
call fcn.0075ab12
btr ax, dx
bswap ecx
jae 0xaff0b7
add ebp, edx
movsx edx, cl
bts ecx, eax
mov dx, word [ecx + esi - 0x12a2f]
btr ax, cx
ror eax, cl
jae 0xbcdbf2
rdtsc
mov ecx, 0xb6b08c3e
sub ebp, 8
mov dword [ebp + 4], eax
dec ecx
push ecx
mov dword [ebp], edx
ror ecx, 0xa2
not ecx
mov edx, dword [esp]
mov edx, dword [esi]
mov eax, ecx
bts ax, cx
adc esi, 4
btr ax, ax
xor edx, ebx
rol ax, 0xe2
jb 0xaa1e41
not cx
dec edx
not edx
add eax, 0x719faf9c
inc edx
rol edx, 2
xadd al, ch
xor ebx, edx
jmp 0xd23dd4
dec edx
bswap edx
not edx
jmp 0xc81334
mov dword [esp], 0x5806fb0b
sbb ebp, 8
inc word [esp]
shl byte [esp + 3], 0x24
mov dword [ebp + 0xc], eax
sal word [esp], 0x68
jne 0xd96d92
add ecx, ecx
xor edx, ebx
bswap edx
cwde
dec cx
ror edx, 1
btc cx, 0x15
shl al, 0x85
xor edx, 0x7316c687
bswap edx
xor ebx, edx
jmp 0x79ccbe
mov cx, word [edi]
mov eax, 0x47abab2d
cwde
add edi, 2
shr eax, 0x26
movzx edx, byte [ebp + eax - 0x3fffeac]
sbb ax, ax
sal ax, 0xee
bswap eax
lea ebp, [ebp + eax - 0xc0ff02]
rol al, 4
add ax, ax
xor dl, bl
neg al
adc eax, eax
inc dl
ror dl, 1
btr eax, eax
bts eax, 0x37
not eax
adc dl, 0xb7
sub ax, 0xa9bc
and al, ah
ror dl, 1
bswap eax
btc eax, 0x25
call fcn.00cfc108
or dword [esp], 0x4a301682
or eax, 0xae9da93b
xor ecx, 0xe61f9127
cbw
add byte [edx + 0xd4a3016], al
cmp ebp, dword [ecx - 0xe7e5163]
daa
xchg ecx, eax
pop ds
out 0x66, al
cwde
push edx
inc ecx
rol ecx, 2
xor ebx, ecx
add edi, ecx
add dword [esp + 1], eax
lea ecx, [eax + edx - 0x30f12f68]
sbb edx, dword [esp]
movzx edx, word [edx + esi - 0x420040ff]
adc esi, 2
sub ecx, ecx
xor dx, bx
inc dx
neg eax
btr cx, ax
dec eax
rol dx, 1
pop eax
add dx, 0xd10
ror dx, 1
and ecx, ecx
call fcn.00becb8f
cmpsb byte [esi], byte es:[edi]
fstp st(0)
jbe 0xbf6f42
out 0xd7, eax
xor edi, dword [eax - 0x4e4a6274]
jae 0xbf6f9c
mov cl, 0x73
push edi
sbb ebp, ebp
mov ch, 0x66
je 0xbf6f9f
jae 0xbf6edc
invalid
invalid
cmc
jbe 0xbf6f4c
stosd dword es:[edi], eax
test eax, 0x97d4bb00
mov gs, word [edx]
sub eax, 0xe46d8464
jnp 0xbf6fed
ljmp 0x3814:0xc0b44b32
xchg edx, eax
rcl byte [eax + ecx], 0x55
movsb byte es:[edi], byte [esi]
inc eax
aas
ror edi, 3
jae 0xbf703a
mov al, byte [0xcc0ac3a]
mul byte [ebx - 0x2417216b]
push es
imul ecx, dword [ebx + 0x7330770f], 0x1f16c337
outsd dx, dword [esi]
jne 0xbf6fff
add al, 0x11
mov esp, ss
ret 0x9dd4
sub dword [esi - 0x248d32c9], ecx
push esp
std
mov ebx, ds
leave
sub bh, byte [edx]
mov dl, al
daa
fdiv qword [ebx - 0xc]
fadd st(0), st(0)
mov esi, 0x388a8ce6
out dx, eax
jae 0xbf708e
mov ecx, 0x3f42d447
invalid
mov bh, 0x8e
xchg ebx, eax
add byte [edi + eax*2 + 0x47bd5df8], bh
retf 0x1a98
lea edi, [edi + edx + 1]
xor cl, bl
add edx, edx
dec cl
neg cl
sal dl, 0xa7
btr dx, dx
xor cl, 0x90
btr edx, edx
bt edx, edx
sbb cl, 0xaa
jmp 0x795176
ror word [esp], 0x8a
btc eax, ecx
dec edx
shr cx, 0xc2
sub ecx, 0x8002aa94
btc ecx, 5
rol edx, 1
ror eax, cl
lea edx, [edx + ecx + 0x22df4ba0]
ror edx, 3
jmp 0xa833f8
mov eax, dword [eax + esi - 0x58b74840]
add esi, 4
bswap ecx
pop edx
add edx, 0x1cadca
jmp edx
sal al, 0xa2
adc ax, 0x308f
adc edi, edx
call fcn.00c17219
inc byte [esp + 2]
xor edi, edx
ror dword [esp], 0x34
call fcn.00b64fca
pop ss
test dword [eax - 0x100b324a], eax
sub dword [ebp + 0x20], edi
sbb dword [0xe2a58a7], ebp
jo 0xd23e42
sbb al, 0x74
out dx, eax
mov dword [edx + 0x187e52fb], edx
enter 0xffffffffffffa78f, 0x2e
rol dword [edi], cl
hlt
iretd
dec edx
rol edx, 1
btr ax, ax
shr eax, 0x12
neg dword [esp + ecx*2 - 0x2177fff8]
bswap edx
neg al
jo 0xcdd1bd
dec eax
not edx
bt eax, ecx
lea eax, [ecx + 0x1a10321d]
neg eax
xor ebx, edx
shr al, 0xc6
lea eax, [ecx + eax*2 + 0x4b8b6]
not ecx
add edi, edx
cbw
mov word [esp + 9], ax
inc byte [esp]
pop ecx
pop ecx
pop eax
jno fcn.00b44bdd
mov dword [ebp + 8], ebx
inc dword [esp]
push 0xdb202181
mov dword [ebp + 4], ecx
mov dword [ebp], edx
mov ecx, 0x10bc099d
add byte [esp + ecx - 0x10bc0999], 0xa1
mov ebx, dword [esp + ecx - 0x10bc0995]
mov dword [esp + ecx - 0x10bc0995], 0x53e3214
or word [esp + ecx - 0x10bc0999], cx
mov edx, dword [ecx + esi - 0x10bc099d]
movzx eax, cx
lea esi, [ecx + esi - 0x10bc0999]
xor eax, 0x4eac3593
sub byte [esp + ecx*4 - 0x42f0266c], ch
sub cx, cx
xor edx, ebx
add al, al
jae 0xd354d0
mov edx, dword [esi]
mov ecx, 0xe035c52f
mov eax, dword [esi + 4]
sub cl, 0x31
mov cl, byte [esi + 8]
push 0xcf22e120
jo 0xbf6e7f
not word [esp]
adc esi, 5
call fcn.00b66895
mov eax, 0x909bb188
jmp 0x787d78