Function at 0x14004ece0
Capabilities:
Encode data using xor

Disassembly:
push rbp
sub rsp, 0x110
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x58], rcx
mov eax, 0x10
mov qword [rbp + 0x48], rax
call fcn.1401d7280
sub rsp, rax
mov rax, qword [rbp + 0x48]
mov rcx, rsp
mov qword [rbp + 0x60], rcx
call fcn.1401d7280
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x50], rax
sub rsp, 0x20
call fcn.140043a70
mov rcx, qword [rbp + 0x58]
add rsp, 0x20
mov rdx, rax
mov rax, qword [rbp + 0x60]
mov qword [rbp + 0x68], rdx
mov qword [rax], 0
mov rdx, rax
add rdx, 8
mov qword [rbp + 0x70], rdx
mov qword [rax + 8], 0
mov rcx, qword [rcx]
movabs rdx, 0x962fde2fd838239
movabs rax, 0x962fde2fd83823b
xor rdx, rax
lea r8, [rbp + 0x88]
sub rsp, 0x20
call fcn.140044e80
add rsp, 0x20
test al, 1
jne 0x14004ed90
jmp 0x14004eda2
sub rsp, 0x20
call fcn.140007bb8
add rsp, 0x20
jmp 0x14004f875
mov ecx, dword [0x1401da2b0]
mov eax, dword [0x1401da2b4]
xor eax, 0xa6e6d319
mov edx, 0xa9689645
xor edx, 0xece2730
add ecx, edx
add ecx, eax
sub ecx, 0xa7a6b175
mov eax, 0x7a95ef4d
xor eax, 0xa0cf321f
add ecx, eax
mov eax, 0x2b322832
xor eax, 0x8eeca85c
add ecx, eax
sub ecx, 0xda5add52
mov eax, ecx
and eax, 0x1c2fc8bb
or ecx, 0x1c2fc8bb
add eax, ecx
and eax, 0x30c45341
cmp eax, 0x6139b2cc
ja 0x14004f87e
mov eax, dword [0x1401da2b8]
mov ecx, 0x410036df
xor ecx, 0x33bb3f2f
xor eax, ecx
mov r8d, dword [0x1401da2bc]
mov ecx, eax
xor ecx, 0xffffffff
mov edx, r8d
and edx, ecx
mov r9d, r8d
xor r9d, 0xffffffff
mov ecx, eax
and ecx, r9d
imul ecx, edx
mov edx, eax
and edx, r8d
or eax, r8d
imul eax, edx
add eax, ecx
mov ecx, 0xffffffff
xor ecx, 0xefdf8c6
xor edx, edx
sub edx, 1
sub ecx, edx
sub eax, ecx
mov edx, eax
xor edx, 0xffffffff
and edx, 0x93a91a64
mov r8d, 0xffffffff
xor r8d, 0x93a91a64
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov r8d, 0x25436338
xor r8d, 0xb6ea795c
mov edx, eax
and edx, r8d
or eax, 0x93a91a64
imul eax, edx
add eax, ecx
xor eax, 0x63362949
mov rcx, qword [rbp + 0x88]
mov qword [rbp + 0x38], rcx
cmp rcx, 0
setl cl
mov byte [rbp + 0x47], cl
cmp eax, 0x4349e341
jb 0x14004ee05
mov al, byte [rbp + 0x47]
test al, 1
jne 0x14004eeca
jmp 0x14004eeee
mov rcx, qword [rbp + 0x38]
xor eax, eax
mov edx, eax
movabs r8, 0x7fffffffffffffff
sub rsp, 0x20
call fcn.14000c4b0
add rsp, 0x20
jmp 0x14004f875
mov rcx, qword [rbp + 0x60]
mov rdx, qword [rbp + 0x38]
sub rsp, 0x20
call fcn.140022369
mov r9, qword [rbp + 0x58]
mov rdx, qword [rbp + 0x60]
mov rax, qword [rbp + 0x70]
add rsp, 0x20
mov r8, qword [r9]
mov qword [rbp + 0x18], r8
mov rcx, r9
add rcx, 8
mov qword [rbp + 0x20], rcx
mov rcx, qword [r9 + 8]
mov r10, qword [rdx]
mov qword [r9], r10
mov r10, qword [rdx + 8]
mov qword [r9 + 8], r10
mov qword [rdx], r8
mov qword [rax], rcx
lea rax, [rbp + 0x78]
add rax, 8
mov qword [rbp + 0x28], rax
xor eax, eax
mov qword [rbp + 0x30], rax
mov rax, qword [rbp + 0x30]
mov qword [rbp + 0x10], rax
mov ecx, dword [0x1401da2c0]
mov edx, dword [0x1401da2c4]
xor edx, 0xab978d07
xor eax, eax
sub eax, edx
sub ecx, eax
xor ecx, 0xffffffff
mov edx, 0xc449d939
xor edx, 0xda213173
mov eax, 0xa5fe4612
xor eax, 0x5a01b9ed
xor edx, eax
mov eax, 0xffffffff
xor eax, 0x69971f0b
or ecx, edx
or eax, 0x69971f0b
xor ecx, 0xffffffff
and ecx, eax
mov eax, ecx
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
mov ecx, 0xb95cd911
or ecx, 0xb95cd911
mov edx, 0xa9a46cbd
xor edx, 0x565b9342
xor ecx, edx
mov edx, 0x4c80959
xor edx, 0xfb37f6a6
xor eax, edx
xor ecx, 0xffffffff
and eax, ecx
mov ecx, 0x98c92ed0
xor edx, edx
div ecx
cmp eax, 0x253c63c0
ja 0x14004f887
mov rcx, qword [rbp + 0x10]
mov eax, dword [0x1401da2c8]
xor edx, edx
div dword [0x1401da2cc]
mov rdx, qword [rbp + 0x18]
xor eax, 0xac34ebe0
and eax, eax
xor eax, 0xffffffff
mov r8d, 0xd1f29eda
and r8d, 0xd1f29eda
xor r8d, 0xffffffff
and eax, r8d
xor eax, 0xffffffff
sub eax, 0x446e92c6
cmp rcx, rdx
setl cl
mov byte [rbp + 0xf], cl
cmp eax, 0x141c9b41
jbe 0x14004efe3
mov al, byte [rbp + 0xf]
test al, 1
jne 0x14004f043
jmp 0x14004f852
mov rcx, qword [rbp + 0x10]
mov rdx, qword [rbp + 0x60]
test rcx, rcx
setns al
mov rdx, qword [rdx]
mov qword [rbp], rdx
sub rcx, rdx
setl cl
and al, cl
test al, 1
jne 0x14004f0a6
mov rcx, qword [rbp + 0x10]
mov rax, qword [rbp]
movabs r8, 0x536da37e5c45fe1c
movabs rdx, 0xac925c81a3ba01e3
xor r8, rdx
mov rdx, rax
and rdx, r8
or rax, 0xffffffffffffffff
add rdx, rax
sub rsp, 0x20
call fcn.140012270
add rsp, 0x20
jmp 0x14004f875
mov ecx, dword [0x1401da2d0]
imul ecx, dword [0x1401da2d4]
mov edx, 0xcb3c0e0d
xor edx, 0x96d74ec7
mov eax, ecx
and eax, edx
xor ecx, 0x5deb40ca
or eax, ecx
mov ecx, eax
and ecx, 0x1a3217fb
mov edx, 0xe0485601
xor edx, 0x1fb7a9fe
xor ecx, edx
mov edx, 0xf447f5b6
xor edx, 0xee75e24d
add eax, edx
add eax, 1
add eax, ecx
or eax, 0x3189bc3a
cmp eax, 0x5cbcdf44
je 0x14004f890
mov rdx, qword [rbp + 0x68]
mov r9, qword [rbp + 0x10]
mov r8, qword [rbp + 0x70]
mov ecx, dword [0x1401da2d8]
mov eax, dword [0x1401da2dc]
xor eax, ecx
xor eax, 0xc8004020
or eax, 0x4e99e18
add eax, 0x2bb91a13
mov ecx, 0xc29701db
mov r8, qword [r8]
shl r9, 5
mov r8, qword [r8 + r9 + 8]
mov qword [rbp - 0x10], r8
test r8, r8
sete r8b
mov dl, byte [rdx]
test dl, dl
setne dl
mov byte [rbp - 2], dl
or dl, r8b
mov byte [rbp - 1], dl
cmp eax, ecx
jb 0x14004f890
mov al, byte [rbp - 1]
test al, 1
jne 0x14004f6be
jmp 0x14004f16e
mov rcx, qword [rbp - 0x10]
mov rax, qword [rbp + 0x58]
mov rax, qword [rax]
add rax, 0xffffffffffffffff
and rax, rcx
mov qword [rbp - 0x18], rax
mov rdx, qword [rbp + 0x58]
mov rcx, qword [rbp - 0x18]
mov qword [rbp - 0x28], rcx
test rcx, rcx
setns al
mov rdx, qword [rdx]
mov qword [rbp - 0x20], rdx
sub rcx, rdx
setl cl
and al, cl
test al, 1
jne 0x14004f1e1
mov rcx, qword [rbp - 0x28]
mov rdx, qword [rbp - 0x20]
movabs rax, 0x6e1b0d756f82d9e8
movabs r8, 0x91e4f28a907d2617
xor rax, r8
add rdx, rax
sub rsp, 0x20
call fcn.140012270
add rsp, 0x20
jmp 0x14004f875
mov rcx, qword [rbp - 0x28]
mov rax, qword [rbp + 0x20]
mov rax, qword [rax]
add rax, 8
shl rcx, 5
add rax, rcx
mov rax, qword [rax]
movabs rcx, 0xdf8b70b3b0055ad3
movabs rdx, 0xdf8b70b3b0055ad3
xor rcx, rdx
cmp rax, rcx
je 0x14004f249
mov rcx, qword [rbp - 0x28]
mov rdx, qword [rbp - 0x20]
add rdx, 0xffffffffffffffff
sub rsp, 0x20
call fcn.140044fc0
mov rcx, qword [rbp + 0x68]
add rsp, 0x20
cmp byte [rcx], 0
mov qword [rbp - 0x18], rax
je 0x14004f184
jmp 0x14004f875
mov rax, qword [rbp + 0x10]
mov rcx, qword [rbp + 0x60]
mov rcx, qword [rcx]
mov qword [rbp - 0x30], rcx
cmp rax, rcx
jl 0x14004f3a1
mov eax, dword [0x1401da2e0]
xor eax, 0x76bc265c
add eax, dword [0x1401da2e4]
mov ecx, eax
xor ecx, 0xffffffff
mov edx, 0xffffffff
xor edx, 0xf422646b
and ecx, edx
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0xf422646b
and eax, edx
mov edx, 0xceed34f3
xor edx, 0x3112cb0c
xor ecx, edx
xor eax, 0xffffffff
and ecx, eax
and ecx, 0xae207152
mov eax, ecx
or eax, 0xa4629a59
xor eax, 0xffffffff
mov edx, 0x1531398b
xor edx, 0xb153a3d2
or ecx, edx
xor ecx, 0xffffffff
mov edx, 0x448ff950
xor edx, 0xbb7006af
xor eax, edx
xor ecx, 0xffffffff
and eax, ecx
cmp eax, 0xfce20732
ja 0x14004f899
mov rcx, qword [rbp + 0x10]
mov eax, dword [0x1401da2e8]
xor eax, 0xbbdc3cf
xor edx, edx
div dword [0x1401da2ec]
mov rdx, qword [rbp - 0x30]
xor eax, 0x2851480f
mov r8d, eax
and r8d, 0xcbb4b747
shl r8d, 1
xor eax, 0xcbb4b747
add eax, r8d
mov r8d, 0xf76760ee
xor r8d, 0x8989f11
mov r9d, eax
xor r9d, r8d
and r9d, 0x1f035061
mov r10d, 0xffffffff
xor r10d, 0x1f035061
mov r8d, eax
and r8d, r10d
imul r8d, r9d
mov r9d, eax
and r9d, 0x1f035061
mov r10d, 0x4b4ae84f
xor r10d, 0x5449b82e
or eax, r10d
imul eax, r9d
add eax, r8d
mov dword [rbp - 0x34], eax
xor eax, eax
sub rax, rdx
xor edx, edx
sub rdx, 0xffffffffffffffff
add rax, rdx
xor edx, edx
sub rdx, rax
sub rsp, 0x20
call fcn.140012270
mov eax, dword [rbp - 0x34]
add rsp, 0x20
cmp eax, 0x115105dd
jbe 0x14004f899
jmp 0x14004f875
mov rax, qword [rbp + 0x10]
mov rcx, qword [rbp + 0x70]
mov rcx, qword [rcx]
add rcx, 8
shl rax, 5
add rcx, rax
add rcx, 8
mov rax, qword [rcx]
mov qword [rbp - 0x50], rax
mov rax, qword [rcx + 8]
mov qword [rbp - 0x48], rax
sub rsp, 0x20
call fcn.14000fb15
mov rcx, qword [rbp + 0x60]
mov rax, qword [rbp + 0x10]
add rsp, 0x20
mov rcx, qword [rcx]
mov qword [rbp - 0x40], rcx
cmp rax, rcx
jl 0x14004f4e4
mov eax, dword [0x1401da2f0]
mov ecx, dword [0x1401da2f4]
xor ecx, 0xffffffff
xor edx, edx
sub edx, 1
sub ecx, edx
sub eax, ecx
mov ecx, 0x8a592eea
xor edx, edx
div ecx
mov ecx, eax
mov eax, ecx
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
mov ecx, 0xffffffff
xor ecx, 0xeaf1a918
mov edx, 0xffffffff
xor edx, 0xeaf1a918
and ecx, edx
or eax, ecx
xor eax, 0xffffffff
xor ecx, ecx
sub ecx, 0xd5e45721
sub eax, ecx
mov ecx, 0x5a677b2a
xor ecx, 0x7626be5
cmp eax, ecx
je 0x14004f8a2
mov rcx, qword [rbp + 0x10]
mov eax, dword [0x1401da2f8]
or eax, dword [0x1401da2fc]
mov r8d, 0xef17d6b7
xor edx, edx
div r8d
mov rdx, qword [rbp - 0x40]
or eax, 0x938a28fc
mov r8d, eax
xor r8d, 0x3da1568e
mov r9d, 0x22d8c2f
xor r9d, 0xfdd273d0
xor r8d, r9d
mov r9d, 0x4feba445
xor r9d, 0x724af2cb
or eax, r9d
and eax, r8d
mov dword [rbp - 0x54], eax
movabs rax, 0xb8e8c555ae71de8c
movabs r8, 0x47173aaa518e2173
xor rax, r8
add rdx, rax
sub rsp, 0x20
call fcn.140012270
mov eax, dword [rbp - 0x54]
add rsp, 0x20
cmp eax, 0x23579b91
jae 0x14004f456
jmp 0x14004f875
mov rax, qword [rbp + 0x10]
mov rcx, qword [rbp + 0x70]
mov rcx, qword [rcx]
add rcx, 8
shl rax, 5
add rcx, rax
add rcx, 0x18
mov rax, qword [rcx]
mov qword [rbp - 0x60], rax
sub rsp, 0x20
call fcn.14012aaa9
mov rax, qword [rbp + 0x68]
add rsp, 0x20
cmp byte [rax], 0
jne 0x14004f875
mov rax, qword [rbp - 0x28]
mov r10, qword [rbp - 0x10]
mov r9, qword [rbp - 0x60]
mov rdx, qword [rbp + 0x58]
mov rcx, qword [rbp + 0x28]
mov r8, qword [rbp - 0x48]
mov r11, qword [rbp - 0x50]
mov qword [rbp + 0x78], r11
mov qword [rcx], r8
lea r8, [rbp + 0x78]
sub rsp, 0x30
mov qword [rsp + 0x20], r10
mov qword [rsp + 0x28], rax
call fcn.14004e810
mov rax, qword [rbp + 0x68]
add rsp, 0x30
cmp byte [rax], 0
jne 0x14004f875
mov eax, dword [0x1401da300]
xor eax, 0xee36f39f
mov ecx, dword [0x1401da304]
xor ecx, 0xc8956fad
add eax, ecx
add eax, 0x7a52dfb1
imul eax, eax, 0x9d48c43a
mov edx, 0xbda40008
xor edx, 0x80ab54d1
mov ecx, eax
xor ecx, edx
xor ecx, 0xffffffff
or eax, 0x3d0f54d9
and eax, ecx
cmp eax, 0xe07e98c9
je 0x14004f8ab
mov eax, dword [0x1401da308]
xor eax, 0x41ce679c
and eax, dword [0x1401da30c]
mov ecx, 0x628feb32
xor ecx, 0xc085a5c2
sub eax, ecx
add eax, 0xf45f3dc1
add eax, 0xa20a4ef0
mov ecx, 0x46e22744
xor ecx, 0xa3eb4acd
or eax, ecx
mov ecx, 0xb407b09f
xor edx, edx
div ecx
mov rdx, qword [rbp - 0x48]
mov ecx, 0xea8cfe60
xor ecx, 0xe9e7c14b
cmp rdx, 0
sete dl
mov byte [rbp - 0x61], dl
cmp eax, ecx
je 0x14004f5b2
mov al, byte [rbp - 0x61]
test al, 1
jne 0x14004f6dc
jmp 0x14004f621
mov rax, qword [rbp - 0x48]
mov rax, qword [rax]
xor rax, 0xffffffffffffffff
movabs rdx, 0xaf6a6dbc4c8f7c6
movabs rcx, 0x4af6a6dbc4c8f7c6
xor rdx, rcx
movabs rcx, 0x2353dd13c9b40834
movabs r8, 0xdcac22ec364bf7cb
xor rcx, r8
xor rdx, rcx
mov rcx, 0xffffffffffffffff
movabs r8, 0x3051afa65cc513aa
xor rcx, r8
or rax, rdx
movabs rdx, 0x3051afa65cc513aa
or rcx, rdx
movabs rdx, 0x6ae791fd986dc988
movabs r8, 0x95186e0267923677
xor rdx, r8
xor rax, rdx
and rax, rcx
cmp rax, 0
jne 0x14004f6dc
mov rcx, qword [rbp - 0x48]
sub rsp, 0x20
call fcn.14000de03
add rsp, 0x20
jmp 0x14004f6dc
mov rcx, qword [rbp + 0x10]
mov dl, byte [rbp - 2]
xor eax, eax
test dl, 1
mov qword [rbp - 0x70], rcx
mov byte [rbp - 0x62], al
jne 0x14004f839
jmp 0x14004f6dc
mov ecx, dword [0x1401da310]
mov eax, dword [0x1401da314]
mov edx, 0xcb3c848c
xor edx, 0x942e6fbc
sub ecx, edx
sub ecx, eax
add ecx, 0x5f12eb30
or ecx, 0x9f2c1758
mov edx, 0xffffffff
xor edx, 0xfb52c091
mov eax, ecx
xor eax, edx
and eax, ecx
mov edx, 0xc7c327e7
xor edx, 0xc7c327e6
mov ecx, eax
add ecx, edx
xor eax, 0xffffffff
or eax, 0xded50f85
add eax, ecx
cmp eax, 0x7cdc8c2e
jb 0x14004f8b4
mov r8, qword [rbp + 0x10]
mov eax, dword [0x1401da318]
and eax, dword [0x1401da31c]
mov ecx, 0x2a1aadc
xor ecx, 0x54b72653
add eax, ecx
mov ecx, 0xd723eafe
xor ecx, 0x2e59a160
add eax, ecx
sub eax, 0x56168c8f
mov ecx, 0x8f60680e
xor edx, edx
div ecx
mov edx, 0x3e907bab
xor edx, 0xc5ecc4fb
mov ecx, eax
and ecx, edx
shl ecx, 1
xor eax, 0xfb7cbf50
add eax, ecx
movabs rdx, 0x98d6dee2e9a3bbeb
movabs rcx, 0x98d6dee2e9a3bbeb
xor rdx, rcx
sub rdx, r8
xor ecx, ecx
sub rcx, 1
add rdx, rcx
movabs rcx, 0x578fa22097881012
movabs r9, 0x578fa22097881012
xor rcx, r9
sub rcx, rdx
mov qword [rbp - 0x80], rcx
xor r8, 0xffffffffffffffff
mov rdx, rcx
xor rdx, r8
movabs r9, 0x58035f8d8c9ddd48
movabs r10, 0xa7fca072736222b7
xor r9, r10
xor rdx, r9
or rcx, r8
and rcx, rdx
cmp rcx, 0
setl cl
mov byte [rbp - 0x71], cl
cmp eax, 0x587ce9ea
jb 0x14004f8b4
mov rcx, qword [rbp - 0x80]
mov dl, byte [rbp - 0x71]
mov al, 1
test dl, 1
mov qword [rbp - 0x70], rcx
mov byte [rbp - 0x62], al
jne 0x14004f827
jmp 0x14004f839
sub rsp, 0x20
call fcn.140007bb8
add rsp, 0x20
jmp 0x14004f875
mov rax, qword [rbp - 0x70]
mov cl, byte [rbp - 0x62]
test cl, 1
mov qword [rbp + 0x30], rax
jne 0x14004ef4b
jmp 0x14004f875
mov rcx, qword [rbp + 0x50]
mov rax, qword [rbp + 0x60]
mov rdx, qword [rax]
mov qword [rcx], rdx
mov rax, qword [rax + 8]
mov qword [rcx + 8], rax
sub rsp, 0x20
call fcn.14004d1a0
add rsp, 0x20
lea rsp, [rbp + 0x90]
pop rbp
ret
movsd dword [rdi], dword [rsi]
and esi, dword [rdx + 0x26]
jmp 0x14004ee05
sbb edi, ebx
outsb dx, byte [rsi]
and ch, cl
push rbx
idiv edi
jmp [rcx + 0x2a]
imul ebp, dword [rdx], 0x68e9644b
clc
invalid
invalid
push rsi
shl dword [rsi - 0x48], 0xe9
stosd dword [rdi], eax
sti
invalid
test cl, 0x66
mov eax, 0xfffbabe9
invalid
stc
push rdi
rcl byte [rdi - 0x17], cl
invalid
jb 0x14004f8a1
movabs al, byte [0x1f0ffffffe7be9d1]
add byte [rbp + 0x56], dl
push rbp
push rsi
sub rsp, 0x1b8
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x98], r8
mov qword [rbp + 0xa0], rdx
mov qword [rbp + 0xc8], rcx
mov eax, 0x10
mov qword [rbp + 0xb0], rax
call fcn.1401d7280
sub rsp, rax
mov rax, qword [rbp + 0xb0]
mov rcx, rsp
mov qword [rbp + 0xa8], rcx
call fcn.1401d7280
sub rsp, rax
mov rax, qword [rbp + 0xb0]
mov rcx, rsp
mov qword [rbp + 0xb8], rcx
call fcn.1401d7280
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0xc0], rax
sub rsp, 0x20
call fcn.140043a70
mov rcx, qword [rbp + 0xc8]
add rsp, 0x20
mov qword [rbp + 0xd0], rax
cmp qword [rcx], 0
jne 0x14004fa09
mov ecx, 0x20
sub rsp, 0x20
call fcn.140043c00
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0xd0]
mov qword [rbp + 0x90], rcx
cmp byte [rax], 0
jne 0x1400505af
mov rax, qword [rbp + 0x90]
mov rcx, qword [rbp + 0xc8]
mov qword [rcx + 0x10], 0
cmp rax, 0
jge 0x14004f9ee
mov rcx, qword [rbp + 0x90]
movabs rdx, 0x4a0e5c5d3d97c3db
movabs rax, 0x4a0e5c5d3d97c3db
xor rdx, rax
movabs r8, 0x3f15b3ad9977d538
movabs rax, 0x40ea4c5266882ac7
xor r8, rax
sub rsp, 0x20
call fcn.14000c4b0
add rsp, 0x20
jmp 0x1400505af
mov rdx, qword [rbp + 0x90]
mov rcx, qword [rbp + 0xc8]
sub rsp, 0x20
call fcn.140022369
add rsp, 0x20
mov r8, qword [rbp + 0xc0]
mov rax, qword [rbp + 0xa0]
mov rcx, qword [rbp + 0xc8]
movabs rdx, 0xbc29c8b207c77467
movabs r9, 0xbc29c8b207c77467
xor rdx, r9
mov qword [r8], rdx
mov rdx, qword [rcx]
mov qword [rbp + 0x108], rdx
mov rdx, qword [rcx + 8]
mov qword [rbp + 0x110], rdx
mov rcx, qword [rcx + 0x10]
mov qword [rbp + 0x118], rcx
mov rcx, qword [rax]
mov qword [rbp + 0xf8], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0x100], rax
lea rcx, [rbp + 0x108]
lea rdx, [rbp + 0xf8]
sub rsp, 0x20
call fcn.1400505e0
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0xd0]
mov qword [rbp + 0x88], rcx
cmp byte [rax], 0
jne 0x1400505af
mov rax, qword [rbp + 0x88]
mov rdx, qword [rbp + 0xc8]
movabs rcx, 0x988a8f9b3f3e922e
movabs r8, 0x67757064c0c16dd1
xor rcx, r8
mov rdx, qword [rdx]
mov qword [rbp + 0x80], rdx
cmp rax, rcx
jle 0x14004fb73
mov rax, qword [rbp + 0x88]
mov rcx, qword [rbp + 0x80]
cmp rax, rcx
jl 0x14004fb39
mov rcx, qword [rbp + 0x88]
mov rdx, qword [rbp + 0x80]
movabs rax, 0x54efb061f6ad2517
movabs r8, 0x54efb061f6ad2517
xor rax, r8
sub rax, rdx
xor edx, edx
sub rdx, 0xffffffffffffffff
add rax, rdx
xor edx, edx
sub rdx, rax
sub rsp, 0x20
call fcn.140012270
add rsp, 0x20
jmp 0x1400505af
mov rdx, qword [rbp + 0x98]
mov rax, qword [rbp + 0x88]
mov rcx, qword [rbp + 0xc8]
mov rcx, qword [rcx + 8]
add rcx, 8
shl rax, 5
add rcx, rax
add rcx, 0x18
sub rsp, 0x20
call fcn.14012aac0
add rsp, 0x20
jmp 0x1400505af
mov eax, dword [0x1401da320]
xor eax, 0x72b165f1
mov ecx, dword [0x1401da324]
xor ecx, 0x281d7250
xor edx, edx
div ecx
mov ecx, 0x2a7a395d
xor edx, edx
div ecx
mov ecx, 0x7f8941fd
xor ecx, 0x1206b4e6
or eax, ecx
mov ecx, 0xffffffff
xor ecx, 0x869d80c6
mov edx, 0x990de485
xor edx, 0x990de485
mov r8d, 0xb193f8d0
xor r8d, 0xb193f8d1
sub edx, r8d
sub ecx, edx
sub eax, ecx
cmp eax, 0x40e396ab
jb 0x1400505b9
mov rcx, qword [rbp + 0x80]
mov eax, dword [0x1401da328]
mov r8d, dword [0x1401da32c]
mov edx, 0xf67561b0
xor edx, 0x5d16f2c4
xor r8d, edx
xor edx, edx
sub edx, r8d
add eax, edx
mov r8d, 0x70bc42c2
xor r8d, 0x9ac2b43e
mov edx, eax
xor edx, r8d
xor edx, 0xffffffff
and edx, 0xea7ef6fc
shl edx, 1
sub edx, 0xea7ef6fc
sub eax, edx
or eax, 0xf58391da
add eax, 0x8820fb3e
cmp rcx, 0
sete cl
mov byte [rbp + 0x7f], cl
cmp eax, 0xc66f43e3
ja 0x14004fbd9
mov rax, qword [rbp + 0x80]
mov cl, byte [rbp + 0x7f]
test cl, 1
mov qword [rbp + 0x70], rax
jne 0x14004fc63
jmp 0x14004fe06
mov eax, dword [str.C_m__]
mov ecx, dword [0x1401da334]
xor ecx, 0xe4996aed
xor eax, ecx
mov ecx, 0xffffffff
xor ecx, 0x2b42f975
xor edx, edx
sub edx, 1
sub ecx, edx
sub eax, ecx
mov edx, 0xa09edb23
xor edx, 0x614efd3c
mov ecx, 0xe63db92a
xor ecx, 0x19c246d5
xor edx, ecx
mov ecx, eax
and ecx, edx
mov edx, eax
xor edx, 0xc1d0261f
add eax, edx
sub eax, ecx
mov ecx, 0xda11c5c7
xor edx, edx
div ecx
cmp eax, 0x67168b6b
jae 0x1400505c2
mov eax, dword [0x1401da338]
add eax, dword [0x1401da33c]
mov ecx, eax
xor ecx, 0xffffffff
and ecx, 0x4e6d6b76
mov edx, 0xffffffff
xor edx, 0x4e6d6b76
and eax, edx
sub eax, ecx
sub eax, 0xe7da0603
mov edx, 0x2e270b8b
xor edx, 0xd1d8f474
mov ecx, eax
xor ecx, edx
mov edx, 0x802a9c1f
xor edx, 0xa0eded01
and edx, ecx
mov r8d, 0xffffffff
xor r8d, 0x20c7711e
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0x20c7711e
or eax, 0x20c7711e
imul eax, edx
add eax, ecx
mov dword [rbp + 0x5c], eax
mov ecx, 0x20
sub rsp, 0x20
call fcn.140043c00
mov rcx, qword [rbp + 0xd0]
add rsp, 0x20
mov rdx, rax
mov eax, dword [rbp + 0x5c]
mov qword [rbp + 0x60], rdx
cmp byte [rcx], 0
sete cl
mov byte [rbp + 0x6f], cl
cmp eax, 0xc44e4603
ja 0x14004fcc7
mov al, byte [rbp + 0x6f]
test al, 1
jne 0x14004fd7f
jmp 0x1400505af
mov rax, qword [rbp + 0x60]
mov rcx, qword [rbp + 0xc8]
mov qword [rcx + 0x10], 0
cmp rax, 0
jge 0x14004fde0
mov rcx, qword [rbp + 0x60]
movabs rdx, 0x57f44f02bd099cc4
movabs rax, 0x57f44f02bd099cc4
xor rdx, rax
movabs r8, 0x17d431496f8fe294
movabs rax, 0x682bceb690701d6b
xor r8, rax
sub rsp, 0x20
call fcn.14000c4b0
add rsp, 0x20
jmp 0x1400505af
mov rcx, qword [rbp + 0xc8]
mov rdx, qword [rbp + 0x60]
sub rsp, 0x20
call fcn.140022369
mov rax, qword [rbp + 0xc8]
add rsp, 0x20
mov rax, qword [rax]
mov qword [rbp + 0x70], rax
mov r8, qword [rbp + 0xb8]
mov rax, qword [rbp + 0xc8]
mov rcx, qword [rbp + 0x70]
mov qword [rbp + 0x38], rcx
mov rdx, rax
add rdx, 8
mov qword [rbp + 0x40], rdx
mov rdx, rax
add rdx, 0x10
mov qword [rbp + 0x48], rdx
mov rax, qword [rax + 0x10]
mov qword [rbp + 0x50], rax
movabs rdx, 0x31e2669567028b66
movabs rax, 0x31e2669567028b64
xor rdx, rax
sub rsp, 0x20
call fcn.140044e80
add rsp, 0x20
test al, 1
jne 0x14004ff8a
mov rcx, qword [rbp + 0x50]
movabs rdx, 0x2149932b669aa460
movabs rax, 0x2149932b669aa463
xor rdx, rax
lea r8, [rbp + 0x120]
sub rsp, 0x20
call fcn.140044e80
add rsp, 0x20
test al, 1
jne 0x14004ff8a
mov rax, qword [rbp + 0xb8]
mov rcx, qword [rax]
xor eax, eax
cmp rcx, qword [rbp + 0x120]
mov byte [rbp + 0x37], al
jl 0x1400500d1
mov r9, qword [rbp + 0x50]
mov rcx, qword [rbp + 0x38]
mov rax, rcx
xor rax, r9
mov r8, r9
xor r8, 0xffffffffffffffff
mov rdx, rcx
and rdx, r8
shl rdx, 1
sub rdx, rax
mov qword [rbp + 0x28], rdx
mov rax, rdx
xor rax, rcx
movabs rcx, 0xbc9f694ff78dc3e8
movabs r8, 0xbc9f694ff78dc3e8
xor rcx, r8
cmp rax, rcx
setl al
mov rcx, rdx
xor rcx, 0xffffffffffffffff
movabs r10, 0xc0abddde67500248
movabs r8, 0x3f54222198affdb7
xor r10, r8
mov r8, rdx
xor r8, r10
or rcx, r8
and rcx, r9
xor rcx, 0xffffffffffffffff
mov r8, r9
xor r8, 0xffffffffffffffff
xor r9, 0xffffffffffffffff
or r8, r9
xor rdx, 0xffffffffffffffff
movabs r9, 0x6be3aa419441eaba
movabs r10, 0x941c55be6bbe1545
xor r9, r10
xor r8, r9
or rdx, r8
and rcx, rdx
xor rcx, 0xffffffffffffffff
cmp rcx, 0xffffffffffffffff
setg cl
and al, cl
test al, 1
jne 0x14004ff8a
mov rax, qword [rbp + 0x28]
cmp rax, 3
setg al
mov byte [rbp + 0x37], al
jmp 0x1400500d1
mov eax, dword [0x1401da340]
xor eax, 0x75329824
add eax, dword [0x1401da344]
mov ecx, 0x761011fb
xor edx, edx
div ecx
mov r8d, 0x3be89585
xor r8d, 0x56ee78a6
mov ecx, 0x31350c76
xor ecx, 0xcecaf389
xor r8d, ecx
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0x6d06ed23
or eax, 0x6d06ed23
imul eax, edx
add eax, ecx
mov ecx, 0x2edec6dc
xor ecx, 0x99de74ae
xor edx, edx
div ecx
mov ecx, 0x8117923d
xor ecx, 0xc07f24ee
cmp eax, ecx
jae 0x1400505cb
mov r8d, dword [0x1401da348]
mov eax, 0x2eb16ba3
xor eax, 0xced36308
xor r8d, eax
mov edx, dword [0x1401da34c]
mov eax, 0x40d2c545
xor eax, 0xbf2d3aba
mov ecx, r8d
xor ecx, eax
mov eax, 0x3bad923
xor eax, 0x5fd7c940
and eax, ecx
mov r9d, 0xffffffff
xor r9d, 0x5c6d1063
and r8d, r9d
mov r10d, 0xbbdab379
xor r10d, 0x44254c86
mov ecx, edx
xor ecx, r10d
and ecx, 0x5c6d1063
and edx, r9d
or eax, r8d
or ecx, edx
xor eax, ecx
or eax, 0x748e7b4c
mov ecx, 0x4b08ba38
xor edx, edx
div ecx
mov ecx, 0xb73bd996
xor ecx, 0x1c3d70b9
imul eax, ecx
mov dword [rbp + 0x20], eax
mov eax, 0x913432b4
xor eax, 0xe5b8a7c9
mov dword [rbp + 0x1c], eax
sub rsp, 0x20
call fcn.140007bb8
mov rdx, qword [rbp + 0xd0]
mov ecx, dword [rbp + 0x1c]
mov eax, dword [rbp + 0x20]
add rsp, 0x20
cmp byte [rdx], 0
sete dl
mov byte [rbp + 0x27], dl
cmp eax, ecx
je 0x140050003
mov al, byte [rbp + 0x27]
test al, 1
jne 0x140050479
jmp 0x1400505af
mov rax, qword [rbp + 0xd0]
mov cl, byte [rbp + 0x37]
mov al, byte [rax]
test al, al
setne al
mov byte [rbp + 0x1b], al
or al, cl
test al, 1
jne 0x140050469
mov rcx, qword [rbp + 0xc8]
sub rsp, 0x20
call fcn.14004ece0
mov rax, qword [rbp + 0xd0]
add rsp, 0x20
cmp byte [rax], 0
jne 0x1400505af
mov eax, dword [0x1401da350]
or eax, dword [0x1401da354]
mov ecx, eax
xor ecx, 0x598a02ba
xor ecx, 0xffffffff
mov edx, 0x1d827cdb
xor edx, 0x44087e61
or eax, edx
and eax, ecx
and eax, eax
xor eax, 0xffffffff
mov ecx, 0xffffffff
xor ecx, 0xfe0aecd2
mov edx, 0xffffffff
xor edx, 0xfe0aecd2
or ecx, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
mov ecx, 0x2a3a838d
xor ecx, 0x436e4f4c
sub eax, ecx
cmp eax, 0x7535e38a
jb 0x1400505d4
mov rax, qword [rbp + 0xa0]
mov rcx, qword [rbp + 0x40]
mov rdx, qword [rbp + 0xc8]
mov r8, qword [rbp + 0xc0]
mov r9d, dword [0x1401da358]
xor r9d, 0x1b07799c
mov r11d, dword [0x1401da35c]
xor r11d, 0xe5232042
mov esi, 0x2a8ac98d
xor esi, 0x2a8ac98c
mov r10d, r9d
add r10d, esi
xor r9d, 0xffffffff
or r9d, r11d
add r9d, r10d
add r9d, 0x59c4b757
sub r9d, 0x46495775
mov r10d, 0x37523635
xor r10d, 0x6e968162
sub r9d, r10d
and r9d, 0x71ecc3
mov r10d, 0xe8f52e04
xor r10d, 0x4f93d23d
or r9d, r10d
mov dword [rbp + 0xc], r9d
mov r8, qword [r8]
mov qword [rbp - 0x10], r8
mov rdx, qword [rdx]
mov qword [rbp], rdx
mov rcx, qword [rcx]
mov qword [rbp - 8], rcx
mov rcx, qword [rax]
mov qword [rbp + 0xe8], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0xf0], rax
sub rsp, 0x20
call fcn.140043a70
mov rcx, qword [rbp]
add rsp, 0x20
mov rdx, rax
mov eax, dword [rbp + 0xc]
mov qword [rbp + 0x10], rdx
cmp rcx, 0
sete cl
mov byte [rbp + 0x1a], cl
cmp eax, 0xf2e55540
je 0x1400505d4
mov cl, byte [rbp + 0x1a]
mov rax, 0xffffffffffffffff
test cl, 1
mov qword [rbp - 0x18], rax
jne 0x140050444
jmp 0x140050275
mov rcx, qword [rbp - 0x10]
mov rax, qword [rbp]
add rax, 0xffffffffffffffff
mov qword [rbp - 0x28], rax
and rax, rcx
mov qword [rbp - 0x20], rax
mov rdx, qword [rbp]
mov rcx, qword [rbp - 0x20]
mov qword [rbp - 0x30], rcx
test rcx, rcx
setns al
sub rcx, rdx
setl cl
and al, cl
test al, 1
jne 0x1400502d3
mov rdx, qword [rbp - 0x28]
mov rcx, qword [rbp - 0x30]
sub rsp, 0x20
call fcn.140012270
add rsp, 0x20
mov rax, 0xffffffffffffffff
mov qword [rbp - 0x18], rax
jmp 0x140050444
mov rcx, qword [rbp - 0x30]
mov rdx, qword [rbp + 0x10]
mov rax, qword [rbp - 8]
mov r8, rcx
shl r8, 5
mov rax, qword [rax + r8 + 8]
mov qword [rbp - 0x48], rax
test rax, rax
sete al
mov r9b, byte [rdx]
test r9b, r9b
setne dl
or dl, al
mov eax, 6
mov r8d, 3
cmp r9b, 0
cmovne eax, r8d
test dl, 1
mov qword [rbp - 0x40], rcx
mov dword [rbp - 0x34], eax
jne 0x1400503dd
mov rax, qword [rbp - 0x48]
mov rcx, qword [rbp - 0x10]
cmp rax, rcx
jne 0x1400503a3
mov rdx, qword [rbp - 0x30]
mov rcx, qword [rbp + 0xa8]
mov rax, qword [rbp - 8]
add rax, 8
shl rdx, 5
add rax, rdx
add rax, 8
mov rdx, qword [rax]
mov qword [rcx], rdx
mov rax, qword [rax + 8]
mov qword [rcx + 8], rax
mov rax, qword [rbp + 0xe8]
mov qword [rbp + 0x128], rax
mov rax, qword [rbp + 0xf0]
mov qword [rbp + 0x130], rax
lea rdx, [rbp + 0x128]
sub rsp, 0x20
call fcn.14005f140
add rsp, 0x20
mov cl, al
mov rax, qword [rbp - 0x30]
test cl, 1
mov qword [rbp - 0x18], rax
jne 0x140050444
mov rdx, qword [rbp - 0x28]
mov rcx, qword [rbp - 0x30]
sub rsp, 0x20
call fcn.140044fc0
mov r8, qword [rbp + 0x10]
add rsp, 0x20
mov rdx, rax
xor ecx, ecx
mov rax, 0xffffffffffffffff
cmp byte [r8], 0
mov qword [rbp - 0x40], rdx
mov dword [rbp - 0x34], ecx
mov qword [rbp - 0x18], rax
jne 0x140050444
mov rax, qword [rbp - 0x40]
mov ecx, dword [rbp - 0x34]
mov dword [rbp - 0x5c], ecx
mov qword [rbp - 0x58], rax
mov rdx, 0xffffffffffffffff
mov qword [rbp - 0x50], rdx
test ecx, ecx
mov qword [rbp - 0x20], rax
je 0x14005028c
jmp 0x140050407
mov rax, qword [rbp - 0x50]
mov ecx, dword [rbp - 0x5c]
sub ecx, 6
mov qword [rbp - 0x18], rax
jne 0x140050444
jmp 0x140050420
mov rcx, qword [rbp - 0x58]
mov rax, rcx
xor rax, 0xffffffffffffffff
and rax, 0xffffffffffffffff
mov rdx, 0xffffffffffffffff
xor rdx, 0xffffffffffffffff
and rcx, rdx
or rax, rcx
mov qword [rbp - 0x18], rax
mov rcx, qword [rbp - 0x10]
mov rdx, qword [rbp + 0xd0]
mov rax, qword [rbp - 0x18]
cmp byte [rdx], 0
mov qword [rbp - 0x70], rcx
mov qword [rbp - 0x68], rax
je 0x140050492
jmp 0x1400505af
mov al, byte [rbp + 0x1b]
test al, 1
jne 0x1400505af
jmp 0x140050479
mov rax, qword [rbp + 0x88]
mov rcx, qword [rbp + 0xc0]
mov rcx, qword [rcx]
mov qword [rbp - 0x70], rcx
mov qword [rbp - 0x68], rax
mov r9, qword [rbp + 0x98]
mov rdx, qword [rbp + 0xc8]
mov rcx, qword [rbp + 0xa0]
mov r10, qword [rbp - 0x70]
mov rax, qword [rbp - 0x68]
xor rax, 0xffffffffffffffff
mov r8, qword [rcx]
mov qword [rbp + 0xd8], r8
mov rcx, qword [rcx + 8]
mov qword [rbp + 0xe0], rcx
lea r8, [rbp + 0xd8]
sub rsp, 0x30
mov qword [rsp + 0x20], r10
mov qword [rsp + 0x28], rax
call fcn.14004e810
mov rax, qword [rbp + 0xd0]
add rsp, 0x30
cmp byte [rax], 0
jne 0x1400505af
mov rax, qword [rbp + 0x48]
mov rdx, qword [rax]
movabs rax, 0xee18f72330c549bb
mov rcx, rdx
add rcx, rax
movabs rax, 0x623da1237b1b3e6c
movabs r8, 0x623da1237b1b3e6d
xor rax, r8
add rcx, rax
movabs rax, 0xee18f72330c549bb
sub rcx, rax
mov qword [rbp - 0x78], rcx
xor rdx, 0xffffffffffffffff
mov rax, rcx
and rax, rdx
xor rax, 0xffffffffffffffff
xor rcx, 0xffffffffffffffff
movabs r8, 0x322e48f8174dbd3d
movabs r9, 0xcdd1b707e8b242c2
xor r8, r9
xor rdx, r8
or rcx, rdx
xor rax, 0xffffffffffffffff
movabs rdx, 0x25b273dab8432539
movabs r8, 0xda4d8c2547bcdac6
xor rdx, r8
xor rcx, rdx
or rax, rcx
cmp rax, 0
jge 0x1400505a4
sub rsp, 0x20
call fcn.140007bb8
add rsp, 0x20
jmp 0x1400505af
mov rax, qword [rbp + 0x48]
mov rcx, qword [rbp - 0x78]
mov qword [rax], rcx
lea rsp, [rbp + 0x138]
pop rsi
pop rbp
ret
cmp esi, eax
jne 0x1400505e3
jmp 0x14004fbd9
cmp edx, esp
outsd dx, dword [rsi]
pop rdx
jmp 0x14004fcc7
xor dword [rdx + 0x12], ebx
invalid
invalid
in al, dx
rol byte [rax], 1
add byte [rax], al