Function at 0x140007c20
Capabilities:
Authenticate hmac

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x540]
sub rsp, 0x640
mov rax, qword [0x140015040]
xor rax, rsp
mov qword [rbp + 0x530], rax
mov ecx, 0x20
call qword [sym.imp.d3d9.dll_Direct3DCreate9]
mov rbx, rax
mov qword [rsp + 0x58], rax
test rax, rax
je 0x14000874f
mov r10, qword [rax]
lea r9, [rbp + 0xe0]
xor r8d, r8d
xor edx, edx
mov rcx, rax
call qword [r10 + 0x28]
test eax, eax
js 0x140008746
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x10]
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp + 0xc0], xmm0
mov qword [rbp + 0xd0], rax
movdqa xmm1, xmmword [0x14000fe60]
movdqu xmmword [rsp + 0x20], xmm1
mov cl, 0x2c
mov dl, 0x5e
mov r8b, 0x69
mov r9b, 0x62
mov r10b, 0x68
movzx ebx, r8b
mov dil, 0x7e
movzx esi, cl
mov r14b, 0x48
movzx r15d, dil
mov r12b, 0x65
mov r13b, 0x7a
movdqa xmm0, xmm1
psrldq xmm0, 1
movd eax, xmm0
movd r11d, xmm1
xor al, r11b
mov byte [rsp + 0x21], al
xor byte [rsp + 0x22], r11b
xor byte [rsp + 0x23], r11b
xor byte [rsp + 0x24], r11b
xor byte [rsp + 0x25], r11b
xor byte [rsp + 0x26], r11b
xor byte [rsp + 0x27], r11b
xor byte [rsp + 0x28], r11b
xor byte [rsp + 0x29], r11b
xor byte [rsp + 0x2a], r11b
xor byte [rsp + 0x2b], r11b
xor byte [rsp + 0x2c], r11b
xor byte [rsp + 0x2d], r11b
xor byte [rsp + 0x2e], r11b
xor byte [rsp + 0x2f], r11b
xor cl, r11b
mov byte [rsp + 0x30], cl
xor dl, r11b
mov byte [rsp + 0x31], dl
xor r8b, r11b
mov byte [rsp + 0x32], r8b
xor r9b, r11b
mov byte [rsp + 0x33], r9b
xor r10b, r11b
mov byte [rsp + 0x34], r10b
xor bl, r11b
mov byte [rsp + 0x35], bl
xor dil, r11b
mov byte [rsp + 0x36], dil
xor sil, r11b
mov byte [rsp + 0x37], sil
xor r14b, r11b
mov byte [rsp + 0x38], r14b
xor r15b, r11b
mov byte [rsp + 0x39], r15b
xor r12b, r11b
mov byte [rsp + 0x3a], r12b
xor r13b, r11b
mov byte [rsp + 0x3b], r13b
mov al, 0x69
xor al, r11b
mov byte [rsp + 0x3c], al
mov al, 0x7e
xor al, r11b
mov byte [rsp + 0x3d], al
mov byte [rsp + 0x3e], 0
xorps xmm0, xmm0
movups xmmword [rsp + 0x60], xmm0
xorps xmm1, xmm1
movdqa xmmword [rsp + 0x70], xmm1
lea rax, [rsp + 0x21]
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rax + r8], 0
jne 0x140007dd0
lea rdx, [rsp + 0x21]
lea rcx, [rsp + 0x60]
call fcn.14000c330
nop
movdqa xmm1, xmmword [0x14000fc80]
movdqu xmmword [rsp + 0x20], xmm1
movdqa xmm0, xmm1
psrldq xmm0, 1
movd eax, xmm0
movd ecx, xmm1
xor al, cl
mov byte [rsp + 0x21], al
xor byte [rsp + 0x22], cl
xor byte [rsp + 0x23], cl
xor byte [rsp + 0x24], cl
xor byte [rsp + 0x25], cl
xor byte [rsp + 0x26], cl
xor byte [rsp + 0x27], cl
xor byte [rsp + 0x28], cl
xor byte [rsp + 0x29], cl
xor byte [rsp + 0x2a], cl
xor byte [rsp + 0x2b], cl
xor byte [rsp + 0x2c], cl
xor byte [rsp + 0x2d], cl
xor byte [rsp + 0x2e], cl
mov byte [rsp + 0x2f], 0
xorps xmm0, xmm0
movups xmmword [rbp - 0x80], xmm0
xorps xmm1, xmm1
movdqa xmmword [rbp - 0x70], xmm1
lea rax, [rsp + 0x21]
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rax + r8], 0
jne 0x140007e63
lea rdx, [rsp + 0x21]
lea rcx, [rbp - 0x80]
call fcn.14000c330
nop
movdqa xmm1, xmmword [0x14000fcb0]
movdqu xmmword [rsp + 0x20], xmm1
movdqa xmm0, xmm1
psrldq xmm0, 1
movd eax, xmm0
movd ecx, xmm1
xor al, cl
mov byte [rsp + 0x21], al
xor byte [rsp + 0x22], cl
xor byte [rsp + 0x23], cl
xor byte [rsp + 0x24], cl
xor byte [rsp + 0x25], cl
xor byte [rsp + 0x26], cl
xor byte [rsp + 0x27], cl
xor byte [rsp + 0x28], cl
xor byte [rsp + 0x29], cl
xor byte [rsp + 0x2a], cl
xor byte [rsp + 0x2b], cl
xor byte [rsp + 0x2c], cl
xor byte [rsp + 0x2d], cl
xor byte [rsp + 0x2e], cl
mov byte [rsp + 0x2f], 0
xorps xmm0, xmm0
movups xmmword [rbp - 0x60], xmm0
xorps xmm1, xmm1
movdqa xmmword [rbp - 0x50], xmm1
lea rax, [rsp + 0x21]
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rax + r8], 0
jne 0x140007ef5
lea rdx, [rsp + 0x21]
lea rcx, [rbp - 0x60]
call fcn.14000c330
nop
movdqa xmm1, xmmword [0x14000fda0]
movdqu xmmword [rsp + 0x20], xmm1
mov cl, 0x29
mov dl, 0x28
mov r8b, 0x22
mov r10b, 0x32
mov r11b, 0x61
xor bl, bl
mov dil, 0x25
mov sil, 0x20
mov r14b, 0x31
mov r15b, 0x35
mov r12b, 0x24
mov r13b, 0x33
movdqa xmm0, xmm1
psrldq xmm0, 1
movd eax, xmm0
movd r9d, xmm1
xor al, r9b
mov byte [rsp + 0x21], al
xor byte [rsp + 0x22], r9b
xor byte [rsp + 0x23], r9b
xor byte [rsp + 0x24], r9b
xor byte [rsp + 0x25], r9b
xor byte [rsp + 0x26], r9b
xor byte [rsp + 0x27], r9b
xor byte [rsp + 0x28], r9b
xor byte [rsp + 0x29], r9b
xor byte [rsp + 0x2a], r9b
xor byte [rsp + 0x2b], r9b
xor byte [rsp + 0x2c], r9b
xor byte [rsp + 0x2d], r9b
xor byte [rsp + 0x2e], r9b
xor byte [rsp + 0x2f], r9b
xor cl, r9b
mov byte [rsp + 0x30], cl
xor dl, r9b
mov byte [rsp + 0x31], dl
xor r8b, r9b
mov byte [rsp + 0x32], r8b
xor r10b, r9b
mov byte [rsp + 0x33], r10b
xor r11b, r9b
mov byte [rsp + 0x34], r11b
xor bl, r9b
mov byte [rsp + 0x35], bl
xor dil, r9b
mov byte [rsp + 0x36], dil
xor sil, r9b
mov byte [rsp + 0x37], sil
xor r14b, r9b
mov byte [rsp + 0x38], r14b
xor r15b, r9b
mov byte [rsp + 0x39], r15b
xor r12b, r9b
mov byte [rsp + 0x3a], r12b
xor r13b, r9b
mov byte [rsp + 0x3b], r13b
mov byte [rsp + 0x3c], 0
xorps xmm0, xmm0
movups xmmword [rbp - 0x40], xmm0
xorps xmm1, xmm1
movdqa xmmword [rbp - 0x30], xmm1
lea rax, [rsp + 0x21]
mov r8, 0xffffffffffffffff
nop dword [rax]
inc r8
cmp byte [rax + r8], 0
jne 0x140008020
lea rdx, [rsp + 0x21]
lea rcx, [rbp - 0x40]
call fcn.14000c330
nop
movdqa xmm1, xmmword [str._n5.__0]
movdqu xmmword [rsp + 0x20], xmm1
movdqa xmm0, xmm1
psrldq xmm0, 1
movd eax, xmm0
movd ecx, xmm1
xor al, cl
mov byte [rsp + 0x21], al
xor byte [rsp + 0x22], cl
xor byte [rsp + 0x23], cl
xor byte [rsp + 0x24], cl
xor byte [rsp + 0x25], cl
xor byte [rsp + 0x26], cl
xor byte [rsp + 0x27], cl
xor byte [rsp + 0x28], cl
xor byte [rsp + 0x29], cl
xor byte [rsp + 0x2a], cl
xor byte [rsp + 0x2b], cl
xor byte [rsp + 0x2c], cl
xor byte [rsp + 0x2d], cl
xor byte [rsp + 0x2e], cl
xor byte [rsp + 0x2f], cl
mov byte [rsp + 0x30], 0
xorps xmm0, xmm0
movups xmmword [rbp - 0x20], xmm0
xorps xmm1, xmm1
movdqa xmmword [rbp - 0x10], xmm1
lea rax, [rsp + 0x21]
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rax + r8], 0
jne 0x1400080b6
lea rdx, [rsp + 0x21]
lea rcx, [rbp - 0x20]
call fcn.14000c330
nop
mov byte [rsp + 0x50], 0x5a
mov al, 0xb
mov cl, 2
mov dl, 0x16
xor r8d, r8d
xor al, 0x5a
mov byte [rsp + 0x51], al
xor cl, 0x5a
mov byte [rsp + 0x52], cl
xor dl, 0x5a
mov byte [rsp + 0x53], dl
mov byte [rsp + 0x54], r8b
xorps xmm0, xmm0
movups xmmword [rbp], xmm0
xorps xmm1, xmm1
movdqa xmmword [rbp + 0x10], xmm1
lea rax, [rsp + 0x51]
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rax + r8], 0
jne 0x140008111
lea rdx, [rsp + 0x51]
lea rcx, [rbp]
call fcn.14000c330
nop
mov byte [rsp + 0x20], 5
mov al, 0x53
mov cl, 0x6c
mov dl, 0x77
mov r8b, 0x71
movzx r9d, cl
mov r10b, 0x6a
mov r11b, 0x25
mov bl, 0x42
mov dil, 0x55
mov sil, 0x50
xor r14d, r14d
xor al, 5
mov byte [rsp + 0x21], al
xor cl, 5
mov byte [rsp + 0x22], cl
xor dl, 5
mov byte [rsp + 0x23], dl
xor r8b, 5
mov byte [rsp + 0x24], r8b
xor r9b, 5
mov byte [rsp + 0x25], r9b
xor r10b, 5
mov byte [rsp + 0x26], r10b
xor r11b, 5
mov byte [rsp + 0x27], r11b
xor bl, 5
mov byte [rsp + 0x28], bl
xor dil, 5
mov byte [rsp + 0x29], dil
xor sil, 5
mov byte [rsp + 0x2a], sil
mov byte [rsp + 0x2b], r14b
xorps xmm0, xmm0
movups xmmword [rbp + 0x20], xmm0
xorps xmm1, xmm1
movdqa xmmword [rbp + 0x30], xmm1
lea rax, [rsp + 0x21]
mov r8, 0xffffffffffffffff
nop
inc r8
cmp byte [rax + r8], r14b
jne 0x1400081c0
lea rdx, [rsp + 0x21]
lea rcx, [rbp + 0x20]
call fcn.14000c330
nop
mov byte [rsp + 0x20], 0x2e
mov al, 0x66
mov cl, 0x57
mov dl, 0x5e
mov r8b, 0x4b
mov r9b, 0x5c
mov r10b, 3
mov r11b, 0x78
mov bl, 0xe
movzx edi, r11b
mov sil, 0x47
mov r14b, 0x4a
movzx r15d, r8b
mov r12b, 0x41
xor r13d, r13d
xor al, 0x2e
mov byte [rsp + 0x21], al
xor cl, 0x2e
mov byte [rsp + 0x22], cl
xor dl, 0x2e
mov byte [rsp + 0x23], dl
xor r8b, 0x2e
mov byte [rsp + 0x24], r8b
xor r9b, 0x2e
mov byte [rsp + 0x25], r9b
xor r10b, 0x2e
mov byte [rsp + 0x26], r10b
xor r11b, 0x2e
mov byte [rsp + 0x27], r11b
xor bl, 0x2e
mov byte [rsp + 0x28], bl
xor dil, 0x2e
mov byte [rsp + 0x29], dil
xor sil, 0x2e
mov byte [rsp + 0x2a], sil
xor r14b, 0x2e
mov byte [rsp + 0x2b], r14b
xor r15b, 0x2e
mov byte [rsp + 0x2c], r15b
xor r12b, 0x2e
mov byte [rsp + 0x2d], r12b
mov byte [rsp + 0x2e], r13b
xorps xmm0, xmm0
movups xmmword [rbp + 0x40], xmm0
xorps xmm1, xmm1
movdqa xmmword [rbp + 0x50], xmm1
lea rax, [rsp + 0x21]
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rax + r8], r13b
jne 0x140008291
lea rdx, [rsp + 0x21]
lea rcx, [rbp + 0x40]
call fcn.14000c330
nop
movdqa xmm1, xmmword [0x14000fd10]
movdqu xmmword [rsp + 0x20], xmm1
movdqa xmm2, xmmword [0x14000fdb0]
movdqu xmmword [rsp + 0x30], xmm2
mov dl, 0x55
movdqa xmm0, xmm1
psrldq xmm0, 1
movd eax, xmm0
movd ecx, xmm1
xor al, cl
mov byte [rsp + 0x21], al
xor byte [rsp + 0x22], cl
xor byte [rsp + 0x23], cl
xor byte [rsp + 0x24], cl
xor byte [rsp + 0x25], cl
xor byte [rsp + 0x26], cl
xor byte [rsp + 0x27], cl
xor byte [rsp + 0x28], cl
xor byte [rsp + 0x29], cl
xor byte [rsp + 0x2a], cl
xor byte [rsp + 0x2b], cl
xor byte [rsp + 0x2c], cl
xor byte [rsp + 0x2d], cl
xor byte [rsp + 0x2e], cl
xor byte [rsp + 0x2f], cl
movd eax, xmm2
xor al, cl
mov byte [rsp + 0x30], al
xor byte [rsp + 0x31], cl
xor byte [rsp + 0x32], cl
xor byte [rsp + 0x33], cl
xor byte [rsp + 0x34], cl
xor byte [rsp + 0x35], cl
xor byte [rsp + 0x36], cl
xor byte [rsp + 0x37], cl
xor byte [rsp + 0x38], cl
xor byte [rsp + 0x39], cl
xor byte [rsp + 0x3a], cl
xor byte [rsp + 0x3b], cl
xor byte [rsp + 0x3c], cl
xor byte [rsp + 0x3d], cl
xor byte [rsp + 0x3e], cl
xor byte [rsp + 0x3f], cl
xor dl, cl
mov byte [rsp + 0x40], dl
mov byte [rsp + 0x41], 0
xorps xmm0, xmm0
movups xmmword [rbp + 0x60], xmm0
xorps xmm1, xmm1
movdqa xmmword [rbp + 0x70], xmm1
lea rax, [rsp + 0x21]
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rax + r8], 0
jne 0x140008382
lea rdx, [rsp + 0x21]
lea rcx, [rbp + 0x60]
call fcn.14000c330
nop
movdqa xmm1, xmmword [0x14000fcd0]
movdqu xmmword [rsp + 0x20], xmm1
movdqa xmm2, xmmword [0x14000fcf0]
movdqu xmmword [rsp + 0x30], xmm2
movdqa xmm0, xmm1
psrldq xmm0, 1
movd eax, xmm0
movd ecx, xmm1
xor al, cl
mov byte [rsp + 0x21], al
xor byte [rsp + 0x22], cl
xor byte [rsp + 0x23], cl
xor byte [rsp + 0x24], cl
xor byte [rsp + 0x25], cl
xor byte [rsp + 0x26], cl
xor byte [rsp + 0x27], cl
xor byte [rsp + 0x28], cl
xor byte [rsp + 0x29], cl
xor byte [rsp + 0x2a], cl
xor byte [rsp + 0x2b], cl
xor byte [rsp + 0x2c], cl
xor byte [rsp + 0x2d], cl
xor byte [rsp + 0x2e], cl
xor byte [rsp + 0x2f], cl
movd eax, xmm2
xor al, cl
mov byte [rsp + 0x30], al
xor byte [rsp + 0x31], cl
xor byte [rsp + 0x32], cl
xor byte [rsp + 0x33], cl
xor byte [rsp + 0x34], cl
xor byte [rsp + 0x35], cl
xor byte [rsp + 0x36], cl
xor byte [rsp + 0x37], cl
xor byte [rsp + 0x38], cl
xor byte [rsp + 0x39], cl
xor byte [rsp + 0x3a], cl
xor byte [rsp + 0x3b], cl
xor byte [rsp + 0x3c], cl
xor byte [rsp + 0x3d], cl
xor byte [rsp + 0x3e], cl
xor byte [rsp + 0x3f], cl
mov byte [rsp + 0x40], 0
xorps xmm0, xmm0
movups xmmword [rbp + 0x80], xmm0
xorps xmm1, xmm1
movdqa xmmword [rbp + 0x90], xmm1
lea rax, [rsp + 0x21]
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rax + r8], 0
jne 0x140008472
lea rdx, [rsp + 0x21]
lea rcx, [rbp + 0x80]
call fcn.14000c330
nop
mov byte [rsp + 0x20], 0x58
mov al, 0x39
mov cl, 0x36
mov dl, 0x21
mov r8b, 0x2a
mov r9b, 0x2d
movzx r10d, cl
mov r11b, 0x78
mov bl, 0x1f
mov dil, 8
mov sil, 0xd
xor r14d, r14d
xor al, 0x58
mov byte [rsp + 0x21], al
xor cl, 0x58
mov byte [rsp + 0x22], cl
xor dl, 0x58
mov byte [rsp + 0x23], dl
xor r8b, 0x58
mov byte [rsp + 0x24], r8b
xor r9b, 0x58
mov byte [rsp + 0x25], r9b
xor r10b, 0x58
mov byte [rsp + 0x26], r10b
xor r11b, 0x58
mov byte [rsp + 0x27], r11b
xor bl, 0x58
mov byte [rsp + 0x28], bl
xor dil, 0x58
mov byte [rsp + 0x29], dil
xor sil, 0x58
mov byte [rsp + 0x2a], sil
mov byte [rsp + 0x2b], r14b
xorps xmm0, xmm0
movups xmmword [rbp + 0xa0], xmm0
xorps xmm1, xmm1
movdqa xmmword [rbp + 0xb0], xmm1
lea rax, [rsp + 0x21]
mov r8, 0xffffffffffffffff
nop dword [rax + rax]
inc r8
cmp byte [rax + r8], r14b
jne 0x140008530
lea rdx, [rsp + 0x21]
lea rcx, [rbp + 0xa0]
call fcn.14000c330
nop
lea rax, [rsp + 0x60]
mov qword [rsp + 0x20], rax
lea rax, [rbp + 0xc0]
mov qword [rsp + 0x28], rax
movaps xmm0, xmmword [rsp + 0x20]
movdqa xmmword [rsp + 0x20], xmm0
lea rdx, [rsp + 0x20]
lea rcx, [rbp + 0xc0]
call fcn.140009eb0
nop
lea r9, [fcn.14000b180]
mov edx, 0x20
mov r8d, 0xb
lea rcx, [rsp + 0x60]
call fcn.14000d010
mov rbx, qword [rbp + 0xc0]
mov r15, qword [rbp + 0xc8]
cmp rbx, r15
je 0x14000868d
xor r12d, r12d
nop dword [rax]
nop dword [rax + rax]
xorps xmm0, xmm0
movups xmmword [rsp + 0x20], xmm0
mov qword [rsp + 0x30], r12
mov qword [rsp + 0x38], r12
lea rax, [rbp + 0x2e0]
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rax + r8], r12b
jne 0x1400085e0
lea rdx, [rbp + 0x2e0]
lea rcx, [rsp + 0x20]
call fcn.14000c330
mov rdx, rbx
cmp qword [rbx + 0x18], 0xf
jbe 0x140008607
mov rdx, qword [rbx]
lea rcx, [rsp + 0x20]
mov rdi, qword [rsp + 0x20]
mov rsi, qword [rsp + 0x38]
cmp rsi, 0xf
cmova rcx, rdi
mov r8, qword [rsp + 0x30]
cmp r8, qword [rbx + 0x10]
jne 0x140008637
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x140008637
mov r14b, 1
jmp 0x14000863a
xor r14b, r14b
cmp rsi, 0xf
jbe 0x14000866d
lea rdx, [rsi + 1]
mov rax, rdi
cmp rdx, 0x1000
jb 0x140008665
add rdx, 0x27
mov rdi, qword [rdi - 8]
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400086de
mov rcx, rdi
call fcn.14000ce50
test r14b, r14b
jne 0x1400086e5
add rbx, 0x20
cmp rbx, r15
jne 0x1400085c0
mov r15, qword [rbp + 0xc8]
mov rbx, qword [rbp + 0xc0]
test rbx, rbx
je 0x140008741
mov rdx, r15
mov rcx, rbx
call fcn.14000c430
mov rdx, qword [rbp + 0xd0]
mov rcx, qword [rbp + 0xc0]
sub rdx, rcx
and rdx, 0xffffffffffffffe0
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000873c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14000873c
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
mov rcx, qword [rbp + 0xc0]
test rcx, rcx
je 0x140008738
mov rdx, qword [rbp + 0xc8]
call fcn.14000c430
mov rdx, qword [rbp + 0xd0]
mov rcx, qword [rbp + 0xc0]
sub rdx, rcx
and rdx, 0xffffffffffffffe0
mov rax, rcx
cmp rdx, 0x1000
jb 0x140008733
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400086d7
call fcn.14000ce50
mov al, 1
jmp 0x140008751
call fcn.14000ce50
mov rbx, qword [rsp + 0x58]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x10]
xor al, al
mov rcx, qword [rbp + 0x530]
xor rcx, rsp
call fcn.14000ce30
lea r11, [rsp + 0x640]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret