Function at 0x140004310
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0x58
mov qword [rsp + 0x48], 0
xor eax, eax
mov ecx, eax
call fcn.140004860
mov rcx, rax
mov rax, qword [0x140117de0]
mov qword [rax + 0x178], rcx
mov rax, qword [0x1401220c0]
mov qword [rsp + 0x50], rax
mov eax, dword [0x1400fb714]
sub eax, dword [0x1400fb718]
sub eax, 0x928a606a
and eax, 0xcdc10d68
add eax, 0xccac0e2e
cmp eax, 0x44a88bf8
jbe 0x1400047c5
mov eax, dword [0x1400fb71c]
imul eax, dword [0x1400fb720]
sub eax, 0x7d5a1080
or eax, 0xecd52a13
add eax, 0xcf64835
cmp qword [rsp + 0x50], 0
setne cl
mov byte [rsp + 0x3b], cl
cmp eax, 0xb844e0d1
ja 0x140004369
mov al, byte [rsp + 0x3b]
test al, 1
jne 0x1400043ae
jmp 0x140004771
mov rax, qword [0x140117de0]
cmp dword [rax + 0x90], 0
jne 0x140004488
mov rax, qword [0x140117de0]
cmp dword [rax + 0x94], 0
jne 0x140004488
mov eax, dword [0x1400fb724]
xor eax, dword [0x1400fb728]
mov ecx, 0x52f0ea65
xor edx, edx
div ecx
sub eax, 0x94126b5c
sub eax, 0x11f615b5
cmp eax, 0xe2a4678a
ja 0x1400047ca
mov eax, dword [0x1400fb72c]
add eax, dword [0x1400fb730]
or eax, 0x747c7210
imul eax, eax, 0x5280da46
mov ecx, 0x92d025d9
xor edx, edx
div ecx
mov rcx, qword [0x140117de0]
mov rcx, qword [rcx + 0x178]
mov rdx, qword [rsp + 0x50]
cmp rcx, qword [rdx + 0x20]
setg cl
mov byte [rsp + 0x3a], cl
cmp eax, 0x260a7b5e
jae 0x140004400
mov al, byte [rsp + 0x3a]
test al, 1
jne 0x14000445a
jmp 0x1400046b4
mov rax, qword [rsp + 0x50]
mov rcx, qword [rax + 0x20]
mov rax, qword [0x140117de0]
mov rdx, qword [rax + 0x178]
mov rax, qword [rsp + 0x50]
mov r8d, dword [rax + 8]
call fcn.1400038e0
cmp eax, 0
je 0x1400046b4
mov eax, dword [0x1400fb734]
add eax, dword [0x1400fb738]
sub eax, 0x1691b0bf
or eax, 0xcf71f71b
or eax, 0xd30e8055
cmp eax, 0x8d44941c
jbe 0x1400047cf
mov eax, dword [0x1400fb73c]
sub eax, dword [0x1400fb740]
add eax, 0x7da20093
and eax, 0xecfbfa7c
or eax, 0x75f57e71
mov dword [rsp + 0x30], eax
mov rax, qword [0x140117de0]
mov rcx, qword [rax + 0x178]
mov rax, qword [rsp + 0x50]
mov qword [rax + 0x20], rcx
mov rax, qword [rsp + 0x50]
mov rax, qword [rax]
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x50]
mov rax, qword [rax + 0x18]
mov rcx, qword [rsp + 0x50]
mov rcx, qword [rcx + 0x10]
call rax
mov ecx, eax
mov eax, dword [rsp + 0x30]
mov dword [rsp + 0x3c], ecx
mov ecx, dword [rsp + 0x3c]
mov dword [rsp + 0x34], ecx
cmp eax, 0x1979f51a
je 0x1400047cf
mov eax, dword [rsp + 0x34]
sub eax, 1
jne 0x140004661
jmp 0x140004534
mov eax, dword [0x1400fb744]
xor edx, edx
div dword [0x1400fb748]
add eax, 0xd8539a4a
or eax, 0xf19ebf04
imul eax, eax, 0xf9297067
cmp eax, 0xa6f24af9
jb 0x140004810
mov eax, dword [0x1400fb74c]
and eax, dword [0x1400fb750]
sub eax, 0xd0bc7d2
and eax, 0xde293394
sub eax, 0xa2673d52
cmp qword [rsp + 0x48], 0
setne cl
mov byte [rsp + 0x2f], cl
cmp eax, 0xcd8974c9
jae 0x140004810
mov al, byte [rsp + 0x2f]
test al, 1
jne 0x1400045a1
jmp 0x1400045ff
mov eax, dword [0x1400fb754]
add eax, dword [0x1400fb758]
and eax, 0x96b2d4d4
sub eax, 0x412cceca
add eax, 0x80c87f51
cmp eax, 0x934007d2
ja 0x140004815
mov eax, dword [0x1400fb75c]
add eax, dword [0x1400fb760]
add eax, 0x5d5d8b21
add eax, 0x17d1d4ae
and eax, 0xfb4ed55d
mov rdx, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x48]
mov qword [rcx], rdx
cmp eax, 0x29198f23
je 0x140004815
jmp 0x14000460b
mov rax, qword [rsp + 0x40]
mov qword [0x1401220c0], rax
mov eax, dword [0x1400fb764]
and eax, dword [0x1400fb768]
xor eax, 0xb097c4d8
sub eax, 0x48b7bbf8
mov ecx, 0xb25485b7
xor edx, edx
div ecx
cmp eax, 0x30b60284
ja 0x140004827
mov eax, dword [0x1400fb76c]
add eax, dword [0x1400fb770]
imul eax, eax, 0x3081b2eb
or eax, 0x1c7331c7
or eax, 0xb6d04a1a
cmp eax, 0xc7d56bdd
jbe 0x140004635
jmp 0x140004661
mov eax, dword [0x1400fb774]
xor edx, edx
div dword [str.TK_mS_]
and eax, 0x2c22db8
sub eax, 0x291d52f3
add eax, 0xa7732a2e
cmp eax, 0xe8f573c2
ja 0x14000482c
mov eax, dword [0x1400fb77c]
or eax, dword [0x1400fb780]
add eax, 0xba856728
add eax, 0x7f39c905
or eax, 0xea16a59f
cmp eax, 0xbabc9dd0
jb 0x140004689
jmp 0x1400046b4
mov eax, dword [0x1400fb784]
xor edx, edx
div dword [0x1400fb788]
xor eax, 0x9c39af3a
or eax, 0xc582079f
imul eax, eax, 0x512e7425
cmp eax, 0x77fdc50f
je 0x140004831
mov eax, dword [0x1400fb78c]
xor eax, dword [0x1400fb790]
xor eax, 0xbd61e61c
sub eax, 0xb5ad9940
and eax, 0xe2ef7dd
mov rcx, qword [rsp + 0x50]
mov qword [rsp + 0x48], rcx
cmp eax, 0xbae0ec06
ja 0x1400046dd
jmp 0x140004712
mov eax, dword [0x1400fb794]
xor eax, dword [0x1400fb798]
imul eax, eax, 0x46258501
or eax, 0xaced254b
sub eax, 0xc6dc4319
cmp eax, 0x5a0c4ce
je 0x140004840
mov eax, dword [0x1400fb79c]
xor eax, dword [0x1400fb7a0]
and eax, 0x5dcd9372
add eax, 0xf083e4d8
sub eax, 0x3fcc3f93
mov rcx, qword [rsp + 0x50]
mov rcx, qword [rcx]
mov qword [rsp + 0x50], rcx
cmp eax, 0x4d956ff3
jae 0x140004739
jmp 0x140004343
mov eax, dword [0x1400fb7a4]
add eax, dword [0x1400fb7a8]
sub eax, 0xb406112f
imul eax, eax, 0x240ee6a1
or eax, 0x8d84a14a
cmp eax, 0xa084257
jb 0x140004852
mov eax, dword [0x1400fb7ac]
xor edx, edx
div dword [0x1400fb7b0]
add eax, 0x4d376ec5
or eax, 0xc9b1293
or eax, 0x9912f578
cmp eax, 0xdf73b6fc
jae 0x140004798
add rsp, 0x58
ret
jmp 0x140004369
jmp 0x140004400
mov rax, qword [0x140117de0]
mov rcx, qword [rax + 0x178]
mov rax, qword [rsp + 0x50]
mov qword [rax + 0x20], rcx
mov rax, qword [rsp + 0x50]
mov rax, qword [rax]
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x50]
mov rax, qword [rax + 0x18]
mov rcx, qword [rsp + 0x50]
mov rcx, qword [rcx + 0x10]
call rax
mov dword [rsp + 0x3c], eax
jmp 0x1400044ae
jmp 0x14000455d
mov rcx, qword [rsp + 0x40]
mov rax, qword [rsp + 0x48]
mov qword [rax], rcx
jmp 0x1400045c7
jmp 0x140004635
jmp 0x140004689
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x48], rax
jmp 0x1400046dd
mov rax, qword [rsp + 0x50]
mov rax, qword [rax]
mov qword [rsp + 0x50], rax
jmp 0x140004739
jmp 0x140004798