Function at 0xfc12c5
Capabilities:
Execute anti-debugging instructions

Disassembly:
call fcn.00fc0318
push dword [esp + 0xd]
mov ch, byte [esp + 0xd]
xchg dword [esp + 1], ebx
xchg ecx, edx
bswap edx
xchg di, ax
jmp 0xfc11b8
xchg word [esp + 0xa], bp
not si
lea ebp, [esi*4]
bsf edx, esp
jmp 0xfc116f
mov byte [esp + 0x19], bh
pop word [esp + 0x19]
call fcn.00fc128b
xor eax, 0xc53653c3
pop ss
push es
mov cl, 0xb8
xchg esi, eax
jmp 0xfc122e
mov eax, 0x9a72eb96
mov word [esp + 4], bp
xchg ebx, esi
bswap ebx
push word [esp + 2]
xchg dword [esp + 0x17], eax
jmp 0xfc11a2
pop esp
and al, 0xb
sub esp, 0x1a
jmp 0xfc126b
not di
setg dl
mov dword [esp + 0x1e], esi
mov ecx, edi
xchg bx, cx
jmp 0xfc12b0
mov bx, 0xc28c
mov eax, 0x6dcf064b
pop esi
add esp, 1
pop dword [esp + 0x17]
setge al
jmp 0xfc1255
pop dword [esp]
ror dl, cl
neg edi
rol ebp, cl
pop si
mov si, word [esp + 0x1d]
call fcn.00fc129a
btc eax, ecx
mov eax, edi
push edx
mov edx, 0x9302fc9e
rdtsc
jmp 0xfc12e2
add esp, 0x2d
xchg edi, edx
pop ax
xchg byte [esp + 4], dl
lea eax, [ecx*4]
rdtsc
jmp 0xfc1343
pop word [esp + 0xb]
bswap ebx
mov di, bx
mov ecx, dword [esp + 9]
lea edx, reloc.WINMM.dll_PlaySoundA
xchg dword [esp + 7], edi
jmp 0xfc1358
setns dh
sub esp, 0x11
btc dx, di
cld
push word [esp + 1]
bsr edx, esi
jmp 0xfc1320
xchg word [esp + 0xd], dx
mov dword [esp + 0xb], edx
xchg byte [esp + 0xe], ah
mov al, cl
mov di, word [esp + 8]
lea ebp, [eax*4]
jmp 0xfc13ad
setge al
lea eax, reloc.WINMM.dll_PlaySoundA
mov si, cx
sub byte [ecx + 0x66ffff22], 0x8b
int1
setle cl
std
rcl ebx, 4
call fcn.00fc1397
neg dx
call 0xfc13db
js 0xfc13b1
jo 0xfc13e8
loop 0xfc1428
mov edx, 0x21d2b727
xchg dl, bl
xor eax, 0xafbe8d
add byte [eax], al
stc
not ecx
mov byte [esp], dh
jmp 0xfc141d
xor al, 0x3e
cmpsb byte [esi], byte es:[edi]
xor al, 0x53
scasb al, byte es:[edi]
sbb dword [edi - 0x42], edx
neg edi
sub esp, 0x10
xchg ebx, ebp
mov word [esp + 0x1e], si
popal
lea edx, [edi*4]
jmp 0xfc13c5
mov ebx, dword [esp + 8]
sub esp, 0x13
neg cx
rdtsc
setae bl
jmp 0xfc1436
push word [esp + 1]
shl dh, cl
setne bl
mov word [esp + 6], ax
mov dword [esp + 6], eax
mov ebx, dword [esp + 0xa]
push dword [esp + 0xf]
jmp 0xfc1407
mov byte [esp + 2], dh
rdtsc
mov word [esp + 9], si
cpuid
jmp 0xfc1879
lea esp, [esp + 4]
call fcn.00fc149b
push word [esp + 7]
mov word [esp + 1], bx
lea esp, [esp + 2]
and al, 2
mov dword [esp + 0x24], esp
call 0xfc1508
out dx, al
insd dword es:[edi], dx
std
test byte [edi - 0x69], dh
clc
jle 0xfc14df
mov eax, dword [esi - reloc.WINMM.dll_PlaySoundA]
je 0xfc151f
add ah, byte [esi - 0x77]
jl 0xfc1524
add dword [esi - 0x77], esp
insb byte es:[edi], dx
and al, 5
add eax, 0xff66cbeb
xor al, 0x24
lea esp, [esp + 2]
jmp 0xfc1516
jmp 0xfc14d3
mov dword [esp + 0x24], ebp
pushfd
push word [esp + 2]
mov word [esp + 1], sp
add ah, byte [esi - 0x77]
and al, 1
add dword [ebp - reloc.WINMM.dll_PlaySoundA], ecx
je 0xfc1550
lea esp, [esp + 2]
mov dword [esp + 0x24], esi
jmp 0xfc15a9
and al, 0xeb
jp 0xfc1505
inc esp
neg esi
cmc
std
clc
cld
stc
popfd
jmp 0xfc14ca
mov eax, dword [eax + 8]
jmp 0xfc1574
pop ds
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0x1c]
mov eax, dword [eax]
jmp 0xfc153b
push eax
jmp 0xfc0313
pushfd
mov dword [esp + 0x24], edi
lea esp, [esp + 0x24]
mov eax, dword fs:[0x30]
jmp 0xfc1551
sub esp, 0x1f
mov byte [esp + 0x24], bl
lea esp, [esp + 1]
lea esp, [esp + 0x28]
popal
clc
jmp 0xfc1533
push dword [esp + 0x11]
lea ebx, [eax + 0xde]
pop word [esp + 0x13]
add esp, 1
mov ax, 0x5207
popal
jmp 0xfc15e6
lea ebx, [ebx*4]
rol cx, 6
mov dword [esp + 0xb], edx
mov edx, edi
ror di, 9
mov cx, bx
jmp 0xfc168c