Function at 0x1d8c373fa
Capabilities:
Authenticate hmac
Encode data using xor

Disassembly:
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x68
movabs rax, 0x7500730044
mov qword [rsp + 0x50], rax
push rbx
inc ebx
psllq mm1, 0x27
push r8
pmaxub mm3, mm4
pop r8
not rbx
psrlq mm3, 0x55
pop rbx
lea rbx, [rsp + 0x50]
mov rcx, rbx
call sub.msvcrt.dll_wcslen
cmp rax, 5
jne 0x1d8c3746b
push r12
pmaxub mm1, mm7
nop
neg r12b
push r11
emms
emms
push r8
ror r8w, 0xe
pop r8
neg r12w
nop
pop r11
psrad mm4, 0x25
shl r12d, 5
dec r12d
pop r12
jmp 0x1d8c3755b
mov rax, rbx
lea rdx, [rsp + 0x56]
push r15
dec r15
movhlps xmm3, xmm5
push r11
psllq mm6, 0x5f
pop r11
nop
shl r15, 3
pop r15
xor word [rax], 0x26
cmp r15b, 0x4a
jne 0x1d8c37519
push rcx
pand mm2, mm0
push r13
emms
push r11
punpckldq mm2, mm3
push r8
emms
pop r8
punpckhbw mm0, mm5
pop r11
subps xmm14, xmm15
pop r13
emms
pop rcx
jmp 0x1d8c3753e
push rax
emms
neg al
emms
rcpss xmm14, xmm13
push r15
sbb rax, 6
nop
emms
xorps xmm12, xmm10
pop r15
inc eax
pxor mm2, mm1
neg rax
nop
pop rax
push r14
dec r14
push r11
nop
pop r11
movlhps xmm10, xmm12
pop r14
add rax, 2
cmp rax, rdx
jne 0x1d8c37473
push r8
por mm5, mm4
paddsw mm7, mm6
psrad mm4, 0x68
push r15
pcmpeqb mm0, mm1
not r8d
psrld mm0, 0x23
push r14
comiss xmm0, xmm3
dec r8
emms
pop r14
addss xmm14, xmm5
mov r8, r15
comiss xmm0, xmm15
pop r15
dec r8
inc r8
nop
pop r8
movabs rax, 0x7c004b002e
mov qword [rsp + 0x50], rax
cmp r15w, 0x62
jne 0x1d8c375be
push r12
paddb mm3, mm0
push rax
psllq mm1, 0x4b
nop
pop rax
emms
pop r12
jmp 0x1d8c375d0
push r14
inc r14d
push rdx
por mm1, mm2
emms
pop rdx
rcpps xmm15, xmm9
pop r14
push rbx
paddd mm6, mm5
push r10
nop
psrad mm7, 0x2b
pop r10
shl bx, 0x12
pop rbx
mov dword [rsp + 0x48], 0x510059
mov word [rsp + 0x4c], 0
push rcx
psrad mm0, 0x3a
pop rcx
lea rsi, [rsp + 0x48]
mov rcx, rbx
mov rdx, rsi
call sub.msvcrt.dll_wcscmp
test eax, eax
jne 0x1d8c37648
push r10
not r10
push r15
psrlw mm0, 0x61
push rax
ror r15b, 0x16
push rcx
paddsw mm1, mm2
push r8
inc r15d
push r12
movups xmm2, xmm1
pop r12
emms
pop r8
addss xmm14, xmm4
pop rcx
xadd r15d, r10d
pop rax
psrld mm3, 0x33
pop r15
neg r10w
pop r10
jmp 0x1d8c3767c
push rdx
mov rdx, 2
push r13
mov r13b, 0xe
push r12
nop
emms
push rax
rcpss xmm7, xmm9
shl r13w, 0x11
and r13b, r12b
pop rax
emms
pminsw mm3, mm0
pop r12
pslld mm3, 0x36
pop r13
dec rdx
jne 0x1d8c37650
pop rdx
push r9
rol r9d, 2
push r15
psubsb mm3, mm2
psraw mm1, 0x5c
pop r15
nop
pop r9
cmp r15, 0x42
jne 0x1d8c376c3
push r11
emms
push r14
pslld mm3, 0x34
inc r14d
pop r14
sar r11, 0xa
pop r11
jmp 0x1d8c376d2
push r9
emms
push r10
nop
nop
pop r10
neg r9
pop r9
push rcx
sub rcx, 3
push r13
or cl, r13b
movss xmm5, xmm4
pop r13
nop
pop rcx
push r14
emms
shl r14w, 0xe
nop
rcl r14d, 0x11
orps xmm9, xmm2
push r12
sbb r12w, 0x17
nop
emms
sbb r14, r12
movss xmm9, xmm15
pop r12
nop
sar r14d, 0xa
xorps xmm12, xmm8
not r14w
nop
not r14d
pop r14
call sym.AddDeviceInformationMb.dll_DirectionColorsDescriptor
push r12
punpcklbw mm2, mm7
push r14
xchg r12d, r14d
push r15
emms
push rax
xor r12, rax
push r8
psllq mm5, 0xe
pop r8
psllq mm7, 8
pop rax
xchg r12w, r15w
pop r15
sbb r14b, r12b
pop r14
nop
pop r12
movabs rax, 0x7c004b002e
mov qword [rsp + 0x50], rax
cmp r15w, 0x62
jne 0x1d8c37777
push r12
paddb mm3, mm0
push rax
psllq mm1, 0x4b
nop
pop rax
emms
pop r12
jmp 0x1d8c37789
push r14
inc r14d
push rdx
por mm1, mm2
emms
pop rdx
rcpps xmm15, xmm9
pop r14
push rbx
paddd mm6, mm5
push r10
nop
psrad mm7, 0x2b
pop r10
shl bx, 0x12
pop rbx
mov dword [rsp + 0x48], 0x510059
mov word [rsp + 0x4c], 0
push rcx
psrad mm0, 0x3a
pop rcx
mov rdx, rsi
mov rcx, rbx
call sub.msvcrt.dll_wcscmp
test eax, eax
jne 0x1d8c377fc
push r10
not r10
push r15
psrlw mm0, 0x61
push rax
ror r15b, 0x16
push rcx
paddsw mm1, mm2
push r8
inc r15d
push r12
movups xmm2, xmm1
pop r12
emms
pop r8
addss xmm14, xmm4
pop rcx
xadd r15d, r10d
pop rax
psrld mm3, 0x33
pop r15
neg r10w
pop r10
jmp 0x1d8c37830
push rdx
mov rdx, 2
push r13
mov r13b, 0xe
push r12
nop
emms
push rax
rcpss xmm7, xmm9
shl r13w, 0x11
and r13b, r12b
pop rax
emms
pminsw mm3, mm0
pop r12
pslld mm3, 0x36
pop r13
dec rdx
jne 0x1d8c37804
pop rdx
push r9
rol r9d, 2
push r15
psubsb mm3, mm2
psraw mm1, 0x5c
pop r15
nop
pop r9
push rdx
nop
subss xmm12, xmm14
inc edx
psrld mm3, 0x62
neg dl
inc rdx
neg dx
nop
nop
emms
xorps xmm4, xmm15
minps xmm8, xmm14
pop rdx
push r12
psrlq mm0, 0x1e
por mm4, mm5
maxss xmm14, xmm13
psraw mm1, 0x62
neg r12
pxor mm4, mm0
nop
pop r12
rdtsc
mov dword [rsp + 0x50], 0x66524d64
mov edi, edx
mov ebp, eax
mov word [rsp + 0x54], 0x61
push r14
psrlq mm2, 0x36
emms
not r14b
mov r14w, 9
emms
push rdx
inc rdx
mov dx, r14w
cmp dx, r14w
psllq mm7, 0x2c
and dx, r14w
pop rdx
emms
addss xmm6, xmm5
pslld mm1, 0xc
dec r14d
emms
andnps xmm9, xmm15
pop r14
mov word [rsp + 0x48], 0x282c
mov byte [rsp + 0x4a], 0
push r8
psrlq mm6, 0x56
push r9
adc r9, r8
push r11
neg r9
pop r11
emms
pop r9
movups xmm11, xmm15
pop r8
mov rdx, rsi
mov rcx, rbx
call sub.msvcrt.dll_strcmp
test eax, eax
jne 0x1d8c3791f
push rbx
rcr bl, 0x16
push rax
emms
push rcx
emms
pop rcx
packssdw mm6, mm3
pop rax
movaps xmm15, xmm9
pop rbx
jmp 0x1d8c37968
mov rdx, rsi
lea rax, [rsp + 0x4a]
push rdx
nop
psrad mm6, 0x47
shl dl, 7
nop
not edx
orps xmm13, xmm2
emms
rcl rdx, 6
neg edx
shr dx, 5
emms
nop
pop rdx
xor byte [rdx], 0x69
push rcx
mov rcx, 2
push r12
push r14
pop r14
pop r12
dec rcx
jne 0x1d8c37952
pop rcx
inc rdx
cmp rdx, rax
jne 0x1d8c37927
push r9
mov r9, 3
push rbx
emms
push rdx
not bl
push r12
dec r12
push r8
movss xmm5, xmm0
push r10
psraw mm0, 0x37
push r9
rcl r8b, 0x14
pop r9
xadd edx, r8d
pop r10
shl bl, 0x13
pop r8
psubw mm6, mm7
pop r12
nop
pop rdx
inc ebx
pop rbx
dec r9
jne 0x1d8c37971
pop r9
movabs rax, 0x7c00360076002a
shl rdi, 0x20
mov dword [rsp + 0x58], 0x60
mov qword [rsp + 0x50], rax
or rdi, rbp
push rcx
paddd mm3, mm5
push r15
psrlq mm3, 0x49
push r12
sub r15, rcx
push r10
nop
push r9
xorps xmm0, xmm11
pop r9
mov r12, 8
pop r10
pcmpeqw mm1, mm3
pop r12
psrad mm1, 0x56
pop r15
not rcx
pop rcx
mov rcx, rbx
call sub.msvcrt.dll_wcslen
cmp rax, 2
jne 0x1d8c37a29
push rbx
nop
push r10
subps xmm0, xmm14
push r15
emms
push rax
emms
pop rax
dec r10d
pop r15
neg r10b
pop r10
mov bl, 0xf
pop rbx
jmp 0x1d8c37a90
mov rax, rbx
lea rdx, [rsp + 0x5a]
push r8
psrld mm6, 0x46
push r12
and r8w, r12w
pop r12
nop
pop r8
xor word [rax], 0x77
cmp r15w, bx
jne 0x1d8c37a63
push r9
psubsb mm0, mm6
push r14
pminsw mm3, mm1
rcl r9w, 0xd
pop r14
emms
pop r9
jmp 0x1d8c37a76
push rbx
nop
push r15
rcl r15w, 0xf
inc r15d
pop r15
movhlps xmm9, xmm2
pop rbx
push r12
nop
push r11
emms
pmullw mm1, mm5
pop r11
dec r12
pop r12
add rax, 2
cmp rax, rdx
jne 0x1d8c37a31
push r10
psrlq mm7, 0xb
push r11
sbb r11d, 0x16
subps xmm10, xmm8
push r15
inc r10
shl r11, 0x15
packssdw mm6, mm4
push rax
psrlw mm4, 0x50
psraw mm0, 0x53
psraw mm3, 0x3a
xadd r10w, r15w
push r14
psrld mm7, 0x69
test r10b, r15b
shl r10b, 8
comiss xmm13, xmm12
sbb r11, r14
pop r14
shr r10b, 0xb
not r15b
inc r11d
por mm3, mm1
pop rax
pmaddwd mm5, mm6
neg r10d
xchg r15b, r10b
pop r15
orps xmm14, xmm10
psrlw mm3, 0x1f
pop r11
nop
pop r10
push r8
mov r8d, 4
push r10
punpckhwd mm7, mm5
inc r8
push rbx
rcpps xmm1, xmm4
psllq mm4, 0x4d
subps xmm13, xmm14
push r11
shl r11b, 0x12
not r10
movlhps xmm13, xmm1
emms
push r13
pmaxub mm5, mm2
psraw mm7, 0x3c
mulps xmm15, xmm1
nop
mulss xmm14, xmm5
pop r13
not r11w
psubsb mm1, mm3
xadd r10, r11
add r8b, r11b
pop r11
emms
cmp r10d, r8d
nop
pop rbx
sbb r10d, 0x17
emms
pop r10
inc r8d
pop r8
call sym.AddDeviceInformationMb.dll_NumberSamMonitorUp
mov qword [rsp + 0x40], 0xffffffffffffd8f0
push r9
comiss xmm11, xmm10
push rcx
adc r9, rcx
push r13
xor rcx, r9
pop r13
emms
pop rcx
comiss xmm1, xmm4
pop r9
mov ecx, 0x14
mov rax, rdi
xor edx, edx
div rcx
imul edi, edx, 0x3e8
push rax
mov rax, 2
push r9
emms
nop
nop
paddsw mm6, mm1
pand mm1, mm4
addss xmm14, xmm10
nop
pop r9
dec rax
jne 0x1d8c37ba0
pop rax
lea eax, [rdi + 0x2710]
mov dword [rsp + 0x58], 0x6a
imul rax, qword [rsp + 0x40]
mov qword [rsp + 0x40], rax
movabs rax, 0x61003f00610041
mov qword [rsp + 0x50], rax
push r9
mov r9, 1
push r11
push rbx
pop rbx
pop r11
dec r9
jne 0x1d8c37beb
pop r9
movabs rax, 0x3700770030
mov qword [rsp + 0x48], rax
push r8
mov r8, 2
push rax
push r9
pop r9
pop rax
dec r8
jne 0x1d8c37c10
pop r8
mov rdx, rsi
mov rcx, rbx
call sub.msvcrt.dll_wcscmp
test eax, eax
jne 0x1d8c37ce1
mov rax, rbx
lea rdx, [rsp + 0x5a]
push r9
nop
emms
rcr r9b, 0x16
movups xmm10, xmm11
ror r9b, 0x15
push rcx
nop
sar rcx, 4
rcpss xmm10, xmm0
punpckhwd mm2, mm0
push r8
nop
paddsw mm3, mm7
dec ecx
push r12
dec r12
xor r9d, ecx
push r15
emms
pop r15
rcl r12, 7
mov r8d, r9d
pop r12
nop
emms
psrad mm2, 0x2b
pop r8
dec r9d
inc ecx
nop
psrld mm6, 6
pop rcx
nop
emms
punpcklwd mm6, mm2
andps xmm6, xmm9
emms
pop r9
xor word [rax], 0x43
push r14
mov r14b, 0x10
push r15
movaps xmm3, xmm6
push r12
pcmpgtw mm6, mm5
push r13
nop
push rax
paddb mm6, mm2
push r10
paddw mm3, mm5
pop r10
rcr r14, 0x14
pop rax
xor r14, r12
pop r13
pslld mm4, 0x42
pop r12
nop
pop r15
rol r14, 7
pop r14
add rax, 2
cmp rax, rdx
jne 0x1d8c37c38
jmp 0x1d8c37d14
mov rax, rsi
lea rdx, [rsp + 0x4e]
push r14
andps xmm4, xmm7
push r8
emms
pop r8
nop
pop r14
xor word [rax], 6
push rax
mov rax, 2
push rbx
pop rbx
dec rax
jne 0x1d8c37d03
pop rax
add rax, 2
cmp rax, rdx
jne 0x1d8c37ce9
push r10
maxss xmm10, xmm11
push r12
not r10b
push r15
movaps xmm14, xmm10
push r11
emms
push r9
sbb r10w, 0x14
push r14
emms
push rbx
por mm1, mm3
pop rbx
emms
pop r14
rcpps xmm8, xmm7
pop r9
maxss xmm1, xmm5
pop r11
maxps xmm15, xmm5
pop r15
and r12, r10
pop r12
nop
pop r10
lea rdx, [rsp + 0x38]
lea rcx, [rsp + 0x30]
call fcn.1d8c465e4
lea rdx, [rsp + 0x40]
xor ecx, ecx
call fcn.1d8c44fef
mov rdx, rbx
mov rcx, rsi
call fcn.1d8c465e4
push rbx
psraw mm7, 0x12
psrad mm7, 0x5a
push rdx
movss xmm0, xmm3
nop
push r9
nop
rcpss xmm5, xmm13
push r10
emms
maxps xmm11, xmm0
pop r10
add dl, r9b
inc r9d
pop r9
xchg edx, ebx
packuswb mm0, mm5
pop rdx
neg bx
paddd mm6, mm4
pop rbx
imul rax, qword [rsp + 0x48], 0x3e8
mov word [rsp + 0x28], 0x5140
mov byte [rsp + 0x2a], 0
cqo
idiv qword [rsp + 0x38]
mov rsi, rax
imul rax, qword [rsp + 0x30], 0x3e8
cqo
idiv qword [rsp + 0x50]
sub esi, eax
push r13
sub r13d, 0x15
push r10
emms
psrlq mm3, 0xe
pop r10
rcr r13b, 1
pop r13
mov dword [rsp + 0x2b], 0x675e5023
mov byte [rsp + 0x2f], 0
push r15
nop
push r12
psrad mm4, 0x54
psrad mm1, 0x2e
push rdx
psrlq mm4, 0x4e
dec r12d
emms
push r13
psubusw mm7, mm1
emms
shr r12d, 1
shl r15b, 4
push rbx
pandn mm0, mm2
nop
emms
shr r13b, 6
rol dx, 4
pop rbx
emms
emms
orps xmm5, xmm13
emms
pop r13
nop
emms
pand mm3, mm2
pop rdx
nop
sar r12d, 0xc
pop r12
emms
pop r15
lea rbx, [rsp + 0x28]
lea rdx, [rsp + 0x2b]
mov rcx, rbx
call sub.msvcrt.dll__mbscmp
test eax, eax
jne 0x1d8c37ec9
mov rcx, rbx
lea rax, [rsp + 0x2a]
push r9
rcr r9, 0xc
emms
push rbx
psrad mm4, 0x17
pop rbx
nop
inc r9
pop r9
xor byte [rcx], 0x55
push rax
emms
pcmpgtb mm0, mm7
psllq mm4, 0x69
emms
dec eax
push r15
addss xmm6, xmm0
emms
psrlw mm4, 8
nop
nop
pop r15
nop
dec rax
emms
ror rax, 0x16
not ax
andps xmm11, xmm8
pop rax
inc rcx
cmp rcx, rax
jne 0x1d8c37e78
jmp 0x1d8c37edd
push rcx
emms
nop
sub rcx, 0xf
nop
packssdw mm5, mm7
ror cx, 0xc
inc rcx
pop rcx
push rcx
neg cl
push r11
add rcx, r11
push r8
pand mm3, mm4
pop r8
rcr r11w, 5
pop r11
emms
pop rcx
add edi, 0x2328
cmp edi, esi
jae 0x1d8c37f9b
push r12
movlhps xmm11, xmm6
inc r12
packuswb mm2, mm7
emms
pmaddwd mm3, mm6
inc r12
rcpps xmm15, xmm14
emms
emms
paddusw mm7, mm4
sar r12, 7
nop
pop r12
mov ecx, 0x20
call sub.msvcrt.dll_malloc
mov rcx, rax
xor eax, eax
cmp r15, rax
jne 0x1d8c37f46
push rdx
rcl rdx, 0xf
pop rdx
jmp 0x1d8c37f4b
push r14
nop
pop r14
push r8
dec r8d
pop r8
xor qword [rcx + rax*8], 0x78
push r12
packuswb mm7, mm1
push rcx
sbb r12, 9
push rbx
adc ebx, ecx
pop rbx
emms
pop rcx
subss xmm14, xmm1
pop r12
inc rax
cmp rax, 4
jne 0x1d8c37f39
call sub.msvcrt.dll_free
push r9
dec r9
nop
mulss xmm3, xmm0
nop
psllq mm3, 0x46
ror r9, 0xa
sbb r9w, 5
pop r9
xor eax, eax
jmp 0x1d8c37fd3
push r10
rcl r10b, 0xb
push r8
emms
push rax
shr ax, 0xc
push r14
paddsb mm6, mm3
push r9
pcmpeqb mm6, mm0
pop r9
shr r10w, 5
pop r14
sbb r8, 0x15
pop rax
addps xmm3, xmm10
pop r8
sar r10, 0x13
pop r10
mov eax, 1
add rsp, 0x68
pop rbx
pop rsi
pop rdi
pop rbp
ret