Function at 0x8f57d0
Capabilities:
Execute anti-debugging instructions

Disassembly:
mov esi, dword [esp + 0x1c]
std
mov ax, 0x6d5b
xchg esi, eax
mov byte [esp + 0x21], dl
mov si, word [esp + 0x10]
jmp 0x8f5739
xchg byte [esp + 0x25], al
pop ax
neg si
mov ah, cl
xchg ecx, edi
pushfd
jmp 0x8f570c
push dword [esp + 0xf]
and di, bx
lea esp, [esp + 0x29]
not cx
push word [esp + 6]
mov esi, dword [esp + 5]
jmp 0x8f579c
dec bh
xchg ecx, edi
mov ax, 0xf186
mov ebx, dword [esp + 0x21]
mov ecx, dword [esp + 9]
cpuid
jmp 0x8f5729
bsr esi, edi
pop eax
mov di, 0x4276
add esp, 0x12
add esp, 0
stc
jmp 0x8f57b0
mov cl, byte [esp + 0x13]
rdtsc
mov dword [esp], ebx
bswap edi
mov ah, byte [esp + 0x12]
dec ebx
jmp 0x8f576a
mov si, di
pop word [esp + 4]
bsr ecx, ebx
rdtsc
pop ax
sub esp, 0x13
jmp 0x8f5780
mov byte [esp], ah
dec ebp
not dx
rdtsc
sub esp, 0x19
mov byte [esp + 0x19], dh
jmp 0x8f57e0
mov byte [esp + 0x15], cl
mov dx, 0xdbd6
setp ah
jmp 0x8f5756
std
push ebx
stc
xchg cl, dl
call 0x8f57eb
pop edi
rdtsc
xchg byte [esp + 0x1e], ch
jmp 0x8f5828
lea esp, [esp + 5]
sub esp, 9
lea edx, [edx + ebp]
ror di, cl
not esi
jmp 0x8f5959
lea esp, [esp + 7]
mov bp, ax
mov byte [esp + 0xd], dh
xchg dword [esp + 4], eax
pop ecx
xchg dword [esp + 7], ebx
jmp 0x8f5812
pop dx
setne ah
bswap edi
mov dl, 0xeb
call fcn.008f5869
bsr di, dx
mov dh, byte [esp + 4]
inc ecx
pop word [esp + 0x15]
jmp 0x8f58c3
xchg cx, si
mov eax, ebp
popal
mov esi, esp
xchg ah, cl
cmc
jmp 0x8f5905
mov ebx, 0x3869f341
bsr ebp, edx
not dh
pop si
sub esp, 4
push cx
jmp 0x8f588b
lea edi, [ebx*4]
mov ebx, dword [esp]
bsr eax, edx
lea edi, [esp + edi]
jmp 0x8f593d
mov word [esp + 2], bp
lea edi, [ecx*4]
mov dx, bx
lea esp, [esp + 5]
xchg bp, ax
rdtsc
jmp 0x8f58ef
mov di, 0xb5e4
cld
rdtsc
xchg word [esp + 0x1b], dx
xchg word [esp + 0x15], ax
xchg word [esp + 0x14], si
jmp 0x8f58dc
rdtsc
lea esp, [esp]
lea esp, [esp]
sub esp, 0x1b
pop word [esp + 7]
call fcn.008f5c55
mov edx, 0x51ba4f28
sbb esp, dword [esi - 1]
je 0x8f5981
push word [esp + 0x17]
pop ss
xchg ecx, ebx
mov word [esp + 0xb], bx
lea eax, [ebx*4]
mov edi, ecx
xchg word [esp + 8], bx
jmp 0x8f5925
adc edi, dword [ebp - 0x13]
jge 0x8f598a
not dword [edi]
jl 0x8f59d9
salc
mov bp, 0x1490
xchg byte [esp + 5], cl
pop dword [esp]
dec bh
xchg byte [esp + 4], dh
call fcn.008f5975
not dl
pushal
mov di, 0xe04f
pop word [esp + 0x16]
mov cl, byte [esp + 0x1c]
jmp 0x8f59ce
add esp, 8
xchg word [esp + 0xa], di
xchg dword [esp + 6], esi
push es
pop ebx
rdtsc
mov di, bp
jmp 0x8f5b59
neg bx
lea ecx, [ebp + ebp]
bswap edi
push dword [esp + 1]
mov si, 0xb794
call fcn.008f5a15
pop cx
rdtsc
mov esi, esp
mov dword [esp + 3], edi
lea esp, [esp]
jmp 0x8f5b87
push word [esp + 1]
pop ebp
xchg bp, di
mov dh, 0x22
xchg ah, cl
lea esp, [esp + 7]
jmp 0x8f5c23
inc cx
cmc
mov bl, 0xb2
cld
cpuid
sub esp, 0
jmp 0x8f5bd7
lea eax, [ebx*4]
mov edi, 0x31f42302
jmp 0x8f5c02
mov cl, 0x56
mov bh, dl
mov ah, 0xbe
bsr esi, ecx
mov ebx, 0xecc5d87
xor dx, 0x3ef3
jmp 0x8f5bc6
lea eax, [edx*4]
add esp, 0
bsf ebx, esp
mov bx, 0x8ca0
mov esi, dword [esp]
neg si
jmp 0x8f5c3a
mov edx, 0xe2681e3a
rdtsc
lea edi, reloc.kernel32.dll_DeleteCriticalSection
cpuid
sets al
setl ah
jmp 0x8f5bed
mov ecx, esi
sete bl
not di
cmc
dec ax
add esp, 0
jmp 0x8f61e0
mov eax, 0xeea3fc9d
mov edx, ebx
mov ebx, edx
xchg dword [esp + 0x16], eax
rdtsc
push eax
jmp 0x8f5c88
lea eax, [edx + edx]
shl esi, cl
pushal
mov di, si
lea ebp, [edx + 0xec]
cpuid
jmp 0x8f5c5f
or eax, edi
pop bp
mov ax, word [esp + 0x1a]
sub cx, ax
mov esi, dword [esp + 0x20]
rdtsc
jmp 0x8f5cbb
mov bp, word [esp]
lea edx, [edx*4]
mov ecx, 0xa60dcb5e
mov byte [esp], ah
lea ecx, [esi + edi]
not ch
jmp 0x8f5c75
or cl, bl
mov ax, word [esp + 0x15]
pop bp
not ch
lea esi, [esp + ecx]
mov bh, byte [esp + 0xf]
jmp 0x8f5d28
lea ebx, [eax*4]
dec dl
rdtsc
mov byte [esp], al
mov ebp, dword [esp]
mov ch, dh
jmp 0x8f5ca1
mov bx, di
mov eax, edi
xchg bh, bl
cmc
call fcn.008f5d00
mov bl, 0x1f
xchg dword [esp + 0x1e], edi
pop edx
xchg bp, si
bswap edx
pop dword [esp + 0xa]
jmp 0x8f5db5
clc
mov al, bh
mov dl, byte [esp + 2]
mov byte [esp], dh
pop ecx
xchg word [esp], si
jmp 0x8f5d8c
mov esi, 0x20077dc0
bt bx, bp
neg dh
mov bh, dl
xchg di, cx
mov byte [esp], bl
jmp 0x8f5cd5
rdtsc
xchg ecx, esi
cpuid
mov eax, 0x365b1fc8
xchg edi, ebp
lea edx, [esi + ebp]
jmp 0x8f5d9e
bswap ecx
bsf eax, esi
pushfd
sets dl
lea edi, reloc.kernel32.dll_DeleteCriticalSection
clc
jmp 0x8f5d76
mov bh, 0xe2
add esp, 3
mov bl, bh
lea esp, [esp]
dec bp
jmp 0x8f5e22
mov cl, 0xfb
sub esp, 7
xchg dword [esp + 0x10], ebp
popal
bts edx, ebx
mov byte [esp + 4], ah
jmp 0x8f5d47
xchg ecx, ebx
pushfd
mov ah, byte [esp + 2]
call fcn.008f5df7
sub byte [edx + 0x7eaa5f38], ch
dec ebx
loop 0x8f5dfd
insb byte es:[edi], dx
xchg di, bp
mov ecx, dword [esp]
not ecx
lea ebx, [ecx + ebx]
mov ax, 0x9e97
mov edx, 0x6355c190
jmp 0x8f5dcb
and al, 6
mov ax, bp
jmp 0x8f5e08
mov edx, dword [esp + 2]
neg ebx
mov byte [esp], ah
setne ch
bsf cx, sp
jmp 0x8f5e4e
lea edx, [ecx*4]
add esp, 2
mov ebx, dword [esp]
xchg dh, bl
bswap esi
add esp, 0
jmp 0x8f5de1
pop dword [esp]
pop word [esp + 2]
mov dl, dh
ror ebp, 0x16
jmp 0x8f5e79
push word [esp + 4]
mov di, sp
clc
bsf ax, si
mov si, 0xdc4e
mov ah, 0xb4
jmp 0x8f5e38
pop dword [esp + 0xb]
neg cx
mov eax, 0x5954ccaf
mov ax, di
pushfd
jmp 0x8f6179
mov word [esp], cx
mov dword [esp], esp
mov cx, 0x3839
bt si, si
lea esi, [esi + edi]
sub esp, 0x16
jmp 0x8f5e63
lea edi, reloc.kernel32.dll_DeleteCriticalSection
mov ax, word [esp]
mov ax, bp
mov ecx, ebx
xchg bl, bh
mov cx, 0x8464
jmp 0x8f5d5e
lea eax, [esp + esi]
mov di, word [esp + 0x1a]
call fcn.008f5ec4
xchg dword [esp + 1], esi
lea edx, [edx*4]
mov dword [esp + 6], edx
lea eax, [edx + edx]
jmp 0x8f61c6
xchg al, dh
pop dx
call fcn.008f6496
pop ecx
enter 0x395e, 0xffffffffffffffc8
cmp ecx, esi
cmc
pushfd
outsd dx, dword [esi]
fcom dword [edx + ecx*4]
jl 0x8f61ed
mov bh, byte [esp + 2]
xchg byte [esp + 0xd], ch
xchg edx, ebx
mov ebp, dword [esp + 4]
pop word [esp + 5]
add al, byte [esi - 0x78f2db94]
fimul dword [ebx + reloc.kernel32.dll_DeleteCriticalSection]
pop dword [esp + 5]
std
jmp 0x8f61b0
xchg ebp, esi
xchg dx, ax
mov bx, bp
add esp, 0
mov ax, bx
rdtsc
jmp 0x8f5e94