Function at 0x582979
Capabilities:
Authenticate hmac
Encode data using base64

Disassembly:
xor eax, 0x35a4f5b1
shr ecx, 0x89
dec eax
rol edx, 0xfb
adc edx, edx
xor ebx, eax
sub byte [esp + ecx - 0x542878], dh
neg ecx
mov dword [edx + esi - 0x1f4d8ed1], eax
rol dl, 4
rol cx, 0x81
mov eax, dword [edx + edi - 0x1f4d8f05]
ror word [esp + edx*4 - 0x7d363beb], 0x4c
xor eax, ebx
call fcn.005e3f96
movzx eax, byte [edi - 1]
mov ecx, 0x843dd326
movzx edx, cl
xor al, bl
ror al, 1
shr ecx, 0x8c
sub cl, 0x39
not al
bts ecx, ecx
sub cl, ch
btr ecx, 0x10
adc al, 0x3c
not dx
not al
shr cl, 0xa1
neg al
neg dx
xor bl, al
add eax, esp
mov edx, dword [eax + ecx*2 - 0x108670]
movzx eax, cl
cbw
dec ecx
mov eax, dword [esi + ecx - 0x84337]
ror ecx, cl
bswap ecx
or edx, eax
movzx eax, cx
lea eax, [ecx*8 - 0x7d6ef84e]
not edx
btc ecx, 0x85
ror ecx, cl
rol ecx, cl
mov dword [esi + ecx*2 - 0x374318], edx
mov ecx, dword [edi + ecx*2 - 0x37431d]
xor ecx, ebx
lea eax, [eax + eax*8 + 0x39bf48b4]
movsx edx, ax
not ecx
neg ecx
and edx, eax
ror ecx, 3
sar dx, 0xc1
xor ax, dx
xor al, ah
dec ecx
cbw
sub eax, eax
ja 0x61258a
xor ebx, ecx
mov dword [esi + eax*2 - 4], ecx
lea esi, [esi + eax*2 - 4]
idiv dl
mov edx, dword [edi + eax*2 - 9]
lea eax, [eax*4 + 0x3da56dbc]
movsx ecx, al
sal cl, 0x64
lea edi, [eax + edi - 0x3da56dc5]
xor edx, ebx
sar ax, 0x6e
dec edx
not cl
ror cl, 0x25
rol edx, 2
inc edx
bswap eax
bswap edx
bt eax, eax
lea edx, [edx + ecx - 0x1ed17f4d]
ror edx, 1
or cl, ch
xor ebx, edx
sal ax, 0x87
bts ecx, ecx
add ebp, edx
bts ecx, 0x18
jb 0x5a3117
mov edx, 0x3f8946f5
mov ebp, dword [edx - 0x6706b27f]
iretd
lea edx, [ecx + ecx*8 + 0x3bbaf506]
jb fcn.0059f19a
mov ecx, dword [edi - 4]
add edi, 0xfffffffc
mov edx, 0x409229a0
movzx eax, dl
sub edx, edx
xor ecx, ebx
xchg al, dl
add dx, dx
xor ecx, 0x5189ce11
bswap ecx
imul dl
setno dl
cwd
xor ecx, 0x7cba00a0
neg eax
inc ecx
dec dx
cwde
push eax
not ecx
mul dword [esp + edx - 0xffff]
not dword [esp + edx]
lea edx, [edx - 0x39601368]
inc ecx
or eax, edx
btr ax, 0x21
not ecx
xor ebx, ecx
add ebp, ecx
xchg word [esp], ax
mov edx, dword [esi]
or eax, dword [esp]
mov ecx, dword [esi + 4]
neg dword [esp]
bt ax, ax
or dword [esp], 0xd9c0088
xor edx, eax
xor ecx, eax
not ax
sub eax, eax
jno 0x5b751b
or edx, ecx
mov dword [eax + esi + 4], edx
cbw
lea eax, [esp + eax*4 + 0x40]
mov edx, dword [esp]
lea ecx, [edx*8 - 0x46d61a63]
mov edx, dword [eax + edx*2 - 0x1b3827d0]
mov dword [esi + ecx*2 - 0x4c1509ba], edx
shr dword [esp + ecx - 0x260a84dd], 0x5c
add dword [esp + ecx*2 - 0x4c1509ba], ebp
ret
ror edx, 0x1a
xor dl, dl
not ecx
sub dx, dx
adc edx, edx
or edx, edx
not eax
neg edx
shl edx, 0x90
and ecx, eax
inc dx
dec dx
mov dword [esi + edx + 4], ecx
mov eax, dword [edi + edx - 4]
add edx, edx
xor eax, ebx
movsx ecx, dl
sub edx, ecx
or ecx, ecx
bswap eax
not cx
xor eax, 0xe2a4962b
inc ecx
not ecx
inc eax
call fcn.0064250d
ja 0x6106d0
jmp dword [ecx + 0x1d3a8736]
outsd dx, dword [esi]
mov ch, 0x2c
int3
mov ecx, dword [ecx + edi - 0x5aa2]
xor ecx, ebx
or edx, edx
sbb dl, dl
jae 0x663ec8
mov ecx, 0x72b23c13
movsx eax, cx
mov ecx, dword [esi + eax*2 - 0x7826]
mov edx, eax
ror dl, 0x43
mov eax, dword [esi + eax*2 - 0x7822]
jae 0x610652
inc edi
mov dword [ebp + eax*2 - 0x3a41d51e], esi
mov esi, edi
call fcn.00650aee
neg ecx
dec eax
cdq
shl dl, 0xa1
xor ecx, 0x6dbb578e
btr eax, eax
bt eax, 0x22
adc edx, eax
inc ecx
rol ecx, 1
neg eax
lea ecx, [ecx + eax*4 - 0x3dfd6d83]
xor ebx, ecx
add ebp, ecx
push eax
bt eax, edx
ror eax, 0x2c
mov eax, dword [eax + esi - 0x4360793f]
lea ecx, [edx*4 - 0x25c64c4b]
call fcn.0060fc1a
add eax, dword [ebx + edx*2 - 0x49]
aas
cmp dl, byte [0x98c75838]
jge 0x663f31
cmp al, 0x58
invalid
fimul dword [eax + ebx - 8]
inc eax
fadd qword [edi - 0x7e45663c]
cmp eax, 0xe099f9ca
xchg ebp, eax
pop ecx
retf 0x99f9