Function at 0x14009c980
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0x58
mov dword [rsp + 0x50], ecx
mov qword [rsp + 0x48], rdx
mov rax, qword [0x140117de0]
mov rcx, qword [rax + 0x150]
call fcn.14001ad60
mov rax, qword [0x140117de0]
mov qword [rax + 0x150], 0
mov rax, qword [0x140117de0]
cmp qword [rax + 0x120], 0
jne 0x14009ca30
mov eax, dword [0x14010bf50]
add eax, dword [0x14010bf54]
imul eax, eax, 0x4771280b
and eax, 0xce9c4af5
imul eax, eax, 0x4d02d594
cmp eax, 0x4b3004ab
ja 0x14009cec1
mov eax, dword [0x14010bf58]
xor eax, dword [0x14010bf5c]
add eax, 0xffde0474
and eax, 0xaa834536
imul eax, eax, 0x2574bd9
mov rcx, qword [0x140117de0]
lea rdx, [0x14007fd40]
mov qword [rcx + 0x120], rdx
cmp eax, 0x10d92492
jbe 0x14009cec1
jmp 0x14009ca30
mov eax, dword [0x14010bf60]
or eax, dword [0x14010bf64]
xor eax, 0xd3cfe9b2
and eax, 0xf8086c3d
or eax, 0xa015f10d
cmp eax, 0x108a9bd5
je 0x14009cedb
mov eax, dword [0x14010bf68]
or eax, dword [0x14010bf6c]
add eax, 0x5c399eba
or eax, 0x1b0949d0
or eax, 0x52834921
mov ecx, dword [rsp + 0x50]
add ecx, 0xffffffff
mov dword [rsp + 0x50], ecx
cmp eax, 0xc6d165d1
jae 0x14009cedb
jmp 0x14009ca8c
cmp dword [rsp + 0x50], 0
je 0x14009cdee
mov rax, qword [0x140117db0]
mov qword [rsp + 0x40], rax
mov eax, dword [0x14010bf70]
add eax, dword [0x14010bf74]
add eax, 0x53820044
imul eax, eax, 0x3ad5c65e
or eax, 0xb49a0015
cmp eax, 0x92e9619d
jb 0x14009ceeb
mov eax, dword [0x14010bf78]
add eax, dword [0x14010bf7c]
add eax, 0x289e4967
and eax, 0x7b054a99
or eax, 0x7af5be2b
cmp qword [rsp + 0x40], 0
setne cl
mov byte [rsp + 0x37], cl
cmp eax, 0xab4c1801
ja 0x14009ceeb
mov al, byte [rsp + 0x37]
test al, 1
jne 0x14009cb0e
jmp 0x14009cd5a
mov rax, qword [rsp + 0x48]
movsxd rcx, dword [rsp + 0x50]
mov rcx, qword [rax + rcx*8]
mov rax, qword [rsp + 0x40]
mov rdx, qword [rax + 0x18]
call sub.msvcrt.dll_strcmp
cmp eax, 0
jne 0x14009ccf3
mov eax, dword [0x14010bf80]
xor edx, edx
div dword [0x14010bf84]
mov ecx, 0x28f5b904
xor edx, edx
div ecx
xor eax, 0xe70543ea
and eax, 0xe14fe849
cmp eax, 0x9ac1a8a8
je 0x14009cef0
mov eax, dword [0x14010bf88]
or eax, dword [0x14010bf8c]
and eax, 0x3752a1b7
mov ecx, 0xbdc0762d
xor edx, edx
div ecx
xor eax, 0x18658cb9
mov dword [rsp + 0x30], eax
mov ecx, 0x20
call sub.msvcrt.dll_malloc
mov rcx, rax
mov eax, dword [rsp + 0x30]
mov qword [rsp + 0x38], rcx
cmp qword [rsp + 0x38], 0
setne cl
mov byte [rsp + 0x36], cl
cmp eax, 0xeec3b201
je 0x14009cb5f
mov al, byte [rsp + 0x36]
test al, 1
jne 0x14009cc1c
jmp 0x14009cbc1
mov eax, dword [0x14010bf90]
imul eax, dword [0x14010bf94]
and eax, 0x5612cf16
add eax, 0x7f5f9f52
add eax, 0x6427b899
cmp eax, 0xcfd841d1
ja 0x14009cf04
mov eax, dword [0x14010bf98]
add eax, dword [0x14010bf9c]
add eax, 0x92a56dbf
imul eax, eax, 0xf75d92dd
add eax, 0xadadded
mov dword [rsp + 0x54], 0x15
cmp eax, 0x3ab92b73
je 0x14009cf04
jmp 0x14009ce62
mov eax, dword [0x14010bfa0]
imul eax, dword [0x14010bfa4]
or eax, 0xd5b61ca8
imul eax, eax, 0x1cfadda7
mov ecx, 0x3c1a7e6c
xor edx, edx
div ecx
cmp eax, 0xe65f699
jae 0x14009cf11
mov eax, dword [0x14010bfa8]
imul eax, dword [0x14010bfac]
xor eax, 0x198241d8
imul eax, eax, 0x9431141a
mov ecx, 0xd9542f8
xor edx, edx
div ecx
mov rcx, qword [0x140117de0]
mov rdx, qword [rcx + 0x150]
mov rcx, qword [rsp + 0x38]
mov qword [rcx], rdx
mov rdx, qword [rsp + 0x38]
mov rcx, qword [0x140117de0]
mov qword [rcx + 0x150], rdx
mov rcx, qword [rsp + 0x40]
mov rdx, qword [rcx + 0x18]
mov rcx, qword [0x140117de0]
mov rcx, qword [rcx + 0x150]
mov qword [rcx + 0x18], rdx
mov rcx, qword [rsp + 0x40]
mov rdx, qword [rcx + 8]
mov rcx, qword [0x140117de0]
mov rcx, qword [rcx + 0x150]
mov qword [rcx + 8], rdx
mov rcx, qword [rsp + 0x40]
mov rdx, qword [rcx + 0x10]
mov rcx, qword [0x140117de0]
mov rcx, qword [rcx + 0x150]
mov qword [rcx + 0x10], rdx
cmp eax, 0xe6e1bfa4
ja 0x14009cf11
jmp 0x14009cd5a
jmp 0x14009ccf8
mov eax, dword [0x14010bfb0]
imul eax, dword [0x14010bfb4]
add eax, 0x773f8ce5
sub eax, 0x47fe1ccf
or eax, 0x14b3fcb4
cmp eax, 0x45cee206
jbe 0x14009cf90
mov eax, dword [str.j_tah7]
and eax, dword [0x14010bfbc]
imul eax, eax, 0xb730a3e3
imul eax, eax, 0x67686540
imul eax, eax, 0x69ac927a
mov rcx, qword [rsp + 0x40]
mov rcx, qword [rcx]
mov qword [rsp + 0x40], rcx
cmp eax, 0xb14b836f
jb 0x14009cd1f
jmp 0x14009caa3
mov eax, dword [0x14010bfc0]
or eax, dword [0x14010bfc4]
mov ecx, 0xf873adf5
xor edx, edx
div ecx
mov ecx, 0xe8895648
xor edx, edx
div ecx
sub eax, 0xff0f96d3
cmp eax, 0xe4fec007
ja 0x14009cfa2
mov eax, dword [0x14010bfc8]
sub eax, dword [0x14010bfcc]
sub eax, 0xe44b9a4b
or eax, 0xb108f22d
xor eax, 0xf53dc110
cmp qword [rsp + 0x40], 0
setne cl
mov byte [rsp + 0x2f], cl
cmp eax, 0xec702695
je 0x14009cfa2
mov al, byte [rsp + 0x2f]
test al, 1
jne 0x14009cdd9
jmp 0x14009cdcc
mov dword [rsp + 0x54], 1
jmp 0x14009ce62
jmp 0x14009cdde
mov eax, dword [rsp + 0x50]
add eax, 0xffffffff
mov dword [rsp + 0x50], eax
jmp 0x14009ca8c
mov eax, dword [0x14010bfd0]
imul eax, dword [str.Mk__Vf:]
imul eax, eax, 0xa78edbe7
and eax, 0x3f7abc1d
or eax, 0x6624996b
cmp eax, 0xd314d3aa
ja 0x14009cfa7
mov eax, dword [0x14010bfd8]
xor eax, dword [0x14010bfdc]
mov ecx, 0x538d42
xor edx, edx
div ecx
sub eax, 0xb87fa773
xor eax, 0xc129999
mov rcx, qword [0x140117de0]
lea rdx, [0x140084660]
mov qword [rcx + 0x110], rdx
mov dword [rsp + 0x54], 0
cmp eax, 0x3f9e6307
jbe 0x14009ce16
jmp 0x14009ce62
mov eax, dword [0x14010bfe0]
imul eax, dword [0x14010bfe4]
sub eax, 0x838a3970
xor eax, 0xe9cc119f
or eax, 0xb31be657
cmp eax, 0x30e57c29
je 0x14009cfc9
mov eax, dword [0x14010bfe8]
sub eax, dword [0x14010bfec]
sub eax, 0x59c1a8d7
sub eax, 0xf97a74f6
imul eax, eax, 0x3c7ecfbb
mov ecx, dword [rsp + 0x54]
mov dword [rsp + 0x28], ecx
cmp eax, 0xb1923700
ja 0x14009cfc9
mov eax, dword [rsp + 0x28]
add rsp, 0x58
ret
mov rax, qword [0x140117de0]
lea rcx, [0x14007fd40]
mov qword [rax + 0x120], rcx
jmp 0x14009c9ef
mov eax, dword [rsp + 0x50]
add eax, 0xffffffff
mov dword [rsp + 0x50], eax
jmp 0x14009ca56
jmp 0x14009caca
mov ecx, 0x20
call sub.msvcrt.dll_malloc
mov qword [rsp + 0x38], rax
jmp 0x14009cb5f
mov dword [rsp + 0x54], 0x15
jmp 0x14009cbe8
mov rax, qword [0x140117de0]
mov rcx, qword [rax + 0x150]
mov rax, qword [rsp + 0x38]
mov qword [rax], rcx
mov rcx, qword [rsp + 0x38]
mov rax, qword [0x140117de0]
mov qword [rax + 0x150], rcx
mov rax, qword [rsp + 0x40]
mov rcx, qword [rax + 0x18]
mov rax, qword [0x140117de0]
mov rax, qword [rax + 0x150]
mov qword [rax + 0x18], rcx
mov rax, qword [rsp + 0x40]
mov rcx, qword [rax + 8]
mov rax, qword [0x140117de0]
mov rax, qword [rax + 0x150]
mov qword [rax + 8], rcx
mov rax, qword [rsp + 0x40]
mov rcx, qword [rax + 0x10]
mov rax, qword [0x140117de0]
mov rax, qword [rax + 0x150]
mov qword [rax + 0x10], rcx
jmp 0x14009cc48
mov rax, qword [rsp + 0x40]
mov rax, qword [rax]
mov qword [rsp + 0x40], rax
jmp 0x14009cd1f
jmp 0x14009cd88
mov rax, qword [0x140117de0]
lea rcx, [0x140084660]
mov qword [rax + 0x110], rcx
mov dword [rsp + 0x54], 0
jmp 0x14009ce16
jmp 0x14009ce89