Function at 0x4ac5d5
Capabilities:
Authenticate hmac
Resolve function by parsing pe exports

Disassembly:
std
outsd dx, dword [esi]
invalid
imul ebp, eax, 0x1eb6b20a
cmc
dec ebp
dec ecx
call [ebx + 0x7e5ac3e0]
mov edi, 0x2ff5c675
mov bl, 0x40
or dl, al
dec esp
mov esi, 0x5ac3e09f
jle 0x4aa0b4
jno 0x4aa154
fisttp dword [eax + reloc.KERNEL32.dll_GetProcAddress]
mov dword [ecx + 0xc], ebp
out 0xc3, eax
sahf
jl 0x4aa168
movaps xmm4, xmmword [0xdae4b31d]
loop 0x4aa162
xor edx, ebx
jecxz 0x4aa0dd
mov bh, byte [ecx - 0x3ed26abd]
imul ebp, dword [ebx], reloc.KERNEL32.dll_GetProcAddress
xchg ebp, eax
sub eax, 0xdd2b6bc1
xchg esp, eax
aam 0x99
lahf
jmp 0x1ef374f0
rol dword [eax], 1
mov bl, 0xa2
loop 0x4aa11d
add eax, 0x45a8d2de
jmp 0x4aa105
mov ebp, 0xe275b14
dec ecx
out 0xc3, eax
cwde
mov bh, bh
push dword [ebx]
imul cl
js 0x4aa199
add byte [eax], al
xor al, 0x8e
dec edx
movsb byte es:[edi], byte [esi]
sub ebp, dword [edx + reloc.KERNEL32.dll_GetProcAddress]
xchg ecx, eax
adc byte [ebx + 0x2831e90a], dl
add byte [eax], al
test eax, eax
call 0x4ac8d7
ror dword [esi], 0x78
nop
jle 0x4aa156
rcl ebx, 0x3d
dec edi
push esp
sub al, 0xe0
mov eax, 0x648d528d
and al, 4
push edx
lea esp, [esp + 4]
jmp 0x4aa1dd
cmp dword [ebp - 4], ebx
je 0x4ab252
jne 0x4ac789
lcall 0x22d7, 0xb022aade
nop
jecxz 0x4aa210
jne 0x4aa25c
xchg edi, eax
invalid
push edx
pop word [esp]
lea esp, [esp + 2]
and al, 2
test eax, eax
jmp 0x4aa221
jne 0x4ab38d
je 0x4ab252
pop ecx
aam 0x50
aas
or eax, 0xda1cd77e
xlatb
sbb al, 0xda
xchg byte [ecx], dh
xor byte [ebx], dh
mov edx, 0x56efe6a7
pop eax
sbb dword [eax], edx
jbe 0x4aa2c1
wait
lodsb al, byte [esi]
mov byte [0x3c056525], al
mov dh, 0x7a
adc dl, ch
dec ecx
test ebp, ebp
jl 0x4aa233
lahf
lodsb al, byte [esi]
jge 0x4aa217
enter 0xffffffffffff898b, 0x36
setnp byte [ecx + ecx*8 - 0x10]
add bl, byte fs:[ecx + 0x408faca4]
add byte [ebx - 0x1a], ah
adc byte [eax + 0x4fef2909], dh
test byte [ebp - 0x21], 0x9b
lodsb al, byte [esi]
adc eax, dword [reloc.KERNEL32.dll_GetProcAddress]
out dx, eax
wait
xor byte [esi - 0x2e1f9bf0], ch
mov byte [0xff8ae0ac], al
call ecx
fimul dword [ebp + reloc.KERNEL32.dll_GetProcAddress]
xchg edx, eax
or al, 0xe2
mov eax, dword [reloc.KERNEL32.dll_GetProcAddress]
jmp [edi]
jbe 0x4aa2dd
sbb dl, al
wait
lodsb al, byte [esi]
out dx, al
neg ebp
rcr byte [ebx - 0x22081154], 1
mov edi, edi
cmpsd dword [esi], dword es:[edi]
sbb byte [ebx + 0x6ce7580b], dl
xchg esi, eax
wait
lodsb al, byte [esi]
dec esp
insd dword es:[edi], dx
mov bl, 0x6c
mov eax, 0x5a8eb89a
inc edi
mov ds, word [edx + 0x65]
inc edi
jno 0x4aa2c2
mov al, byte es:[0xf233ac]
xor dword [ebx - reloc.KERNEL32.dll_GetProcAddress], eax
invalid
jmp 0x4ac773
mov edi, dword [ebp - 8]
jmp 0x4aa16e
cmp dword [ebp - 4], ebx
call 0x4ac7a9
cmc
push ebp
pop edi
out 0x50, al
and edi, esi
cmp ebx, dword [esi - reloc.KERNEL32.dll_GetProcAddress]
aaa
sub esp, 0x18
call fcn.004ab2d6
lea esp, [esp]
lea esp, [esp + 8]
popal
jmp 0x4ac61c
pop ecx
push esi
lea esp, [esp + 4]
sar edi, 1
mov edx, 0x1e6e9e98
jmp 0x4ac606
bswap edx
jmp 0x4ac63f
push ecx
mov ecx, ebp
add ecx, 0xfffffff0
mov eax, dword [ecx]
jmp 0x4ac5df
mov ah, 0x7b
jmp 0x4ac660
mov edx, dword [eax + edi*4]
add edx, dword [ebp + 8]
mov eax, edi
pushal
jmp 0x4ac629
lea esp, [esp + 1]
jmp 0x4ac766
mov eax, dword [ebp + 0xc]
lea esp, [esp + 0x20]
call 0x486ba0
sub esp, 0x1d
jmp 0x4ac64a
bsf ecx, esp
call 0x4ac68d
add eax, dword [ebp + 8]
sub esp, 0x17
mov dword [esp + 0x12], eax
lea esp, [esp + 3]
jmp 0x4ac6e5
jb 0x4aa1bc
or cx, 0xe1c0
inc ecx
jmp 0x4ac6f0
mov dword [ebp - 0xc], eax
cmp eax, esi
lea esp, [esp + 0x14]
jmp 0x4ac6cf
mov cx, 0x7bac
call fcn.004ac741
lea esp, [esp + 2]
jmp 0x4ac72b
jne 0x4aa1d2
mov ax, di
mov eax, dword [ebp - 8]
mov ecx, 0xb2ae9cbe
neg cx
jmp 0x4ac6a5
add ecx, esi
jmp 0x4ac750
cmp eax, ecx
push edx
mov byte [esp + 1], dl
push sp
lea esp, [esp + 2]
jmp 0x4ac913
lea esp, [esp + 0x1c]
test eax, eax
pushfd
lea esp, [esp + 4]
jmp 0x4ac712
push bp
lea esp, [esp + 2]
jmp 0x4ac799
test eax, eax
jle 0x4ab23a
lea ebx, [edi - 1]
jmp 0x4ab28f
inc edi
call 0x4ac7a0
and edi, edi
je 0x4ac7c7
add cl, byte [ecx + 0x66ebfc7d]
push eax
call fcn.004ac7e7
sbb eax, 0x560ee8a9
lodsb al, byte [esi]
mov al, 0xa0
aas
adc al, 4
sub ah, byte [edi - 0x4b]
mov bh, 0x60
mov dword [reloc.KERNEL32.dll_GetProcAddress], eax
and al, 4
jne 0x4ab3cc
test dword [eax], eax
in al, dx
invalid
jmp 0x4ab28f
lea esp, [esp + 0x14]
jb 0x4aa210
jae 0x4aa1bc