Function at 0x806838
Capabilities:
Execute anti-debugging instructions

Disassembly:
push 0xf07f0d0c
jmp 0x806876
cmc
bswap eax
mov bh, byte [esp]
jmp 0x805c33
mov ebx, esi
jmp 0x805cb8
mov eax, 0xd05feb06
neg al
lea esp, [esp + 2]
jmp 0x805ce3
mov eax, 0xd05feb06
neg al
lea esp, [esp + 2]
jmp 0x805ce3
mov bl, dl
setbe al
sub esp, 0x1a
jno 0x805ca1
jo 0x805c8b
jmp 0x805d2c
dec bl
mov ax, bp
xchg ah, al
bswap eax
setnp ah
call fcn.00805d0c
xor al, 0xbd
sub eax, 0xc03c734
lahf
out 0x11, al
nop
adc ecx, dword [ebp - reloc.MSVFW32.dll_DrawDibDraw]
fist dword [ecx - 1]
je 0x805d11
lea esp, [esp + 0x18]
neg bl
push ecx
push dword [esp + 3]
jb 0x805cc4
add esi, dword [edx - 0x2c]
not ax
pop eax
jmp 0x805d30
not eax
btr ax, si
mov ah, 0xd4
jmp 0x805d55
add eax, 0x587941f4
mov ebx, 0xf7660d92
rcr byte [eax - 0x73], 1
and al, 4
not ax
pop eax
lea esp, [esp + 4]
jmp 0x805cc6
add bl, 0x97
lea eax, [ecx*4]
add al, 0x8d
add byte [eax], al
add byte [eax], al
sub esp, 0x15
jbe 0x805dee
ja 0x805da2
das
mov byte [0x14a25730], al
jae 0x805d59
ja 0x805d86
loope 0x805da1
lcall 0xffff, 0xfef4e9f5
not al
pushfd
jmp 0x805dfd
rol bl, 0
mov ah, cl
pushfd
loope 0x805d24
mov ax, 0x73d5
clc
jg 0x805dc6
mov dword [esp], edi
mov byte [esp + 2], cl
jmp 0x805dc8
call 0x11d6233
add byte [eax], al
add byte [ebp - 0x3b7467bf], cl
lea eax, [ebx*4]
lea eax, [ecx - 0x68]
mov eax, esp
jmp 0x805d7d
mov dword [esp], edi
mov byte [esp + 2], cl
jmp 0x805dc8
jmp 0x805db0
add cl, bl
mov bl, 0x50
sub esp, 0x17
jmp 0x805e34
xchg word [esp + 1], bx
mov word [esp + 0x13], di
lea esp, [esp + 3]
jmp 0x805e07
lea eax, [ebx*4]
lea eax, [ecx - 0x68]
mov eax, esp
not al
pushfd
pop eax
lea esp, [esp + 1]
jmp 0x805d82
inc edi
lea ebx, reloc.MSVFW32.dll_DrawDibDraw
sub eax, 0x836c2f8f
jmp 0x805ea7
lea esp, [esp + 3]
jmp 0x805e07
jns 0x805dd5
xchg word [esp + 1], bx
mov word [esp + 0x13], di
jmp 0x805e1d
mov bh, byte [esp]
lea ebx, reloc.MSVFW32.dll_DrawDibDraw
xor ah, 0x93
dec bx
mov bx, 0x4841
btc ebx, eax
jmp 0x805e77
inc bh
jl 0x805edb
sub esp, 1
bsr ax, dx
lea esp, [esp + 1]
jmp 0x805eb8
xor ah, 0x93
dec bx
mov bx, 0x4841
jmp 0x805e54
jg 0x805e42
mov bh, byte [esp]
lea ebx, reloc.MSVFW32.dll_DrawDibDraw
jmp 0x805e8d
lea esp, [esp + 1]
sub dl, 0x8d
add ebx, 0xb5569f0a
jle 0x805efa
mov bh, 0x3d
call fcn.008062ef
cmp al, 0xa4
cmp bl, byte [ebp - 0x54]
imul ecx, dword [edx - 0x2f], 0x13d32041
rcl byte [ebx - 0x36]
xchg esp, eax
sub esp, 1
bsr ax, dx
jmp 0x805eb4
mov bh, 0x3d
call fcn.00805efc
sbb ecx, dword [ebx + 0x3e8d7e1b]
mov bl, 0x2c
mov byte [0xb9f734c5], al
cwde
sti
jmp 0x805ee4
lea esp, [esp + 3]
jmp 0x80682b
lea esp, [esp + 1]
mov dword [esp + 0x28], ebx
call fcn.00806815
lea esp, [esp + 2]
jmp 0x806842
mov dword [esp + 0x28], ebp
pushal
pop word [esp + 0x1b]
push word [esp + 0x11]
jb 0x8068c5
jae 0x806896
xchg ebp, eax
sbb byte [esi - 0xa51e717], cl
in al, 0x17
jle 0x8068a9
lea esp, [esp + 2]
mov dword [esp + 0x2c], edx
push edi
jmp 0x8063f4
push dx
mov dword [esp + 0x44], edi
jmp 0x8068d4
jmp 0x8068a1
bsf ecx, esp
lea ebx, [edx*4]
jmp 0x8068f4
mov dword [esp + 0x44], esi
push edi
lea esp, [esp + 2]
jmp 0x80686e
rcl cx, 1
jp 0x806878
bsf ecx, esp
lea ebx, [edx*4]
xchg bp, ax
jmp 0x8068f7
mov dword [esp + 0x44], esi
push edi
lea esp, [esp + 2]
push dx
mov dword [esp + 0x44], edi
lea esp, [esp + 0x44]
pushfd
jmp 0x8058e2
jmp 0x806923
xchg bp, ax
mov edi, dword [esp + 0x2c]
dec ah
jge 0x8068de
cmc
add ebx, edx
cmc
jmp 0x806909
lea esi, [esp]
sub esp, 0x11
jae 0x80693f
not dl
mov byte [esp + 1], ch
lea esp, [esp + 1]
jmp 0x806999
cmc
add ebx, edx
cmc
jmp 0x806909
not dl
call 0x806947
dec esp
mov ebx, 0xe6e7e028
mov ah, al
mov bp, word [esp]
setbe al
neg ebx
jmp 0x806970
xchg dword [esp], eax
mov ch, byte [esp]
mov edx, 0xb749a20a
not edx
neg ecx
mov edx, dword [esp]
jmp 0x8069f4
sub esp, 0xb0
mov ebp, esp
cpuid
mov ecx, 0xe1fdb37b
jmp 0x8069d9
bswap ecx
bswap edx
push dword [esp]
ret 4
mov ecx, edi
lea edx, reloc.MSVFW32.dll_DrawDibDraw
add byte [eax], al
xchg dl, bh
jmp 0x806a21
mov al, byte [esp]
sbb bx, 0x614d
ja 0x8069c3
jbe 0x8069c3
jle 0x8069c9
jo 0x806a00
loop 0x806a3b
mov esp, 0x21d2b727
lahf
fidiv dword [reloc.MSVFW32.dll_DrawDibDraw]
invalid
lea eax, [eax - 0x1d]
bsr edx, esp
btr edx, eax
xchg bp, dx
lea ebx, [esp + edi]
xchg dword [esp], eax
jmp 0x8069b9
mov ax, 0x5a59
mov ebx, 0x456672f5
jmp 0x806a4b
neg edx
jae 0x806a0b
mov ax, 0x5a59
mov ebx, 0x456672f5
mov bx, 0xa051
inc al
rdtsc
jmp 0x806a6f
push esp
cmpsd dword [esi], dword es:[edi]
adc dword [ebp - 0x12], ebp
jl 0x806a5d
div byte [edi]
aaa
jge 0x806a49
xchg ebx, eax
test byte [0xbb6646c6], 0x51
mov byte [esi + 0x66], 0xbb
push ecx
mov bx, 0xa051
inc al
rdtsc
mov al, byte [0x310fc0fe]
jmp 0x806a6f
jmp 0x807399
xor byte [ebx - 0x39], 0xf4
jb 0x806a43
xchg dword [edx - 0x50], esi
div byte [edi - 0x19]
xor byte [ecx - 0x44], 0xea
add eax, 0xb8d3f7b4
jnp 0x806a89
not ebx
mov eax, 0x303c157b
cmp al, 0x30
mov ebx, edx
neg bl
jb 0x806a55
jae 0x806a55
mov eax, dword [reloc.MSVFW32.dll_DrawDibDraw]
popfd
leave
dec esp
ret 0x54a5
out 0x59, al
jns 0x805c05
cmc
bswap eax
call fcn.00805e62
sub esp, 0xd
not bl
jmp 0x806b2e
call 0x806ac5
enter 0xffffffffffffd141, 0xffffffffffffffb0
inc ebx
xchg dword [edx + 0x2f79002], ecx
mov ch, 0x43
cli
aad 0x44
test dword [edi], reloc.MSVFW32.dll_DrawDibDraw
and al, 0x66
xchg edx, ebx
neg bl
xchg dword [esp], edx
jmp 0x806b09
lea esp, [esp + 2]
jmp 0x80711e
lea ebx, [ecx + edx]
rcr bx, cl
sbb bh, 0x58
stc
xchg dword [esp + 0x1c], edx
xchg edx, eax
jmp 0x806b22
mov ax, bx
mov ebx, 0x37560dee
xchg al, ah
sub esp, 0x1f
lea esp, [esp + 3]
lea edx, [edx - 0x1b]
jmp 0x806af3
mov bl, dh
mov eax, dword [esp]
push dword [esp + 0x1c]
ret 0x20
lea esp, [esp + 0xa]
dec ax
lea eax, reloc.MSVFW32.dll_DrawDibDraw
jmp 0x806e88
bts ebx, eax
sub esp, 0x16
pop ebx
jmp 0x806aea
pushfd
lea eax, [edi*4]
push dx
xchg dx, ax
pop word [esp]
jmp 0x806b75
ror edi, 0
jb 0x806b54
pushfd
jmp 0x806c53
mov al, byte [esp + 3]
pop dx
lea esp, [esp + 2]
jmp 0x806bda
pop word [esp]
jmp 0x806b75
lea esp, [esp + 4]
add edi, 0x3693500
mov dx, si
call fcn.00806baa
lea eax, [edi*4]
push dx
xchg dx, ax
jmp 0x806b8e
not ax
xchg byte [esp + 1], bh
sete ah
jmp 0x806b6a
mov dl, bh
mov eax, dword [esp + 3]
jmp 0x806cd0
clc
js 0x806de1
mov dl, bh
mov eax, dword [esp + 3]
not ax
xchg byte [esp + 1], bh
sete ah
jmp 0x806b6a
lea esp, [esp + 3]
lea esp, [esp + 0x14]
sub edi, 0xbdfaa5b
pushfd
lea edx, [edx*4]
jmp 0x806e1e
mov dx, 0xfc0
bts ebx, eax
sub esp, 0x16
pop ebx
lea esp, [esp + 2]
lea esp, [esp + 0x10]
xor edi, 0x68f067d2
sub esp, 0x14
jae 0x806aaf
sub esp, 0xd
not bl
lea esp, [esp + 0xa]
dec ax
lea eax, reloc.MSVFW32.dll_DrawDibDraw
jmp 0x806e88
xor edi, 0x231e1cc2
bsf edx, esi
je 0x80710f
mov dx, 0xfc0
jmp 0x806b4b