Function at 0x51b6f0
Capabilities:
Execute anti-debugging instructions

Disassembly:
call 0x51b3ca
aaa
scasd eax, dword es:[edi]
aas
pop edx
test eax, 0x2434ff30
push dword [esp]
push dword [esp]
mov dword [esp + 1], edi
lea edi, reloc.KERNEL32.dll_GetProcAddress
jmp 0x51b714
push ebx
lea esp, [esp + 3]
lea esp, [esp + 0x1c]
call fcn.0051b6f0
lea edi, [eax - 0x29]
rcr di, cl
mov edi, eax
mov edi, 0x551e825d
rol edi, cl
or edi, ecx
jmp 0x51b764
inc dword [eax + 0x46000d]
pushfd
pushal
add esp, 5
mov dword [esp + 6], eax
jmp 0x51b706
cmc
mov edi, 0x747fda50
mov di, 0xc463
push edx
mov al, byte [esp]
not dl
jmp 0x51b7c4
dec di
push eax
mov ah, al
bsr di, cx
bsr di, si
cmc
jmp 0x51b744
push esp
neg dx
mov word [esp + 9], ax
rdtsc
mov edi, esi
push word [esp + 0xc]
jmp 0x51b7a6
mov ah, byte [esp + 3]
pushfd
neg di
neg dx
mov dx, 0xaecb
xchg al, ah
jmp 0x51b774
xchg word [esp + 0xa], ax
neg al
stc
mov dx, bp
mov dword [esp + 0xe], esp
pop ax
jmp 0x51b7d6
mov ax, bp
neg ah
sub esp, 0x1c
rdtsc
adc dl, 0xcc
add esp, 0x10
jmp 0x51b793
mov dword [esp + 5], ebx
lea esp, [esp + 0xd]
call fcn.0051bc64
pushal
loop 0x51b856
pop ss
loop 0x51b81f
mov byte [0x21d2b727], al
leave
fidiv dword [reloc.KERNEL32.dll_GetProcAddress]
jmp 0x51c003
push dword [esp + 3]
mov ah, cl
mov ah, ch
mov edi, 0x191e2b87
jmp 0x51b904
loop 0x51b83e
mov word [esp], sp
mov ax, word [esp]
mov di, 0x6a82
mov byte [esp], ch
sub esp, 0x1c
add esp, 0x19
jmp 0x51b80b
mov edx, dword [esp + 8]
jmp 0x51b842
insb byte es:[edi], dx
jg 0x51b887
int1
xchg dx, ax
neg dh
push word [esp + 1]
push word [esp + 1]
call 0x51b88b
bnd jb 0x51b838
jb 0x51b838
xchg dword [edx - 0x6d], esi
ljmp 0x6656
add esp, 9
push esi
mov ax, di
mov ax, word [esp + 3]
lea edx, reloc.KERNEL32.dll_GetProcAddress
call 0x51b838
lea edx, [ecx*4]
push dword [esp + 0xe]
mov di, 0x1cec
jmp 0x51b8b7
cmpsd dword [esi], dword es:[edi]
into
pop ecx
mov eax, 0x8966c4fe
and al, 3
jmp 0x51b875
neg eax
cld
cld
push word [esp + 2]
mov dh, 0x62
xchg dword [esp + 4], edx
jmp 0x51b85e
add esp, 6
mov dh, byte [esp + 6]
pop dx
push edi
sub esp, 0x17
mov dl, bl
jmp 0x51b8e9
mov edx, edi
lea esp, [esp + 5]
mov edx, 0x903e82bf
or edi, edi
mov dl, 0x72
setp dh
jmp 0x51b8a6
xchg di, ax
xchg dword [esp + 0x12], eax
mov di, 0x3de9
mov ax, dx
shl edx, cl
sub esp, 0x14
jmp 0x51ba8d
push dword [esp + 3]
bts eax, ebp
mov dh, 0x18
lea eax, reloc.KERNEL32.dll_GetProcAddress
bswap eax
mov dl, byte [esp + 3]
jmp 0x51b8d5
btc edi, edi
adc dx, 0xef4b
xchg edx, eax
mov eax, dword [esp]
btr dx, si
call fcn.0051b91b
xchg dx, ax
neg ah
add esp, 5
mov al, 0x64
rdtsc
neg edx
jmp 0x51ba28
mov dword [esp + 0x1b], esp
lea edi, reloc.KERNEL32.dll_GetProcAddress
mov dl, byte [esp + 0x33]
sub esp, 0x17
lea esp, [esp + 0x53]
btr eax, ecx
jmp 0x51b931
std
sub esp, 0xa
bswap eax
push word [esp + 0xb]
mov edx, esp
lea eax, reloc.KERNEL32.dll_GetProcAddress
call fcn.0051b980
lea eax, reloc.KERNEL32.dll_GetProcAddress
pop word [esp + 7]
mov edx, dword [esp + 0x13]
jmp 0x51b9f5
cmp ah, 0x3b
inc dx
pop dx
mov di, word [esp + 4]
jmp 0x51ba0d
lea edx, reloc.KERNEL32.dll_GetProcAddress
xchg dword [esp + 0xe], edx
xchg edx, edi
mov edi, dword [esp + 0xd]
inc dx
mov dword [esp + 0x15], esp
jmp 0x51b9df
mov edi, 0x7753c2fb
push eax
mov edi, dword [esp + 1]
std
mov edx, ebx
mov eax, ecx
jmp 0x51ba54
mov ax, sp
dec dh
pushal
mov ax, word [esp + 0xb]
pop dx
lea esp, [esp + 4]
jmp 0x51b996
xchg byte [esp + 0x15], dl
pop edx
mov edi, dword [esp + 4]
push word [esp + 0xa]
jmp 0x51ba6f
mov eax, esp
setne dl
mov edx, dword [esp + 0xa]
lea edx, reloc.KERNEL32.dll_GetProcAddress
mov dx, word [esp + 0x1b]
mov ax, word [esp + 0xe]
jmp 0x51ba3e
btr eax, eax
xchg edx, eax
rdtsc
bswap edx
xchg dword [esp + 0x14], edi
not edi
jmp 0x51bc08
xchg dword [esp + 0x23], edx
mov byte [esp + 0xd], cl
bt ax, sp
bsf edx, eax
mov edx, ecx
mov di, word [esp + 0x33]
jmp 0x51b966
lea edx, [ecx + esi]
call fcn.0051baa8
lea eax, [ecx + edi]
xchg ah, dl
mov edx, dword [esp + 0x23]
lea eax, [edx*4]
jmp 0x51bb1d
lea eax, [esi*4]
neg dl
call fcn.0051bb36
leave
pop edi
iretd
dec eax
push dword [esp + 4]
mov word [esp + 0x11], dx
add esp, 4
mov eax, dword [esp + 6]
jmp 0x51baf0
mov dx, sp
xchg word [esp + 0x13], dx
pop word [esp + 0x16]
lea esp, [esp + 0x11]
mov edi, dword [esp + 0x11]
inc di
jmp 0x51bb06
xchg byte [esp], al
mov byte [esp + 1], bh
cld
cmc
dec dh
mov dl, bl
jmp 0x51babe
mov byte [esp + 0x11], bh
mov word [esp + 0x10], dx
lea esp, [esp + 0x1a]
neg ah
xchg byte [esp + 1], ah
xchg ah, al
jmp 0x51bb51
call 0x51c008
jmp 0x51c954
je 0x51b733
lea esp, [esp + 8]
popal
jmp 0x51b6e5
pop eax
sub eax, 0x51c008
cmp dword [eax + reloc.KERNEL32.dll_GetProcAddress], 0
jmp 0x51c8d1