Function at 0xa7c71e
Capabilities:
Execute anti-debugging instructions

Disassembly:
pushfd
add ebp, 0x43
popfd
lea ebp, [ebp - 0x43]
add dword [esp], 0xfffff30a
xchg dword [esp], ebx
push ebp
mov ebp, esp
leave
xchg dword [esp + 4], ebx
pushfd
add ebp, 0x4a
popfd
lea ebp, [ebp - 0x4a]
xchg dword [esp], ebx
push ebx
mov ebx, dword [esp + 4]
lea ebx, [ebx + 0x35]
xchg dword [esp + 4], ebx
mov dword [esp + 4], ebx
mov ebx, dword [esp]
lea esp, [esp + 4]
popfd
push ecx
mov ecx, dword [esp + 4]
lea ecx, [ecx + 0x2d]
xchg dword [esp + 4], ecx
mov dword [esp + 4], ecx
mov ecx, dword [esp]
lea esp, [esp + 4]
jmp 0xa827d4
pushfd
push edi
mov edi, dword [esp + 4]
lea edi, [edi + 0x77]
xchg dword [esp + 4], edi
mov dword [esp + 4], edi
mov edi, dword [esp]
lea esp, [esp + 4]
xchg edx, eax
lea esp, [esp - 4]
mov dword [esp], edx
mov edx, eax
mov eax, dword [esp]
xchg ecx, edx
lea esp, [esp - 4]
mov dword [esp], ecx
mov ecx, edx
mov edx, dword [esp]
rdtsc
mov eax, eax
and eax, 1
mov edx, edx
xchg esi, edx
xchg dword [esp], esi
xchg esi, edx
lea esp, [esp + 4]
xchg ecx, eax
xchg dword [esp], ecx
xchg ecx, eax
lea esp, [esp + 4]
je 0xa808a8
jne 0xa8088c
jmp 0xa808a6
add byte [eax], al
xchg edi, eax
xchg dword [esp], eax
xchg edi, eax
lea esp, [esp + 4]
xchg esi, eax
xchg dword [esp], eax
xchg esi, eax
lea esp, [esp + 4]
xor eax, eax
push ebp
mov ebp, esp
leave
xchg esi, ebx
xchg dword [esp], esi
xchg esi, ebx
lea esp, [esp + 4]
mov esp, ebp
push edi
mov edi, edx
pop edi
xchg ecx, ebp
xchg dword [esp], ecx
xchg ecx, ebp
lea esp, [esp + 4]
ret
popfd
pushfd
add ebp, 0x48
popfd
lea ebp, [ebp - 0x48]
je 0xa8084c
jne 0xa8084c
jmp 0xa8084a
imul edx, dword [edx - 0x63], 0x50
popfd
push eax
mov eax, dword [esp + 4]
lea eax, [eax + 0x43]
xchg dword [esp + 4], eax
mov dword [esp + 4], eax
mov eax, dword [esp]
lea esp, [esp + 4]
je 0xa81704
jne 0xa81704
jmp 0xa81702
pushfd
push ecx
mov ecx, dword [esp + 4]
lea ecx, [ecx]
xchg dword [esp + 4], ecx
mov dword [esp + 4], ecx
mov ecx, dword [esp]
lea esp, [esp + 4]
xchg edx, eax
lea esp, [esp - 4]
mov dword [esp], edx
mov edx, eax
mov eax, dword [esp]
xchg edx, eax
lea esp, [esp - 4]
mov dword [esp], eax
mov eax, edx
mov edx, dword [esp]
rdtsc
mov edx, edx
and eax, 1
push esi
mov esi, dword [esp + 0xe]
pop esi
xchg esi, edx
xchg dword [esp], esi
xchg esi, edx
lea esp, [esp + 4]
xchg edx, eax
xchg dword [esp], edx
xchg edx, eax
lea esp, [esp + 4]
je 0xa810c0
jne 0xa810a4
jmp 0xa810be
add byte [eax], al
xchg esi, eax
mov eax, dword [ecx + 0xc]
push esi
xchg esi, eax
pop eax
add eax, ebx
push eax
mov eax, dword [esp + 4]
lea eax, [eax + 0x4a]
xchg dword [esp + 4], eax
mov dword [esp + 4], eax
mov eax, dword [esp]
lea esp, [esp + 4]
xchg edx, eax
mov eax, dword [ecx + 0x10]
push edx
xchg edx, eax
pop eax
add esi, ebx
push edi
mov edi, dword [esp + 4]
lea edi, [edi + 0x6c]
xchg dword [esp + 4], edi
mov dword [esp + 4], edi
mov edi, dword [esp]
lea esp, [esp + 4]
add edx, ebx
push ecx
mov ecx, dword [esp + 4]
lea ecx, [ecx + 0x57]
xchg dword [esp + 4], ecx
mov dword [esp + 4], ecx
mov ecx, dword [esp]
lea esp, [esp + 4]
xchg dword [ebp - 8], edi
mov edi, eax
push dword [ebp - 8]
xchg dword [ebp - 8], edi
pop edi
xchg ecx, esi
lea esp, [esp - 4]
mov dword [esp], ecx
mov ecx, esi
mov esi, dword [esp]
xchg dword [ebp - 0xc], edi
mov edi, edx
push dword [ebp - 0xc]
xchg dword [ebp - 0xc], edi
pop edi
pushfd
pushfd
add ebp, 0x6f
popfd
lea ebp, [ebp - 0x6f]
call 0xa81025
push edi
mov edi, dword [esp + 4]
lea edi, [edi + 0x40]
xchg dword [esp + 4], edi
mov dword [esp + 4], edi
mov edi, dword [esp]
lea esp, [esp + 4]
add dword [esp], 0xfffff719
xchg dword [esp], edx
push ebp
mov ebp, esp
leave
xchg dword [esp + 4], edx
push ecx
mov ecx, dword [esp + 4]
lea ecx, [ecx + 0x5c]
xchg dword [esp + 4], ecx
mov dword [esp + 4], ecx
mov ecx, dword [esp]
lea esp, [esp + 4]
xchg dword [esp], edx
push esi
mov esi, dword [esp + 4]
lea esi, [esi + 0x18]
xchg dword [esp + 4], esi
mov dword [esp + 4], esi
mov esi, dword [esp]
lea esp, [esp + 4]
popfd
push eax
mov eax, dword [esp + 4]
lea eax, [eax + 0x78]
xchg dword [esp + 4], eax
mov dword [esp + 4], eax
mov eax, dword [esp]
lea esp, [esp + 4]
jmp dword [0xf79bd0]
popfd
pushfd
add ebp, 0x5b
popfd
lea ebp, [ebp - 0x5b]
je 0xa80f98
jne 0xa80f98
jmp 0xa80f96
or dh, dh
popfd
mov edi, edi
je 0xa81b74
jne 0xa81b74
jmp 0xa81b72
pushfd
push ecx
mov ecx, dword [esp + 4]
lea ecx, [ecx + 0x40]
xchg dword [esp + 4], ecx
mov dword [esp + 4], ecx
mov ecx, dword [esp]
lea esp, [esp + 4]
xchg ebx, eax
lea esp, [esp - 4]
mov dword [esp], ebx
mov ebx, eax
mov eax, dword [esp]
xchg esi, edx
lea esp, [esp - 4]
mov dword [esp], esi
mov esi, edx
mov edx, dword [esp]
rdtsc
push esi
mov esi, dword [esp + 9]
pop esi
and eax, 1
push ecx
mov ecx, dword [esp + 1]
pop ecx
xchg edx, eax
xchg dword [esp], eax
xchg edx, eax
lea esp, [esp + 4]
xchg ecx, eax
xchg dword [esp], ecx
xchg ecx, eax
lea esp, [esp + 4]
je 0xa81254
jne 0xa8123c
jmp 0xa81252
invalid
cmp dword [edx], 8
push eax
mov eax, dword [esp + 4]
lea eax, [eax + 0xc]
xchg dword [esp + 4], eax
mov dword [esp + 4], eax
mov eax, dword [esp]
lea esp, [esp + 4]
jle 0xa81704
lea esp, [esp - 4]
mov dword [esp], eax
mov eax, dword [edx + 0x3a]
xchg dword [esp], eax
xchg ebx, eax
mov ebx, dword [edx + 0x36]
push eax
xchg ebx, eax
pop ebx
add eax, ebx
pushfd
add ebp, 0x59
popfd
lea ebp, [ebp - 0x59]
xchg ebx, eax
lea esp, [esp - 4]
mov dword [esp], ebx
mov ebx, eax
mov eax, dword [esp]
xchg edx, eax
lea esp, [esp - 4]
mov dword [esp], edx
mov edx, eax
mov eax, dword [esp]
lea eax, [edx + 0x72]
lea ecx, [ecx]
xchg edx, eax
lea esp, [esp - 4]
mov dword [esp], edx
mov edx, eax
mov eax, dword [esp]
pushfd
pushfd
add ebp, 0x16
popfd
lea ebp, [ebp - 0x16]
call 0xa811c0
push ecx
mov ecx, dword [esp + 4]
lea ecx, [ecx + 0xb]
xchg dword [esp + 4], ecx
mov dword [esp + 4], ecx
mov ecx, dword [esp]
lea esp, [esp + 4]
add dword [esp], 0xfffff60a
xchg dword [esp], ecx
push ebp
mov ebp, esp
leave
xchg dword [esp + 4], ecx
push esi
mov esi, dword [esp + 4]
lea esi, [esi + 0x5c]
xchg dword [esp + 4], esi
mov dword [esp + 4], esi
mov esi, dword [esp]
lea esp, [esp + 4]
xchg dword [esp], ecx
push ecx
mov ecx, dword [esp + 4]
lea ecx, [ecx + 0x72]
xchg dword [esp + 4], ecx
mov dword [esp + 4], ecx
mov ecx, dword [esp]
lea esp, [esp + 4]
popfd
push esi
mov esi, dword [esp + 4]
lea esi, [esi + 0x15]
xchg dword [esp + 4], esi
mov dword [esp + 4], esi
mov esi, dword [esp]
lea esp, [esp + 4]
jmp fcn.00a8279c
popfd
push ebp
mov ebp, esp
leave
je 0xa81148
jne 0xa81148
jmp 0xa81146
or ah, byte [ebp + 0xfc08b9d]
test bl, dh
add al, 0
add byte [edi], cl
test ebp, ebp
add al, 0
add cl, ch
out 4, al
add byte [eax], al
sbb ch, bl
add byte [eax], al
popfd
mov eax, eax
je 0xa81750
jne 0xa81750
jmp 0xa8174e
pushfd
push ebp
mov ebp, esp
leave
xchg edx, eax
lea esp, [esp - 4]
mov dword [esp], edx
mov edx, eax
mov eax, dword [esp]
xchg edx, eax
lea esp, [esp - 4]
mov dword [esp], eax
mov eax, edx
mov edx, dword [esp]
rdtsc
pushfd
add ebp, 0x36
popfd
lea ebp, [ebp - 0x36]
and eax, 1
push esi
mov esi, dword [esp + 4]
lea esi, [esi + 0x6c]
xchg dword [esp + 4], esi
mov dword [esp + 4], esi
mov esi, dword [esp]
lea esp, [esp + 4]
xchg edx, eax
xchg dword [esp], eax
xchg edx, eax
lea esp, [esp + 4]
xchg ecx, eax
xchg dword [esp], ecx
xchg ecx, eax
lea esp, [esp + 4]
je 0xa81378
jne 0xa8134c
jmp 0xa81376
adc dword [eax], eax
lea ecx, [eax + ebx]
push esi
mov esi, dword [esp + 4]
lea esi, [esi + 0x23]
xchg dword [esp + 4], esi
mov dword [esp + 4], esi
mov esi, dword [esp]
lea esp, [esp + 4]
xchg ebx, eax
mov ebx, dword [ecx]
push eax
xchg ebx, eax
pop ebx
xchg dword [ebp - 4], esi
mov esi, ecx
push dword [ebp - 4]
xchg dword [ebp - 4], esi
pop esi
xchg ecx, esi
lea esp, [esp - 4]
mov dword [esp], ecx
mov ecx, esi
mov esi, dword [esp]
xchg ebx, edi
lea esp, [esp - 4]
mov dword [esp], ebx
mov ebx, edi
mov edi, dword [esp]
test eax, eax
push eax
mov eax, dword [esp + 4]
lea eax, [eax + 4]
xchg dword [esp + 4], eax
mov dword [esp + 4], eax
mov eax, dword [esp]
lea esp, [esp + 4]
je 0xa81750
jmp 0xa81b74
popfd
push edi
mov edi, dword [esp + 4]
lea edi, [edi + 6]
xchg dword [esp + 4], edi
mov dword [esp + 4], edi
mov edi, dword [esp]
lea esp, [esp + 4]
je 0xa812dc
jne 0xa812dc
jmp 0xa812da
mov edx, 0x8b579d00
jl 0xa813a1
popfd
push edi
mov edi, dword [esp + 4]
lea edi, [edi + 0x3e]
add al, 0x8d
jg 0xa813bf
xchg dword [esp + 4], edi
mov dword [esp + 4], edi
mov edi, dword [esp]
lea esp, [esp + 4]
je 0xa81c84
jne 0xa81c84
jmp 0xa81c82
and eax, 0x8d9c00cf
add byte [edx - 0x3db9b73], dl
pushfd
lea eax, [eax]
xchg edx, eax
lea esp, [esp - 4]
mov dword [esp], edx
mov edx, eax
mov eax, dword [esp]
xchg edi, edx
lea esp, [esp - 4]
mov dword [esp], edi
mov edi, edx
mov edx, dword [esp]
rdtsc
push esi
mov esi, dword [esp + 4]
lea esi, [esi + 0x58]
xchg dword [esp + 4], esi
mov dword [esp + 4], esi
mov esi, dword [esp]
lea esp, [esp + 4]
and eax, 1
pushfd
add ebp, 0x53
popfd
lea ebp, [ebp - 0x53]
xchg ecx, edx
xchg dword [esp], ecx
xchg ecx, edx
lea esp, [esp + 4]
xchg esi, eax
xchg dword [esp], esi
xchg esi, eax
lea esp, [esp + 4]
je 0xa81484
jne 0xa81468
jmp 0xa81482
insb byte es:[edi], dx
das
xor eax, eax
push edi
mov edi, dword [esp + 4]
lea edi, [edi + 0x29]
xchg dword [esp + 4], edi
mov dword [esp + 4], edi
mov edi, dword [esp]
lea esp, [esp + 4]
xchg edi, ebx
xchg dword [esp], edi
xchg edi, ebx
lea esp, [esp + 4]
mov esp, ebp
pushfd
add ebp, 0x5d
popfd
lea ebp, [ebp - 0x5d]
xchg ecx, ebp
xchg dword [esp], ecx
xchg ecx, ebp
lea esp, [esp + 4]
ret
popfd
pushfd
add ebp, 0x32
popfd
lea ebp, [ebp - 0x32]
je 0xa81414
jne 0xa81414
jmp 0xa81412
inc edx
inc ebp
popfd
pushfd
add ebp, 0x18
popfd
lea ebp, [ebp - 0x18]
je 0xa81d28
jne 0xa81d28
jmp 0xa81d26
pushfd
push ecx
mov ecx, dword [esp + 4]
lea ecx, [ecx + 0x1a]
xchg dword [esp + 4], ecx
mov dword [esp + 4], ecx
mov ecx, dword [esp]
lea esp, [esp + 4]
xchg ecx, eax
lea esp, [esp - 4]
mov dword [esp], ecx
mov ecx, eax
mov eax, dword [esp]
xchg ecx, edx
lea esp, [esp - 4]
mov dword [esp], ecx
mov ecx, edx
mov edx, dword [esp]
rdtsc
push ebx
mov ebx, dword [esp + 4]
lea ebx, [ebx + 0x2e]
xchg dword [esp + 4], ebx
mov dword [esp + 4], ebx
mov ebx, dword [esp]
lea esp, [esp + 4]
and eax, 1
push eax
mov eax, ecx
pop eax
xchg edx, eax
xchg dword [esp], eax
xchg edx, eax
lea esp, [esp + 4]
xchg edx, eax
xchg dword [esp], edx
xchg edx, eax
lea esp, [esp + 4]
je 0xa8155c
jne 0xa81530
jmp 0xa8155a
int1
add byte [edi + 0xc7d8bfb], al
xchg ebx, edi
mov edi, dword [ebp + 0xc]
push ebx
xchg ebx, edi
pop edi
jmp 0xa81c84
popfd
push edi
mov edi, dword [esp + 4]
lea edi, [edi + 0x76]
xchg dword [esp + 4], edi
mov dword [esp + 4], edi
mov edi, dword [esp]
lea esp, [esp + 4]
je 0xa81520
jne 0xa81520
jmp 0xa8151e
mov dword [eax], eax
popfd
push ecx
mov ecx, dword [esp + 4]
lea ecx, [ecx + 0x57]
xchg dword [esp + 4], ecx
mov dword [esp + 4], ecx
mov ecx, dword [esp]
lea esp, [esp + 4]
je 0xa81d18
jne 0xa81d18
jmp 0xa81d16
jle 0xa81704
xchg edi, eax
xchg dword [esp], eax
xchg edi, eax
lea esp, [esp + 4]
xchg esi, eax
xchg dword [esp], eax
xchg esi, eax
lea esp, [esp + 4]
xor eax, eax
mov eax, eax
xchg ecx, ebx
xchg dword [esp], ecx
xchg ecx, ebx
lea esp, [esp + 4]
mov esp, ebp
push edi
mov edi, dword [esp + 4]
lea edi, [edi + 0x45]
xchg dword [esp + 4], edi
mov dword [esp + 4], edi
mov edi, dword [esp]
lea esp, [esp + 4]
xchg esi, ebp
xchg dword [esp], esi
xchg esi, ebp
lea esp, [esp + 4]
ret
push edx
mov esi, 0x55083a83
cmp dword [edx], 8
push ebp
mov ebp, esp
leave
jle 0xa807e0
lea esp, [esp - 4]
mov dword [esp], ecx
mov ecx, dword [edx + 0x3a]
xchg dword [esp], ecx
xchg ebx, eax
mov ebx, dword [edx + 0x36]
push eax
xchg ebx, eax
pop ebx
add eax, ebx
lea eax, [eax]
xchg ebx, eax
lea esp, [esp - 4]
mov dword [esp], ebx
mov ebx, eax
mov eax, dword [esp]
xchg edi, eax
lea esp, [esp - 4]
mov dword [esp], edi
mov edi, eax
mov eax, dword [esp]
lea eax, [edx + 0x72]
lea ecx, [ecx]
xchg ebx, eax
lea esp, [esp - 4]
mov dword [esp], ebx
mov ebx, eax
mov eax, dword [esp]
pushfd
push edx
mov edx, dword [esp + 4]
lea edx, [edx + 0x50]
xchg dword [esp + 4], edx
mov dword [esp + 4], edx
mov edx, dword [esp]
lea esp, [esp + 4]
call 0xa817be
push eax
mov eax, dword [esp + 4]
lea eax, [eax + 0x46]
xchg dword [esp + 4], eax
mov dword [esp + 4], eax
mov eax, dword [esp]
lea esp, [esp + 4]
add dword [esp], 0xfffff00c
xchg dword [esp], ecx
push edi
mov edi, ebx
pop edi
xchg dword [esp + 4], ecx
pushfd
add ebp, 0x1d
popfd
lea ebp, [ebp - 0x1d]
xchg dword [esp], ecx
pushfd
add ebp, 0x65
popfd
lea ebp, [ebp - 0x65]
popfd
push ecx
mov ecx, dword [esp + 4]
lea ecx, [ecx + 0x4b]
xchg dword [esp + 4], ecx
mov dword [esp + 4], ecx
mov ecx, dword [esp]
lea esp, [esp + 4]
jmp fcn.00a8279c
add dword [eax], eax
xchg esi, ebx
mov ebx, dword [ecx + 0xc]
push esi
xchg esi, ebx
pop ebx
add eax, ebx
push edx
mov edx, dword [esp + 4]
lea edx, [edx + 0x15]
xchg dword [esp + 4], edx
mov dword [esp + 4], edx
mov edx, dword [esp]
lea esp, [esp + 4]
xchg edx, esi
mov esi, dword [ecx + 0x10]
push edx
xchg edx, esi
pop esi
add esi, ebx
push ecx
mov ecx, dword [esp + 9]
pop ecx
add edx, ebx
push eax
mov eax, dword [esp + 4]
lea eax, [eax + 0x27]
xchg dword [esp + 4], eax
mov dword [esp + 4], eax
mov eax, dword [esp]
lea esp, [esp + 4]
xchg dword [ebp - 8], ebx
mov ebx, eax
push dword [ebp - 8]
xchg dword [ebp - 8], ebx
pop ebx
xchg esi, eax
lea esp, [esp - 4]
mov dword [esp], eax
mov eax, esi
mov esi, dword [esp]
xchg dword [ebp - 0xc], eax
mov eax, edx
push dword [ebp - 0xc]
xchg dword [ebp - 0xc], eax
pop eax
pushfd
push esi
mov esi, dword [esp + 4]
lea esi, [esi + 0x7e]
xchg dword [esp + 4], esi
mov dword [esp + 4], esi
mov esi, dword [esp]
lea esp, [esp + 4]
call 0xa81c02
pushfd
add ebp, 0x4c
popfd
lea ebp, [ebp - 0x4c]
add dword [esp], 0xffffeb3c
xchg dword [esp], edx
push eax
mov eax, dword [esp + 4]
lea eax, [eax + 0x63]
xchg dword [esp + 4], eax
mov dword [esp + 4], eax
mov eax, dword [esp]
lea esp, [esp + 4]
xchg dword [esp + 4], edx
push edi
mov edi, dword [esp + 4]
lea edi, [edi + 0x7a]
xchg dword [esp + 4], edi
mov dword [esp + 4], edi
mov edi, dword [esp]
lea esp, [esp + 4]
xchg dword [esp], edx
push eax
mov eax, dword [esp + 4]
lea eax, [eax + 0x71]
xchg dword [esp + 4], eax
mov dword [esp + 4], eax
mov eax, dword [esp]
lea esp, [esp + 4]
popfd
push eax
mov eax, dword [esp + 4]
lea eax, [eax + 8]
xchg dword [esp + 4], eax
mov dword [esp + 4], eax
mov eax, dword [esp]
lea esp, [esp + 4]
jmp dword [0xf79bd0]
stosb byte es:[edi], al
add byte [ebp - 0x74aee7f4], cl
dec esp
and al, 4
lea ecx, [eax + ebx]
push ecx
mov ecx, dword [esp + 4]
lea ecx, [ecx + 0x1d]
xchg dword [esp + 4], ecx
mov dword [esp + 4], ecx
mov ecx, dword [esp]
lea esp, [esp + 4]
xchg edx, eax
mov edx, dword [ecx]
push eax
xchg edx, eax
pop edx
xchg dword [ebp - 4], eax
mov eax, ecx
push dword [ebp - 4]
xchg dword [ebp - 4], eax
pop eax
xchg edx, esi
lea esp, [esp - 4]
mov dword [esp], edx
mov edx, esi
mov esi, dword [esp]
xchg edi, eax
lea esp, [esp - 4]
mov dword [esp], eax
mov eax, edi
mov edi, dword [esp]
test eax, eax
pushfd
add ebp, 0x53
popfd
lea ebp, [ebp - 0x53]
je 0xa810d8
jmp 0xa80f28
repe scasb al, byte es:[edi]
xchg ebx, ecx
mov ecx, dword [ebp + 0xc]
push ebx
xchg ebx, ecx
pop ecx
jmp 0xa8126c
and al, 0x7f
xor eax, eax
push esi
mov esi, eax
pop esi
xchg esi, ebx
xchg dword [esp], esi
xchg esi, ebx
lea esp, [esp + 4]
mov esp, ebp
push ecx
mov ecx, edi
pop ecx
xchg ecx, ebp
xchg dword [esp], ecx
xchg ecx, ebp
lea esp, [esp + 4]
ret
and al, 4
jne 0xa814a0
jmp 0xa813a4
call fcn.00a830dc
add ch, byte [0x31b685f4]
salc
test ebp, ecx
leave
or edx, ecx
jecxz 0xa8278b
sbb dword [esi], 0x971e86b
add byte [eax], al
pop ds
inc esp
out dx, al
jmp 0x52c9dc97