Function at 0x77878d
Capabilities:
Execute anti-debugging instructions

Disassembly:
setg al
lea esp, [esp + 5]
stc
cpuid
neg bx
cpuid
jmp 0x7781d0
xchg byte [esp + 0x10], bl
mov di, word [esp + 9]
xchg dword [esp + 0xc], esi
xchg byte [esp + 0x11], bh
jmp 0x778158
lea esi, reloc.SHELL32.dll_ShellExecuteW
push dword [esp + 8]
mov dword [esp + 7], ebp
rcl bh, cl
jmp 0x7781ab
neg ch
bsr bx, bx
bsr edi, ebp
mov byte [esp], dl
xchg bh, dh
pop dword [esp + 4]
jmp 0x778181
mov bh, byte [esp + 2]
lea ebp, reloc.SHELL32.dll_ShellExecuteW
xchg word [esp + 1], bp
push dword [esp + 9]
lea edx, [ecx*4]
xchg dword [esp + 4], ebx
jmp 0x7781e5
cmc
mov byte [esp + 6], dl
shl bx, cl
xchg word [esp + 4], bx
btc ecx, esi
add bl, 3
jmp 0x778197
mov byte [esp + 4], al
xchg si, bp
pop word [esp + 7]
not ch
mov ah, 0xb3
mov al, byte [esp + 9]
jmp 0x778233
mov edx, dword [esp + 0xc]
std
inc cx
pop dx
mov ch, 0x75
inc dl
jmp 0x7782ef
mov eax, dword [esp + 8]
xchg dword [esp + 8], ecx
xchg dword [esp + 4], edx
mov dword [esp + 0xb], eax
mov cx, word [esp]
pop word [esp + 1]
jmp 0x77821d
mov bh, 0x80
mov byte [esp + 3], bh
neg ah
mov dl, cl
bswap ebx
call fcn.0077828b
mov ah, 0xf0
mov ax, 0x6670
mov bl, al
mov bl, byte [esp + 0x1d]
mov ax, word [esp + 0xe]
cpuid
jmp 0x778376
mov cl, 0xa6
xchg dword [esp + 0x21], eax
lea esp, [esp + 3]
sub esp, 0x14
call fcn.00778355
mov dword [esp], edi
bsf eax, esp
bts bp, bp
push dword [esp + 2]
cpuid
jmp 0x7783c5
mov dx, word [esp + 3]
lea esp, [esp + 7]
mov edx, dword [esp]
setl ah
jmp 0x7783d9
mov ax, word [esp + 3]
mov word [esp + 2], di
push edi
bsf di, di
pop ecx
xchg ebx, edx
jmp 0x7783af
rol edx, 0xf
setne ah
not bp
mov byte [esp], bh
bswap edx
mov si, word [esp]
jmp 0x778596
mov cl, al
lea esi, reloc.SHELL32.dll_ShellExecuteW
mov edi, dword [esp + 1]
pop di
jmp 0x778455
pop bx
pop dword [esp + 0xb]
cmc
xchg dx, si
btr esi, ebp
add esp, 2
jmp 0x778417
mov dh, bl
bswap ebp
push word [esp + 4]
mov bh, al
mov bl, 0xea
bts edx, eax
jmp 0x77846b
lea esp, [esp + 4]
lea esp, [esp + 3]
xchg byte [esp], ah
pop dword [esp]
mov byte [esp + 2], bl
or ch, dh
jmp 0x77843f
mov si, word [esp + 3]
sub esp, 0x1e
cmc
mov si, bp
cpuid
cpuid
jmp 0x7784b8
lea ebx, reloc.SHELL32.dll_ShellExecuteW
add esp, 0x17
pop si
bswap ebp
not ebx
xchg di, cx
jmp 0x77842d
cpuid
lea ecx, [edx*4]
mov di, dx
mov word [esp], ax
jmp 0x7784e2
mov byte [esp + 0x1d], ah
xchg bp, bx
btr di, di
popal
setnp dl
neg si
jmp 0x7784a2
mov cl, byte [esp]
neg ax
call fcn.00778508
dec eax
popal
jo 0x778522
jb 0x778543
add byte gs:[ebx + 0x6a], dh
xchg bh, al
pop edi
xchg esi, ebx
mov byte [esp], ah
bsr edx, ebp
mov ah, byte [esp]
jmp 0x7784cc
add byte [ebx + 0x4c8d0bec], al
and al, 0xf
sub esp, 0xb
lea ecx, [esp + 0xf]
push dword [esp + 4]
xor di, bp
push eax
sub esp, 0x1f
jmp 0x77848e
inc esp
and al, 0x11
xchg byte [esp + 0x20], al
jmp 0x77857a
lea esp, [esp + 0x19]
xchg word [esp], di
dec bx
sub esp, 0x1e
jmp 0x77868d
push dword [esp + 8]
mov si, sp
mov ch, byte [esp + 0xe]
setnp ch
add esp, 0xa
pop ebp
jmp 0x778564
btr ebx, ecx
setae bl
mov esi, 0x819f3458
mov bl, cl
mov si, 0x5aa4
mov ebx, 0xe238ad8
jmp 0x778523
btc eax, esi
call 0x7785c7
pop si
mov ah, byte [esp + 0x22]
pop cx
mov ecx, 0x50ab5d1a
jmp 0x778741
lea esp, [esp + 0x17]
mov byte [esp + 2], bl
mov edx, dword [esp]
cpuid
push ebp
mov cx, word [esp + 5]
jmp 0x778654
xchg dword [esp + 0xd], ecx
rdtsc
mov esi, edx
cmc
xchg dword [esp + 5], ebx
mov cl, bl
jmp 0x77870f
mov ebx, ebp
cpuid
xchg al, ch
mov dh, byte [esp + 0x12]
mov bx, bp
mov al, ch
jmp 0x7786a2
bt edx, eax
push ebp
mov dl, ah
pop edi
neg dx
mov eax, dword [esp + 0xa]
jmp 0x7786ef
push bp
push edx
btc ax, bx
cmc
sub esp, 0xb
xchg dx, si
jmp 0x7786c9
inc ah
lea ebp, [ebx + ebp]
mov ebx, 0x931ead72
lea edx, [eax + edx]
cpuid
stc
jmp 0x778728
add esp, 0x18
mov ebp, dword [esp + 0xd]
sub esp, 0x17
mov edx, 0x5ad8a87d
xor ax, cx
mov edx, 0xc3a5439c
jmp 0x7786df
pop word [esp + 0x12]
mov dx, di
bswap ebx
mov byte [esp + 0x1f], ah
pop ax
jmp 0x77877d
xchg word [esp + 0x21], ax
bsf bp, bp
mov ebp, edx
mov cx, 0x96d6
mov di, dx
mov cx, 0xae67
jmp 0x7786b8
mov si, 0x5599
cpuid
add esp, 0xe
pop di
call fcn.0077875c
mov bh, byte [esp + 0x1c]
mov bh, 0xc
not ecx
xchg byte [esp + 0x28], ch
jmp 0x7787cc
pop edx
lea ebp, [ebx + edi]
clc
mov ebp, esp
xor esi, 0x83d68978
jmp 0x778859
neg bp
pop ebx
pushfd
pop word [esp + 0x23]
lea esi, [ecx + ebp]
xchg dx, ax
jmp 0x7787b6
rcl dx, cl
push word [esp]
mov ax, 0xae0a
mov ebx, dword [esp + 3]
jmp 0x778833
lea esp, [esp + 0x26]
lea ecx, reloc.SHELL32.dll_ShellExecuteW
mov ebx, eax
mov word [esp], cx
not si
bsr esi, edi
jmp 0x778805
cmp eax, edx
pop word [esp]
xchg byte [esp], al
pop cx
bts cx, di
mov esi, dword [esp]
jmp 0x778884
mov bx, word [esp + 8]
std
push word [esp + 5]
lea eax, [ecx + ecx]
shr edx, cl
neg dx
jmp 0x77881b
mov dl, dh
rdtsc
dec esi
mov bp, word [esp]
std
cpuid
jmp 0x778b52
mov cx, 0x2d2
mov di, 0x93c
cpuid
clc
mov ax, word [esp]
or dh, 0x27
jmp 0x77886e
add esp, 0
btr edi, ebp
mov cl, 0x7f
stc
lea ecx, [ecx + edx]
mov cx, 0x4ac2
jmp 0x7788eb
rdtsc
btr bp, di
lea esp, [esp]
xchg cx, bp
mov dh, al
bswap edi
jmp 0x7788bc
mov di, word [esp]
lea ebx, [esi + ebp]
mov si, word [esp]
mov bp, bx
mov edx, 0xde2d5526
std
jmp 0x778933
bsf ebp, ebx
xchg word [esp], dx
lea esp, [esp + 1]
not dl
add esp, 0
mov ebx, ebp
jmp 0x7788d9
btr ecx, edx
cpuid
xchg byte [esp], ah
bswap esi
bsf edi, eax
jmp 0x778a1f
rdtsc
mov si, dx
mov byte [esp], cl
setae ah
xchg ah, al
xchg dl, al
jmp 0x77891d
lea ebx, [ecx*4]
mov bp, word [esp + 1]
mov byte [esp], al
bt ebx, ecx
bts bp, sp
lea esp, [esp]
jmp 0x778909
xchg ebx, ebp
mov bx, word [esp + 0x18]
pop eax
inc dl
xchg byte [esp + 0xa], ah
jmp 0x7789a7
xchg byte [esp], cl
lea ebx, [ecx - 0x11]
mov ax, dx
pushal
mov byte [esp + 0x1a], dl
mov dx, word [esp + 0xb]
jmp 0x778966
cmc
mov ax, di
lea esp, [esp + 1]
lea esp, [esp + 4]
popal
clc
jmp 0x7789da
push word [esp + 0xa]
add esp, 0x1a
lea esi, [edx + edi]
xchg cx, dx
mov bx, 0x3b8f
mov al, dh
jmp 0x778991
popfd
jmp 0x778a62
sub esp, 0x13
pop dword [esp + 7]
pushal
push word [esp + 0x2a]
lea esp, [esp + 1]
lea esp, [esp + 0x30]
jmp 0x7789bd
mov edi, 0x6c694b08
lea ebp, [eax + edi]
ror eax, cl
xchg byte [esp], ch
lea edx, reloc.SHELL32.dll_ShellExecuteW
xchg dl, bh
jmp 0x77897c
push 0xa1adf7ca
add dword [esp], reloc.SHELL32.dll_ShellExecuteW
call fcn.007789c3
mov dl, al
xchg si, bp
shl eax, cl
push esi
pop di
neg eax
jmp 0x77894b