Function at 0x15fe305
Capabilities:
Execute anti-debugging instructions

Disassembly:
push dword [esp + 0x18]
ret 0x1c
rcr al, 6
rdtsc
adc ah, ah
mov dl, byte [esp]
btc ax, bx
jmp 0x15fe2dd
fsubr st(1)
mov bl, 0
add byte [eax], al
and eax, 0xb60fc754
movzx ebx, byte [esi - 1]
cmc
movzx ebx, byte [esi - 1]
cmc
jns 0x15fe217
js 0x15fe277
jge 0x15fe224
bound eax, qword [0xf96d35f4]
imul ecx, dword [eax], reloc.kernel32.dll_GetProcAddress
xchg edx, eax
or eax, 0x24548966
push es
xchg dword [esp + 0x18], edi
bt ebx, eax
mov bh, byte [esp]
mov ecx, 0x288ce370
mov cl, 0x2d
jmp 0x15fd798
mov dl, byte [esp]
btc ax, bx
jmp 0x15fe2dd
rcr al, 6
rdtsc
adc ah, ah
jmp 0x15fe261
sbb ax, 0xb1f8
jmp 0x15fe2b0
sub bl, cl
lea edx, [ebx - 0x74]
mov edx, dword [esp]
cmc
jne 0x15fe280
je 0x15fe2c6
push cs
wait
or ebp, dword [esi - 0x63]
jle 0x15fe2f4
call 0xe84b84bb
jmp 0x15fe296
mov al, bl
sub esp, 0x15
jg 0x15fe342
xchg byte [esp + 0xf], dh
jmp 0x15fe346
sbb ax, 0xb1f8
jmp 0x15fe2b0
mov dx, 0x200c
push ecx
mov dh, byte [esp + 1]
push dword [esp]
jae 0x15fe2ae
jb 0x15fe2ae
mov dh, bl
setb dl
setbe dl
mov dx, word [esp + 8]
sete dh
call 0x15fe305
ret 0x8b66
add eax, dword [eax]
add byte [eax], al
je 0x15fe2ef
call 0x683ada6f
bt edx, ebx
call fcn.015fe362
jnp 0x15fe2fe
jnp 0x15fe333
in eax, dx
pop ecx
mov ds, word [ecx]
js 0x15fe376
pop edx
lea esp, [esp + 1]
ror al, 0
jmp 0x15fe329
xchg dl, dh
bswap edx
bt dx, bx
ja 0x15fe377
lea edx, [edx*4]
pushal
jmp 0x15fe3b9
xchg byte [esp + 0xf], dh
call 0x15fe303
add byte [ebp + 0x9514], cl
add byte [eax], al
lea edx, [edx*4]
jmp 0x15fe3de
call fcn.015fe70e
jge 0x15fe3a7
add byte [ebp - 3], bh
insd dword es:[edi], dx
hlt
mov edx, dword [esp + 0x15]
jmp 0x15fe3e3
lea esp, [esp + 3]
jmp 0x15fe443
pushal
mov edx, dword [esp + 0x15]
lea esp, [esp + 0x34]
dec al
rol dl, cl
jl 0x15fe3a3
setl dh
jmp 0x15fe49d
jmp 0x15fe471
lea esp, [esp + 0xc]
sub al, 0x91
lea edx, reloc.kernel32.dll_GetProcAddress
inc dl
jo 0x15fe42d
mov dx, word [esp]
bt edx, ecx
lea edx, [edi + ebp]
mov edx, dword [esp]
jmp 0x15fe484
sub esp, 8
jmp 0x15fe3cf
mov dx, word [esp]
bt edx, ecx
lea edx, [edi + ebp]
jmp 0x15fe481
mov edx, dword [esp]
ror al, 0
not edx
mov edx, dword [esp]
jmp 0x15fe4bf
lea edx, [ebp + ebp]
sub esp, 7
neg dx
jmp 0x15fe469
jmp 0x15fe4f4
mov edx, 0xe7f6ff2e
lea edx, [ebp*4]
neg al
neg dl
jae 0x15fe4a9
lea edx, [eax + ebx]
btr edx, eax
mov dh, byte [esp]
jmp 0x15fe5ff
lea edx, [eax + ebx]
btr edx, eax
mov dh, byte [esp]
jmp 0x15fe5ff
lea eax, [esi + esi]
xchg byte [esp + 1], al
jmp 0x15fe539
lea eax, [esi + esi]
xchg byte [esp + 1], al
dec esi
neg dl
jmp 0x15fe55e
mov edx, dword [esp]
xchg edx, eax
mov edx, eax
jmp 0x15fe5b3
jnp 0x15fe5a7
mov ax, 0x845d
neg dh
jmp 0x15fe53e
mov ax, 0x845d
neg dh
mov edx, dword [esp]
xchg edx, eax
mov edx, eax
pushfd
call fcn.015fe546
lea esp, [esp + 4]
not bl
xchg edx, eax
mov eax, ecx
neg dx
jmp 0x15fe629
setno dl
mov edx, 0x1bd2c58a
jmp 0x15fe613
mov dh, 0x2f
lea esp, [esp + 4]
sub bl, 0x86
jmp 0x15fe65a
sub cl, al
setno dh
sub esp, 8
jo 0x15fe532
jno 0x15fe51c
neg bl
pushfd
mov dh, byte [esp + 1]
rdtsc
mov eax, edx
bts eax, ebx
jmp 0x15fe670
ja 0x15fe5da
setno dl
mov edx, 0x1bd2c58a
jmp 0x15fe5e2
mov edx, dword [esp]
lea edx, reloc.kernel32.dll_GetProcAddress
rdtsc
bswap eax
clc
jmp 0x15fe693
jo 0x15fe5e4
mov dh, 0x2f
jmp 0x15fe5e6
jno 0x15fe6c0
rdtsc
neg dx
jmp 0x15fe6c5
rdtsc
neg dx
call 0x15fe69c
mov word cs:[edx], es
xchg esp, eax
adc ebx, dword [ecx + reloc.kernel32.dll_GetProcAddress]
lodsb al, byte [esi]
clc
invalid