Function at 0x1400212f6
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x28
lea rbp, [rsp + 0x20]
mov qword [rbp], 0xfffffffffffffffe
mov r14, r9
mov r9, r8
mov rsi, rdx
mov rbx, rcx
imul eax, dword [0x14029a380], 0xf897b0fc
imul ecx, dword [0x14029a384], 0x58997501
add eax, ecx
add eax, 0x62f66f69
lea rax, [rax*4 + 0xf]
and rax, 0xfffffffffffffff0
call fcn.1400fe1d0
sub rsp, rax
mov r15, rsp
imul eax, dword [0x14029a388], 0x35c61b8d
imul ecx, dword [0x14029a38c], 0x4a39ecd5
add eax, ecx
add eax, 0x44e61a5d
shl rax, 4
call fcn.1400fe1d0
sub rsp, rax
mov rdi, rsp
imul eax, dword [0x14029a390], 0x5f53dce9
imul ecx, dword [str.3hB2OK], 0x3bea65c0
add eax, ecx
add eax, 0xb71b737d
shl rax, 6
call fcn.1400fe1d0
sub rsp, rax
mov r8, rsp
imul eax, dword [0x14029a398], 0x326cfaea
imul ecx, dword [0x14029a39c], 0x24b8b405
add eax, ecx
add eax, 0xf8b4625c
shl rax, 5
call fcn.1400fe1d0
sub rsp, rax
mov r13, rsp
mov qword [r8 + 0x38], 0
mov al, byte [0x14029a3a0]
inc al
nop
sub rsp, 0x30
and al, 1
mov byte [rsp + 0x20], al
mov rcx, rdi
mov qword [rbp - 0x18], r9
mov rdx, r9
xor r9d, r9d
call fcn.140022f7e
add rsp, 0x30
nop
mov r12, qword [rbp + 0x78]
mov rax, rdi
mov qword [rbp - 8], rdi
movzx eax, byte [rdi]
cmp eax, 1
je 0x1400215be
cmp eax, 9
jne 0x140021733
mov eax, dword [0x1402bcbf8]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
cmp byte [rax + 0x34c], 0
je 0x1400220b4
mov eax, dword [0x1402bcbf8]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
lea rbx, [rax + 0x338]
movzx eax, byte [0x14029a3a1]
movzx ecx, byte [0x14029a3a2]
shl eax, 3
lea eax, [rax + rax*4]
imul ecx, ecx, 0xffffffb7
add cl, al
add cl, 0x83
cmp byte [rbx + 0x12], cl
je 0x140021570
movabs rax, 0xb0e260009b987372
movabs rdx, 0xd68e56be25458ff6
movabs r8, 0xf43bfc7a840e99f
movabs r9, 0xd4faa3d5e1abe795
movabs r10, 0xdc375c0129058b6e
xor r11d, r11d
imul ecx, dword [0x14029a3a8], 0xf0361161
imul r14d, dword [str.lqo_], 0x333607b9
add r14d, ecx
mov ecx, r14d
add cl, 0xb8
mov r14, r11
shl r14, cl
mov rcx, qword [0x14029a3b8]
shr rcx, 0x31
xor ecx, 0x57
and r14d, ecx
mov rcx, qword [0x14029a3c0]
imul rcx, rax
mov r15, qword [0x14029a3c8]
imul r15, rdx
add r15, rcx
add r15, r8
mov ecx, r14d
shr r15, cl
mov ecx, r15d
xor byte [rbx + r11], r15b
mov rcx, qword [0x14029a3d0]
mov r14, qword [0x14029a3d8]
shrd r14, rcx, 0x11
xor r14, r9
add r14, r11
mov rcx, qword [0x14029a3e0]
mov r11, qword [0x14029a3e8]
shrd r11, rcx, 4
mov rcx, r11
xor rcx, r10
mov r11, r14
cmp r14, rcx
jne 0x1400214b5
movzx eax, byte [0x14029a3f0]
movzx ecx, byte [0x14029a3f1]
lea eax, [rax + rax*4]
lea eax, [rax + rax*2]
imul ecx, ecx, 0x4e
add cl, al
add cl, 0xbf
mov byte [rbx + 0x12], cl
mov eax, dword [0x14029a3f4]
mov ecx, dword [0x14029a3f8]
shrd ecx, eax, 0x1f
xor ecx, 0x31a67557
mov dword [r12], ecx
mov r14, r12
add r14, 8
sub rsp, 0x20
mov rcx, rbx
call fcn.1401b6280
add rsp, 0x20
nop
sub rsp, 0x20
mov rcx, r14
mov rdx, rbx
mov r8, rax
call fcn.140002e0c
add rsp, 0x20
nop
jmp 0x1400218ce
mov rax, qword [rbp - 8]
mov rcx, qword [rax + 8]
nop
sub rsp, 0x20
lea rdx, [0x1402beed8]
call fcn.14006ae64
add rsp, 0x20
nop
mov rcx, qword [rbp - 8]
mov rcx, qword [rcx + 8]
cmp rax, qword [rcx]
je 0x140021733
nop
sub rsp, 0x20
lea rdx, [0x1402beed8]
mov rcx, qword [rbp - 8]
call fcn.140023230
add rsp, 0x20
nop
mov cl, byte [0x14029a3fc]
mov dl, byte [reloc.WS2_32.dll_ntohl]
shr dl, 6
shl cl, 2
or cl, dl
xor cl, 0x5a
cmp byte [rax], cl
jne 0x140021733
mov al, byte [0x14029a3fe]
mov cl, byte [0x14029a3ff]
shr cl, 1
shl al, 7
or al, cl
xor al, 0x1f
mov rcx, qword [rbp - 8]
cmp byte [rcx], al
jne 0x140021733
mov rax, qword [rbp - 8]
mov rcx, qword [rax + 8]
nop
sub rsp, 0x20
lea rdx, [0x1402beef8]
call fcn.14006ae64
add rsp, 0x20
nop
mov rcx, qword [rbp - 8]
mov rcx, qword [rcx + 8]
cmp rax, qword [rcx]
je 0x140021733
nop
sub rsp, 0x20
lea rdx, [0x1402beef8]
mov rcx, qword [rbp - 8]
call fcn.140023230
add rsp, 0x20
nop
movzx ecx, byte [0x14029a400]
movzx edx, byte [0x14029a401]
imul ecx, ecx, 0x2c
imul edx, edx, 0x75
add dl, cl
add dl, 0xab
cmp byte [rax], dl
jne 0x140021733
nop
sub rsp, 0x20
lea rdx, [0x1402beed8]
mov rcx, qword [rbp - 8]
call fcn.140023230
add rsp, 0x20
nop
mov ecx, dword [0x14029a464]
mov r8d, dword [0x14029a468]
shrd r8d, ecx, 0x18
mov rdx, rax
xor r8d, 0x90df6bac
mov dword [r15], r8d
nop
sub rsp, 0x20
lea rcx, [0x14021d840]
mov r8, r15
call fcn.14002f4ec
add rsp, 0x20
nop
mov r15d, dword [r15]
mov rax, qword [rbx]
mov rcx, qword [rax]
cmp rcx, rax
je 0x140021cb8
mov rdx, qword [rcx + 0x10]
cmp dword [rdx + 8], r15d
je 0x140021ae3
mov rdx, qword [rcx]
mov rcx, rdx
cmp rdx, rax
jne 0x140021715
jmp 0x140021cb8
mov eax, dword [0x1402bcbf8]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
cmp byte [rax + 0x378], 0
je 0x140022034
mov eax, dword [0x1402bcbf8]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
lea rbx, [rax + 0x34d]
mov al, byte [0x14029a403]
mov cl, byte [0x14029a404]
shr cl, 4
shl al, 4
or al, cl
xor al, 0xbd
cmp byte [rbx + 0x27], al
je 0x140021885
movabs rax, 0x3dd15d1ab0367ce4
movabs rdx, 0xe4335b28176fe0ac
movabs r8, 0xc297403a897c7889
movabs r9, 0x6416e5602b9fc2a7
movabs r10, 0x8879eb51eced9fe5
xor r11d, r11d
mov ecx, dword [0x14029a410]
imul r14d, dword [0x14029a408], 0x2f030a95
shl ecx, 7
sub r14d, ecx
mov ecx, r14d
add cl, 0x1f
mov r14, r11
shl r14, cl
imul ecx, dword [0x14029a418], 0x328c9302
imul r15d, dword [0x14029a420], 0xeede3da0
add ecx, r15d
add ecx, 0xab043244
and r14d, ecx
mov rcx, qword [0x14029a428]
mov r15, qword [0x14029a430]
shrd r15, rcx, 7
xor r15, rax
mov ecx, r14d
shr r15, cl
mov ecx, r15d
xor byte [rbx + r11], r15b
mov rcx, qword [0x14029a438]
imul rcx, rdx
mov r14, qword [0x14029a440]
imul r14, r8
add r14, rcx
add r11, r9
mov rcx, r11
add rcx, r14
mov r11, qword [0x14029a448]
mov r14, qword [0x14029a450]
shrd r14, r11, 0x1d
xor r14, r10
mov r11, rcx
cmp rcx, r14
jne 0x1400217c1
mov al, byte [0x14029a458]
mov cl, byte [0x14029a459]
shr cl, 6
shl al, 2
or al, cl
xor al, 0xab
mov byte [rbx + 0x27], al
mov eax, dword [0x14029a45c]
mov ecx, dword [0x14029a460]
shrd ecx, eax, 0x18
xor ecx, 0xcaaded6b
mov dword [r12], ecx
mov r14, r12
add r14, 8
sub rsp, 0x20
mov rcx, rbx
call fcn.1401b6280
add rsp, 0x20
nop
sub rsp, 0x20
mov rcx, r14
mov rdx, rbx
mov r8, rax
call fcn.140002e0c
add rsp, 0x20
nop
xorps xmm0, xmm0
movups xmmword [rsi], xmm0
add rdi, 8
mov rax, qword [rbp - 8]
mov dl, byte [rax]
nop
sub rsp, 0x20
mov rcx, rdi
call fcn.14002af04
add rsp, 0x20
nop
mov rdi, qword [rbp - 0x18]
mov rax, qword [rdi + 0x18]
mov rcx, qword [0x14029a580]
mov rdx, qword [0x14029a588]
shrd rdx, rcx, 0x27
movabs rcx, 0x9ff0df013b772a5a
xor rcx, rdx
cmp rax, rcx
jbe 0x140021a4e
mov rcx, qword [0x14029a590]
shr rcx, 0x27
xor cl, 0x12
shl rax, cl
mov rcx, qword [0x14029a598]
mov r8, qword [0x14029a5a0]
shrd r8, rcx, 0xb
mov rdx, qword [rdi]
movabs rcx, 0xba849058d2f811b1
xor rcx, r8
add rcx, rax
movabs r8, 0x94f65629679b70d9
imul r8, qword [0x14029a5a8]
movabs r9, 0x30b76284451e6847
imul r9, qword [0x14029a5b0]
add r9, r8
movabs r8, 0xfeebb44c3633c73a
add r8, r9
cmp rcx, r8
jbe 0x140021a38
mov rcx, qword [rdx - 8]
movabs r8, 0xe81f82d79cc17c1b
imul r8, qword [0x14029a5b8]
movabs r9, 0xdd8c14453356f1f5
imul r9, qword [0x14029a5c0]
add r9, r8
add r9, rdx
sub r9, rcx
movabs rdx, 0x72d66157ed21fdb0
add rdx, r9
mov r8, qword [0x14029a5c8]
mov r9, qword [0x14029a5d0]
shrd r9, r8, 0x1e
movabs r8, 0xd6407e98d2a79943
xor r8, r9
cmp rdx, r8
jae 0x14002233a
movabs rdx, 0x3bf6276fb39242b
imul rdx, qword [0x14029a5d8]
movabs r8, 0xa439c7f699e4515b
imul r8, qword [0x14029a5e0]
add r8, rdx
movabs rdx, 0xbdfb73d3185aa22d
add rdx, r8
add rdx, rax
mov rax, rdx
jmp 0x140021a3e
mov rax, rcx
mov rcx, rdx
mov rdx, rax
sub rsp, 0x20
call fcn.1400d883c
add rsp, 0x20
mov rcx, qword [0x14029a5e8]
mov rdx, qword [0x14029a5f0]
shrd rdx, rcx, 3
movabs rcx, 0x8fbdb2c77e38486f
xor rcx, rdx
mov qword [rdi + 0x10], rcx
movabs rcx, 0xf299394772abe04b
imul rcx, qword [0x14029a5f8]
movabs rdx, 0xf3ad66a9b0253c69
imul rdx, qword [0x14029a600]
add rdx, rcx
movabs rcx, 0x80e90533248ae427
add rcx, rdx
mov qword [rdi + 0x18], rcx
movzx ecx, word [0x14029a608]
movzx edx, word [0x14029a60a]
imul ecx, ecx, 0xffffbd3c
imul edx, edx, 0xffff9582
add ecx, edx
add ecx, 0xbac
mov word [rdi], cx
mov rax, rsi
lea rsp, [rbp + 8]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
cmp rax, rcx
je 0x140021cb8
mov eax, dword [0x1402bcbf8]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
cmp byte [rax + 0x39c], 0
je 0x1400222cf
mov eax, dword [0x1402bcbf8]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
lea rbx, [rax + 0x379]
movzx eax, byte [0x14029a46c]
movzx ecx, byte [0x14029a46d]
imul eax, eax, 0x55
imul ecx, ecx, 0xffffffca
add cl, al
add cl, 0x28
cmp byte [rbx + 0x22], cl
je 0x140021c6a
movabs r10, 0x4c79d240cb89ac88
movabs r11, 0x7ce3f4567ac74d4b
movabs r14, 0xb85dfa54d602abe
movabs r15, 0x8d2abb15c5302031
movabs r13, 0x51137187d516eeeb
xor eax, eax
movabs r9, 0x61cddba2c3f2863b
imul ecx, dword [0x14029a470], 0x8c500714
imul edx, dword [0x14029a478], 0xe4c67ec6
add edx, ecx
mov ecx, edx
add cl, 0x31
mov rdx, rax
shl rdx, cl
imul ecx, dword [0x14029a480], 0xa4383538
imul r8d, dword [0x14029a488], 0xa6eae996
add ecx, r8d
add ecx, 0x5d1ac9b8
and edx, ecx
mov rcx, qword [0x14029a490]
movabs r8, 0x317025756ca167df
imul rcx, r8
mov r8, qword [0x14029a498]
imul r8, r9
add r8, rcx
movabs rcx, 0x2200e85c4015fad1
add r8, rcx
mov ecx, edx
shr r8, cl
mov ecx, r8d
xor byte [rbx + rax], r8b
mov rcx, qword [0x14029a4a0]
movabs rdx, 0x71c6b01a4a6c47d6
imul rcx, rdx
mov rdx, qword [0x14029a4a8]
imul rdx, r10
add rdx, rcx
add rax, r11
add rax, rdx
mov rcx, qword [0x14029a4b0]
imul rcx, r14
mov rdx, qword [0x14029a4b8]
imul rdx, r15
add rdx, rcx
add rdx, r13
cmp rax, rdx
jne 0x140021b86
mov al, byte [0x14029a4c0]
mov cl, byte [0x14029a4c1]
shr cl, 3
shl al, 5
or al, cl
xor al, 0xa7
mov byte [rbx + 0x22], al
mov eax, dword [0x14029a4c4]
mov ecx, dword [0x14029a4c8]
shrd ecx, eax, 0x1c
xor ecx, 0x28c778d2
mov dword [r12], ecx
mov r14, r12
add r14, 8
sub rsp, 0x20
mov rcx, rbx
call fcn.1401b6280
add rsp, 0x20
nop
sub rsp, 0x20
mov rcx, r14
mov rdx, rbx
mov r8, rax
call fcn.140002e0c
add rsp, 0x20
nop
jmp 0x1400218ce
nop
sub rsp, 0x20
lea rdx, [0x1402beef8]
mov rcx, qword [rbp - 8]
call fcn.140023230
add rsp, 0x20
nop
nop
mov rcx, rax
sub rsp, 0x20
mov rdx, r13
call fcn.1400311f6
add rsp, 0x20
nop
mov rdx, qword [0x1402bef50]
nop
sub rsp, 0x20
mov qword [rbp - 0x10], r13
mov rcx, r13
call fcn.140023598
add rsp, 0x20
nop
test al, al
je 0x140021d2e
nop
sub rsp, 0x30
mov qword [rsp + 0x20], r12
mov rcx, rbx
mov rdx, rsi
mov r8d, r15d
mov r9, qword [rbp - 8]
call fcn.140023612
add rsp, 0x30
nop
jmp 0x14002211d
mov rdx, qword [0x1402bef58]
nop
sub rsp, 0x20
mov rcx, qword [rbp - 0x10]
call fcn.140023598
add rsp, 0x20
nop
mov r13, qword [rbp + 0x70]
test al, al
je 0x140021d80
nop
sub rsp, 0x40
mov qword [rsp + 0x30], r12
mov qword [rsp + 0x28], r13
mov qword [rsp + 0x20], r14
mov rcx, rbx
mov rdx, rsi
mov r8d, r15d
mov r9, qword [rbp - 8]
call fcn.140023d64
add rsp, 0x40
nop
jmp 0x14002211d
mov rdx, qword [0x1402bef60]
nop
sub rsp, 0x20
mov rcx, qword [rbp - 0x10]
call fcn.140023598
add rsp, 0x20
nop
test al, al
je 0x140021dce
nop
sub rsp, 0x40
mov qword [rsp + 0x30], r12
mov qword [rsp + 0x28], r13
mov qword [rsp + 0x20], r14
mov rcx, rbx
mov rdx, rsi
mov r8d, r15d
mov r9, qword [rbp - 8]
call fcn.140024d76
add rsp, 0x40
nop
jmp 0x14002211d
mov rdx, qword [0x1402bef68]
nop
sub rsp, 0x20
mov rcx, qword [rbp - 0x10]
call fcn.140023598
add rsp, 0x20
nop
test al, al
je 0x140021e1c
nop
sub rsp, 0x40
mov qword [rsp + 0x30], r12
mov qword [rsp + 0x28], r13
mov qword [rsp + 0x20], r14
mov rcx, rbx
mov rdx, rsi
mov r8d, r15d
mov r9, qword [rbp - 8]
call fcn.140025c72
add rsp, 0x40
nop
jmp 0x14002211d
mov rdx, qword [0x1402bef70]
nop
sub rsp, 0x20
mov rcx, qword [rbp - 0x10]
call fcn.140023598
add rsp, 0x20
nop
test al, al
je 0x140021ff3
mov eax, dword [0x1402bcbf8]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
cmp byte [rax + 0x3c0], 0
je 0x140022302
mov eax, dword [0x1402bcbf8]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
lea rbx, [rax + 0x39d]
mov al, byte [0x14029a4cd]
mov cl, byte [reloc.WS2_32.dll_getsockname]
shr cl, 5
shl al, 3
or al, cl
xor al, 0x20
cmp byte [rbx + 0x1f], al
je 0x140021f9a
movabs rdx, 0x1281fcd95565aa8e
movabs r8, 0xf3c24c85c897fbd
movabs r9, 0xb818b297d09ef14f
movabs r10, 0x9b3b1d736c68428d
movabs r11, 0x157c0bda338b1e83
movabs r14, 0x4d9fff622ca3ee1b
xor r15d, r15d
imul ecx, dword [0x14029a4d0], 0x1de9f38c
imul r13d, dword [0x14029a4d8], 0x44cfebf6
add r13d, ecx
mov ecx, r13d
add cl, 0x93
mov r13, r15
shl r13, cl
mov rcx, qword [0x14029a4e0]
shr rcx, 0x2a
xor ecx, 0x3e
and r13d, ecx
mov rcx, qword [0x14029a4e8]
movabs rax, 0xdc8e656e5622460c
imul rcx, rax
mov rax, qword [0x14029a4f0]
imul rax, rdx
add rax, rcx
add rax, r8
mov ecx, r13d
shr rax, cl
xor byte [rbx + r15], al
mov rax, qword [0x14029a4f8]
imul rax, r9
mov rcx, qword [str._t89GY]
imul rcx, r10
add rcx, rax
add r15, r11
mov rax, r15
add rax, rcx
mov rcx, qword [0x14029a508]
mov r15, qword [0x14029a510]
shrd r15, rcx, 0x31
mov rcx, r15
xor rcx, r14
mov r15, rax
cmp rax, rcx
jne 0x140021ed6
mov al, byte [reloc.WS2_32.dll_ntohl]
mov cl, byte [0x14029a519]
shr cl, 1
shl al, 7
or al, cl
xor al, 0x2e
mov byte [rbx + 0x1f], al
imul eax, dword [0x14029a51c], 0xb22bc059
imul ecx, dword [0x14029a520], 0xee4167a1
add eax, ecx
add eax, 0xf068de70
mov dword [r12], eax
mov r14, r12
add r14, 8
sub rsp, 0x20
mov rcx, rbx
call fcn.1401b6280
add rsp, 0x20
nop
sub rsp, 0x20
mov rcx, r14
mov rdx, rbx
mov r8, rax
call fcn.140002e0c
add rsp, 0x20
nop
xorps xmm0, xmm0
movups xmmword [rsi], xmm0
jmp 0x14002211d
mov rdx, qword [0x1402bef78]
nop
sub rsp, 0x20
mov rcx, qword [rbp - 0x10]
call fcn.140023598
add rsp, 0x20
nop
test al, al
je 0x140022074
nop
sub rsp, 0x30
mov qword [rsp + 0x20], r12
mov rdx, rsi
mov r8d, r15d
mov r9, qword [rbp - 8]
call fcn.140026b94
add rsp, 0x30
nop
jmp 0x14002211d
mov al, byte [0x1402c045b]
add al, byte [0x14029a402]
mov ecx, dword [0x1402bcbf8]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
and al, 1
mov byte [rcx + 0x378], al
sub rsp, 0x20
lea rcx, [0x14002f42a]
call fcn.1400d8bb4
add rsp, 0x20
jmp 0x140021753
mov rdx, qword [0x1402bef80]
nop
sub rsp, 0x20
mov rcx, qword [rbp - 0x10]
call fcn.140023598
add rsp, 0x20
nop
test al, al
je 0x1400220e7
nop
sub rsp, 0x30
mov qword [rsp + 0x20], r13
mov rcx, rbx
mov rdx, rsi
mov r8d, r15d
mov r9, r14
call fcn.1400272be
add rsp, 0x30
nop
jmp 0x14002211d
mov eax, dword [0x1402bcbf8]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov byte [rax + 0x34c], 1
sub rsp, 0x20
lea rcx, [0x14002f37a]
call fcn.1400d8bb4
add rsp, 0x20
jmp 0x140021441
mov rdx, qword [0x1402bef88]
nop
sub rsp, 0x20
mov rcx, qword [rbp - 0x10]
call fcn.140023598
add rsp, 0x20
nop
test al, al
je 0x140022133
nop
sub rsp, 0x20
mov rcx, rbx
mov rdx, rsi
mov r8d, r15d
call fcn.140027b0a
add rsp, 0x20
nop
sub rsp, 0x20
mov rcx, qword [rbp - 0x10]
call fcn.140002a12
add rsp, 0x20
jmp 0x1400218d4
mov eax, dword [0x1402bcbf8]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
cmp byte [rax + 0x3e0], 0
je 0x140022343
mov eax, dword [0x1402bcbf8]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
lea rbx, [rax + 0x3c1]
movzx eax, byte [0x14029a525]
movzx ecx, byte [0x14029a526]
imul eax, eax, 0x68
mov edx, ecx
shl ecx, 5
sub edx, ecx
mov ecx, edx
add cl, al
add cl, 0xee
cmp byte [rbx + 0x1b], cl
je 0x140022281
movabs rax, 0xc521621bfa94e4e
movabs rdx, 0x491f7bf50e90212d
movabs r8, 0xbc8c69d95dfdb6e5
movabs r9, 0x6da220a245da607e
movabs r10, 0x2d00bc92ed6a80e0
xor r11d, r11d
imul ecx, dword [0x14029a528], 0x366e0e5e
imul r14d, dword [0x14029a530], 0xb8f30109
add r14d, ecx
mov ecx, r14d
add cl, 0x98
mov r14, r11
shl r14, cl
mov rcx, qword [0x14029a538]
shr rcx, 0x22
xor ecx, 0xed
and r14d, ecx
mov rcx, qword [0x14029a540]
mov r15, qword [0x14029a548]
shrd r15, rcx, 0x2c
xor r15, rax
mov ecx, r14d
shr r15, cl
mov ecx, r15d
xor byte [rbx + r11], r15b
mov rcx, qword [0x14029a550]
imul rcx, rdx
mov r14, qword [0x14029a558]
imul r14, r8
add r14, rcx
add r11, r9
mov rcx, r11
add rcx, r14
mov r11, qword [0x14029a560]
mov r14, qword [0x14029a568]
shrd r14, r11, 0x33
xor r14, r10
mov r11, rcx
cmp rcx, r14
jne 0x1400221ca
mov al, byte [0x14029a570]
mov cl, byte [0x1402c045d]
shr cl, 7
add al, al
or al, cl
xor al, 0x9a
mov byte [rbx + 0x1b], al
mov eax, dword [0x14029a574]
mov ecx, dword [0x14029a578]
shrd ecx, eax, 0xd
xor ecx, 0x327e93cc
mov dword [r12], ecx
mov r14, r12
add r14, 8
sub rsp, 0x20
mov rcx, rbx
call fcn.1401b6280
add rsp, 0x20
nop
sub rsp, 0x20
mov rcx, r14
mov rdx, rbx
mov r8, rax
call fcn.140002e0c
add rsp, 0x20
nop
jmp 0x140021fe8
mov eax, dword [0x1402bcbf8]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov byte [rax + 0x39c], 1
sub rsp, 0x20
lea rcx, [0x140031154]
call fcn.1400d8bb4
add rsp, 0x20
jmp 0x140021b0c
mov al, byte [0x14029a4cc]
mov ecx, dword [0x1402bcbf8]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
mov byte [rcx + 0x3c0], al
sub rsp, 0x20
lea rcx, [0x1400314b8]
call fcn.1400d8bb4
add rsp, 0x20
jmp 0x140021e5e
sub rsp, 0x20
call fcn.1401aec6c
mov al, byte [0x14029a524]
add al, byte [0x1402c045c]
mov ecx, dword [0x1402bcbf8]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
and al, 1
mov byte [rcx + 0x3e0], al
sub rsp, 0x20
lea rcx, [0x14003153e]
call fcn.1400d8bb4
add rsp, 0x20
jmp 0x140022153