Function at 0x50f3b8
Capabilities:
Execute anti-debugging instructions

Disassembly:
push 0xf0500b98
jmp 0x50dbd8
mov dword [esp + 0x1c], esp
call fcn.0050db85
jmp 0x50dbef
add byte [ecx + ebp*8 + 0x79], ch
sbb bl, ch
out dx, al
mov byte [ebx], ch
inc edx
std
rdtsc
call fcn.0050dca5
add eax, 0xf279ea0b
jmp 0x50f37c
lea esp, [esp + 2]
mov dword [esp + 0x1c], esi
call 0x50dbcb
mov ebp, dword [esp + 0x2c]
bsr edx, edx
jae 0x50dc6e
mov bl, byte [esp]
btc ax, cx
call fcn.0050dcd0
in eax, 0x9c
jmp 0x50db11
add eax, 0xcb6e7eaf
call fcn.0050fa26
adc dl, byte [esi - 0x1619cfc]
xchg dword [esi], ebp
cmp dword [eax], ebx
jnp 0x50dbb7
cmp al, 0x24
lea esp, [esp + 3]
lea esp, [esp + 1]
jmp 0x50dba3
mov bl, byte [esp]
jmp 0x50dc8b
btc ax, cx
lea edi, [esp]
jmp 0x50dd2d
setp cl
neg bx
jmp 0x50dd10
sub esp, 0xc0
mov esi, esp
rdtsc
xchg dh, ah
jmp 0x50dd58
neg si
je 0x50dd04
setp cl
neg bx
jmp 0x50dd10
inc eax
bsr ebx, esp
jbe 0x50dd3a
inc eax
jmp fcn.0050dd3b
lea ecx, [eax + ecx]
jmp 0x50ecc4
xchg dx, ax
rcr al, 5
jno 0x50ec88
lea ecx, [eax + ecx]
jmp 0x50ecc4
not dx
jmp 0x50ece5
lea ecx, [esi + 0x50]
neg dh
je 0x50ecaa
not dx
mov dx, si
jmp 0x50ece8
mov cl, 0xf4
jmp 0x50ec9e
mov dx, si
rdtsc
cmp edi, ecx
jmp 0x50f9ef
mov ax, 0x1fdb
lea edx, [ebx*4]
mov edx, 0x17e1faaa
mov dx, sp
jmp 0x50f2da
neg dx
push dword [esp]
ret 4
neg dx
jmp 0x50f2f3
push eax
ret
ja fcn.0050efa2
lea eax, [edx + edi]
mov ch, dl
jmp 0x50f317
neg dx
mov esp, esi
mov dx, bx
mov dh, ch
mov dh, dl
jmp 0x50f2d8
lea ecx, [esi + 0x40]
setp dh
lea edx, [ecx*4]
jmp 0x50f34f
mov eax, esi
not ecx
mov cx, 0x9d12
mov edx, dword [esp]
lea ecx, [eax*4]
jmp 0x50f2fe
not dh
jmp 0x50f333
bswap edx
mov dx, word [esp]
lea edx, [edi - 0x80]
jmp 0x50f361
sub ecx, eax
bsr dx, bp
jno 0x50f32b
not dh
bswap edx
mov dx, word [esp]
jmp 0x50f339
clc
jb 0x50f3ce
jae 0x50f3ce
sub esp, 0xd
jge 0x50f3a0
mov word [esp + 8], ax
lea esp, [esp + 1]
jmp 0x50f3a2
neg edx
jo 0x50f2f0
jno 0x50f2d3
mov word [esp + 8], ax
lea esp, [esp + 1]
call 0x50f3b8
mov dword [edx - 0x30], 0x835942b7
cmp ch, bl
call 0xfb36b9b
xchg byte [ecx + 0x1d000000], ah
xchg ebp, eax
add eax, 0x8d919f6c
push es
jmp 0x50f38a
cmc
ja 0x50f407
jbe 0x50f44c
sbb eax, 0x9f6c0595
xchg ecx, eax
lea eax, [esi]
xchg esp, eax
push cs
outsd dx, dword [esi]
aaa
pushfd
mov byte [esp + 2], ah
pop word [esp]
push word [esp]
jmp 0x50f470
and dl, 0xfc
call 0x50f366
sub esp, 0xc
lea esp, [esp + 2]
xchg dword [esp + 0x20], ecx
sub esp, 0x14
jmp 0x50f3f7
pop word [esp + 0xc]
lea esp, [esp + 2]
push dword [esp + 0x30]
ret 0x34
sub edx, ecx
stc
pushal
lea esp, [esp + 0x20]
cmc
pushfd
push edi
jmp 0x50f452
mov word [esp + 0xb], di
pop word [esp + 9]
lea esp, [esp + 1]
lea ecx, [ecx + 0xa]
call fcn.0050f3ec
lea esp, [esp + 0x20]
cmc
jmp 0x50f410
sub edx, ecx
stc
pushal
jmp 0x50f436
mov esp, edx
pushfd
lea esi, [ecx + edx - 0x40]
jmp 0x50f4e1
pop word [esp]
lea esp, [esp + 2]
xchg dword [esp], ecx
sub esp, 0x11
add esp, 2
cmc
jmp 0x50f420
pop ecx
jmp 0x50f4b9
cld
rep movsb byte es:[edi], byte [esi]
jmp 0x50f484
mov esi, eax
mov edi, edx
mov ecx, ecx
jmp 0x50f49a
pop edi
pop esi
popfd
jmp 0x50f4c2
jmp 0x50f52e
shl ax, 0xf
xchg al, ah
lea eax, [eax*4]
lea edx, reloc.kernel32.dll_DeleteCriticalSection
jmp 0x50f57f
push esi
push edi
push ecx
jmp 0x50f4b1
shl ax, 0xf
xchg al, ah
lea eax, [eax*4]
call 0x50f50f
jb 0x50f51f
xor dword [ebp + reloc.kernel32.dll_DeleteCriticalSection], ecx
add byte [eax], al
btc ax, si
xchg edx, eax
xchg dword [esp], edi
cmp al, 0x24
jmp 0x50f552
movzx ecx, byte [ebp - 1]
mov dh, dl
bsr ax, ax
jno 0x50f4c4
jo 0x50f4fc
lea eax, [eax*4]
cmc
mov eax, esi
cmc
xchg dword [esp], edi
and dh, ah
call fcn.0050f5b8
jp 0x50f54a
not edx
mov ax, bp
inc al
lea edi, [edi - 0x28]
jmp 0x50f53c
shl byte [esi - 0x75], cl
invalid
lea eax, reloc.kernel32.dll_DeleteCriticalSection
shr ax, cl
mov ax, 0xd28
jmp 0x50f5f8
neg dx
jmp 0x50f5d2
jmp 0x50f5ba
mov al, cl
mov dh, 0xb2
mov dl, byte [esp]
mov dx, word [esp]
not dx
jmp 0x50f624
lea edx, reloc.kernel32.dll_DeleteCriticalSection
inc dh
jl 0x50f60d
pushfd
call fcn.0050f6c8
outsb dx, byte [esi]
jns 0x50f64d
mov ebx, 0x48d0d92
popfd
add byte [eax], al
add byte [eax], al
lea eax, [ebx*4]
add cl, bl
mov edx, dword [esp]
neg dl
jbe 0x50f5d0
neg dx
jmp 0x50f5d2
pushfd
pop word [esp]
lea esp, [esp + 1]
lea esp, [esp + 1]
jmp 0x50f6a7
mov edx, 0xd1fe795c
rol al, 0
mov edx, esi
mov dx, word [esp]
lea edx, [edi*4]
jmp 0x50f5e2
add bl, ch
cmpsd dword [esi], dword es:[edi]
pop word [esp]
lea esp, [esp + 1]
lea esp, [esp + 1]
jmp 0x50f6a7
loope 0x50f638
cdq
sbb byte [esi - 0xa85e717], cl
in al, 0x66
neg edx
mov ah, 0x9b
stc
xchg dword [esp], esi
mov ax, 0x5c41
mov dx, 0xf21
jmp 0x50f2ca
neg al
bswap edx
stc
jmp 0x50f6f2
lea edx, [ebx + 0xb6]
ror dh, cl
jmp 0x50f6d7
dec al
mov edx, ebp
mov edx, dword [esp]
mov dl, al
mov dx, word [esp]
jmp 0x50f6fe
ja 0x50f6b2
lea edx, [ebx + 0xb6]
ror dh, cl
jmp 0x50f6d7
stc
jl 0x50f78d
jge 0x50f78d
mov edx, 0xae41cf49
push ebp
push dword [esp + 1]
jmp 0x50f774
push dword [esp + 1]
jmp 0x50f774
mov dx, 0x8642
jmp 0x50f75e
mov dx, 0x8642
not dh
mov edx, dword [esp]
mov edx, ebx
jmp 0x50f7ad
jno 0x50f70b
mov edx, 0xae41cf49
push ebp
jmp 0x50f72b
not dh
mov edx, dword [esp]
mov edx, ebx
jmp 0x50f7ad
lea esp, [esp + 8]
neg al
neg edx
jl 0x50f731
jge 0x50f73c
fist dword [edx - 0x40]
cmpsd dword [esi], dword es:[edi]
push edx
bound ebx, qword [edi - 0x29]
inc edi
and dl, cl
pop eax
retf 0x2604
add al, 0x26
mov dl, byte [esp]
btr edx, esi
jmp 0x50f754
mov ax, 0xc5d1
jmp 0x50f7b9
add bl, al
mov ax, 0x1b7f
shl edx, cl
jp 0x50f797
jnp 0x50f7d7
dec ebp
xchg dx, ax
mov dh, byte [esp]
push esp
push ebp
jmp 0x50f7dd
mov ax, 0xc5d1
jmp 0x50f7b9
not eax
lea edx, reloc.kernel32.dll_DeleteCriticalSection
cmp dx, si
jp 0x50f97f
jnp 0x50f918
mov edx, 0x17e1faaa
mov edx, 0x17e1faaa
mov dx, sp
jmp 0x50f2da
pop word [esp + 4]
mov ax, si
lea edx, [edi*4]
lea esp, [esp + 2]
jmp 0x50f854
neg cl
pushal
mov word [esp + 2], cx
bts edx, eax
ja 0x50f802
jbe 0x50f8d8
stc
jmp 0x50f85f
stc
setg dl
mov ah, byte [esp]
mov edx, dword [esp]
jmp 0x50f8ac
rol cl, 0
mov al, cl
cmp eax, esi
jl 0x50f831
jge 0x50f838
setg dl
mov ah, byte [esp]
mov edx, dword [esp]
jmp 0x50f8ac
mov eax, dword [esp]
xchg edx, eax
lea edx, [ecx*4]
rdtsc
jmp 0x50f8ff
lea esp, [esp + 2]
jmp 0x50f854
mov eax, dword [esp]
xchg edx, eax
lea edx, [ecx*4]
jmp 0x50f8b9
lea esp, [esp + 0x1c]
xor cl, 0x2f
neg ah
jo 0x50f86a
jno 0x50f889
rdtsc
jmp 0x50f8ff
cmc
jmp 0x50f8e9
inc cl
mov ax, 0x8eeb
mov dh, byte [esp]
mov ah, cl
mov eax, dword [esp]
jmp 0x50f93a
pop word [esp + 4]
mov ax, si
lea edx, [edi*4]
jmp 0x50f883
xchg dx, ax
xchg dx, ax
lea edx, [edi + 0x60]
jmp 0x50f8c0
ror cl, 0
cmc
jo 0x50f8bd
cmc
xchg dx, ax
xchg dx, ax
lea edx, [edi + 0x60]
jmp 0x50f8c0
mov ax, di
mov al, 0x55
mov eax, 0x142daa5b
jmp 0x50f989
not dl
xchg byte [esp + 6], dl
jmp 0x50f945
mov eax, ecx
bswap edx
sub esp, 8
jge 0x50f924
jl 0x50f963
shl eax, 2
rcr edx, cl
je 0x50f9a4
not edx
mov dx, bp
jmp 0x50dc18
not dl
xchg byte [esp + 6], dl
jmp 0x50f945
mov ax, di
mov al, 0x55
mov eax, 0x142daa5b
jmp 0x50f81e
mov dx, bp
call fcn.0050f9be
sbb byte [edx - 0x616d9900], dl
lcall 0xa7e, 0x11e28717
movsd dword es:[edi], dword [esi]
not edx
jmp 0x50f98e
jge 0x50ecf2
mov ax, 0x1fdb
lea edx, [ebx*4]
jmp 0x50f7f5