Function at 0x1404dbb3b
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 8
mov qword [rsp], rbp
nop
sub rsp, 8
mov qword [rsp], rsi
nop
sub rsp, 8
mov qword [rsp], rdi
lea rbp, [rsp - 0x90]
mov r12, r12
neg rsp
sub rsp, 0xfffffffffffffe70
neg rsp
xchg rsi, r15
mov r15, rcx
xchg r15, rsi
mov rdi, rdx
mov dword [rsp - 0x14], edx
lea rcx, [rbp]
call fcn.1400a8d10
mov byte [rsp + 0x38], 0xb
add byte [rsp + 0x38], 0x5e
xor byte [rsp + 0x38], 0x2c
add byte [rsp + 0x38], 0x29
xor byte [rsp + 0x38], 0x6f
lea rcx, [rbp]
mov dword [rsp - 0x34], esi
mov dword [rsp + 0x30], 0x462d551e
sub dword [rsp + 0x30], 0x2cb92c7e
sub dword [rsp + 0x30], 0x7f093cf
sub dword [rsp + 0x30], 0x11839471
mov r9d, 0x11a71313
xor r9d, 0x36266951
add r9d, 0xa68e342
sub r9d, 0x1df9a481
xor r9d, 0x13f0b983
mov dword [rsp + 0x28], 0x5996bd0a
xor dword [rsp + 0x28], 0x46d1f0fb
xor dword [rsp + 0x28], 0x5aab857a
xor dword [rsp + 0x28], 0x3a5b5191
xor dword [rsp + 0x28], 0x7fb7991b
mov r8d, 0x48e9b246
sub r8d, 0x3f4cb456
add r8d, 0x2d551ab5
add r8d, 0x1d47e055
sub r8d, 0x5427f871
xchg rdi, rdx
mov rdi, rdx
xchg rdx, rdi
mov dword [rsp + 0x20], 0x775d22a1
sub dword [rsp + 0x20], 0x42b30a76
sub dword [rsp + 0x20], 0x1eecdfc8
sub dword [rsp + 0x20], 0x15bd3860
call fcn.1400a9b60
mov r11, r11
lea rcx, [rbp]
test al, al
je 0x1404dc700
lea r8, [rbp + 0xc8]
mov dword [rsp - 0x20], esp
lea rdx, [rbp - 0x60]
call fcn.1400aa360
test al, al
je 0x1404dc6fc
mov r13, r13
xchg r15, rcx
mov r15, qword [rbp - 0x60]
xchg r15, rcx
lea r8, [rbp - 0x64]
mov dword [rsp - 0x18], 0x10d0d532
lea rdx, [rbp - 0x80]
call fcn.1400a1f00
test al, al
xchg rsp, rsp
jne 0x1404db1e3
xchg r11, rcx
mov r11, qword [rbp - 0x60]
xchg rcx, r11
call fcn.1400c1990
mov r14, r14
mov edi, 0x4675bc03
sub edi, 0x139cff09
sub edi, 0xf9b1b1c
xor edi, 0x2a11335b
xor edi, 0xc92c920f
jmp 0x1404dc70f
mov qword [rsp + 0x188], r12
mov edi, 0x5d14d1f1
xor edi, 0x1a2eae2b
add edi, 0x2f859e19
add edi, 0x493fe287
mov r12, qword [rbp - 0x60]
xchg r14, r11
mov qword [rsp + 0x178], r11
xchg r11, r14
movabs r14, 0x695a723821d30761
add r14, 0x3a731af1
sub r14, 0x538eb774
add r14, 0x5c14c0ed
mov dword [rbp + 0xc0], edi
mov dword [rsp - 0x38], edx
mov qword [rsp + 0x40], r12
cmp qword [rsi + 8], r14
jne 0x1404db266
movsxd rax, dword [r12 + 0x3c]
xchg rbp, rbp
mov rcx, qword [rax + r12 + 0x30]
xor rcx, r14
xchg rcx, r13
mov qword [rsi + 8], r13
xchg r13, rcx
cmp dword [rbp - 0x80], 0xa0000
xchg r14, rbx
mov qword [rsp + 0x1b0], r14
xchg r14, rbx
xchg r13, r10
mov qword [rsp + 0x180], r10
xchg r13, r10
xchg r15, r11
mov qword [rsp + 0x170], r11
xchg r15, r11
jne 0x1404dbc43
mov eax, dword [rbp - 0x64]
mov dword [rsp - 0x38], 0xf879534
mov ecx, 0x4f695ff7
add ecx, 0x80474a
add ecx, 0x19a60744
sub ecx, 0x698f5895
shr eax, 5
shr eax, 1
shr eax, 4
shr eax, 1
shr eax, 2
shr eax, 2
shr eax, 1
cmp ax, cx
xchg r14, r14
jbe 0x1404dbc43
mov r11d, dword [rbp + 0xc8]
mov ecx, 0x38ed91f
add ecx, 0x2289a2c6
xor ecx, 0x3942b972
sub ecx, 0x1cbee079
sub ecx, 0x29b7c8e
cmp ax, cx
jbe 0x1404db6eb
mov dword [rsp - 0x3c], 0x483c7b41
lea r10, [rsp + 0x7a]
mov dword [rbp - 0x78], 0x2521f5b2
xor dword [rbp - 0x78], 0x55479a79
sub dword [rbp - 0x78], 0x13d724f1
sub dword [rbp - 0x78], 0x364a0c2f
add dword [rbp - 0x78], 0x4996fa95
neg r10
xchg rbx, rbx
mov dword [rbp - 0x74], 0x17755b05
xor dword [rbp - 0x74], 0x7bbc87fe
sub dword [rbp - 0x74], 0xb35d5cd
xor dword [rbp - 0x74], 0x3e63b44
add dword [rbp - 0x74], 0xc692bfd
mov qword [rbp - 0x70], 0x7d6fa842
sub qword [rbp - 0x70], 0x33a653ce
xor qword [rbp - 0x70], 0x7091367a
xor qword [rbp - 0x70], 0x395862f1
lea r8, [rbp - 0x76]
lea rdi, [rsp + 0x7a]
mov rbp, rbp
nop dword [rax]
lea edx, [r10 + rdi]
mov eax, 0x1815a611
xor eax, 0x6b1bfd0c
xor eax, 0x6661cd01
add eax, 0x37de2f07
sub eax, 0xa1a951e
mov ecx, edx
lea rdi, [rdi + 4]
rol eax, cl
mov dword [rsp - 0x20], 0x106fc4a4
lea ecx, [rdx + 1]
xor al, byte [r8 - 2]
lea r8, [r8 + 4]
mov byte [rdi - 6], al
mov rbp, rbp
mov eax, 0x47cb9f83
add eax, 0x17077b34
xor eax, 0x17b7db64
add eax, 0x1d8281d4
sub eax, 0x23b413a2
rol eax, cl
lea ecx, [rdx + 2]
mov r14, r14
xor al, byte [r8 - 5]
mov byte [rdi - 5], al
mov eax, 0x495a9f10
sub eax, 0xc35b362
add eax, 0x2b745edd
xor eax, 0x2baa7a8e
rol eax, cl
lea ecx, [rdx + 3]
mov rsi, rsi
xor al, byte [r8 - 4]
mov byte [rdi - 4], al
mov eax, 0x7cb2cdbd
sub eax, 0x158c3d6c
sub eax, 0x33efacc4
add eax, 0xffc4c78
rol eax, cl
mov dword [rsp - 0x14], 0x40d46038
xor al, byte [r8 - 3]
mov byte [rdi - 3], al
lea rax, [r10 + rdi]
xchg r9, r9
cmp rax, 8
jb 0x1404db392
mov ebx, 0x4e343017
add ebx, 0x2f03eb40
xor ebx, 0x3ad2d56a
add ebx, 0x133ad196
xor ebx, 0x5b259fdb
lea r8, [rsp + 0x78]
xchg rbx, rbx
mov r9d, 0x109611cd
add r9d, 0x41db0c99
sub r9d, 0x28756ec6
xor r9d, 0x29fbaf5f
xchg rbx, r11
mov qword [rsp + 0x20], r11
xchg r11, rbx
xchg r11, rdi
mov rdx, rdi
xchg r11, rdi
mov rcx, r12
mov dword [rsp - 0x18], ecx
call fcn.1400b1f80
xchg rbx, r15
mov rbx, rax
xchg rbx, r15
lea rdi, [rsp + 0x78]
xor eax, eax
mov rsi, rsi
xor r13d, r13d
mov ecx, ebx
rep stosb byte [rdi], al
mov r8, r8
test r15, r15
je 0x1404db5d1
mov r14d, r13d
xchg r12, r12
nop word [rax + rax]
mov edi, ebx
lea rdx, [rsp + 0x48]
mov r10, r10
add rdi, r15
xchg rdi, rcx
mov rdi, rcx
xchg rdi, rcx
call fcn.1400b05f0
test dword [rsp + 0x69], 0x1000
jne 0x1404db5ab
mov dword [rsp - 0x20], 0x6071c413
movzx eax, byte [rsp + 0x53]
cmp al, 0xe8
jne 0x1404db6c5
inc r14d
mov dword [rsp - 0x3c], edx
cmp r14d, 1
jne 0x1404db646
xchg rdi, r14
mov rdx, r14
xchg rdi, r14
xchg rcx, r11
mov r11, r12
xchg r11, rcx
call fcn.14009d9a0
xchg r9, r9
movzx edx, byte [rsp + 0x48]
movabs rcx, 0x695a723856007abe
xor rcx, 0x3d77dad3
add rcx, 0x11e8817f
xor rcx, 0x19ac0a27
add edx, dword [rsp + 0x5d]
xchg r13, r13
add edx, eax
mov rax, qword [rsi + 8]
xor rax, rcx
xchg rdi, rdi
add rdx, rax
xor rdx, rcx
mov qword [rsi + 0x10], rdx
mov dword [rsp - 0x10], edx
movzx eax, byte [rsp + 0x48]
add ebx, eax
cmp ebx, 0x100
mov rdx, rdx
jb 0x1404db4e7
movabs r14, 0x695a72387b0f111d
xor r14, 0x431f9a9b
add r14, 0x19479202
sub r14, 0x202d7d18
add r14, 0x33a18b5b
cmp qword [rsi + 0x10], r14
mov rbx, rbx
je 0x1404db5e8
cmp qword [rsi + 0x18], r14
jne 0x1404dc435
mov edi, dword [rbp + 0xc0]
mov dword [rsp - 0x3c], 0x30d5f724
xchg r12, rcx
mov r12, qword [rbp - 0x60]
xchg r12, rcx
call fcn.1400c1990
mov dword [rsp - 0x3c], 0x228f9c38
xchg r15, rbp
mov rbp, qword [rsp + 0x170]
xchg rbp, r15
mov r14, qword [rsp + 0x178]
mov r13, qword [rsp + 0x180]
xchg r12, rsi
mov rsi, qword [rsp + 0x188]
xchg rsi, r12
mov rbx, qword [rsp + 0x1b0]
jmp 0x1404dc70f
cmp r14d, 4
xchg r12, r12
jne 0x1404db595
xchg rsp, rdx
mov rsp, rdi
xchg rdx, rsp
xchg r8, r12
mov rcx, r8
xchg r8, r12
call fcn.14009d9a0
xchg r9, r9
movzx edx, byte [rsp + 0x48]
movabs r14, 0x695a723861fead92
add r14, 0x15f40e26
xor r14, 0x36fa8aef
add r14, 0x23c3fa74
add edx, eax
xchg r14, r14
xchg rbp, rax
mov rbp, qword [rsi + 8]
xchg rbp, rax
add edx, dword [rsp + 0x5d]
mov dword [rsp - 0x1c], 0x5616aed3
xor rax, r14
add rdx, rax
xor rdx, r14
mov r14, r14
xchg r8, rdx
mov qword [rsi + 0x18], r8
xchg rdx, r8
jmp 0x1404db5d1
and al, 0xe9
cmp al, 0xe9
mov rsi, rsi
jne 0x1404db595
movzx r15d, byte [rsp + 0x48]
mov ebx, r13d
add r15d, dword [rsp + 0x5d]
xchg r12, r12
add r15, rdi
jmp 0x1404db4e7
xor eax, eax
mov dword [rsp - 0x40], ebx
mov dword [rsp + 0x48], 0x5ce91815
xor dword [rsp + 0x48], 0x25de24f0
sub dword [rsp + 0x48], 0x473d6e5a
xor dword [rsp + 0x48], 0x5e25f7cb
lea r10, [rbp - 0x76]
mov dword [rsp - 0x10], 0x6839782e
mov dword [rsp + 0x54], eax
neg r10
mov dword [rsp + 0x4c], 0x3c3d6812
sub dword [rsp + 0x4c], 0x18058a5e
add dword [rsp + 0x4c], 0x44f24bc6
sub dword [rsp + 0x4c], 0x10d74907
add dword [rsp + 0x4c], 0x499687f4
mov dword [rsp + 0x50], 0x224fc147
sub dword [rsp + 0x50], 0x20ad5604
add dword [rsp + 0x50], 0xababec9
add dword [rsp + 0x50], 0x4e31706
add dword [rsp + 0x50], 0xdfcc4521
lea r8, [rsp + 0x4a]
mov qword [rsp + 0x58], 0x33fec49c
add qword [rsp + 0x58], 0x470c9c2a
sub qword [rsp + 0x58], 0x5a5fe59b
sub qword [rsp + 0x58], 0x6f6835d
sub qword [rsp + 0x58], 0x19b4e7cf
lea rdi, [rbp - 0x76]
mov r10, r10
nop
lea edx, [r10 + rdi]
mov eax, 0x2d827a62
add eax, 0x21f1f93d
add eax, 0x1f8829f0
xor eax, 0x6edb39ba
add eax, 0x430b8bd0
mov ecx, edx
mov rcx, rcx
lea rdi, [rdi + 6]
rol eax, cl
lea ecx, [rdx + 1]
xchg r11, r11
xor al, byte [r8 - 2]
lea r8, [r8 + 6]
mov byte [rdi - 8], al
mov eax, 0x4c70edc1
xor eax, 0x3d4f7062
sub eax, 0x4e2a2099
add eax, 0x2f1dc84b
sub eax, 0xf001550
rol eax, cl
lea ecx, [rdx + 2]
xor al, byte [r8 - 7]
mov dword [rsp - 0xc], 0x44573ac7
mov byte [rdi - 7], al
mov eax, 0x724a2efd
sub eax, 0x2e2fd5dc
sub eax, 0x2a2db92a
add eax, 0x2946900e
rol eax, cl
mov dword [rsp - 0x20], esp
lea ecx, [rdx + 3]
xor al, byte [r8 - 6]
mov byte [rdi - 6], al
xchg r13, r13
mov eax, 0x7b2a095c
xor eax, 0x240f40e9
xor eax, 0x1d9f059a
add eax, 0x78e3d6
rol eax, cl
lea ecx, [rdx + 4]
mov dword [rsp - 0x14], 0x140e1f86
xor al, byte [r8 - 5]
mov byte [rdi - 5], al
mov eax, 0x5cc5ee93
add eax, 0x22217cd3
xor eax, 0x18d28410
xor eax, 0x2506df73
rol eax, cl
mov dword [rsp - 0x44], edx
lea ecx, [rdx + 5]
xor al, byte [r8 - 4]
mov byte [rdi - 4], al
mov dword [rsp - 0x2c], esi
mov eax, 0x4b0c6a08
sub eax, 0x38ab790
sub eax, 0x1a789930
add eax, 0x18826546
sub eax, 0x2584e89
rol eax, cl
mov dword [rsp - 0x10], 0x4ce81113
xor al, byte [r8 - 3]
mov byte [rdi - 3], al
lea rax, [r10 + rdi]
mov dword [rsp - 0x2c], ebp
cmp rax, 0xc
jb 0x1404db7ae
mov r9d, 0x3848a0aa
xor r9d, 0x9adee1c
add r9d, 0x103c8e64
xor r9d, 0x4ec4c2a
sub r9d, 0x46cd8131
mov qword [rsp + 0x20], 0x2c8fe94f
sub qword [rsp + 0x20], 0x1d9ef2d9
xor qword [rsp + 0x20], 0x615f5a32
xor qword [rsp + 0x20], 0x6fafac48
lea r8, [rbp - 0x78]
xchg rdx, r11
mov r11, rdx
xchg r11, rdx
xchg rcx, r12
mov r12, rcx
xchg rcx, r12
call fcn.1400b1f80
xchg rsi, rsi
xchg rcx, rax
mov rdx, rcx
xchg rcx, rax
xchg r13, rax
mov qword [rsp + 0x78], r13
xchg r13, rax
xor eax, eax
xchg r12, r12
lea rdi, [rbp - 0x78]
xor r13d, r13d
mov ecx, 0x7ab39aed
sub ecx, 0x4fd2fb10
add ecx, 0x296efb30
xor ecx, 0x6c618c7a
xor ecx, 0x382e177b
rep stosb byte [rdi], al
mov dword [rsp - 0x2c], ebx
test rdx, rdx
je 0x1404dba79
mov rbx, qword [rsp + 0x40]
mov r12d, 0x2c5ac109
sub r12d, 0x99a346c
xor r12d, 0x525b2515
sub r12d, 0x709ba97d
mov r15d, r13d
nop dword [rax + rax]
mov dword [rsp - 0x10], esi
mov edi, r12d
add rdi, rdx
lea rdx, [rsp + 0x48]
mov r8, r8
mov rcx, rdi
call fcn.1400b05f0
test dword [rsp + 0x69], 0x1000
jne 0x1404dba79
mov dword [rsp - 0x38], ebp
movzx eax, byte [rsp + 0x53]
cmp al, 0xe8
jne 0x1404dbaa4
mov dword [rsp - 0x14], 0x34561e46
cmp qword [rsi + 0x10], r14
jne 0x1404dba2a
xchg rdi, rsi
mov rdx, rsi
xchg rsi, rdi
mov rcx, rbx
call fcn.14009d9a0
mov r9, r9
movzx edx, byte [rsp + 0x48]
add edx, dword [rsp + 0x5d]
add edx, eax
mov rax, qword [rsi + 8]
mov rbx, rbx
xor rax, r14
add rdx, rax
xor rdx, r14
xchg rbp, rbp
xchg rdx, r13
mov qword [rsi + 0x10], r13
xchg r13, rdx
jmp 0x1404dbc21
cmp r15d, 1
jne 0x1404dbc21
mov r12, r12
xchg rdi, rsi
mov rdx, rsi
xchg rdi, rsi
mov rcx, rbx
call fcn.14009d9a0
mov dword [rsp - 0x40], 0x1944dbf0
movzx edx, byte [rsp + 0x48]
add edx, eax
mov rax, qword [rsi + 8]
add edx, dword [rsp + 0x5d]
mov r11, r11
xor rax, r14
add rdx, rax
xor rdx, r14
mov dword [rsp - 0x40], esp
xchg rdx, rbx
mov qword [rsi + 0x20], rbx
xchg rdx, rbx
cmp qword [rsi + 0x10], r14
je 0x1404db5e8
cmp qword [rsi + 0x18], r14
mov dword [rsp - 0xc], 0x58a5922
je 0x1404db5e8
cmp qword [rsi + 0x20], r14
je 0x1404db5e8
jmp 0x1404dc435
cmp al, 0xf
mov rbx, rbx
jne 0x1404dbbe2
cmp byte [rsp + 0x54], 0x88
jne 0x1404dbbe2
xchg rcx, r13
mov r13, qword [rsp + 0x40]
xchg rcx, r13
xchg rdi, rsi
mov rdx, rsi
xchg rdi, rsi
call fcn.14009d9a0
mov dword [rsp - 0x40], esi
movzx edx, byte [rsp + 0x48]
mov rcx, qword [rsp + 0x40]
add edx, eax
xchg rsp, rsp
add edx, dword [rsp + 0x5d]
call fcn.14009d5b0
mov r14, rax
mov edi, r13d
mov r15, r15
nop dword [rax + rax]
mov ebx, edi
lea rdx, [rbp - 0x28]
add rbx, r14
mov r10, r10
xchg rcx, rbx
mov rbx, rcx
xchg rcx, rbx
call fcn.1400b05f0
mov dword [rsp - 0x14], 0x186a9977
test dword [rbp - 7], 0x1000
jne 0x1404dbb4b
cmp byte [rbp - 0x1d], 0xe8
mov r13, r13
je 0x1404dbb7a
movzx eax, byte [rbp - 0x28]
add edi, eax
xchg r9, r9
cmp edi, 0x20
jb 0x1404dbafd
xchg rbx, r13
mov r13, qword [rsp + 0x40]
xchg r13, rbx
movabs r14, 0x695a72384a635b3f
sub r14, 0x261cd230
xor r14, 0x3a05fe8a
add r14, 0x4688b446
jmp 0x1404dbc21
mov rdx, rbx
mov rbx, qword [rsp + 0x40]
xchg r11, r11
mov rcx, rbx
call fcn.14009d9a0
movzx edx, byte [rbp - 0x28]
mov dword [rsp - 0x38], edx
movabs r14, 0x695a723804ad9937
xor r14, 0x3d27dc33
sub r14, 0x318f656e
add r14, 0x34e62c1
add r14, 0x5982e974
add edx, dword [rbp - 0x13]
add edx, eax
mov dword [rsp - 0xc], 0x67106a56
mov rax, qword [rsi + 8]
xor rax, r14
add rdx, rax
mov dword [rsp - 0x40], esi
xor rdx, r14
mov qword [rsi + 0x18], rdx
jmp 0x1404dbc21
cmp byte [rsp + 0x48], 6
jne 0x1404dbc21
mov eax, dword [rdi]
mov rdx, rdx
xor eax, 0x1ac04423
cmp eax, 0x1ac4fc62
pushf
mov eax, 0x5ee05472
sub eax, 0x24e04e1a
xor eax, 0x7808fc2a
sub eax, 0x36c2d374
xor eax, 0xb4626ff
popf
cmove r15d, eax
mov dword [rsp - 0x34], edx
movzx eax, byte [rsp + 0x48]
add r12d, eax
cmp r12d, 0x100
jae 0x1404dba79
xchg rdi, rdi
mov rdx, qword [rsp + 0x78]
jmp 0x1404db9a2
mov edx, 0x7ba15277
xor edx, 0x36049942
sub edx, 0x465a2958
add edx, 0xd7aec2c1
xchg r12, rcx
mov r12, rcx
xchg r12, rcx
call fcn.14009d690
xchg r15, rax
mov rax, r15
xchg r15, rax
test rax, rax
je 0x1404db5f6
mov dword [rsp - 0x28], 0x8092119
xor r13d, r13d
mov edi, r13d
mov r14d, r13d
nop
mov dword [rsp - 0x24], 0x70c9a942
mov ebx, edi
lea rdx, [rbp + 0x18]
add rbx, r15
mov rbx, rbx
xchg r14, rbx
mov rcx, r14
xchg r14, rbx
call fcn.1400b05f0
mov ecx, dword [rbp + 0x39]
mov dword [rsp - 0x10], 0x36afa238
bt ecx, 0xc
jb 0x1404db5e8
movzx eax, byte [rbp + 0x23]
cmp al, 0x73
mov rdx, rdx
jne 0x1404dbcf7
mov r14d, 0x7112ef07
sub r14d, 0x5a87c4c3
sub r14d, 0x128ceac1
xor r14d, 0x1bf4a6ce
sub r14d, 0x180a994c
jmp 0x1404dbd0d
cmp al, 0xe8
jne 0x1404dbd0d
mov dword [rsp - 0x18], edx
cmp r14d, 1
je 0x1404dbd28
movzx eax, byte [rbp + 0x18]
mov dword [rsp - 0x14], ebx
add edi, eax
cmp edi, 0x100
jb 0x1404dbc92
jmp 0x1404db5e8
test cl, 0x10
mov dword [rsp - 0x2c], 0x29996105
je 0x1404db5e8
mov rdx, rbx
mov rcx, r12
call fcn.14009d9a0
mov dword [rsp - 0x38], 0x446d3ff1
movzx edx, byte [rbp + 0x18]
xchg rcx, r12
mov r12, rcx
xchg rcx, r12
add edx, dword [rbp + 0x2d]
add edx, eax
mov dword [rsp - 0x3c], 0x1ea6c594
call fcn.14009d5b0
mov qword [rbp - 0x78], rax
test rax, rax
xchg rbx, rbx
je 0x1404db5e8
mov ecx, r13d
xchg r13, rbx
mov qword [rsp + 0x70], rbx
xchg rbx, r13
mov ebx, r13d
mov dword [rbp - 0x58], ecx
mov dword [rbp - 0x68], ebx
mov r9, r9
xchg r14, r13
mov r13, r14
xchg r14, r13
xchg r15, r13
mov r13, r15
xchg r13, r15
xchg rsi, r15
mov qword [rsp + 0x48], r15
xchg r15, rsi
mov qword [rsp + 0x50], r12
nop
mov edi, ecx
mov dword [rsp - 0x14], esp
lea rdx, [rbp - 0x28]
add rdi, rax
xchg rdi, rcx
mov rdi, rcx
xchg rcx, rdi
call fcn.1400b05f0
mov dword [rsp - 0x28], 0x4d477f4
mov eax, dword [rbp - 7]
bt eax, 0xc
jb 0x1404db5e8
movzx ecx, byte [rbp - 0x1d]
xchg r11, r11
cmp cl, 0xe8
jne 0x1404dc2e7
test al, 0x10
je 0x1404dc3b3
xchg rcx, rcx
xchg rdi, rdx
mov rdi, rdx
xchg rdx, rdi
mov qword [rsp + 0x78], r15
mov dword [rsp - 0x3c], 0x5fbee0de
mov rcx, r12
xchg r13, r14
mov r13, r15
xchg r14, r13
call fcn.14009d9a0
movzx edx, byte [rbp - 0x28]
mov dword [rsp - 0x34], esp
xchg r12, r11
mov rcx, r11
xchg r11, r12
add edx, dword [rbp - 0x13]
mov rdi, qword [rsi + 8]
add edx, eax
mov dword [rsp - 0x34], esi
movabs rax, 0x695a7238401a5923
sub rax, 0x15b3b477
add rax, 0x34c77a8f
add rax, 0x59e0c90
xor rdi, rax
mov eax, edx
xchg r13, r13
add rdi, rax
xchg r10, rdi
mov qword [rsp + 0x40], r10
xchg r10, rdi
call fcn.14009d5b0
xchg rcx, rax
mov r15, rcx
xchg rcx, rax
test ebx, ebx
xchg r12, r12
je 0x1404dbeb1
mov rcx, rdi
mov dword [rbp - 0x68], r13d
mov dword [rsp - 0x38], 0x2b104ec
xchg rdi, rcx
mov qword [rsp + 0x70], rdi
xchg rcx, rdi
jmp 0x1404dbf5b
movabs rax, 0x695a72382e620c99
xor rax, 0x5cf8afad
sub rax, 0x3aacd594
add rax, 0x2cde5e2b
cmp qword [rsi + 0x10], rax
mov dword [rsp - 0x34], ebp
je 0x1404dc1ff
cmp qword [rsi + 0x20], rax
jne 0x1404dc1ff
mov dword [rsp - 0x28], ebp
mov edi, r13d
nop dword [rax + rax]
mov ebx, edi
mov dword [rsp - 0x20], esp
lea rdx, [rbp + 0x40]
add rbx, r15
xchg rcx, rbx
mov rbx, rcx
xchg rbx, rcx
call fcn.1400b05f0
mov eax, dword [rbp + 0x61]
mov rdi, rdi
bt eax, 0xc
jb 0x1404dbf50
cmp byte [rbp + 0x4b], 0xe8
mov dword [rsp - 0x44], 0x57ee0359
jne 0x1404dbf39
test al, 0x10
jne 0x1404dbfe4
movzx eax, byte [rbp + 0x40]
mov dword [rsp - 0x1c], 0x3893d550
add edi, eax
cmp edi, 0x40
jb 0x1404dbef4
xchg r9, rcx
mov r9, qword [rsp + 0x70]
xchg rcx, r9
movabs rdx, 0x695a723818735180
add rdx, 0x17b0cb84
sub rdx, 0x125b1fee
add rdx, 0x5f287d9e
sub rdx, 0x18254ee9
movzx eax, word [r15]
mov dword [rsp - 0x30], ebp
xor eax, 0x1ac04423
cmp eax, 0x1ac07f6b
jne 0x1404dbfd4
mov eax, dword [r15 + 9]
mov dword [rsp - 0x20], ebx
xor eax, 0x1ac04423
cmp eax, 0xa01856b
jne 0x1404dbfd4
mov dword [rsp - 0xc], 0x1205c0a0
cmp dword [rbp - 0x80], 0x60001
jne 0x1404dc218
xchg rcx, rax
mov rcx, rax
xchg rcx, rax
xor rax, rdx
mov qword [rsi + 0x18], rax
xchg r10, r14
mov r10, qword [rsp + 0x40]
xchg r14, r10
jmp 0x1404dc3b3
xchg rbx, rdx
mov rbx, rdx
xchg rdx, rbx
xchg rcx, r12
mov r12, rcx
xchg r12, rcx
call fcn.14009d9a0
xchg r8, r8
movzx edx, byte [rbp + 0x40]
xchg rdx, r12
mov rcx, rdx
xchg rdx, r12
add edx, dword [rbp + 0x55]
mov rbx, qword [rsi + 8]
add edx, eax
mov dword [rsp - 0x38], ebp
movabs rax, 0x695a7238186644d4
xor rax, 0x2bafa7fe
xor rax, 0x1e9140e8
add rax, 0x37738809
xor rbx, rax
mov dword [rsp - 0x24], 0x41e949f2
mov eax, edx
add rbx, rax
call fcn.14009d5b0
xchg r12, r12
mov r8, rax
lea rcx, [rsp + 0x48]
xchg r15, rdx
mov r15, rbx
xchg rdx, r15
call fcn.1404dade0
mov dword [rsp - 0x10], 0x64589cb7
xchg rcx, rdi
mov rdi, qword [rsi + 0x10]
xchg rdi, rcx
movabs rdx, 0x695a72383e1c345a
xor rdx, 0x1b9ae383
add rdx, 0x45e881f6
xor rdx, 0xfa37204
xor rcx, rdx
cmp rax, rcx
mov dword [rsp - 0x14], 0x4ff38c40
jne 0x1404dc1f5
mov r14d, r13d
cmp edi, 0x100
mov r10, r10
jae 0x1404dc1ea
nop word [rax + rax]
mov ebx, edi
mov dword [rsp - 0x34], 0x2b7a3020
lea rdx, [rbp - 0x50]
add rbx, r15
xchg rbx, r11
mov rcx, r11
xchg r11, rbx
call fcn.1400b05f0
test dword [rbp - 0x2f], 0x1000
jne 0x1404dc1e0
mov dword [rsp - 0x3c], 0x37835f86
movzx ecx, byte [rbp - 0x50]
cmp cl, 5
jne 0x1404dc138
mov eax, dword [rbx]
xchg r14, r14
xor eax, 0x1ac04423
cmp eax, 0x1aa04499
jne 0x1404dc138
xchg rbp, rbp
mov r14d, 0x33b836f4
sub r14d, 0x6a083fb
add r14d, 0x29119237
sub r14d, 0x5629452f
jmp 0x1404dc154
cmp r14d, 1
mov dword [rsp - 0x20], 0x57acee42
jne 0x1404dc154
cmp byte [rbp - 0x45], 0xe8
je 0x1404dc175
add edi, ecx
mov r15, r15
cmp edi, 0x100
jb 0x1404dc0bf
xchg r14, rsi
mov rsi, qword [rsp + 0x78]
xchg r14, rsi
jmp 0x1404dbf50
xchg rsp, rbx
mov rdx, rsp
xchg rsp, rbx
xchg rsi, r12
mov rcx, rsi
xchg rsi, r12
call fcn.14009d9a0
movzx edx, byte [rbp - 0x50]
mov dword [rsp - 0x10], ecx
movabs rcx, 0x695a723878326ebc
xor rcx, 0x62af5658
add rcx, 0x64c6f5ec
xor rcx, 0x1c7d24a2
xor rcx, 0x7d521b9
add edx, dword [rbp - 0x3b]
xchg rcx, rcx
add edx, eax
xchg r14, rax
mov r14, qword [rsi + 8]
xchg r14, rax
xor rax, rcx
add rdx, rax
mov r11, r11
xor rdx, rcx
xchg rdx, rsp
mov qword [rsi + 0x20], rsp
xchg rsp, rdx
mov r14, qword [rsp + 0x78]
jmp 0x1404dbf50
xchg r14, rcx
mov rcx, qword [rsp + 0x78]
xchg rcx, r14
mov rcx, qword [rsp + 0x70]
jmp 0x1404dbf81
xchg rcx, r10
mov r10, qword [rsp + 0x70]
xchg r10, rcx
xchg rdx, rbp
mov rbp, rax
xchg rdx, rbp
jmp 0x1404dbf81
mov edi, r13d
mov ebx, edi
lea rdx, [rbp - 0x50]
mov dword [rsp - 0x10], ebp
add rbx, r14
xchg rsi, rcx
mov rsi, rbx
xchg rcx, rsi
call fcn.1400b05f0
mov r10, r10
mov eax, dword [rbp - 0x2f]
bt eax, 0xc
jb 0x1404dbfd4
cmp byte [rbp - 0x45], 0xe8
mov dword [rsp - 0xc], ebx
jne 0x1404dc25c
test al, 0x10
jne 0x1404dc27e
movzx eax, byte [rbp - 0x50]
mov r11, r11
add edi, eax
cmp edi, 0x40
jb 0x1404dc21b
xchg r15, r14
mov r15, qword [rsp + 0x40]
xchg r14, r15
jmp 0x1404dc3b3
xchg r9, rdx
mov r9, rbx
xchg r9, rdx
xchg r11, r12
mov rcx, r11
xchg r11, r12
call fcn.14009d9a0
xchg rdx, rdx
movzx edx, byte [rbp - 0x50]
movabs r14, 0x695a723874510554
sub r14, 0x69e07000
add r14, 0x437af2f6
add r14, 0x16e0a381
add edx, dword [rbp - 0x3b]
mov r14, r14
add edx, eax
mov rax, qword [rsi + 8]
xor rax, r14
add rdx, rax
xchg rsp, rsp
xor rdx, r14
mov r14, qword [rsp + 0x40]
xchg rdx, r10
mov qword [rsi + 0x18], r10
xchg rdx, r10
jmp 0x1404dc3b3
cmp cl, 0xbb
jne 0x1404dc36d
mov dword [rsp - 0x3c], 0x52c47b24
test al, 0x10
je 0x1404dc3b3
cmp dword [rbp - 0x13], 0xc000009a
jne 0x1404dc3b3
mov dword [rsp - 0x3c], 0x44b465c1
movabs rdi, 0x695a723876144043
sub rdi, 0x1e1d0441
xor rdi, 0x7021ec14
xor rdi, 0x2d2f69a6
add rdi, 0x59d2721b
cmp qword [rsi + 0x10], rdi
jne 0x1404dc3b3
xchg r10, r10
mov r8, r15
lea rcx, [rsp + 0x48]
xchg rsi, rdx
mov rsi, r14
xchg rdx, rsi
call fcn.1404dade0
xchg r11, r11
xor rax, rdi
mov qword [rsi + 0x10], rax
jmp 0x1404dc3b3
cmp cl, 0x8b
jne 0x1404dc3b3
mov rdx, rdx
cmp byte [rbp - 0x28], 4
jne 0x1404dc3b3
test al, 1
mov dword [rsp - 0x24], 0x746a2d64
pushf
mov eax, 0x6ad2d70
add eax, 0x3cbaf75c
xor eax, 0x1520e30a
sub eax, 0x32eaaed8
sub eax, 0x235e18ed
popf
cmovne ebx, eax
xchg rdi, rdi
mov dword [rbp - 0x68], ebx
movabs rax, 0x695a72384693a83f
xor rax, 0x55116eaf
xor rax, 0x42d87c85
xor rax, 0xcae2293
add rax, 0x6d79345
cmp qword [rsi + 0x10], rax
mov dword [rsp - 0x38], 0x19d3f539
je 0x1404dc3f4
cmp qword [rsi + 0x18], rax
jne 0x1404dc42c
mov r10, r10
mov ecx, dword [rbp - 0x58]
movzx eax, byte [rbp - 0x28]
add ecx, eax
mov dword [rbp - 0x58], ecx
mov dword [rsp - 0x28], 0x3a6fa499
cmp ecx, 0x2000
jae 0x1404db5e8
mov ebx, dword [rbp - 0x68]
mov dword [rsp - 0x2c], 0x3040bb1d
xchg rcx, rax
mov rcx, qword [rbp - 0x78]
xchg rcx, rax
jmp 0x1404dbdb9
xchg r14, rdx
mov rdx, rax
xchg rdx, r14
mov eax, dword [rbp - 0x64]
mov r9, r9
xchg rsp, rcx
mov rsp, rsi
xchg rsp, rcx
mov r8d, dword [rbp + 0xc8]
mov edi, r13d
mov rsi, rsi
mov r9d, dword [rbp - 0x80]
xchg rsp, rdx
mov rsp, qword [rbp - 0x60]
xchg rdx, rsp
mov dword [rsp + 0x20], eax
mov r12, r12
mov dword [rbp + 0xc0], r13d
call fcn.1404dcc50
test al, al
mov dword [rsp - 0x14], esi
je 0x1404dc6e0
cmp dword [rbp - 0x80], 0xa0000
mov edx, dword [rbp + 0xc8]
xchg r8, rbx
mov r8, qword [rbp - 0x60]
xchg r8, rbx
jne 0x1404db5f6
mov r12, r12
mov eax, dword [rbp - 0x64]
mov ecx, 0x9b91e6f
add ecx, 0x275e10af
xor ecx, 0x2aae6857
xor ecx, 0x16e3b0d3
sub ecx, 0xd5aad50
shr eax, 4
shr eax, 0xb
shr eax, 1
cmp ax, cx
mov dword [rsp - 0x14], 0x2255d45b
jb 0x1404db5f6
xor eax, eax
mov dword [rsp + 0x48], 0x44d5241b
add dword [rsp + 0x48], 0x12f7b1ad
xor dword [rsp + 0x48], 0x4f02f30e
add dword [rsp + 0x48], 0x5e5d6fe7
xor dword [rsp + 0x48], 0x797a17e0
mov word [rsp + 0x55], ax
mov dword [rsp - 0x44], ecx
mov byte [rsp + 0x57], al
mov dword [rsp + 0x4c], 0x1b700969
add dword [rsp + 0x4c], 0x47e62284
add dword [rsp + 0x4c], 0x1269114c
add dword [rsp + 0x4c], 0x3f1ea31b
mov dword [rsp + 0x50], 0x72b76fba
add dword [rsp + 0x50], 0x759891e
xor dword [rsp + 0x50], 0x5c9da12b
add dword [rsp + 0x50], 0xfcac12b
xor dword [rsp + 0x50], 0x2f549d5d
mov byte [rsp + 0x54], 0x48
sub byte [rsp + 0x54], 0x2b
xor byte [rsp + 0x54], 3
add byte [rsp + 0x54], 0x28
xor byte [rsp + 0x54], 0xfe
mov qword [rsp + 0x58], 0x5e647514
sub qword [rsp + 0x58], 0x19472326
sub qword [rsp + 0x58], 0x16637964
sub qword [rsp + 0x58], 0x6c36c13
sub qword [rsp + 0x58], 0x27f65b88
mov ecx, r13d
mov eax, 0x2a04cbac
xor eax, 0x6c84a113
sub eax, 0x3b1580fe
add eax, 0x48c926f2
sub eax, 0x1100e0ae
rol eax, cl
xor al, byte [rsp + r13 + 0x48]
xchg r15, r15
mov byte [rbp + r13 - 0x78], al
inc r13
cmp r13, 0xd
xchg rsi, rsi
jb 0x1404dc59c
xchg rcx, rbx
mov rbx, qword [rbp - 0x60]
xchg rcx, rbx
lea r8, [rbp - 0x78]
mov r8, r8
mov r9d, 0x43a60938
xor r9d, 0x7d60d3b5
sub r9d, 0x2daad35a
add r9d, 0x373d81a
sub r9d, 0x148fce5e
mov qword [rsp + 0x20], 0x570dec72
add qword [rsp + 0x20], 0x25562a46
xor qword [rsp + 0x20], 0x168c0001
sub qword [rsp + 0x20], 0x6ae816ac
call fcn.1400b1f80
xchg r11, rax
mov rdx, r11
xchg r11, rax
lea rdi, [rbp - 0x78]
xor eax, eax
mov r15, r15
mov ecx, 0x12b1befe
sub ecx, 0xdf9fe68
add ecx, 0x6523a304
sub ecx, 0x655dfe03
xor ecx, 0x47d659a
rep stosb byte [rdi], al
test rdx, rdx
je 0x1404dc6e0
mov dword [rsp - 0x28], 0x4e313216
lea rdi, [rdx + 5]
xchg r10, rcx
mov r10, rdi
xchg rcx, r10
lea rdx, [rbp - 0x50]
call fcn.1400b05f0
test dword [rbp - 0x2f], 0x1000
mov dword [rsp - 0x10], edx
jne 0x1404dc6e0
xchg rdi, rdx
mov rdi, rdx
xchg rdx, rdi
xchg rcx, rbx
mov rbx, rcx
xchg rcx, rbx
call fcn.14009d9a0
movzx edx, byte [rbp - 0x50]
add edx, dword [rbp - 0x33]
mov dword [rsp - 0x38], 0x2c26f977
add edx, eax
mov rax, qword [rsi + 8]
xor rax, r14
add rdx, rax
mov dword [rsp - 0x30], 0xe93e30e
xor rdx, r14
mov qword [rsi + 0x28], rdx
jmp 0x1404db5e8
mov edi, 0x508b79db
xor edi, 0x359a3ae9
sub edi, 0x7412e5c
xor edi, 0x9dd014ac
jmp 0x1404db5f6
lea rcx, [rbp]
call fcn.1400a9a80
mov edi, eax
mov dword [rsp - 0x38], 0x11f38f53
lea rcx, [rbp]
call fcn.1400a8d30
mov eax, edi
mov dword [rsp - 0x3c], 0x3acdc47a
add rsp, 0x53bffaee
sub rsp, 0x53bff95e
nop
mov rdi, qword [rsp]
add rsp, 8
nop
mov rsi, qword [rsp]
add rsp, 8
nop
add rsp, 8
mov rbp, qword [rsp - 8]
ret