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

Disassembly:
push ebp
mov ebp, esp
push ecx
push ebx
push esi
mov esi, dword [ebp + 8]
xor al, al
push edi
mov edi, dword [ebp + 0xc]
xor ebx, ebx
test edi, edi
movzx eax, al
mov ecx, 1
cmovne eax, ecx
mov dword [ebp + 0xc], eax
xor eax, eax
cmp byte [eax + esi], bl
je 0x100b753e
inc eax
cmp eax, 6
jb 0x100b7533
cmp eax, 6
jne 0x100b75d3
push eax
push str.MxCsr_
push esi
call dword [0x100ef3d4]
add esp, 0xc
neg eax
sbb eax, eax
inc eax
test al, al
je 0x100b75d3
lea eax, [esi + 6]
mov esi, dword [0x100ef3d4]
push 2
push 0x1010e388
push eax
mov dword [ebp - 4], eax
call esi
add esp, 0xc
push 0x36
push dword [0x101b9790]
test eax, eax
jne 0x100b75ac
call fcn.100d07d8
and eax, 0xffff9fff
shl edi, 0xd
or eax, edi
push eax
push 0x36
push dword [0x101b9790]
call fcn.100d07fc
add esp, 0x14
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
call fcn.100d07d8
push dword [ebp - 4]
mov esi, eax
call fcn.100b6230
add esp, 0xc
test esi, eax
jne 0x100b75c7
cmp byte [ebp + 0xc], bl
je 0x100b75c9
mov ebx, eax
xor esi, ebx
push esi
push 0x36
jmp 0x100b7a40
push esi
push str.x87TW_
call fcn.100b86d0
add esp, 8
test al, al
je 0x100b763b
lea eax, [esi + 6]
push eax
call dword [0x100ef3e0]
add esp, 4
cmp eax, 7
ja case.default.0x100b7a01
push 0x35
push dword [0x101b9790]
lea esi, [eax + eax]
call fcn.100d07d8
mov ecx, esi
mov edx, 3
shl edx, cl
not edx
shl di, cl
and eax, edx
movzx ecx, di
movzx eax, ax
or ecx, eax
push ecx
push 0x35
push dword [0x101b9790]
call fcn.100d07fc
add esp, 0x14
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push esi
push str.x87SW_
call fcn.100b86d0
add esp, 8
test al, al
je 0x100b76c0
lea eax, [esi + 6]
mov esi, dword [0x100ef3d4]
push 3
push 0x1010e38c
push eax
mov dword [ebp - 4], eax
call esi
add esp, 0xc
push 0x33
push dword [0x101b9790]
test eax, eax
jne 0x100b7699
call fcn.100d07d8
and eax, 0xffffc7ff
shl edi, 0xb
or eax, edi
push eax
push 0x33
push dword [0x101b9790]
call fcn.100d07fc
add esp, 0x14
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
call fcn.100d07d8
push dword [ebp - 4]
mov esi, eax
call fcn.100b6b50
add esp, 0xc
test esi, eax
jne 0x100b76b4
cmp byte [ebp + 0xc], bl
je 0x100b76b6
mov ebx, eax
xor esi, ebx
push esi
push 0x33
jmp 0x100b7a40
push esi
push str.x87CW_
call fcn.100b86d0
add esp, 8
test al, al
je 0x100b7773
lea eax, [esi + 6]
mov esi, dword [0x100ef3d4]
push 2
push 0x1010e388
push eax
mov dword [ebp - 4], eax
call esi
add esp, 0xc
test eax, eax
jne 0x100b770a
push 0x34
push dword [0x101b9790]
call fcn.100d07d8
and eax, 0xfffff3ff
shl edi, 0xa
jmp 0x100b7732
push 2
push 0x1010e390
push dword [ebp - 4]
call esi
add esp, 0xc
push 0x34
push dword [0x101b9790]
test eax, eax
jne 0x100b774c
call fcn.100d07d8
and eax, 0xfffffcff
shl edi, 8
or eax, edi
push eax
push 0x34
push dword [0x101b9790]
call fcn.100d07fc
add esp, 0x14
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
call fcn.100d07d8
push dword [ebp - 4]
mov esi, eax
call fcn.100b6b10
add esp, 0xc
test esi, eax
jne 0x100b7767
cmp byte [ebp + 0xc], bl
je 0x100b7769
mov ebx, eax
xor esi, ebx
push esi
push 0x34
jmp 0x100b7a40
mov ecx, esi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100b7778
mov ebx, dword [0x100ef3d4]
sub ecx, edx
push ecx
push str.x87TagWord
push esi
call ebx
add esp, 0xc
test eax, eax
jne 0x100b77a2
movzx eax, di
push eax
push 0x35
jmp 0x100b7a40
mov ecx, esi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100b77a7
sub ecx, edx
push ecx
push str.x87StatusWord
push esi
call ebx
add esp, 0xc
test eax, eax
jne 0x100b77cb
movzx eax, di
push eax
push 0x33
jmp 0x100b7a40
mov ecx, esi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100b77d0
sub ecx, edx
push ecx
push str.x87ControlWord
push esi
call ebx
add esp, 0xc
test eax, eax
jne 0x100b77f4
movzx eax, di
push eax
push 0x34
jmp 0x100b7a40
mov ecx, esi
lea edx, [ecx + 1]
lea esp, [esp]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100b7800
sub ecx, edx
push ecx
push str.MxCsr
push esi
call ebx
add esp, 0xc
test eax, eax
jne 0x100b7821
push edi
push 0x36
jmp 0x100b7a40
push esi
push str.x87r
call fcn.100b86d0
add esp, 8
test al, al
je 0x100b789a
movsx eax, byte [esi + 4]
add eax, 0xffffffd0
cmp eax, 7
ja case.default.0x100b7a01
jmp dword [eax*4 + 0x100b7a58]
mov eax, 0x2b
jmp 0x100b7a3e
mov eax, 0x2c
jmp 0x100b7a3e
mov eax, 0x2d
jmp 0x100b7a3e
mov eax, 0x2e
jmp 0x100b7a3e
mov eax, 0x2f
jmp 0x100b7a3e
mov eax, 0x30
jmp 0x100b7a3e
mov eax, 0x31
jmp 0x100b7a3e
mov eax, 0x32
jmp 0x100b7a3e
push esi
push 0x1010e4b8
call fcn.100b86d0
add esp, 8
test al, al
je 0x100b793b
push 0x33
push dword [0x101b9790]
call fcn.100d07d8
movsx ecx, byte [esi + 2]
add esp, 8
shr eax, 0xb
add ecx, 0xffffffd0
and eax, 7
cmp ecx, 7
ja case.default.0x100b7a01
jmp dword [ecx*4 + 0x100b7a78]
inc eax
and eax, 7
add eax, 0x2b
jmp 0x100b7a3e
add eax, 2
and eax, 7
add eax, 0x2b
jmp 0x100b7a3e
add eax, 3
and eax, 7
add eax, 0x2b
jmp 0x100b7a3e
add eax, 0xfffffffc
and eax, 7
add eax, 0x2b
jmp 0x100b7a3e
add eax, 0xfffffffd
and eax, 7
add eax, 0x2b
jmp 0x100b7a3e
add eax, 0xfffffffe
and eax, 7
add eax, 0x2b
jmp 0x100b7a3e
dec eax
and eax, 7
add eax, 0x2b
jmp 0x100b7a3e
push esi
push 0x1010e4bc
call fcn.100b86d0
add esp, 8
test al, al
je 0x100b79b4
movsx eax, byte [esi + 2]
add eax, 0xffffffd0
cmp eax, 7
ja case.default.0x100b7a01
jmp dword [eax*4 + 0x100b7a98]
mov eax, 0x37
jmp 0x100b7a3e
mov eax, 0x38
jmp 0x100b7a3e
mov eax, 0x39
jmp 0x100b7a3e
mov eax, 0x3a
jmp 0x100b7a3e
mov eax, 0x3b
jmp 0x100b7a3e
mov eax, 0x3c
jmp 0x100b7a3e
mov eax, 0x3d
jmp 0x100b7a3e
mov eax, 0x3e
jmp 0x100b7a3e
push esi
push 0x1010e4c0
call fcn.100b86d0
add esp, 8
test al, al
je 0x100b79dd
lea eax, [esi + 3]
push eax
call dword [0x100ef3e0]
add esp, 4
cmp eax, 8
jae case.default.0x100b7a01
add eax, 0x3f
jmp 0x100b7a3e
push esi
push 0x1010e4c4
call fcn.100b86d0
add esp, 8
test al, al
je case.default.0x100b7a01
lea eax, [esi + 3]
push eax
call dword [0x100ef3e0]
add esp, 4
cmp eax, 7
ja case.default.0x100b7a01
jmp dword [eax*4 + 0x100b7ab8]
mov eax, 0x57
jmp 0x100b7a3e
mov eax, 0x58
jmp 0x100b7a3e
mov eax, 0x59
jmp 0x100b7a3e
mov eax, 0x5a
jmp 0x100b7a3e
mov eax, 0x5b
jmp 0x100b7a3e
mov eax, 0x5c
jmp 0x100b7a3e
mov eax, 0x5d
jmp 0x100b7a3e
mov eax, 0x5e
push edi
push eax
push dword [0x101b9790]
call fcn.100d07fc
add esp, 0xc
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret