Function at 0x5f9109
Capabilities:
Execute anti-debugging instructions

Disassembly:
push dx
lea esp, [esp + 2]
lea esp, [esp + 8]
pushal
mov ebx, eax
jmp 0x5f91a7
lea edx, [ecx + 0xa6]
sub esp, 0xf
pop word [esp + 8]
mov dh, 0x4e
jmp 0x5f9183
mov ebx, 0xd31a8aa8
sub esp, 6
sub esp, 2
push dword [esp + 1]
lea ebp, [ebp*4]
xchg byte [esp + 1], dl
jmp 0x5f914f
mov cl, 0x11
mov di, bx
not edi
xchg dword [esp + 0xc], ebp
lea ebp, [ebx + esi]
xchg ebx, eax
jmp 0x5f91cf
rdtsc
lea esi, [eax + eax]
xchg di, dx
bsf si, dx
mov cl, dl
cmp al, 0xa1
jmp 0x5f9167
mov ecx, dword [esp + 9]
mov si, word [esp + 0xf]
pop ax
xchg word [esp + 5], di
jmp 0x5f9206
xchg esi, ebp
rol ah, cl
mov di, word [esp + 2]
sub edi, 0x904d65c4
xchg byte [esp + 1], ah
btc bp, di
jmp 0x5f91b9
xchg word [esp + 7], si
pop word [esp + 7]
bt eax, ebp
xchg bp, si
xchg dword [esp], ebx
bt eax, esp
jmp 0x5f9230
mov dl, 0x2d
mov al, byte [esp + 0xa]
sub esp, 0xa
xchg dh, cl
add esp, 0x10
mov byte [esp + 0xb], al
jmp 0x5f91e8
pop edx
add esp, 1
neg edi
xchg edi, eax
mov word [esp], sp
bsr dx, dx
jmp 0x5f9276
mov bl, 0x3b
and bp, cx
lea edi, [ecx*4]
bswap edi
setbe ch
add esp, 7
jmp 0x5f921a
cpuid
mov cl, 0x21
neg bx
xchg cx, dx
push edx
cld
jmp 0x5f93b1
setns dl
add esp, 0
mov bx, 0xcc5
xchg dx, cx
lea edx, reloc.kernel32.dll_DeleteCriticalSection
mov ax, bx
jmp 0x5f9260
mov di, 0xd8b2
mov dl, byte [esp + 0x26]
add esp, 0x19
mov di, word [esp + 2]
jmp 0x5f92f6
dec bx
lea esi, [ebp*4]
pop word [esp]
not bp
pushal
push dword [esp + 0xe]
jmp 0x5f92b3
mov byte [esp + 8], dh
xchg si, ax
xchg byte [esp], dh
mov cl, 0x81
pop edi
mov ah, 0xa6
jmp 0x5f930f
mov ebx, ecx
push word [esp + 0xc]
push word [esp + 0xd]
pop ecx
pop word [esp + 7]
xchg word [esp + 5], dx
jmp 0x5f92e0
bswap ebp
xchg bx, ax
mov si, word [esp]
cpuid
mov al, ah
cpuid
jmp 0x5f9374
rdtsc
lea edx, reloc.kernel32.dll_DeleteCriticalSection
pop si
xchg word [esp + 1], di
jmp 0x5f9348
mov ebx, dword [esp + 4]
xchg dword [esp], edi
mov ah, dh
mov ebx, ebp
xor dx, 0x5a4e
cmc
jmp 0x5f92c9
pop word [esp]
mov al, byte [esp]
lea ebp, [edx*4]
lea esi, [esp + ebx]
bsf bx, bp
xchg word [esp], bp
jmp 0x5f938a
lea eax, reloc.kernel32.dll_DeleteCriticalSection
mov ah, byte [esp]
pop word [esp]
not ah
setl dh
mov cl, 0x60
jmp 0x5f931f
xchg byte [esp], dl
mov cx, di
cpuid
pop di
xchg dx, di
pushal
jmp 0x5f9450
pop bx
mov dx, word [esp]
not dx
mov dword [esp], edx
mov ebp, esp
mov dl, ch
jmp 0x5f9335
mov di, 0xe1e8
xchg word [esp], si
push ecx
mov ebx, edi
mov dh, 0x83
dec si
jmp 0x5f9413
stc
bsf bp, ax
xchg dh, cl
mov ch, 0x71
pop dword [esp]
shl eax, cl
jmp 0x5f93c6
mov cl, ch
mov ah, bh
xchg esi, ebx
xchg edx, ecx
mov dword [esp + 1], edx
lea esp, [esp + 7]
jmp 0x5f942c
inc ebx
lea ebp, reloc.kernel32.dll_DeleteCriticalSection
xchg word [esp + 5], di
mov ax, word [esp + 5]
mov esi, eax
mov ah, byte [esp + 4]
jmp 0x5f93ec
cpuid
xchg word [esp], bp
pop bx
lea edi, [ebp*4]
std
mov ah, cl
jmp 0x5f94f8
neg ax
xchg edi, ebp
mov ax, bp
mov cl, dh
lea esp, [esp + 0x17]
mov bp, word [esp + 8]
jmp 0x5f93dc
dec ebp
pop dword [esp]
lea esp, [esp + 5]
mov ebx, edi
mov byte [esp + 3], ah
mov dword [esp], ebx
jmp 0x5f94bf
std
bts bx, di
xchg ecx, edi
neg dx
and dx, 0x3177
sub esp, 0x10
jmp 0x5f9468
xchg word [esp + 3], ax
xchg bh, bl
lea ebp, [edi*4]
mov cx, 0xe624
mov word [esp + 3], si
jmp 0x5f94d1
neg edx
mov ebp, dword [esp + 4]
xchg byte [esp], cl
neg al
bsr esi, ebx
cpuid
jmp 0x5f94a2
lea esi, reloc.kernel32.dll_DeleteCriticalSection
cpuid
dec dx
mov ah, 0x3d
mov bh, dh
not bl
jmp 0x5f951e
mov dl, ch
clc
lea edi, [edi + ebp]
neg esi
mov dx, bx
mov bh, byte [esp]
jmp 0x5f948e
and ebx, ebp
mov bl, 0x98
rdtsc
push word [esp + 4]
mov bp, 0x572b
jmp 0x5f96d9
push dword [esp + 2]
mov dword [esp], ebp
sub esp, 0xb
mov cl, byte [esp + 9]
add esp, 0
mov cl, al
jmp 0x5f9508
xchg ah, ch
mov bx, word [esp + 4]
push dword [esp + 1]
mov edi, ebx
xchg cx, si
jmp 0x5f959f
mov word [esp + 4], di
pop di
dec ax
cpuid
mov ecx, ebp
mov word [esp], di
jmp 0x5f954b
dec dx
mov ah, bh
add esp, 3
cpuid
btc esi, ebp
setae dh
jmp 0x5f9561
mov word [esp], cx
lea esp, [esp + 1]
lea ecx, [ebx + ebp]
add esp, 2
jmp 0x5f95ab
cld
pop esi
pop bp
cpuid
shl cx, cl
inc ebp
jmp 0x5f9589
lea ebx, [edi*4]
sub esp, 0x13
pop di
mov bx, word [esp + 0xe]
mov bl, 0x5f
mov byte [esp], al
jmp 0x5f965d
lea ebx, reloc.kernel32.dll_DeleteCriticalSection
setae dh
pop word [esp + 4]
pop bp
pop word [esp + 5]
seto bl
jmp 0x5f9578
inc bx
call fcn.005f9600
lea esi, reloc.kernel32.dll_DeleteCriticalSection
sub esp, 0x1a
cpuid
xchg di, ax
jmp 0x5f96a8
xchg dh, cl
mov edx, ecx
shl ah, 6
shl ch, cl
neg ax
push word [esp + 8]
jmp 0x5f9622
lea ecx, [edi + 0x8c]
xchg dword [esp + 8], edx
mov cx, 0x270
jmp 0x5f96be
mov dh, 0x42
mov ecx, dword [esp + 9]
lea ebp, [eax + edi]
bts cx, dx
xchg dl, bh
mov al, 0x96
jmp 0x5f9670
lea esi, [eax + ebp]
cpuid
sub esp, 0
lea edx, [edi*4]
lea edi, [ebx + esi]
not dl
jmp 0x5f9686
mov bp, di
xchg cx, ax
ror bl, 4
pop dword [esp]
push dword [esp + 0x12]
neg bp
jmp 0x5f9b9d
mov word [esp + 0xd], di
setbe ch
neg bp
btr edi, edx
add esp, 7
xchg word [esp + 7], cx
jmp 0x5f95d0
and bh, 0xed
rdtsc
mov eax, dword [esp]
std
xchg bp, dx
clc
jmp 0x5f9741
mov ah, 0x14
rdtsc
bsr edx, edi
not bx
mov byte [esp], al
mov byte [esp], ah
jmp 0x5f972b
mov bh, 8
clc
add bh, 0xa0
mov ebx, edi
setns cl
lea ecx, [eax + ecx]
jmp 0x5f96f4
not ch
mov bl, byte [esp]
xchg edi, ebx
pushal
btr di, bx
xchg bp, di
jmp 0x5f9757
mov di, 0x4b0
bsr edi, esp
xchg di, bx
lea esp, [esp]
mov dh, byte [esp]
mov dx, word [esp]
jmp 0x5f9703
lea esp, [esp + 0x1f]
lea ebp, [ecx + ebx]
mov edi, esp
inc edx
neg al
mov dl, bl
jmp 0x5f9805
mov di, word [esp]
xchg si, dx
neg ebp
push word [esp]
lea eax, [esi*4]
add esp, 3
jmp 0x5f971b
setl dh
setg dl
xchg byte [esp], cl
mov ch, 0x44
cpuid
mov cl, 0xc5
jmp 0x5f97d1
mov al, byte [esp + 3]
push esp
lea ecx, [esi + edi]
not bx
xchg word [esp + 9], di
lea ebp, [edx*4]
jmp 0x5f9788
mov edi, 0x4b3f1a30
push ecx
mov ecx, edi
rdtsc
xchg word [esp + 7], bp
mov word [esp + 2], ax
jmp 0x5f97e4
inc al
xchg dx, si
add esp, 2
bswap esi
not dx
xchg byte [esp + 5], cl
jmp 0x5f97b7
dec dl
btr eax, edx
mov ah, bh
pop dword [esp + 2]
lea edx, [ebp + ebp]
pushal
jmp 0x5f9940
cpuid
inc eax
lea esp, [esp]
push word [esp + 1]
dec bx
push dword [esp + 3]
jmp 0x5f979e
xchg word [esp + 0x15], di
mov byte [esp + 0x1b], ch
lea esi, [esp - 0xca]
jmp 0x5f9846
dec bh
xchg word [esp + 0xc], dx
lea ebx, [ebx*4]
btc ebx, ebp
sub esp, 7
dec cl
jmp 0x5f9818
sub esp, 0x13
lea esp, [esp + 0x46]
cpuid
xor si, 0x2c50
jmp 0x5f9871
xchg dword [esp + 0x14], eax
mov dx, word [esp + 0x26]
setbe bh
cmc
rdtsc
mov byte [esp + 0x1d], ch
jmp 0x5f982e
mov di, 0x8756
neg di
mov di, 0x335b
xchg ebp, ebx
shl esi, cl
neg al
jmp 0x5f98fe
pop dx
cpuid
or ch, 0xaa
xchg ebx, esi
cmc
mov ch, ah
jmp 0x5f985c
not bp
mov dh, ah
lea eax, [ecx + edi]
mov bl, byte [esp]
xchg dh, bh
jmp 0x5f98de
btc eax, esi
mov di, sp
rdtsc
xchg dl, al
neg al
mov bx, 0xab5c
jmp 0x5f98a0
xchg esi, edx
inc edi
mov si, 0x3018
xchg di, bx
mov ebx, dword [esp]
bswap ebx
jmp 0x5f9915
btr bp, ax
mov edi, dword [esp]
dec cx
adc dx, 0x8183
bswap ecx
mov ebx, dword [esp]
jmp 0x5f98c8
mov bh, byte [esp]
or dl, dl
rdtsc
cpuid
mov ebp, 0xa3ccad11
lea eax, [ebx*4]
jmp 0x5f98b6
mov bl, 0xf4
push esp
xchg bl, dh
dec edx
pop esi
dec cx
jmp 0x5f9924
rdtsc
lea edi, [ecx + ebx]
std
mov edi, ebx
xchg dx, bp
mov dl, ch
jmp 0x5f9a89
xchg byte [esp + 0x23], cl
mov eax, dword [esp + 9]
xchg edi, esi
push dword [esp + 0x18]
lea esi, [esi + edi]
bsf ebx, edi
jmp 0x5f9892
mov dh, 0x8d
stc
mov ch, 0xbb
call fcn.005f9a05
rdtsc
call fcn.005f9ad4
ljmp 0x12
btr dx, bp
xchg word [esp + 0x1e], cx
popal
stc
mov ebp, eax
rdtsc
jmp 0x5f976f
mov ebx, 0x568193c0
bt dx, bx
xchg dword [esp + 8], ebx
lea edi, [esp + edx]
mov ebp, 0xc7b8caea
mov dx, word [esp + 0x1f]
jmp 0x5f9b06