Function at 0x797d5d
Capabilities:
Execute anti-debugging instructions

Disassembly:
lea edx, [edx*4]
mov si, word [esp + 8]
neg ebx
jmp 0x797a1e
cpuid
mov bx, 0x2361
rdtsc
bsf bp, ax
pop word [esp + 1]
jmp 0x797965
bsf bp, ax
lea ecx, [ebx*4]
xchg byte [esp + 6], dl
xchg ah, bl
mov edx, esi
xchg dh, al
jmp 0x79797c
pop dword [esp + 4]
setp bh
and cl, bh
setnp dh
add esp, 2
bsr ax, bp
jmp 0x797a07
sub esp, 6
pop word [esp + 8]
bswap ebp
pop cx
inc ax
pop cx
jmp 0x7979ae
pop dword [esp + 3]
mov edx, esi
xchg byte [esp], cl
bswap esi
mov bl, 0xa8
mov ebx, esi
jmp 0x7979c8
lea esp, [esp + 3]
add esp, 3
neg ch
lea esi, [ecx*4]
jmp 0x797a89
mov word [esp + 1], di
bsf di, si
mov edi, dword [esp + 3]
xchg ch, dl
jmp 0x7979f0
mov dx, word [esp + 0x14]
lea ecx, [ebp*4]
pop dword [esp]
pop dx
mov si, word [esp + 0xa]
cpuid
jmp 0x7979df
sub esp, 4
xchg si, ax
xchg word [esp + 0xf], bp
mov ebp, dword [esp + 0x17]
cmc
mov byte [esp + 7], ch
jmp 0x797997
sete bh
mov edx, 0x25a04dca
add esp, 0
call fcn.00797a5e
xchg ch, dl
xchg byte [esp], cl
cmc
add esp, 4
neg si
rol dx, cl
jmp 0x797e85
mov dx, word [esp + 0xf]
xchg dh, al
not dx
jmp 0x797a46
xchg ah, bl
lea eax, [esi*4]
setae bh
mov dh, byte [esp]
mov bh, byte [esp]
lea ebp, [ebp - 0x87]
call fcn.00797ae0
bswap esi
setl ah
xchg di, cx
setne dh
mov ebx, dword [esp]
setno bh
jmp 0x797b83
mov ax, dx
mov ah, byte [esp + 0x39]
lea esi, [ecx + ebx]
rcr ecx, 0xd
xchg dword [esp + 0x2e], eax
lea edi, [esi + 0x15]
jmp 0x797bd6
pushal
add si, 0x36ee
mov al, ah
sub esp, 0x1a
rdtsc
mov edi, dword [esp + 0x29]
jmp 0x797b66
add esp, 0x11
mov word [esp + 0x23], sp
xchg byte [esp + 0xe], cl
mov eax, 0x4e25434e
mov bh, byte [esp + 0x1a]
pop dword [esp + 5]
jmp 0x797c61
mov ebp, eax
bsf dx, ax
lea esi, [edx + edi]
lea edx, [esp + eax]
btr esi, edx
pop word [esp + 0x29]
jmp 0x797bb0
neg cx
setae ch
lea eax, reloc.KERNEL32.DLL_GetWindowsDirectoryA
xchg byte [esp], bl
lea ecx, [ebx*4]
neg di
jmp 0x797c40
mov bl, bh
popal
cmc
mov bl, bh
setae ch
mov bx, 0x6049
jmp 0x797bec
add edx, ebp
setge dh
mov al, ah
mov cl, 0xfa
call fcn.00797c95
dec ebp
jne 0x797c9a
je 0x797c99
inc edx
jns 0x797ca7
push esp
outsd dx, dword [esi]
push edi
imul esp, dword [ebp + 0x43], 0x726168
ljmp 0xdf8a
mov dx, word [esp]
mov bl, bh
mov byte [esp], bh
add dx, 0xe936
not esi
shr bh, 3
jmp 0x797c1d
mov byte [esp + 0x15], dh
pop word [esp + 5]
mov edi, eax
mov dx, di
cpuid
mov bp, word [esp + 0x11]
jmp 0x797c0e
mov ebx, 0xbf1e1d10
push word [esp + 2]
mov ah, byte [esp]
inc esi
ror ah, 1
push word [esp]
jmp 0x797c9c
mov byte [0x4489dceb], al
and al, 2
jmp 0x797c78
mov dword [esp + 2], eax
xchg dword [esp + 1], esi
lea ecx, [edi*4]
add byte [eax], al
add byte [eax], al
bswap ebp
push dword [esp + 5]
sub esp, 4
jmp 0x797df6
mov ecx, ebp
pop cx
not ax
mov byte [esp + 0x29], ah
call 0x797d5d
inc edi
je 0x797d31
jns 0x797d53
je 0x797d47
insd dword es:[edi], dx
push esp
imul ebp, dword [ebp + 0x65], 0x59cea700
inc cl
mov byte [esp + 0x1d], ch
mov byte [esp + 0x11], ch
cpuid
setns ah
add esp, 2
jmp 0x797cca
cpuid
lea ebx, reloc.KERNEL32.DLL_GetWindowsDirectoryA
mov dl, 0xec
mov edi, dword [esp + 0x1e]
lea ebp, [edi + ebp]
rcl bx, cl
jmp 0x797ceb
mov edx, 0x1e8b3426
mov di, 0x7e07
shl si, cl
bswap eax
push dword [esp + 0x14]
push dword [esp + 0x1e]
jmp 0x797dc1
add byte [eax], al
add byte [eax + edx*2 + 0x74], al
outsd dx, dword [esi]
dec esp
push eax
add byte [edi], cl
xor dword [eax - 0x73], esp
and al, 0x4f
rdtsc
pushal
lea esp, [esp + 0x4f]
mov bp, 0x68e9
pushal
pop dword [esp + 0x14]
jmp 0x797d19
js 0x797db8
jo 0x797dcc
imul ebp, dword [edi + 0x6e], reloc.KERNEL32.DLL_GetWindowsDirectoryA
and al, 2
inc bl
jmp 0x797d3b
xchg esi, edi
mov word [esp + 0x10], di
xchg word [esp + 0xe], cx
push word [esp + 4]
mov word [esp + 4], dx
bswap eax
jmp 0x797dd6
lea ebx, [ecx*4]
not bh
pop cx
bswap edx
rdtsc
cpuid
jmp 0x797d65
shl di, cl
sub bl, ah
pop dword [esp + 0xe]
rdtsc
pop word [esp + 2]
push word [esp + 2]
jmp 0x797d8a
je 0x797dde
add ch, bl
int 0xcf
push esi
rol dword [eax - reloc.KERNEL32.DLL_GetWindowsDirectoryA], 0x66
mov ebx, dword [esp + 0x16]
inc ebx
btc edi, ebx
mov bx, word [esp + 0x16]
lea esp, [esp + 7]
and al, 7
xchg di, ax
lea ebp, [ecx + edi]
jmp 0x797da6
sub esp, 6
xchg ch, dl
add al, dh
xchg ebp, edx
neg dh
mov bl, 0xa8
jmp 0x797e47
aad 0xf6
fidiv word [ebx + 0x4762eba8]
je 0x797e3c
je 0x797e4c
jb 0x797e61
jne 0x797e5f
dec ecx
outsb dx, byte [esi]
outsw dx, word [esi]
inc ecx
add byte [ebx + 0xf], al
lahf
invalid
setg dh
bsr di, bp
pushal
lea ebx, [edx + ebx]
pop bp
xchg dh, al
jmp 0x797d03
mov bp, di
push word [esp + 7]
lea ecx, [ebx + esi]
mov si, di
mov word [esp + 0x18], sp
inc edi
jmp 0x797e61
xchg byte [esp + 4], al
lea eax, reloc.KERNEL32.DLL_GetWindowsDirectoryA
push word [esp + 0x12]
cpuid
clc
pop dword [esp + 0xe]
jmp 0x797e0a
mov ch, byte [esp + 0x1e]
pop dword [esp + 0x12]
inc esp
and al, 0x12
bsr dx, cx
bsr dx, bp
mov esi, dword [esp + 0xc]
mov dword [esp + 0x11], esi
jmp 0x797e2b
mov ecx, 0x24178ebc
mov ch, byte [esp + 0xc]
xchg ah, bl
mov cl, ch
xchg edi, edx
xchg dword [esp + 0x14], esi
jmp 0x797ec3
mov bl, 0x68
bsr di, bp
xchg dh, al
add esp, 0
mov ch, byte [esp]
mov byte [esp], dh
jmp 0x797afb
pop dword [esp + 2]
lea edi, [edx + edi]
mov ax, di
lea esp, [esp + 0x12]
bswap esi
xchg bh, cl
jmp 0x797f72
mov bp, word [esp + 8]
push dword [esp + 0x18]
pop dword [esp + 0x16]
pop cx
lea ebx, reloc.KERNEL32.DLL_GetWindowsDirectoryA
mov bh, byte [esp + 0x16]
jmp 0x797e9b
mov edi, esi
rol cx, cl
sub esp, 0xc
shr ebx, 0x11
cpuid
cmc
jmp 0x797f55
pop dword [esp + 0xf]
lea esp, [esp + 1]
inc al
pop si
xchg ch, dl
xchg word [esp + 0xb], cx
jmp 0x797ede
mov bx, word [esp]
lea edi, [esp + edi]
not cx
sub esp, 0x18
mov ebp, 0xc677f332
add edx, ebp
jmp 0x797eff
not ebp
pushal
popal
mov dword [esp + 5], eax
mov cl, ch
pop dword [esp + 0xc]
jmp 0x797fd3
rdtsc
mov si, 0x6bc3
mov bl, 0xc8
lea edi, [eax*4]
xchg ebx, eax
rdtsc
jmp 0x797f39
lea esp, [esp + 2]
bsf dx, si
mov ebx, 0x6adf360a
rcr ecx, 0x19
not di
mov bl, bh
jmp 0x797f23
xchg bh, cl
mov bx, 0xbafb
rcl dx, cl
mov dword [esp + 0xf], esi
add esp, 9
xchg byte [esp + 2], bl
jmp 0x797fba
cpuid
mov word [esp + 4], di
rdtsc
cpuid
xchg edx, eax
neg di
jmp 0x797f89
mov bx, sp
call fcn.00798001
push esp
insb byte es:[edi], dx
jae 0x798019
je 0x79801f
popal
insb byte es:[edi], dx
jne 0x798032
add byte [eax], dl
xchg ebx, eax
or ah, byte [ebp + 0x244489d4]
adc eax, dword [esi + reloc.KERNEL32.DLL_GetWindowsDirectoryA]
mov byte [0x8966d586], al
pop esp
and al, 0x10
mov dword [esp + 0x13], eax
xchg byte [esp + 0x13], dl
cpuid
xchg ch, dl
mov word [esp + 0x10], bx
mov dword [esp + 0x11], ecx
jmp 0x797fa8
sub esp, 8
lea esp, [esp + 0x44]
lea esi, [esi - 0xa5]
not bp
jmp 0x798011
je 0x798032
push ss
jmp 0x797fea
mov cl, 0x12
not bh
call fcn.00798112
add byte [esi - 0x71], ah
add al, 0x24
pop word [esp]
lea edi, [esi - 0x15]
jle 0x79800c
mov word [esp], di
add esp, 1
jmp 0x798094
push ds
xchg word [esp + 0x1c], cx
lea ecx, reloc.KERNEL32.DLL_GetWindowsDirectoryA
rdtsc
cpuid
jmp 0x79806d
mov byte [esp + 1], bh
push dword [esp + 4]
mov word [esp + 5], bx
pushal
lea edx, [esp + eax]
mov bh, 0xc3
jmp 0x798042
pop dword [esp + 8]
mov bx, word [esp + 0x12]
lea edi, [eax*4]
inc ecx
mov cl, 0xa2
cpuid
jmp 0x7980d3
lea esp, [esp]
rdtsc
mov si, word [esp]
sub esp, 4
rdtsc
mov word [esp + 2], bx
jmp 0x798058
mov dl, 0x4c
lea esp, [esp]
xor edi, esi
rdtsc
mov bh, byte [esp]
call 0x7980bb
push 0x3b89bd66
jmp 0x7980fa
inc bx
add esp, 0x21
add esp, 1
and cl, bh
pop di
cmc
jmp 0x7980a9
xchg byte [esp], al
xchg word [esp + 2], si
mov dl, dh
xchg ecx, edi
lea esp, [esp + 2]
add al, dh
jmp 0x79852c
mov edi, 0x1c7f0ff0
mov bl, bh
mov di, word [esp + 4]
xchg dword [esp], esi
rdtsc
jmp 0x7980e2