Function at 0x51b6fb
Capabilities:
Execute anti-debugging instructions

Disassembly:
push word [esp + 4]
mov dl, byte [esp + 9]
jmp 0x51b98e
add esp, 4
lea eax, [edx + esi]
mov word [esp + 4], sp
pop edx
mov bp, 0xb6b1
jmp 0x51bb16
bswap edx
mov word [esp + 7], bp
neg eax
bswap ebp
bswap eax
add esp, 1
jmp 0x51bad9
mov al, dl
xchg dx, ax
lea eax, [esi - 0x33]
bswap ebp
push word [esp + 5]
mov eax, dword [esp + 2]
jmp 0x51b9bb
mov ax, bx
lea eax, [esi*4]
sub esp, 5
push dword [esp + 0x1c]
bsf eax, ebx
mov dl, byte [esp + 0x24]
jmp 0x51ba3b
xchg ah, dl
bsr dx, dx
ror al, 7
mov ax, bp
or bp, 0xb260
pop word [esp + 0x1a]
jmp 0x51b9e7
mov ax, 0x5b22
mov ax, word [esp + 0x11]
bsr edx, esi
cld
sub esp, 0x14
jmp 0x51ba53
mov bp, word [esp + 0x2b]
pop dword [esp + 1]
dec eax
mov word [esp], dx
mov eax, 0xe836a513
sub esp, 4
jmp 0x51ba25
push edi
lea esp, [esp + 0x44]
adc edx, 0xc2fa7661
mov ebp, dword [esp]
setge al
mov eax, ebx
jmp 0x51baa5
lea eax, reloc.KERNEL32.dll_GetProcAddress
mov byte [esp + 0x15], bl
mov al, cl
push esi
clc
mov ah, 0x82
jmp 0x51ba0d
cmc
mov ax, 0xf549
mov ax, 0x1e99
mov dl, byte [esp]
std
lea eax, [edi*4]
jmp 0x51bab8
mov eax, esi
mov al, 0x6f
setnp ah
std
btc bp, dx
mov eax, 0x4182d1de
jmp 0x51ba8a
xchg edx, ebp
lea eax, reloc.KERNEL32.dll_GetProcAddress
mov eax, dword [esp]
mov dx, word [esp]
bswap ebp
std
jmp 0x51baf2
push word [esp + 6]
bts dx, cx
lea edx, [ecx + ecx]
push dword [esp + 4]
sub esp, 0xe
push dword [esp + 0x1c]
jmp 0x51ba78
sub esp, 0
sub esp, 0x1b
shr ax, cl
mov edx, dword [esp + 0x11]
neg dx
xchg dh, al
jmp 0x51bf09
rdtsc
lea eax, reloc.KERNEL32.dll_GetProcAddress
neg ebp
xchg word [esp + 3], bp
rdtsc
setns al
jmp 0x51b9d3
pop edx
push cx
pop dword [esp + 2]
cmc
call fcn.0051bb48
rcl ebp, 3
sub esp, 0x10
lea esp, [esp + 0x45]
lea eax, reloc.KERNEL32.dll_GetProcAddress
rdtsc
bts ax, ax
jmp 0x51bc01
pop word [esp + 0x10]
xchg dword [esp + 1], edx
pop word [esp + 0xa]
push dword [esp + 0xb]
xchg byte [esp + 0xf], dl
pop edx
jmp 0x51bb82
sete dh
mov eax, 0xb1895282
inc dx
mov edx, dword [esp]
neg dl
std
jmp 0x51bc5c
mov edx, dword [esp]
mov ax, bp
lea edx, [ebp*4]
or edx, esi
adc dx, si
rol dl, 3
jmp 0x51bbcc
inc dx
cmp ah, 0x10
lea edx, [ebp*4]
lea ebp, [ebx*4]
lea edx, reloc.KERNEL32.dll_GetProcAddress
mov edx, edi
jmp 0x51bbe2
push dword [esp]
mov dword [esp + 1], edx
neg dl
rdtsc
add esp, 2
jmp 0x51bce3
mov ebp, dword [esp]
push esi
mov word [esp], si
mov dx, ax
mov al, 0xf
bts bp, cx
jmp 0x51bc1e
shr dh, cl
rdtsc
dec eax
cmc
mov dh, 0x9a
btc dx, dx
jmp 0x51bc34
add dl, ch
lea edx, reloc.KERNEL32.dll_GetProcAddress
mov bp, word [esp]
mov byte [esp], ch
jmp 0x51bcac
cld
bswap edx
bts eax, edi
mov dx, 0x8440
mov ax, dx
lea edx, [eax*4]
jmp 0x51bc6a
not ah
mov dl, dh
mov dh, byte [esp]
lea ebp, reloc.KERNEL32.dll_GetProcAddress
rdtsc
neg bp
call fcn.0051bc96
push word [esp + 3]
or ax, sp
setp dl
bsf bp, di
and eax, edx
mov dx, 0xfa48
jmp 0x51bd5c
add esp, 5
lea edx, [eax - 0xb3]
std
xchg ah, dl
mov bp, di
mov byte [esp], ah
jmp 0x51bc80
xor bp, 0xd02c
lea edx, reloc.KERNEL32.dll_GetProcAddress
mov dword [esp], edi
jmp 0x51bd41
mov ebp, edi
lea edx, reloc.KERNEL32.dll_GetProcAddress
lea edx, reloc.KERNEL32.dll_GetProcAddress
lea eax, reloc.KERNEL32.dll_GetProcAddress
lea esp, [esp + 2]
mov dx, 0xd9d4
jmp 0x51bcf7
bsr eax, edi
pop dx
xchg bp, dx
std
mov dword [esp], ebp
jmp 0x51bd70
mov dh, byte [esp + 1]
bt ebp, esi
setb dh
push edi
xchg edx, eax
mov dh, byte [esp + 7]
jmp 0x51bd2b
mov edx, dword [esp]
push dword [esp]
rdtsc
pop dword [esp]
mov eax, dword [esp]
mov dx, 0xef97
jmp 0x51bd0d
mov word [esp + 1], di
cld
call fcn.0051bedb
jmp 0x51bdf6
push ebx
pop eax
mov ah, 0x4b
mov word [esp + 0xb], bp
mov word [esp + 2], cx
mov word [esp + 0xd], dx
jmp 0x51bbb3
stc
push word [esp + 0xc]
pop bp
mov bp, dx
mov ebp, esp
xchg dx, bp
jmp 0x51be2b
and al, 2
lea esp, [esp + 3]
sub esp, 0x15
jmp 0x51bdd5
push word [esp + 0x15]
rdtsc
std
xchg dword [esp + 0x10], eax
lea eax, [ebp*4]
mov dx, 0xeef1
jmp 0x51be94
lea edx, [ecx*4]
lea esp, [esp + 0x1a]
mov bp, word [esp + 2]
jmp 0x51bec4
bsr bp, di
lea ebp, reloc.KERNEL32.dll_GetProcAddress
mov dh, byte [esp + 6]
jmp 0x51be67
xchg word [esp + 0xc], dx
xchg word [esp], bp
mov ah, byte [esp + 0x17]
btc bp, cx
mov ax, bp
push dword [esp + 4]
jmp 0x51be7d
push word [esp + 0xb]
rdtsc
mov ax, dx
bsf ebp, esi
mov dl, al
jmp 0x51beee
and al, cl
sub esp, 0x15
clc
mov ax, word [esp + 8]
inc edx
xchg word [esp + 1], ax
jmp 0x51beae
lea ebp, [eax*4]
lea ebp, [ebp*4]
pop dword [esp + 0x11]
neg bp
jmp 0x51bf5e
clc
rdtsc
xchg dword [esp + 0x16], edx
or dx, 0xf146
pop dword [esp + 9]
lea ebp, reloc.KERNEL32.dll_GetProcAddress
jmp 0x51bd8e
not edx
pop word [esp + 3]
lea esp, [esp + 0xd]
std
call fcn.0051bf3a
push dword [esp + 7]
sub esp, 0x15
push dword [esp + 0x18]
neg eax
jmp 0x51bfd5
mov byte [esp + 0x1e], ch
xchg dl, ah
neg dl
dec eax
bsr ebp, eax
jmp 0x51bfe6
pop dword [esp + 0x1b]
mov edx, ecx
pop eax
push dword [esp + 4]
setbe ah
cld
jmp 0x51bfbf
mov ax, word [esp + 0xa]
lea esp, [esp + 8]
mov al, bh
push dword [esp + 0x1f]
xchg dword [esp + 3], eax
jmp 0x51d27b
mov ax, word [esp + 0x29]
mov edx, edi
xchg byte [esp + 0x14], al
clc
mov dx, 0x359e
mov dx, 0xa69f
jmp 0x51c049
pop ax
setno dh
mov bp, cx
neg ebp
pop ebp
sub esp, 0xf
jmp 0x51bfff
bsf bp, ax
bsf ax, cx
call fcn.0051c084
mov bl, 0x2b
mov ebx, 0xce9e2dde
pop ecx
mov eax, 0x34b0d2f6
not dl
mov al, 0x34
mov ax, si
push dword [esp + 0x2b]
xchg word [esp], dx
mov bp, word [esp + 9]
jmp 0x51c033
sub esp, 0x14
sub esp, 9
push dword [esp + 3]
neg ax
push word [esp + 0x1a]
xchg byte [esp + 0x1f], dh
jmp 0x51c023
lea ebp, reloc.KERNEL32.dll_GetProcAddress
bsf ax, di
lea ebp, [ebx + ebp]
rdtsc
bswap eax
mov al, cl
jmp 0x51c06c
clc
xchg ebp, eax
xchg ah, dh
xchg edx, ebp
add esp, 0xa
cld
jmp 0x51c0a8
xchg word [esp + 0xa], ax
push dword [esp + 3]
lea esp, [esp + 9]
xchg word [esp + 7], bp
lea edx, [ebx*4]
pop ax
jmp 0x51c7c0
neg eax
mov dl, 0x8a
neg dx
or al, 0xa0
xchg bp, ax
mov byte [esp + 0xb], dh
jmp 0x51c933
mov eax, 0x3d92ae4f
lea esp, [esp + 0x10]
mov ah, byte [esp + 0xb]
mov eax, 0x22d59a20
neg ebp
bsr dx, bx
jmp 0x51cb34
pop word [esp + 9]
mov bp, word [esp + 0x11]
mov dword [esp + 0x15], edi
xchg word [esp + 6], ax
mov dword [esp + 0x15], ebp
xchg ah, dl
jmp 0x51cddd