Function at 0x77aa4d
Capabilities:
Authenticate hmac
Execute anti-debugging instructions
Packed with generic packer

Disassembly:
add byte [eax], al
popfd
push ecx
mov ecx, dword [esp + 4]
lea ecx, [ecx + 0xa]
xchg dword [esp + 4], ecx
mov dword [esp + 4], ecx
mov ecx, dword [esp]
lea esp, [esp + 4]
je 0x77aa40
jne 0x77aa40
jmp 0x77aa3e
add byte [eax], al
lea ebx, [ecx + eax]
pushfd
add ebp, 0xd
popfd
lea ebp, [ebp - 0xd]
xor edi, edi
push ebp
mov ebp, esp
leave
xchg ecx, eax
mov ecx, dword [ebx + 4]
push eax
xchg ecx, eax
pop ecx
xchg dword [ebp - 8], ecx
mov ecx, edi
push dword [ebp - 8]
xchg dword [ebp - 8], ecx
pop ecx
test eax, eax
pushfd
add ebp, 0x3b
popfd
lea ebp, [ebp - 0x3b]
je 0x7d0400
xchg edx, eax
lea esp, [esp - 4]
mov dword [esp], edx
mov edx, eax
mov eax, dword [esp]
pushfd
push edi
mov edi, dword [esp + 4]
lea edi, [edi + 0x3a]
xchg dword [esp + 4], edi
mov dword [esp + 4], edi
mov edi, dword [esp]
lea esp, [esp + 4]
call fcn.0077aa9e
pushfd
lea ecx, [ecx]
xchg esi, eax
lea esp, [esp - 4]
mov dword [esp], esi
mov esi, eax
mov eax, dword [esp]
xchg ebx, edx
lea esp, [esp - 4]
mov dword [esp], ebx
mov ebx, edx
mov edx, dword [esp]
rdtsc
push ebp
mov ebp, esp
leave
and eax, 1
mov edx, edx
xchg edi, edx
xchg dword [esp], edi
xchg edi, edx
lea esp, [esp + 4]
xchg ecx, eax
xchg dword [esp], ecx
xchg ecx, eax
lea esp, [esp + 4]
je 0x1187430
jne 0x7d5f40
jmp 0x118742e
popfd
push edx
mov edx, dword [esp + 4]
lea edx, [edx + 0x69]
xchg dword [esp + 4], edx
mov dword [esp + 4], edx
mov edx, dword [esp]
lea esp, [esp + 4]
je 0x11931a0
jne 0x11931a0
jmp 0x119319e
popfd
push edx
mov edx, dword [esp + 4]
lea edx, [edx + 0x36]
xchg dword [esp + 4], edx
mov dword [esp + 4], edx
mov edx, dword [esp]
lea esp, [esp + 4]
je 0xe08f18
jne 0xe08f18
jmp 0xe08f16
pushfd
push edx
mov edx, dword [esp + 4]
lea edx, [edx + 0x18]
xchg dword [esp + 4], edx
mov dword [esp + 4], edx
mov edx, 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
push ebx
mov ebx, dword [esp + 4]
lea ebx, [ebx + 0x4c]
xchg dword [esp + 4], ebx
mov dword [esp + 4], ebx
mov ebx, dword [esp]
lea esp, [esp + 4]
and eax, 1
push edx
mov edx, dword [esp + 4]
lea edx, [edx + 0x2e]
xchg dword [esp + 4], edx
mov dword [esp + 4], edx
mov edx, dword [esp]
lea esp, [esp + 4]
xchg ecx, edx
xchg dword [esp], ecx
xchg ecx, edx
lea esp, [esp + 4]
xchg ebx, eax
xchg dword [esp], ebx
xchg ebx, eax
lea esp, [esp + 4]
je 0x77a0ec
jne 0x7d0fb0
jmp 0x77a0ea
lea edx, [ecx + eax]
pushfd
add ebp, 0x78
popfd
lea ebp, [ebp - 0x78]
xchg esi, eax
mov esi, dword [edx + 0x10]
push eax
xchg esi, eax
pop esi
xchg dword [ebp - 0xc], eax
mov eax, edx
push dword [ebp - 0xc]
xchg dword [ebp - 0xc], eax
pop eax
test eax, eax
push edx
mov edx, dword [esp + 4]
lea edx, [edx + 0x51]
xchg dword [esp + 4], edx
mov dword [esp + 4], edx
mov edx, dword [esp]
lea esp, [esp + 4]
je 0xe126c8
jmp 0x7d86a8
arpl word [eax], ax
popfd
push ebx
mov ebx, dword [esp + 4]
lea ebx, [ebx + 0x47]
xchg dword [esp + 4], ebx
mov dword [esp + 4], ebx
mov ebx, dword [esp]
lea esp, [esp + 4]
je 0x1196748
jne 0x1196748
jmp 0x1196746
popfd
pushfd
add ebp, 0x5f
popfd
lea ebp, [ebp - 0x5f]
je 0xe104c4
jne 0xe104c4
jmp 0xe104c2
popfd
push ecx
mov ecx, dword [esp + 4]
lea ecx, [ecx + 0x7e]
xchg dword [esp + 4], ecx
mov dword [esp + 4], ecx
mov ecx, dword [esp]
lea esp, [esp + 4]
je 0xe0ab74
jne 0xe0ab74
jmp 0xe0ab72
xchg edx, ebx
lea esp, [esp - 4]
mov dword [esp], edx
mov edx, ebx
mov ebx, dword [esp]
pushfd
push ebp
mov ebp, esp
leave
call fcn.00800e0c
sbb byte [eax], al
xchg esi, eax
mov eax, dword [ebx + 8]
push esi
xchg esi, eax
pop eax
xchg dword [ebp - 4], edx
mov edx, esi
push dword [ebp - 4]
xchg dword [ebp - 4], edx
pop edx
jmp 0xe18ba4
add byte [eax], al
xchg edi, eax
mov edi, dword [edx]
push eax
xchg edi, eax
pop edi
test eax, eax
push ecx
mov ecx, dword [esp + 4]
lea ecx, [ecx + 0x3c]
xchg dword [esp + 4], ecx
mov dword [esp + 4], ecx
mov ecx, dword [esp]
lea esp, [esp + 4]
jne 0x7d8b94
xchg ebx, ecx
mov ecx, dword [ebp - 0x10]
push ebx
xchg ebx, ecx
pop ecx
xchg edx, edi
xchg dword [esp], edx
xchg edx, edi
lea esp, [esp + 4]
xchg esi, eax
xchg dword [esp], eax
xchg esi, eax
lea esp, [esp + 4]
jmp 0x800df4
add byte [eax], al
test esi, esi
push eax
mov eax, dword [esp + 4]
lea eax, [eax + 0x5e]
xchg dword [esp + 4], eax
mov dword [esp + 4], eax
mov eax, dword [esp]
lea esp, [esp + 4]
je 0xe12223
test edi, edi
push ebx
mov ebx, dword [esp + 4]
lea ebx, [ebx + 0x44]
xchg dword [esp + 4], ebx
mov dword [esp + 4], ebx
mov ebx, dword [esp]
lea esp, [esp + 4]
je 0xe12223
push 0xa
pushfd
add ebp, 0x7a
popfd
lea ebp, [ebp - 0x7a]
lea esp, [esp - 4]
mov dword [esp], esi
mov esi, dword [ebp - 0x10]
xchg dword [esp], esi
xchg edx, edi
lea esp, [esp - 4]
mov dword [esp], edx
mov edx, edi
mov edi, dword [esp]
pushfd
push edi
mov edi, dword [esp + 4]
lea edi, [edi + 0x49]
xchg dword [esp + 4], edi
mov dword [esp + 4], edi
mov edi, dword [esp]
lea esp, [esp + 4]
call fcn.00e10544
push edi
mov edi, dword [esp + 4]
lea edi, [edi + 0x50]
xchg dword [esp + 4], edi
mov dword [esp + 4], edi
mov edi, dword [esp]
lea esp, [esp + 4]
add dword [esp], 0x1ad7
xchg dword [esp], ecx
mov edx, edx
xchg dword [esp + 4], ecx
push ecx
mov ecx, dword [esp + 4]
lea ecx, [ecx + 0x78]
xchg dword [esp + 4], ecx
mov dword [esp + 4], ecx
mov ecx, dword [esp]
lea esp, [esp + 4]
xchg dword [esp], ecx
push esi
mov esi, ecx
pop esi
popfd
push esi
mov esi, dword [esp + 4]
lea esi, [esi + 5]
xchg dword [esp + 4], esi
mov dword [esp + 4], esi
mov esi, dword [esp]
lea esp, [esp + 4]
jmp 0xe126b8
call 0x7797f8
pop edi
xchg ebp, eax
call 0xe169f8
add ebx, dword [ecx + 0x1222fdbd]
jg 0xe126d9
aaa
add byte [eax], al
pushfd
push edi
mov edi, dword [esp + 4]
lea edi, [edi + 0x71]
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
pushfd
add ebp, 0x22
popfd
lea ebp, [ebp - 0x22]
and eax, 1
push edi
mov edi, dword [esp + 7]
pop edi
xchg ecx, edx
xchg dword [esp], ecx
xchg ecx, edx
lea esp, [esp + 4]
xchg ecx, eax
xchg dword [esp], ecx
xchg ecx, eax
lea esp, [esp + 4]
je 0x7dbb14
jne 0x7dcaa4
jmp 0x7dbb12
add byte [eax], al
xchg esi, eax
mov eax, dword [ebx + 8]
push esi
xchg esi, eax
pop eax
xchg dword [ebp - 4], ecx
mov ecx, esi
push dword [ebp - 4]
xchg dword [ebp - 4], ecx
pop ecx
jmp 0xe18ba4
pushfd
push ecx
mov ecx, dword [esp + 4]
lea ecx, [ecx + 0x1b]
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 edx, eax
lea esp, [esp - 4]
mov dword [esp], eax
mov eax, edx
mov edx, dword [esp]
rdtsc
pushfd
add ebp, 0x2c
popfd
lea ebp, [ebp - 0x2c]
and eax, 1
push ecx
mov ecx, dword [esp + 0xe]
pop ecx
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 0x118a570
jne 0x7dc9b8
jmp 0x118a56e
xchg ecx, ebx
mov ebx, dword [ebp - 0xc]
push ecx
xchg ecx, ebx
pop ebx
xchg edi, eax
mov edi, dword [ecx + 4]
push eax
xchg edi, eax
pop edi
test eax, eax
lea ecx, [ecx]
je 0xe167e4
xchg ecx, eax
lea esp, [esp - 4]
mov dword [esp], ecx
mov ecx, eax
mov eax, dword [esp]
pushfd
push eax
mov eax, dword [esp + 4]
lea eax, [eax + 0x57]
xchg dword [esp + 4], eax
mov dword [esp + 4], eax
mov eax, dword [esp]
lea esp, [esp + 4]
call 0xe18be8
push esi
mov esi, dword [esp + 4]
lea esi, [esi + 0x6a]
xchg dword [esp + 4], esi
mov dword [esp + 4], esi
mov esi, dword [esp]
lea esp, [esp + 4]
add dword [esp], 0xffff9526
xchg dword [esp], edx
push edi
mov edi, dword [esp + 4]
lea edi, [edi + 0x44]
xchg dword [esp + 4], edi
mov dword [esp + 4], edi
mov edi, dword [esp]
lea esp, [esp + 4]
xchg dword [esp + 4], edx
pushfd
add ebp, 0x48
popfd
lea ebp, [ebp - 0x48]
xchg dword [esp], edx
push eax
mov eax, dword [esp + 6]
pop eax
popfd
push ecx
mov ecx, dword [esp + 4]
lea ecx, [ecx + 0x73]
xchg dword [esp + 4], ecx
mov dword [esp + 4], ecx
mov ecx, dword [esp]
lea esp, [esp + 4]
jmp 0x801990
add byte [eax], al
popfd
push eax
mov eax, dword [esp + 4]
lea eax, [eax + 0x51]
xchg dword [esp + 4], eax
mov dword [esp + 4], eax
mov eax, dword [esp]
lea esp, [esp + 4]
je 0xe14ea8
jne 0xe14ea8
jmp 0xe14ea6
add byte [eax], al
popfd
lea eax, [eax]
je 0x118a6fc
jne 0x118a6fc
jmp 0x118a6fa
out 0x7b, al
test esi, esi
push eax
mov eax, dword [esp + 4]
lea eax, [eax + 6]
xchg dword [esp + 4], eax
mov dword [esp + 4], eax
mov eax, dword [esp]
lea esp, [esp + 4]
je 0xe12223
test edi, edi
push ebp
mov ebp, esp
leave
je 0xe12223
push 0xa
push ecx
mov ecx, dword [esp + 4]
lea ecx, [ecx + 0x71]
xchg dword [esp + 4], ecx
mov dword [esp + 4], ecx
mov ecx, dword [esp]
lea esp, [esp + 4]
lea esp, [esp - 4]
mov dword [esp], ebx
mov ebx, dword [ebp - 0x10]
xchg dword [esp], ebx
xchg esi, edi
lea esp, [esp - 4]
mov dword [esp], esi
mov esi, edi
mov edi, dword [esp]
pushfd
push edx
mov edx, dword [esp + 4]
lea edx, [edx + 0x7e]
xchg dword [esp + 4], edx
mov dword [esp + 4], edx
mov edx, dword [esp]
lea esp, [esp + 4]
call 0x118a778
push esi
mov esi, dword [esp + 4]
lea esi, [esi + 0x1f]
xchg dword [esp + 4], esi
mov dword [esp + 4], esi
mov esi, dword [esp]
lea esp, [esp + 4]
add dword [esp], 0xffc879d4
xchg dword [esp], ecx
push ecx
mov ecx, edx
pop ecx
xchg dword [esp + 4], ecx
push edx
mov edx, dword [esp + 4]
lea edx, [edx + 0x7b]
xchg dword [esp + 4], edx
mov dword [esp + 4], edx
mov edx, dword [esp]
lea esp, [esp + 4]
xchg dword [esp], ecx
push ebx
mov ebx, dword [esp + 4]
lea ebx, [ebx + 5]
xchg dword [esp + 4], ebx
mov dword [esp + 4], ebx
mov ebx, dword [esp]
lea esp, [esp + 4]
popfd
push eax
mov eax, dword [esp + 4]
lea eax, [eax + 0x70]
xchg dword [esp + 4], eax
mov dword [esp + 4], eax
mov eax, dword [esp]
lea esp, [esp + 4]
jmp 0x118b8ec
xchg esp, eax
lcall 0xec8b, 0x55011c8d
lea ebx, [ecx + eax]
push ebp
mov ebp, esp
leave
xor edi, edi
push edx
mov edx, dword [esp + 4]
lea edx, [edx + 0xe]
xchg dword [esp + 4], edx
mov dword [esp + 4], edx
mov edx, dword [esp]
lea esp, [esp + 4]
xchg ecx, eax
mov ecx, dword [ebx + 4]
push eax
xchg ecx, eax
pop ecx
xchg dword [ebp - 8], eax
mov eax, edi
push dword [ebp - 8]
xchg dword [ebp - 8], eax
pop eax
test eax, eax
mov edx, edx
je 0xe14ea8
xchg ecx, eax
lea esp, [esp - 4]
mov dword [esp], ecx
mov ecx, eax
mov eax, dword [esp]
pushfd
push edi
mov edi, dword [esp + 4]
lea edi, [edi + 0x1e]
xchg dword [esp + 4], edi
mov dword [esp + 4], edi
mov edi, dword [esp]
lea esp, [esp + 4]
call 0x1193207
push edi
mov edi, dword [esp + 4]
lea edi, [edi + 0xf]
xchg dword [esp + 4], edi
mov dword [esp + 4], edi
mov edi, dword [esp]
lea esp, [esp + 4]
add dword [esp], 0xffc7eecf
xchg dword [esp], edx
pushfd
add ebp, 0x6c
popfd
lea ebp, [ebp - 0x6c]
xchg dword [esp + 4], edx
lea edi, [edi]
xchg dword [esp], edx
push edi
mov edi, dword [esp + 4]
lea edi, [edi + 0x42]
xchg dword [esp + 4], edi
mov dword [esp + 4], edi
mov edi, dword [esp]
lea esp, [esp + 4]
popfd
push ecx
mov ecx, dword [esp + 4]
lea ecx, [ecx + 0x34]
xchg dword [esp + 4], ecx
mov dword [esp + 4], ecx
mov ecx, dword [esp]
lea esp, [esp + 4]
jmp 0x801990
add byte [eax], al
xchg edi, eax
mov edi, dword [edx]
push eax
xchg edi, eax
pop edi
test eax, eax
pushfd
add ebp, 0xd
popfd
lea ebp, [ebp - 0xd]
jne 0x7d8b94
xchg ebx, eax
mov eax, dword [ebp - 0x10]
push ebx
xchg ebx, eax
pop eax
xchg ecx, edi
xchg dword [esp], ecx
xchg ecx, edi
lea esp, [esp + 4]
xchg edi, esi
xchg dword [esp], edi
xchg edi, esi
lea esp, [esp + 4]
jmp 0x800df4