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

Disassembly:
mov qword [rsp + 0x10], rbx
push rbp
push rsi
push rdi
push r14
push r15
lea rbp, [rsp - 0x30]
sub rsp, 0x130
mov rax, qword [0x180025008]
xor rax, rsp
mov qword [rbp + 0x20], rax
xor r14d, r14d
mov edi, r8d
mov qword [rbp + 0x18], r14
xor eax, eax
mov dword [rbp - 0x30], 0xb
mov r8d, edx
mov byte [rbp - 0x2c], 0x4a
mov r10, rcx
mov byte [rbp - 0x2b], 0x6f
lea esi, [r14 + 1]
mov byte [rbp - 0x2a], 0x7d
mov r9d, r14d
mov byte [rbp - 0x29], 0x6a
mov byte [rbp - 0x28], 0x7b
mov byte [rbp - 0x27], 0x62
mov byte [rbp - 0x26], 0x38
mov byte [rbp - 0x25], 0x39
mov byte [rbp - 0x24], 0x25
mov byte [rbp - 0x23], 0x6f
mov byte [rbp - 0x22], 0x67
mov byte [rbp - 0x21], 0x67
mov byte [rbp - 0x20], al
mov al, byte [rbp - 0x2c]
movsx edx, byte [rbp + r9 - 0x2c]
mov eax, dword [rbp - 0x30]
movsx ecx, al
mov eax, edx
xor eax, ecx
mov byte [rbp + r9 - 0x2c], al
add r9, rsi
cmp r9, 0xc
jb 0x1800024a4
mov byte [rbp - 0x20], r14b
xor eax, eax
mov dword [rbp - 0x18], 0x2b
mov r9, r14
mov byte [rbp - 0x14], 0x60
mov byte [rbp - 0x13], 0x4e
mov byte [rbp - 0x12], 0x59
mov byte [rbp - 0x11], 0x45
mov byte [rbp - 0x10], 0x4e
mov byte [rbp - 0xf], 0x47
mov byte [rbp - 0xe], 0x18
mov byte [rbp - 0xd], 0x19
mov byte [rbp - 0xc], 5
mov byte [rbp - 0xb], 0x4f
mov byte [rbp - 0xa], 0x47
mov byte [rbp - 9], 0x47
mov byte [rbp - 8], al
mov al, byte [rbp - 0x14]
movsx edx, byte [rbp + r9 - 0x14]
mov eax, dword [rbp - 0x18]
movsx ecx, al
mov eax, edx
xor eax, ecx
mov byte [rbp + r9 - 0x14], al
add r9, rsi
cmp r9, 0xc
jb 0x180002508
mov byte [rbp - 8], r14b
xor eax, eax
mov dword [rbp - 0x48], 0x36
mov r9, r14
mov byte [rbp - 0x44], 0x78
mov byte [rbp - 0x43], 0x53
mov byte [rbp - 0x42], 0x42
mov byte [rbp - 0x41], 0x57
mov byte [rbp - 0x40], 0x46
mov byte [rbp - 0x3f], 0x5f
mov byte [rbp - 0x3e], 5
mov byte [rbp - 0x3d], 4
mov byte [rbp - 0x3c], 0x18
mov byte [rbp - 0x3b], 0x52
mov byte [rbp - 0x3a], 0x5a
mov byte [rbp - 0x39], 0x5a
mov byte [rbp - 0x38], al
mov al, byte [rbp - 0x44]
movsx edx, byte [rbp + r9 - 0x44]
mov eax, dword [rbp - 0x48]
movsx ecx, al
mov eax, edx
xor eax, ecx
mov byte [rbp + r9 - 0x44], al
add r9, rsi
cmp r9, 0xc
jb 0x18000256c
mov byte [rbp - 0x38], r14b
xor eax, eax
mov r11d, 0x64
mov byte [rbp - 0x50], al
mov dword [rbp - 0x60], r11d
mov r9, r14
mov byte [rbp - 0x5c], 0x2d
mov byte [rbp - 0x5b], 0x14
mov byte [rbp - 0x5a], 0xc
mov byte [rbp - 0x59], 8
mov byte [rbp - 0x58], 0x14
mov byte [rbp - 0x57], 5
mov byte [rbp - 0x56], 0x14
mov byte [rbp - 0x55], 0xd
mov byte [rbp - 0x54], 0x4a
mov byte [rbp - 0x53], r14b
mov byte [rbp - 0x52], 8
mov byte [rbp - 0x51], 8
mov al, byte [rbp - 0x5c]
movsx edx, byte [rbp + r9 - 0x5c]
mov eax, dword [rbp - 0x60]
movsx ecx, al
mov eax, edx
xor eax, ecx
mov byte [rbp + r9 - 0x5c], al
add r9, rsi
cmp r9, 0xc
jb 0x1800025d3
mov byte [rbp - 0x50], r14b
mov ebx, 2
mov dword [rsp + 0x38], r11d
mov rdx, r14
mov eax, dword [rsp + 0x38]
xor eax, 0x52
mov byte [rsp + 0x3c], al
mov eax, dword [rsp + 0x38]
add al, sil
xor eax, 0x73
mov byte [rsp + 0x3d], al
mov eax, dword [rsp + 0x38]
add al, bl
xor eax, 0x74
mov byte [rsp + 0x3e], al
mov eax, dword [rsp + 0x38]
add al, 3
xor eax, 0x72
mov byte [rsp + 0x3f], al
mov eax, dword [rsp + 0x38]
add al, 4
xor eax, 0x74
mov byte [rsp + 0x40], al
mov eax, dword [rsp + 0x38]
add al, 5
xor eax, 0x6d
mov byte [rsp + 0x41], al
mov eax, dword [rsp + 0x38]
add al, 6
xor eax, 0x67
mov byte [rsp + 0x42], al
mov eax, dword [rsp + 0x38]
add al, 7
xor eax, 0x72
mov byte [rsp + 0x43], al
mov eax, dword [rsp + 0x38]
add al, 8
xor eax, 0x2e
mov byte [rsp + 0x44], al
mov eax, dword [rsp + 0x38]
add al, 9
xor eax, r11d
mov byte [rsp + 0x45], al
mov eax, dword [rsp + 0x38]
add al, 0xa
xor eax, 0x6c
mov byte [rsp + 0x46], al
mov eax, dword [rsp + 0x38]
add al, 0xb
xor eax, 0x6c
mov byte [rsp + 0x47], al
xor eax, eax
mov byte [rsp + 0x48], al
mov al, byte [rsp + 0x3c]
movsx eax, byte [rsp + rdx + 0x3c]
mov ecx, dword [rsp + 0x38]
add cl, dl
xor ecx, eax
mov byte [rsp + rdx + 0x3c], cl
add rdx, rsi
cmp rdx, 0xc
jb 0x1800026a7
mov byte [rsp + 0x48], r14b
mov rdx, r14
mov dword [rsp + 0x28], 0x77
mov eax, dword [rsp + 0x28]
xor eax, 0x77
mov byte [rsp + 0x2c], al
mov eax, dword [rsp + 0x28]
add al, sil
xor eax, 0x73
mov byte [rsp + 0x2d], al
mov eax, dword [rsp + 0x28]
add al, bl
xor eax, 0x32
mov byte [rsp + 0x2e], al
mov eax, dword [rsp + 0x28]
add al, 3
xor eax, 0x5f
mov byte [rsp + 0x2f], al
mov eax, dword [rsp + 0x28]
add al, 4
xor eax, 0x33
mov byte [rsp + 0x30], al
mov eax, dword [rsp + 0x28]
add al, 5
xor eax, 0x32
mov byte [rsp + 0x31], al
mov eax, dword [rsp + 0x28]
add al, 6
xor eax, 0x2e
mov byte [rsp + 0x32], al
mov eax, dword [rsp + 0x28]
add al, 7
xor eax, r11d
mov byte [rsp + 0x33], al
mov eax, dword [rsp + 0x28]
add al, 8
xor eax, 0x6c
mov byte [rsp + 0x34], al
mov eax, dword [rsp + 0x28]
add al, 9
xor eax, 0x6c
mov byte [rsp + 0x35], al
xor eax, eax
mov byte [rsp + 0x36], al
mov al, byte [rsp + 0x2c]
movsx eax, byte [rsp + rdx + 0x2c]
mov ecx, dword [rsp + 0x28]
add cl, dl
xor ecx, eax
mov byte [rsp + rdx + 0x2c], cl
add rdx, rsi
cmp rdx, 0xa
jb 0x18000275c
mov byte [rsp + 0x36], r14b
mov rdx, r14
mov byte [rsp + 0x70], 0x5d
mov byte [rsp + 0x71], 0x7b
mov byte [rsp + 0x72], 0x6d
mov byte [rsp + 0x73], 0x7a
mov byte [rsp + 0x74], 0x3b
mov byte [rsp + 0x75], 0x3a
mov byte [rsp + 0x76], 0x36
mov byte [rsp + 0x77], 0x6c
mov byte [rsp + 0x78], 0x74
mov byte [rsp + 0x79], 0x74
mov byte [rsp + 0x7a], r14b
mov al, byte [rsp + 0x70]
movsx ecx, byte [rsp + rdx + 0x70]
sub ecx, 8
mov byte [rsp + rdx + 0x70], cl
add rdx, rsi
cmp rdx, 0xa
jb 0x1800027b9
mov byte [rbp - 0x70], 0x58
mov rdx, r14
mov byte [rbp - 0x6f], 0x6d
mov byte [rbp - 0x6e], 0x71
mov byte [rbp - 0x6d], 0x7c
mov byte [rbp - 0x6c], 0x66
mov byte [rbp - 0x6b], 0x75
mov byte [rbp - 0x6a], 0x6e
mov byte [rbp - 0x69], 0x33
mov byte [rbp - 0x68], 0x69
mov byte [rbp - 0x67], 0x71
mov byte [rbp - 0x66], 0x71
mov byte [rbp - 0x65], r14b
mov al, byte [rbp - 0x70]
movsx ecx, byte [rbp + rdx - 0x70]
sub ecx, 5
mov byte [rbp + rdx - 0x70], cl
add rdx, rsi
cmp rdx, 0xb
jb 0x180002804
mov byte [rbp - 0x80], 0x5c
mov rdx, r14
mov byte [rbp - 0x7f], 0x71
mov byte [rbp - 0x7e], 0x6e
mov byte [rbp - 0x7d], 0x75
mov byte [rbp - 0x7c], 0x75
mov byte [rbp - 0x7b], 0x3c
mov byte [rbp - 0x7a], 0x3b
mov byte [rbp - 0x79], 0x37
mov byte [rbp - 0x78], 0x6d
mov byte [rbp - 0x77], 0x75
mov byte [rbp - 0x76], 0x75
mov byte [rbp - 0x75], r14b
mov al, byte [rbp - 0x80]
movsx ecx, byte [rbp + rdx - 0x80]
sub ecx, 9
mov byte [rbp + rdx - 0x80], cl
add rdx, rsi
cmp rdx, 0xb
jb 0x18000284f
mov byte [rsp + 0x60], 0x5a
mov rdx, r14
mov byte [rsp + 0x61], 0x77
mov byte [rsp + 0x62], 0x70
mov byte [rsp + 0x63], 0x3e
mov byte [rsp + 0x64], 0x3d
mov byte [rsp + 0x65], 0x39
mov byte [rsp + 0x66], 0x6f
mov byte [rsp + 0x67], 0x77
mov byte [rsp + 0x68], 0x77
mov byte [rsp + 0x69], r14b
mov al, byte [rsp + 0x60]
movsx ecx, byte [rsp + rdx + 0x60]
sub ecx, 0xb
mov byte [rsp + rdx + 0x60], cl
add rdx, rsi
cmp rdx, 9
jb 0x18000289d
mov dword [rbp], 0x30
xor eax, eax
mov byte [rbp + 4], 0x7f
mov r9, r14
mov byte [rbp + 5], 0x5c
mov byte [rbp + 6], 0x55
mov byte [rbp + 7], 0x71
mov byte [rbp + 8], 0x45
mov byte [rbp + 9], 0x44
mov byte [rbp + 0xa], 3
mov byte [rbp + 0xb], bl
mov byte [rbp + 0xc], 0x1e
mov byte [rbp + 0xd], 0x54
mov byte [rbp + 0xe], 0x5c
mov byte [rbp + 0xf], 0x5c
mov byte [rbp + 0x10], al
mov al, byte [rbp + 4]
movsx edx, byte [rbp + r9 + 4]
mov eax, dword [rbp]
movsx ecx, al
mov eax, edx
xor eax, ecx
mov byte [rbp + r9 + 4], al
add r9, rsi
cmp r9, 0xc
jb 0x1800028f3
mov byte [rbp + 0x10], r14b
mov rdx, r14
mov byte [rsp + 0x50], 0x7a
mov byte [rsp + 0x51], 0x80
mov byte [rsp + 0x52], 0x70
mov byte [rsp + 0x53], 0x78
mov byte [rsp + 0x54], 0x78
mov byte [rsp + 0x55], 0x3a
mov byte [rsp + 0x56], 0x70
mov byte [rsp + 0x57], 0x78
mov byte [rsp + 0x58], 0x78
mov byte [rsp + 0x59], r14b
mov al, byte [rsp + 0x50]
movsx ecx, byte [rsp + rdx + 0x50]
sub ecx, 0xc
mov byte [rsp + rdx + 0x50], cl
add rdx, rsi
cmp rdx, 9
jb 0x18000294e
test r10, r10
je 0x180002c1d
mov r15d, 0x55555556
mov dword [rsp + 0x20], 0x179804
mov ecx, dword [rsp + 0x20]
mov eax, r15d
imul ecx
mov r9d, 0x66666667
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
mov edx, 0x80000003
cmp ecx, eax
je 0x1800029cd
mov ecx, dword [rsp + 0x20]
add ecx, ebx
add ecx, r10d
mov dword [rsp + 0x20], ecx
jmp 0x1800029b5
mov eax, dword [rsp + 0x20]
add eax, esi
mov dword [rsp + 0x20], eax
mov eax, dword [rsp + 0x20]
and eax, edx
jge 0x1800029c4
sub eax, esi
or eax, 0xfffffffc
add eax, esi
test eax, eax
je 0x1800029ab
jmp 0x180002a58
mov eax, dword [rsp + 0x20]
mov eax, dword [rsp + 0x20]
mov ecx, dword [rsp + 0x20]
mov eax, r9d
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*4]
cmp ecx, eax
je 0x180002a58
mov eax, dword [rsp + 0x20]
lea ecx, [r10 + 0x17]
add eax, 0xb
cdq
idiv ecx
mov dword [rsp + 0x20], eax
mov eax, r15d
mov ecx, dword [rsp + 0x20]
imul ecx
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
cmp ecx, eax
jne 0x180002a58
mov ecx, dword [rsp + 0x20]
mov eax, r9d
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*4]
cmp ecx, eax
mov eax, dword [rsp + 0x20]
je 0x180002a38
add eax, esi
jmp 0x180002a3a
sub eax, esi
mov dword [rsp + 0x20], eax
mov eax, r15d
mov r8d, dword [rsp + 0x20]
imul r8d
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
cmp r8d, eax
je 0x180002a17
mov rcx, r10
call qword [0x180026c40]
mov r9, rax
mov dword [rsp + 0x20], 0x179804
mov r8d, dword [rsp + 0x20]
mov eax, r15d
imul r8d
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
lea ecx, [rdx + rdx*2]
cmp r8d, ecx
je 0x180002ab9
mov ecx, dword [rsp + 0x20]
add ecx, ebx
add ecx, r9d
mov dword [rsp + 0x20], ecx
mov ecx, 0x80000003
jmp 0x180002aa4
mov eax, dword [rsp + 0x20]
add eax, esi
mov dword [rsp + 0x20], eax
mov eax, dword [rsp + 0x20]
and eax, ecx
jge 0x180002ab3
sub eax, esi
or eax, 0xfffffffc
add eax, esi
test eax, eax
je 0x180002a9a
jmp 0x180002b2e
mov eax, dword [rsp + 0x20]
mov r8d, 0x66666667
mov eax, dword [rsp + 0x20]
mov ecx, dword [rsp + 0x20]
mov eax, r8d
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*4]
cmp ecx, eax
je 0x180002b2e
mov eax, dword [rsp + 0x20]
lea ecx, [r9 + 0x17]
add eax, 0xb
cdq
idiv ecx
jmp 0x180002b13
mov ecx, dword [rsp + 0x20]
mov eax, r8d
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*4]
cmp ecx, eax
mov eax, dword [rsp + 0x20]
je 0x180002b11
add eax, esi
jmp 0x180002b13
sub eax, esi
mov dword [rsp + 0x20], eax
mov eax, r15d
mov ecx, dword [rsp + 0x20]
imul ecx
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
cmp ecx, eax
je 0x180002af0
test r9, r9
je 0x180002cc8
lea r8, [rbp + 0x18]
mov edx, edi
mov rcx, r9
call fcn.180001744
mov qword [rbp + 0x18], rax
mov eax, r15d
mov dword [rsp + 0x20], 0x179804
mov ecx, dword [rsp + 0x20]
imul ecx
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
cmp ecx, eax
je 0x180002b9d
mov ecx, dword [rsp + 0x20]
mov eax, dword [rbp + 0x18]
add eax, ebx
add ecx, eax
mov dword [rsp + 0x20], ecx
mov ecx, 0x80000003
jmp 0x180002b88
mov eax, dword [rsp + 0x20]
add eax, esi
mov dword [rsp + 0x20], eax
mov eax, dword [rsp + 0x20]
and eax, ecx
jge 0x180002b97
sub eax, esi
or eax, 0xfffffffc
add eax, esi
test eax, eax
je 0x180002b7e
jmp 0x180002c14
mov eax, dword [rsp + 0x20]
mov r8d, 0x66666667
mov eax, dword [rsp + 0x20]
mov ecx, dword [rsp + 0x20]
mov eax, r8d
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*4]
cmp ecx, eax
je 0x180002c14
mov eax, dword [rsp + 0x20]
mov ecx, dword [rbp + 0x18]
add eax, 0xb
cdq
add ecx, 0x17
idiv ecx
jmp 0x180002bf9
mov ecx, dword [rsp + 0x20]
mov eax, r8d
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*4]
cmp ecx, eax
mov eax, dword [rsp + 0x20]
je 0x180002bf7
add eax, esi
jmp 0x180002bf9
sub eax, esi
mov dword [rsp + 0x20], eax
mov eax, r15d
mov ecx, dword [rsp + 0x20]
imul ecx
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
cmp ecx, eax
je 0x180002bd6
mov rax, qword [rbp + 0x18]
jmp 0x180002cca
cmp r8d, 0x15
ja 0x180002c75
je 0x180002c6e
sub r8d, 0xf
je 0x180002c68
sub r8d, esi
je 0x180002c62
sub r8d, esi
je 0x180002c5c
sub r8d, esi
je 0x180002c56
sub r8d, esi
je 0x180002c4f
cmp r8d, esi
jne 0x180002cc8
lea rcx, [rsp + 0x70]
jmp 0x180002cad
lea rcx, [rsp + 0x3c]
jmp 0x180002cad
lea rcx, [rbp - 0x5c]
jmp 0x180002cad
lea rcx, [rbp - 0x44]
jmp 0x180002cad
lea rcx, [rbp - 0x2c]
jmp 0x180002cad
lea rcx, [rbp - 0x14]
jmp 0x180002cad
lea rcx, [rsp + 0x2c]
jmp 0x180002cad
sub r8d, 0x16
je 0x180002ca9
sub r8d, esi
je 0x180002ca3
sub r8d, esi
je 0x180002c9c
sub r8d, esi
je 0x180002c96
cmp r8d, esi
jne 0x180002cc8
lea rcx, [rsp + 0x50]
jmp 0x180002cad
lea rcx, [rbp + 4]
jmp 0x180002cad
lea rcx, [rsp + 0x60]
jmp 0x180002cad
lea rcx, [rbp - 0x80]
jmp 0x180002cad
lea rcx, [rbp - 0x70]
call qword [0x180026c40]
test rax, rax
je 0x180002cc8
lea r8, [rbp + 0x18]
mov edx, edi
mov rcx, rax
call fcn.180001744
jmp 0x180002cca
xor eax, eax
mov rcx, qword [rbp + 0x20]
xor rcx, rsp
call fcn.1800077e0
mov rbx, qword [rsp + 0x168]
add rsp, 0x130
pop r15
pop r14
pop rdi
pop rsi
pop rbp
ret