Function at 0x18003c990
Capabilities:
Authenticate hmac
Encode data using xor
Parse pe header

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0xb8]
sub rsp, 0x1b8
mov r14, qword [0x18005be88]
mov rbx, rdx
mov rdi, rcx
movaps xmmword [rsp + 0x1a0], xmm6
mov r13d, 1
xor ecx, ecx
mov edx, r13d
mov esi, r8d
call fcn.1800109b0
test rdi, rdi
je 0x18003ca1f
xor edx, edx
mov rcx, rdi
call fcn.1800139c0
cmp rax, rdi
jbe 0x18003ca1f
xor r8d, r8d
mov rdx, rax
mov rcx, rdi
call fcn.180044690
mov rax, qword [0x18005be88]
mov rcx, qword [rax + 0x1a80]
cmp byte [rcx + 0x83], 0
jne 0x18003ca1f
mov eax, dword [rcx + 0x1a8]
neg eax
sbb ecx, ecx
add ecx, 6
call fcn.1800436b0
movss xmm0, dword [r14 + 0x1928]
mov edi, esi
mulss xmm0, dword [0x18004dfb0]
movss xmm1, dword [r14 + 0x15a4]
addss xmm1, xmm1
addss xmm1, xmm0
movss xmm0, dword [0x18004d040]
movss dword [rsp + 0x70], xmm1
movss dword [rsp + 0x74], xmm1
and edi, 2
je 0x18003ca61
movaps xmm1, xmm0
jmp 0x18003ca66
movss xmm1, dword [rbx + 0xc]
movss xmm2, dword [rbx]
xorps xmm6, xmm6
comiss xmm6, xmm2
movss xmm4, dword [rbx + 4]
movss xmm5, dword [rbx + 8]
movss dword [rbp - 0x30], xmm2
movss dword [rbp - 0x2c], xmm4
movss dword [rbp - 0x28], xmm5
movss dword [rbp - 0x24], xmm1
jbe 0x18003ca95
xorps xmm1, xmm1
jmp 0x18003ca9c
movaps xmm1, xmm0
minss xmm1, xmm2
comiss xmm6, xmm4
movss xmm2, dword [0x18004d74c]
movss xmm3, dword [0x18004d71c]
mulss xmm1, xmm2
addss xmm1, xmm3
cvttss2si r12d, xmm1
mov dword [rbp + 0x118], r12d
jbe 0x18003caca
xorps xmm1, xmm1
jmp 0x18003cad1
movaps xmm1, xmm0
minss xmm1, xmm4
comiss xmm6, xmm5
mulss xmm1, xmm2
addss xmm1, xmm3
cvttss2si r15d, xmm1
mov dword [rbp + 0x108], r15d
jbe 0x18003caef
xorps xmm1, xmm1
jmp 0x18003caf6
movaps xmm1, xmm0
minss xmm1, xmm5
mulss xmm1, xmm2
addss xmm1, xmm3
cvttss2si r14d, xmm1
mov dword [rbp + 0x100], r14d
test edi, edi
je 0x18003cb1a
mov dword [rbp + 0x110], 0xff
jmp 0x18003cb3f
movss xmm1, dword [rbx + 0xc]
comiss xmm6, xmm1
jbe 0x18003cb29
xorps xmm0, xmm0
jmp 0x18003cb2d
minss xmm0, xmm1
mulss xmm0, xmm2
addss xmm0, xmm3
cvttss2si eax, xmm0
mov dword [rbp + 0x110], eax
cmp byte [0x180052ef1], 0
movsd xmm0, qword [0x180052ee8]
movzx eax, word [0x180052ef0]
movsd qword [rbp - 0x40], xmm0
mov word [rbp - 0x38], ax
je 0x18003cb88
xor byte [rbp - 0x3f], 0x32
xor byte [rbp - 0x3e], 0x33
xor byte [rbp - 0x3d], 0x34
xor byte [rbp - 0x3c], 0x35
xor byte [rbp - 0x3b], 0x36
xor byte [rbp - 0x3a], 0x37
xor byte [rbp - 0x39], 0x38
xor byte [rbp - 0x38], 0x39
xor byte [rbp - 0x37], 0x3a
mov byte [rbp - 0x40], 0x23
mov r9, qword [rsp + 0x70]
lea rdx, [rbp - 0x30]
mov r8d, esi
lea rcx, [rbp - 0x40]
and r8d, 0x18060002
or r8d, 0x40
call fcn.180038120
movss xmm1, dword [0x18004d764]
xorps xmm0, xmm0
call fcn.18001e0a0
bt esi, 0x1b
jb 0x18003cdb1
test esi, 0x18000000
je 0x18003cdb1
bt esi, 0x1c
jae 0x18003d8ca
movss xmm3, dword [rbx + 8]
movss xmm2, dword [rbx + 4]
cvtps2pd xmm3, xmm3
cvtps2pd xmm2, xmm2
test edi, edi
je 0x18003ccb5
cmp byte [0x180052f91], 0
movups xmm0, xmmword [0x180052f78]
movzx eax, word [0x180052f90]
movss xmm4, dword [rbx]
movsd xmm1, qword [0x180052f88]
movups xmmword [rsp + 0x78], xmm0
mov word [rbp - 0x70], ax
cvtps2pd xmm4, xmm4
movsd qword [rbp - 0x78], xmm1
je 0x18003cc94
xor byte [rsp + 0x79], 0x32
xor byte [rsp + 0x7a], 0x33
xor byte [rsp + 0x7b], 0x34
xor byte [rsp + 0x7c], 0x35
xor byte [rsp + 0x7d], 0x36
xor byte [rsp + 0x7e], 0x37
xor byte [rsp + 0x7f], 0x38
xor byte [rbp - 0x80], 0x39
xor byte [rbp - 0x7f], 0x3a
xor byte [rbp - 0x7e], 0x3b
xor byte [rbp - 0x7d], 0x3c
xor byte [rbp - 0x7c], 0x3d
xor byte [rbp - 0x7b], 0x3e
xor byte [rbp - 0x7a], 0x3f
xor byte [rbp - 0x79], 0x40
xor byte [rbp - 0x78], 0x41
xor byte [rbp - 0x77], 0x42
xor byte [rbp - 0x76], 0x43
xor byte [rbp - 0x75], 0x44
xor byte [rbp - 0x74], 0x45
xor byte [rbp - 0x73], 0x46
xor byte [rbp - 0x72], 0x47
xor byte [rbp - 0x71], 0x48
xor byte [rbp - 0x70], 0x49
xor byte [rbp - 0x6f], 0x4a
mov byte [rsp + 0x78], 0x48
movq r9, xmm3
lea rcx, [rsp + 0x78]
movq r8, xmm2
movaps xmm1, xmm4
movq rdx, xmm4
call fcn.180044610
jmp 0x18003d8ca
movups xmm1, xmmword [0x180052fa8]
movzx ecx, word [0x180052fb8]
movzx edx, byte [0x180052fba]
movq r9, xmm3
movss xmm5, dword [rbx]
xor dl, 0x53
movss xmm4, dword [rbx + 0xc]
movq r8, xmm2
movups xmm0, xmmword [0x180052f98]
mov word [rbp - 0x68], cx
xor cl, 0x51
xor byte [rbp - 0x67], 0x52
movups xmmword [rbp - 0x78], xmm1
xor byte [rbp - 0x77], 0x42
xor byte [rbp - 0x76], 0x43
xor byte [rbp - 0x75], 0x44
xor byte [rbp - 0x74], 0x45
xor byte [rbp - 0x73], 0x46
xor byte [rbp - 0x72], 0x47
xor byte [rbp - 0x71], 0x48
xor byte [rbp - 0x70], 0x49
xor byte [rbp - 0x6f], 0x4a
xor byte [rbp - 0x6e], 0x4b
xor byte [rbp - 0x6d], 0x4c
xor byte [rbp - 0x6c], 0x4d
xor byte [rbp - 0x6b], 0x4e
xor byte [rbp - 0x6a], 0x4f
xor byte [rbp - 0x69], 0x50
movups xmmword [rsp + 0x78], xmm0
xor byte [rsp + 0x79], 0x32
xor byte [rsp + 0x7a], 0x33
xor byte [rsp + 0x7b], 0x34
xor byte [rsp + 0x7c], 0x35
xor byte [rsp + 0x7d], 0x36
xor byte [rsp + 0x7e], 0x37
xor byte [rsp + 0x7f], 0x38
xor byte [rbp - 0x80], 0x39
xor byte [rbp - 0x7f], 0x3a
xor byte [rbp - 0x7e], 0x3b
xor byte [rbp - 0x7d], 0x3c
xor byte [rbp - 0x7c], 0x3d
xor byte [rbp - 0x7b], 0x3e
xor byte [rbp - 0x7a], 0x3f
xor byte [rbp - 0x79], 0x40
cvtps2pd xmm5, xmm5
mov byte [rbp - 0x68], cl
lea rcx, [rsp + 0x78]
mov byte [rbp - 0x66], dl
mov byte [rsp + 0x78], 0x48
movd eax, xmm1
cvtps2pd xmm4, xmm4
xor al, 0x41
mov byte [rbp - 0x78], al
movaps xmm1, xmm5
movq rdx, xmm5
movsd qword [rsp + 0x20], xmm4
call fcn.180044610
jmp 0x18003d8ca
test edi, edi
je 0x18003cf28
movups xmm1, xmmword [0x180052f08]
mov ecx, dword [0x180052f28]
mov r9d, r14d
movups xmm0, xmmword [0x180052ef8]
movzx r10d, byte [0x180052f2c]
movss xmm2, dword [rbx + 8]
movss xmm3, dword [rbx + 4]
movss xmm4, dword [rbx]
movups xmmword [rsp + 0x78], xmm0
xor byte [rsp + 0x79], 0x32
movups xmm0, xmmword [0x180052f18]
xor byte [rsp + 0x7a], 0x33
xor byte [rsp + 0x7b], 0x34
xor byte [rsp + 0x7c], 0x35
xor byte [rsp + 0x7d], 0x36
xor byte [rsp + 0x7e], 0x37
xor byte [rsp + 0x7f], 0x38
xor byte [rbp - 0x80], 0x39
xor byte [rbp - 0x7f], 0x3a
xor byte [rbp - 0x7e], 0x3b
xor byte [rbp - 0x7d], 0x3c
xor byte [rbp - 0x7c], 0x3d
xor byte [rbp - 0x7b], 0x3e
xor byte [rbp - 0x7a], 0x3f
xor byte [rbp - 0x79], 0x40
movups xmmword [rbp - 0x78], xmm1
xor byte [rbp - 0x77], 0x42
xor byte [rbp - 0x76], 0x43
xor byte [rbp - 0x75], 0x44
xor byte [rbp - 0x74], 0x45
xor byte [rbp - 0x73], 0x46
xor byte [rbp - 0x72], 0x47
xor byte [rbp - 0x71], 0x48
xor byte [rbp - 0x70], 0x49
xor byte [rbp - 0x6f], 0x4a
xor byte [rbp - 0x6e], 0x4b
xor byte [rbp - 0x6d], 0x4c
xor byte [rbp - 0x6c], 0x4d
xor byte [rbp - 0x6b], 0x4e
xor byte [rbp - 0x6a], 0x4f
xor byte [rbp - 0x69], 0x50
movups xmmword [rbp - 0x68], xmm0
xor byte [rbp - 0x67], 0x52
xor byte [rbp - 0x66], 0x53
xor byte [rbp - 0x65], 0x54
xor byte [rbp - 0x64], 0x55
xor byte [rbp - 0x63], 0x56
xor byte [rbp - 0x62], 0x57
xor byte [rbp - 0x61], 0x58
xor byte [rbp - 0x60], 0x59
xor byte [rbp - 0x5f], 0x5a
xor byte [rbp - 0x5e], 0x5b
xor byte [rbp - 0x5d], 0x5c
xor byte [rbp - 0x5c], 0x5d
xor byte [rbp - 0x5b], 0x5e
xor byte [rbp - 0x5a], 0x5f
xor byte [rbp - 0x59], 0x60
mov dword [rbp - 0x58], ecx
xor cl, 0x61
xor byte [rbp - 0x57], 0x62
xor byte [rbp - 0x56], 0x31
xor byte [rbp - 0x55], 0x32
movd eax, xmm1
cvtps2pd xmm2, xmm2
mov byte [rsp + 0x78], 0x23
xor al, 0x41
mov byte [rbp - 0x58], cl
mov byte [rbp - 0x78], al
cvtps2pd xmm3, xmm3
movsd qword [rsp + 0x48], xmm2
movsd qword [rsp + 0x40], xmm3
cvtps2pd xmm4, xmm4
movd eax, xmm0
movsd qword [rsp + 0x38], xmm4
mov dword [rsp + 0x30], r14d
xor al, 0x51
mov dword [rsp + 0x28], r15d
xor r10b, 0x33
mov byte [rbp - 0x68], al
mov byte [rbp - 0x54], r10b
mov dword [rsp + 0x20], r12d
mov r8d, r15d
lea rcx, [rsp + 0x78]
mov edx, r12d
call fcn.180044610
jmp 0x18003d8ca
movss xmm2, dword [rbx + 0xc]
lea rdx, [rsp + 0x78]
movss xmm3, dword [rbx + 8]
mov r9d, 2
movss xmm4, dword [rbx + 4]
mov r10d, 3
movss xmm5, dword [rbx]
mov r11d, 4
movzx eax, word [0x180052f70]
mov ebx, 5
movaps xmm0, xmmword [0x180052f30]
mov edi, 6
movaps xmm1, xmmword [0x180052f40]
mov esi, 7
mov word [rbp - 0x48], ax
xor ecx, ecx
lea rax, [rsp + 0x78]
mov qword [rsp + 0x70], rcx
sub r13, rax
lea rax, [rsp + 0x78]
sub r9, rax
lea rax, [rsp + 0x78]
sub r10, rax
lea rax, [rsp + 0x78]
sub r11, rax
lea rax, [rsp + 0x78]
sub rbx, rax
lea rax, [rsp + 0x78]
sub rdi, rax
lea rax, [rsp + 0x78]
sub rsi, rax
mov eax, 8
sub rax, rdx
lea rdx, [rsp + 0x78]
mov qword [rbp - 0x20], rax
mov eax, 9
sub rax, rdx
lea rdx, [rsp + 0x78]
mov qword [rbp - 0x18], rax
mov eax, 0xa
sub rax, rdx
lea rdx, [rsp + 0x78]
mov qword [rbp - 0x10], rax
mov eax, 0xb
sub rax, rdx
lea rdx, [rsp + 0x78]
mov qword [rbp - 8], rax
mov eax, 0xc
sub rax, rdx
lea rdx, [rsp + 0x78]
mov qword [rbp], rax
mov eax, 0xd
sub rax, rdx
lea rdx, [rsp + 0x78]
mov qword [rbp + 8], rax
mov eax, 0xe
sub rax, rdx
lea rdx, [rsp + 0x78]
mov qword [rbp + 0x10], rax
mov eax, 0xf
sub rax, rdx
lea rdx, [rsp + 0x78]
mov qword [rbp + 0x18], rax
mov eax, 0x10
sub rax, rdx
lea rdx, [rsp + 0x78]
mov qword [rbp + 0x20], rax
mov eax, 0x11
sub rax, rdx
lea rdx, [rsp + 0x78]
movups xmmword [rsp + 0x78], xmm0
mov qword [rbp + 0x28], rax
movaps xmm0, xmmword [0x180052f50]
movups xmmword [rbp - 0x78], xmm1
movaps xmm1, xmmword [0x180052f60]
cvtps2pd xmm2, xmm2
cvtps2pd xmm3, xmm3
cvtps2pd xmm4, xmm4
cvtps2pd xmm5, xmm5
movups xmmword [rbp - 0x68], xmm0
movups xmmword [rbp - 0x58], xmm1
mov r12, qword [rbp - 0x20]
mov eax, 0x12
sub rax, rdx
mov r15, qword [rbp - 0x18]
mov r14, qword [rbp - 0x10]
lea rdx, [rsp + 0x78]
mov qword [rbp + 0x30], rax
mov eax, 0x13
sub rax, rdx
lea rdx, [rsp + 0x78]
mov qword [rbp + 0x38], rax
mov eax, 0x14
sub rax, rdx
lea rdx, [rsp + 0x78]
mov qword [rbp + 0x40], rax
mov eax, 0x15
sub rax, rdx
lea rdx, [rsp + 0x78]
mov qword [rbp + 0x48], rax
mov eax, 0x16
sub rax, rdx
lea rdx, [rsp + 0x78]
mov qword [rbp + 0x50], rax
mov eax, 0x17
sub rax, rdx
lea rdx, [rsp + 0x78]
mov qword [rbp + 0x58], rax
mov eax, 0x18
sub rax, rdx
lea rdx, [rsp + 0x78]
mov qword [rbp + 0x60], rax
mov eax, 0x19
sub rax, rdx
lea rdx, [rsp + 0x78]
mov qword [rbp + 0x68], rax
mov eax, 0x1a
sub rax, rdx
lea rdx, [rsp + 0x78]
mov qword [rbp + 0x70], rax
mov eax, 0x1b
sub rax, rdx
lea rdx, [rsp + 0x78]
mov qword [rbp + 0x78], rax
mov eax, 0x1c
sub rax, rdx
lea rdx, [rsp + 0x78]
mov qword [rbp + 0x80], rax
mov eax, 0x1d
sub rax, rdx
lea rdx, [rsp + 0x78]
mov qword [rbp + 0x88], rax
mov eax, 0x1e
sub rax, rdx
lea rdx, [rsp + 0x78]
mov qword [rbp + 0x90], rax
mov eax, 0x1f
sub rax, rdx
lea rdx, [rsp + 0x78]
mov qword [rbp + 0x98], rax
mov eax, 0x20
sub rax, rdx
mov qword [rbp - 0x40], rax
movabs rax, 0x47ae147ae147ae15
nop word [rax + rax]
mul rcx
mov rax, rcx
lea r8, [rsp + 0x78]
sub rax, rdx
add r8, rcx
shr rax, 1
add rax, rdx
shr rax, 5
movsx eax, al
imul ecx, eax, 0x32
movzx eax, byte [rsp + 0x70]
sub al, cl
lea rcx, [r8 + r13]
add al, 0x31
xor byte [r8], al
movabs rax, 0x47ae147ae147ae15
mul rcx
sub rcx, rdx
shr rcx, 1
add rcx, rdx
shr rcx, 5
movsx eax, cl
imul ecx, eax, 0x32
movzx eax, byte [rsp + 0x70]
sub al, cl
lea rcx, [r8 + r9]
add al, 0x32
xor byte [r8 + 1], al
movabs rax, 0x47ae147ae147ae15
mul rcx
sub rcx, rdx
shr rcx, 1
add rcx, rdx
shr rcx, 5
movsx eax, cl
imul ecx, eax, 0x32
movzx eax, byte [rsp + 0x70]
sub al, cl
lea rcx, [r8 + r10]
add al, 0x33
xor byte [r8 + 2], al
movabs rax, 0x47ae147ae147ae15
mul rcx
sub rcx, rdx
shr rcx, 1
add rcx, rdx
shr rcx, 5
movsx eax, cl
imul ecx, eax, 0x32
movzx eax, byte [rsp + 0x70]
sub al, cl
lea rcx, [r8 + r11]
add al, 0x34
xor byte [r8 + 3], al
movabs rax, 0x47ae147ae147ae15
mul rcx
sub rcx, rdx
shr rcx, 1
add rcx, rdx
shr rcx, 5
movsx eax, cl
imul ecx, eax, 0x32
movzx eax, byte [rsp + 0x70]
sub al, cl
lea rcx, [r8 + rbx]
add al, 0x35
xor byte [r8 + 4], al
movabs rax, 0x47ae147ae147ae15
mul rcx
sub rcx, rdx
shr rcx, 1
add rcx, rdx
shr rcx, 5
movsx eax, cl
imul ecx, eax, 0x32
movzx eax, byte [rsp + 0x70]
sub al, cl
lea rcx, [r8 + rdi]
add al, 0x36
xor byte [r8 + 5], al
movabs rax, 0x47ae147ae147ae15
mul rcx
sub rcx, rdx
shr rcx, 1
add rcx, rdx
shr rcx, 5
movsx eax, cl
imul ecx, eax, 0x32
movzx eax, byte [rsp + 0x70]
sub al, cl
lea rcx, [r8 + rsi]
add al, 0x37
xor byte [r8 + 6], al
movabs rax, 0x47ae147ae147ae15
mul rcx
sub rcx, rdx
shr rcx, 1
add rcx, rdx
shr rcx, 5
movsx eax, cl
imul ecx, eax, 0x32
movzx eax, byte [rsp + 0x70]
sub al, cl
lea rcx, [r8 + r12]
add al, 0x38
xor byte [r8 + 7], al
movabs rax, 0x47ae147ae147ae15
mul rcx
sub rcx, rdx
shr rcx, 1
add rcx, rdx
shr rcx, 5
movsx eax, cl
imul ecx, eax, 0x32
movzx eax, byte [rsp + 0x70]
sub al, cl
lea rcx, [r8 + r15]
add al, 0x39
xor byte [r8 + 8], al
movabs rax, 0x47ae147ae147ae15
mul rcx
sub rcx, rdx
shr rcx, 1
add rcx, rdx
shr rcx, 5
movsx eax, cl
imul ecx, eax, 0x32
movzx eax, byte [rsp + 0x70]
sub al, cl
lea rcx, [r8 + r14]
add al, 0x3a
xor byte [r8 + 9], al
movabs rax, 0x47ae147ae147ae15
mul rcx
sub rcx, rdx
shr rcx, 1
add rcx, rdx
shr rcx, 5
movsx eax, cl
imul ecx, eax, 0x32
movzx eax, byte [rsp + 0x70]
sub al, cl
mov rcx, qword [rbp - 8]
add al, 0x3b
add rcx, r8
xor byte [r8 + 0xa], al
movabs rax, 0x47ae147ae147ae15
mul rcx
sub rcx, rdx
shr rcx, 1
add rcx, rdx
shr rcx, 5
movsx eax, cl
imul ecx, eax, 0x32
movzx eax, byte [rsp + 0x70]
sub al, cl
mov rcx, qword [rbp]
add al, 0x3c
add rcx, r8
xor byte [r8 + 0xb], al
movabs rax, 0x47ae147ae147ae15
mul rcx
sub rcx, rdx
shr rcx, 1
add rcx, rdx
shr rcx, 5
movsx eax, cl
imul ecx, eax, 0x32
movzx eax, byte [rsp + 0x70]
sub al, cl
mov rcx, qword [rbp + 8]
add rcx, r8
add al, 0x3d
xor byte [r8 + 0xc], al
movabs rax, 0x47ae147ae147ae15
mul rcx
sub rcx, rdx
shr rcx, 1
add rcx, rdx
shr rcx, 5
movsx eax, cl
imul ecx, eax, 0x32
movzx eax, byte [rsp + 0x70]
sub al, cl
mov rcx, qword [rbp + 0x10]
add rcx, r8
add al, 0x3e
xor byte [r8 + 0xd], al
movabs rax, 0x47ae147ae147ae15
mul rcx
sub rcx, rdx
shr rcx, 1
add rcx, rdx
shr rcx, 5
movsx eax, cl
imul ecx, eax, 0x32
movzx eax, byte [rsp + 0x70]
sub al, cl
mov rcx, qword [rbp + 0x18]
add rcx, r8
add al, 0x3f
xor byte [r8 + 0xe], al
movabs rax, 0x47ae147ae147ae15
mul rcx
sub rcx, rdx
shr rcx, 1
add rcx, rdx
shr rcx, 5
movsx eax, cl
imul ecx, eax, 0x32
movzx eax, byte [rsp + 0x70]
sub al, cl
mov rcx, qword [rbp + 0x20]
add rcx, r8
add al, 0x40
xor byte [r8 + 0xf], al
movabs rax, 0x47ae147ae147ae15
mul rcx
sub rcx, rdx
shr rcx, 1
add rcx, rdx
shr rcx, 5
movsx eax, cl
imul ecx, eax, 0x32
movzx eax, byte [rsp + 0x70]
sub al, cl
mov rcx, qword [rbp + 0x28]
add al, 0x41
add rcx, r8
xor byte [r8 + 0x10], al
movabs rax, 0x47ae147ae147ae15
mul rcx
sub rcx, rdx
shr rcx, 1
add rcx, rdx
shr rcx, 5
movsx eax, cl
imul ecx, eax, 0x32
movzx eax, byte [rsp + 0x70]
sub al, cl
mov rcx, qword [rbp + 0x30]
add al, 0x42
xor byte [r8 + 0x11], al
add rcx, r8
movabs rax, 0x47ae147ae147ae15
mul rcx
sub rcx, rdx
shr rcx, 1
add rcx, rdx
shr rcx, 5
movsx eax, cl
imul ecx, eax, 0x32
movzx eax, byte [rsp + 0x70]
sub al, cl
mov rcx, qword [rbp + 0x38]
add rcx, r8
add al, 0x43
xor byte [r8 + 0x12], al
movabs rax, 0x47ae147ae147ae15
mul rcx
sub rcx, rdx
shr rcx, 1
add rcx, rdx
shr rcx, 5
movsx eax, cl
imul ecx, eax, 0x32
movzx eax, byte [rsp + 0x70]
sub al, cl
mov rcx, qword [rbp + 0x40]
add rcx, r8
add al, 0x44
xor byte [r8 + 0x13], al
movabs rax, 0x47ae147ae147ae15
mul rcx
sub rcx, rdx
shr rcx, 1
add rcx, rdx
shr rcx, 5
movsx eax, cl
imul ecx, eax, 0x32
movzx eax, byte [rsp + 0x70]
sub al, cl
mov rcx, qword [rbp + 0x48]
add rcx, r8
add al, 0x45
xor byte [r8 + 0x14], al
movabs rax, 0x47ae147ae147ae15
mul rcx
sub rcx, rdx
shr rcx, 1
add rcx, rdx
shr rcx, 5
movsx eax, cl
imul ecx, eax, 0x32
movzx eax, byte [rsp + 0x70]
sub al, cl
mov rcx, qword [rbp + 0x50]
add rcx, r8
add al, 0x46
xor byte [r8 + 0x15], al
movabs rax, 0x47ae147ae147ae15
mul rcx
sub rcx, rdx
shr rcx, 1
add rcx, rdx
shr rcx, 5
movsx eax, cl
imul ecx, eax, 0x32
movzx eax, byte [rsp + 0x70]
sub al, cl
mov rcx, qword [rbp + 0x58]
add rcx, r8
add al, 0x47
xor byte [r8 + 0x16], al
movabs rax, 0x47ae147ae147ae15
mul rcx
sub rcx, rdx
shr rcx, 1
add rcx, rdx
shr rcx, 5
movsx eax, cl
imul ecx, eax, 0x32
movzx eax, byte [rsp + 0x70]
sub al, cl
add al, 0x48
mov rcx, qword [rbp + 0x60]
xor byte [r8 + 0x17], al
add rcx, r8
movabs rax, 0x47ae147ae147ae15
mul rcx
sub rcx, rdx
shr rcx, 1
add rcx, rdx
shr rcx, 5
movsx eax, cl
imul ecx, eax, 0x32
movzx eax, byte [rsp + 0x70]
sub al, cl
mov rcx, qword [rbp + 0x68]
add rcx, r8
add al, 0x49
xor byte [r8 + 0x18], al
movabs rax, 0x47ae147ae147ae15
mul rcx
sub rcx, rdx
shr rcx, 1
add rcx, rdx
shr rcx, 5
movsx eax, cl
imul ecx, eax, 0x32
movzx eax, byte [rsp + 0x70]
sub al, cl
mov rcx, qword [rbp + 0x70]
add rcx, r8
add al, 0x4a
xor byte [r8 + 0x19], al
movabs rax, 0x47ae147ae147ae15
mul rcx
sub rcx, rdx
shr rcx, 1
add rcx, rdx
shr rcx, 5
movsx eax, cl
imul ecx, eax, 0x32
movzx eax, byte [rsp + 0x70]
sub al, cl
mov rcx, qword [rbp + 0x78]
add rcx, r8
add al, 0x4b
xor byte [r8 + 0x1a], al
movabs rax, 0x47ae147ae147ae15
mul rcx
sub rcx, rdx
shr rcx, 1
add rcx, rdx
shr rcx, 5
movsx eax, cl
imul ecx, eax, 0x32
movzx eax, byte [rsp + 0x70]
sub al, cl
mov rcx, qword [rbp + 0x80]
add rcx, r8
add al, 0x4c
xor byte [r8 + 0x1b], al
movabs rax, 0x47ae147ae147ae15
mul rcx
sub rcx, rdx
shr rcx, 1
add rcx, rdx
shr rcx, 5
movsx eax, cl
imul ecx, eax, 0x32
movzx eax, byte [rsp + 0x70]
sub al, cl
mov rcx, qword [rbp + 0x88]
add al, 0x4d
add rcx, r8
xor byte [r8 + 0x1c], al
movabs rax, 0x47ae147ae147ae15
mul rcx
sub rcx, rdx
shr rcx, 1
add rcx, rdx
shr rcx, 5
movsx eax, cl
imul ecx, eax, 0x32
movzx eax, byte [rsp + 0x70]
sub al, cl
mov rcx, qword [rbp + 0x90]
add rcx, r8
add al, 0x4e
xor byte [r8 + 0x1d], al
movabs rax, 0x47ae147ae147ae15
mul rcx
sub rcx, rdx
shr rcx, 1
add rcx, rdx
shr rcx, 5
movsx eax, cl
imul ecx, eax, 0x32
movzx eax, byte [rsp + 0x70]
sub al, cl
mov rcx, qword [rbp + 0x98]
add rcx, r8
add al, 0x4f
xor byte [r8 + 0x1e], al
movabs rax, 0x47ae147ae147ae15
mul rcx
sub rcx, rdx
shr rcx, 1
add rcx, rdx
shr rcx, 5
movsx eax, cl
imul ecx, eax, 0x32
movzx eax, byte [rsp + 0x70]
sub al, cl
mov rcx, qword [rbp - 0x40]
add al, 0x50
add rcx, r8
xor byte [r8 + 0x1f], al
movabs rax, 0x47ae147ae147ae15
mul rcx
sub rcx, rdx
shr rcx, 1
add rcx, rdx
shr rcx, 5
movsx eax, cl
imul ecx, eax, 0x32
movzx eax, byte [rsp + 0x70]
sub al, cl
mov rcx, qword [rsp + 0x70]
add al, 0x51
add rcx, 0x21
xor byte [r8 + 0x20], al
movabs rax, 0x47ae147ae147ae15
mov qword [rsp + 0x70], rcx
cmp rcx, 0x42
jb 0x18003d1b0
mov eax, dword [rbp + 0x110]
lea rcx, [rsp + 0x78]
mov r14d, dword [rbp + 0x100]
mov r9d, r14d
mov r15d, dword [rbp + 0x108]
mov r8d, r15d
mov r12d, dword [rbp + 0x118]
mov edx, r12d
movsd qword [rsp + 0x60], xmm2
movsd qword [rsp + 0x58], xmm3
movsd qword [rsp + 0x50], xmm4
movsd qword [rsp + 0x48], xmm5
mov dword [rsp + 0x40], eax
mov dword [rsp + 0x38], r14d
mov dword [rsp + 0x30], r15d
mov dword [rsp + 0x28], r12d
mov dword [rsp + 0x20], eax
call fcn.180044610
call fcn.1800132e0
movaps xmm6, xmmword [rsp + 0x1a0]
add rsp, 0x1b8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret