Function at 0x7f874c
Capabilities:
Execute anti-debugging instructions

Disassembly:
push cx
call 0x8566bb
mov ah, byte [0xcb75c754]
je 0x7f8623
adc byte [esi + 0x9d06b77], bh
test al, 0x66
push ebp
jmp 0x7f861f
setno dh
lea esp, [esp + 2]
and al, 2
movzx ebx, byte [ebp]
mov eax, 0x2e495aec
jmp 0x7f8660
xchg dx, ax
lea edx, [edx + ebx]
lea edx, [ecx + 0x3b]
mov dh, byte [esp]
mov dx, word [esp]
lea eax, [edi + ebp]
jmp 0x7f86c6
mov dl, 0x63
xchg dx, ax
mov al, byte [esp]
jmp 0x7f86ed
mov ah, dl
bsr eax, ecx
jb 0x7f86b0
mov dl, 0x63
jmp 0x7f8703
add bl, cl
mov eax, dword [esp]
neg dx
jae 0x7f8722
jb 0x7f872a
rep movsb byte es:[edi], byte [esi]
jmp 0x899b6b
xchg dx, ax
mov al, byte [esp]
jmp 0x7f86ed
mov eax, ecx
jmp 0x84d852
mov eax, ecx
lea edx, [edi + ebp]
jmp 0x84d855
lea edx, [ebx*4]
mov edx, dword [esp]
jmp 0x84d72b
push ebp
mov ebp, esp
sub esp, 0x14
push ebx
push esi
jmp 0x7f875d
jmp 0x7f85df
movzx ebx, byte [ebp]
mov al, 0xe2
lea edx, [edx + ebp]
jmp 0x815043
add bl, cl
pushal
rdtsc
call fcn.00815083
aas
mov ecx, 0xfbb4829
sbb byte [ebx + 0x52], bh
int 0x5c
scasd eax, dword es:[edi]
mov al, bl
rdtsc
mov dh, 0x14
mov ax, bp
mov dl, 0xa0
jmp 0x81502d
bswap edx
bsr edx, edi
jnp 0x8460f6
bsf bx, sp
mov dx, word [esp]
jmp 0x846135
jmp 0x84612d
lea eax, [eax + esi]
mov dh, bl
bts eax, eax
jge 0x846150
neg dl
jmp 0x84613a
bsf bx, sp
mov dx, word [esp]
lea ebx, [edi + 0x50]
jmp 0x846117
cmp esi, ebx
jmp 0x846154
neg dl
jmp 0x84613a
ja 0x815001
mov ah, al
xchg bx, dx
setae dl
jmp 0x847282
scasb al, byte es:[edi]
cmpsb byte [esi], byte es:[edi]
mov al, byte [0x485951fc]
add byte [esi - 0x40b56569], bl
jmp 0x8f796edf
adc bl, al
xchg esi, eax
std
loope 0x847096
imul eax, dword [edx], 0xa5432d1e
xchg edi, eax
cmp ebp, dword [edx]
push edi
pop ss
dec ecx
push esi
sar byte [ebx + 0x442fa9c9], 1
adc byte [edx - 0x69], bl
jne 0x8470a9
cld
mov word [ebx + 9], ss
or al, 0xc3
mov edi, 0x3f3cf3f6
push es
sahf
xchg edi, eax
push ebp
jmp dword [ecx + ecx*4 + 0x314b0088]
into
push edx
inc ebp
mov dword [0x96258297], eax
push ds
or byte [edi], 0x28
jae 0x847031
invalid
lahf
xchg edi, eax
pminsw mm4, qword [edi + 0x32c7e1de]
xor bh, byte fs:[eax]
int 0x9b
out dx, al
pop es
lahf
xchg edi, eax
hlt
cmc
push edi
outsb dx, byte [esi]
or dword [eax + ebx*2 - 0x58b3ff13], esi
adc al, byte [edx + 0x1597a2ee]
and esp, dword [ecx - 0x6e]
xlatb
jns 0x84705e
push ss
cmp byte [esi + 0x2166e973], al
sahf
xchg edi, eax
mov byte [0x2414997c], al
adc al, 0x24
jp 0x8470bc
and esi, ecx
test dword [0xa2c7f6dc], esp
xchg edi, eax
invalid
mov dh, 0x33
je 0x84716a
loop 0x8470de
xchg edi, eax
stosd dword es:[edi], eax
sti
invalid
xchg edi, eax
shr dword [ecx + 0x21], 0x7e
lea ebx, [edi*4]
jmp 0x84723f
lea ebx, [edi*4]
jmp 0x84723f
mov ax, sp
popal
mov eax, 0xdf18d4b4
bt bx, bx
jo 0x84716f
jno 0x84717c
neg ax
jbe 0x8471d8
ja 0x8471d8
dec edx
and dword [esi], edi
loop 0x847134
cmp al, byte [edi - 0x385e0288]
aas
ljmp 0xeb01
lea esp, [esp + 1]
jmp 0x8471fb
lea eax, [esi - 0x80]
push esp
push ebp
call fcn.008471c2
leave
push ecx
or byte [esi + 0x405c9daa], ch
pop ecx
add eax, 0xfd843c0d
mov eax, dword [0xa7b4adc7]
into
pop ecx
lea esp, [esp + 1]
sub ebx, edx
mov eax, 0x483ddcbc
mov ax, word [esp]
mov eax, dword [esp]
jmp 0x8471a5
lea ebx, [edi + 0x40]
not al
sub esp, 9
jae 0x8471f7
jb 0x8471bc
sub eax, ebx
jmp 0x847660
pushal
mov eax, dword [esp]
mov dword [esp + 0x14], edi
mov bx, 0x75d5
mov ax, 0xc21a
jmp 0x847194
mov ecx, dword [esp]
call fcn.008472ad
sub esp, 1
jmp 0x8472f6
xchg ebx, eax
add ax, dx
jge 0x84733a
jl 0x84733a
xchg dword [ebp - 0x79ba326b], esi
in eax, 0x78
lcall 0x8b3b, 0xd8f9ee17
xor al, 0x24
sub esp, 1
call fcn.00847316
mov edx, dword [esi]
mov bx, di
mov bl, 0xe9
mov ebx, dword [esp]
mov bh, dh
jmp 0x8472da
call fcn.00847324
div dword [esi + 8]
push si
lea esp, [esp + 2]
jmp 0x84735d
mov dword [esi + 4], edx
mov dx, word [esp]
call 0x84736a
lodsb al, byte [esi]
pop word [esp]
lea esp, [esp + 2]
jmp 0x8473a9
xchg ebx, eax
mov dl, 0xa0
mov dword [esi + 8], ebx
lea edx, [edx*4]
call fcn.00847393
pop word [esp]
lea esp, [esp + 2]
call fcn.00847455
lcall 0xf8d8, 0x1be88919
invalid
bsr cx, di
js 0x8472c8
mov ecx, dword [esp]
jmp 0x8472cb
cld
rep movsb byte es:[edi], byte [esi]
xchg cl, ch
jmp 0x8473d3
mov esi, edx
mov edi, eax
mov ecx, ebx
jmp 0x847407
push esi
push edi
push ecx
jmp 0x8474dc
mov esp, eax
pushfd
lea edi, [eax + ebx - 0x40]
jmp 0x8475e9
mov dx, 0x2f8d
jmp 0x84d70f
mov dx, sp
mov dh, 0x3a
setae dl
jmp 0x84d76a
ror al, 0
bsf edx, edx
jo 0x84d704
mov dx, 0x2f8d
mov dx, sp
mov dh, 0x3a
setae dl
mov dl, byte [esp]
jmp 0x84d76d
stc
mov dh, 6
bswap edx
jmp 0x84d78c
bswap edx
jmp 0x84d78c
dec dl
mov dh, bl
jmp 0x84d79f
mov dl, byte [esp]
not al
mov dh, dl
btr edx, esp
jmp 0x84d7bf
jb 0x84d753
dec dl
mov dh, bl
jmp 0x84d79f
ror al, 0
not edx
lea edx, [edi*4]
setns dh
inc dh
jmp 0x84d776
ror al, 0
mov dx, 0x34f3
xchg dl, dh
bswap edx
setp dl
jmp 0x84d7dc
jp 0x84d744
stc
mov dh, 6
jmp 0x84d74f
setle dh
mov dh, al
sete dh
sub esp, 0x1e
lea esp, [esp + 2]
jmp 0x84d7fe
mov edx, 0xe89741e3
mov dx, word [esp]
neg al
setge dh
dec dx
jmp 0x84d81a
sete dh
sub esp, 0x1e
lea esp, [esp + 2]
call fcn.0084d839
pop ss
add cl, al
jmp 0x84d890
jge 0x84d7c6
setle dh
mov dh, al
jmp 0x84d7ee
lea edx, [edi + ebp]
mov al, bl
setp dl
mov edx, edi
jmp 0x7f8735
jp 0x84d877
mov dh, dl
lea eax, [ebx - 0xb6]
jmp 0x84d8d5
mov dh, dl
lea eax, [ebx - 0xb6]
jmp 0x84d8d5
not dx
lea edx, [ecx + edx]
inc ebp
mov dl, byte [esp]
btc ax, sp
jmp 0x84d861
mov word [esi], dx
not ah
xchg dx, bx
mov dx, sp
jmp 0x84d8b8
jmp 0x84d8a0
lea eax, [0x8bcefd4e]
jmp 0x8460d3
mov dl, byte [ebx + edi]
bswap ebx
mov ah, byte [esp]
rol ebx, 0x13
jo 0x84d8b6
jno 0x84d8a0
mov ebx, 0x5b368e7b
stc
mov dx, 0xfe3
jmp 0x84d91d
sub ebp, 2
lea edx, [edi*4]
xchg dh, ch
inc ecx
jmp 0x84d942
jg 0x84d95a
bsf edx, ebx
jmp 0x84d95d
bsf edx, ebx
movzx ecx, byte [edi]
mov edx, 0xa5033102
jmp 0x84d96c
mov edx, dword [esp]
mov bl, dl
bsr edx, edx
jl 0x84da1a
dec bl
setge dl
sub esp, 0x1d
bt edx, eax
jmp 0x84d9dd
mov dword [esp + 1], esi
mov bh, cl
xchg bh, bl
lea esp, [esp + 1]
jmp 0x84d9c7
setge dl
sub esp, 0x1d
bt edx, eax
jmp 0x84d9a1
add cl, al
mov bh, byte [esp]
mov ebx, edx
xchg bx, dx
not ebx
call fcn.0084d9e3
sbb eax, 0xf1467f6c
mov dword [esp + 1], esi
jmp 0x84d9a5
dec bl
jmp 0x84d9bc