Function at 0x1404d26d0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rcx
nop
mov qword [rsp - 8], rbp
sub rsp, 8
nop
push r8
mov qword [rsp], rsi
nop
sub rsp, 8
mov qword [rsp], rdi
nop
mov qword [rsp - 8], r13
sub rsp, 8
nop
sub rsp, 8
mov qword [rsp], r15
lea rbp, [rsp - 0x80]
mov rdi, rdi
sub rsp, 0x180
xchg rcx, r12
mov rsi, r12
xchg rcx, r12
xchg r8, rdi
mov r8, rdx
xchg r8, rdi
lea rcx, [rbp]
mov dword [rsp - 0x44], 0x31bfe26c
call fcn.1400a3dc0
mov byte [rsp + 0x38], 0x5e
add byte [rsp + 0x38], 0x1a
sub byte [rsp + 0x38], 0x72
sub byte [rsp + 0x38], 5
lea rcx, [rbp]
mov r15d, 0x72ac1a4d
xor r15d, 0x33b6faa6
sub r15d, 0x257cc070
sub r15d, 0x1b9e207a
mov dword [rsp + 0x30], 0x235dc3e5
add dword [rsp + 0x30], 0x476d895e
sub dword [rsp + 0x30], 0x2ba3063e
sub dword [rsp + 0x30], 0x2db0490
sub dword [rsp + 0x30], 0x3c4d4215
mov dword [rsp + 0x28], r15d
mov r8d, 0x216efe2c
add r8d, 0x39c40291
sub r8d, 0x101e9f1f
xor r8d, 0x4b066117
xchg r11, rdi
mov rdx, r11
xchg rdi, r11
mov dword [rsp + 0x20], 0x4186cdaa
add dword [rsp + 0x20], 0x1dfdd45c
add dword [rsp + 0x20], 0xe60d7b
sub dword [rsp + 0x20], 0x606aaf7e
lea r9d, [r15 + 0x7f]
mov dword [rsp - 0x20], 0x1008b0ea
call fcn.1400a4cf0
lea rcx, [rbp]
test al, al
mov dword [rsp - 0x3c], esi
je 0x1404d38f1
lea r8, [rbp - 0x74]
lea rdx, [rbp - 0x80]
call fcn.1400a5640
mov dword [rsp - 0x28], esi
test al, al
je 0x1404d38ed
xchg rcx, r12
mov r12, qword [rbp - 0x80]
xchg r12, rcx
lea r8, [rbp - 0x70]
lea rdx, [rsp + 0x50]
call fcn.14009db30
mov rsp, rsp
test al, al
jne 0x1404d2867
xchg rcx, r14
mov r14, qword [rbp - 0x80]
xchg r14, rcx
call fcn.1400bb710
mov r12, r12
mov r13d, 0x35e5ee34
add r13d, 0x2e418e7c
sub r13d, 0x2b629ff1
xor r13d, 0xf8c4dc35
jmp 0x1404d38fc
mov qword [rsp + 0x1b8], rbx
mov r15, r15
movabs rdx, 0x2c9e3f0c745251de
xor rdx, 0x51ee0661
sub rdx, 0x977679c
add rdx, 0x5393a63a
xor rdx, 0x1c01f878
mov r13d, 0x1ae03d6a
add r13d, 0x5ada703
xor r13d, 0x6c861842
add r13d, 0x73f4044b
mov rbx, qword [rbp - 0x80]
xchg rcx, rcx
mov qword [rsp + 0x40], rbx
mov dword [rbp + 0xc0], r13d
cmp qword [rsi + 8], rdx
xchg r11, r11
jne 0x1404d28ec
movsxd rax, dword [rbx + 0x3c]
mov rcx, qword [rax + rbx + 0x30]
xor rcx, rdx
mov rbx, rbx
xchg r12, rcx
mov qword [rsi + 8], r12
xchg rcx, r12
cmp dword [rsp + 0x50], 0xa0000
mov r15, r15
mov qword [rsp + 0x178], r12
mov qword [rsp + 0x170], r14
jne 0x1404d30ec
mov eax, dword [rbp - 0x70]
mov r10, r10
mov ecx, 0x10ee733e
add ecx, 0x613ae50c
sub ecx, 0xcaa0d58
xor ecx, 0xedd85c1
sub ecx, 0x6ba27943
shr eax, 0xd
shr eax, 2
shr eax, 1
cmp ax, cx
jbe 0x1404d30ec
mov edx, dword [rbp - 0x74]
mov dword [rsp - 0x14], 0x2706777
xor eax, eax
xor r12d, r12d
mov dword [rsp + 0x58], 0x3f7596f6
add dword [rsp + 0x58], 0x3d11dbf6
sub dword [rsp + 0x58], 0x60f31880
add dword [rsp + 0x58], 0x5fec266e
sub dword [rsp + 0x58], 0x458f510f
mov edi, r12d
mov dword [rsp - 0x28], esi
mov dword [rsp + 0x5c], 0x4161605b
xor dword [rsp + 0x5c], 0x74e8257
sub dword [rsp + 0x5c], 0x16265ecf
sub dword [rsp + 0x5c], 0x2cd1826a
mov dword [rsp + 0x60], 0x654bb0b5
add dword [rsp + 0x60], 0x7bb4160
xor dword [rsp + 0x60], 0x16791e20
sub dword [rsp + 0x60], 0x2b207bc8
add dword [rsp + 0x60], 0x7fbc9e0a
mov dword [rsp + 0x64], eax
mov dword [rsp - 0x20], 0x2ef6b21b
mov qword [rsp + 0x68], 0x31fdefd2
add qword [rsp + 0x68], 0x2014ceea
xor qword [rsp + 0x68], 0x3fec4310
sub qword [rsp + 0x68], 0x4946707c
xor qword [rsp + 0x68], 0x24b882cf
nop dword [rax + rax]
mov dword [rsp - 0x40], 0x4a37c391
mov ecx, edi
mov eax, 0x3b8d6932
xor eax, 0x3f38139c
add eax, 0x2881f78
add eax, 0x2243ce82
xor eax, 0x2e9d7926
rol eax, cl
xchg rcx, rcx
xor al, byte [rsp + rdi + 0x58]
mov byte [rbp + rdi - 0x68], al
inc rdi
mov dword [rsp - 0x28], edi
cmp rdi, 0xc
jb 0x1404d2a11
mov r9d, 0x1152d43b
add r9d, 0x5aae14d8
xor r9d, 0xd53f9bf
add r9d, 0x1cca7a9d
xor r9d, 0x7e1d84b6
mov qword [rsp + 0x20], 0x68938bb3
sub qword [rsp + 0x20], 0x585e90b
xor qword [rsp + 0x20], 0x74d31104
sub qword [rsp + 0x20], 0x17deb3a0
lea r8, [rbp - 0x68]
mov dword [rsp - 0x24], esi
xchg rcx, r10
mov r10, rbx
xchg rcx, r10
call fcn.1400ac250
mov dword [rsp - 0x44], ebx
xchg rdx, rax
mov r13, rdx
xchg rdx, rax
lea rdi, [rbp - 0x68]
xor eax, eax
mov ecx, 0x33dfeecb
sub ecx, 0x650ae03
xor ecx, 0xdff9456
sub ecx, 0x2070d492
rep stosb byte [rdi], al
mov dword [rsp - 0x30], 0x2a4632a9
test r13, r13
je 0x1404d2df7
mov r15d, 0x7e29e39e
xor r15d, 0x5e82f809
sub r15d, 0x19f238d7
xor r15d, 0x6b8e2cb
mov r14d, r12d
nop word [rax + rax]
mov dword [rsp - 0x24], 0x74764217
mov edi, r15d
lea rdx, [rsp + 0x58]
add rdi, r13
xchg rdi, rcx
mov rdi, rcx
xchg rdi, rcx
call fcn.1400ab440
mov dword [rsp - 0x24], 0x3ae8b8bf
test dword [rsp + 0x79], 0x1000
jne 0x1404d2df7
movzx eax, byte [rsp + 0x63]
cmp al, 0xe8
xchg rbp, rbp
jne 0x1404d2c60
movabs rax, 0x2c9e3f0c2f8ab0e0
add rax, 0x4c400c6c
sub rax, 0x136dd2f4
sub rax, 0x6461520d
add rax, 0x6fddd5da
cmp qword [rsi + 0x10], rax
jne 0x1404d2be8
xchg rdx, rsi
mov rsi, rdi
xchg rsi, rdx
xchg rcx, rbx
mov rbx, rcx
xchg rcx, rbx
call fcn.1400991e0
mov dword [rsp - 0x1c], edi
movzx edx, byte [rsp + 0x58]
movabs rcx, 0x2c9e3f0c4ff9d80c
add rcx, 0x2a6b4029
xor rcx, 0x4d62d59b
xor rcx, 0x44dea38b
add edx, dword [rsp + 0x6d]
xchg rcx, rcx
add edx, eax
xchg r11, rax
mov r11, qword [rsi + 8]
xchg r11, rax
xor rax, rcx
mov dword [rsp - 0x2c], 0x1705b86d
add rdx, rax
xor rdx, rcx
mov qword [rsi + 0x10], rdx
xchg rcx, rcx
jmp 0x1404d2dd7
cmp r14d, 1
xchg rbp, rbp
jne 0x1404d2dd7
xchg rdi, rdx
mov rdi, rdx
xchg rdx, rdi
xchg rcx, rbx
mov rbx, rcx
xchg rcx, rbx
call fcn.1400991e0
movzx edx, byte [rsp + 0x58]
movabs rdi, 0x2c9e3f0c59086c8f
xor rdi, 0x31a631a2
sub rdi, 0x32801d1a
add rdi, 0x7355c6
xor rdi, 0x4578fbfc
add edx, eax
xchg r11, rax
mov r11, qword [rsi + 8]
xchg r11, rax
add edx, dword [rsp + 0x6d]
xor rax, rdi
xchg rbp, rbp
add rdx, rax
xor rdx, rdi
xchg rbp, rdx
mov qword [rsi + 0x20], rbp
xchg rbp, rdx
jmp 0x1404d2e16
cmp al, 0xf
mov dword [rsp - 0xc], edx
jne 0x1404d2d9e
cmp byte [rsp + 0x64], 0x88
jne 0x1404d2d9e
xchg r10, r10
xchg rdx, r14
mov r14, rdi
xchg r14, rdx
xchg rbx, rcx
mov rbx, rcx
xchg rcx, rbx
call fcn.1400991e0
movzx edx, byte [rsp + 0x58]
mov rcx, rbx
mov dword [rsp - 0x3c], ebp
add edx, eax
add edx, dword [rsp + 0x6d]
call fcn.140098e10
xchg rbp, rbp
xchg r13, rsi
mov r13, rax
xchg rsi, r13
mov edi, r12d
mov r12, r12
nop dword [rax + rax]
mov ebx, edi
lea rdx, [rbp - 0x30]
add rbx, rsi
mov dword [rsp - 0xc], 0x6e39af7b
mov rcx, rbx
call fcn.1400ab440
test dword [rbp - 0xf], 0x1000
mov dword [rsp - 0x1c], edi
jne 0x1404d2d05
cmp byte [rbp - 0x25], 0xe8
je 0x1404d2d1e
movzx eax, byte [rbp - 0x30]
xchg rsi, rsi
add edi, eax
cmp edi, 0x20
jb 0x1404d2cbf
mov rsi, qword [rbp + 0xb0]
mov dword [rsp - 0x40], 0x5f42a940
mov rbx, qword [rsp + 0x40]
jmp 0x1404d2dd7
mov rdx, rbx
xchg r11, rbx
mov r11, qword [rsp + 0x40]
xchg rbx, r11
xchg rcx, r11
mov r11, rbx
xchg r11, rcx
call fcn.1400991e0
mov dword [rsp - 0x20], ebx
movzx edx, byte [rbp - 0x30]
movabs rcx, 0x2c9e3f0c52ccbe78
sub rcx, 0x2716a9e
sub rcx, 0x3252885f
add rcx, 0x35d3915
add rcx, 0x52736995
add edx, dword [rbp - 0x1b]
xchg rcx, rsi
mov rcx, qword [rbp + 0xb0]
xchg rsi, rcx
add edx, eax
mov rax, qword [rsi + 8]
mov dword [rsp - 0x30], edi
xor rax, rcx
add rdx, rax
xor rdx, rcx
mov dword [rsp - 0x14], ebx
xchg rdx, r11
mov qword [rsi + 0x18], r11
xchg rdx, r11
jmp 0x1404d2dd7
cmp byte [rsp + 0x58], 6
mov rbp, rbp
jne 0x1404d2dd7
mov eax, dword [rdi]
xor eax, 0x58fa27f9
cmp eax, 0x58fe9fb8
xchg r9, r9
pushf
mov eax, 0x6198445f
add eax, 0x166bf40e
xor eax, 0x445b0ea9
xor eax, 0x3c5f36c5
popf
cmove r14d, eax
movzx eax, byte [rsp + 0x58]
xchg r14, r14
add r15d, eax
cmp r15d, 0x100
jb 0x1404d2b10
mov dword [rsp - 0xc], 0x3c02f8eb
movabs rdi, 0x2c9e3f0c6bf8198c
sub rdi, 0x4fdf2da3
xor rdi, 0x623bd79b
sub rdi, 0xa49ce4d
cmp qword [rsi + 0x10], rdi
je 0x1404d389d
mov dword [rsp - 0x10], 0xe387325
cmp qword [rsi + 0x18], rdi
je 0x1404d389d
cmp qword [rsi + 0x20], rdi
mov r15, r15
je 0x1404d389d
cmp dword [rsp + 0x50], 0x60001
mov r13d, r12d
mov edx, dword [rbp - 0x74]
mov dword [rsp - 0x3c], 0x28f32743
mov rbx, qword [rbp - 0x80]
jne 0x1404d307d
xor eax, eax
mov r9, r9
mov dword [rsp + 0x58], 0x6ce3f6cb
sub dword [rsp + 0x58], 0x991339c
sub dword [rsp + 0x58], 0x34417f2d
sub dword [rsp + 0x58], 0x1da99f92
add dword [rsp + 0x58], 0x5f11005f
mov dword [rsp + 0x64], eax
mov dword [rsp + 0x5c], 0x2821f8ce
add dword [rsp + 0x5c], 0x477ccd59
sub dword [rsp + 0x5c], 0x60f4070f
add dword [rsp + 0x5c], 0x7a1f01c8
mov dword [rsp + 0x60], 0x4e39cec9
xor dword [rsp + 0x60], 0x3c63872d
sub dword [rsp + 0x60], 0x444ca989
sub dword [rsp + 0x60], 0x16c0cc36
add dword [rsp + 0x60], 0xd94a72ad
mov qword [rsp + 0x68], 0x3fb9683d
add qword [rsp + 0x68], 0x1949ddce
sub qword [rsp + 0x68], 0x4b0a8e89
sub qword [rsp + 0x68], 0xdf8a783
nop
mov ecx, r12d
mov dword [rsp - 0x24], 0x12db466
mov eax, 0x27b41239
sub eax, 0x752eec2
xor eax, 0x6893d71c
sub eax, 0x41d6e2dd
rol eax, cl
mov dword [rsp - 0xc], ebp
xor al, byte [rsp + r12 + 0x58]
mov byte [rbp + r12 - 0x68], al
inc r12
mov rdx, rdx
cmp r12, 0xc
jb 0x1404d2efe
mov r9d, 0x2f3e42db
add r9d, 0x1497dde3
xor r9d, 0x1b8c127a
sub r9d, 0x137cf5a6
xor r9d, 0x44dd32e1
mov qword [rsp + 0x20], 0x69855c9a
add qword [rsp + 0x20], 0x1411cb87
sub qword [rsp + 0x20], 0x1f937100
xor qword [rsp + 0x20], 0x5e03b72d
lea r8, [rbp - 0x68]
mov dword [rsp - 0xc], ebp
xchg rbx, rcx
mov rbx, rcx
xchg rbx, rcx
call fcn.1400ac250
mov r15, r15
xchg r15, rdx
mov r15, rax
xchg rdx, r15
lea rdi, [rbp - 0x68]
mov dword [rsp - 0xc], 0x3f7217f5
xor eax, eax
mov ecx, 0x66f6acde
sub ecx, 0x5865bf74
xor ecx, 0x19a17990
sub ecx, 0x173194ee
rep stosb byte [rdi], al
test rdx, rdx
mov r14, r14
je 0x1404d30c2
lea rdi, [rdx + 0xc]
mov rcx, rdi
lea rdx, [rbp - 0x58]
mov dword [rsp - 0x44], esi
call fcn.1400ab440
test dword [rbp - 0x37], 0x1000
jne 0x1404d30c2
cmp byte [rbp - 0x4d], 0xe8
mov dword [rsp - 0x38], 0x3244b465
jne 0x1404d30c2
mov rdx, rdi
mov rcx, rbx
mov rdi, rdi
call fcn.1400991e0
movzx edx, byte [rbp - 0x58]
movabs rdi, 0x2c9e3f0c5040eae2
xor rdi, 0x4466e20f
xor rdi, 0x3d4a675d
add rdi, 0x2963877c
add rdi, 0x210976f9
add edx, dword [rbp - 0x43]
mov dword [rsp - 0x34], edx
xchg r8, rbx
mov r8, qword [rbp - 0x80]
xchg r8, rbx
add edx, eax
mov dword [rsp - 0x3c], esi
xchg rsp, rax
mov rsp, qword [rsi + 8]
xchg rsp, rax
xor rax, rdi
mov dword [rsp - 0x10], 0x14616190
add rdx, rax
xor rdx, rdi
xchg rsp, rdx
mov qword [rsi + 0x20], rsp
xchg rdx, rsp
cmp qword [rsi + 0x20], rdi
je 0x1404d30cc
mov r9d, dword [rbp - 0x70]
mov rcx, rcx
xchg r8, rbx
mov rdx, r8
xchg r8, rbx
mov r8d, dword [rsp + 0x50]
mov dword [rsp - 0x40], 0x6fb89a03
xchg rsi, rcx
mov rsi, rcx
xchg rcx, rsi
call 0x1404d3e50
mov dword [rsp - 0x38], 0x606e75b8
test al, al
jne 0x1404d38a4
xchg rdi, rbx
mov rdi, qword [rbp - 0x80]
xchg rbx, rdi
mov r13d, 0x3a35b8fd
xor r13d, 0x44ddb33e
xor r13d, 0x6a13d857
xor r13d, 0xd4fbd3ee
jmp 0x1404d38ae
mov edx, 0x3e9ed0ef
xor edx, 0x7f9de25f
sub edx, 0x399e7d94
add edx, 0xd795af82
xchg rdx, rbx
mov rcx, rdx
xchg rbx, rdx
call fcn.140098ee0
mov dword [rsp - 0x3c], 0x5f7397b5
mov r14, rax
test rax, rax
je 0x1404d38a4
mov dword [rsp - 0x2c], edx
xor r12d, r12d
mov edi, r12d
mov esi, r12d
mov ebx, edi
mov dword [rsp - 0x30], 0x79c5f3fe
lea rdx, [rbp + 0x18]
add rbx, r14
mov rcx, rbx
mov rbx, rbx
call fcn.1400ab440
mov ecx, dword [rbp + 0x39]
bt ecx, 0xc
xchg r10, r10
jb 0x1404d38a4
movzx eax, byte [rbp + 0x23]
cmp al, 0x73
xchg r14, r14
jne 0x1404d3175
mov esi, r15d
jmp 0x1404d318a
cmp al, 0xe8
jne 0x1404d318a
cmp esi, r15d
mov dword [rsp - 0x18], esi
je 0x1404d31a5
movzx eax, byte [rbp + 0x18]
add edi, eax
mov dword [rsp - 0x34], esp
cmp edi, 0x100
jb 0x1404d3132
jmp 0x1404d38a4
test cl, 0x10
xchg rsp, rsp
je 0x1404d38a4
xchg rsi, rbx
mov rdx, rsi
xchg rsi, rbx
xchg rbx, r8
mov r8, qword [rsp + 0x40]
xchg rbx, r8
mov rcx, rbx
mov dword [rsp - 0x18], 0x74e5651b
call fcn.1400991e0
movzx edx, byte [rbp + 0x18]
mov rcx, rbx
mov r8, r8
add edx, dword [rbp + 0x2d]
add edx, eax
call fcn.140098e10
mov dword [rsp - 0x38], 0x2459b68e
mov qword [rbp - 0x68], rax
test rax, rax
je 0x1404d38a4
mov rsi, qword [rbp + 0xb0]
mov dword [rsp - 0x30], 0x41a2ce91
mov ecx, r12d
mov qword [rbp - 8], r12
xchg rbx, r14
mov rbx, r12
xchg rbx, r14
mov qword [rsp + 0x48], r12
mov dword [rsp - 0x2c], 0x8eff55a
mov r15d, r12d
mov dword [rbp - 0x78], ecx
lea r13, [rsi + 0x10]
mov dword [rsp - 0x14], 0x1785d484
mov dword [rbp + 0xc8], r12d
mov qword [rsp + 0x58], rsi
xchg rbx, r11
mov qword [rsp + 0x60], r11
xchg rbx, r11
mov edi, ecx
lea rdx, [rbp - 0x30]
mov dword [rsp - 0x20], ebp
add rdi, rax
mov rcx, rdi
call fcn.1400ab440
mov dword [rsp - 0xc], esp
mov eax, dword [rbp - 0xf]
bt eax, 0xc
jb 0x1404d389d
movzx ecx, byte [rbp - 0x25]
mov dword [rsp - 0x1c], esp
cmp cl, 0xe8
jne 0x1404d3787
test al, 0x10
mov dword [rsp - 0x14], 0x49a6a89e
je 0x1404d36f0
mov rdx, rdi
xchg rbx, rcx
mov rbx, rcx
xchg rcx, rbx
xchg r14, rdx
mov r15, rdx
xchg r14, rdx
call fcn.1400991e0
movzx edx, byte [rbp - 0x30]
mov rcx, rbx
xchg r8, r8
add edx, dword [rbp - 0x1b]
mov rdi, qword [rsi + 8]
add edx, eax
mov dword [rsp - 0x18], 0x4754c654
movabs rax, 0x2c9e3f0c69bc9465
xor rax, 0x3f92c746
sub rax, 0x4423042a
sub rax, 0x341f568
add rax, 0x65101494
xor rdi, rax
mov eax, edx
add rdi, rax
mov dword [rsp - 0x1c], ebx
xchg rdi, rbx
mov qword [rbp - 8], rbx
xchg rdi, rbx
call fcn.140098e10
mov r9, r9
xchg r14, rax
mov rax, r14
xchg r14, rax
cmp dword [rbp + 0xc8], r12d
xchg r13, r13
je 0x1404d3366
mov rcx, rdi
mov dword [rbp + 0xc8], r12d
xchg rcx, r9
mov qword [rsp + 0x48], r9
xchg rcx, r9
movabs rdi, 0x2c9e3f0c28a747e4
add rdi, 0x223b8630
sub rdi, 0xfb56e87
add rdi, 0x3a189c6a
sub rdi, 0x16c8dd2
jmp 0x1404d35b1
movabs rdi, 0x2c9e3f0c030324d4
add rdi, 0x195c151a
xor rdi, 0x33dd9c7d
xor rdi, 0x5c5bcbb6
cmp qword [r13], rdi
je 0x1404d35a6
mov dword [rsp - 0x34], 0x21251122
cmp qword [rsi + 0x20], rdi
jne 0x1404d35a6
mov edi, r12d
mov dword [rsp - 0x40], ecx
nop dword [rax + rax]
mov ebx, edi
lea rdx, [rbp + 0x40]
xchg rsi, rsi
add rbx, r14
xchg rcx, r13
mov r13, rbx
xchg rcx, r13
call fcn.1400ab440
mov eax, dword [rbp + 0x61]
bt eax, 0xc
xchg rbx, rbx
jb 0x1404d357b
cmp byte [rbp + 0x4b], 0xe8
jne 0x1404d33ef
test al, 0x10
mov r10, r10
jne 0x1404d3407
movzx eax, byte [rbp + 0x40]
add edi, eax
mov dword [rsp - 0x1c], ecx
cmp edi, 0x40
jb 0x1404d33b0
jmp 0x1404d357b
mov rcx, qword [rsp + 0x40]
mov rdi, rdi
xchg rdx, r10
mov r10, rbx
xchg rdx, r10
call fcn.1400991e0
mov dword [rsp - 0x24], ebp
movzx edx, byte [rbp + 0x40]
add edx, dword [rbp + 0x55]
mov rbx, qword [rsi + 8]
mov r15, r15
add edx, eax
mov rcx, qword [rsp + 0x40]
movabs rax, 0x2c9e3f0c01a0668e
xor rax, 0x3f9d5a3f
add rax, 0xc4da881
xor rax, 0x6ed3488b
xor rax, 0x5780c39c
xor rbx, rax
mov eax, edx
mov r11, r11
add rbx, rax
call fcn.140098e10
xchg r8, r11
mov r11, rax
xchg r11, r8
lea rcx, [rsp + 0x58]
xchg rbx, rcx
mov rdx, rcx
xchg rcx, rbx
call fcn.1404d2480
xchg rcx, r11
mov r11, qword [r13]
xchg r11, rcx
movabs rdx, 0x2c9e3f0c27765b02
add rdx, 0x35e3d133
xor rdx, 0x3fb52f67
add rdx, 0x10ea6ad3
xor rcx, rdx
xchg rsi, rsi
cmp rax, rcx
jne 0x1404d3686
mov esi, r12d
cmp edi, 0x100
mov rdx, rdx
jae 0x1404d3679
nop word [rax + rax]
mov ebx, edi
lea rdx, [rbp - 0x58]
mov dword [rsp - 0x30], edx
add rbx, r14
xchg rbx, rcx
mov rbx, rcx
xchg rbx, rcx
call fcn.1400ab440
test dword [rbp - 0x37], 0x1000
xchg r12, r12
jne 0x1404d3570
movzx ecx, byte [rbp - 0x58]
cmp cl, 5
mov rbp, rbp
jne 0x1404d3549
mov eax, dword [rbx]
xor eax, 0x58fa27f9
mov rcx, rcx
cmp eax, 0x589a2743
jne 0x1404d3549
mov esi, 0x1c7605a7
add esi, 0x403d0c8b
sub esi, 0x49a3ee50
add esi, 0x2b8dc6ac
sub esi, 0x3e9cea8d
jmp 0x1404d3562
cmp esi, 1
mov rdx, rdx
jne 0x1404d3562
cmp byte [rbp - 0x4d], 0xe8
je 0x1404d3604
mov rdi, rdi
add edi, ecx
cmp edi, 0x100
jb 0x1404d34d7
mov rsi, qword [rbp + 0xb0]
mov dword [rsp - 0x24], esi
movabs rdi, 0x2c9e3f0c180b49ca
add rdi, 0x40d333fd
sub rdi, 0x2dbac249
xor rdi, 0x690b203a
xor rdi, 0x31f1f561
mov rbx, qword [rsp + 0x40]
xchg rcx, r11
mov r11, qword [rsp + 0x48]
xchg r11, rcx
movzx eax, word [r14]
mov dword [rsp - 0x1c], edi
xor eax, 0x58fa27f9
cmp eax, 0x58fa1cb1
jne 0x1404d370f
xchg r13, r13
mov eax, dword [r14 + 9]
xor eax, 0x58fa27f9
cmp eax, 0x483be6b1
jne 0x1404d370f
mov rdi, rdi
cmp dword [rsp + 0x50], 0x60001
jne 0x1404d3694
xchg rsp, rax
mov rsp, rcx
xchg rsp, rax
xor rax, rdi
mov qword [rsi + 0x18], rax
jmp 0x1404d3853
xchg rbp, rdx
mov rbp, rbx
xchg rbp, rdx
xchg rbx, r15
mov r15, qword [rsp + 0x40]
xchg r15, rbx
mov rcx, rbx
call fcn.1400991e0
mov dword [rsp - 0x40], 0x2bcfb3cd
movzx edx, byte [rbp - 0x58]
movabs rdi, 0x2c9e3f0c02739d3c
add rdi, 0x6e974419
sub rdi, 0x1a4f0f1c
add rdi, 0x1d1d9bec
add edx, dword [rbp - 0x43]
mov rsi, qword [rbp + 0xb0]
mov dword [rsp - 0x38], ebx
add edx, eax
xchg rbx, rax
mov rbx, qword [rsi + 8]
xchg rbx, rax
xor rax, rdi
add rdx, rax
mov dword [rsp - 0x44], edi
xor rdx, rdi
mov qword [rsi + 0x20], rdx
jmp 0x1404d35a6
xchg rsp, rsi
mov rsp, qword [rbp + 0xb0]
xchg rsp, rsi
xchg rdi, r12
mov r12, rdx
xchg r12, rdi
jmp 0x1404d35a1
mov edi, r12d
nop dword [rax + rax]
mov ebx, edi
mov dword [rsp - 0x14], ebp
lea rdx, [rbp - 0x58]
add rbx, r15
mov rcx, rbx
xchg rbp, rbp
call fcn.1400ab440
mov eax, dword [rbp - 0x37]
bt eax, 0xc
mov dword [rsp - 0x28], esp
jb 0x1404d36f0
cmp byte [rbp - 0x4d], 0xe8
jne 0x1404d36da
mov rbp, rbp
test al, 0x10
jne 0x1404d371f
movzx eax, byte [rbp - 0x58]
mov dword [rsp - 0x28], ebx
add edi, eax
cmp edi, 0x40
jb 0x1404d369c
xchg rsi, rsi
movabs rdi, 0x2c9e3f0c17ad9de2
xor rdi, 0x744a8028
sub rdi, 0x4ef51317
add rdi, 0x5ee76372
xchg rcx, rbx
mov rcx, qword [rsp + 0x40]
xchg rcx, rbx
jmp 0x1404d3853
xchg rbx, rdx
mov rbx, rdx
xchg rdx, rbx
mov rbx, qword [rsp + 0x40]
xchg rcx, r12
mov r12, rbx
xchg rcx, r12
call fcn.1400991e0
xchg rcx, rcx
movzx edx, byte [rbp - 0x58]
movabs rdi, 0x2c9e3f0c44493783
add rdi, 0x18dbf1a
add rdi, 0x21def53
add rdi, 0x2be48835
add edx, dword [rbp - 0x43]
add edx, eax
xchg rcx, rcx
mov rax, qword [rsi + 8]
xor rax, rdi
add rdx, rax
xor rdx, rdi
mov dword [rsp - 0x10], 0x373c2826
mov qword [rsi + 0x18], rdx
jmp 0x1404d3853
movabs rdi, 0x2c9e3f0c75d64e3c
sub rdi, 0x34c95f26
sub rdi, 0x18212ff0
sub rdi, 0x9955054
add rdi, 0x5482ff53
cmp cl, 0xbb
xchg rbx, rbx
jne 0x1404d380d
test al, 0x10
je 0x1404d370f
cmp dword [rbp - 0x1b], 0xc000009a
xchg rdx, rdx
jne 0x1404d370f
cmp qword [r13], rdi
jne 0x1404d370f
mov rdx, rdx
mov rdx, qword [rbp - 8]
lea rcx, [rsp + 0x58]
xchg rbp, r14
mov r8, rbp
xchg rbp, r14
call fcn.1404d2480
mov dword [rsp - 0xc], 0x3784f6d7
xor rax, rdi
xchg r14, rax
mov qword [r13], r14
xchg r14, rax
jmp 0x1404d3853
cmp cl, 0x8b
mov dword [rsp - 0xc], 0xefac824
jne 0x1404d3853
cmp byte [rbp - 0x30], 4
jne 0x1404d3853
xchg rdi, rdi
test al, 1
pushf
mov eax, 0x4a6189d
add eax, 0x20b906b9
add eax, 0x359d9c71
xor eax, 0x5afcbbc6
popf
cmovne r15d, eax
mov r12, r12
mov dword [rbp + 0xc8], r15d
cmp qword [r13], rdi
je 0x1404d386a
cmp qword [rsi + 0x18], rdi
xchg rdx, rdx
jne 0x1404d2e3f
mov ecx, dword [rbp - 0x78]
movzx eax, byte [rbp - 0x30]
mov dword [rsp - 0x40], esi
add ecx, eax
mov dword [rbp - 0x78], ecx
cmp ecx, 0x2000
jae 0x1404d389d
mov rdx, rdx
mov r15d, dword [rbp + 0xc8]
xchg rdi, rax
mov rdi, qword [rbp - 0x68]
xchg rdi, rax
jmp 0x1404d3253
mov r13d, dword [rbp + 0xc0]
xchg r10, rbx
mov r10, qword [rbp - 0x80]
xchg rbx, r10
xchg r12, rcx
mov r12, rbx
xchg r12, rcx
call fcn.1400bb710
mov dword [rsp - 0x10], 0x4ae95dad
xchg r14, rbx
mov rbx, qword [rsp + 0x170]
xchg r14, rbx
mov r12, qword [rsp + 0x178]
xchg r13, rbx
mov r13, qword [rsp + 0x1b8]
xchg r13, rbx
jmp 0x1404d38fc
lea rcx, [rbp]
call fcn.1400a4c10
xchg rcx, rcx
mov r13d, eax
lea rcx, [rbp]
call fcn.1400a3de0
xchg rdx, rdx
mov eax, r13d
add rsp, 0x180
pop r15
nop
mov r13, qword [rsp]
add rsp, 8
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