Function at 0x9fcb6c
Capabilities:
Execute anti-debugging instructions

Disassembly:
add ecx, 0x91eb1cf9
jmp 0x9fc949
mov dx, word es:[esp]
mov dx, word [esp]
lea edx, [edx + ebp]
neg edx
ja 0x9fc95f
jbe 0x9fbc2d
rol dword [ecx - 0x2f], cl
mov al, 0x43
xchg ebx, eax
add dl, byte [eax + 0x43bc02f7]
dec edx
mov dh, byte [esp]
mov dx, word [esp]
mov ecx, dword [ecx - reloc.kernel32.dll_DeleteCriticalSection]
mov edx, 0xc5d0fdd8
jmp 0x9fc916
lea edx, [ecx + ebp]
mov dx, 0x5a2a
jmp 0x9fc964
jmp 0x9fbc2d
sbb dl, dl
jns 0x9fc9aa
js 0x9fc9aa
lea edx, reloc.kernel32.dll_DeleteCriticalSection
mov dl, 0x8a
push ecx
ret
pop word [esp + 2]
call fcn.009fcb9f
loope 0x9fca00
jmp 0x9fc915
jae 0x9fc96a
lea edx, reloc.kernel32.dll_DeleteCriticalSection
call fcn.009fc9b4
wait
push cs
pushfd
sti
push ss
cmpsb byte [esi], byte es:[edi]
pop ds
xchg cx, ax
mov esp, ebp
not dx
bsf edx, eax
jmp 0x9fc994
xchg dword [esp + 0x14], ebx
mov dh, al
bts dx, dx
bsf dx, dx
push dword [esp + 0x14]
ret 0x18
bswap edx
lea ebp, [ebp - 0x31]
mov edx, 0x6ccd6c15
jmp 0x9fca24
and al, 0x20
mov edx, ebp
not dh
bswap edx
bsf dx, bx
jmp 0x9fc9e3
mov dx, word [esp]
mov edx, dword [esp]
sub esp, 0x12
call fcn.009fca0e
nop
or eax, 0xa117e49d
sbb al, 0x6f
jbe 0x9fca9e
mov dl, byte [esp]
lea ebx, [ebx - 0x26]
mov dh, ah
lea edx, [eax*4]
lea edx, [ebx*4]
mov dh, 0x44
jmp 0x9fc9ce
xchg edx, eax
in al, dx
mov al, 0xe9
push edx
invalid
sub al, 0
ja 0x9fca8c
js 0x9fcac3
ljmp 0x87ac:0x5d228b55
mov dword [esp], edx
lea esp, [esp + 2]
jmp 0x9fcb19
mov dword [esp + 8], ecx
push dword [esp + 3]
jo 0x9fcc20
jno 0x9fcbe2
sbb eax, 0x9f6c0595
sub dword [edi + esi + reloc.kernel32.dll_DeleteCriticalSection], eax
mov dword [esp + 0xc], ebx
pushal
mov dword [esp + 0x28], esp
call fcn.009fcb6c
or dword [edx], reloc.kernel32.dll_DeleteCriticalSection
and dword [edi + reloc.kernel32.dll_DeleteCriticalSection], ebp
inc edx
std
int3
mov dword [esp + 3], ebx
mov dword [esp + 0x2c], ebp
jmp 0x9fcc28
mov dword [esp + 3], ebx
mov dword [esp + 0x2c], ebp
call fcn.009fcbba
mov si, cx
int1
bsr ebx, ebp
ja 0x9fcc5f
mov edi, dword [esp]
jmp 0x9fcc62
mov esi, dword [esp + 0x2c]
mov ax, di
sub esp, 0x1c
jno 0x9fcd1d
jo 0x9fccca
test al, 0xcb
bound ebx, qword [ebp - 0x14dbc375]
in eax, 0xfe
outsb dx, byte [esi]
cld
wait
jbe 0x9fcc2f
mov edi, dword [esp]
jmp 0x9fcc49
in al, dx
adc dword [ebx], 0x76
test dword [reloc.kernel32.dll_DeleteCriticalSection], edi
dec esp
cld
jno 0x9fcce8
jae 0x9fcc79
push dword [esp + 3]
jno 0x9fc979
je 0x9fcca0
add ecx, dword [edi]
xor esi, 0x66fffffc
pop dword [esp + 2]
pop word [esp + 2]
jmp 0x9fc97e
jmp 0x9fcce6
push cs
daa
dec esi
sub esp, 0xa4
mov edi, esp
bsr ax, si
jg 0x9fcc8d
ror bx, cl
bsr cx, cx
cpuid
jmp 0x9fccd0
pop dword [esp + 0xc]
jmp 0x9fcd21
mov ecx, esi
jmp 0x9fcda1
ror bx, cl
bsr cx, cx
cpuid
call fcn.009fccf5
ret
retf
pop dword [esp + 0xc]
lea ebp, [esp + 0x18]
mov bx, si
pushfd
mov word [esp], ax
jmp 0x9fcca3
btr edx, ebp
jb 0x9fd43f
rdtsc
lea ebx, reloc.kernel32.dll_DeleteCriticalSection
mov ax, dx
mov dl, byte [esp]
or al, dl
jmp 0x9fd1d8
push word [esp + 6]
mov edx, esi
lea esp, [esp + 2]
jmp 0x9fd1e6
neg eax
sub esp, 0x10
jne 0x9fd1c2
push word [esp + 6]
jmp 0x9fd20d
lea esp, [esp + 0x10]
inc esi
mov ebx, edx
mov ax, dx
lea edx, reloc.kernel32.dll_DeleteCriticalSection
jmp 0x9fd215
mov edx, esi
lea esp, [esp + 2]
jmp 0x9fd1e6
mov ax, dx
mov bx, 0xa510
bswap eax
ror esi, 0
mov ax, word [esp]
jmp 0x9fd2b2
setae bh
mov dh, 0xad
jmp 0x9fd281
mov ax, dx
mov dl, byte [esp]
or al, dl
jmp 0x9fd1d8
mov ebx, 0xdebc407
jle 0x9fd2a5
call 0x677d746c
add edx, 0xe3ebac9f
lea edx, [esi + ebp]
xchg dword [esp], ebp
mov al, 0x70
call fcn.009fd394
sub ebp, dword [esi + reloc.kernel32.dll_DeleteCriticalSection]
aaa
ret
xchg ebx, edx
btr dx, di
ror esi, 0
mov dx, word [esp]
mov bx, 0x6810
mov bh, dh
push di
jmp 0x9fd29c
mov ax, sp
stc
jl 0x9fd317
xchg word [esp], dx
jmp 0x9fd301
and al, 0xeb
pop ecx
int3
bsf bx, ax
jns 0x9fd22a
setae bh
mov dh, 0xad
xchg ebx, edx
btr dx, di
call 0x9fd260
js 0x9fd255
insb byte es:[edi], dx
and al, 4
pushfd
bt ebx, eax
not eax
mov dword [esp], esi
lea ebx, reloc.kernel32.dll_DeleteCriticalSection
jmp 0x9fd34f
lea esp, [esp + 2]
jmp 0x9fd31f
xchg word [esp], dx
lea esp, [esp + 2]
add esi, 0x73b71159
not edx
not edx
mov dx, cx
jmp 0x9fd332
mov bx, 0x8946
neg esi
mov bh, byte [esp]
clc
jnp 0x9fd36c
not ax
mov dx, word [esp]
jmp 0x9fd36e
push dword [esp + 8]
ret 0xc
not ax
mov dx, word [esp]
jmp 0x9fd36e
jmp 0x9fd356
add esi, dword [ebp]
pushal
lea esp, [esp + 0x19]
lea edx, [ebp*4]
lea ebx, [edx - 0x52]
jmp 0x9fd3ec
mov dx, si
mov dl, byte [esp]
mov bx, word [esp]
or dx, ax
jmp 0x9fd418
movzx eax, byte [esi - 1]
lea ebx, [eax*4]
mov bx, ax
setge dl
jmp 0x9fd39f
mov ebx, 0x4fa3277d
lea edx, reloc.kernel32.dll_DeleteCriticalSection
mov dx, 0x90de
mov edx, esp
inc bh
jmp 0x9fd427
lea esp, [esp + 3]
jmp 0x9fd3b5
mov dx, 0x90de
mov edx, esp
inc bh
jmp 0x9fd427
ja 0x9fd3c8
mov ebx, 0x4fa3277d
lea edx, reloc.kernel32.dll_DeleteCriticalSection
jmp 0x9fd402
sub al, cl
push edx
push word [esp + 3]
jae 0x9fd7b8
jb 0x9fd4e8
dec ebx
loop 0x9fd45b
insb byte es:[edi], dx
rdtsc
lea ebx, reloc.kernel32.dll_DeleteCriticalSection
jmp 0x9fd240
mov bx, 0x37ac
mov bx, 0xfa33
sub esp, 6
jmp 0x9fd470
add edx, dword [ebx + reloc.kernel32.dll_DeleteCriticalSection]
int1
invalid
mov dl, al
xchg bh, bl
lea ebx, [ebp - 0x2e]
mov bl, al
dec dl
jmp 0x9fd44d
jne 0x9fd48c
xchg byte [esp + 3], bl
mov bx, 0x590a
jmp 0x9fd4b4
xchg byte [esp + 3], bl
mov bx, 0x590a
lea esp, [esp + 2]
lea esp, [esp + 4]
not dl
lea ebx, [ebx + ebx]
sub esp, 0xf
jmp 0x9fd4ba
lea esp, [esp + 2]
jmp 0x9fd498
jl 0x9fd4d0
mov byte [esp + 9], ch
ror bx, cl
jmp 0x9fd6a8
mov byte [esp + 9], ch
ror bx, cl
mov bx, word [esp + 0xc]
lea esp, [esp + 3]
jmp 0x9fd58c
add esp, 3
rcl ebx, 6
lea esp, [esp + 3]
jmp 0x9fd7c2
cmc
mov ebx, dword [esp]
sub esp, 0x10
jmp 0x9fd514
cmc
mov ebx, dword [esp]
sub esp, 0x10
call 0x9fd51a
inc esp
clc
jmp 0x9fd53c
mov bx, 0xfbda
neg dl
ror bh, cl
jb 0x9fd50d
jae 0x9fd4f7
jg 0x9fd552
mov dword [esp + 6], esi
push word [esp + 5]
jmp 0x9fd562
mov dword [esp + 6], esi
push word [esp + 5]
pop ebx
jmp 0x9fd625
pop ebx
lea esp, [esp + 2]
jmp 0x9fd629
setle bh
call fcn.009fd5ca
sub cl, dl
mov dx, word [esp]
bsr bx, cx
jl 0x9fd59f
not ebx
push esi
jmp 0x9fd5a8
lea esp, [esp + 0xc]
dec dl
xchg bl, bh
lea ebx, [ecx*4]
not bl
jmp 0x9fd530
not ebx
jmp 0x9fd5a7
push esi
dec esi
lea edx, [ebx + esi]
mov ebx, dword [esp]
jmp 0x9fd5f9
mov bx, sp
xchg byte [esp], dh
lea esp, [esp + 2]
jmp 0x9fd608
mov bx, sp
xchg byte [esp], dh
lea esp, [esp + 2]
jmp 0x9fd608
setbe bl
push ax
not dx
rol ebx, 0xa
jns 0x9fd5b1
js 0x9fd5da
add al, 0x74
setl dh
mov ebx, esi
mov bl, byte [esp]
lea ebx, [edx + esi]
jmp 0x9fd64c
lea esp, [esp + 2]
lea esp, [esp + 0x10]
inc dl
push bp
jmp 0x9fd56c
stc
jmp 0x9fd672
mov dx, sp
shl dx, 8
jne 0x9fd636
stc
jmp 0x9fd672
mov dl, 0xad
call fcn.009fd734
jnp 0x9fd656
or al, 0xff
dec edx
imul esp, esi, 0x74
adc ebp, esi
pop ecx
xchg dword [ebx], ebx
mov ebp, esi
sbb eax, 0xc0fefeda
inc al
bsr edx, edi
jg 0x9fd658
mov dl, 0xad
jmp 0x9fd6e2
jmp 0x9fd716
mov bx, word [esp + 0xc]
lea esp, [esp + 3]
jmp 0x9fd58c
not bh
xchg edx, ebx
mov bx, 0x15ae
jmp 0x9fd68a
inc al
call fcn.009fd68f
pop bx
not dx
jmp 0x9fd745
add al, 0xc5
not bh
bt ebx, esi
jmp 0x9fd78a
neg ebx
rcl bl, 4
lea edx, reloc.kernel32.dll_DeleteCriticalSection
sub esp, 2
bsr edx, eax
lea esp, [esp + 2]
jmp 0x9fd793
lea edx, reloc.kernel32.dll_DeleteCriticalSection
sub esp, 2
bsr edx, eax
jmp 0x9fd763
jp 0x9fd752
neg ebx
rcl bl, 4
jmp 0x9fd774
neg al
lea ebx, [ebx + edi]
neg bx
jmp 0x9fd916
mov edx, eax
setle bh
lea ebx, [ecx + ebx]
call fcn.009fd7e8
invalid
add esp, 3
rcl ebx, 6
lea esp, [esp + 3]
jmp 0x9fd463
jns 0x9fd7a1
js 0x9fd7a1