Function at 0x140094c90
Capabilities:
Authenticate hmac
Encode data using base64
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x4a8
mov r9, rdx
mov r10, rcx
mov rsi, qword [rdx + 8]
mov rax, qword [rdx + 0x10]
cmp rax, 4
jb 0x140094dcc
movabs rcx, 0x5c003f003f005c
lea rdx, [rcx + 0x1d0000]
cmp rdx, qword [rsi]
je 0x140094de6
cmp rcx, qword [rsi]
je 0x140094de6
nop
mov ecx, dword [0x141dd0d38]
imul ecx, dword [0x141dd0d3c]
add ecx, 0x263a9d45
cmp ecx, 0x30ea59b6
jb 0x140094ce0
nop dword [rax + rax]
mov ecx, dword [0x141dd0d40]
imul ecx, dword [0x141dd0d44]
or ecx, 0x7db7bffe
xor ecx, 0x74814cf
cmp ecx, 0x910c092b
ja 0x140094d00
cmp rax, 0xf8
jae 0x140094fb0
nop dword [rax]
mov eax, dword [0x141dd0f08]
or eax, dword [0x141dd0f0c]
add eax, 0xa216ea76
xor eax, 0xa747eb1
imul eax, eax, 0x8b7f26dd
cmp eax, 0x3c735f87
je 0x140094d30
movzx ecx, word [rsi + 2]
nop word [rax + rax]
mov eax, dword [str.:se__c3]
xor edx, edx
div dword [0x141dd0f14]
add eax, 0x4626df1b
and eax, 0x83c22e9a
imul eax, eax, 0xfb974383
cmp eax, 0xd203dfca
ja 0x140094d60
cmp cx, 0x3a
jne 0x140094f4a
movzx eax, word [rsi + 4]
nop word cs:[rax + rax]
mov ecx, dword [0x141dd0f18]
imul ecx, dword [0x141dd0f1c]
add ecx, 0xdc17fded
and ecx, 0xbb0aaa8d
xor ecx, 0x3d3ff785
cmp ecx, 0x290cbb8d
jb 0x140094da0
jmp 0x140094eb1
cmp rax, 3
je 0x140094e30
cmp rax, 1
jne 0x140094f38
cmp word [rsi], 0
jne 0x140094fb0
mov rax, qword [r9 + 0x10]
mov qword [r10 + 0x10], rax
movups xmm0, xmmword [r9]
movups xmmword [r10], xmm0
nop word cs:[rax + rax]
mov eax, dword [0x141dd0d30]
and eax, dword [0x141dd0d34]
or eax, 0xcd8ebbf5
xor eax, 0x358aed10
cmp eax, 0x5fd7d9fb
jb 0x140094e00
jmp 0x140095cb3
mov eax, dword [0x141dd0ee8]
imul eax, dword [0x141dd0eec]
imul eax, eax, 0xbd1c9a0
add eax, 0x542b56de
xor eax, 0xb716891e
cmp eax, 0xe1e2dfb1
jb 0x140094e30
movzx eax, word [rsi + 2]
nop dword [rax + rax]
mov ecx, dword [0x141dd0ef0]
xor ecx, dword [0x141dd0ef4]
add ecx, 0xeb50b8b7
or ecx, 0x286c8619
xor ecx, 0x3ac9e2b4
cmp ecx, 0x3cb2d0da
jb 0x140094e60
cmp ax, 0x3a
jne 0x140094f4a
mov eax, dword [0x141dd0ef8]
imul eax, dword [0x141dd0efc]
cmp eax, 0x5dd7e499
je 0x140094e90
movzx eax, word [rsi + 4]
test ax, ax
je 0x140095011
mov ecx, 0xb8560071
nop word cs:[rax + rax]
mov edx, dword [0x141dd0f20]
and edx, dword [0x141dd0f24]
imul rdx, rcx
shr rdx, 0x3f
imul edx, edx, 0x2d8c5bfd
cmp edx, 0xe4d0c67f
je 0x140094ec0
cmp ax, 0x2f
je 0x140094f10
movzx eax, ax
cmp eax, 0x5c
jne 0x140094f4a
movzx eax, word [rsi]
cmp eax, 0x2f
je 0x140094f4d
cmp eax, 0x5c
je 0x140094f4d
jmp 0x140095026
mov eax, dword [0x141dd0f28]
xor eax, dword [0x141dd0f2c]
cmp eax, 0xd483fa47
je 0x140094f10
movzx eax, word [rsi]
movzx ecx, ax
cmp ecx, 0x2f
je 0x140094f4d
cmp ecx, 0x5c
je 0x140094f4d
jmp 0x140095026
xor ecx, ecx
nop word [rax + rax]
test cl, cl
jne 0x140094f40
cmp rax, 1
jbe 0x140094fb0
movzx eax, word [rsi]
cmp ax, 0x5c
je 0x140094f60
movzx eax, ax
cmp eax, 0x2f
jne 0x140094fb0
nop dword [rax + rax]
mov eax, dword [0x141dd0f30]
mov ecx, dword [0x141dd0f34]
add eax, ecx
add eax, 0x582b9e2b
and eax, 0x6d041e93
add eax, 0x3ce4c178
cmp eax, 0x93c884ff
jb 0x140094f60
movzx eax, word [rsi + 2]
cmp eax, 0x5c
je 0x140094f92
cmp eax, 0x2f
jne 0x140094fb0
mov rax, qword [r9 + 0x10]
mov qword [r10 + 0x10], rax
movups xmm0, xmmword [r9]
movups xmmword [r10], xmm0
jmp 0x140095cb3
mov eax, dword [0x141dd0d48]
mov ecx, dword [0x141dd0d4c]
add eax, ecx
add eax, 0x27e7c6fc
xor eax, 0x6decf8a1
add eax, 0x4f2a829f
cmp eax, 0xcd32928f
jb 0x140094fb0
mov byte [rsp + 0x37], r8b
mov qword [rsp + 0x88], r9
mov qword [rsp + 0x80], r10
mov eax, dword [0x141dd0d50]
add eax, dword [str.nrs_]
and eax, 0x23b27101
imul eax, eax, 0x140ccd08
and eax, 0x48270188
cmp eax, 0x35c3ed77
jae 0x140095067
jmp 0x1400950a0
movzx eax, word [rsi]
cmp eax, 0x2f
je 0x140094f4a
cmp eax, 0x5c
je 0x140094f4a
mov rax, qword [r9 + 0x10]
mov qword [r10 + 0x10], rax
movups xmm0, xmmword [r9]
movups xmmword [r10], xmm0
nop word cs:[rax + rax]
mov eax, dword [0x141dd0f00]
or eax, dword [0x141dd0f04]
or eax, 0x70244808
and eax, 0x70a64c2e
add eax, 0x6e1d295d
cmp eax, 0x729b7093
jbe 0x140095040
jmp 0x140095cb3
mov eax, dword [0x141dd0d58]
imul eax, dword [0x141dd0d5c]
add eax, 0x4327dfce
xor eax, 0xfba692cb
mov qword [rsp + 0x50], 0
mov qword [rsp + 0x58], 2
mov qword [rsp + 0x60], 0
cmp eax, 0xfc90c00e
jbe 0x1400950bd
mov qword [rsp + 0x50], 0
mov qword [rsp + 0x58], 2
mov qword [rsp + 0x60], 0
jmp 0x140095067
mov r12d, 0x200
mov eax, 2
mov qword [rsp + 0x40], rax
xor eax, eax
mov qword [rsp + 0x48], rax
mov ebx, 0x86072c99
xor r14d, r14d
xor ebp, ebp
nop
mov eax, dword [0x141dd0d60]
xor eax, dword [0x141dd0d64]
or eax, 0xd9dcaf87
imul eax, eax, 0xd21cb5b
cmp eax, 0xdc7b7b46
ja 0x1400950e0
mov edi, 0x200
cmp r12, 0x201
jae 0x140095119
lea r13, [rsp + 0xa8]
jmp 0x1400951a9
sub r12, rbp
nop dword [rax]
mov eax, dword [0x141dd0d68]
and eax, dword [0x141dd0d6c]
imul eax, eax, 0x957d6d39
add eax, 0x6fcd2e86
cmp eax, 0x1325d5cf
jb 0x140095120
sub r14, rbp
cmp r12, r14
ja 0x140095347
mov eax, dword [0x141dd0d70]
sub eax, dword [0x141dd0d74]
or eax, 0x3a9140f4
imul eax, eax, 0xe966bf18
and eax, 0xb9b8fe48
cmp eax, 0x7819e2ff
jbe 0x140095183
mov rcx, qword [rsp + 0x48]
mov eax, 0xffffffff
cmp rcx, rax
cmovb rax, rcx
mov qword [rsp + 0x60], rax
mov r14, qword [rsp + 0x48]
mov eax, 0xffffffff
cmp r14, rax
mov ebp, 0xffffffff
cmovb rbp, r14
mov qword [rsp + 0x60], rbp
mov rdi, rbp
mov r13, qword [rsp + 0x40]
mov r12, rbp
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov r15, rsi
mov rcx, rsi
mov edx, r12d
mov r8, r13
xor r9d, r9d
call qword [sym.imp.KERNEL32.dll_GetFullPathNameW]
mov esi, eax
test eax, eax
jne 0x140095233
mov eax, dword [0x141dd0d88]
and eax, dword [0x141dd0d8c]
imul eax, eax, 0xd210185d
xor eax, 0x333e37f1
add eax, 0x632e9beb
cmp eax, 0x2c0e0b37
jae 0x1400951f5
call qword [sym.imp.KERNEL32.dll_GetLastError]
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
mov ecx, dword [0x141dd0d90]
add ecx, dword [0x141dd0d94]
or ecx, 0x3ba1c14c
imul rcx, rcx, 0x21402cf
shr rcx, 0x37
imul ecx, ecx, 0xafd46f41
cmp ecx, 0xc96b38ea
je 0x140095200
test eax, eax
jne 0x1400955f0
mov qword [rsp + 0x38], r13
nop dword [rax + rax]
mov eax, dword [0x141dd0da8]
imul eax, dword [0x141dd0dac]
imul eax, eax, 0xf3f078e7
add eax, 0x10d419d5
cmp eax, 0x72cfcd
jb 0x140095240
mov r13d, esi
nop word cs:[rax + rax]
mov eax, dword [0x141dd0db0]
xor eax, dword [0x141dd0db4]
imul rax, rbx
shr rax, 0x3e
imul eax, eax, 0xb89022c2
add eax, 0xd0c85c8
cmp eax, 0x66b3652b
jb 0x140095270
cmp r12, r13
jne 0x140095336
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, eax
nop word [rax + rax]
mov eax, dword [0x141dd0db8]
xor edx, edx
div dword [0x141dd0dbc]
imul rdx, rax, 0x275b46c9
shr rdx, 0x20
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 0x1e
or eax, 0x1dafb441
add eax, 0x917d4500
cmp eax, 0xdef1bb6b
ja 0x1400952b0
cmp ecx, 0x7a
jne 0x140095e06
mov rsi, r15
nop
mov eax, dword [0x141dd0dc0]
add eax, dword [0x141dd0dc4]
imul eax, eax, 0xea8d9f3f
imul rax, rax, 0x21c0d207
shr rax, 0x3c
imul eax, eax, 0xd320b9f2
cmp eax, 0x787406d6
ja 0x1400952f0
lea r13, [r12 + r12]
cmp r12, 0x7fffffff
mov eax, 0xffffffff
cmova r13, rax
mov r12, r13
jmp 0x1400950e0
jae 0x1400953f0
mov rsi, r15
mov r12, r13
jmp 0x1400950e0
mov eax, dword [0x141dd0d78]
add eax, dword [str._v_fe4zx8]
and eax, 0xcb3f4534
imul eax, eax, 0x583a8391
cmp eax, 0x4451c095
jae 0x140095384
mov qword [rsp + 0x20], 2
mov r9d, 2
lea rcx, [rsp + 0x50]
mov rdx, rbp
mov r8, r12
call fcn.1400fe550
mov qword [rsp + 0x20], 2
mov r9d, 2
lea rcx, [rsp + 0x50]
mov rdx, rbp
mov r8, r12
call fcn.1400fe550
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x48], rax
nop dword [rax]
mov eax, dword [0x141dd0d80]
imul eax, dword [0x141dd0d84]
add eax, 0xd6d63a01
or eax, 0x18c350e7
xor eax, 0x523f4128
cmp eax, 0x9148760d
jae 0x1400953b0
mov rax, qword [rsp + 0x58]
mov qword [rsp + 0x40], rax
jmp 0x14009514a
mov eax, dword [0x141dd0dc8]
sub eax, dword [0x141dd0dcc]
imul eax, eax, 0x9285db31
cmp eax, 0x30347cfb
je 0x1400953f0
cmp rdi, r13
mov r14, qword [rsp + 0x88]
jb 0x140095a16
mov qword [r14 + 0x10], 0
nop word cs:[rax + rax]
mov eax, dword [0x141dd0dd0]
xor eax, dword [0x141dd0dd4]
xor eax, 0xe4e648d9
imul rcx, rax, 0x7704d449
shr rcx, 0x3e
xor ecx, 0xb246484f
cmp esi, 0xf7
setae al
cmp ecx, 0x16470568
jb 0x140095430
or al, byte [rsp + 0x37]
je 0x14009563e
cmp esi, 2
jbe 0x140095655
mov rax, qword [rsp + 0x38]
movzx ecx, word [rax + 2]
cmp ecx, 0x3a
jne 0x1400954e0
nop word cs:[rax + rax]
mov eax, dword [0x141dd0e28]
sub eax, dword [0x141dd0e2c]
imul eax, eax, 0xbe7ecf67
and eax, 0x36b87a46
add eax, 0xb3450dca
cmp eax, 0x70ca2bb1
jb 0x140095490
mov rax, qword [rsp + 0x38]
cmp word [rax + 4], 0x5c
jne 0x1400954e0
lea rbx, [0x141dbac58]
mov r12d, 4
jmp 0x14009577e
mov eax, dword [0x141dd0e30]
xor edx, edx
div dword [0x141dd0e34]
xor eax, 0x30a7ed3c
add eax, 0x85b8e5c
cmp eax, 0x36e1c2f7
jb 0x1400954e0
nop
mov eax, dword [0x141dd0e38]
add eax, dword [0x141dd0e3c]
imul eax, eax, 0x53f43041
cmp eax, 0x478a59c3
je 0x140095500
mov rax, qword [rsp + 0x38]
movzx eax, word [rax]
cmp esi, 3
jbe 0x140095670
mov ebx, 2
cmp ax, 0x5c
jne 0x14009577b
nop dword [rax]
mov eax, dword [0x141dd0e78]
and eax, dword [0x141dd0e7c]
xor eax, 0x6708ea05
add eax, 0xb43e7153
cmp eax, 0x44e2625d
jb 0x140095540
cmp ecx, 0x3f
je 0x14009577b
cmp ecx, 0x5c
jne 0x14009571c
mov eax, dword [0x141dd0e80]
sub eax, dword [0x141dd0e84]
and eax, 0x1c0020a3
or eax, 0x637a981c
imul eax, eax, 0x77415913
cmp eax, 0x69030e19
jb 0x14009556f
mov rax, qword [rsp + 0x38]
movzx eax, word [rax + 4]
cmp eax, 0x3f
je 0x140095a43
cmp eax, 0x2e
jne 0x140095722
mov rax, qword [rsp + 0x38]
cmp word [rax + 6], 0x5c
jne 0x140095722
add r13, 0xfffffffffffffffc
mov eax, dword [0x141dd0e90]
mov ecx, dword [0x141dd0e94]
add eax, ecx
add eax, 0x2e14d307
or eax, 0xc6210090
and eax, 0xe6616c98
cmp eax, 0x53ea9dc8
jb 0x1400955c1
add qword [rsp + 0x38], 8
jmp 0x1400954bf
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
shl rsi, 0x20
or rsi, 2
cmp qword [rsp + 0x48], 0
mov rdi, qword [rsp + 0x80]
mov rbx, qword [rsp + 0x88]
je 0x140095ac1
mov eax, dword [0x141dd0d98]
xor eax, dword [0x141dd0d9c]
imul eax, eax, 0xe8e17d60
cmp eax, 0x52830d62
jae 0x140095a86
jmp 0x140095aab
mov rax, qword [r14]
cmp rax, r13
jbe 0x140095831
xor r12d, r12d
mov rbp, rax
jmp 0x140095b74
jne 0x140095776
mov rax, qword [rsp + 0x38]
movzx eax, word [rax]
nop word cs:[rax + rax]
mov ecx, dword [str.t__d]
sub ecx, dword [0x141dd0e9c]
imul rdx, rcx, 0x2862343
shr rdx, 0x20
sub ecx, edx
shr ecx, 1
add ecx, edx
shr ecx, 0x1f
or ecx, 0xed3c81da
xor ecx, 0xd68e10de
cmp ecx, 0x78b68206
ja 0x140095670
cmp ax, 0x5c
jne 0x140095776
mov eax, 0xa3692a2d
nop word cs:[rax + rax]
mov ecx, dword [0x141dd0ea0]
or ecx, dword [0x141dd0ea4]
imul rcx, rax
shr rcx, 0x3e
add ecx, 0x5772f4a5
cmp ecx, 0xee52437c
ja 0x1400956c0
mov rax, qword [rsp + 0x38]
movzx ecx, word [rax + 2]
nop dword [rax + rax]
mov eax, dword [0x141dd0ea8]
or eax, dword [0x141dd0eac]
imul rdx, rax, 0x4c9a1be5
shr rdx, 0x20
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 0x1d
or eax, 0xf5bedefb
cmp eax, 0x4503ad48
jb 0x1400956f0
cmp cx, 0x5c
jne 0x140095776
mov ebx, 2
lea rbp, [r13 + 1]
nop word cs:[rax + rax]
mov ecx, dword [str.J_bd]
sub ecx, dword [0x141dd0ddc]
cmp ecx, 0x5712db30
adc dl, byte [rdi + 0x74]
in al, dx
ud2
mov rax, qword [rsp + 0x38]
movzx ecx, word [rax + 6]
mov eax, dword [0x141dd0da0]
xor eax, dword [0x141dd0da4]
imul eax, eax, 0x3d6da513
add eax, 0xf1d194bc
mov rcx, qword [0x141ddc4e0]
cmp eax, 0xe10c43b6
jbe case.0x1400e7514.644
mov rax, qword [0x141ddc4e0]
jmp 0x140095a86