Function at 0x1400811f0
Capabilities:
Encode data using xor

Disassembly:
push rbp
sub rsp, 0x50
lea rbp, [rsp + 0x50]
mov qword [rbp - 8], rcx
mov eax, dword [0x1401084d8]
xor edx, edx
div dword [0x1401084dc]
imul eax, eax, 0xc6e7a005
sub eax, 0x8cc2d2cf
add eax, 0x91293da3
cmp eax, 0x37f82a6b
jae 0x140081da3
mov eax, dword [0x1401084e0]
mov ecx, dword [0x1401084e4]
xor edx, edx
div ecx
mov rdx, qword [rbp - 8]
mov ecx, 0xaad42775
imul rax, rcx
shr rax, 0x3f
or eax, 0xaffffffe
mov dword [rbp - 0x1c], eax
mov eax, 0x10
mov qword [rbp - 0x30], rax
call fcn.1400ec140
sub rsp, rax
mov rax, qword [rbp - 0x30]
mov rcx, rsp
mov qword [rbp - 0x38], rcx
call fcn.1400ec140
sub rsp, rax
mov rax, qword [rbp - 0x30]
mov r8, rsp
mov qword [rbp - 0x28], r8
call fcn.1400ec140
sub rsp, rax
mov eax, dword [rbp - 0x1c]
mov r8, rsp
mov qword [rbp - 0x18], r8
mov qword [rcx], rdx
mov rdx, qword [rcx]
mov qword [rdx + 0x28], 0
mov rdx, qword [rcx]
mov qword [rdx + 0x1f0], 0
mov rcx, qword [rcx]
mov qword [rcx + 0x240], 0
mov rcx, qword [0x140117de0]
cmp qword [rcx + 0x120], 0
setne cl
mov byte [rbp - 9], cl
cmp eax, 0x2eec4fa1
jbe 0x140081227
mov al, byte [rbp - 9]
test al, 1
jne 0x1400812eb
jmp 0x1400813d2
mov eax, dword [0x1401084e8]
xor eax, dword [0x1401084ec]
imul eax, eax, 0xd542728b
or eax, 0xed33483f
sub eax, 0x846ceff8
cmp eax, 0x583ce612
je 0x140081de6
mov eax, dword [0x1401084f0]
xor edx, edx
div dword [0x1401084f4]
add eax, 0x93fe05b4
or eax, 0x835e11c8
xor eax, 0xc9a897a9
mov rcx, qword [0x140117de0]
cmp qword [rcx + 0x40], 0
setne cl
mov byte [rbp - 0x39], cl
cmp eax, 0x11daa5c2
jb 0x140081312
mov al, byte [rbp - 0x39]
test al, 1
jne 0x140081423
jmp 0x14008135c
mov eax, dword [0x1401084f8]
xor edx, edx
div dword [0x1401084fc]
imul eax, eax, 0x22d8ca2f
and eax, 0x9ffd3c9b
imul eax, eax, 0xfe565288
cmp eax, 0xeef687b5
jae 0x140081deb
mov eax, dword [0x140108500]
xor eax, dword [0x140108504]
mov ecx, 0x8b82e317
xor edx, edx
div ecx
or eax, 0x6452e729
add eax, 0x1cac6802
mov rcx, qword [0x140117de0]
cmp qword [rcx + 0x48], 0
setne cl
mov byte [rbp - 0x3a], cl
cmp eax, 0x282fcd2b
jbe 0x140081386
mov al, byte [rbp - 0x3a]
test al, 1
jne 0x140081423
jmp 0x1400813d2
mov eax, dword [0x140108508]
add eax, dword [0x14010850c]
xor eax, 0x8915565b
add eax, 0x7c28676e
and eax, 0xe9b3a866
cmp eax, 0x925f6da7
jae 0x140081df0
mov eax, dword [0x140108510]
or eax, dword [0x140108514]
xor eax, 0x887d29fa
sub eax, 0x81e2d5ae
and eax, 0x97b3fc03
cmp eax, 0xbbe16b44
ja 0x140081df0
jmp 0x140081d52
mov rax, qword [rbp - 0x28]
mov rcx, qword [rbp - 0x18]
mov dword [rcx], 0
mov rcx, qword [0x140117de0]
mov rcx, qword [rcx + 0x40]
mov qword [rax], rcx
mov eax, dword [0x140108518]
imul eax, dword [str.T___a]
xor eax, 0x698ddd45
mov ecx, 0xf56bc0b
xor edx, edx
div ecx
or eax, 0x68b55c34
cmp eax, 0x5d26a896
jb 0x140081df5
mov rcx, qword [rbp - 0x28]
mov eax, dword [0x140108520]
xor edx, edx
div dword [str.hVQZg_]
and eax, 0x83880443
add eax, 0x3c717bba
imul eax, eax, 0x6d8e89ad
cmp qword [rcx], 0
setne cl
mov byte [rbp - 0x3b], cl
cmp eax, 0x33552477
jbe 0x140081df5
mov cl, byte [rbp - 0x3b]
xor eax, eax
test cl, 1
mov byte [rbp - 0x3c], al
jne 0x1400814b7
jmp 0x14008151f
mov eax, dword [0x140108528]
sub eax, dword [0x14010852c]
imul eax, eax, 0x35c404b1
or eax, 0x81890980
and eax, 0xc980f9ec
cmp eax, 0x1ca7bc99
jbe 0x140081dfa
mov rcx, qword [rbp - 0x18]
mov eax, dword [0x140108530]
imul eax, dword [0x140108534]
sub eax, 0xa8fd5134
imul eax, eax, 0xb196f0b7
imul eax, eax, 0xccf66bcd
cmp dword [rcx], 0xa
setl cl
mov byte [rbp - 0x3d], cl
cmp eax, 0x7636f7bf
jbe 0x1400814de
mov al, byte [rbp - 0x3d]
mov byte [rbp - 0x3c], al
jmp 0x14008151f
mov al, byte [rbp - 0x3c]
test al, 1
jne 0x14008152f
jmp 0x14008178c
mov eax, dword [0x140108538]
imul eax, dword [0x14010853c]
sub eax, 0x65b5f1f7
xor eax, 0xda9af1bd
mov ecx, 0x75056180
xor edx, edx
div ecx
cmp eax, 0x7da3c6bf
ja 0x140081dff
mov rcx, qword [rbp - 0x28]
mov eax, dword [0x140108540]
xor edx, edx
div dword [0x140108544]
mov edx, eax
mov rax, qword [rbp - 0x38]
sub edx, 0x22dd8d9c
or edx, 0x59a3f121
and edx, 0x8425f8ec
mov dword [rbp - 0x44], edx
mov rcx, qword [rcx]
mov rcx, qword [rcx + 8]
mov rdx, qword [rax]
sub rsp, 0x20
call fcn.14007c540
add rsp, 0x20
mov ecx, eax
mov eax, dword [rbp - 0x44]
cmp ecx, 0
setne cl
mov byte [rbp - 0x3e], cl
cmp eax, 0x9355d142
jae 0x140081dff
mov al, byte [rbp - 0x3e]
test al, 1
jne 0x1400815c7
jmp 0x1400816d6
mov eax, dword [0x140108548]
sub eax, dword [0x14010854c]
add eax, 0xa4351126
mov ecx, 0x44d0d84c
xor edx, edx
div ecx
imul eax, eax, 0xd32d299
cmp eax, 0xb2ec4372
jae 0x140081e23
mov rcx, qword [rbp - 0x28]
mov eax, dword [0x140108550]
and eax, dword [0x140108554]
sub eax, 0xd059075f
xor eax, 0x7986e757
imul eax, eax, 0x64573fb1
mov rcx, qword [rcx]
mov rcx, qword [rcx + 8]
cmp dword [rcx + 8], 4
sete cl
mov byte [rbp - 0x45], cl
cmp eax, 0xa9883c48
ja 0x1400815f2
mov al, byte [rbp - 0x45]
test al, 1
jne 0x14008163e
jmp 0x140081697
mov eax, dword [0x140108558]
xor edx, edx
div dword [0x14010855c]
mov ecx, 0x94dc2abb
xor edx, edx
div ecx
imul eax, eax, 0x393521f6
add eax, 0xf341ac42
cmp eax, 0x2ecb9570
je 0x140081e28
mov eax, dword [0x140108560]
add eax, dword [0x140108564]
or eax, 0x16d04b2b
imul eax, eax, 0x45a92682
add eax, 0xf854a2c5
cmp eax, 0xadaad276
jbe 0x14008166b
jmp 0x14008178c
mov rax, qword [rbp - 0x38]
mov r9, qword [rbp - 0x18]
mov rcx, qword [rbp - 0x28]
mov r8, qword [rcx]
mov rcx, qword [rax]
mov edx, dword [r9]
mov r10d, edx
add r10d, 1
mov dword [r9], r10d
movsxd rdx, edx
mov qword [rcx + rdx*8 + 0x1f0], r8
mov rcx, qword [0x140117de0]
mov rcx, qword [rcx + 0x120]
mov rax, qword [rax]
mov qword [rax + 0x28], rcx
mov eax, dword [0x140108568]
imul eax, dword [0x14010856c]
xor eax, 0x325fbdfc
or eax, 0xeca5c071
and eax, 0x9478b912
cmp eax, 0x3bef938b
jb 0x140081e2d
mov eax, dword [0x140108570]
sub eax, dword [0x140108574]
imul eax, eax, 0x8289c91d
xor eax, 0x194ad7a0
imul eax, eax, 0x318c5e1f
cmp eax, 0x197241
jbe 0x1400816fd
jmp 0x14008172a
mov eax, dword [0x140108578]
add eax, dword [0x14010857c]
and eax, 0x40228aa8
mov ecx, 0xe1831f4b
xor edx, edx
div ecx
add eax, 0x7e3995e6
cmp eax, 0x64938f86
je 0x140081e32
mov rcx, qword [rbp - 0x28]
mov eax, dword [0x140108580]
xor eax, dword [0x140108584]
xor eax, 0xe44c050a
sub eax, 0x84efb8e3
or eax, 0x5370c001
mov rdx, qword [rcx]
mov rdx, qword [rdx]
mov qword [rcx], rdx
cmp eax, 0x9cffbd28
ja 0x140081e32
jmp 0x14008143f
mov eax, dword [0x140108588]
xor edx, edx
div dword [0x14010858c]
or eax, 0xe4f63d8d
add eax, 0x67b3f6c0
sub eax, 0x70211238
cmp eax, 0xdca13069
ja 0x140081e44
mov rcx, qword [rbp - 0x18]
mov eax, dword [0x140108590]
imul eax, dword [0x140108594]
and eax, 0x369bb43f
or eax, 0xf7426d65
add eax, 0xf54d929e
cmp dword [rcx], 0xa
setl cl
mov byte [rbp - 0x46], cl
cmp eax, 0x38860066
je 0x140081e44
mov al, byte [rbp - 0x46]
test al, 1
jne 0x1400817f8
jmp 0x140081864
mov eax, dword [0x140108598]
xor eax, dword [0x14010859c]
or eax, 0x379d1402
xor eax, 0xd6fb4df
or eax, 0x530e903
cmp eax, 0x6a1a8265
je 0x140081e49
mov rdx, qword [rbp - 0x18]
mov rcx, qword [rbp - 0x38]
mov eax, dword [0x1401085a0]
and eax, dword [0x1401085a4]
sub eax, 0xe29b3c1c
imul eax, eax, 0x2be2a978
sub eax, 0x8b15bdb3
mov rcx, qword [rcx]
movsxd rdx, dword [rdx]
mov qword [rcx + rdx*8 + 0x1f0], 0
cmp eax, 0xf6ca68c4
ja 0x14008181e
jmp 0x140081864
mov eax, dword [0x1401085a8]
add eax, dword [0x1401085ac]
and eax, 0x555afccd
imul eax, eax, 0x82ab4294
sub eax, 0x574876e3
cmp eax, 0xabd741a
jae 0x140081e68
mov rcx, qword [rbp - 0x28]
mov rdx, qword [rbp - 0x18]
mov eax, dword [0x1401085b0]
and eax, dword [0x1401085b4]
and eax, 0x4764faa3
add eax, 0x9d7f67c4
add eax, 0x27f3409a
mov dword [rdx], 0
mov rdx, qword [0x140117de0]
mov rdx, qword [rdx + 0x48]
mov qword [rcx], rdx
cmp eax, 0xb6a2b5b9
je 0x140081e68
jmp 0x1400818d2
mov eax, dword [0x1401085b8]
imul eax, dword [0x1401085bc]
and eax, 0xe05041ac
sub eax, 0x187bf49d
sub eax, 0x91f01271
cmp eax, 0x11ae1ecd
jb 0x140081e89
mov rcx, qword [rbp - 0x28]
mov eax, dword [0x1401085c0]
or eax, dword [0x1401085c4]
xor eax, 0xe1826f60
add eax, 0x54b2c4b0
add eax, 0x1d46ffc7
cmp qword [rcx], 0
setne cl
mov byte [rbp - 0x47], cl
cmp eax, 0xdd117572
ja 0x1400818f9
mov cl, byte [rbp - 0x47]
xor eax, eax
test cl, 1
mov byte [rbp - 0x48], al
jne 0x140081943
jmp 0x1400819a7
mov eax, dword [0x1401085c8]
add eax, dword [0x1401085cc]
and eax, 0xebfba911
sub eax, 0x2bd06b39
sub eax, 0x350f0658
cmp eax, 0xa02cb5f7
jae 0x140081e8e
mov rcx, qword [rbp - 0x18]
mov eax, dword [0x1401085d0]
and eax, dword [0x1401085d4]
xor eax, 0x4dcde40a
sub eax, 0xb5498ea8
add eax, 0xaa835fe6
cmp dword [rcx], 0xa
setl cl
mov byte [rbp - 0x49], cl
cmp eax, 0x55b36cb6
je 0x140081e8e
mov al, byte [rbp - 0x49]
mov byte [rbp - 0x48], al
jmp 0x1400819a7
mov al, byte [rbp - 0x48]
mov byte [rbp - 0x4a], al
mov eax, dword [0x1401085d8]
imul eax, dword [0x1401085dc]
imul eax, eax, 0x6d19d96f
and eax, 0x306ed4dc
mov ecx, 0x28c4473c
xor edx, edx
div ecx
cmp eax, 0x18fe251e
je 0x140081e93
mov eax, dword [0x1401085e0]
sub eax, dword [0x1401085e4]
or eax, 0x45e7fd6b
imul eax, eax, 0xad1a1cd9
and eax, 0x6860d540
cmp eax, 0x29c98d9c
jae 0x1400819d9
mov al, byte [rbp - 0x4a]
test al, 1
jne 0x140081a10
jmp 0x140081c5a
mov eax, dword [0x1401085e8]
and eax, dword [0x1401085ec]
mov ecx, 0x58cf4075
xor edx, edx
div ecx
imul eax, eax, 0xbc4eca3f
or eax, 0xc1e92c5d
cmp eax, 0xae273179
jbe 0x140081e98
mov rax, qword [rbp - 0x38]
mov rcx, qword [rbp - 0x28]
mov edx, dword [0x1401085f0]
or edx, dword [0x1401085f4]
and edx, 0xbdb6223
sub edx, 0xaf6fdd0d
and edx, 0x74a450e6
mov dword [rbp - 0x50], edx
mov rcx, qword [rcx]
mov rcx, qword [rcx + 8]
mov rdx, qword [rax]
sub rsp, 0x20
call fcn.14007c540
add rsp, 0x20
mov ecx, eax
mov eax, dword [rbp - 0x50]
cmp ecx, 0
setne cl
mov byte [rbp - 0x4b], cl
cmp eax, 0xe8ccf524
je 0x140081e98
mov al, byte [rbp - 0x4b]
test al, 1
jne 0x140081aa4
jmp 0x140081ba5
mov rax, qword [rbp - 0x28]
mov rax, qword [rax]
mov rax, qword [rax + 8]
cmp dword [rax + 8], 4
jne 0x140081b0c
mov eax, dword [0x1401085f8]
and eax, dword [0x1401085fc]
or eax, 0x8e999a15
imul eax, eax, 0x52148db2
or eax, 0xa486dd9a
cmp eax, 0x13196114
jb 0x140081ebc
mov eax, dword [0x140108600]
xor eax, dword [0x140108604]
imul eax, eax, 0x16f890f6
or eax, 0xd896b794
add eax, 0x746a6a81
cmp eax, 0x5bfcfad6
jae 0x140081ae0
jmp 0x140081c5a
mov eax, dword [0x140108608]
imul eax, dword [0x14010860c]
or eax, 0xc6a08d90
xor eax, 0x90ba2cba
sub eax, 0x3fbdff39
cmp eax, 0x191721bd
jb 0x140081ec1
mov rcx, qword [rbp - 0x38]
mov r10, qword [rbp - 0x18]
mov eax, dword [0x140108610]
xor edx, edx
div dword [0x140108614]
or eax, 0x979d459
mov r8d, 0xc9e4853f
xor edx, edx
div r8d
mov rdx, qword [rbp - 0x28]
or eax, 0x7d01c5ef
mov r9, qword [rdx]
mov rdx, qword [rcx]
mov r8d, dword [r10]
mov r11d, r8d
add r11d, 1
mov dword [r10], r11d
movsxd r8, r8d
mov qword [rdx + r8*8 + 0x240], r9
mov rdx, qword [0x140117de0]
mov rdx, qword [rdx + 0x120]
mov rcx, qword [rcx]
mov qword [rcx + 0x28], rdx
cmp eax, 0x340b3d6c
jbe 0x140081b33
jmp 0x140081ba5
mov eax, dword [0x140108618]
xor edx, edx
div dword [0x14010861c]
xor eax, 0xc2ad9ec6
and eax, 0x65152f8c
or eax, 0x3f8bf58f
cmp eax, 0x869b0b9c
ja 0x140081f05
mov eax, dword [0x140108620]
xor edx, edx
div dword [0x140108624]
xor eax, 0x3033f1b3
add eax, 0x298e29b5
sub eax, 0x8654b98c
cmp eax, 0x2ca4543d
jb 0x140081bcd
jmp 0x140081bfa
mov eax, dword [0x140108628]
imul eax, dword [0x14010862c]
imul eax, eax, 0xe366bba0
or eax, 0x73e2c445
or eax, 0xfecd7353
cmp eax, 0xa181f73d
je 0x140081f0a
mov rcx, qword [rbp - 0x28]
mov eax, dword [0x140108630]
sub eax, dword [0x140108634]
or eax, 0x7219d19a
add eax, 0x30d8338b
or eax, 0xcf9b137f
mov rdx, qword [rcx]
mov rdx, qword [rdx]
mov qword [rcx], rdx
cmp eax, 0x50a2fd88
jbe 0x140081c22
jmp 0x1400818d2
mov rax, qword [rbp - 0x18]
cmp dword [rax], 0xa
jge 0x140081cdc
mov eax, dword [0x140108638]
sub eax, dword [0x14010863c]
sub eax, 0x8528ff20
or eax, 0x1196000c
mov ecx, 0x1ab31fef
xor edx, edx
div ecx
cmp eax, 0x486cb4b0
ja 0x140081f1c
mov rcx, qword [rbp - 0x38]
mov eax, dword [0x140108640]
sub eax, dword [0x140108644]
mov r8d, 0x93737e91
xor edx, edx
div r8d
mov rdx, qword [rbp - 0x18]
and eax, 0xc0f4bee0
and eax, 0xdeda52b
mov rcx, qword [rcx]
movsxd rdx, dword [rdx]
mov qword [rcx + rdx*8 + 0x240], 0
cmp eax, 0x2ae615d3
ja 0x140081f1c
jmp 0x140081cdc
mov eax, dword [0x140108648]
add eax, dword [0x14010864c]
xor eax, 0x26dd1526
mov ecx, 0x46d83b6c
xor edx, edx
div ecx
imul eax, eax, 0xe08c88fe
cmp eax, 0x6b8d888f
je 0x140081f3b
mov rcx, qword [rbp - 0x38]
mov eax, dword [0x140108650]
xor eax, dword [0x140108654]
mov r8d, 0x3fe2cd5d
xor edx, edx
div r8d
add eax, 0xb1bd76d8
sub eax, 0x39fbe698
mov rdx, qword [0x140117de0]
mov edx, dword [rdx + 0xa0]
mov rcx, qword [rcx]
mov dword [rcx + 0xe0], edx
cmp eax, 0xf6631842
je 0x140081d07
jmp 0x140081d52
mov eax, dword [0x140108658]
add eax, dword [0x14010865c]
sub eax, 0xf8ee7016
and eax, 0x56063ab7
or eax, 0x414ca9f4
cmp eax, 0xc7afb6fb
je 0x140081f5a
mov eax, dword [0x140108660]
add eax, dword [0x140108664]
xor eax, 0x38f3c9fb
sub eax, 0x36ff7419
xor eax, 0x5cb6a1c8
cmp eax, 0x6742dab5
je 0x140081f5a
mov rsp, rbp
pop rbp
ret
mov rcx, qword [rbp - 8]
mov eax, 0x10
call fcn.1400ec140
sub rsp, rax
mov rax, rsp
mov qword [rax], rcx
mov rcx, qword [rax]
mov qword [rcx + 0x28], 0
mov rcx, qword [rax]
mov qword [rcx + 0x1f0], 0
mov rax, qword [rax]
mov qword [rax + 0x240], 0
jmp 0x140081227
jmp 0x140081312
jmp 0x140081386
jmp 0x1400813f8
jmp 0x14008146a
jmp 0x1400814de
mov rax, qword [rbp - 0x38]
mov rcx, qword [rbp - 0x28]
mov rcx, qword [rcx]
mov rcx, qword [rcx + 8]
mov rdx, qword [rax]
sub rsp, 0x20
call fcn.14007c540
add rsp, 0x20
jmp 0x14008155a
jmp 0x1400815f2
jmp 0x14008166b
jmp 0x1400816fd
mov rax, qword [rbp - 0x28]
mov rcx, qword [rax]
mov rcx, qword [rcx]
mov qword [rax], rcx
jmp 0x140081754
jmp 0x1400817b4
mov rcx, qword [rbp - 0x18]
mov rax, qword [rbp - 0x38]
mov rax, qword [rax]
movsxd rcx, dword [rcx]
mov qword [rax + rcx*8 + 0x1f0], 0
jmp 0x14008181e
mov rax, qword [rbp - 0x28]
mov rcx, qword [rbp - 0x18]
mov dword [rcx], 0
mov rcx, qword [0x140117de0]
mov rcx, qword [rcx + 0x48]
mov qword [rax], rcx
jmp 0x14008188b
jmp 0x1400818f9
jmp 0x140081969
jmp 0x1400819d9
mov rax, qword [rbp - 0x38]
mov rcx, qword [rbp - 0x28]
mov rcx, qword [rcx]
mov rcx, qword [rcx + 8]
mov rdx, qword [rax]
sub rsp, 0x20
call fcn.14007c540
add rsp, 0x20
jmp 0x140081a3b
jmp 0x140081ae0
mov rax, qword [rbp - 0x38]
mov r9, qword [rbp - 0x18]
mov rcx, qword [rbp - 0x28]
mov r8, qword [rcx]
mov rcx, qword [rax]
mov edx, dword [r9]
mov r10d, edx
add r10d, 1
mov dword [r9], r10d
movsxd rdx, edx
mov qword [rcx + rdx*8 + 0x240], r8
mov rcx, qword [0x140117de0]
mov rcx, qword [rcx + 0x120]
mov rax, qword [rax]
mov qword [rax + 0x28], rcx
jmp 0x140081b33
jmp 0x140081bcd
mov rax, qword [rbp - 0x28]
mov rcx, qword [rax]
mov rcx, qword [rcx]
mov qword [rax], rcx
jmp 0x140081c22
mov rcx, qword [rbp - 0x18]
mov rax, qword [rbp - 0x38]
mov rax, qword [rax]
movsxd rcx, dword [rcx]
mov qword [rax + rcx*8 + 0x240], 0
jmp 0x140081c91
mov rax, qword [rbp - 0x38]
mov rcx, qword [0x140117de0]
mov ecx, dword [rcx + 0xa0]
mov rax, qword [rax]
mov dword [rax + 0xe0], ecx
jmp 0x140081d07
jmp 0x140081d78