Function at 0x505695
Capabilities:
Execute anti-debugging instructions

Disassembly:
cmc
setge ch
pushal
lea esp, [esp + 0x53]
inc esi
not eax
jmp 0x5056be
xchg edx, ebx
cmc
xchg byte [esp + 0xc], cl
pushal
setne ah
mov edi, dword [esp + 0x1d]
jmp 0x505660
clc
cpuid
setbe dh
pop word [esp + 0xa]
xchg byte [esp + 0x10], cl
jmp 0x505677
lea edx, [edx + esi]
xchg ah, bl
neg bh
setge ch
inc bl
rdtsc
jmp 0x505727
lea ecx, [esi - 0x697a733]
lea ebp, [esp + edx]
btc ebp, edi
rcr ecx, 0x13
shr eax, 0x1b
mov dx, word [esp]
jmp 0x5056a6
stc
pushal
inc dl
push edx
not ax
mov edx, 0x24bde446
jmp 0x505784
sub esp, 0x1c
mov cl, ch
mov byte [esp + 0xe], ch
mov word [esp + 8], bx
mov cx, di
add esp, 0x1b
jmp 0x5056e7
mov esi, dword [esp]
xchg ch, dl
xchg si, bp
shr edx, 0x13
mov al, 0x8e
neg bh
jmp 0x505700
mov si, dx
mov ecx, eax
mov byte [esp + 5], ah
xchg byte [esp + 5], cl
inc cx
jmp 0x505799
bswap ebx
add esp, 1
neg di
bswap eax
lea ebp, [ecx + 0x5e9092db]
mov ecx, dword [esp + 7]
jmp 0x505738
pop bp
xchg byte [esp + 2], bl
xchg byte [esp + 2], bl
lea ebp, [ebp - 0x2ac42a91]
mov ebp, ecx
jmp 0x50574e
popal
push word [esp + 4]
shr dh, 7
xchg si, ax
not cx
push dword [esp + 4]
jmp 0x50576b
bswap ebx
mov dword [esp + 3], eax
mov bl, 0xa8
cld
pop word [esp + 3]
cpuid
jmp 0x5058f5
cld
mov eax, dword [esp]
mov eax, 0xcdffdb6c
sub di, 0x4df0
lea ebx, [esi*4]
jmp 0x50580e
cpuid
lea ebp, [esi*4]
mov dl, 0x4c
bsf bp, ax
bswap eax
btc ebp, ebx
jmp 0x5057be
lea ebx, [ecx + edx]
push edx
mov cl, 0x22
not si
xchg word [esp + 1], dx
pop esi
jmp 0x505828
lea eax, [edx*4]
inc si
mov bp, word [esp]
inc dl
and si, 0x860a
mov ax, word [esp]
jmp 0x5057f0
lea ebp, [eax + 0x99]
mov al, byte [esp]
cpuid
mov esi, 0x1a005b84
jmp 0x505886
mov cl, 0x9a
pushal
lea esp, [esp + 0x44]
mov dx, 0x97b1
rcl cx, cl
setno ah
jmp 0x5057da
lea ebx, [esi - 0x6d]
bsr si, bp
cld
neg si
mov cx, di
bsr di, bp
jmp 0x5058dd
clc
lea ecx, [ecx*4]
not ecx
neg dh
rdtsc
cpuid
jmp 0x505852
mov al, byte [esp]
mov bx, dx
mov ecx, 0x1e3d3218
bsf di, si
mov al, byte [esp]
xchg bp, ax
jmp 0x50586f
mov bx, 0xc477
pop ecx
xchg dword [esp + 0xe], ebp
lea ecx, [ecx - 0x61980b45]
mov word [esp + 0xe], sp
sub esp, 0
jmp 0x50583f
mov dl, byte [esp]
mov ax, sp
mov ebx, 0x30d8f69e
bswap ebx
not edi
bswap eax
jmp 0x50596a
xchg di, cx
bsr ax, cx
mov ebp, ecx
mov dl, byte [esp]
cld
mov cx, 0xf0b3
jmp 0x5058bc
sub esp, 0x10
rcr edi, 7
sub esp, 0x16
pop dword [esp + 0x1c]
xchg word [esp + 5], ax
jmp 0x5058a3
xchg dword [esp + 8], esi
xchg word [esp], si
xchg bh, cl
mov ebx, dword [esp + 4]
jmp 0x5059ae
add esp, 1
xchg byte [esp], cl
lea edi, [esi*4]
sub esp, 0x1e
mov esi, 0x732ed448
pop edi
jmp 0x50592d
sete bh
bswap edx
push esp
btr edx, edx
mov dl, dh
mov edi, 0xda5996f0
jmp 0x505946
pop bx
xchg edx, eax
lea eax, [eax - 0x6d8442f7]
cpuid
xchg word [esp], ax
jmp 0x505b7d
clc
add esp, 0
push esp
mov bx, 0x82d1
mov ecx, 0x88207b4a
cpuid
jmp 0x50597c
lea edi, [ecx - 0xe3]
push dword [esp + 0x16]
mov byte [esp + 5], bh
bsr ax, bp
popal
mov byte [esp], bh
jmp 0x505993
xchg ah, bl
call fcn.005059e2
xchg word [esp + 1], bx
add esp, 9
mov ax, bx
neg edi
btr edi, esp
jmp 0x505b64
pop ebx
push word [esp + 0xe]
xchg word [esp + 9], di
bsr bx, bp
and di, 0xce92
pop ax
jmp 0x505a02
pop edi
lea esi, [eax + edx]
mov eax, esi
pop dx
lea edi, [ecx + 0x13]
bsr bp, bp
jmp 0x505b2b
add esp, 3
mov dword [esp + 6], eax
xchg dword [esp + 0x17], ecx
cmc
pop dword [esp + 0x12]
mov al, 0x4e
jmp 0x505a8d
cpuid
mov bp, sp
xchg dword [esp + 0x16], edi
push dword [esp + 0x18]
inc cx
setg dh
jmp 0x505ab4
lea esp, [esp + 0x1f]
mov word [esp], sp
mov dword [esp], esi
lea esp, [esp + 1]
lea esp, [esp + 4]
popfd
jmp 0x505b90
neg dx
lea esp, [esp + 3]
lea esp, [esp + 2]
popal
pushal
push edx
jmp 0x505ae8
neg ecx
setno dh
lea esp, [esp + 0xb]
lea esp, [esp + 3]
xor dx, 0x482c
mov byte [esp + 3], ah
jmp 0x505b0f
neg ebx
setnp dh
setg bh
inc di
sub esp, 0x1a
lea ebx, [ebp - 0x441779c9]
jmp 0x505ad4
setno dh
cpuid
clc
sub esp, 0x16
inc bl
setns ch
jmp 0x505a72
push 0xd4fd61db
add dword [esp], 0x2b447527
call 0x505ba2
mov ecx, 0x88240c89
jl 0x505bcc
add eax, ebp
sbb al, byte [eax]
add byte [eax], al
sbb byte [edx], 0x88
out dx, eax
sbb ah, byte [ebx + edi*8 + 0xfdc4dd2]
test dh, bh
in al, dx
invalid
add al, 0xeb
jl 0x505c06
mov bl, 0x23
inc esi
mov ch, 0x1a
sub al, 0xb4
sub cl, byte [ebp - 0x44]
or edi, dword [edx]
mov eax, dword [0x26a35031]
pushal
mov dword [0x24148b66], eax