Function at 0x50fcdd
Capabilities:
Execute anti-debugging instructions

Disassembly:
add edx, 0xfbb3a93d
jmp 0x5101ff
add edx, 0xf279ea0b
jmp 0x51022d
jmp 0x50fd2e
mov ax, sp
jmp 0x50fd17
mov ax, sp
mov dword [ecx + esi], edx
xchg dx, cx
sub esp, 0xa
jbe 0x50fd74
lea esp, [esp + 5]
jmp 0x50fd37
rdtsc
mov edx, dword [edi]
stc
jns 0x50fd14
js 0x50fcfe
mov cx, word [esp]
lea esp, [esp + 1]
jmp 0x50fd59
lea esp, [esp + 5]
mov cx, word [esp]
lea esp, [esp + 1]
add edi, 4
mov al, 0xbb
jmp 0x50fd94
jmp 0x50fd4d
jmp 0x50fdba
mov ax, dx
stc
jnp 0x50fd76
jp 0x50fdba
wait
push ds
mov ebx, gs
cmp eax, 0xf58af6ef
mov dh, ch
push ebx
mov dword [esp], edi
lea edx, [esp + edi]
lea eax, [esi*4]
call 0x50fdc2
loope 0x50fdca
movzx ecx, byte [ebp - 1]
bswap eax
jmp 0x50fda4
mov dh, 0x4d
dec dword [edi]
enter 0xffffffffffffe2eb, 0xffffffffffffffb8
int 0x29
dec esi
push esp
jmp 0x50fdce
arpl word [edx + 0x2166e4f5], bx
enter 0xffffffffffff840f, 0xffffffffffffff9d
add dword [eax], eax
add byte [edi], cl
test dword [edi + reloc.kernel32.dll_DeleteCriticalSection], edx
and ax, cx
je 0x50ff74
jne 0x50ff74
pop ds
wait
or ebp, dword [esi - 0x63]
xchg edi, eax
jle 0x50fe2e
add eax, 0xf279ea0b
jmp 0x50fccf
push ebx
mov word [esp + 1], dx
push word [esp + 1]
jmp 0x50fe07
jmp 0x50fdef
xchg dword [esp], edx
add esp, 5
lea esp, [esp + 1]
jmp 0x50fe8a
xchg al, dh
mov al, cl
cmp dl, bh
jo 0x50fe05
push ebx
mov word [esp + 1], dx
mov dword [esp + 1], edx
push word [esp + 1]
xchg dword [esp], edx
add esp, 5
call 0x50fe43
lds esp, [esi + 0xf]
mov esp, 0xcce9d5
add byte [eax], al
js 0x50fe44
bsf edx, ebp
jmp 0x50ff18
add edi, esi
jns 0x50feba
jmp 0x50fed0
jmp 0x50fe24
not dh
or edx, 0xebac2b1a
xchg dword [esp], ecx
mov edx, esp
pushal
not edx
call fcn.0050fe5f
rol al, 0
call fcn.0050fea7
inc esp
ret 0x3750
or byte [ebx + 0x247488c2], ch
add al, 0x66
xchg dword [esp + 3], edx
bswap edx
jmp 0x50fefe
dec esp
fbld tbyte [esi]
mov dh, byte [esp]
mov dh, 0x75
lea ecx, [ecx - 0x35]
mov edx, ebp
dec dh
bsr dx, di
jmp 0x50fe75
lea edx, [ebx*4]
jmp 0x50ff29
lea esp, [esp + 8]
neg al
cmc
js 0x50fee8
jns 0x50ff42
ror dword [eax - 0x22], 0xb9
dec eax
js 0x50ff79
in eax, 0x75
sbb al, 0xef
push 0xffffffffffffff94
pop es
scasb al, byte es:[edi]
clc
bsf edx, ebx
xchg dl, dh
xchg dword [esp], ecx
lea edx, [edi - 0x7b]
bsf edx, eax
jmp 0x50fed3
dec al
sub esp, 0x11
jle 0x50ff4b
mov edx, 0x9b94bb1a
mov dh, byte [esp + 0xf]
stc
call fcn.0050ff85
mov ecx, 0x148dfb98
popfd
add byte [eax], al
add byte [eax], al
lea edx, [ebx*4]
jmp 0x50ff29
mov edx, 0x9b94bb1a
jmp 0x50ff57
mov dh, byte [esp + 0xf]
stc
mov dx, 0xfdcc
lea esp, [esp + 3]
lea esp, [esp + 2]
jmp 0x50ffa5
add cl, bl
neg dl
jp 0x50fe5d
mov bl, bh
invalid
xchg al, dh
jmp 0x50fe26
lea esp, [esp + 0xc]
add al, 0x26
mov dl, byte [esp]
mov dl, cl
xchg dh, dl
jmp 0x510014
mov dh, cl
neg al
setne dl
not edx
neg dl
jmp 0x51063d
not edx
add bl, al
bswap edx
jmp 0x510041
btr eax, esi
jge 0x510429
setp dh
jmp 0x51042c
not dx
lea edx, [eax + ecx]
btr dx, ax
jnp 0x5100a9
rdtsc
jmp 0x5100c3
xchg edx, eax
jmp 0x510133
lea eax, [esi + esi]
mov al, 0x46
rol cl, 0
sub esp, 0x1e
jmp 0x5100ca
push dword [esp + 0xb]
push word [esp + 0x15]
lea eax, reloc.kernel32.dll_DeleteCriticalSection
jmp 0x5100e1
rdtsc
jmp 0x510084
lea edx, [ecx + edi]
push word [esp + 7]
push dword [esp + 0xb]
jmp 0x5100d6
lea eax, [esi + esi]
mov al, 0x46
jmp 0x510089
jne 0x5100ad
lea edx, [ecx + edi]
push word [esp + 7]
jmp 0x510091
push word [esp + 0x15]
lea eax, reloc.kernel32.dll_DeleteCriticalSection
lea esp, [esp + 2]
jmp 0x5100fe
mov edx, dword [esp]
mov eax, ebp
mov dx, word [esp]
jmp 0x51007e
lea esp, [esp + 0x24]
xor cl, 0x2f
lea edx, [esp + ebx]
mov ah, 0xa2
bt ax, bx
jmp 0x51018b
sub esp, 0xa
lea esp, [esp + 2]
jmp 0x510291
cmc
mov edx, dword [esp]
mov eax, ebp
mov dx, word [esp]
xchg edx, eax
neg ah
mov dx, 0x75aa
lea edx, [edx + esi]
neg cl
jmp 0x510068
mov edx, ebp
xchg edx, eax
jmp 0x510169
bsr ax, ax
jae 0x510143
mov edx, ebp
xchg edx, eax
jmp 0x5101f1
lea edx, reloc.kernel32.dll_DeleteCriticalSection
mov edx, dword [esp]
lea esp, [esp + 8]
inc cl
jmp 0x5101b7
jo 0x510286
bsr edx, ebp
xchg edx, eax
jmp 0x510110
mov eax, dword [esp]
call fcn.0051019a
btr eax, esp
bsf ax, si
jmp 0x5101d7
shl edx, 2
mov eax, dword [esp]
xor ax, 0xaed4
jns 0x510244
js 0x510215
div dword [esi - 0x1c]
cmp dword [esi + 0x1c], 0xffffffe7
push cs
cdq
clc
invalid
lea edx, reloc.kernel32.dll_DeleteCriticalSection
mov edx, dword [esp]
jmp 0x510172
dec ax
jge 0x51021c
mov al, byte [esp]
jmp 0x510228
mov al, cl
jmp 0x50faf0
mov al, byte [esp]
setae al
jmp 0x510261
setae al
jmp 0x510261
cmp ax, bp
jnp 0x51024b
btr eax, edi
lea eax, [eax + esi]
neg ax
jmp 0x51029d
mov al, cl
jmp 0x50faf0
jmp 0x5102ba
mov edx, dword [edx + reloc.kernel32.dll_DeleteCriticalSection]
mov ax, word [esp]
lea eax, reloc.kernel32.dll_DeleteCriticalSection
jmp 0x50fb75
bsr edx, ebp
xchg edx, eax
sub esp, 0xa
lea esp, [esp + 2]
ror cl, 0
mov ax, word [esp]
jmp 0x51015a
mov esp, esi
sub esp, 2
jb 0x5102c5
mov ax, bp
pushfd
lea esp, [esp + 2]
jmp 0x5102d3
btr eax, edi
lea eax, [eax + esi]
neg ax
jmp 0x51029d
mov ax, bp
call fcn.00510365
pushfd
lea esp, [esp + 2]
jmp 0x510348
push ecx
bsr dx, si
js 0x510128
cmc
jmp 0x5100f3
push edx
ret
setp dh
dec ebp
jmp 0x5102e9
jne 0x510035
not edx
jmp 0x510037