Function at 0x10105fab
Capabilities:
Authenticate hmac
Execute anti-debugging instructions

Disassembly:
push eax
mov eax, dword [esp + 4]
lea eax, [eax + 0x7e]
xchg dword [esp + 4], eax
mov dword [esp + 4], eax
mov eax, dword [esp]
lea esp, [esp + 4]
add dword [esp], 0xd20e
xchg dword [esp], edx
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]
xchg dword [esp + 4], edx
push edx
mov edx, dword [esp + 4]
lea edx, [edx + 0x32]
xchg dword [esp + 4], edx
mov dword [esp + 4], edx
mov edx, dword [esp]
lea esp, [esp + 4]
xchg dword [esp], edx
pushfd
add ebp, 0x75
popfd
lea ebp, [ebp - 0x75]
popfd
push ecx
mov ecx, dword [esp + 4]
lea ecx, [ecx + 1]
xchg dword [esp + 4], ecx
mov dword [esp + 4], ecx
mov ecx, dword [esp]
lea esp, [esp + 4]
jmp 0x10105f64
popfd
pushfd
add ebp, 0x74
popfd
lea ebp, [ebp - 0x74]
je 0x10109578
jne 0x10109578
jmp 0x10109576
pushfd
push ecx
mov ecx, dword [esp + 4]
lea ecx, [ecx + 0x64]
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
push edx
mov edx, dword [esp + 4]
lea edx, [edx + 0x73]
xchg dword [esp + 4], edx
mov dword [esp + 4], edx
mov edx, dword [esp]
lea esp, [esp + 4]
and eax, 1
push ecx
mov ecx, eax
pop ecx
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 0x1010b26c
jne 0x10105dbc
jmp 0x1010b26a
popfd
push edi
mov edi, dword [esp + 4]
lea edi, [edi + 0x6d]
xchg dword [esp + 4], edi
mov dword [esp + 4], edi
mov edi, dword [esp]
lea esp, [esp + 4]
je 0x101192bc
jne 0x101192bc
jmp 0x101192ba
and eax, dword [eax]
call 0x1010b804
insd dword es:[edi], dx
xchg edx, eax
mov al, byte [0x55820b6c]
or dword [ebp], 0x558b9200
or byte [eax - 0x6e], dl
pop edx
add esp, 0xc
mov ecx, ecx
test eax, eax
push ebx
mov ebx, dword [esp + 4]
lea ebx, [ebx + 0x4d]
xchg dword [esp + 4], ebx
mov dword [esp + 4], ebx
mov ebx, dword [esp]
lea esp, [esp + 4]
je 0x10112438
mov eax, dword [eax]
pushfd
add ebp, 0x4b
popfd
lea ebp, [ebp - 0x4b]
test eax, eax
push ebp
mov ebp, esp
leave
je 0x10105de8
xchg ecx, edi
mov edi, dword [ebp + 0xc]
push ecx
xchg ecx, edi
pop edi
xchg esi, eax
lea esp, [esp - 4]
mov dword [esp], eax
mov eax, esi
mov esi, dword [esp]
xchg ebx, edi
lea esp, [esp - 4]
mov dword [esp], ebx
mov ebx, edi
mov edi, dword [esp]
lea esp, [esp]
push esi
mov esi, dword [esp + 4]
lea esi, [esi + 0x56]
xchg dword [esp + 4], esi
mov dword [esp + 4], esi
mov esi, dword [esp]
lea esp, [esp + 4]
jmp 0x101026e8
xchg edx, eax
add dword [edx + 0x50fc558b], edx
add byte [eax], al
xchg edx, eax
mov edx, dword [ebp - 4]
push eax
xchg edx, eax
pop edx
mov esp, ebp
push edx
mov edx, ecx
pop edx
xchg ecx, ebp
xchg dword [esp], ecx
xchg ecx, ebp
lea esp, [esp + 4]
ret
add byte [eax], al
popfd
push edi
mov edi, dword [esp + 4]
lea edi, [edi + 0x3d]
xchg dword [esp + 4], edi
mov dword [esp + 4], edi
mov edi, dword [esp]
lea esp, [esp + 4]
je 0x101114f0
jne 0x101114f0
jmp 0x101114ee
push cs
add byte [edi + 0x24648dd9], al
cld
xchg ecx, ebx
lea esp, [esp - 4]
mov dword [esp], ecx
mov ecx, ebx
mov ebx, dword [esp]
pushfd
push ecx
mov ecx, dword [esp + 4]
lea ecx, [ecx + 0x56]
xchg dword [esp + 4], ecx
mov dword [esp + 4], ecx
mov ecx, dword [esp]
lea esp, [esp + 4]
call 0x1010f75b
push ecx
mov ecx, dword [esp + 4]
lea ecx, [ecx + 0x68]
xchg dword [esp + 4], ecx
mov dword [esp + 4], ecx
mov ecx, dword [esp]
lea esp, [esp + 4]
add dword [esp], 0xfffe2395
xchg dword [esp], eax
push ecx
mov ecx, dword [esp + 4]
lea ecx, [ecx + 0x26]
xchg dword [esp + 4], ecx
mov dword [esp + 4], ecx
mov ecx, dword [esp]
lea esp, [esp + 4]
xchg dword [esp + 4], eax
push edi
mov edi, dword [esp + 4]
lea edi, [edi + 0x4c]
xchg dword [esp + 4], edi
mov dword [esp + 4], edi
mov edi, dword [esp]
lea esp, [esp + 4]
xchg dword [esp], eax
push ebp
mov ebp, esp
leave
popfd
mov edx, edx
jmp 0x100af5f0
salc
xchg dword [esp], esi
xchg esi, edx
lea esp, [esp + 4]
xchg esi, eax
xchg dword [esp], esi
xchg esi, eax
lea esp, [esp + 4]
je 0x10112fd4
jne 0x100fe9cc
jmp 0x10112fd2
jg 0x101114c5
pushfd
push edx
mov edx, dword [esp + 4]
lea edx, [edx + 0x5b]
xchg dword [esp + 4], edx
mov dword [esp + 4], edx
mov edx, 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 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
pushfd
add ebp, 0xf
popfd
lea ebp, [ebp - 0xf]
xchg edi, edx
xchg dword [esp], edi
xchg edi, edx
lea esp, [esp + 4]
xchg esi, eax
xchg dword [esp], esi
xchg esi, eax
lea esp, [esp + 4]
je 0x101185bc
jne 0x1011334c
jmp 0x101185ba
inc eax
fstp qword [ebp + 0xec5839c]
popfd
pushfd
add ebp, 0xe
popfd
lea ebp, [ebp - 0xe]
je 0x10108710
jne 0x10108710
jmp 0x1010870e
popfd
push ebx
mov ebx, edi
pop ebx
je 0x1010f730
jne 0x1010f730
jmp 0x1010f72e
add byte fs:[ebp + 0x6cc5839c], bl
popfd
pushfd
add ebp, 0x6c
popfd
lea ebp, [ebp - 0x6c]
je 0x10105de8
jne 0x10105de8
jmp 0x10105de6
add byte [eax], al
lea edx, [ecx + eax]
push eax
mov eax, dword [esp + 4]
lea eax, [eax + 0x3d]
xchg dword [esp + 4], eax
mov dword [esp + 4], eax
mov eax, dword [esp]
lea esp, [esp + 4]
xchg esi, eax
mov esi, dword [edx + 0x10]
push eax
xchg esi, eax
pop esi
xchg dword [ebp - 0xc], edi
mov edi, edx
push dword [ebp - 0xc]
xchg dword [ebp - 0xc], edi
pop edi
test eax, eax
push ebx
mov ebx, dword [esp + 4]
lea ebx, [ebx + 0x53]
xchg dword [esp + 4], ebx
mov dword [esp + 4], ebx
mov ebx, dword [esp]
lea esp, [esp + 4]
je 0x10103a98
jmp 0x10102370