Function at 0x140025c72
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x48
lea rbp, [rsp + 0x40]
mov qword [rbp], 0xfffffffffffffffe
mov r14, r9
mov r15d, r8d
mov rdi, rdx
mov qword [rbp - 0x20], rcx
mov qword [rbp - 0x28], rdx
imul eax, dword [0x14029af28], 0x8de98e0
mov r12, qword [rbp + 0x80]
imul ecx, dword [0x14029af2c], 0x37acba4e
add eax, ecx
add eax, 0xdf0be5b9
shl rax, 4
call fcn.1400fe1d0
sub rsp, rax
mov rbx, rsp
imul eax, dword [0x14029af30], 0xe883d784
imul ecx, dword [0x14029af34], 0x2df8fb11
add eax, ecx
add eax, 0x8bdaad7b
imul rax, rax, 0x70
call fcn.1400fe1d0
sub rsp, rax
mov r13, rsp
mov eax, dword [0x14029af38]
mov ecx, dword [0x14029af3c]
shrd ecx, eax, 0x17
xor ecx, 0xfb932867
mov eax, ecx
shl rax, 5
call fcn.1400fe1d0
sub rsp, rax
mov rsi, rsp
movzx eax, byte [0x14029af40]
movzx ecx, byte [0x14029af41]
shl eax, 3
lea eax, [rax + rax*4]
neg eax
imul ecx, ecx, 0x3a
add cl, al
add cl, 0xd7
cmp byte [r9], cl
jne 0x140025ebd
mov rcx, qword [r14 + 8]
sub rsp, 0x20
lea rdx, [0x1402bef00]
call fcn.14006ae64
add rsp, 0x20
mov rcx, qword [r14 + 8]
cmp rax, qword [rcx]
je 0x140025ebd
sub rsp, 0x20
lea rdx, [0x1402bef00]
mov rcx, r14
call fcn.140023230
add rsp, 0x20
movzx ecx, byte [0x14029af9c]
movzx edx, byte [0x14029af9d]
imul ecx, ecx, 0xffffffc4
shl edx, 5
lea edx, [rdx + rdx*2]
neg edx
add dl, cl
add dl, 0x4d
cmp byte [rax], dl
jne 0x14002600d
mov r14, rax
mov rcx, qword [rax + 8]
sub rsp, 0x20
lea rdx, [0x1402bef18]
call fcn.14006ae64
add rsp, 0x20
mov rcx, qword [r14 + 8]
cmp rax, qword [rcx]
je 0x14002600d
sub rsp, 0x20
lea rdx, [0x1402bef18]
mov rcx, r14
call fcn.140023230
add rsp, 0x20
mov cl, byte [0x14029af9e]
mov dl, byte [0x14029af9f]
shr dl, 2
shl cl, 6
or cl, dl
xor cl, 0xcd
cmp byte [rax], cl
jne 0x14002600d
mov rax, qword [rbp + 0x70]
mov rcx, r13
mov dword [r13], r15d
mov qword [r13 + 8], 0
xorps xmm0, xmm0
mov qword [rbp - 0x18], r13
movups xmmword [r13 + 0x18], xmm0
mov r12, qword [rax + 0x10]
mov rcx, qword [0x14029aff8]
mov rdx, qword [0x14029b000]
shrd rdx, rcx, 0x2e
movabs rcx, 0x8fc845b138f58240
xor rcx, rdx
cmp qword [rax + 0x18], rcx
jbe 0x140025e55
mov rax, qword [rax]
mov r10, rax
mov r9, qword [rbp + 0x78]
movabs rax, 0xc00497c8ea8c4423
imul rax, qword [0x14029b008]
movabs rcx, 0xfee85a0c666d03d8
imul rcx, qword [0x14029b010]
lea rdx, [r13 + 8]
add rcx, rax
movabs rax, 0x69f0989441e80cf5
add rax, rcx
movabs r8, 0x7fffffffffffffff
cmp r12, rax
mov qword [rbp - 0x40], rdx
jae 0x1400261a1
movups xmm0, xmmword [r10]
movups xmmword [rdx], xmm0
mov r15d, recv
jmp 0x1400262a5
mov eax, dword [0x1402bcbf8]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
cmp byte [rax + 0x48c], 0
je 0x1400269e1
mov eax, dword [0x1402bcbf8]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
lea rbx, [rax + 0x470]
movzx eax, byte [0x14029af42]
imul eax, eax, 0x34
add al, 0xb8
cmp byte [rbx + 0x19], al
je 0x140025ff2
movabs rax, 0x2fb328573b1b613d
movabs rdx, 0x65635803a7038c28
movabs r8, 0xfdf4a48b0113aaa8
movabs r9, 0xd7372a60aff7bea1
movabs r10, 0xccc5412452e14db9
xor r11d, r11d
imul ecx, dword [0x14029af48], 0xd9891727
imul esi, dword [0x14029af50], 0xba5ff4a8
add esi, ecx
mov ecx, esi
add cl, 0x5c
mov rsi, r11
shl rsi, cl
mov ecx, dword [0x14029af58]
shr ecx, 6
xor ecx, 3
and esi, ecx
mov rcx, qword [0x14029af60]
mov r14, qword [0x14029af68]
shrd r14, rcx, 3
xor r14, rax
mov ecx, esi
shr r14, cl
mov ecx, r14d
xor byte [rbx + r11], r14b
mov rcx, qword [0x14029af70]
imul rcx, rdx
mov rsi, qword [0x14029af78]
imul rsi, r8
add rsi, rcx
add r11, r9
mov rcx, r11
add rcx, rsi
mov r11, qword [0x14029af80]
mov rsi, qword [0x14029af88]
shrd rsi, r11, 0x2f
xor rsi, r10
mov r11, rcx
cmp rcx, rsi
jne 0x140025f41
movzx eax, byte [0x14029af90]
movzx ecx, byte [0x14029af91]
imul eax, eax, 0xffffffa6
imul ecx, ecx, 0xffffffe3
add cl, al
add cl, 0xe0
mov byte [rbx + 0x19], cl
mov eax, dword [0x14029af94]
mov ecx, dword [0x14029af98]
shrd ecx, eax, 7
xor ecx, 0x374667b4
jmp 0x140026160
mov eax, dword [0x1402bcbf8]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
cmp byte [rax + 0x4a8], 0
je 0x140026a14
mov eax, dword [0x1402bcbf8]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
lea rbx, [rax + 0x48d]
movzx eax, byte [0x14029afa0]
movzx ecx, byte [0x14029afa1]
imul eax, eax, 0x53
imul ecx, ecx, 0x63
add cl, al
add cl, 0xad
cmp byte [rbx + 0x17], cl
je 0x14002614a
movabs rax, 0x81e9a8a762d8ef3e
movabs rdx, 0x44a454d4f2e349ba
movabs r8, 0x6c3d8917eccc3bb6
movabs r9, 0xadf2eb0651cd19aa
movabs r10, 0xbe60db6966b11cfd
xor r11d, r11d
mov rcx, qword [0x14029afa8]
shr rcx, 0x29
xor cl, 0xe2
mov rsi, r11
shl rsi, cl
mov rcx, qword [0x14029afb0]
shr rcx, 0x25
xor ecx, 0x6c
and esi, ecx
mov rcx, qword [0x14029afb8]
mov r14, qword [0x14029afc0]
shrd r14, rcx, 0x2e
xor r14, rax
mov ecx, esi
shr r14, cl
mov ecx, r14d
xor byte [rbx + r11], r14b
mov rcx, qword [0x14029afc8]
mov rsi, qword [0x14029afd0]
shrd rsi, rcx, 0x39
xor rsi, rdx
add rsi, r11
mov rcx, qword [0x14029afd8]
imul rcx, r8
mov r11, qword [0x14029afe0]
imul r11, r9
add r11, rcx
mov rcx, r11
add rcx, r10
mov r11, rsi
cmp rsi, rcx
jne 0x14002609e
movzx eax, byte [0x14029afe8]
movzx ecx, byte [0x14029afe9]
imul eax, eax, 0xffffffca
mov edx, ecx
shl edx, 6
sub edx, ecx
mov ecx, edx
add cl, al
add cl, 0xf5
mov byte [rbx + 0x17], cl
mov eax, dword [0x14029afec]
mov ecx, dword [0x14029aff0]
shrd ecx, eax, 0x10
xor ecx, 0x27b5812d
mov dword [r12], ecx
add r12, 8
sub rsp, 0x20
mov rcx, rbx
call fcn.1401b6280
mov rcx, r12
mov rdx, rbx
mov r8, rax
call fcn.140002e0c
add rsp, 0x20
xorps xmm0, xmm0
movups xmmword [rdi], xmm0
mov rax, qword [rbp - 0x28]
lea rsp, [rbp + 8]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
mov qword [rbp - 0x10], r10
movabs rax, 0x91e06044605d1376
imul rax, qword [0x14029b018]
movabs rcx, 0x749c119b496a5a83
imul rcx, qword [0x14029b020]
add rcx, rax
movabs rax, 0xf0ea495f4c499ca5
add rax, rcx
or rax, r12
cmp rax, r8
mov r15, r8
cmovb r15, rax
movabs rcx, 0xd0ae87eebfb3cad9
imul rcx, qword [0x14029b028]
movabs rdx, 0x911df6c2900f0346
imul rdx, qword [0x14029b030]
add rdx, rcx
movabs rcx, 0x6d66b668357fff73
add rcx, rdx
add rcx, r15
mov rdx, qword [0x14029b038]
mov r8, qword [0x14029b040]
shrd r8, rdx, 0x18
movabs rdx, 0xc67ee1ccbb2cf0e7
xor rdx, r8
sub rsp, 0x20
cmp rax, rdx
jbe 0x14002624d
call fcn.1400031b3
jmp 0x140026252
call fcn.1400d87f8
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp - 0x40]
mov qword [rax], rcx
mov rax, qword [0x14029b048]
mov rdx, qword [0x14029b050]
shrd rdx, rax, 0xa
movabs rax, 0xc1a556242c8863cf
xor rax, rdx
mov r8, rax
add r8, r12
sub rsp, 0x20
mov rdx, qword [rbp - 0x10]
call fcn.1401a0ad0
add rsp, 0x20
movabs r8, 0x7fffffffffffffff
mov r9, qword [rbp + 0x78]
mov rax, qword [rbp - 0x18]
mov qword [rax + 0x18], r12
mov qword [rax + 0x20], r15
mov qword [rax + 0x28], 0
xorps xmm0, xmm0
movups xmmword [rax + 0x38], xmm0
movabs rax, 0xcad23c74d579cfb6
imul rax, qword [str.._C87B]
movabs rcx, 0xf1ff4e6833892a12
imul rcx, qword [0x14029b060]
mov r12, qword [r9 + 0x10]
add rcx, rax
movabs rax, 0x92270668c749f321
add rax, rcx
cmp qword [r9 + 0x18], rax
jbe 0x140026303
mov rax, qword [r9]
jmp 0x140026306
mov rax, r9
mov r9, rax
lea rdx, [r13 + 0x28]
movabs rax, 0x2fae6d5ec5ce137d
imul rax, qword [0x14029b068]
movabs rcx, 0xea25fbeae7d91ff3
imul rcx, qword [0x14029b070]
add rcx, rax
movabs rax, 0x8c9782da3a9ba0d9
add rax, rcx
cmp r12, rax
mov qword [rbp - 0x38], rdx
jae 0x14002635c
movups xmm0, xmmword [r9]
movups xmmword [rdx], xmm0
mov r15d, recv
jmp 0x140026469
mov qword [rbp - 0x10], r9
movabs rax, 0xb235391a73dae996
imul rax, qword [0x14029b078]
movabs rcx, 0x59e15b7f340d1bbb
imul rcx, qword [0x14029b080]
add rcx, rax
movabs rax, 0xe45d6688e690ff3e
add rax, rcx
or rax, r12
cmp rax, r8
mov r15, r8
cmovb r15, rax
mov rcx, qword [0x14029b088]
mov rdx, qword [0x14029b090]
shrd rdx, rcx, 0xd
movabs rcx, 0x865edef2a9257c57
xor rcx, rdx
add rcx, r15
mov rdx, qword [0x14029b098]
mov r8, qword [0x14029b0a0]
shrd r8, rdx, 0x17
movabs rdx, 0xdb6bf5521da7967e
xor rdx, r8
cmp rax, rdx
jbe 0x1400263fe
mov byte [rbp - 2], 1
nop
sub rsp, 0x20
call fcn.1400031b3
add rsp, 0x20
nop
jmp 0x140026411
mov byte [rbp - 2], 1
nop
sub rsp, 0x20
call fcn.1400d87f8
add rsp, 0x20
nop
mov rcx, rax
mov r9, qword [rbp - 0x10]
movabs rax, 0xb8118a66c32d8792
imul rax, qword [0x14029b0a8]
movabs rdx, 0x8cf60a4ca8eb6da4
imul rdx, qword [0x14029b0b0]
mov r8, qword [rbp - 0x38]
mov qword [r8], rcx
add rdx, rax
movabs rax, 0x9d17ee243d5bd1c1
add rax, rdx
mov r8, rax
add r8, r12
sub rsp, 0x20
mov rdx, r9
call fcn.1401a0ad0
add rsp, 0x20
mov rax, qword [rbp - 0x18]
mov qword [rax + 0x38], r12
mov r12, rax
mov qword [rax + 0x40], r15
mov byte [rbp - 1], 1
nop
sub rsp, 0x20
lea rdx, [0x1402bef18]
mov rcx, r14
call fcn.140023230
add rsp, 0x20
nop
mov rcx, rax
mov byte [rbp - 1], 1
nop
sub rsp, 0x20
mov rdx, rsi
call fcn.1400311f6
add rsp, 0x20
nop
mov r9d, dword [rsi + 0x10]
mov rax, qword [0x14029b0b8]
mov rcx, qword [0x14029b0c0]
shrd rcx, rax, 0x24
movabs rax, 0xcef97a9d8825ace6
xor rax, rcx
mov r8, rsi
cmp qword [rsi + 0x18], rax
jbe 0x1400264de
mov r8, qword [rsi]
mov qword [rbp - 0x10], rsi
mov r14, r13
imul eax, dword [0x14029b0c8], 0xdc5ccf23
add r14, 0x48
imul ecx, dword [0x14029b0cc], 0xfa2660ad
add ecx, eax
add ecx, 0xd3c7ec
imul eax, dword [0x14029b0d0], 0xd605449a
imul edx, dword [0x14029b0d4], 0xb46486df
add edx, eax
add edx, 0x934bd6b4
mov eax, dword [0x14029b0d8]
mov r10d, dword [0x14029b0dc]
shrd r10d, eax, 0x19
xor r10d, 0x579c7b79
sub rsp, 0x30
mov dword [rsp + 0x28], r10d
xor esi, esi
mov qword [rsp + 0x20], rsi
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
add rsp, 0x30
mov r15d, eax
movsxd rdx, eax
mov qword [r12 + 0x48], rsi
movabs rax, 0xfae8dff31fbabc3e
imul rax, qword [0x14029b0e0]
movabs rcx, 0xc455c7b719f61156
imul rcx, qword [0x14029b0e8]
add rcx, rax
movabs rax, 0xb2016a0e8c689904
add rax, rcx
mov qword [r12 + 0x58], rax
movabs rax, 0x311f980ba114b031
imul rax, qword [0x14029b0f0]
movabs rcx, 0xf8da7792b4fa2c3a
imul rcx, qword [0x14029b0f8]
add rcx, rax
movabs rax, 0x9b0dde07078fa112
add rax, rcx
mov qword [r12 + 0x60], rax
movzx eax, word [0x14029b100]
movzx ecx, word [0x14029b102]
shrd cx, ax, 0xc
mov eax, ecx
xor eax, 0x4747
mov word [r12 + 0x48], ax
imul eax, dword [0x14029b104], 0xc618c3f1
imul ecx, dword [0x14029b108], 0x2c59f8e3
add eax, ecx
add eax, 0x78f11944
cmp r15d, eax
jbe 0x140026649
movzx eax, word [0x14029b13c]
movzx ecx, word [0x14029b13e]
shrd cx, ax, 4
mov eax, ecx
xor eax, 0xc00d
mov r9d, eax
mov byte [rbp - 3], 1
nop
sub rsp, 0x20
mov rcx, r14
call fcn.14002d1e2
add rsp, 0x20
nop
jmp 0x140026757
mov eax, dword [0x14029b10c]
mov ecx, dword [0x14029b110]
shrd ecx, eax, 5
mov qword [r12 + 0x58], rdx
xor ecx, 0x4eec7a07
mov dword [rbp - 0x2c], r15d
cmp r15d, ecx
je 0x140026729
movabs rax, 0xef8c8f235d0a9c6a
movabs rcx, 0x61f96f3121a87501
movabs r8, 0xc5c873e2bfcca87c
movabs r9, 0x18861f7837c22579
movabs r10, 0x4740baf2abdcec64
movabs r11, 0xa625f889d06adaed
mov rsi, r14
mov r12, rdx
add r12, r8
movzx r13d, word [0x14029b114]
movzx r15d, word [0x14029b116]
imul r13d, r13d, 0x33fd
imul r15d, r15d, 0x778a
add r15d, r13d
add r15d, 0x4276
mov word [rsi], r15w
add rsi, 2
mov r15, qword [0x14029b118]
imul r15, rax
mov r13, qword [0x14029b120]
imul r13, rcx
add r13, r15
add r13, r12
mov r15, qword [str.Kp]
imul r15, r9
mov r12, qword [0x14029b130]
imul r12, r10
add r12, r15
mov r15, r12
add r15, r11
mov r12, r13
cmp r13, r15
jne 0x1400266b3
movzx eax, word [0x14029b138]
movzx ecx, word [0x14029b13a]
imul eax, eax, 0x5caf
imul ecx, ecx, 0xffffe16c
add eax, ecx
add eax, 0x4c2d
mov word [r14 + rdx*2], ax
mov r12, qword [rbp - 0x18]
mov r15d, dword [rbp - 0x2c]
movabs rax, 0x431816559d66c821
imul rax, qword [0x14029b140]
movabs rcx, 0xdc215832564c1d95
imul rcx, qword [0x14029b148]
add rcx, rax
movabs rax, 0xb666933347e6adc8
add rax, rcx
cmp qword [r12 + 0x60], rax
jbe 0x140026797
mov r14, qword [r12 + 0x48]
mov r10, qword [rbp - 0x10]
mov r9d, dword [r10 + 0x10]
movabs rcx, 0xa15271d0b215ab7f
imul rcx, qword [0x14029b150]
movabs rdx, 0x98c2162dd06a6929
imul rdx, qword [0x14029b158]
add rdx, rcx
movabs rcx, 0x3440692dc22cea15
add rcx, rdx
mov r8, r10
cmp qword [r10 + 0x18], rcx
jbe 0x1400267df
mov r8, qword [r10]
imul ecx, dword [0x14029b160], 0x6a563ac0
imul edx, dword [0x14029b164], 0x4b767184
add ecx, edx
add ecx, 0x580535d5
mov edx, dword [0x14029b168]
mov r10d, dword [0x14029b16c]
shrd r10d, edx, 0x19
mov edx, r10d
xor edx, 0xe952abcf
sub rsp, 0x30
mov dword [rsp + 0x28], r15d
mov qword [rsp + 0x20], r14
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
add rsp, 0x30
mov rax, qword [0x14029b178]
mov rdx, qword [0x14029b180]
shrd rdx, rax, 0x1b
movzx eax, byte [0x14029b170]
imul eax, eax, 0xfffffff3
movzx ecx, byte [0x14029b171]
imul ecx, ecx, 0x72
add cl, al
add cl, 9
mov byte [r12 + 0x68], cl
movabs rcx, 0x39958b23f7b3b077
xor rcx, rdx
nop
sub rsp, 0x20
call fcn.1400d87f8
add rsp, 0x20
nop
mov rcx, rax
mov rdx, qword [rbp - 0x20]
add rdx, 0x60
nop
sub rsp, 0x20
mov qword [rbp - 0x20], rax
mov r8, qword [rbp - 0x18]
call fcn.1400b3764
add rsp, 0x20
nop
nop
sub rsp, 0x20
mov rcx, rbx
mov rdx, qword [rbp - 0x20]
call fcn.140032994
add rsp, 0x20
nop
mov rax, qword [rbx]
mov qword [rdi], rax
mov rax, qword [rbx + 8]
mov qword [rdi + 8], rax
sub rsp, 0x20
mov rcx, qword [rbp - 0x18]
call fcn.140028194
add rsp, 0x20
mov r8, qword [rbp - 0x10]
mov rax, qword [r8 + 0x18]
mov rcx, qword [0x14029b188]
mov rdx, qword [0x14029b190]
shrd rdx, rcx, 0x2a
movabs rcx, 0x64c9367cf614973b
xor rcx, rdx
cmp rax, rcx
jbe 0x14002618c
mov rdx, qword [r8]
mov rcx, qword [0x14029b198]
mov r8, qword [0x14029b1a0]
shrd r8, rcx, 0x1a
movabs rcx, 0x26c9459296c2feb0
xor rcx, r8
add rcx, rax
mov r8, qword [0x14029b1a8]
mov r9, qword [0x14029b1b0]
shrd r9, r8, 0x1d
movabs r8, 0x31f300e3bff5d4d2
xor r8, r9
cmp rcx, r8
jbe 0x1400269c6
mov rcx, qword [rdx - 8]
mov r8, qword [0x14029b1b8]
mov r9, qword [0x14029b1c0]
shrd r9, r8, 3
movabs r8, 0x69ff39c580f41be2
xor r8, r9
add r8, rdx
sub r8, rcx
mov rdx, qword [str.J_oRp]
mov r9, qword [0x14029b1d0]
shrd r9, rdx, 0xe
movabs rdx, 0xf129c812d62312d6
xor rdx, r9
cmp r8, rdx
jae 0x140026a47
mov rdx, qword [0x14029b1d8]
mov r8, qword [0x14029b1e0]
shrd r8, rdx, 0x34
movabs rdx, 0x2b2b24498f9f3068
xor rdx, r8
add rax, rdx
jmp 0x1400269cc
mov rax, rcx
mov rcx, rdx
mov rdx, rax
sub rsp, 0x20
call fcn.1400d883c
add rsp, 0x20
jmp 0x14002618c
mov eax, dword [0x1402bcbf8]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov byte [rax + 0x48c], 1
sub rsp, 0x20
lea rcx, [0x14003282e]
call fcn.1400d8bb4
add rsp, 0x20
jmp 0x140025edd
mov eax, dword [0x1402bcbf8]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov byte [rax + 0x4a8], 1
sub rsp, 0x20
lea rcx, [0x1400328d2]
call fcn.1400d8bb4
add rsp, 0x20
jmp 0x14002602d
sub rsp, 0x20
call fcn.1401aec6c
int3