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

Disassembly:
mov eax, dword [esp]
sal eax, 0x8d
jne 0xd75d40
call fcn.00913b15
fidiv word [ecx + 0x5e5a6160]
mov esi, 0x22ba7ab9
call 0x723886af
sbb eax, 0x48015a68
jnp 0x730586
lcall 0x459e, 0x657a69a
ret
and eax, 0xba813d76
push eax
mov edx, 0x16491769
invalid
jle 0x7305fc
out dx, al
fcmovbe st(0), st(3)
mov esp, 0xc5d52521
das
lea esi, [eax]
movsd dword es:[edi], dword [esi]
cwde
insd dword es:[edi], dx
xor al, 0xa2
in eax, 0x4c
adc bl, dl
neg edx
test al, 0x70
fnstsw word [0x1021dab2]
dec ecx
movsd dword es:[edi], dword [esi]
mov esp, cs
mov bh, 0x7d
jbe 0x730553
popal
adc eax, dword [ebp + 0x28]
sbb byte [ebx + 5], bl
xor cl, byte [edx + 0x5108dad4]
xor eax, 0x2b3c85a5
mov esp, 0xead0525c
test ch, ah
fidivr word [eax - 0x666c22c6]
sub ebp, 4
lea ecx, [eax + eax - 0x4acbc5dc]
mov edx, eax
shr dx, 0x4a
mov edx, dword [ebp]
xor edx, ebx
btc eax, ecx
lea eax, [eax + ecx*8 + 0x2008115]
neg edx
xor eax, 0xa82ac7b2
lea edx, [edx + eax + 0x5bb706e]
push ecx
shl cx, 0x67
mov ebx, 0xc1665105
loope 0x73066a
jns 0xcfa27d
sub al, 0xdb
bt dx, ax
shl ax, 0x29
sar eax, 0x66
not ecx
inc edx
sbb dx, ax
inc ecx
rol ecx, 3
ror dx, 0xa7
setb al
adc dx, 0x4116
xor ebx, ecx
bt eax, edx
xor edx, eax
rol dl, 0xe1
adc edi, ecx
sar eax, 0x2d
mov eax, dword [ebp + edx - 0x44748]
lea ecx, [edx + edx*4 + 0x5819f126]
mov cx, word [edx + eax - 0x44748]
lea ebp, [ebp + edx*8 - 0x223a3e]
jb 0x903c09
adc edi, eax
mov edx, dword [edx + ebp - 0x44c4c19]
movsx eax, cl
mov dword [esp + eax - 0x5465dc10], ecx
mov edx, dword [esi + eax - 0x5465dc10]
jne 0x8b110f
call fcn.007d7eca
mov edx, 0xfc2b4d94
lea eax, [edx + edx*2 + 0x73827d9d]
lea esi, [esi + eax - 0x6804665d]
xchg dx, ax
lea edx, [edx + eax + 0x4a301a39]
lea ecx, [edx*4 - 0x3d7be8f1]
mov eax, dword [esi + eax - 0x68044d94]
shl edx, cl
ror dx, 0xe
push ecx
xor eax, ebx
sub cx, word [esp + ecx - 0x7c034fa7]
push edx
neg eax
bswap eax
neg dl
je 0x9756bb
call fcn.00786e8c
xor ecx, 0x2ba80f3b
lea ecx, [ecx + edx - 0x1f67835a]
xor ecx, 0x2c2880b9
xor ebx, ecx
shr eax, 0x64
rol al, 0xc1
xadd dl, ah
adc edi, ecx
ror eax, 0x41
mov ebp, dword [ebp + eax*4 - 0xc00]
jno fcn.009fc29f
inc cl
dec ecx
mov dword [esi + ecx*2 - 0x98b7cc], eax
movsx eax, cx
cwde
and dword [esp + ecx*2 - 0x98b7cc], 0x8ea15886
mov dword [esi + ecx*8 - 0x262df40], edx
rol ax, cl
lea edx, [eax*8 + 0x7ab62ae]
pop edx
pop edx
jbe fcn.00969791
xor edx, ebx
pop eax
rol ax, cl
adc cx, ax
not edx
inc ecx
sal ax, cl
inc edx
bt ax, 0x83
or cl, al
sal eax, cl
xor edx, 0x693da828
dec edx
dec eax
jle 0x7304ee
xor ebx, edx
add edi, edx
jmp edi
lea edi, [eax + edi - 0xbffed]
bt eax, eax
inc eax
setnp dl
not dx
mov word [ebp + edx*8 - 0x25c7f8], cx
jmp edi
mov eax, dword [ebp + ecx*8 - 0x98]
rol edx, cl
xor eax, ebx
btc edx, ecx
sbb eax, 0xd234f217
push ecx
call fcn.00d4ac06
not eax
add dl, 0xb8
ror edx, 0x41
inc eax
add ecx, 0x603c4ab5
neg eax
pop edx
xadd word [esp + edx*2 - 0x5fce97ff], cx
pop edx
dec eax
or edx, edx
shr cl, 0xa5
xor edx, 0x780248be
xor ebx, eax
sub ecx, ecx
jle 0x7d017a
jne 0x9f1636
mov edx, 0xdb6e713
movzx ecx, dl
shr dx, 0x43
lea ebp, [ebp + edx - 0xdb61ce6]
jp 0x922bca
shr dx, 0x21
dec ecx
sub al, 0x3b
setae al
not ecx
sar dx, 0xe3
sal edx, 0xad
sbb ecx, 0xdc077511
cwd
neg dx
not edx
neg ecx
jmp 0x77cae1
lea edx, [edx - 0x26f6bf57]
not eax
rol cl, 0x46
or dx, dx
jle 0x9bbb34
xor ebx, eax
xor dl, ch
adc edi, eax
jmp edi
sar eax, 0x69
cbw
jns 0x8da51c
mov ecx, 0x40abb595
lea edx, [ecx*8 + 0x27b7631d]
lea esi, [esi + edx*2 - 0x5a2a1f8b]
dec ecx
movzx edx, byte [esi + edx*2 - 0x5a2a1f8a]
xor dl, bl
mov eax, ecx
and cx, 0x5692
ror dl, 1
sal ecx, cl
not dl
sbb dl, 0x91
push eax
add dword [esp + ecx - 0x14900000], eax
or eax, ecx
ror dl, 1
xor bl, dl
bt eax, eax
bswap eax
lea ebp, [ebp + ecx*4 - 0x52400002]
sub al, 0x1c
mov word [ebp + ecx*4 - 0x52400000], dx
lea esi, [esi + ecx - 0x14900004]
lea eax, [ecx*8 - 0x346bf6f9]
pop eax
mov ecx, dword [esi + ecx*2 - 0x29200000]
or eax, eax
movsx edx, al
add eax, eax
xor ecx, ebx
bts dx, dx
bswap ecx
sub eax, edx
xor ecx, 0x5e2e8d90
btc edx, eax
not eax
shl eax, 0x14
inc ecx
or edx, eax
sar ax, 0x66
rol dl, 0x24
neg ecx
neg edx
jnp 0x990fa2
setg al
xor ebx, ecx
add edi, ecx
lea ecx, [eax - 0x3cd5f1c4]
add al, ah
jno fcn.00860e79
call fcn.008877a0
clc
inc eax
salc
inc edi
movsd dword es:[edi], dword [esi]
ret
not edx
cwde
sub byte [esp + 1], al
ror edx, 2
rol eax, 0xe5
pop eax
xor ebx, edx
not eax
add edi, edx
push eax
btr ecx, ecx
sal word [esp + eax - 0x17a4c866], 0x2b
rdtsc
bswap ecx
push ecx
lea esi, [esi + ecx - 0x4c5bf0]
ja 0x813c40
cwde
and ax, 0x7307
lea ebp, [ebp + eax*2 - 4]
movsx edx, word [esp + eax*2]
jg 0xa00085
mov edx, dword [eax + ebp]
xor edx, ebx
push ecx
lea ecx, [ecx + ecx*4 + 0x150383a6]
sar ecx, 0x32
lea edx, [edx + ecx - 0x4ff8ee58]
push ecx
neg edx
add byte [esp + eax*8 + 0xb], ch
xadd dword [esp + eax*8 + 5], eax
rol byte [esp + eax*8 - 0xca3d2cb], 0xa7
bswap edx
lea edx, [edx + eax - 0xb297e76]
add dword [esp + eax - 0x1947a54], eax
sbb cl, ch
ror ecx, 0x32
neg edx
rol edx, 3
inc al
not eax
cwde
xor ebx, edx
or dword [esp + 8], eax
add byte [esp + 5], 4
and dword [esp], eax
adc edi, edx
pop ecx
pop eax
pop eax
jmp fcn.008ba6aa
xor ecx, ebx
movsx edx, ax
ror ecx, 3
inc ecx
neg ecx
or ax, dx
inc ecx
not dword [esp + edx - 0x6000]
cwde
xor ecx, 0x8d908f39
xor ebx, ecx
dec eax
cmovno edx, dword [esp + eax*4 - 0x17ffc]
add edi, ecx
lea ebp, [eax + ebp - 0x6000]
mov ecx, eax
lea ecx, [eax + ecx*8 - 0x4ade286e]
movzx ecx, byte [ebp + eax - 0x5fff]
ror dword [esp + eax*2 - 0xbffe], 0x5d
neg ax
xor cl, bl
or dword [esp + eax - 0xa001], 0xf32a1d1a
adc word [esp + eax*8 - 0x50007], 0x5fa8
not cl
rol cl, 1
sub edx, dword [esp + eax - 0xa001]
or eax, eax
sbb cl, 0x21
not cl
add word [esp + eax - 0x9fff], ax
sbb dword [esp + eax*2 - 0x14002], eax