Function at 0x140016b30
Capabilities:
Encode data using xor

Disassembly:
push rbp
sub rsp, 0x70
lea rbp, [rsp + 0x70]
mov qword [rbp - 0x10], rdx
mov qword [rbp - 8], rcx
mov eax, dword [0x1400fd590]
xor edx, edx
div dword [0x1400fd594]
imul eax, eax, 0x25e11430
add eax, 0xe095dfa6
xor eax, 0x6f32b1ce
cmp eax, 0x955b17ba
ja 0x140017617
mov r9, qword [rbp - 0x10]
mov r10, qword [rbp - 8]
mov eax, dword [0x1400fd598]
mov ecx, dword [0x1400fd59c]
sub eax, ecx
xor eax, 0x2d8302df
add eax, 0x313b3996
and eax, 0x65839c50
mov dword [rbp - 0x24], eax
mov eax, 0x10
mov qword [rbp - 0x38], rax
call fcn.1400ec140
sub rsp, rax
mov rax, qword [rbp - 0x38]
mov rcx, rsp
mov qword [rbp - 0x48], rcx
call fcn.1400ec140
sub rsp, rax
mov rax, qword [rbp - 0x38]
mov r8, rsp
mov qword [rbp - 0x40], r8
call fcn.1400ec140
sub rsp, rax
mov rax, qword [rbp - 0x38]
mov rdx, rsp
mov qword [rbp - 0x30], rdx
call fcn.1400ec140
sub rsp, rax
mov eax, dword [rbp - 0x24]
mov r11, rsp
mov qword [rbp - 0x20], r11
mov qword [rcx], r10
mov qword [r8], r9
mov dword [rdx], 0
cmp qword [rcx], 0
setne cl
mov byte [rbp - 0x11], cl
cmp eax, 0x4845e3dc
jbe 0x140017617
mov al, byte [rbp - 0x11]
test al, 1
jne 0x140016c1d
jmp 0x140016c18
jmp 0x1400175c6
mov eax, dword [0x1400fd5a0]
xor eax, dword [0x1400fd5a4]
mov ecx, 0xd63f0df0
xor edx, edx
div ecx
imul eax, eax, 0xcc27f121
and eax, 0xbfaa939b
cmp eax, 0xc48a015e
ja 0x140017662
mov rcx, qword [rbp - 0x40]
mov rdx, qword [rbp - 0x48]
mov eax, dword [0x1400fd5a8]
add eax, dword [0x1400fd5ac]
or eax, 0x6ddb2e99
sub eax, 0x260a6980
add eax, 0x3ed42295
mov rdx, qword [rdx]
mov rcx, qword [rcx]
mov qword [rcx + 0x1f8], rdx
cmp eax, 0x345e7855
jbe 0x140016c48
jmp 0x140016c88
mov eax, dword [0x1400fd5b0]
sub eax, dword [0x1400fd5b4]
or eax, 0x7cb93bec
sub eax, 0xd160d3c1
imul eax, eax, 0x7a065967
cmp eax, 0xce4987c5
jb 0x14001767c
mov rcx, qword [rbp - 0x40]
mov eax, dword [0x1400fd5b8]
xor eax, dword [0x1400fd5bc]
and eax, 0xf18acda3
sub eax, 0xbc223ca9
and eax, 0x2fe0903e
mov rcx, qword [rcx]
cmp qword [rcx + 0x1f8], 0
setne cl
mov byte [rbp - 0x49], cl
cmp eax, 0x7d133b0a
je 0x14001767c
mov al, byte [rbp - 0x49]
test al, 1
jne 0x140016cfa
jmp 0x140016dcf
mov eax, dword [0x1400fd5c0]
sub eax, dword [0x1400fd5c4]
and eax, 0xf55268a3
and eax, 0xf1083ef
xor eax, 0xa7e63a70
cmp eax, 0x9da79426
jbe 0x140017681
mov rcx, qword [rbp - 0x30]
mov eax, dword [0x1400fd5c8]
or eax, dword [0x1400fd5cc]
and eax, 0xd46f75a0
mov r8d, 0x20d1030
xor edx, edx
div r8d
xor eax, 0x7805450e
mov edx, dword [rcx]
add edx, 1
mov dword [rcx], edx
cmp eax, 0xfeb61a
jb 0x140017681
jmp 0x140016d5c
mov eax, dword [0x1400fd5d0]
or eax, dword [0x1400fd5d4]
sub eax, 0x6c486c68
sub eax, 0xfcd407c
xor eax, 0xd06d4e04
cmp eax, 0x5950c801
je 0x140017691
mov rcx, qword [rbp - 0x40]
mov eax, dword [0x1400fd5d8]
sub eax, dword [str.3kH_tC]
imul eax, eax, 0x1d6b8f63
or eax, 0xcc63d018
mov r8d, 0x61407f07
xor edx, edx
div r8d
mov rdx, qword [rcx]
mov rdx, qword [rdx + 0x1f8]
mov rdx, qword [rdx]
mov rcx, qword [rcx]
mov qword [rcx + 0x1f8], rdx
cmp eax, 0x79577803
ja 0x140017691
jmp 0x140016c88
mov eax, dword [0x1400fd5e0]
imul eax, dword [0x1400fd5e4]
xor eax, 0x3e17d9ae
sub eax, 0xaacdfd26
xor eax, 0xc15b14e9
cmp eax, 0x66907fc1
ja 0x1400176b1
mov rax, qword [rbp - 0x30]
mov ecx, dword [0x1400fd5e8]
sub ecx, dword [0x1400fd5ec]
xor ecx, 0x99f147ed
xor ecx, 0xfd85e6d4
and ecx, 0xb1c64ba0
mov dword [rbp - 0x50], ecx
movsxd rax, dword [rax]
imul rcx, rax, 0x68
sub rsp, 0x20
call sub.msvcrt.dll_malloc
mov rcx, qword [rbp - 0x40]
add rsp, 0x20
mov r8, rax
mov eax, dword [rbp - 0x50]
mov rdx, qword [rcx]
mov qword [rdx + 0x1f8], r8
mov rcx, qword [rcx]
cmp qword [rcx + 0x1f8], 0
setne cl
mov byte [rbp - 0x4a], cl
cmp eax, 0x8ff94298
jae 0x140016df6
mov al, byte [rbp - 0x4a]
test al, 1
jne 0x140016ec5
jmp 0x140016e6f
mov eax, dword [0x1400fd5f0]
and eax, dword [0x1400fd5f4]
or eax, 0xc692c0f
sub eax, 0xea63188b
add eax, 0xa10f8c76
cmp eax, 0x85cb7302
ja 0x1400176df
mov eax, dword [0x1400fd5f8]
xor eax, dword [0x1400fd5fc]
xor eax, 0x827b645
imul eax, eax, 0x721c8cdf
mov ecx, 0xda9db207
xor edx, edx
div ecx
cmp eax, 0x493fad2
jae 0x1400176df
jmp 0x1400175c6
mov eax, dword [0x1400fd600]
or eax, dword [0x1400fd604]
and eax, 0x73b3cc7e
imul eax, eax, 0x4226de93
add eax, 0xf66045ea
cmp eax, 0xde03e0c7
jae 0x1400176e4
mov eax, dword [0x1400fd608]
and eax, dword [0x1400fd60c]
sub eax, 0xd829ee54
imul eax, eax, 0xfc7a3121
and eax, 0x1d348db
cmp eax, 0xe74fb9f5
ja 0x140016eec
jmp 0x140016f18
mov eax, dword [0x1400fd610]
sub eax, dword [0x1400fd614]
xor eax, 0xb9796b31
imul eax, eax, 0xbab1dd34
imul eax, eax, 0x338a87b6
cmp eax, 0x99393e5e
ja 0x1400176e9
mov rcx, qword [rbp - 0x48]
mov eax, dword [0x1400fd618]
xor eax, dword [0x1400fd61c]
sub eax, 0x314a3905
xor eax, 0x2d26ccfd
or eax, 0x947161db
cmp qword [rcx], 0
setne cl
mov byte [rbp - 0x51], cl
cmp eax, 0xe7c53c8f
jae 0x1400176e9
mov al, byte [rbp - 0x51]
test al, 1
jne 0x140016f84
jmp 0x1400175c6
mov rax, qword [rbp - 0x48]
mov rcx, qword [rbp - 0x20]
mov qword [rcx], 0
mov rax, qword [rax]
cmp qword [rax + 0x18], 0
je 0x14001703e
mov eax, dword [0x1400fd620]
or eax, dword [0x1400fd624]
sub eax, 0x734f6c51
mov ecx, 0x47cd89ed
xor edx, edx
div ecx
and eax, 0x2282b14e
cmp eax, 0x63997da2
ja 0x1400176ee
mov rdx, qword [rbp - 0x40]
mov rcx, qword [rbp - 0x48]
mov eax, dword [0x1400fd628]
xor eax, dword [0x1400fd62c]
sub eax, 0x74bbdc6d
xor eax, 0xdbcd08a1
add eax, 0x74005f85
mov dword [rbp - 0x58], eax
mov rax, qword [rcx]
mov rax, qword [rax + 0x18]
mov rcx, qword [rcx]
mov rcx, qword [rcx + 0x10]
mov rdx, qword [rdx]
sub rsp, 0x20
call rax
mov rdx, qword [rbp - 0x20]
add rsp, 0x20
mov rcx, rax
mov eax, dword [rbp - 0x58]
mov qword [rdx], rcx
cmp rcx, 0
setne cl
mov byte [rbp - 0x52], cl
cmp eax, 0x75ea41d7
je 0x140016fcb
mov al, byte [rbp - 0x52]
test al, 1
jne 0x14001709a
jmp 0x14001703e
mov eax, dword [0x1400fd630]
sub eax, dword [0x1400fd634]
sub eax, 0xf36461a4
mov ecx, 0x619e86af
xor edx, edx
div ecx
imul eax, eax, 0xf912117f
cmp eax, 0xecae3dd5
jb 0x140017720
mov eax, dword [0x1400fd638]
sub eax, dword [0x1400fd63c]
imul eax, eax, 0x7333e276
imul eax, eax, 0xdd8f44d1
mov ecx, 0xb0ce0948
xor edx, edx
div ecx
cmp eax, 0xddac6a81
je 0x140017069
jmp 0x140017561
mov eax, dword [0x1400fd640]
xor edx, edx
div dword [0x1400fd644]
add eax, 0xa9f65b94
or eax, 0x15168683
imul eax, eax, 0xa8fcd72d
cmp eax, 0x559477c1
jb 0x140017725
mov rdx, qword [rbp - 0x40]
mov rax, qword [rbp - 0x48]
mov ecx, dword [0x1400fd648]
imul ecx, dword [0x1400fd64c]
or ecx, 0xab010f46
add ecx, 0x192a465c
xor ecx, 0x414888ba
mov dword [rbp - 0x60], ecx
mov rcx, qword [rdx]
mov rcx, qword [rcx + 0x1f8]
mov rdx, qword [rdx]
movsxd rdx, dword [rdx + 0x100]
imul rdx, rdx, 0x68
add rcx, rdx
mov rdx, qword [rax]
mov r8d, 0x68
sub rsp, 0x20
call sub.msvcrt.dll_memcpy
mov rdx, qword [rbp - 0x20]
mov rcx, qword [rbp - 0x40]
mov eax, dword [rbp - 0x60]
add rsp, 0x20
mov r8, qword [rdx]
mov rdx, qword [rcx]
mov rdx, qword [rdx + 0x1f8]
mov r9, qword [rcx]
movsxd r9, dword [r9 + 0x100]
imul r9, r9, 0x68
add rdx, r9
mov qword [rdx + 0x10], r8
mov rcx, qword [rcx]
cmp dword [rcx + 0x100], 0
setg cl
mov byte [rbp - 0x59], cl
cmp eax, 0xbcf2beb3
jae 0x1400170c3
mov al, byte [rbp - 0x59]
test al, 1
jne 0x140017176
jmp 0x140017217
mov eax, dword [0x1400fd650]
and eax, dword [0x1400fd654]
mov ecx, 0x5cbf0c5a
xor edx, edx
div ecx
xor eax, 0xb40fc80a
mov ecx, 0x56957465
xor edx, edx
div ecx
cmp eax, 0x81ee5d3c
je 0x14001778d
mov r8, qword [rbp - 0x40]
mov eax, dword [0x1400fd658]
xor eax, dword [0x1400fd65c]
sub eax, 0xd62beb0f
mov ecx, 0x50a4aaf9
xor edx, edx
div ecx
or eax, 0x7fe5a1a0
mov rcx, qword [r8]
mov rdx, qword [rcx + 0x1f8]
mov rcx, qword [r8]
movsxd rcx, dword [rcx + 0x100]
imul rcx, rcx, 0x68
add rdx, rcx
mov rcx, qword [r8]
mov rcx, qword [rcx + 0x1f8]
mov r8, qword [r8]
mov r8d, dword [r8 + 0x100]
sub r8d, 1
movsxd r8, r8d
imul r8, r8, 0x68
add rcx, r8
mov qword [rcx], rdx
cmp eax, 0x4adffe9d
jb 0x14001778d
jmp 0x140017217
mov rax, qword [rbp - 0x48]
mov rcx, qword [rbp - 0x40]
mov rcx, qword [rcx]
mov edx, dword [rcx + 0x100]
add edx, 1
mov dword [rcx + 0x100], edx
mov rax, qword [rax]
cmp qword [rax + 0x28], 0
je 0x1400172b1
mov eax, dword [0x1400fd660]
sub eax, dword [0x1400fd664]
mov ecx, 0xecf3c9a3
xor edx, edx
div ecx
and eax, 0x27948b69
xor eax, 0xf93a9621
cmp eax, 0xc5be566
je 0x1400177d4
mov rcx, qword [rbp - 0x40]
mov eax, dword [0x1400fd668]
xor eax, dword [0x1400fd66c]
imul eax, eax, 0xa5d6348b
xor eax, 0x34cbebd1
mov r8d, 0x235e1b57
xor edx, edx
div r8d
mov rcx, qword [rcx]
mov edx, dword [rcx + 0x104]
add edx, 1
mov dword [rcx + 0x104], edx
cmp eax, 0xf7527e29
ja 0x140017269
jmp 0x1400172b1
mov eax, dword [0x1400fd670]
add eax, dword [0x1400fd674]
or eax, 0xbe85ee6e
add eax, 0x52f8d241
imul eax, eax, 0xad536afa
cmp eax, 0x752ae7eb
je 0x1400177ef
mov rcx, qword [rbp - 0x48]
mov eax, dword [0x1400fd678]
xor edx, edx
div dword [0x1400fd67c]
xor eax, 0x73167516
mov r8d, 0xc89e3d35
xor edx, edx
div r8d
sub eax, 0xe08345d0
mov rcx, qword [rcx]
cmp qword [rcx + 0x38], 0
setne cl
mov byte [rbp - 0x61], cl
cmp eax, 0x647909ef
jae 0x1400172d8
mov al, byte [rbp - 0x61]
test al, 1
jne 0x140017328
jmp 0x14001739c
mov eax, dword [0x1400fd680]
and eax, dword [0x1400fd684]
and eax, 0x877a0ad5
sub eax, 0x4eddd1cf
xor eax, 0xfc6cfc30
cmp eax, 0x6ed222b5
jae 0x1400177f4
mov rcx, qword [rbp - 0x40]
mov eax, dword [0x1400fd688]
imul eax, dword [0x1400fd68c]
mov r8d, 0x51b07ed0
xor edx, edx
div r8d
mov r8d, 0xbc29ebc7
xor edx, edx
div r8d
add eax, 0x540ebb5d
mov rcx, qword [rcx]
mov edx, dword [rcx + 0x10c]
add edx, 1
mov dword [rcx + 0x10c], edx
cmp eax, 0xddf7eda1
ja 0x1400177f4
jmp 0x14001739c
mov rax, qword [rbp - 0x48]
mov rax, qword [rax]
cmp qword [rax + 0x30], 0
je 0x1400173c4
mov rax, qword [rbp - 0x40]
mov rax, qword [rax]
mov ecx, dword [rax + 0x108]
add ecx, 1
mov dword [rax + 0x108], ecx
mov rax, qword [rbp - 0x48]
mov rax, qword [rax]
cmp qword [rax + 0x40], 0
je 0x1400173ec
mov rax, qword [rbp - 0x40]
mov rax, qword [rax]
mov ecx, dword [rax + 0x110]
add ecx, 1
mov dword [rax + 0x110], ecx
mov eax, dword [0x1400fd690]
sub eax, dword [0x1400fd694]
mov ecx, 0x4ba339ef
xor edx, edx
div ecx
imul eax, eax, 0x5b068575
and eax, 0x4a7044c2
cmp eax, 0x6ed006cc
jae 0x14001780f
mov rcx, qword [rbp - 0x48]
mov eax, dword [0x1400fd698]
sub eax, dword [0x1400fd69c]
and eax, 0x93886f57
xor eax, 0x7220c17a
and eax, 0x2c86fd4d
mov rcx, qword [rcx]
cmp qword [rcx + 0x50], 0
setne cl
mov byte [rbp - 0x62], cl
cmp eax, 0x11aab715
jb 0x140017417
mov al, byte [rbp - 0x62]
test al, 1
jne 0x14001745f
jmp 0x140017475
mov rax, qword [rbp - 0x40]
mov rax, qword [rax]
mov ecx, dword [rax + 0x118]
add ecx, 1
mov dword [rax + 0x118], ecx
mov eax, dword [0x1400fd6a0]
or eax, dword [0x1400fd6a4]
mov ecx, 0xb3ea9a7b
xor edx, edx
div ecx
xor eax, 0xf96b8b54
xor eax, 0x8f6c5f22
cmp eax, 0x7e1d5dad
je 0x140017814
mov rcx, qword [rbp - 0x48]
mov eax, dword [0x1400fd6a8]
and eax, dword [0x1400fd6ac]
or eax, 0x894cb56b
and eax, 0x1ad09d23
mov r8d, 0x7c0be64b
xor edx, edx
div r8d
mov rcx, qword [rcx]
cmp qword [rcx + 0x48], 0
setne cl
mov byte [rbp - 0x63], cl
cmp eax, 0x9b14e461
jae 0x14001749f
mov al, byte [rbp - 0x63]
test al, 1
jne 0x1400174ed
jmp 0x140017503
mov rax, qword [rbp - 0x40]
mov rax, qword [rax]
mov ecx, dword [rax + 0x114]
add ecx, 1
mov dword [rax + 0x114], ecx
mov eax, dword [0x1400fd6b0]
xor eax, dword [0x1400fd6b4]
mov ecx, 0x6c36cd12
xor edx, edx
div ecx
mov ecx, 0x16f5b577
xor edx, edx
div ecx
mov ecx, 0xc4dee817
xor edx, edx
div ecx
cmp eax, 0x52d73717
ja 0x140017819
mov eax, dword [0x1400fd6b8]
imul eax, dword [0x1400fd6bc]
and eax, 0x24fa1d44
xor eax, 0x45005cb3
or eax, 0x592933f0
cmp eax, 0xbb270659
ja 0x140017819
jmp 0x140017561
mov eax, dword [0x1400fd6c0]
imul eax, dword [0x1400fd6c4]
and eax, 0x6afd4ee1
xor eax, 0xcdc6f0f4
sub eax, 0xb8c2868e
cmp eax, 0x63536a93
ja 0x14001781e
mov rcx, qword [rbp - 0x48]
mov eax, dword [0x1400fd6c8]
and eax, dword [0x1400fd6cc]
mov r8d, 0x56ad4b76
xor edx, edx
div r8d
and eax, 0x14c66d3e
and eax, 0xd1362c18
mov rdx, qword [rcx]
mov rdx, qword [rdx]
mov qword [rcx], rdx
cmp eax, 0x46947ee3
je 0x140017588
jmp 0x140016f18
mov eax, dword [str.G7DC]
and eax, dword [0x1400fd6d4]
or eax, 0x69d651e4
add eax, 0x7449660
xor eax, 0x104ff893
cmp eax, 0x81c7ac99
je 0x140017830
mov eax, dword [0x1400fd6d8]
add eax, dword [0x1400fd6dc]
or eax, 0xdc204e87
sub eax, 0x55a7ec7a
or eax, 0x3b4c5d0a
cmp eax, 0x5fcbaa59
je 0x140017830
mov rsp, rbp
pop rbp
ret
mov rdx, qword [rbp - 0x10]
mov r9, qword [rbp - 8]
mov eax, 0x10
mov qword [rbp - 0x70], rax
call fcn.1400ec140
sub rsp, rax
mov rax, qword [rbp - 0x70]
mov r8, rsp
call fcn.1400ec140
sub rsp, rax
mov rax, qword [rbp - 0x70]
mov rcx, rsp
call fcn.1400ec140
sub rsp, rax
mov rax, rsp
mov qword [r8], r9
mov qword [rcx], rdx
mov dword [rax], 0
jmp 0x140016b6b
mov rax, qword [rbp - 0x40]
mov rcx, qword [rbp - 0x48]
mov rcx, qword [rcx]
mov rax, qword [rax]
mov qword [rax + 0x1f8], rcx
jmp 0x140016c48
jmp 0x140016caf
mov rax, qword [rbp - 0x30]
mov ecx, dword [rax]
add ecx, 1
mov dword [rax], ecx
jmp 0x140016d20
mov rax, qword [rbp - 0x40]
mov rcx, qword [rax]
mov rcx, qword [rcx + 0x1f8]
mov rcx, qword [rcx]
mov rax, qword [rax]
mov qword [rax + 0x1f8], rcx
jmp 0x140016d82
mov rax, qword [rbp - 0x30]
movsxd rax, dword [rax]
imul rcx, rax, 0x68
sub rsp, 0x20
call sub.msvcrt.dll_malloc
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp - 0x40]
mov rax, qword [rax]
mov qword [rax + 0x1f8], rcx
jmp 0x140016df6
jmp 0x140016e95
jmp 0x140016eec
jmp 0x140016f40
mov rdx, qword [rbp - 0x40]
mov rcx, qword [rbp - 0x48]
mov rax, qword [rcx]
mov rax, qword [rax + 0x18]
mov rcx, qword [rcx]
mov rcx, qword [rcx + 0x10]
mov rdx, qword [rdx]
sub rsp, 0x20
call rax
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp - 0x20]
mov qword [rax], rcx
jmp 0x140016fcb
jmp 0x140017069
mov rdx, qword [rbp - 0x40]
mov rax, qword [rbp - 0x48]
mov rcx, qword [rdx]
mov rcx, qword [rcx + 0x1f8]
mov rdx, qword [rdx]
movsxd rdx, dword [rdx + 0x100]
imul rdx, rdx, 0x68
add rcx, rdx
mov rdx, qword [rax]
mov r8d, 0x68
sub rsp, 0x20
call sub.msvcrt.dll_memcpy
mov rax, qword [rbp - 0x20]
mov rdx, qword [rbp - 0x40]
add rsp, 0x20
mov rcx, qword [rax]
mov rax, qword [rdx]
mov rax, qword [rax + 0x1f8]
mov rdx, qword [rdx]
movsxd rdx, dword [rdx + 0x100]
imul rdx, rdx, 0x68
add rax, rdx
mov qword [rax + 0x10], rcx
jmp 0x1400170c3
mov rdx, qword [rbp - 0x40]
mov rax, qword [rdx]
mov rcx, qword [rax + 0x1f8]
mov rax, qword [rdx]
movsxd rax, dword [rax + 0x100]
imul rax, rax, 0x68
add rcx, rax
mov rax, qword [rdx]
mov rax, qword [rax + 0x1f8]
mov rdx, qword [rdx]
mov edx, dword [rdx + 0x100]
sub edx, 1
movsxd rdx, edx
imul rdx, rdx, 0x68
add rax, rdx
mov qword [rax], rcx
jmp 0x1400171a4
mov rax, qword [rbp - 0x40]
mov rax, qword [rax]
mov ecx, dword [rax + 0x104]
add ecx, 1
mov dword [rax + 0x104], ecx
jmp 0x140017269
jmp 0x1400172d8
mov rax, qword [rbp - 0x40]
mov rax, qword [rax]
mov ecx, dword [rax + 0x10c]
add ecx, 1
mov dword [rax + 0x10c], ecx
jmp 0x14001734e
jmp 0x140017417
jmp 0x14001749f
jmp 0x140017535
mov rax, qword [rbp - 0x48]
mov rcx, qword [rax]
mov rcx, qword [rcx]
mov qword [rax], rcx
jmp 0x140017588
jmp 0x1400175ec