Function at 0x140078ad0
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xf8
mov rcx, qword [rcx]
mov rbx, qword [rcx]
mov eax, dword [0x141dcc288]
mov edx, dword [0x141dcc28c]
add eax, edx
add eax, 0x1ce73c1c
xor eax, 0xc86496e
cmp eax, 0xf9c6d5e7
ja 0x140078b2f
mov eax, dword [0x141dcc290]
xor edx, edx
div dword [0x141dcc294]
imul eax, eax, 0xd6bfe04a
and eax, 0x3cc731e
mov qword [rcx], 0
cmp eax, 0x53e5b438
jbe 0x140078b38
mov qword [rcx], 0
jmp 0x140078b08
test rbx, rbx
je 0x1400790fd
mov eax, dword [0x141dcc2a0]
add eax, dword [0x141dcc2a4]
mov qword [rsp + 0x38], 0
imul rcx, rax, 0x5e27327
shr rcx, 0x20
sub eax, ecx
shr eax, 1
add eax, ecx
shr eax, 0x1f
xor eax, 0xd1002139
mov ecx, 0x832a3513
imul rcx, rax
shr rcx, 0x20
sub eax, ecx
shr eax, 1
add eax, ecx
shr eax, 0x1e
cmp eax, 0x8760ac94
jbe 0x140078bb4
mov qword [rsp + 0x60], 0
mov qword [rsp + 0x70], 0
mov qword [rsp + 0x80], 0
mov word [rsp + 0x90], 0
lea rcx, [rsp + 0x48]
nop dword [rax]
mov eax, dword [0x141dcc2a8]
xor edx, edx
div dword [0x141dcc2ac]
imul eax, eax, 0x66c902c6
add eax, 0xda26a8dc
mov qword [rsp + 0x60], 0
mov qword [rsp + 0x70], 0
mov qword [rsp + 0x80], 0
mov word [rsp + 0x90], 0
cmp eax, 0x6a6f21e3
jb 0x140078bc0
xorps xmm0, xmm0
movups xmmword [rcx], xmm0
lea rcx, [rsp + 0x28]
lea rdx, [rsp + 0x38]
call fcn.140079b00
mov r15, qword [rsp + 0x28]
mov r14, qword [rsp + 0x30]
cmp r15, 3
je 0x140078cf0
cmp r15d, 2
jne 0x140079610
mov eax, dword [0x141dcc2b0]
xor edx, edx
div dword [0x141dcc2b4]
nop dword [rax]
mov eax, dword [0x141dcc2b8]
xor edx, edx
div dword [0x141dcc2bc]
imul eax, eax, 0x4b61c269
xor eax, 0x334862c4
imul eax, eax, 0x6c823f3f
cmp eax, 0x2286b41c
jb 0x140078c50
mov eax, r14d
and eax, 3
cmp rax, 3
ja case.default.0x140078c94
lea rcx, [0x141dba1ec]
movsxd rax, dword [rcx + rax*4]
add rax, rcx
jmp rax
xor eax, eax
nop dword [rax + rax]
test al, al
jne 0x140078ca0
nop word cs:[rax + rax]
mov eax, dword [0x141dcc390]
xor eax, dword [0x141dcc394]
xor eax, 0x5c714c33
add eax, 0xa0c53726
imul rax, rax, 0x396d7f3
shr rax, 0x38
cmp eax, 0x8e717174
jae 0x140078cb0
movzx ecx, byte [r14 + 0x10]
jmp 0x1400792d3
mov eax, dword [0x141dcc408]
or eax, dword [0x141dcc40c]
imul eax, eax, 0x5c61bba7
add eax, 0x6431b4d
or eax, 0x61c5d26d
cmp eax, 0x70b0e927
jb 0x140078cf0
xor eax, eax
test al, al
je 0x1400796ae
jmp 0x1400796e1
mov eax, dword [0x141dcc2c0]
xor eax, dword [0x141dcc2c4]
imul eax, eax, 0x14bbdc78
or eax, 0x20007004
and eax, 0x20447014
cmp eax, 0x69fe6af5
je case.default.0x140078c94
jmp 0x14007911f
mov eax, 0xd40698ad
nop dword [rax]
mov ecx, dword [0x141dcc398]
sub ecx, dword [0x141dcc39c]
xor ecx, 0x8240263
or ecx, 0xf39a3c94
imul rcx, rax
shr rcx, 0x3b
cmp ecx, 0x446c59bf
ja 0x140078d60
xor eax, eax
nop word [rax + rax]
test al, al
jne 0x140078d90
movzx ecx, byte [r14 + 0xf]
jmp 0x1400792d3
movabs rcx, 0xffffffff00000000
mov eax, dword [0x141dcc370]
xor edx, edx
div dword [0x141dcc374]
and rcx, r14
nop dword [rax]
mov eax, dword [0x141dcc378]
xor eax, dword [0x141dcc37c]
or eax, 0x799605c8
xor eax, 0x2a717bb7
imul eax, eax, 0x7eab0ec6
cmp eax, 0x91dcc3f3
je 0x140078dc0
nop word cs:[rax + rax]
mov eax, dword [0x141dcc380]
xor edx, edx
div dword [0x141dcc384]
xor eax, 0xcb73b855
imul eax, eax, 0x59cfc382
add eax, 0xf7b42e1e
cmp eax, 0x9d54f7b0
ja 0x140078df0
movabs rax, 0x7800000000
cmp rcx, rax
jne 0x140079610
jmp 0x1400792dc
mov rax, r14
shr rax, 0x20
nop word cs:[rax + rax]
mov ecx, dword [0x141dcc2c8]
and ecx, dword [0x141dcc2cc]
and ecx, 0x5193bef1
imul ecx, ecx, 0x662ce81f
imul rcx, rcx, 0x137e1ea3
shr rcx, 0x3a
cmp ecx, 0x3e55ba6a
je 0x140078e40
nop dword [rax + rax]
mov ecx, dword [0x141dcc2d0]
and ecx, dword [0x141dcc2d4]
add ecx, 0xdf51bffe
xor ecx, 0x812cffe
cmp ecx, 0x7a148b1e
ja 0x140078e70
cmp eax, 0x28
ja case.default.0x140078ea9
mov eax, eax
lea rcx, [0x141dba1fc]
movsxd rax, dword [rcx + rax*4]
add rax, rcx
jmp rax
xor ecx, ecx
jmp 0x1400792b0
mov eax, dword [0x141dcc2d8]
or eax, dword [0x141dcc2dc]
or eax, 0x4380030
and eax, 0xf43a083c
xor eax, 0x9988f8fe
mov cl, 3
cmp eax, 0x141fbbae
jb case.0x140078ea9.3
jmp 0x1400792b0
mov eax, dword [0x141dcc2e8]
or eax, dword [0x141dcc2ec]
add eax, 0xcb31fdee
xor eax, 0x33e6e331
add eax, 0xe085cd35
mov cl, 6
cmp eax, 0xde243e2f
ja case.0x140078ea9.6
jmp 0x1400792b0
mov eax, dword [0x141dcc2f0]
sub eax, dword [0x141dcc2f4]
or eax, 0x37d30cf7
add eax, 0xe7a2b7b5
mov cl, 7
cmp eax, 0x1c98f60b
jb case.0x140078ea9.7
jmp 0x1400792b0
mov eax, dword [0x141dcc2f8]
sub eax, dword [0x141dcc2fc]
xor eax, 0x12411a10
or eax, 0x699ce4ef
add eax, 0xa541fcdb
mov cl, 8
cmp eax, 0xdf5d0e1b
jae case.0x140078ea9.8
jmp 0x1400792b0
mov eax, dword [0x141dcc300]
xor eax, dword [0x141dcc304]
imul rax, rax, 0x46e58563
shr rax, 0x3e
or eax, 0xea693ae4
mov cl, 0xb
cmp eax, 0x2f2c1aa0
jbe case.0x140078ea9.11
jmp 0x1400792b0
mov eax, dword [0x141dcc308]
or eax, dword [0x141dcc30c]
imul eax, eax, 0xa9ac9921
mov cl, 0xc
cmp eax, 0x3fe29d44
je case.0x140078ea9.12
jmp 0x1400792b0
mov eax, dword [0x141dcc310]
or eax, dword [0x141dcc314]
add eax, 0x348f3d4c
imul rax, rax, 0x4e413117
shr rax, 0x3c
or eax, 0xbbb0eb5
mov cl, 0x11
cmp eax, 0x41906e90
jae case.0x140078ea9.17
jmp 0x1400792b0
mov eax, dword [0x141dcc328]
xor edx, edx
div dword [0x141dcc32c]
imul eax, eax, 0x284fcf86
add eax, 0xa6454044
and eax, 0xd0176c6
mov cl, 0x17
cmp eax, 0xb197bb59
ja case.0x140078ea9.23
jmp 0x1400792b0
mov eax, dword [0x141dcc330]
imul eax, dword [0x141dcc334]
or eax, 0x4105ba82
add eax, 0xb20aa7a7
xor eax, 0xce8bdb3b
mov cl, 0x19
cmp eax, 0xca587db3
jb case.0x140078ea9.25
jmp 0x1400792b0
mov eax, dword [0x141dcc338]
xor edx, edx
div dword [0x141dcc33c]
add eax, 0xa3ab5e07
xor eax, 0x3bc322a5
imul eax, eax, 0x1f89771
mov cl, 0x1b
cmp eax, 0xa7c32e5
je case.0x140078ea9.27
jmp 0x1400792b0
mov eax, dword [0x141dcc340]
sub eax, dword [0x141dcc344]
or eax, 0x553fc700
xor eax, 0xf3296413
add eax, 0x695a61b
mov cl, 0x1c
cmp eax, 0x59304788
jae case.0x140078ea9.28
jmp 0x1400792b0
mov eax, dword [0x141dcc348]
xor edx, edx
div dword [0x141dcc34c]
imul rcx, rax, 0x1b82bc8d
shr rcx, 0x20
sub eax, ecx
shr eax, 1
add eax, ecx
shr eax, 0x19
and eax, 0xffffffd1
imul eax, eax, 0xc5b1a133
mov cl, 0x1d
cmp eax, 0x5bb0f7a8
jae case.0x140078ea9.29
jmp 0x1400792b0
mov eax, dword [0x141dcc350]
or eax, dword [0x141dcc354]
add eax, 0x403a2706
and eax, 0x305ffdb
imul eax, eax, 0x5792b8c8
mov cl, 0x23
cmp eax, 0xaf961aa4
je case.0x140078ea9.35
jmp 0x1400792b0
mov eax, dword [0x141dcc360]
imul eax, dword [0x141dcc364]
add eax, 0x783dd1bf
or eax, 0xfff8fb7e
mov cl, 0x25
cmp eax, 0x97351386
jb case.0x140078ea9.37
jmp 0x1400792b0
ud2
ud2
mov cl, 0x29
jmp 0x1400792b0
mov cl, 1
jmp 0x1400792b0
mov cl, 2
jmp 0x1400792b0
mov eax, 0xf46c4a0d
mov ecx, dword [0x141dcc2e0]
add ecx, dword [0x141dcc2e4]
imul rcx, rax
shr rcx, 0x3c
imul edx, ecx, 0x15c9de70
mov cl, 4
cmp edx, 0x8374989b
jbe 0x14007913b
jmp 0x1400792b0
mov cl, 5
jmp 0x1400792b0
mov cl, 9
jmp 0x1400792b0
mov cl, 0xa
jmp 0x1400792b0
mov cl, 0xd
jmp 0x1400792b0
mov cl, 0xe
jmp 0x1400792b0
mov cl, 0xf
jmp 0x1400792b0
xor eax, eax
mov cl, 0x10
test al, al
jne 0x140079190
jmp 0x1400792b0
mov r8d, 0xe430e549
mov eax, dword [0x141dcc318]
xor edx, edx
div dword [0x141dcc31c]
imul rax, r8
shr rax, 0x3f
or eax, 0xa261980
mov cl, 0x12
cmp eax, 0x7236db46
ja 0x1400791a1
jmp 0x1400792b0
mov cl, 0x13
jmp 0x1400792b0
mov cl, 0x14
jmp 0x1400792b0
xor eax, eax
mov cl, 0x15
test al, al
jne 0x1400791da
jmp 0x1400792b0
mov r8d, 0xf3ffae37
mov eax, dword [0x141dcc320]
xor edx, edx
div dword [0x141dcc324]
add eax, 0x5a07a630
imul rax, r8
shr rax, 0x3f
or eax, 0xfb55a11a
mov cl, 0x16
cmp eax, 0xdbd39f3
jbe 0x1400791eb
jmp 0x1400792b0
mov cl, 0x18
jmp 0x1400792b0
mov cl, 0x1a
jmp 0x1400792b0
mov cl, 0x1e
jmp 0x1400792b0
mov cl, 0x1f
jmp 0x1400792b0
mov cl, 0x20
jmp 0x1400792b0
xor eax, eax
mov cl, 0x21
test al, al
jne 0x14007923e
jmp 0x1400792b0
mov cl, 0x22
jmp 0x1400792b0
mov cl, 0x24
jmp 0x1400792b0
mov r8d, 0xb0601215
mov eax, dword [0x141dcc368]
xor edx, edx
div dword [0x141dcc36c]
add eax, 0x3367a767
imul rax, r8
shr rax, 0x3f
mov cl, 0x26
cmp eax, 0xc3c99b84
je 0x140079254
jmp 0x1400792b0
mov eax, 0xa43fcd0d
mov edx, dword [0x141dcc358]
sub edx, dword [0x141dcc35c]
imul rdx, rax
shr rdx, 0x3f
xor edx, 0x291b9161
mov cl, 0x27
cmp edx, 0xc5ae2f72
ja 0x14007927f
jmp 0x1400792b0
mov al, 1
mov cl, 0x28
test al, al
je 0x1400792a7
nop dword [rax]
mov eax, dword [0x141dcc388]
xor eax, dword [0x141dcc38c]
imul rax, rax, 0x65da2451
shr rax, 0x3e
or eax, 0x52364230
cmp eax, 0xfff0a919
jae 0x1400792b0
cmp cl, 0x24
jne 0x140079610
mov eax, dword [0x141ddb27c]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov rcx, qword [rax + 0x38]
mov eax, dword [0x141dcc3a0]
xor edx, edx
div dword [0x141dcc3a4]
nop word cs:[rax + rax]
mov eax, dword [0x141dcc3a8]
xor eax, dword [0x141dcc3ac]
add eax, 0x68a668b1
or eax, 0x7a27d3d5
add eax, 0x56ed19bc
cmp eax, 0x3abbd040
jb 0x140079310
xor eax, eax
nop word cs:[rax + rax]
test al, al
jne 0x140079340
test rcx, rcx
jne 0x140079610
mov eax, dword [0x141dcc3b0]
or eax, dword [0x141dcc3b4]
imul eax, eax, 0x1cdd9258
and eax, 0x6da5f068
add eax, 0x234d6b75
cmp eax, 0xb6e905fb
ja 0x1400793a8
mov eax, dword [0x141dcc3b8]
or eax, dword [0x141dcc3bc]
imul eax, eax, 0x18e4dbea
xor eax, 0xa62ee1b3
mov ecx, 0xc8ba0e29
imul rcx, rax
shr rcx, 0x3d
mov qword [rsp + 0x98], 0
cmp ecx, 0xd56a8d73
jbe 0x1400793b6
mov qword [rsp + 0x98], 0
jmp 0x140079370
mov eax, dword [0x141dcc3c0]
imul eax, dword [0x141dcc3c4]
add eax, 0xe519529e
or eax, 0x9fbe3df9
cmp eax, 0x8077eb28
jne 0x140079420
mov qword [rsp + 0xa8], 1
mov qword [rsp + 0xb0], 0
mov qword [rsp + 0xc0], 0
mov qword [rsp + 0xd0], 0
mov qword [rsp + 0xe0], 0
mov word [rsp + 0xf0], 1
nop word [rax + rax]
mov eax, dword [0x141dcc3c8]
add eax, dword [0x141dcc3cc]
imul eax, eax, 0x33b34a69
and eax, 0x240a0282
mov qword [rsp + 0xa8], 1
mov qword [rsp + 0xb0], 0
mov qword [rsp + 0xc0], 0
mov qword [rsp + 0xd0], 0
mov qword [rsp + 0xe0], 0
mov word [rsp + 0xf0], 1
cmp eax, 0xb5e28f3
je 0x140079420
mov eax, dword [0x141dcc3d0]
add eax, dword [0x141dcc3d4]
imul eax, eax, 0xce4da84e
or eax, 0xd1b76d4e
add eax, 0x6412c59e
cmp eax, 0xc343c455
ja 0x1400794bf
lea rcx, [rsp + 0x38]
lea rdx, [rsp + 0x98]
call fcn.140079b00
xor eax, eax
test al, al
je 0x1400794d3
lea rcx, [rsp + 0x38]
lea rdx, [rsp + 0x98]
call fcn.140079b00
jmp 0x1400794a7
mov rax, qword [rsp + 0x38]
cmp eax, 3
jne 0x140079582
mov r14, qword [rsp + 0x40]
mov eax, dword [0x141dcc3d8]
xor edx, edx
div dword [0x141dcc3dc]
imul eax, eax, 0x19d8662
and eax, 0xf0e812b6
mov ecx, 0xa5e63c55
imul rcx, rax
shr rcx, 0x3e
cmp ecx, 0xeef8a1
jbe 0x14007951e
lea rcx, [rsp + 0x28]
call fcn.1400816d0
lea rsi, [rsp + 0x28]
nop word cs:[rax + rax]
mov eax, dword [0x141dcc3e0]
xor eax, dword [0x141dcc3e4]
imul edi, eax, 0x1eafff32
add edi, 0xe58b6b58
xor edi, 0x47adc432
mov rcx, rsi
call fcn.1400816d0
cmp edi, 0xe448101d
ja 0x140079530
nop
mov eax, dword [0x141dcc3e8]
or eax, dword [0x141dcc3ec]
and eax, 0x21800001
xor eax, 0x2fdc4349
cmp eax, 0x5cb2215c
jae 0x140079560
jmp 0x140078d13
mov eax, dword [0x141dcc3f0]
or eax, dword [0x141dcc3f4]
or eax, 0x13d2f011
imul eax, eax, 0xe265d313
and eax, 0x5ea853ee
cmp eax, 0x51e05d9
jb 0x1400795e1
mov eax, dword [0x141dcc3f8]
and eax, dword [0x141dcc3fc]
mov ecx, 0x93e9c90b
imul rcx, rax
shr rcx, 0x3f
xor ecx, 0x67f0e02d
imul rsi, rcx, 0x2ca9d0b9
shr rsi, 0x3b
lea rcx, [rsp + 0x38]
call fcn.1400816d0
cmp esi, 0x1964aaad
jne 0x1400795f0
lea rcx, [rsp + 0x38]
call fcn.1400816d0
jmp 0x1400795a5
mov eax, dword [0x141dcc400]
add eax, dword [0x141dcc404]
xor eax, 0xab2420
and eax, 0xaf2728
cmp eax, 0x379fd9c6
je 0x1400795f0
nop dword [rax]
mov eax, dword [0x141dcc448]
add eax, dword [0x141dcc44c]
imul eax, eax, 0xf827c062
or eax, 0xbaee3009
xor eax, 0x20533b80
cmp eax, 0xcb6077a5
ja 0x140079610
nop word cs:[rax + rax]
mov eax, dword [0x141dcc450]
and eax, dword [0x141dcc454]
and eax, 0x22a80150
imul eax, eax, 0xdcfbf3bd
cmp eax, 0xe4cfd1b
jb 0x140079640
mov eax, 0xbdd68b37
nop word cs:[rax + rax]
mov ecx, dword [0x141dcc458]
or ecx, dword [0x141dcc45c]
add ecx, 0x552a06f5
imul rcx, rax
shr rcx, 0x3e
add ecx, 0x5831c56d
cmp ecx, 0x8e30ccda
ja 0x140079670
mov rcx, qword [rbx]
mov rax, qword [rbx + 8]
cmp rcx, 3
jbe 0x14007981a
jmp 0x140079840
mov eax, dword [0x141dcc410]
imul eax, dword [0x141dcc414]
imul eax, eax, 0x229c5bb1
mov ecx, 0xdf938c2d
imul rcx, rax
shr rcx, 0x3d
add ecx, 0xd95a20df
mov qword [rsp + 0x38], r14
cmp ecx, 0xcd58ce97
jae 0x1400796e8
mov qword [rsp + 0x38], r14
jmp 0x1400796ae
cmp qword [0x141ddb1b0], 0
je 0x140079717
mov eax, dword [0x141dcc420]
add eax, dword [0x141dcc424]
xor eax, 0x539a42e0
imul rax, rax, 0xa4de25f
shr rax, 0x37
cmp eax, 0x2ede7a5e
jne 0x14007974d
jmp 0x140079778
mov qword [0x141ddb1b0], r14
nop
mov eax, dword [0x141dcc418]
add eax, dword [0x141dcc41c]
or eax, 0x6d1858d2
add eax, 0x41429773
imul rax, rax, 0x22da5d4f
shr rax, 0x3d
cmp eax, 0x99c00dce
jae 0x140079720
jmp 0x1400797d8
mov eax, dword [0x141dcc428]
xor edx, edx
div dword [0x141dcc42c]
add eax, 0x641a015d
xor eax, 0x8617124
and eax, 0x8e3f9a5
lock dec qword [r14]
sete cl
cmp eax, 0xda0f7fc0
jbe 0x14007977e
lock dec qword [r14]
jmp 0x14007974d
test cl, cl
je 0x1400797d8
mov eax, dword [0x141dcc430]
add eax, dword [0x141dcc434]
mov ecx, 0xa02d8edf
imul rcx, rax
shr rcx, 0x3e
imul eax, ecx, 0x70e19024
cmp eax, 0x58761569
jbe 0x1400797b0
nop dword [rax + rax]
mov eax, dword [0x141dcc438]
and eax, dword [0x141dcc43c]
or eax, 0x9e91582e
imul eax, eax, 0x2a8058fd
cmp eax, 0xaea34647
je 0x1400797b0
lea rcx, [rsp + 0x38]
call fcn.1400c05f0
lea r14, [0x141ddb1b0]
nop
mov eax, dword [0x141dcc440]
sub eax, dword [0x141dcc444]
imul rcx, rax, 0x5e0daddb
shr rcx, 0x20
sub eax, ecx
shr eax, 1
add eax, ecx
shr eax, 0x1c
cmp eax, 0x4a307081
je 0x1400797e0
mov r15d, 3
mov rcx, qword [rbx]
mov rax, qword [rbx + 8]
cmp rcx, 3
ja 0x140079840
cmp rcx, 2
je 0x140079840
mov qword [rbx], r15
mov qword [rbx + 8], r14
add rsp, 0xf8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov ecx, dword [0x141dcc460]
sub ecx, dword [0x141dcc464]
and ecx, 0x973bdf84
add ecx, 0x33717cbf
or ecx, 0x39766ff8
cmp ecx, 0xb3655f3c
jb 0x140079840
mov ecx, eax
and ecx, 3
xor edx, edx
nop dword [rax]
test dl, dl
jne 0x140079870
lea rdx, [0x141dba2a0]
movsxd rcx, dword [rdx + rcx*4]
add rcx, rdx
jmp rcx