Function at 0x778c12
Capabilities:
Execute anti-debugging instructions

Disassembly:
dec edx
mov dword [esp + edi - 0x53af7fbf], 0x702fc29c
inc bx
mov dword [esi + edi - 0x53af7fbf], ecx
inc ebp
mov edi, dword [eax + esi - 0x7ea8]
jb 0x7b3915
dec esi
lea eax, [esi + eax - 0x7ea4]
inc edx
dec dword [esp - 0x3ef3f548]
ja 0x7b0df7
inc cx
adc ecx, esp
jl 0x7f662f
inc ecx
mov dword [esi + ecx - 0x3eb1], ebp
inc ecx
pop ecx
dec ecx
adc ecx, 0xfff70ec7
inc ecx
jmp ecx
jmp 0x8541ee
inc ecx
xor edx, edx
add edx, 0xcbaf8aa7
inc edx
ror byte [esp + 1], 0x65
push eax
neg edx
ror edx, 1
lea edx, [edx + eax + 0x46866570]
inc dx
neg dword [esp + 0xd]
dec edx
and dword [esp + 8], 0x22b29d32
neg edx
call int.00783554
neg eax
inc cx
inc esp
dec eax
mov dword [esp + ebx], edi
dec eax
sar byte [esp + ebx + 3], 0xa4
ror eax, 1
or word [esp + ebx], 0xca00
dec esp
mov dword [esp + ebx], edx
xor dword [esp + ebx], eax
inc ecx
pop edx
call fcn.00804b5a
mov ecx, 0x97b3dd82
movzx eax, byte [edi]
ror cl, cl
xor al, bl
jmp 0x865cf2
call fcn.008432d4
dec eax
dec eax
dec ebp
arpl sp, sp
dec ebp
add ebx, esp
dec ebp
add edi, ebx
inc ecx
jmp edi
lea eax, [ecx + ecx - 0x684d1dd0]
mov ecx, dword [edi + ecx - 0x19b46b0]
shl al, 0x24
shl al, 0x22
adc edi, 4
jmp 0x78531e
dec al
xor ecx, ebx
xor ecx, 0x1996eba6
not ecx
bswap eax
push eax
neg ecx
sub ecx, 0xa41b1613
pop eax
xor ebx, ecx
rol ax, 0x6b
dec ax
adc esi, ecx
sub al, 0x33
mov eax, dword [ebp]
jg 0x7e8aba
inc ecx
not edi
add edi, ebx
inc ecx
or eax, edi
inc ebx
mov dword [esi - 0x9162], eax
dec edi
lea esi, [esi - 0x245a0]
shr ebp, cl
dec ecx
or ebp, ebx
jmp ebp
add esi, edx
neg eax
and al, 0xa8
movzx edx, cx
movzx dx, byte [eax + ebp - 2]
jo 0x7b39c7
xor ecx, eax
or al, byte [ebp + eax*4]
not dl
not al
or dl, al
mov word [ebp], dx
mov edx, 0xdd11578e
jmp esi
dec edi
lea eax, [eax - 0x6ea7e399]
inc ebp
xor bh, dl
sal cx, 0x62
movsx edi, dl
js 0x84a9d4
inc di
mov edi, dword [esi + edi*2 - 0x7e146a80]
sal si, 5
inc esi
mov ecx, dword [esp + ebp - 0x10e4bfc6]
call fcn.005c2411
sal dword [esp + 1], cl
pop eax
pop eax
pop edx
jmp esi
dec ebp
add ebx, ebp
dec esp
xor dword [esp + esi - 0xaff1], ebx
ret 0x20
inc ebp
xor edi, edx
inc si
xor dword [esp - 0x3ef3f543], esp
inc dx
and dword [esp - 0x3ef3f545], ebx
inc ecx
neg edi
inc ecx
bswap edi
inc edx
sar byte [esp - 0x3ef3f547], 0xe3
inc ecx
neg edi
dec edx
sub dword [esp - 0x3ef3f548], edx
call fcn.007afda8
mov word [ebp - 2], dx
lea edx, [ecx + ecx - 0x124d2252]
lea edx, [ecx + ecx*4 + 0x4197b590]
shl cx, 5
mov edx, dword [edi + 1]
sete cl
dec al
shl al, 0xe4
add edi, 5
jmp 0x83171f
inc ecx
inc ebp
dec edx
lea ebp, [ecx + 0x20b67716]
inc ecx
sub ah, 0x8c
inc ecx
bswap ebp
inc ecx
neg ebp
neg dl
inc ecx
push edx
dec esp
lea edx, [edi*4 + 0x799df8b0]
jno 0x84800c
inc sp
mov dword [esp + esi*2 - 0x27c000b0], esp
dec ebp
lea esi, [esi + esi - 0x13e00052]
or ecx, dword [esp + esi - 0x13e00058]
dec eax
mov dword [esp + esi - 0x13e0005a], edx
inc ebp
mov ecx, edi
jne 0x7eee4f
inc edx
inc dword [esp + 3]
jns 0x76aee4
mov ecx, 0x19b46b0
jmp 0x7849ea
add edi, 4
rol dword [esp + 8], 0x98
mov ecx, dword [esp + 8]
or word [esp + 0xa], 0x6d01
xor eax, ebx
rol eax, 3
mov dword [esp], ecx
xor eax, 0xa6154fbe
ror eax, 1
neg eax
mov edx, dword [esp + 8]
xor ebx, eax
jmp 0x747116
dec eax
rol dword [esp + esi*2 - 0x15fd4], 0x9e
jb 0x864e5d
test ebp, 0xe0b81e1e
ja 0x7de1b1
push ecx
call fcn.007b11f2
sub ebp, 2
jmp fcn.007541d4
and bp, 0x91b5
mov ebp, dword [esp + ebp*2 + 0x47e8ff02]
mov dword [esp + 0xc], 0x80039af6
push dword [esp + 8]
popfd
lea esp, [esp + 0xc]
call fcn.00861b98
inc ecx
xor bl, dl
dec esi
lea edi, [edx - 0x1ae90d69]
ror bl, 1
dec eax
lea eax, [edx + edx*4 + 0x399a8]
sub bl, 0xb2
inc ecx
shl ah, 0xa2
dec eax
lea esi, [eax*2 - 0x68eee76d]
neg bl
sal ax, 0xe
dec esi
lea ecx, [eax - 0x62fafffc]
mov edi, 0x85b47891
add bl, 0xd
dec eax
shl esi, 0x41
dec ecx
ror esp, 0xbe
dec eax
rol edx, 0xdf
inc esp
xor dl, bl
call fcn.0079d93e
jmp 0x77bdf8
inc esp
xor bh, al
inc ecx
not cl
shl bp, 8
inc ebp
xor dl, bh
sal al, 0x81
ror al, cl
inc ecx
sar ecx, cl
dec esp
add edi, esp
inc ebx
mov byte [edi + ebp - 0x45b9d59f], bl
inc esp
xor ah, bh
dec eax
lea ebx, [edx + eax*4 + 0x5694210b]
call fcn.007a0814
mov ecx, 0x9b18349e
jb fcn.0083a329
mov ecx, dword [ebp + 4]
call fcn.00859df3
inc ecx
neg ecx
popfd
dec ecx
or edi, ebx
jmp edi
dec ebp
lea esi, [esi + esi*2]
inc eax
setb ch
inc sp
xchg ebx, edi
inc ecx
shr ah, cl
inc bp
mov dword [esi + esi*2 - 2], esp
sub byte [esp + esi + 5], ah
movzx ecx, word [esp + esi + 1]
dec esp
mov dword [esp + esi*4 - 4], ebx
ret
ror al, 1
xadd cl, ch
inc al
xchg ch, cl
xor al, 0xa3
and ecx, 0x6db4b695
inc al
xor bl, al
movsx edx, cx
add eax, esp
call fcn.008302ae
dec esp
mov dword [esp + esi - 0xafd1], edx
inc esp
xor dword [esp + esi - 0xafd1], ebp
jmp 0x7c5c7c
sar eax, 0x5e
jp 0x8431e7
inc ebp
xor dl, bh
inc di
mov dword [esi + ebp*4 - 4], edi
inc edx
not byte [esp + ebp + 0xe]
dec edi
lea esi, [ebp + esi - 4]
inc ecx
pop edi
inc ecx
pop ebp
jmp fcn.008764ee
xor edx, ebx
lea ecx, [ecx*8 - 0x28edae7b]
inc edx
xor edx, 0xa23c4516
sal cl, cl
inc cx
not ecx
lea edx, [edx + ecx - 0x386e7d2c]
sbb ecx, 0x951d52b8
bswap ecx
ror edx, 2
xor ebx, edx
shl cl, 3
sbb eax, eax
jne 0x788d38
inc ecx
movsx eax, di
inc bx
mov ebx, dword [esi - 0x6ea7e39a]
dec esi
lea ecx, [ebp*2 - 0x74d3a843]
inc ecx
add ebp, 0x45b9d625
inc cx
not ecx
dec edi
lea esi, [esi + ebp - 0x45b9d5bd]
inc edi
movzx edi, byte [eax - 0x6ea7e39a]
sar eax, cl
js 0x797f1f
dec eax
neg ecx
neg edi
inc ecx
mov esp, 0x40381d83
rol ebx, 0xde
not edi
jb 0x7c6ec1
inc esp
xor dword [esp + edx*2 - 0x286ee58e], ebp
dec ecx
inc edx
dec ecx
cmovne edx, esp
inc ecx
pop edx
call fcn.00813774
push 0x6b005a19
mov dword [esp], 0xf0043ca1
call fcn.00861b98
mov ecx, 0xf235b397
not ecx
xor al, bl
inc ecx
xor cl, 0x2b
neg al
rol cx, 0x83
rol al, 1
neg ecx
adc ecx, 0xc6afee09
not al
ror cl, 0x22
ror al, 1
sal ecx, 0xbc
xor bl, al
sar cl, 0x45
rol cl, 0xc2
adc eax, esp
xor cl, 0xbc
lea ecx, [ecx + ecx*2 - 0x4df842e9]
call fcn.0078ae54
inc ecx
inc bh
shr edi, 0x7c
inc ecx
xor ch, 0x20
inc ecx
neg bh
dec eax
inc edi
inc esp
or esp, ecx
setne cl
inc ecx
sbb bh, 0x98
jmp 0x7e25f6
add esi, eax
jmp 0x7a10d5
dec esp
mov edx, dword [esp + esi*2 - 0x15fc2]
push edx
pop edx
dec ebp
arpl bp, bp
in eax, dx
jb 0x7a2d7c
sal edx, 0xcf
xor dword [esp + edx - 0x6af98000], edi
dec esp
lea ecx, [eax + edx + 0x1fb1dd94]
inc eax
ror dh, 0x23
inc ecx
mov ecx, edi
inc ecx
pop edx
inc ecx
or dh, cl
dec eax
arpl di, di
push esi
shl eax, 0x43
dec esp
add ebx, edi
dec eax
lea edx, [ecx*2 + 0x298a5391]
call fcn.0073c2c5
inc ecx
mov edi, dword [eax]
push 0x3fbe151e
mov ebp, 0x5b3c50a3
dec esi
lea eax, [ebp + eax - 0x5b3c509f]
dec esp
lea esp, [ebp*2 - 0x30db2270]
inc cx
xor ebp, esp
inc ecx
xor edi, edx
shl word [esp + ebp - 0x5b3c2e70], 0x82
xor edi, 0x4286729
inc eax
sal ch, 0xe6
inc ecx
movsx eax, sp
dec edi
inc esp
movsx edi, byte [esp + eax - 0x7ed2]
ror edi, 2
inc esp
and byte [esp + ebp - 0x5b3c2e3f], ah
lea edi, [edi + ebp*2 - 0x4973797e]
inc ecx
movzx edx, ah
dec esp
mov dword [esp + ebp - 0x5b3c2e40], edx
xor dword [esp + ebp - 0x5b3c2e40], edi
dec ecx
lea esi, [esp + 0x311bc4bd]
inc ecx
pop edx
inc ecx
inc bh
mov ebx, edx
je 0x5bfa25
dec eax
arpl di, di
call fcn.005c20cb
shl ecx, 0xce
jne 0x82831f