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

Disassembly:
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x578
mov rbp, rcx
push r11
mov r11, 2
push r8
pop r8
dec r11
jne 0x1d8c57cf8
pop r11
cmp r15b, 0x45
jne 0x1d8c57d1d
push rbx
comiss xmm1, xmm9
push r11
psrlw mm2, 0x6b
emms
pop r11
emms
pop rbx
jmp 0x1d8c57d2e
push rax
psubw mm5, mm1
push r8
nop
pxor mm0, mm4
pop r8
movaps xmm15, xmm10
pop rax
push rcx
not cl
push r12
psubusw mm5, mm3
pslld mm4, 0x3c
pop r12
orps xmm1, xmm11
pop rcx
push r8
psrlq mm6, 0x25
push rcx
emms
sbb r8d, 5
push r11
packuswb mm7, mm1
psraw mm0, 0x47
punpckldq mm4, mm3
pop r11
rcr ecx, 0xb
sub r8w, cx
pop rcx
emms
pop r8
mov qword [rsp + 0x70], 0xfffffffffffffffe
cmp r15, 0x42
jne 0x1d8c57da4
push r11
emms
push r14
pslld mm3, 0x34
inc r14d
pop r14
sar r11, 0xa
pop r11
jmp 0x1d8c57db3
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
mov dword [rsp + 0xa0], 0x66524d64
xor ecx, ecx
mov qword [rsp + 0x78], rcx
mov word [rsp + 0xa4], 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 + 0x94], 0x282c
mov byte [rsp + 0x96], 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
lea rsi, [rsp + 0x94]
lea rdi, [rsp + 0xa0]
mov rdx, rsi
mov rcx, rdi
call sub.msvcrt.dll_strcmp
test eax, eax
jne 0x1d8c57e80
push rbx
rcr bl, 0x16
push rax
emms
push rcx
emms
pop rcx
packssdw mm6, mm3
pop rax
movaps xmm15, xmm9
pop rbx
jmp 0x1d8c57ecc
mov rax, rsi
lea rdx, [rsp + 0x96]
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 [rax], 0x69
push rcx
mov rcx, 2
push r12
push r14
pop r14
pop r12
dec rcx
jne 0x1d8c57eb6
pop rcx
inc rax
cmp rax, rdx
jne 0x1d8c57e8b
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 0x1d8c57ed5
pop r9
xor edx, edx
or r8, 0xffffffffffffffff
lea r9, [rsp + 0x78]
or rcx, 0xffffffffffffffff
mov dword [rsp + 0x28], edx
mov dword [rsp + 0x20], edx
mov rdx, qword [rsp + 0x70]
mov dword [rsp + 0x30], 2
call fcn.1d8c4bf18
test eax, eax
je 0x1d8c57f9b
push r14
mov r14, 3
push rbx
rol ebx, 0x15
inc rbx
push r10
ror rbx, 2
mov r10, 0xa
push r15
pmulhuw mm3, mm0
sub rbx, 0x13
push rdx
add r15w, dx
emms
push rcx
nop
emms
pop rcx
shl dl, 0xe
packsswb mm2, mm6
pop rdx
emms
dec r15
pop r15
not bl
punpckhwd mm1, mm7
pop r10
psrlw mm1, 0xb
nop
pop rbx
dec r14
jne 0x1d8c57f46
pop r14
call fcn.1d8c527e7
jmp 0x1d8c588d3
mov dword [rsp + 0xa0], 0x66524d64
mov word [rsp + 0xa4], 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 + 0x94], 0x282c
mov byte [rsp + 0x96], 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, rdi
call sub.msvcrt.dll_strcmp
test eax, eax
jne 0x1d8c5803f
push rbx
rcr bl, 0x16
push rax
emms
push rcx
emms
pop rcx
packssdw mm6, mm3
pop rax
movaps xmm15, xmm9
pop rbx
jmp 0x1d8c5808b
mov rax, rsi
lea rdx, [rsp + 0x96]
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 [rax], 0x69
push rcx
mov rcx, 2
push r12
push r14
pop r14
pop r12
dec rcx
jne 0x1d8c58075
pop rcx
inc rax
cmp rax, rdx
jne 0x1d8c5804a
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 0x1d8c58094
pop r9
xor eax, eax
or r9, 0xffffffffffffffff
xor r8d, r8d
mov edx, 0x1fffff
mov qword [rsp + 0x50], rax
lea rcx, [rsp + 0x70]
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x38], rax
mov rax, qword [rsp + 0x78]
mov dword [rsp + 0x30], 5
mov qword [rsp + 0x28], rax
mov rax, qword [section..rdata]
mov qword [rsp + 0x20], rax
call fcn.1d8c4f05a
test eax, eax
je 0x1d8c5814f
push rbx
nop
push rdx
nop
push r11
pandn mm1, mm3
push r10
nop
push r13
emms
push r12
nop
pop r12
psrlq mm2, 0x3f
pop r13
emms
pop r10
emms
pop r11
addss xmm2, xmm0
pop rdx
sub bx, 0x14
pop rbx
jmp 0x1d8c588d3
cmp r15b, 0x45
jne 0x1d8c58169
push rbx
comiss xmm1, xmm9
push r11
psrlw mm2, 0x6b
emms
pop r11
emms
pop rbx
jmp 0x1d8c5817a
push rax
psubw mm5, mm1
push r8
nop
pxor mm0, mm4
pop r8
movaps xmm15, xmm10
pop rax
push rcx
not cl
push r12
psubusw mm5, mm3
pslld mm4, 0x3c
pop r12
orps xmm1, xmm11
pop rcx
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
mov dword [rsp + 0xd0], 0x10000b
push rdx
nop
push r15
psubsb mm6, mm3
push r10
nop
push rbx
emms
pop rbx
sar r15w, 0xe
pop r10
nop
pop r15
nop
pop rdx
mov rcx, qword [rsp + 0x70]
mov rdx, rdi
call fcn.1d8c48169
test eax, eax
je 0x1d8c582b1
push r13
nop
nop
orps xmm13, xmm12
pminsw mm1, mm4
nop
nop
shl r13, 0x10
shl r13w, 0x13
rol r13w, 0xe
nop
ror r13w, 6
emms
pop r13
mov ecx, 3
mov edx, 4
call sub.msvcrt.dll_calloc
mov rcx, rax
xor eax, eax
push r13
inc r13
push r12
emms
push rbx
emms
push r15
pmulhuw mm7, mm0
pop r15
xorps xmm4, xmm7
pop rbx
or r13w, r12w
pop r12
pcmpeqb mm6, mm1
pop r13
xor dword [rcx + rax*4], 3
push rcx
psllq mm5, 0x13
push r11
nop
pop r11
psrlq mm5, 0x35
pop rcx
inc rax
cmp rax, 3
jne 0x1d8c5822d
call sub.msvcrt.dll_free
push r10
punpckldq mm1, mm5
nop
punpckldq mm5, mm1
push r8
xchg r10d, r8d
adc r10, r8
shr r10d, 0x10
push rbx
paddusb mm0, mm7
pcmpeqb mm1, mm7
neg r10
pop rbx
emms
psllq mm3, 0x5c
pminsw mm0, mm1
pop r8
psrad mm7, 0x54
psadbw mm0, mm1
packssdw mm0, mm6
pop r10
mov rcx, qword [rsp + 0x70]
call fcn.1d8c439b7
mov dword [rsp + 0x94], 0x66524d64
mov word [rsp + 0x98], 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 + 0x8a], 0x282c
mov byte [rsp + 0x8c], 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
lea rbx, [rsp + 0x8a]
mov rcx, rsi
mov rdx, rbx
call sub.msvcrt.dll_strcmp
test eax, eax
jne 0x1d8c5835d
push rbx
rcr bl, 0x16
push rax
emms
push rcx
emms
pop rcx
packssdw mm6, mm3
pop rax
movaps xmm15, xmm9
pop rbx
jmp 0x1d8c583a9
mov rax, rbx
lea rdx, [rsp + 0x8c]
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 [rax], 0x69
push rcx
mov rcx, 2
push r12
push r14
pop r14
pop r12
dec rcx
jne 0x1d8c58393
pop rcx
inc rax
cmp rax, rdx
jne 0x1d8c58368
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 0x1d8c583b2
pop r9
mov qword [rsp + 0x120], rbp
push r14
sbb r14, 0xc
pminsw mm3, mm6
nop
ror r14b, 9
push r11
emms
inc r14
neg r11w
sar r14d, 0xe
pop r11
dec r14d
psrad mm3, 0x2a
nop
paddsb mm2, mm4
pop r14
mov rcx, qword [rsp + 0x70]
mov rdx, rdi
call fcn.1d8c4a6f7
test eax, eax
je 0x1d8c58495
push r14
mov r14, 3
push rbx
rol ebx, 0x15
inc rbx
push r10
ror rbx, 2
mov r10, 0xa
push r15
pmulhuw mm3, mm0
sub rbx, 0x13
push rdx
add r15w, dx
emms
push rcx
nop
emms
pop rcx
shl dl, 0xe
packsswb mm2, mm6
pop rdx
emms
dec r15
pop r15
not bl
punpckhwd mm1, mm7
pop r10
psrlw mm1, 0xb
nop
pop rbx
dec r14
jne 0x1d8c5843b
pop r14
call fcn.1d8c527e7
mov rcx, qword [rsp + 0x70]
call fcn.1d8c439b7
movabs rax, 0x61003f00610041
mov dword [rsp + 0x9c], 0x6a
mov qword [rsp + 0x94], rax
push r9
mov r9, 1
push r11
push rbx
pop rbx
pop r11
dec r9
jne 0x1d8c584bb
pop r9
movabs rax, 0x3700770030
mov qword [rsp + 0x8a], rax
push r8
mov r8, 2
push rax
push r9
pop r9
pop rax
dec r8
jne 0x1d8c584e3
pop r8
mov rdx, rbx
mov rcx, rsi
call sub.msvcrt.dll_wcscmp
test eax, eax
jne 0x1d8c585b7
mov rax, rsi
lea rdx, [rsp + 0x9e]
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 0x1d8c5850e
jmp 0x1d8c585ed
mov rax, rbx
lea rdx, [rsp + 0x90]
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 0x1d8c585dc
pop rax
add rax, 2
cmp rax, rdx
jne 0x1d8c585c2
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
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
mov rcx, qword [rsp + 0x70]
lea rdx, [rsp + 0x6c]
call fcn.1d8c4f965
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
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
movabs rax, 0x610035004a0069
mov qword [rsp + 0x80], 0xffffffffffffd8f0
mov qword [rsp + 0x8a], rax
mov word [rsp + 0x92], 0
push rbx
sar bl, 0xa
push r15
emms
push r8
mov ebx, r15d
pop r8
xchg r15w, bx
pop r15
paddb mm2, mm0
pop rbx
movabs rax, 0x59007800790044
mov word [rsp + 0x9c], 0
mov qword [rsp + 0x94], rax
cmp r15w, bx
jne 0x1d8c58732
push rax
emms
push r14
emms
inc r14d
pop r14
rcr ax, 0x10
pop rax
jmp 0x1d8c58748
push r13
pslld mm2, 0x23
push r11
rol r11d, 0x15
not r13
pop r11
inc r13
pop r13
push rdx
maxss xmm6, xmm15
push r10
not dl
subps xmm13, xmm2
pop r10
nop
pop rdx
mov rdx, rsi
mov rcx, rbx
call sub.msvcrt.dll_wcscmp
test eax, eax
jne 0x1d8c587e5
lea rax, [rsp + 0x92]
push r14
emms
emms
pcmpeqd mm4, mm7
push r11
paddusb mm4, mm1
psrlq mm5, 0x32
nop
push r12
minps xmm0, xmm8
pandn mm7, mm3
emms
pop r12
adc r14d, r11d
emms
nop
pop r11
mov r14, 0x16
shl r14b, 0x15
emms
pop r14
xor word [rbx], 0x77
push r8
pandn mm2, mm3
nop
movaps xmm11, xmm10
neg r8b
push r13
xorps xmm13, xmm2
psrld mm6, 0x57
ucomiss xmm14, xmm12
nop
pop r13
psrlw mm0, 0x15
movups xmm7, xmm3
pxor mm2, mm0
psllq mm1, 0x16
pop r8
add rbx, 2
cmp rbx, rax
jne 0x1d8c58771
jmp 0x1d8c5881f
push r12
shr r12, 8
nop
andps xmm2, xmm14
push r14
xor r14w, r12w
psrlw mm7, 0x53
emms
push r9
adc r12, r14
paddusw mm3, mm0
nop
pop r9
sbb r14d, 0x14
nop
dec r12
pop r14
dec r12d
shl r12w, 0xc
sub r12d, 0x10
pop r12
push r13
nop
sbb r13b, 2
emms
sar r13w, 0x10
push rax
nop
psrad mm2, 0x4c
neg r13
push rdx
psllq mm6, 0x58
sar eax, 0xe
push rcx
nop
pop rcx
pslld mm4, 4
psraw mm5, 0x48
pop rdx
psrlq mm7, 0x35
neg r13d
nop
pop rax
shl r13b, 1
punpckhbw mm4, mm1
neg r13
emms
pop r13
imul rax, qword [rsp + 0x80], 0x32
mov qword [rsp + 0x80], rax
push r14
neg r14d
minps xmm5, xmm15
push rcx
xor r14, rcx
neg cl
push rbx
pmullw mm6, mm2
sub ebx, r14d
push r9
rcr cl, 0xf
not rbx
pop r9
emms
pslld mm6, 0x33
pop rbx
psrad mm3, 0x2a
xorps xmm11, xmm6
pop rcx
pmaxub mm1, mm7
pmaxub mm4, mm3
pop r14
xor ecx, ecx
lea rdx, [rsp + 0x80]
call fcn.1d8c44fef
push r12
psrlq mm0, 0x1e
por mm4, mm5
maxss xmm14, xmm13
psraw mm1, 0x62
neg r12
pxor mm4, mm0
nop
pop r12
add rsp, 0x578
pop rbx
pop rsi
pop rdi
pop rbp
ret