Function at 0x520bca
Capabilities:
Execute anti-debugging instructions

Disassembly:
stc
bsr di, bp
xchg ebx, edx
jmp 0x5203e3
pushal
lea esp, [esp + 0x52]
setge bl
btr di, sp
jmp 0x520389
mov byte [esp + 4], dh
mov eax, 0x441d5e8c
lea ebx, [ebx - 0x3e]
mov cx, 0xf143
std
setnp cl
jmp 0x52035d
mov di, 0x5f73
bswap edx
neg dh
not si
mov di, dx
lea eax, [edx*4]
call fcn.005203cc
js 0x520400
mov dl, 0x8b
clc
mov edi, eax
adc eax, eax
bts edx, edx
pop edx
mov eax, 0xb5e17d27
dec eax
jmp 0x520373
sub esp, 6
lea ebx, reloc.KERNEL32.dll_GetProcAddress
mov bl, byte [esp]
mov dword [esp + 0x10], edx
stc
sub esp, 0x1e
jmp 0x5203a6
rol byte [edi + 0x6615244c], cl
neg edx
jmp 0x520429
xchg dword [esp + 0x1d], ebx
bsr dx, di
popal
mov edi, dword [esp + 2]
not cx
mov ebp, dword [esp + 2]
jmp 0x52047d
add esp, 3
cld
lea edx, reloc.KERNEL32.dll_GetProcAddress
neg di
xchg bx, ax
sub esp, 0x1e
jmp 0x5204a8
xchg word [esp], bp
mov byte [esp + 1], ah
mov di, sp
sete ah
bswap esi
xchg dword [esp], ebx
jmp 0x520457
add esp, 0xc
lea esp, [esp + 1]
mov eax, edx
lea edi, [edx*4]
jmp 0x5204f9
rcr edi, 0x13
rdtsc
xchg byte [esp + 6], ch
xchg dword [esp + 0xe], ebx
cld
btr edi, edx
jmp 0x520492
mov ecx, edx
btr bp, di
mov word [esp + 1], bx
lea esp, [esp + 0xf]
jmp 0x5208b7
lea ecx, [esi*4]
cpuid
mov di, bx
mov byte [esp + 1], ah
xor dh, 0x2d
mov bh, cl
jmp 0x5204e3
std
mov ebp, 0xe936e0d0
xchg bx, di
mov ebp, esi
add esp, 0x15
jmp 0x5205ae
push word [esp + 0x16]
mov bx, word [esp + 0x16]
pop word [esp + 0x11]
lea esi, [esp + 0xf7]
not ecx
not bl
jmp 0x52053b
rcl dx, cl
sub esp, 0x1e
lea esp, [esp + 0x17]
lea esp, [esp + 7]
bsr edx, ecx
sub esp, 0x16
jmp 0x520551
cld
bsf bx, bp
rdtsc
lea ebx, reloc.KERNEL32.dll_GetProcAddress
jmp 0x5205f6
seto ah
xchg dh, ch
bsf bp, si
xchg cx, ax
and dl, ah
cpuid
jmp 0x520598
cpuid
lea esp, [esp]
mov edi, ecx
clc
std
add esp, 2
jmp 0x520582
xchg word [esp], dx
mov cl, byte [esp]
lea esp, [esp]
dec edi
mov dx, 0x7d3b
jmp 0x5206ff
mov ax, word [esp + 1]
xchg word [esp], si
and bp, bp
mov byte [esp], ah
bswap ebx
std
jmp 0x5205e0
rcr bx, 0xe
setge bh
bswap ebp
xchg dx, bx
add esp, 1
call fcn.00520620
pop edx
or si, 0xb666
btr ax, dx
lea esp, [esp + 0xf]
jmp 0x52074f
mov di, word [esp + 9]
mov al, dl
xchg dword [esp + 8], edi
pop cx
std
jmp 0x520762
xchg dword [esp + 2], edx
rdtsc
mov eax, 0x94acb22
rdtsc
mov al, dl
mov ah, dl
jmp 0x520739
lea esi, [ebp - 0x32]
mov esi, dword [esp + 0xc]
add esp, 0xd
mov ax, word [esp]
jmp 0x520881
mov bp, word [esp]
sub dh, bh
mov bx, word [esp]
call fcn.005207c5
mov byte [esp + 1], cl
not ch
xchg word [esp + 5], ax
bsf eax, esp
neg bx
bts eax, esi
jmp 0x520ed9
xchg bx, dx
sub esp, 6
mov bh, byte [esp]
mov di, word [esp + 5]
mov ax, word [esp + 6]
lea esp, [esp + 6]
jmp 0x5205d2
xchg ah, bh
push word [esp + 0x11]
mov ch, 0x67
sbb dx, ax
push dword [esp + 0xa]
jmp 0x520932
rdtsc
cld
add esp, 9
clc
rdtsc
mov cx, 0xb24a
jmp 0x5208d3
pushal
sub esp, 0
mov edx, dword [esp + 0x11]
pop edi
setae dh
rdtsc
jmp 0x5208e9
lea esi, [ebp + ebp]
mov dl, 0x8d
not dx
xchg bh, bl
not edi
dec ch
jmp 0x520948
mov byte [esp + 0x16], bh
mov ax, di
lea esp, [esp + 0x19]
sub esp, 0xc
cpuid
bsr bp, ax
jmp 0x52091c
sub esp, 0x1f
xchg bp, cx
mov word [esp + 3], si
std
lea esp, [esp + 0x12]
bswap esi
jmp 0x5209a0
lea ebx, [ecx*4]
mov bx, 0xe51c
mov ebx, edi
lea edx, reloc.KERNEL32.dll_GetProcAddress
mov word [esp + 1], cx
mov byte [esp + 1], bl
jmp 0x52090c
mov si, word [esp + 4]
mov edx, 0x7079490
pushal
rdtsc
jmp 0x520be6
mov ah, byte [esp + 9]
lea esp, [esp + 0xe]
bswap eax
pop edx
xchg word [esp + 1], cx
lea edx, [eax*4]
jmp 0x52098a
lea esp, [esp]
xchg word [esp], bx
rol edx, 8
dec cx
xchg dword [esp], ebx
rcl al, 1
jmp 0x52096c
push bx
mov di, word [esp + 8]
mov eax, 0x598a131c
mov bl, byte [esp + 1]
btr bp, cx
call fcn.005209f0
pop word [esp + 5]
xchg word [esp], cx
cmc
mov si, word [esp + 3]
jmp 0x520ade
xchg byte [esp + 7], dh
rdtsc
mov dword [esp], ebx
shr esi, 0x18
mov ch, byte [esp + 1]
jmp 0x520af3
mov bx, word [esp + 0xc]
bts dx, si
pop si
xchg ebp, eax
lea esi, [edx - 0x5a]
xchg dword [esp], esi
jmp 0x520ac8
xchg ebx, ecx
lea ebx, [ebp - 0x19]
push word [esp + 9]
neg bx
lea esp, [esp + 1]
lea esp, [esp + 0xc]
jmp 0x520b61
lea esp, [esp + 4]
jmp 0x520b43
stc
std
lea esp, [esp + 2]
lea esp, [esp + 8]
popfd
jmp 0x520b20
call fcn.00520b8c
push ecx
push edx
call fcn.00520b72
test dword [edx], edx
and bh, 0x12
mov ebx, 0x62079705
xchg ecx, eax
sub ecx, dword [edx + reloc.KERNEL32.dll_GetProcAddress]
jns 0x520bc3
popal
sub esp, 4
push dword [esp + 2]
push dword [esp]
cmc
add esp, 2
jmp 0x520b36
push esi
mov byte [esp], al
lea esp, [esp + 2]
jmp 0x520b48
mov dword [esp + 0x14], ebp
call 0x520bca
out dx, al
je 0x520b95
lea edi, [edx + eax*8 - 8]
popal
int1
nop
arpl ax, cx
and byte [edi - 0x76f4dbbc], cl
pop esp
and al, 0x18
pushfd
push ax
lea esp, [esp + 2]
and al, 2
add cl, byte [ecx - 0x14e7db9c]
aad 0x89
je 0x520bf1
mov dword [esp + 0x18], esp
jmp 0x520b9f
adc al, 0x66
push esp
mov byte [esp], dh
call fcn.00520c8d
jns 0x520bc1
ja 0x520bee
loope 0x520c36
sbb dword [eax], 0x9f18e98e
cmc
in al, 0x66
rol edx, 0xa
rol dx, 0xa
dec ecx
xchg dword [esp + 0x22], edi
rcl di, cl
and ah, byte [esi - 0x2d]
xlatb
rdtsc
bsf si, cx
jmp 0x520a61
rdtsc
mov esi, edx
mov bh, ah
pop bp
mov dh, 0x6b
lea esp, [esp + 2]
jmp 0x5209c7
lea edx, reloc.KERNEL32.dll_GetProcAddress
clc
not cx
bt ecx, ecx
cpuid
mov word [esp + 3], dx
jmp 0x520d12