Function at 0x14003ea9c
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0xf8]
sub rsp, 0x1f8
mov rax, qword [rcx + 0x318]
xor ebx, ebx
mov rsi, rcx
cmp byte [rax + 0xc0], bl
je 0x14003eae0
xor al, al
jmp 0x14003fcac
mov qword [rdx], rbx
lea rdi, [rcx + 0x2d8]
mov r15b, bl
mov qword [rsp + 0x58], rdi
mov r13d, 0x298756a2
xor r13d, 0x178652e0
add r13d, 0x13552260
sub r13d, 0x515626a1
mov byte [rbp + 0x150], bl
cmp qword [rcx + 0x300], rbx
jne 0x14003eb7e
mov eax, dword [rdi]
lea edx, [r13 + 0xf]
and eax, 0x2000
neg eax
sbb rdi, rdi
and rdi, 0xffffffffffff0100
add rdi, 0x1c722d23
sub rdi, 0x1c712d24
mov rcx, rdi
shl rcx, 4
call fcn.1400b9750
mov rcx, rax
movaps xmm0, xmmword [0x140130520]
movups xmmword [rax], xmm0
lea rax, [rax + 0x10]
sub rdi, r13
jne 0x14003eb54
mov qword [rsi + 0x300], rcx
lea rdi, [rsi + 0x2d8]
jmp 0x14003eb83
mov qword [rsp + 0x58], rdi
movabs rcx, 0x43c8e3552185f0cf
add rcx, 0x6356005
add rcx, 0x5b5c2c99
movabs rax, 0x681bf0830cef6f3d
xor rax, 0x6bbd54f9
xor rax, 0x6b40971e
add rax, 0x7fffffff
add rax, 0x6935ce93
add rcx, qword [0x14012f740]
ror rcx, 0x14
add rax, rcx
movabs rcx, 0x16c1663037f11d0f
sub rcx, 0x76205eb
xor rcx, 0x6a20ba09
xor rax, rcx
xor ecx, ecx
call rax
mov qword [rsp + 0x50], rax
mov r12, rax
test rax, rax
je 0x14003fca9
mov rax, qword [0x14012f768]
movabs rcx, 0x7b6b70c373320574
sub rcx, 0x5796a6c
xor rcx, 0x1bb8f96b
not rax
mov qword [rbp + 0xe0], rbx
xor rax, rcx
mov edx, r13d
not rax
movabs rcx, 0xb8e44a023fa0945
add rcx, 0x53332d88
xor rcx, 0x7b9d90ba
add rcx, 0x12fc9957
add rax, rcx
mov rcx, r12
ror rax, 0x35
call rax
lea r8, [rsi + 0x298]
mov rcx, rsi
lea rdx, [rbp + 0x60]
call fcn.14003d1a4
mov qword [rsp + 0x48], rax
mov r14, rax
test rax, rax
je 0x14003fbef
mov rax, qword [0x14012f780]
movabs rcx, 0x797efd8a2f8b7ecb
xor rcx, 0x7907e51e
sub rcx, 0x841cf9a
mov rdx, qword [r14]
ror rax, 0x2a
add rax, rcx
movabs rcx, 0x5ef89a9a17a36112
sub rcx, 0xd59d79f
add rcx, 0x2d0a9122
add rcx, 0x2fefb03d
xor rax, rcx
movabs rcx, 0xd3177f731d21de8
xor rcx, 0x15b74439
add rcx, 0x7fffffff
add rcx, 0x33570e0f
sub rax, rcx
mov rcx, r12
call rax
mov rax, qword [0x14012f790]
movabs rcx, 0x6e2a1c7a39a6b2be
xor rcx, 0x2e9727a0
xor rcx, 0x7c105c1c
add rcx, 0x6bfc960e
ror rax, 0x1a
mov edx, 0x38172783
sub edx, 0x128dab7e
add edx, 0x3a4266a9
xor edx, 0x5f341d51
xor rax, rcx
movabs rcx, 0x27600fb025555314
add rcx, 0x4cd6030f
sub rcx, 0x915a675
add rcx, 0x7fffffff
sub rcx, 0xfe51de
sub rax, rcx
mov rcx, r12
rol rax, 0x1a
call rax
mov rax, qword [0x14012f798]
movabs rcx, 0x204c8ea3582a7fc8
add rcx, 0x13526ad
add rcx, 0xe716785
sub rcx, 0x30068adf
xor rax, rcx
xor edx, edx
movabs rcx, 0x465936066d5c1809
sub rcx, 0x2dff84bb
add rcx, 0x14f99a85
add rcx, 0x7fffffff
add rcx, 0x29794578
add rax, rcx
movabs rcx, 0x7ada367102b63322
add rcx, 0xf146b6e
add rcx, 0x1f0dc131
xor rax, rcx
movabs rcx, 0x7e40ec873d1cc8ec
sub rcx, 0xe7d9fe2
add rcx, 0x7fffffff
sub rcx, 0x1e36d353
rol rax, 0x33
sub rax, rcx
movabs rcx, 0x855ab2cd2b6a7479
add rcx, 0x166a94c3
xor rcx, 0x6b8f1ae5
add rcx, 0x7fffffff
xor rcx, 0x7eeef899
rol rax, 7
add rax, rcx
mov rcx, r12
call rax
mov rax, qword [0x14012f7a0]
movabs rcx, 0x5536449a18590778
add rcx, 0x16f04a1d
xor rcx, 0x754ccc59
not rax
xor edx, edx
sub rax, rcx
movabs rcx, 0xf767e206588e28b1
sub rcx, 0x231e58e7
add rcx, 0x7fffffff
add rcx, 0x24c55928
ror rax, 0x38
add rax, rcx
movabs rcx, 0x7bbe08145dc0dfa4
sub rcx, 0x42b328c8
xor rcx, 0x51fc83ad
xor rax, rcx
mov rcx, r12
call rax
mov rax, qword [0x14012f7a8]
lea r9, [rbp + 0x20]
not rax
mov dword [rsp + 0x40], 0x41f8b0ac
xor dword [rsp + 0x40], 0x2a486f78
sub dword [rsp + 0x40], 0x6bb0dfb4
movabs rcx, 0x7b594d9016f72106
xor rcx, 0x3e45b3d4
add rcx, 0x35294d7c
sub rcx, 0x5570434c
lea rdx, [rsp + 0x40]
add rax, rcx
mov r8d, r13d
not rax
movabs rcx, 0x3eec44c51a09a52e
add rcx, 0x4e90eafc
add rcx, 0x54301237
sub rax, rcx
mov r15, r13
mov rcx, r12
call rax
mov eax, dword [rbp + 0x20]
cdq
and edx, 3
add eax, edx
sar eax, 2
add eax, r13d
xor eax, 0x4e31670a
test dword [rdi], 0x2000
mov dword [rsi + 0x2f4], eax
je 0x14003efac
mov ecx, 0x1bf50b56
sub ecx, 0x53ca0f0
sub ecx, 0x16b869a4
mov dword [r14 + 0x10], 0x52df5ed4
add dword [r14 + 0x10], 0x2b04666a
sub dword [r14 + 0x10], 0x513b9d9b
sub dword [r14 + 0x10], 0x2ca82743
call fcn.1400b96e0
mov edi, 0x3a08043a
xor edi, 0x4c64189f
xor edi, 0x766c1c85
mov qword [r14 + 8], rax
mov rcx, rax
mov edx, ebx
lea r13d, [rdi - 0x1e]
lea eax, [rdi + rdx]
add edx, r15d
mov word [rcx], ax
add rcx, r13
cmp edx, 0x60
jl 0x14003ef88
mov word [rcx], bx
mov rax, qword [rbp + 0xe0]
jmp 0x14003f7b7
test dword [rdi], 0x8000
je 0x14003f330
xorps xmm0, xmm0
mov dword [rsp + 0x30], 0x11bc2a23
xor dword [rsp + 0x30], 0x23a73cc6
add dword [rsp + 0x30], 0x136650c
add dword [rsp + 0x30], 0xffef38e
lea rcx, [rsp + 0x68]
mov dword [rsp + 0x34], 0x4ec6bf1d
add dword [rsp + 0x34], 0x865bc95
add dword [rsp + 0x34], 0x9055146
xor dword [rsp + 0x34], 0x376db9a5
lea rdx, [rsp + 0x68]
mov dword [rsp + 0x38], 0x5f90bac4
xor dword [rsp + 0x38], 0x58b65ccd
xor dword [rsp + 0x38], 0x574cc04f
mov word [rsp + 0x3c], 0x665c
sub word [rsp + 0x3c], 0x3882
add word [rsp + 0x3c], 0x35a0
mov eax, 0x3713453f
sub eax, 0x1edd2c0d
add eax, 0x2e985e9a
xor eax, 0x46ce77c3
mov byte [rsp + 0x3e], 0x21
add byte [rsp + 0x3e], 6
add byte [rsp + 0x3e], 0x33
mov qword [rsp + 0x60], rcx
mov qword [rbp - 0x68], rax
movups xmmword [rsp + 0x68], xmm0
movups xmmword [rsp + 0x78], xmm0
movups xmmword [rbp - 0x78], xmm0
cmp rcx, rdx
je 0x14003f07e
call fcn.1400b9840
mov rax, qword [rbp - 0x68]
lea rdx, [rsp + 0x68]
xorps xmm0, xmm0
mov qword [rsp + 0x60], rdx
mov rcx, rbx
movups xmmword [rsp + 0x68], xmm0
movups xmmword [rsp + 0x78], xmm0
movups xmmword [rbp - 0x78], xmm0
test rax, rax
je 0x14003f0bb
movzx eax, byte [rsp + rcx + 0x30]
mov word [rdx + rcx*2], ax
add rcx, r15
cmp rcx, qword [rbp - 0x68]
jb 0x14003f0a5
lea r8, [rsp + 0x60]
mov rcx, rsi
lea rdx, [rbp + 0x60]
call fcn.14003d1a4
mov rcx, qword [rsp + 0x60]
lea rax, [rsp + 0x68]
mov r13d, 0x6f9e5ca
add r13d, 0x43cbe981
sub r13d, 0x4ac5cf1b
cmp rcx, rax
jne 0x14003f104
lea rdi, [rsp + 0x68]
xor eax, eax
mov ecx, r13d
rep stosb byte [rdi], al
jmp 0x14003f109
call fcn.1400b9840
xorps xmm0, xmm0
mov dword [rsp + 0x30], 0xdc1bb57
add dword [rsp + 0x30], 0x6e7c7b5a
sub dword [rsp + 0x30], 0x2fad909d
add dword [rsp + 0x30], 0x1782af6b
lea rcx, [rbp - 0x58]
mov dword [rsp + 0x34], 0x6523df7a
xor dword [rsp + 0x34], 0x5bbc6d76
xor dword [rsp + 0x34], 0x2fbc26bb
add dword [rsp + 0x34], 0x4d5091c4
lea rdx, [rbp - 0x58]
mov dword [rsp + 0x38], 0x400a8c5a
add dword [rsp + 0x38], 0x381b0bfe
xor dword [rsp + 0x38], 0x4121ef55
add dword [rsp + 0x38], 0x1955f739
mov qword [rbp - 0x60], rcx
mov eax, 0x29eed59
xor eax, 0x5a729688
sub eax, 0xba33aca
xor eax, 0x4d49410b
mov qword [rbp - 0x28], rax
movups xmmword [rbp - 0x58], xmm0
movups xmmword [rbp - 0x48], xmm0
movups xmmword [rbp - 0x38], xmm0
cmp rcx, rdx
je 0x14003f1ae
call fcn.1400b9840
mov rax, qword [rbp - 0x28]
lea rdx, [rbp - 0x58]
xorps xmm0, xmm0
mov qword [rbp - 0x60], rdx
mov rcx, rbx
movups xmmword [rbp - 0x58], xmm0
movups xmmword [rbp - 0x48], xmm0
movups xmmword [rbp - 0x38], xmm0
test rax, rax
je 0x14003f1e7
movzx eax, byte [rsp + rcx + 0x30]
mov word [rdx + rcx*2], ax
add rcx, r15
cmp rcx, qword [rbp - 0x28]
jb 0x14003f1d1
lea r8, [rbp - 0x60]
mov rcx, rsi
lea rdx, [rbp + 0x60]
call fcn.14003d1a4
mov rcx, qword [rbp - 0x60]
lea rax, [rbp - 0x58]
cmp rcx, rax
jne 0x14003f218
lea rdi, [rbp - 0x58]
xor eax, eax
mov rcx, r13
rep stosb byte [rdi], al
jmp 0x14003f21d
call fcn.1400b9840
xorps xmm0, xmm0
mov dword [rsp + 0x30], 0x2e2608a9
sub dword [rsp + 0x30], 0x4f6120
add dword [rsp + 0x30], 0x2888bff6
lea rcx, [rbp - 0x18]
mov dword [rsp + 0x34], 0xed44d71
xor dword [rsp + 0x34], 0x763c33c
add dword [rsp + 0x34], 0x48b2eed2
xor dword [rsp + 0x34], 0x24791558
lea rdx, [rbp - 0x18]
mov dword [rsp + 0x38], 0x799f4958
sub dword [rsp + 0x38], 0x33559beb
xor dword [rsp + 0x38], 0x1e12df30
mov byte [rsp + 0x3c], 0xe
xor byte [rsp + 0x3c], 0x4d
add byte [rsp + 0x3c], 0xe
mov eax, 0x9f17261
add eax, 0x71524841
sub eax, 0x56e0e7cb
sub eax, 0x2462d2ca
mov qword [rbp - 0x20], rcx
mov qword [rbp + 0x18], rax
movups xmmword [rbp - 0x18], xmm0
movups xmmword [rbp - 8], xmm0
movups xmmword [rbp + 8], xmm0
cmp rcx, rdx
je 0x14003f2c1
call fcn.1400b9840
mov rax, qword [rbp + 0x18]
lea rdx, [rbp - 0x18]
xorps xmm0, xmm0
mov qword [rbp - 0x20], rdx
mov rcx, rbx
movups xmmword [rbp - 0x18], xmm0
movups xmmword [rbp - 8], xmm0
movups xmmword [rbp + 8], xmm0
test rax, rax
je 0x14003f2fa
movzx eax, byte [rsp + rcx + 0x30]
mov word [rdx + rcx*2], ax
add rcx, r15
cmp rcx, qword [rbp + 0x18]
jb 0x14003f2e4
lea r8, [rbp - 0x20]
mov rcx, rsi
lea rdx, [rbp + 0x60]
call fcn.14003d1a4
mov rcx, qword [rbp - 0x20]
lea rax, [rbp - 0x18]
cmp rcx, rax
jne 0x14003f32b
lea rdi, [rbp - 0x18]
xor eax, eax
mov rcx, r13
rep stosb byte [rdi], al
jmp 0x14003f330
call fcn.1400b9840
mov rax, qword [0x14012f7f0]
movabs rcx, 0x57812e5b532c6edf
sub rcx, 0x3123feb5
add rcx, 0x2d8aee28
add rcx, 0x2a213d73
ror rax, 0x21
movabs rdi, 0x3d2226995aff0be1
sub rdi, 0x235e6307
sub rdi, 0x13bb73b2
add rdi, 0x7fffffff
add rdi, 0x28ddd2e2
xor rax, rdi
movabs r13, 0x758bc078656ae669
sub r13, 0x2a6dd9a7
sub r13, 0xbfec0c9
add r13, 0x2ffd7064
not rax
xor edx, edx
ror rax, 0x34
add rax, r13
xor rax, rcx
mov rcx, r12
not rax
call rax
mov ecx, eax
call fcn.1400b9ad0
mov rdx, rax
mov qword [r14 + 0x18], rax
mov rax, qword [0x14012f7f0]
movabs rcx, 0x57812e5b1abea918
add rcx, 0x5fc98dbd
sub rcx, 0xd39b10
ror rax, 0x21
xor rax, rdi
not rax
ror rax, 0x34
add rax, r13
xor rax, rcx
mov rcx, r12
not rax
call rax
mov rax, qword [r14 + 0x18]
mov r13d, 0x715b85cf
add r13d, 0xbc61c85
sub r13d, 0x7d21a252
mov eax, dword [rax + 8]
mov dword [r14 + 0x10], eax
inc eax
movsxd rcx, eax
mov eax, r13d
mul rcx
lea rcx, [r13 - 3]
cmovo rax, rcx
mov rcx, rax
call fcn.1400b96e0
mov qword [r14 + 8], rax
mov rdi, rax
mov rax, qword [r14 + 0x18]
cmp dword [rax + 0xc], ebx
jbe 0x14003f499
mov r9d, dword [rax + 0xc]
mov rdx, rbx
movzx r8d, word [rax + rdx + 0x12]
movzx ecx, bx
movzx r10d, word [rax + rdx + 0x10]
cmp bx, r8w
jae 0x14003f48c
lea eax, [r10 + rcx]
add cx, r15w
mov word [rdi], ax
add rdi, r13
cmp cx, r8w
jb 0x14003f470
mov rax, qword [r14 + 0x18]
add rdx, 4
sub r9, r15
jne 0x14003f457
mov word [rdi], bx
mov rdi, r15
mov rax, qword [rbp + 0xe0]
cmp r15, rax
jae 0x14003f7a0
lea r14, [rbp + 0x98]
movabs rsi, 0x3d222699404062c9
xor rsi, 0x7d5810cd
add rsi, 0x7fffffff
add rsi, 0xfaa9606
mov rax, qword [0x14012f780]
movabs rcx, 0x797efd8a1bb44055
add rcx, 0x3e9c62d4
sub rcx, 0x381aaad1
add rcx, 0x2c14d3e3
mov rdx, qword [r14 - 0x18]
ror rax, 0x2a
add rax, rcx
movabs rcx, 0x5ef89a9a4dfbe86b
add rcx, 0x2c4e235b
xor rcx, 0x1d09c114
xor rax, rcx
movabs rcx, 0xd3177f73314d22e
sub rcx, 0x42e0853
add rcx, 0x7fffffff
xor rcx, 0x795aae05
sub rax, rcx
mov rcx, r12
call rax
mov rax, qword [0x14012f7f0]
movabs rcx, 0x758bc07800c86244
add rcx, 0x45407ebc
add rcx, 0x18f2db5d
ror rax, 0x21
xor edx, edx
xor rax, rsi
not rax
ror rax, 0x34
add rax, rcx
movabs rcx, 0x57812e5b50c7173d
sub rcx, 0x135b0c90
add rcx, 0x2941c07d
xor rcx, 0x1f1950ef
xor rax, rcx
mov rcx, r12
not rax
call rax
mov ecx, eax
call fcn.1400b9ad0
mov rdx, rax
mov qword [r14], rax
mov rax, qword [0x14012f7f0]
movabs rcx, 0x758bc07854aff060
sub rcx, 0x4a97376
xor rcx, 0xefdc0b7
ror rax, 0x21
xor rax, rsi
not rax
ror rax, 0x34
add rax, rcx
movabs rcx, 0x57812e5b0e31a829
add rcx, 0x504a4315
add rcx, 0x1b38b087
xor rax, rcx
mov rcx, r12
not rax
call rax
mov rax, qword [r14]
nop
movabs rcx, 0xffffffff0fe93a95
add rcx, 0x4c43dcc2
add rcx, 0x7fffffff
add rcx, 0x23d2e8a9
mov edx, dword [rax + 8]
mov rax, r13
add edx, r15d
mul rdx
cmovo rax, rcx
mov rcx, rax
call fcn.1400b96e0
mov qword [r14 - 0x10], rax
mov rcx, rax
mov rax, qword [r14]
cmp dword [rax + 0xc], ebx
jbe 0x14003f75c
mov r8d, dword [rax + 0xc]
mov r11, rbx
mov qword [rsp + 0x30], r8
movzx edx, word [rax + r11 + 0x12]
movzx r10d, bx
movzx r12d, word [rax + r11 + 0x10]
mov word [rbp + 0x158], dx
cmp bx, dx
jae 0x14003f726
lea r9d, [r12 + r10]
mov sil, bl
test rdi, rdi
je 0x14003f709
lea r8, [rbp + 0x70]
mov r15, rdi
mov ebx, 0x3b69b78f
xor ebx, 0x754dcb39
add ebx, 0x1f703ca7
sub ebx, 0x6d94b93d
mov rdx, qword [r8 - 8]
movsxd rax, dword [r8]
lea rax, [rdx + rax*2]
jmp 0x14003f6c9
cmp word [rdx], r9w
je 0x14003f6d7
add rdx, r13
cmp rdx, rax
jne 0x14003f6bc
jmp 0x14003f6e6
mov sil, 0x1b
add sil, 0xb
xor sil, 3
sub sil, 0x24
add r8, rbx
sub r15, 1
jne 0x14003f6ac
movzx edx, word [rbp + 0x158]
xor ebx, ebx
lea r15d, [rbx + 1]
test sil, sil
jne 0x14003f710
mov word [rcx], r9w
add rcx, r13
add r10w, r15w
cmp r10w, dx
jb 0x14003f67e
mov rax, qword [r14]
mov r8, qword [rsp + 0x30]
sub r11, 0xfffffffffffffffc
sub r8, r15
mov qword [rsp + 0x30], r8
jne 0x14003f65e
mov r12, qword [rsp + 0x50]
movabs rsi, 0x3d222699310ef87d
sub rsi, 0x2858a58d
add rsi, 0x7fffffff
add rsi, 0x440cb51a
mov word [rcx], bx
cmp rcx, qword [r14 - 0x10]
je 0x14003f777
sub rcx, qword [r14 - 0x10]
sar rcx, 1
sub ecx, r15d
mov dword [r14 - 8], ecx
mov rax, qword [rbp + 0xe0]
add rdi, r15
neg r14
add r14, 0xffffffffffffffe0
neg r14
cmp rdi, rax
jb 0x14003f4d5
mov rsi, qword [rbp + 0x140]
mov r14, qword [rsp + 0x48]
mov edi, 0x31757862
sub edi, 0x323f0a7
add edi, 0x5e9056c
sub edi, 0x343a8d07
test rax, rax
lea rcx, [rbp + 0x60]
cmove rcx, rbx
je 0x14003f7d8
shl rax, 5
lea rdx, [rbp + 0x60]
add rdx, rax
jmp 0x14003f7db
mov rdx, rbx
cmp rcx, rdx
je 0x14003f819
mov eax, dword [rsi + 0x30c]
mov r8d, 0x27cd2b1f
add r8d, 0x4a460a90
sub r8d, 0x23e1cea5
xor eax, r8d
add eax, dword [rcx + 0x10]
add rcx, rdi
xor eax, r8d
cmp rcx, rdx
jne 0x14003f7fe
mov dword [rsi + 0x30c], eax
lea rdx, [rbp + 0x158]
mov rcx, rsi
call fcn.14003d02c
mov r15d, dword [rbp + 0x15c]
lea r9, [rbp + 0x28]
mov rdi, qword [rbp + 0x158]
lea rdx, [rbp + 0x30]
mov eax, r15d
mov dword [rsp + 0x28], ebx
neg eax
mov qword [rbp + 0x54], rbx
mov dword [rbp + 0x38], eax
movabs rcx, 0x1e9ce65b5ea5ff50
sub rcx, 0x27255dab
xor rcx, 0x2ab80a47
mov rax, qword [0x14012f750]
xorps xmm0, xmm0
xor rax, rcx
mov dword [rbp + 0x30], 0xab81ea5
add dword [rbp + 0x30], 0xdf74862
add dword [rbp + 0x30], 0x5171471f
xor dword [rbp + 0x30], 0x6a20ae0e
rol rax, 0x33
movabs rcx, 0x386961b150795b01
sub rcx, 0x4407c488
add rcx, 0x7fffffff
add rcx, 0x3f73ca9f
add rax, rcx
mov dword [rbp + 0x34], edi
rol rax, 3
xor r8d, r8d
mov rcx, r12
mov qword [rbp + 0x3c], 0x26a0b4d2
xor qword [rbp + 0x3c], 0x72598a28
sub qword [rbp + 0x3c], 0x54d93ef9
movdqu xmmword [rbp + 0x44], xmm0
mov qword [rsp + 0x20], rbx
call rax
mov qword [rsp + 0x48], rax
mov rcx, rax
test rax, rax
je 0x14003fbcd
mov r8, qword [0x14012f780]
movabs rdx, 0x797efd8a139b02f0
xor rdx, 0x708f72a8
xor rdx, 0x2d5ebc63
ror r8, 0x2a
movabs rax, 0x5ef89a9a65d16490
sub rax, 0x415d6ab7
add rax, 0x42cfd0f9
add r8, rdx
mov rdx, rcx
xor r8, rax
mov rcx, r12
movabs rax, 0xd3177f715fb5269
xor rax, 0x78467098
sub rax, 0x60e4e6e4
add rax, 0x7fffffff
xor rax, 0x5b645bd3
sub r8, rax
call r8
mov eax, dword [rsi + 0x2f4]
lea r9, [rbp + 0x140]
xor eax, 0x4e31670a
mov dword [rbp + 0x144], ebx
mov r8, r14
mov dword [rbp + 0x140], eax
mov rdx, r12
mov rcx, rsi
call fcn.140040770
test al, al
je 0x14003fb50
mov rax, qword [rbp + 0xe0]
lea r14, [rbp + 0x80]
test rax, rax
pushf
mov edi, 0x2a96de92
xor edi, 0x3ef1f6a2
sub edi, 0x14672810
popf
cmove r14, rdi
test rax, rax
je 0x14003f9db
shl rax, 5
lea rcx, [rbp + 0x60]
add rcx, rax
jmp 0x14003f9de
mov rcx, rbx
cmp r14, rcx
jae 0x14003fa0b
lea r9, [rbp + 0x140]
mov r8, r14
mov rdx, r12
mov rcx, rsi
call fcn.140040770
mov rax, qword [rbp + 0xe0]
add r14, rdi
jmp 0x14003f9c2
mov rdi, qword [rbp + 0x158]
mov eax, r15d
imul eax, edi
movsxd rcx, eax
mov eax, 0x53d95e97
add eax, 0x2abf80f2
xor eax, 0x7e98df8d
mul rcx
pushf
movabs rcx, 0xffffffff1e5d4261
add rcx, 0x5cbef494
sub rcx, 0x5b309e5b
add rcx, 0x7fffffff
add rcx, 0x60146766
popf
cmovo rax, rcx
mov rcx, rax
call fcn.1400b96e0
mov r9, rax
mov rax, qword [rbp + 0x148]
mov qword [rax], r9
test r15d, r15d
jle 0x14003fada
movsxd r10, edi
mov r8, rbx
shl r10, 2
mov r14, r15
mov r12d, 0x5376bc7d
xor r12d, 0x260ac689
xor r12d, 0x757c7af5
test edi, edi
jle 0x14003fac9
mov rdx, r8
mov r11d, edi
mov rax, qword [rbp + 0x28]
mov ecx, dword [rdx + rax]
shl ecx, 0x18
or ecx, 0xffffff
mov dword [rdx + r9], ecx
lea rdx, [rdx + 4]
sub r11, r12
jne 0x14003faa8
add r8, r10
sub r14, r12
jne 0x14003fa9a
mov r12, qword [rsp + 0x50]
mov rax, qword [rsp + 0x58]
test byte [rax], r13b
je 0x14003fb16
xor r8d, r8d
mov rdx, r9
mov rcx, rsi
call fcn.14003cbb4
mov r13d, 0x71d73ca5
sub r13d, 0x74ee33c
sub r13d, 0x1356614e
sub r13d, 0x5731f81a
jmp 0x14003fb41
mov r13d, 0x64cf05f0
sub r13d, 0x57767ff
sub r13d, 0x5f579df0
test byte [rax], r13b
je 0x14003fb41
mov r8b, r13b
mov rdx, r9
mov rcx, rsi
call fcn.14003cbb4
mov r15b, r13b
mov byte [rbp + 0x150], r13b
jmp 0x14003fb72
mov r15b, byte [rbp + 0x150]
mov r13d, 0xee2c883
add r13d, 0x12961d66
xor r13d, 0x7fcffb11
sub r13d, 0x5eb71ef7
mov rdx, qword [0x14012f7d8]
movabs rcx, 0xf05ea2da13aa5daa
add rcx, 0x34a18486
sub rcx, 0x1fa9c1fe
add rcx, 0x115be5f2
rol rdx, 6
movabs rax, 0x5e7d6fc41aab1fa6
add rax, 0x50888160
xor rax, 0xe45fced
add rax, 0x45ac96b6
add rdx, rcx
mov rcx, qword [rsp + 0x48]
not rdx
add rdx, rax
call rdx
jmp 0x14003fbef
mov r15b, byte [rbp + 0x150]
mov r13d, 0x29af9340
xor r13d, 0x35b397d0
xor r13d, 0x51daced9
xor r13d, 0x4dc6ca48
mov rax, qword [str._U_s]
movabs rcx, 0x2c78770847ed611d
xor rcx, 0x18ce0a32
xor rcx, 0x37ba7bc8
rol rax, 0x1d
xor rax, rcx
movabs rcx, 0x68abdcb003e6167f
add rcx, 0x73c41382
add rcx, 0x1df8d950
add rax, rcx
movabs rcx, 0xb458ac9b551d2733
xor rcx, 0x4d4342c4
add rcx, 0x7fffffff
add rcx, 0xd708ec8
rol rax, 0x34
xor rax, rcx
mov rcx, r12
call rax
cmp qword [rbp + 0xe0], rbx
jbe 0x14003fca9
lea rdi, [rbp + 0x60]
mov r15d, 0x65006597
sub r15d, 0x280470c3
add r15d, 0x41067c76
sub r15d, 0x7e02712a
mov rcx, rdi
call fcn.14003c5c0
add rbx, r13
add rdi, r15
cmp rbx, qword [rbp + 0xe0]
jb 0x14003fc87
mov r15b, byte [rbp + 0x150]
mov al, r15b
add rsp, 0x5e2f5388
sub rsp, 0x5e2f5190
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret