Function at 0x50f6fb
Capabilities:
Execute anti-debugging instructions

Disassembly:
mov eax, edi
add eax, 0xffffffff
jle 0x50f10a
movzx ecx, byte [eax]
bswap eax
mov ax, word [esp]
mov edx, edi
jmp 0x50f11b
jmp 0x50f0ed
jmp 0x50f1a4
mov edx, edi
mov ax, word [esp]
jmp 0x50f177
mov ax, word [esp]
jmp 0x50f177
jmp 0x50f181
add cl, bl
jg 0x50f13e
sets ah
lea eax, [ecx + ebp]
dec eax
jmp 0x50f18e
mov dl, ch
call fcn.0050f1b2
or dl, byte [edx - 0x4868bb7c]
ror byte [esi], 0x3f
and ebp, ecx
xchg edi, eax
dec cl
lea eax, [esp + esi]
btr edx, esi
jg 0x50f154
jle 0x50f154
sets ah
lea eax, [ecx + ebp]
dec eax
jmp 0x50f18e
mov al, cl
neg dx
jne 0x50f161
mov dl, ch
lea edx, [esi + ebp]
mov edx, dword [esp]
jmp 0x50f261
movzx ecx, byte [eax]
bswap eax
mov ax, word [esp]
jmp 0x50f10f
jmp 0x50f282
bsr dx, ax
not edx
jmp 0x50f2f4
jmp 0x50f2b3
not al
xchg dl, dh
lea edx, [ebx*4]
bsr dx, bx
jne 0x50f26c
mov edx, dword [esp]
mov dx, di
lea edx, [eax*4]
rol dl, cl
jmp 0x50f2c8
mov edx, dword [esp]
mov dx, di
lea edx, [eax*4]
jmp 0x50f2c6
rol dl, cl
neg al
bsr edx, ebx
jmp 0x50f31e
xchg dh, dl
xchg dh, dl
mov dl, 0x58
cmp dh, dl
jmp 0x50f355
setle dh
cmp dx, 0xf7a9
jbe 0x50f24a
ja 0x50f282
mov dl, 0x58
cmp dh, dl
call fcn.0050f33c
call ecx
shl byte [eax], 0xb0
push cs
aas
and dword [ebp - 0x5b4aa5dd], edi
jl 0x50f2d3
xchg dh, dl
xchg dh, dl
jmp 0x50f308
jmp 0x50fb98
mov dh, byte [esp]
pushfd
mov dx, word [esp]
call 0x50f3c2
sbb esp, dword [esi - 9]
fimul dword [edi]
xchg esi, eax
ret 0x148b
jmp 0x50f3b4
lea edx, [eax + esi]
jmp 0x50f733
lea esp, [esp + 4]
neg al
mov dl, 0x29
sete dh
mov dl, ch
jmp 0x50f43c
bsr dx, si
push dword [esp]
ret 4
and al, 0xc2
add al, 0
mov edx, 0x67f5629f
dec edx
jnp 0x50f484
jp 0x50f484
inc eax
pop ss
xor bl, byte [esi - 0x224629d1]
jo 0x50f438
imul eax, edi, 0x8b5e77aa
adc al, 0x24
xchg dword [esp], ebx
btr edx, ebx
mov dh, byte [esp]
lea edx, [esi*4]
add dh, 0xa2
jmp 0x50f432
dec edi
mov edx, dword [esp]
lea eax, [eax + ecx]
inc edx
jge 0x50f4e5
pushal
push dword [esp + 0x18]
jmp 0x50f5c1
add bl, al
mov eax, ebx
jmp 0x50f46d
call fcn.0050f4a0
int 0x5c
scasd eax, dword es:[edi]
or bl, 0x5f
mov ebp, 0xad6f3a3
sbb al, 0x86
out dx, eax
mul cl
and byte [ebx + 0x66022444], cl
mov eax, dword [esp + 2]
mov ax, cx
push word [esp + 2]
lea esp, [esp + 2]
push dword [esp + 4]
ret 8
mov dx, sp
neg dx
lea edx, [ebp*4]
jmp 0x50f414
not edx
bsr edx, eax
mov al, dh
mov dx, word [esp]
jmp 0x50f552
mov eax, 0xa4f74a
bsf eax, ebx
jnp 0x50f52e
not edx
jmp 0x50f56c
inc cl
mov al, byte [esp]
cmc
jnp 0x50f59c
jp 0x50f5a6
dec edx
in eax, 0x14
jmp 0x50f5bc
bsr edx, eax
mov al, dh
mov dx, word [esp]
jmp 0x50f552
mov dl, ch
lea esp, [esp + 0x24]
add cl, 0x30
bswap eax
mov ah, byte [esp]
jmp 0x50f544
mov dx, word [esp]
jmp 0x50f5e6
mov dx, word [esp]
not al
mov dx, word [esp]
lea edx, [esp + edx]
inc edx
jmp 0x50f5d1
mov ds, word [bx + di]
js 0x50f61c
mov dword [esp + 0xa], edi
mov dx, word [esp + 0x1a]
mov ah, byte [esp + 0xf]
jmp 0x50f62d
inc edx
neg al
inc edx
jo 0x50f5f1
jno 0x50f5f1
movsb byte es:[edi], byte [esi]
xlatb
or dword ds:[ecx - 0x2e], edi
pop esp
mov ebp, 0xb995b2a3
pop eax
mov dl, 0xf6
shl byte [esi - 0x75], 1
adc al, 0x24
not al
mov dx, word [esp]
lea edx, [esp + edx]
jmp 0x50f5d0
call fcn.0050f636
neg cl
not dh
not edx
stc
jmp 0x50f6ef
xor cl, 8
mov dx, 0x9a59
bswap eax
lea eax, [eax + edi]
call 0x50f6fb
cmpsd dword [esi], dword es:[edi]
lodsb al, byte ds:[esi]
retf
push dword [esp + 0x18]
mov dword [esp + 0xa], edi
mov dx, word [esp + 0x1a]
mov ah, byte [esp + 0xf]
xchg dword [esp + 0x18], eax
jmp 0x50f58c
ja 0x50f603
jbe 0x50f603
bsf eax, edi
mov eax, ebp
lea eax, [eax + edi]
xchg dword [esp], ebp
bswap eax
jmp 0x50f9f6
bt edx, edi
mov dx, sp
neg dx
lea edx, [ebp*4]
lea edx, [eax + esi]
neg edx
dec al
btc dx, di
jb 0x50f3e1
mov dh, byte [esp]
pushfd
mov dx, word [esp]
mov dword [esp], edx
jmp 0x50f41c
pop bp
lea esp, [esp + 2]
jmp 0x50fa06
mov ax, bx
xchg ah, al
lea ebp, [ebp + 0xb5]
call fcn.0050f7ee
add esp, 0x10
jp 0x50fa4a
jnp 0x50fa4a
sbb bl, byte gs:[edi + 0x1f]
xchg edx, eax
mov dl, 0x43
mov bl, 0xb0
mov dword [ecx + 0x139011e6], ebx
rdtsc
neg ecx
jmp 0x50f9b8
not bh
rdtsc
pop eax
btr edx, esp
jmp 0x50fa86
not si
xchg dh, bh
xchg dx, bx
jmp 0x50fa4f
pop ebp
mov ebx, eax
jmp 0x50fa22
pop esi
call fcn.0050fa6a
cmp dword [esi + 0x76c64b2c], edi
or dword [ebx + 0x21956603], edx
xchg esi, eax
add eax, eax
and dword [esi - 0x79], 0xffffffda
xchg dx, bx
jmp 0x50fa4f
jl 0x50fa30
not si
xchg dh, bh
jmp 0x50fa65
xor al, 0x8e
dec dx
jl 0x50f720
bt edx, edi
jmp 0x50f51c