Function at 0x18018ee8c
Capabilities:
Authenticate hmac
Contain obfuscated stackstrings
Encode data using xor

Disassembly:
mov rax, rsp
push rbp
push r14
push r15
lea rbp, [rax - 0x538]
sub rsp, 0x620
mov qword [rbp + 0x78], 0xfffffffffffffffe
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
mov qword [rax + 0x20], r13
mov rsi, r8
mov r14, rdx
mov r15d, ecx
xor ebx, ebx
mov r9d, dword [0x1802bccdc]
mov rax, qword gs:[0x58]
mov rdi, qword [rax + r9*8]
or r13, 0xffffffffffffffff
mov eax, 4
mov eax, dword [rdi + rax]
cmp dword [0x1802c5fe8], eax
jle 0x18018f1c2
lea rcx, [0x1802c5fe8]
call fcn.1802696f0
cmp dword [0x1802c5fe8], r13d
jne 0x18018f1c2
lea rax, [rbp + 0x18]
mov qword [rbp - 0x58], rax
mov dword [rsp + 0x30], 0xa
mov eax, dword [rsp + 0x30]
xor al, 0x43
mov byte [rsp + 0x34], al
mov eax, dword [rsp + 0x30]
inc al
xor al, 0x72
mov byte [rsp + 0x35], al
mov eax, dword [rsp + 0x30]
add al, 2
mov cl, 0x65
xor al, cl
mov byte [rsp + 0x36], al
mov eax, dword [rsp + 0x30]
add al, 3
xor al, 0x61
mov byte [rsp + 0x37], al
mov eax, dword [rsp + 0x30]
add al, 4
xor al, 0x74
mov byte [rsp + 0x38], al
mov eax, dword [rsp + 0x30]
add al, 5
xor al, cl
mov byte [rsp + 0x39], al
mov eax, dword [rsp + 0x30]
add al, 6
xor al, 0x54
mov byte [rsp + 0x3a], al
mov eax, dword [rsp + 0x30]
add al, 7
mov dl, 0x6f
xor al, dl
mov byte [rsp + 0x3b], al
mov eax, dword [rsp + 0x30]
add al, 8
xor al, dl
mov byte [rsp + 0x3c], al
mov eax, dword [rsp + 0x30]
add al, 9
xor al, 0x6c
mov byte [rsp + 0x3d], al
mov eax, dword [rsp + 0x30]
add al, 0xa
xor al, 0x68
mov byte [rsp + 0x3e], al
mov eax, dword [rsp + 0x30]
add al, 0xb
xor al, cl
mov byte [rsp + 0x3f], al
mov eax, dword [rsp + 0x30]
add al, 0xc
xor al, 0x6c
mov byte [rsp + 0x40], al
mov eax, dword [rsp + 0x30]
add al, 0xd
xor al, 0x70
mov byte [rsp + 0x41], al
mov eax, dword [rsp + 0x30]
add al, 0xe
xor al, 0x33
mov byte [rsp + 0x42], al
mov eax, dword [rsp + 0x30]
add al, 0xf
xor al, 0x32
mov byte [rsp + 0x43], al
mov eax, dword [rsp + 0x30]
add al, 0x10
xor al, 0x53
mov byte [rsp + 0x44], al
mov eax, dword [rsp + 0x30]
add al, 0x11
xor al, 0x6e
mov byte [rsp + 0x45], al
mov eax, dword [rsp + 0x30]
add al, 0x12
xor al, 0x61
mov byte [rsp + 0x46], al
mov eax, dword [rsp + 0x30]
add al, 0x13
xor al, 0x70
mov byte [rsp + 0x47], al
mov eax, dword [rsp + 0x30]
add al, 0x14
xor al, 0x73
mov byte [rsp + 0x48], al
mov eax, dword [rsp + 0x30]
add al, 0x15
xor al, 0x68
mov byte [rsp + 0x49], al
mov eax, dword [rsp + 0x30]
add al, 0x16
xor al, dl
mov byte [rsp + 0x4a], al
mov eax, dword [rsp + 0x30]
add al, 0x17
xor al, 0x74
mov byte [rsp + 0x4b], al
xor eax, eax
mov byte [rsp + 0x4c], al
mov al, byte [rsp + 0x34]
mov edx, ebx
mov al, byte [rsp + rdx + 0x34]
mov ecx, dword [rsp + 0x30]
add cl, dl
xor cl, al
mov byte [rsp + rdx + 0x34], cl
inc rdx
cmp rdx, 0x18
jb 0x18018f048
mov byte [rsp + 0x4c], bl
xorps xmm0, xmm0
movups xmmword [rbp + 0x18], xmm0
mov qword [rbp + 0x28], rbx
mov qword [rbp + 0x30], rbx
lea rax, [rsp + 0x34]
mov r8, r13
inc r8
cmp byte [rax + r8], bl
jne 0x18018f07c
lea rdx, [rsp + 0x34]
lea rcx, [rbp + 0x18]
call fcn.18007b70c
nop
mov dword [rbp - 0x68], 0x39
mov byte [rbp - 0x64], 0x52
mov byte [rbp - 0x63], 0x5c
mov byte [rbp - 0x62], 0x4b
mov byte [rbp - 0x61], 0x57
mov byte [rbp - 0x60], 0x5c
mov byte [rbp - 0x5f], 0x55
mov byte [rbp - 0x5e], 0xa
mov byte [rbp - 0x5d], 0xb
xor eax, eax
mov byte [rbp - 0x5c], al
mov al, byte [rbp - 0x64]
mov rdx, rbx
mov al, byte [rbp + rdx - 0x64]
mov ecx, dword [rbp - 0x68]
xor cl, al
mov byte [rbp + rdx - 0x64], cl
inc rdx
cmp rdx, 8
jb 0x18018f0c6
mov byte [rbp - 0x5c], bl
xorps xmm0, xmm0
movups xmmword [rbp - 0x48], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x38], xmm1
lea rax, [rbp - 0x64]
mov r8, r13
inc r8
cmp byte [rax + r8], bl
jne 0x18018f0f5
lea rdx, [rbp - 0x64]
lea rcx, [rbp - 0x48]
call fcn.18007b70c
nop
lea rdx, [rbp - 0x48]
lea rcx, [rbp + 0x80]
call fcn.180188b20
nop
mov qword [rsp + 0x20], rbx
mov r9b, 1
lea r8, [rbp + 0x18]
mov rdx, rax
lea rcx, [0x1802c6260]
call fcn.18008908c
nop
mov rdx, qword [rbp - 0x30]
cmp rdx, 0x10
jb 0x18018f177
inc rdx
mov rcx, qword [rbp - 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18018f172
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x18018f172
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.180269534
movdqa xmm0, xmmword [0x180280de0]
movdqu xmmword [rbp - 0x38], xmm0
mov byte [rbp - 0x48], bl
xor edx, edx
lea r8d, [rdx + 9]
lea rcx, [rbp - 0x64]
call qword [sym.imp.VCRUNTIME140.dll_memset]
nop
xor edx, edx
lea r8d, [rdx + 0x19]
lea rcx, [rsp + 0x34]
call qword [sym.imp.VCRUNTIME140.dll_memset]
lea rcx, [0x18027e02c]
call fcn.18026951c
nop
lea rcx, [0x1802c5fe8]
call fcn.180269690
mov eax, 4
mov eax, dword [rdi + rax]
cmp dword [0x1802c56c8], eax
jle 0x18018f3fc
lea rcx, [0x1802c56c8]
call fcn.1802696f0
cmp dword [0x1802c56c8], r13d
jne 0x18018f3fc
lea rax, [rbp + 0x38]
mov qword [rbp - 0x50], rax
mov dword [rbp - 0x7c], 5
mov byte [rbp - 0x78], 0x48
mov byte [rbp - 0x77], 0x6a
mov byte [rbp - 0x76], 0x61
mov byte [rbp - 0x75], 0x70
mov byte [rbp - 0x74], 0x69
mov byte [rbp - 0x73], 0x60
mov byte [rbp - 0x72], 0x36
mov byte [rbp - 0x71], 0x37
mov byte [rbp - 0x70], 0x43
mov byte [rbp - 0x6f], 0x6c
mov byte [rbp - 0x6e], 0x77
mov byte [rbp - 0x6d], 0x76
mov byte [rbp - 0x6c], 0x71
mov byte [rbp - 0x6b], 0x52
xor eax, eax
mov byte [rbp - 0x6a], al
mov al, byte [rbp - 0x78]
mov rdx, rbx
mov al, byte [rbp + rdx - 0x78]
mov ecx, dword [rbp - 0x7c]
xor cl, al
mov byte [rbp + rdx - 0x78], cl
inc rdx
cmp rdx, 0xe
jb 0x18018f241
mov byte [rbp - 0x6a], bl
xorps xmm0, xmm0
movups xmmword [rbp + 0x38], xmm0
mov qword [rbp + 0x48], rbx
mov qword [rbp + 0x50], rbx
lea rax, [rbp - 0x78]
mov r8, r13
inc r8
cmp byte [rax + r8], bl
jne 0x18018f270
lea rdx, [rbp - 0x78]
lea rcx, [rbp + 0x38]
call fcn.18007b70c
nop
mov dword [rsp + 0x64], 0x6e
mov eax, dword [rsp + 0x64]
xor al, 0x6b
mov byte [rsp + 0x68], al
mov eax, dword [rsp + 0x64]
inc al
xor al, 0x65
mov byte [rsp + 0x69], al
mov eax, dword [rsp + 0x64]
add al, 2
xor al, 0x72
mov byte [rsp + 0x6a], al
mov eax, dword [rsp + 0x64]
add al, 3
xor al, 0x6e
mov byte [rsp + 0x6b], al
mov eax, dword [rsp + 0x64]
add al, 4
xor al, 0x65
mov byte [rsp + 0x6c], al
mov eax, dword [rsp + 0x64]
add al, 5
xor al, 0x6c
mov byte [rsp + 0x6d], al
mov eax, dword [rsp + 0x64]
add al, 6
xor al, 0x33
mov byte [rsp + 0x6e], al
mov eax, dword [rsp + 0x64]
add al, 7
xor al, 0x32
mov byte [rsp + 0x6f], al
xor eax, eax
mov byte [rsp + 0x70], al
mov al, byte [rsp + 0x68]
mov rdx, rbx
mov al, byte [rsp + rdx + 0x68]
mov ecx, dword [rsp + 0x64]
add cl, dl
xor cl, al
mov byte [rsp + rdx + 0x68], cl
inc rdx
cmp rdx, 8
jb 0x18018f2fa
mov byte [rsp + 0x70], bl
xorps xmm0, xmm0
movups xmmword [rbp - 0x28], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x18], xmm1
lea rax, [rsp + 0x68]
mov r8, r13
inc r8
cmp byte [rax + r8], bl
jne 0x18018f32e
lea rdx, [rsp + 0x68]
lea rcx, [rbp - 0x28]
call fcn.18007b70c
nop
lea rdx, [rbp - 0x28]
lea rcx, [rbp + 0xa0]
call fcn.180188b20
nop
mov qword [rsp + 0x20], rbx
mov r9b, 1
lea r8, [rbp + 0x38]
mov rdx, rax
lea rcx, [0x1802c7d00]
call fcn.18017d7cc
nop
mov rdx, qword [rbp - 0x10]
cmp rdx, 0x10
jb 0x18018f3b1
inc rdx
mov rcx, qword [rbp - 0x28]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18018f3ac
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x18018f3ac
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.180269534
movdqa xmm0, xmmword [0x180280de0]
movdqu xmmword [rbp - 0x18], xmm0
mov byte [rbp - 0x28], bl
xor edx, edx
lea r8d, [rdx + 9]
lea rcx, [rsp + 0x68]
call qword [sym.imp.VCRUNTIME140.dll_memset]
nop
xor edx, edx
lea r8d, [rdx + 0xf]
lea rcx, [rbp - 0x78]
call qword [sym.imp.VCRUNTIME140.dll_memset]
lea rcx, [0x18027e020]
call fcn.18026951c
nop
lea rcx, [0x1802c56c8]
call fcn.180269690
mov eax, 4
mov eax, dword [rdi + rax]
cmp dword [0x1802c65e0], eax
jle 0x18018f6a7
lea rcx, [0x1802c65e0]
call fcn.1802696f0
cmp dword [0x1802c65e0], r13d
jne 0x18018f6a7
lea rax, [rbp + 0x58]
mov qword [rbp - 0x50], rax
mov dword [rsp + 0x50], 0x38
mov eax, dword [rsp + 0x50]
xor al, 0x4d
mov byte [rsp + 0x54], al
mov eax, dword [rsp + 0x50]
inc al
xor al, 0x6f
mov byte [rsp + 0x55], al
mov eax, dword [rsp + 0x50]
add al, 2
xor al, 0x64
mov byte [rsp + 0x56], al
mov eax, dword [rsp + 0x50]
add al, 3
xor al, 0x75
mov byte [rsp + 0x57], al
mov eax, dword [rsp + 0x50]
add al, 4
xor al, 0x6c
mov byte [rsp + 0x58], al
mov eax, dword [rsp + 0x50]
add al, 5
mov dil, 0x65
xor al, dil
mov byte [rsp + 0x59], al
mov eax, dword [rsp + 0x50]
add al, 6
xor al, 0x33
mov byte [rsp + 0x5a], al
mov eax, dword [rsp + 0x50]
add al, 7
xor al, 0x32
mov byte [rsp + 0x5b], al
mov eax, dword [rsp + 0x50]
add al, 8
xor al, 0x4e
mov byte [rsp + 0x5c], al
mov eax, dword [rsp + 0x50]
add al, 9
xor al, dil
mov byte [rsp + 0x5d], al
mov eax, dword [rsp + 0x50]
add al, 0xa
xor al, 0x78
mov byte [rsp + 0x5e], al
mov eax, dword [rsp + 0x50]
add al, 0xb
xor al, 0x74
mov byte [rsp + 0x5f], al
mov eax, dword [rsp + 0x50]
add al, 0xc
xor al, 0x57
mov byte [rsp + 0x60], al
xor eax, eax
mov byte [rsp + 0x61], al
mov al, byte [rsp + 0x54]
mov rdx, rbx
mov al, byte [rsp + rdx + 0x54]
mov ecx, dword [rsp + 0x50]
add cl, dl
xor cl, al
mov byte [rsp + rdx + 0x54], cl
inc rdx
cmp rdx, 0xd
jb 0x18018f4e5
mov byte [rsp + 0x61], bl
xorps xmm0, xmm0
movups xmmword [rbp + 0x58], xmm0
mov qword [rbp + 0x68], rbx
mov qword [rbp + 0x70], rbx
lea rax, [rsp + 0x54]
mov r8, r13
inc r8
cmp byte [rax + r8], bl
jne 0x18018f519
lea rdx, [rsp + 0x54]
lea rcx, [rbp + 0x58]
call fcn.18007b70c
nop
mov dword [rsp + 0x74], 0x2c
mov eax, dword [rsp + 0x74]
xor al, 0x6b
mov byte [rsp + 0x78], al
mov eax, dword [rsp + 0x74]
inc al
xor al, dil
mov byte [rsp + 0x79], al
mov eax, dword [rsp + 0x74]
add al, 2
xor al, 0x72
mov byte [rsp + 0x7a], al
mov eax, dword [rsp + 0x74]
add al, 3
xor al, 0x6e
mov byte [rsp + 0x7b], al
mov eax, dword [rsp + 0x74]
add al, 4
xor al, dil
mov byte [rsp + 0x7c], al
mov eax, dword [rsp + 0x74]
add al, 5
xor al, 0x6c
mov byte [rsp + 0x7d], al
mov eax, dword [rsp + 0x74]
add al, 6
xor al, 0x33
mov byte [rsp + 0x7e], al
mov eax, dword [rsp + 0x74]
add al, 7
xor al, 0x32
mov byte [rsp + 0x7f], al
xor eax, eax
mov byte [rbp - 0x80], al
mov al, byte [rsp + 0x78]
mov rdx, rbx
mov al, byte [rsp + rdx + 0x78]
mov ecx, dword [rsp + 0x74]
add cl, dl
xor cl, al
mov byte [rsp + rdx + 0x78], cl
inc rdx
cmp rdx, 8
jb 0x18018f5a5
mov byte [rbp - 0x80], bl
xorps xmm0, xmm0
movups xmmword [rbp - 8], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 8], xmm1
lea rax, [rsp + 0x78]
mov r8, r13
inc r8
cmp byte [rax + r8], bl
jne 0x18018f5d8
lea rdx, [rsp + 0x78]
lea rcx, [rbp - 8]
call fcn.18007b70c
nop
lea rdx, [rbp - 8]
lea rcx, [rbp + 0xc0]
call fcn.180188b20
nop
mov qword [rsp + 0x20], rbx
mov r9b, 1
lea r8, [rbp + 0x58]
mov rdx, rax
lea rcx, [0x1802c6a70]
call fcn.18017d7cc
nop
mov rdx, qword [rbp + 0x10]
cmp rdx, 0x10
jb 0x18018f65b
inc rdx
mov rcx, qword [rbp - 8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18018f656
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x18018f656
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.180269534
movdqa xmm0, xmmword [0x180280de0]
movdqu xmmword [rbp + 8], xmm0
mov byte [rbp - 8], bl
xor edx, edx
lea r8d, [rdx + 9]
lea rcx, [rsp + 0x78]
call qword [sym.imp.VCRUNTIME140.dll_memset]
nop
xor edx, edx
lea r8d, [rdx + 0xe]
lea rcx, [rsp + 0x54]
call qword [sym.imp.VCRUNTIME140.dll_memset]
lea rcx, [0x18027e014]
call fcn.18026951c
nop
lea rcx, [0x1802c65e0]
call fcn.180269690
mov r8d, r15d
mov edx, 8
lea rcx, [0x1802c6260]
call fcn.180089bc8
mov rdi, rax
cmp rax, r13
jne 0x18018f6c7
xor eax, eax
jmp 0x18018f744
mov dword [rbp + 0xe0], 0x438
lea rcx, [0x1802c7d00]
lea r8, [rbp + 0xe0]
mov rdx, rdi
call fcn.180087840
test eax, eax
je 0x18018f739
cmp r14, qword [rbp + 0xf8]
jb 0x18018f706
mov eax, dword [rbp + 0x100]
add rax, qword [rbp + 0xf8]
cmp r14, rax
jbe 0x18018f70f
lea rcx, [0x1802c6a70]
jmp 0x18018f6d8
mov r8d, 0x800
mov rcx, rsi
cmp byte [rbp + 0x560], bl
lea rdx, [rbp + 0x110]
jne 0x18018f72e
lea rdx, [rbp + 0x310]
call qword [sym.imp.KERNEL32.dll_lstrcpynW]
mov ebx, 1
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, ebx
lea r11, [rsp + 0x620]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rdi, qword [r11 + 0x30]
mov r13, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop rbp
ret