Function at 0x140093800
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 qword [rsp + 0x30], rdx
mov rdi, qword [rdx + 8]
nop dword [rax]
mov eax, dword [0x141dcfb98]
and eax, dword [0x141dcfb9c]
and eax, 0x67dd6998
imul eax, eax, 0xf3ab341e
cmp eax, 0x334920d6
jb 0x140093820
mov rax, qword [rsp + 0x30]
mov r9, qword [rax + 0x10]
cmp r9, 4
jb 0x140093922
movabs rax, 0x5c003f003f005c
lea rdx, [rax + 0x1d0000]
cmp rdx, qword [rdi]
je 0x14009397a
xor r10d, r10d
cmp rax, qword [rdi]
setne r10b
nop word cs:[rax + rax]
mov eax, dword [0x141dcfba0]
xor edx, edx
div dword [0x141dcfba4]
and eax, 0x44220c5
xor eax, 0x9d07d44c
cmp eax, 0x42c5f187
jb 0x140093880
test r10d, r10d
je 0x14009397a
cmp r9, 0xf8
jae 0x140093b62
cmp word [rdi + 2], 0x3a
jne 0x140093b14
mov eax, 0x81a07bc5
nop word cs:[rax + rax]
mov edx, dword [0x141dcfd60]
imul edx, dword [0x141dcfd64]
imul rdx, rax
shr rdx, 0x3f
or edx, 0x99406b2
cmp edx, 0xa7a69a7e
ja 0x1400938d0
nop word cs:[rax + rax]
mov eax, dword [0x141dcfd68]
sub eax, dword [0x141dcfd6c]
add eax, 0xd9653ae3
cmp eax, 0xf32dd14e
ja 0x140093900
movzx r9d, word [rdi + 4]
jmp 0x140093a6b
cmp r9, 3
je 0x1400939fc
cmp r9, 1
jne 0x1400939d0
nop word cs:[rax + rax]
mov eax, dword [0x141dcfbb8]
add eax, dword [0x141dcfbbc]
imul rdx, rax, 0x15b89f1b
shr rdx, 0x3c
add edx, 0xb9d4cc75
xor eax, eax
cmp word [rdi], 0
setne r9b
cmp edx, 0x934ce258
jb 0x140093940
mov al, r9b
test eax, eax
jne 0x140093b62
mov rdx, qword [rsp + 0x30]
nop
mov rax, qword [rdx + 0x10]
mov qword [rcx + 0x10], rax
mov eax, dword [0x141dcfba8]
and eax, dword [0x141dcfbac]
imul eax, eax, 0xbbf82b0d
add eax, 0xb87de94f
movups xmm0, xmmword [rdx]
movups xmmword [rcx], xmm0
cmp eax, 0x980ddb68
ja 0x140093980
nop dword [rax]
mov eax, dword [0x141dcfbb0]
imul eax, dword [0x141dcfbb4]
cmp eax, 0x8ef4e313
je 0x1400939b0
jmp 0x1400946bd
mov eax, dword [0x141dcfd58]
xor eax, dword [0x141dcfd5c]
xor eax, 0x7ccd14b
add eax, 0x621bb0ed
cmp eax, 0xf740bbdf
ja 0x1400939d0
cmp r9, 1
jbe 0x140093b62
jmp 0x140093b14
movzx eax, word [rdi + 2]
mov edx, dword [0x141dcfd38]
imul edx, dword [0x141dcfd3c]
or edx, 0x4158cb88
add edx, 0x75e600f4
or edx, 0x3f3ca6f6
cmp edx, 0x6fcefa91
jb 0x140093a00
cmp ax, 0x3a
jne 0x140093b14
movzx r9d, word [rdi + 4]
nop word cs:[rax + rax]
mov eax, dword [0x141dcfd40]
xor edx, edx
div dword [0x141dcfd44]
imul eax, eax, 0xf01613b2
or eax, 0x4022632
xor eax, 0x52cd62ae
cmp eax, 0x49c61585
jb 0x140093a40
test r9w, r9w
je 0x140093ad7
cmp r9w, 0x2f
je 0x140093a99
movzx eax, r9w
cmp eax, 0x5c
jne 0x140093b14
movzx eax, word [rdi]
cmp eax, 0x2f
je 0x140093b17
cmp eax, 0x5c
je 0x140093b17
jmp 0x14009418b
movzx eax, word [rdi]
movzx r9d, ax
mov edx, dword [0x141dcfd70]
sub edx, dword [0x141dcfd74]
and edx, 0xe48228
or edx, 0x730951c7
imul edx, edx, 0x995277cf
cmp edx, 0xae5cde81
ja 0x140093aa0
cmp r9d, 0x2f
je 0x140093b17
cmp r9d, 0x5c
je 0x140093b17
jmp 0x14009418b
movzx eax, word [rdi]
nop word [rax + rax]
mov edx, dword [0x141dcfd48]
and edx, dword [0x141dcfd4c]
xor edx, 0x21ee0
or edx, 0x4f816016
xor edx, 0x65c2999d
cmp edx, 0x2b9abc0e
ja 0x140093ae0
cmp eax, 0x2f
je 0x140093b14
cmp eax, 0x5c
jne 0x14009418b
movzx eax, word [rdi]
cmp ax, 0x5c
je 0x140093b25
movzx eax, ax
cmp eax, 0x2f
jne 0x140093b62
movzx eax, word [rdi + 2]
cmp eax, 0x5c
je 0x140093b33
cmp eax, 0x2f
jne 0x140093b62
mov rdx, qword [rsp + 0x30]
mov rax, qword [rdx + 0x10]
mov qword [rcx + 0x10], rax
movups xmm0, xmmword [rdx]
movups xmmword [rcx], xmm0
jmp 0x1400946bd
mov qword [rsp + 0x70], 0
mov qword [rsp + 0x78], 2
mov eax, dword [0x141dcfbc0]
add eax, dword [0x141dcfbc4]
mov qword [rsp + 0x70], 0
mov qword [rsp + 0x78], 2
cmp eax, 0x91a4609b
je 0x140093b50
xor eax, eax
mov qword [rsp + 0x48], rax
nop
mov eax, dword [0x141dcfbc8]
imul eax, dword [0x141dcfbcc]
imul rax, rax, 0x63328559
shr rax, 0x3e
xor eax, 0xbee215c5
mov qword [rsp + 0x80], 0
cmp eax, 0x59653254
jae 0x140093bce
mov qword [rsp + 0x80], 0
jmp 0x140093b90
mov byte [rsp + 0x3f], r8b
mov qword [rsp + 0x88], rcx
mov ebx, 0x200
mov eax, 2
mov qword [rsp + 0x50], rax
mov r14, qword [sym.imp.KERNEL32.dll_GetLastError]
xor esi, esi
xor r13d, r13d
nop word cs:[rax + rax]
mov r12d, 0x200
cmp rbx, 0x201
jae 0x140093c20
lea rbp, [rsp + 0xa8]
mov r15, rbx
jmp 0x140093c94
sub rbx, r13
sub rsi, r13
cmp rbx, rsi
ja 0x140093dbe
mov eax, dword [0x141dcfbd0]
sub eax, dword [0x141dcfbd4]
xor eax, 0x40082014
and eax, 0x620a239f
add eax, 0x1f4aa7ce
cmp eax, 0xd77a4e6e
jbe 0x140093c6a
mov rcx, qword [rsp + 0x48]
mov eax, 0xffffffff
cmp rcx, rax
cmovb rax, rcx
mov qword [rsp + 0x80], rax
mov rsi, qword [rsp + 0x48]
mov eax, 0xffffffff
cmp rsi, rax
mov r13d, 0xffffffff
cmovb r13, rsi
mov qword [rsp + 0x80], r13
mov r12, r13
mov rbp, qword [rsp + 0x50]
mov r15, r13
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov rcx, rdi
mov edx, r15d
mov qword [rsp + 0x40], rbp
mov r8, rbp
xor r9d, r9d
call qword [sym.imp.KERNEL32.dll_GetFullPathNameW]
mov ebp, eax
test eax, eax
jne 0x140093cc4
call r14
test eax, eax
jne 0x140093e82
mov ebx, ebp
cmp r15, rbx
jne 0x140093d90
mov eax, dword [0x141dcfbe8]
and eax, dword [0x141dcfbec]
imul eax, eax, 0x8d5e8d9c
add eax, 0x6b8ace88
cmp eax, 0x9cf8ec1
jae 0x140093cf0
call r14
mov ebx, dword [0x141dcfbf0]
xor ebx, dword [0x141dcfbf4]
add ebx, 0x82be3f5f
xor ebx, 0x9c93987b
call r14
cmp ebx, 0x6e1d0088
jb 0x140093cf0
nop word cs:[rax + rax]
mov ecx, dword [0x141dcfbf8]
and ecx, dword [0x141dcfbfc]
xor ecx, 0x100c34d
add ecx, 0x17a118ad
cmp ecx, 0xbb28ddb0
ja 0x140093d20
cmp eax, 0x7a
jne 0x140094466
lea rbx, [r15 + r15]
cmp r15, 0x7fffffff
mov eax, 0xffffffff
cmova rbx, rax
nop dword [rax]
mov eax, dword [0x141dcfc08]
and eax, dword [0x141dcfc0c]
imul eax, eax, 0x5c644492
add eax, 0x412b7e3e
cmp eax, 0x7bc28d34
jb 0x140093d60
jmp 0x140093c00
mov eax, dword [0x141dcfc00]
add eax, dword [0x141dcfc04]
imul rax, rax, 0x4ae73381
shr rax, 0x3c
add eax, 0xe932fd1c
cmp eax, 0x176c289b
jb 0x140093d90
cmp r15, rbx
jb 0x140093c00
jmp 0x140093e17
mov qword [rsp + 0x20], 2
mov r9d, 2
lea rcx, [rsp + 0x70]
mov rdx, r13
mov r8, rbx
call fcn.1400fe010
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x48], rax
nop word [rax + rax]
mov eax, dword [0x141dcfbd8]
and eax, dword [0x141dcfbdc]
add eax, 0xef58c188
cmp eax, 0x6d45a8ad
ja 0x140093df0
mov rax, qword [rsp + 0x78]
mov qword [rsp + 0x50], rax
jmp 0x140093c2f
cmp r12, rbx
jb 0x140094422
mov eax, dword [0x141dcfc20]
xor eax, dword [0x141dcfc24]
and eax, 0xbfccea26
imul eax, eax, 0xc8b36d06
and eax, 0x8b3fb23c
cmp eax, 0x3006d13b
ja 0x140093e20
mov rax, qword [rsp + 0x30]
mov qword [rax + 0x10], 0
cmp ebp, 0xf6
ja 0x140093f32
cmp byte [rsp + 0x3f], 0
jne 0x140093f32
mov rax, qword [rsp + 0x30]
mov rbp, qword [rax]
cmp rbp, rbx
jbe 0x140094125
mov rdi, qword [rsp + 0x30]
jmp 0x14009441a
mov eax, dword [0x141dcfbe0]
add eax, dword [0x141dcfbe4]
xor eax, 0xbf3f8ffa
add eax, 0x9d8a6a23
cmp eax, 0x51a93caf
jae 0x140093ea5
call qword [sym.imp.KERNEL32.dll_GetLastError]
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
shl rbx, 0x20
or rbx, 2
cmp qword [rsp + 0x48], 0
mov rsi, qword [rsp + 0x88]
je 0x140093ed9
mov rcx, qword [0x141ddb260]
xor edx, edx
mov r8, qword [rsp + 0x50]
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rsi + 8], rbx
movabs rax, 0x8000000000000000
mov qword [rsi], rax
mov rax, qword [rsp + 0x30]
cmp qword [rax], 0
je 0x1400946bd
mov rcx, qword [0x141ddb260]
xor edx, edx
mov r8, rdi
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
mov eax, dword [0x141dcfd78]
add eax, dword [0x141dcfd7c]
and eax, 0x54410048
add eax, 0x9380575d
cmp eax, 0x456428e7
jb 0x140093f10
jmp 0x1400946bd
cmp ebp, 2
jbe 0x140094111
mov rax, qword [rsp + 0x40]
movzx ecx, word [rax + 2]
cmp ecx, 0x3a
jne 0x140093fa0
mov rax, qword [rsp + 0x40]
movzx eax, word [rax + 4]
nop word cs:[rax + rax]
mov edx, dword [0x141dcfc60]
or edx, dword [0x141dcfc64]
and edx, 0x10c67dc0
add edx, 0x8e601bb8
xor edx, 0x9242c4bb
cmp edx, 0x3c786b94
ja 0x140093f60
cmp ax, 0x5c
jne 0x140093fa0
lea r12, [0x141db9838]
mov r13d, 4
jmp 0x140094258
mov eax, dword [0x141dcfc68]
xor edx, edx
div dword [0x141dcfc6c]
add eax, 0xf917ce4
or eax, 0xbeec4f8c
add eax, 0x1329ad61
cmp eax, 0x56670f4b
jb 0x140093fa0
mov eax, 0xbe100a3d
nop dword [rax]
mov edx, dword [0x141dcfc70]
sub edx, dword [0x141dcfc74]
or edx, 0x3ddbba65
imul rdx, rax
shr rdx, 0x3f
or edx, 0x72854ee
cmp edx, 0xd6b86a72
ja 0x140093fd0
mov rax, qword [rsp + 0x40]
movzx eax, word [rax]
mov edx, dword [0x141dcfc78]
and edx, dword [0x141dcfc7c]
imul rdx, rdx, 0x699fb96f
shr rdx, 0x3e
imul edx, edx, 0x6854590b
cmp edx, 0x6c38b75
je 0x140094000
cmp ebp, 3
jbe 0x1400941c7
nop
mov edx, dword [0x141dcfce8]
and edx, dword [0x141dcfcec]
and edx, 0x7bc109af
xor edx, 0x72a5b4e6
add edx, 0x5b1e5b11
cmp edx, 0x3ab95a87
jb 0x140094030
mov r12d, 2
cmp ax, 0x5c
jne 0x140094255
cmp ecx, 0x3f
je 0x140094255
cmp ecx, 0x5c
mov r8, qword [rsp + 0x40]
jne 0x140094210
movzx eax, word [r8 + 4]
cmp eax, 0x3f
je 0x140094455
cmp eax, 0x2e
jne 0x140094233
cmp word [r8 + 6], 0x5c
jne 0x140094233
add rbx, 0xfffffffffffffffc
add r8, 8
mov eax, dword [0x141dcfcf0]
xor edx, edx
div dword [str.V._]
or eax, 0xd0d33ba1
xor eax, 0xf1c81c47
imul eax, eax, 0xcaaf77
cmp eax, 0x45d6b038
jb 0x1400940a8
mov qword [rsp + 0x40], r8
mov eax, 0x938d5009
lea r12, [0x141db9838]
mov r13d, 4
mov ecx, dword [0x141dcfcf8]
sub ecx, dword [0x141dcfcfc]
add ecx, 0xe753ada4
imul rcx, rax
shr rcx, 0x36
and ecx, 0x26d
cmp ecx, 0xa1c134a0
jae 0x1400940e4
jmp 0x140094258
jne 0x14009424f
mov r8, qword [rsp + 0x40]
movzx eax, word [r8]
jmp 0x1400941d0
lea rsi, [rbx + 1]
lea r8, [rsi + rsi]
nop dword [rax]
mov eax, dword [0x141dcfc28]
sub eax, dword [0x141dcfc2c]
imul eax, eax, 0xc707b014
cmp eax, 0x204ce2b1
ja 0x140094130
test rbp, rbp
je 0x140094383
mov eax, dword [0x141dcfc30]
and eax, dword [0x141dcfc34]
or eax, 0xdbd1f9bb
xor eax, 0xd0f8e768
cmp eax, 0xaf79e408
jbe 0x140094174
mov qword [rsp + 0x58], rdi
add rbp, rbp
mov qword [rsp + 0x58], rdi
mov qword [rsp + 0x68], rbp
mov eax, 2
jmp 0x140094385
mov eax, dword [0x141dcfd50]
xor edx, edx
div dword [str.rMZ]
imul eax, eax, 0x45f0776
or eax, 0x3effedee
cmp eax, 0x34e787c6
mov rdx, qword [rsp + 0x30]
jae 0x140093b38
mov rax, qword [rdx + 0x10]
mov qword [rcx + 0x10], rax
movups xmm0, xmmword [rdx]
movups xmmword [rcx], xmm0
jmp 0x140093b38
mov r8, qword [rsp + 0x40]
nop dword [rax]
mov ecx, dword [0x141dcfd00]
imul ecx, dword [0x141dcfd04]
add ecx, 0x87a9aa57
xor ecx, 0x40b822c2
and ecx, 0xd2f823fa
cmp ecx, 0x64d63352
ja 0x1400941d0
cmp ax, 0x5c
jne 0x14009424f
movzx ecx, word [r8 + 2]
nop word cs:[rax + rax]
mov eax, dword [0x141dcfd08]
xor eax, dword [0x141dcfd0c]
xor eax, 0x2a6f2791
add eax, 0xda5d157e
cmp eax, 0xf87a1810
ja 0x140094210
cmp cx, 0x5c
jne 0x14009424f
add rbx, 0xfffffffffffffffe
add r8, 4
mov qword [rsp + 0x40], r8
lea r12, [0x141db9840]
mov r13d, 8
jmp 0x140094258
mov r12d, 2
xor r13d, r13d
mov rbp, r13
or rbp, 1
add rbp, rbx
mov rax, qword [rsp + 0x30]
mov rax, qword [rax]
cmp rax, rbp
jae 0x140094351
mov ecx, dword [0x141dcfc80]
add ecx, dword [0x141dcfc84]
or ecx, 0xcd14a081
imul ecx, ecx, 0x2af9b740
cmp ecx, 0x5a352df6
nop word cs:[rax + rax]
mov ecx, dword [0x141dcfc88]
xor ecx, dword [0x141dcfc8c]
add ecx, 0x52d18d6
or ecx, 0xff1e92a7
imul ecx, ecx, 0x27b8c496
cmp ecx, 0xf86f1676
ja 0x1400942a0
lea r15, [rbp*2]
nop
mov ecx, dword [0x141dcfc90]
xor ecx, dword [0x141dcfc94]
and ecx, 0x28efe4ee
cmp ecx, 0x9d4c9d80
je 0x1400942d0
test rax, rax
je 0x140094359
add rax, rax
nop word cs:[rax + rax]
mov ecx, dword [0x141dcfc98]
imul ecx, dword [0x141dcfc9c]
add ecx, 0xcccfb651
cmp ecx, 0x2d13cd0f
jb 0x140094300
mov ecx, dword [str.U6U]
and ecx, dword [0x141dcfca4]
add ecx, 0xb5cf5ac7
and ecx, 0x131be78c
cmp ecx, 0xbca1e12
jae 0x140094340
mov qword [rsp + 0x58], rdi
mov qword [rsp + 0x58], rdi
mov qword [rsp + 0x68], rax
mov esi, 2
jmp 0x14009435b
mov rbp, rax
jmp 0x1400947c8
xor esi, esi
mov eax, dword [0x141dcfca8]
xor edx, edx
div dword [0x141dcfcac]
or eax, 0xbfdeef6b
add eax, 0x965435d1
cmp eax, 0x4f295579
jae 0x1400946d1
jmp 0x14009471e
xor eax, eax
mov qword [rsp + 0x60], rax
lea rcx, [rsp + 0x90]
lea r9, [rsp + 0x58]
mov edx, 2
call fcn.1400c1320
cmp qword [rsp + 0x90], 0
mov rdi, qword [rsp + 0x30]
jne 0x1400944af
mov eax, dword [0x141dcfc38]
and eax, dword [0x141dcfc3c]
add eax, 0xc4088bdb
mov ecx, 0xe33b7db1
jge 0x140094405
jrcxz 0x140094414
imul ecx, eax
ud2
cmp word [r8 + 6], 0x5c
jne 0x140094233
jmp 0x140094255
mov eax, dword [0x141dcfc10]
or eax, dword [0x141dcfc14]
imul eax, eax, 0xdae53c25
or eax, 0x80a50241
and eax, 0xe2a78ae9
cmp eax, 0xa2bb8c3e
jae 0x140094490
ud2
mov eax, dword [0x141dcfc18]
sub eax, dword [0x141dcfc1c]
xor eax, 0x48a00994
ud2