Function at 0x798779
Capabilities:
Execute anti-debugging instructions

Disassembly:
push dword [esp + 4]
pop bx
mov word [esp], bx
mov dword [esp + 5], ecx
jmp 0x798725
lea edi, [esp + edx]
rdtsc
lea edi, [eax + edx]
sub esp, 0x1c
pop dx
sub esp, 0
jmp 0x7986d8
xchg bp, ax
pop bp
xchg ch, dl
pop word [esp + 3]
mov bh, byte [esp + 0xe]
sub esp, 0xc
jmp 0x798759
pop word [esp + 7]
btr edi, esp
mov dl, 0x24
add esp, 7
neg bp
btc ebx, ebx
jmp 0x798701
mov byte [esp], bh
sub esp, 0xe
lea esp, [esp + 3]
lea esp, [esp + 0xc]
pushal
mov edi, ecx
jmp 0x7986ef
mov al, 0x66
bsr dx, bp
push dword [esp + 2]
mov byte [esp + 0x19], ah
xchg dword [esp + 0xf], edx
pop dword [esp + 0x14]
jmp 0x7987d5
pop word [esp]
add esp, 1
jmp 0x798746
rdtsc
pop word [esp + 1]
mov cl, ch
mov eax, 0x294330e
cld
mov ch, byte [esp + 2]
jmp 0x798826
push dword [esp]
add esp, 0xa
mov byte [esp + 3], ch
call fcn.007987fe
mov byte [esp + 0xe], dh
bswap ebx
mov dl, dh
lea ebx, [ecx + 0x53]
bsf bp, ax
cld
jmp 0x7988dd
mov cx, word [esp + 0x16]
add esp, 7
push dword [esp + 0xd]
xchg word [esp + 0x10], di
mov dword [esp + 6], ecx
mov dh, byte [esp + 0x19]
jmp 0x798902
mov dl, dh
push dword [esp]
bswap esi
push esp
mov dx, 0x82f3
clc
jmp 0x7988b8
mov word [esp + 0x1c], sp
xchg dword [esp + 0x10], ebx
pop bx
btr ebp, esp
jmp 0x7989e9
xchg word [esp + 0x14], cx
push edx
push dword [esp + 0x11]
mov edx, 0x74dc871a
jmp 0x7988ec
and dx, 0xb392
pop ax
xchg word [esp + 0xb], dx
mov eax, 0x2b201c2c
mov eax, dword [esp + 1]
pop dword [esp + 4]
jmp 0x7989b5
push word [esp + 3]
bswap edi
sub esp, 0xc
btc ebp, ebx
not ch
xchg ebx, esi
jmp 0x798926
clc
sub esp, 6
lea eax, [ebx*4]
btc esi, edi
jmp 0x798945
sub esp, 0x10
cpuid
sub esp, 0x16
lea esp, [esp + 0x47]
xchg ah, bl
bswap ebx
jmp 0x798965
pushal
btr ebp, edx
mov dword [esp + 0xd], esi
mov edx, eax
xchg edi, eax
neg edx
jmp 0x7989ca
setge bh
not cx
mov word [esp + 0x16], dx
sub esp, 0x1c
jmp 0x798a89
mov dword [esp + 3], esi
mov dword [esp + 1], esi
lea edi, [ebx + edi]
lea ecx, [ecx + ebx]
lea edx, [esi + edi]
inc al
jmp 0x79898f
clc
xchg dh, al
pop dword [esp + 0x14]
mov word [esp + 0x12], dx
push esp
cpuid
jmp 0x79899e
mov edi, dword [esp + 0x16]
xchg ebx, edx
mov al, 0x1e
pop edx
xchg dword [esp + 9], ecx
push dword [esp + 2]
jmp 0x79897d
pushal
btr ebx, esp
push edx
pop ecx
add esp, 7
bsf si, ax
jmp 0x798a72
inc dx
lea ebp, [ebx + edi]
mov cx, word [esp + 6]
neg ch
pop ax
rdtsc
jmp 0x798a55
mov cx, dx
bswap esi
lea ecx, [ecx + edx]
mov ebx, 0x38a2b2b6
neg si
sub esp, 4
jmp 0x7989fc
clc
cpuid
add esp, 1
mov word [esp], dx
cpuid
lea edx, [esp + esi]
jmp 0x798a24
lea ecx, [edx*4]
cmc
sub esp, 0x1e
push edx
xchg dword [esp + 0x20], edi
xchg edi, ebp
jmp 0x798af5
mov cl, ch
xchg bx, bp
inc bp
mov si, dx
add esp, 0xd
cpuid
jmp 0x798a0b
lea esp, [esp + 0x4a]
push edx
cpuid
setno bh
xchg di, bp
inc bl
jmp 0x798a44
lea edi, [ecx*4]
setl dh
mov ah, byte [esp + 0xf]
lea ebx, reloc.MSVFW32.dll_DrawDibDraw
mov word [esp + 0x13], bx
lea esi, reloc.MSVFW32.dll_DrawDibDraw
call fcn.00798abc
mov bp, 0x1a83
cmc
mov byte [esp + 7], ah
lea esp, [esp + 4]
add eax, ebp
sub esp, 0x12
jmp 0x798b78
mov esi, 0x6cfb325c
cmc
call fcn.00798b59
push dword [esp + 0x24]
sub esp, 0x1e
lea esp, [esp + 0x4d]
push esp
lea eax, [ecx*4]
jmp 0x798d42
lea ebx, [edx*4]
setns dh
not bx
sete bh
mov dh, byte [esp + 0x17]
mov ax, dx
call fcn.00798be1
rdtsc
mov word [esp + 0x18], di
pop ax
mov ax, sp
pop ecx
neg ebx
jmp 0x798c86
mov ecx, eax
mov byte [esp + 5], dh
ror ebp, 9
cpuid
push dword [esp]
jmp 0x798d1a
rcr dh, 7
mov dword [esp + 7], ebp
lea esp, [esp + 0xf]
xchg cx, di
btc ecx, edi
jmp 0x798c70
xchg byte [esp + 1], cl
mov bl, 0xf0
mov al, ah
sub esp, 0x12
push esp
pop word [esp + 7]
jmp 0x798c00
mov bl, 0x28
mov esi, 0x3ba117f0
mov ebp, 0xdfa6ffce
mov si, 0xc89b
mov cx, word [esp]
add esp, 1
call fcn.00798cd7
pop eax
rcl byte [esi + 0x31], 0xc0
ja 0x798d16
sal byte [edi - 3], 0xcc
int3
mov byte [esp + 3], dh
pop edx
pop word [esp + 1]
xchg di, bp
ror bh, 3
mov word [esp], sp
jmp 0x798cf6
lea esi, [esi - 0x65]
neg bh
rdtsc
mov ax, 0x7535
clc
xchg word [esp + 1], ax
jmp 0x798cc1