Function at 0x14009ae20
Capabilities:
Resolve function by parsing pe exports

Disassembly:
sub rsp, 0x28
cmp edx, 0xf
je 0x14009ae97
cmp edx, 0x14
je 0x14009ae82
cmp edx, 0x1a
je 0x14009ae82
cmp edx, 0x1d
je 0x14009ae6d
cmp edx, 0x32
jne 0x14009aea8
cmp dword [rcx + 0x30], 1
jbe 0x14009ae61
cmp byte [rcx + 0x4dd1], 0
jne 0x14009ae61
cmp byte [rcx + 0x4db0], 0
jne 0x14009ae61
mov dl, r8b
add rsp, 0x28
jmp 0x1400a1eec
mov dl, r8b
add rsp, 0x28
jmp 0x1400a1174
cmp byte [rcx + 0x4db0], 0
jne 0x14009aea8
mov dl, r8b
add rsp, 0x28
jmp 0x14009ff34
cmp byte [rcx + 0x4db0], 0
jne 0x14009aea8
mov dl, r8b
add rsp, 0x28
jmp 0x14009f6cc
cmp byte [rcx + 0x4db0], 0
jne 0x14009aea8
mov dl, r8b
call fcn.14009f52c
add rsp, 0x28
ret
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rdi
mov qword [rax + 0x18], r12
mov qword [rax + 0x20], r14
push r15
sub rsp, 0x20
cmp byte [rcx + 0x4dc0], 0
mov dil, dl
mov rbx, rcx
je 0x14009f704
mov rax, qword [rcx + 0xe0]
mov qword [rcx + 0xd8], rax
jmp 0x14009f741
mov dl, dil
call fcn.14009ea88
mov rcx, rbx
call fcn.14009ec28
test al, al
je 0x14009ff19
test dil, dil
je 0x14009f72a
cmp byte [rbx + 0xe8ac], 0
jne 0x14009f73a
mov rcx, rbx
call fcn.14009d03c
test al, al
je 0x14009ff19
dec qword [rbx + 0x4db8]
cmp qword [rbx + 0x4db8], 0
jl 0x14009ff09
mov r12d, 0x10
lea r15, [0x140000000]
lea r14d, [r12 - 1]
mov rax, qword [rbx + 0xe978]
and qword [rbx + 0xd8], rax
mov eax, dword [rbx + 0xe8]
sub eax, 0x1e
cmp dword [rbx + 8], eax
jle 0x14009f78d
mov rcx, rbx
call fcn.14009ec28
test al, al
je 0x14009ff09
mov rcx, qword [rbx + 0xe0]
mov rdx, qword [rbx + 0xd8]
mov rax, rcx
sub rax, rdx
and rax, qword [rbx + 0xe978]
cmp rax, 0x10e
jae 0x14009f7ca
cmp rcx, rdx
je 0x14009f7ca
mov rcx, rbx
call fcn.14009edf0
cmp byte [rbx + 0x4dc0], 0
jne 0x14009ff19
cmp byte [rbx + 0x98c0], 0
mov rdx, qword [rbx + 0x18]
je 0x14009f940
movsxd r11, dword [rbx + 8]
lea r9, [rbx + 0x590c]
mov eax, dword [rbx + 0x98c8]
mov edi, dword [rbx + 0xc]
imul rcx, rax, 0xeec
movzx r8d, byte [r11 + rdx]
lea eax, [r11 + 1]
add r9, rcx
shl r8d, 8
movsxd rcx, eax
movzx eax, byte [rcx + rdx]
or r8d, eax
lea eax, [r11 + 2]
shl r8d, 8
movsxd rcx, eax
movzx eax, byte [rcx + rdx]
mov ecx, 8
sub ecx, edi
or r8d, eax
shr r8d, cl
mov ecx, dword [r9 + 0x84]
and r8d, 0xfffe
cmp r8d, dword [r9 + rcx*4 + 4]
jae 0x14009f875
mov eax, r12d
mov edx, r8d
sub eax, ecx
mov cl, al
shr rdx, cl
movzx ecx, byte [rdx + r9 + 0x88]
add ecx, edi
mov eax, ecx
shr eax, 3
add eax, r11d
and ecx, 7
mov dword [rbx + 8], eax
mov dword [rbx + 0xc], ecx
movzx eax, word [r9 + rdx*2 + 0x488]
jmp 0x14009f8df
inc ecx
mov r10d, r14d
cmp ecx, r14d
jae 0x14009f89d
mov edx, ecx
inc rdx
lea rdx, [r9 + rdx*4]
cmp r8d, dword [rdx]
jb 0x14009f89a
inc ecx
add rdx, 4
cmp ecx, r14d
jb 0x14009f888
jmp 0x14009f89d
mov r10d, ecx
lea ecx, [rdi + r10]
mov eax, ecx
and ecx, 7
shr eax, 3
add eax, r11d
mov dword [rbx + 0xc], ecx
mov dword [rbx + 8], eax
mov ecx, r12d
sub ecx, r10d
lea eax, [r10 - 1]
sub r8d, dword [r9 + rax*4 + 4]
mov eax, r10d
shr r8d, cl
mov edx, dword [r9 + rax*4 + 0x44]
add edx, r8d
cmp edx, dword [r9]
sbb eax, eax
and eax, edx
movzx eax, word [r9 + rax*2 + 0xc88]
movzx edx, ax
mov rcx, rbx
cmp edx, 0x100
jne 0x14009f8ff
call fcn.14009d03c
test al, al
je 0x14009ff09
jmp 0x14009fefb
call fcn.14009a674
mov rcx, qword [rbx + 0xd8]
mov rdx, qword [rbx + 0x4ba8]
mov byte [rdx + rcx], al
inc dword [rbx + 0x98c8]
inc qword [rbx + 0xd8]
mov eax, dword [rbx + 0x98c8]
cmp eax, dword [rbx + 0x98c4]
jne 0x14009fa5c
and dword [rbx + 0x98c8], 0
jmp 0x14009fa5c
movsxd r10, dword [rbx + 8]
mov r11d, dword [rbx + 0xc]
movzx r8d, byte [r10 + rdx]
lea eax, [r10 + 1]
shl r8d, 8
movsxd rcx, eax
movzx eax, byte [rcx + rdx]
or r8d, eax
lea eax, [r10 + 2]
shl r8d, 8
movsxd rcx, eax
movzx eax, byte [rcx + rdx]
mov ecx, 8
sub ecx, r11d
or r8d, eax
shr r8d, cl
mov ecx, dword [rbx + 0x188]
and r8d, 0xfffe
cmp r8d, dword [rbx + rcx*4 + 0x108]
jae 0x14009f9c7
mov edx, r8d
mov eax, r12d
sub eax, ecx
mov cl, al
shr rdx, cl
movzx ecx, byte [rdx + rbx + 0x18c]
add ecx, r11d
mov eax, ecx
shr eax, 3
add eax, r10d
and ecx, 7
mov dword [rbx + 8], eax
mov dword [rbx + 0xc], ecx
movzx r8d, word [rbx + rdx*2 + 0x58c]
jmp 0x14009fa3a
inc ecx
mov r9d, r14d
cmp ecx, r14d
jae 0x14009f9f0
mov edx, ecx
add rdx, 0x42
lea rdx, [rbx + rdx*4]
cmp r8d, dword [rdx]
jb 0x14009f9ed
inc ecx
add rdx, 4
cmp ecx, r14d
jb 0x14009f9db
jmp 0x14009f9f0
mov r9d, ecx
lea ecx, [r11 + r9]
mov eax, ecx
and ecx, 7
shr eax, 3
add eax, r10d
mov dword [rbx + 0xc], ecx
mov dword [rbx + 8], eax
mov ecx, r12d
sub ecx, r9d
lea eax, [r9 - 1]
sub r8d, dword [rbx + rax*4 + 0x108]
shr r8d, cl
mov eax, r9d
mov edx, dword [rbx + rax*4 + 0x148]
add edx, r8d
cmp edx, dword [rbx + 0x104]
sbb eax, eax
and eax, edx
movzx r8d, word [rbx + rax*2 + 0xd8c]
cmp r8d, 0x100
jae 0x14009fa68
mov rax, qword [rbx + 0xd8]
mov rcx, qword [rbx + 0x4ba8]
mov byte [rcx + rax], r8b
inc qword [rbx + 0xd8]
dec qword [rbx + 0x4db8]
jmp 0x14009fefb
cmp r8d, 0x10d
jbe 0x14009fc8d
add r8d, 0xfffffef2
movzx r10d, byte [r8 + r15 + 0x15dd90]
movzx r11d, byte [r8 + r15 + 0x15ddb0]
add r10d, 3
test r11d, r11d
je 0x14009faf6
movsxd rdx, dword [rbx + 8]
mov r8, qword [rbx + 0x18]
lea eax, [rdx + 1]
movzx r9d, byte [rdx + r8]
movsxd rcx, eax
shl r9d, 8
movzx eax, byte [rcx + r8]
or r9d, eax
lea eax, [rdx + 2]
movsxd rcx, eax
shl r9d, 8
movzx eax, byte [rcx + r8]
mov ecx, 8
sub ecx, dword [rbx + 0xc]
or r9d, eax
shr r9d, cl
mov ecx, r12d
sub ecx, r11d
movzx edx, r9w
shr edx, cl
mov ecx, dword [rbx + 0xc]
add r10d, edx
add ecx, r11d
mov eax, ecx
shr eax, 3
add dword [rbx + 8], eax
and ecx, 7
mov dword [rbx + 0xc], ecx
movsxd r11, dword [rbx + 8]
mov rdx, qword [rbx + 0x18]
mov edi, dword [rbx + 0xc]
lea eax, [r11 + 1]
movzx r8d, byte [r11 + rdx]
shl r8d, 8
movsxd rcx, eax
movzx eax, byte [rcx + rdx]
or r8d, eax
lea eax, [r11 + 2]
shl r8d, 8
movsxd rcx, eax
movzx eax, byte [rcx + rdx]
mov ecx, 8
sub ecx, edi
or r8d, eax
shr r8d, cl
mov ecx, dword [rbx + 0x1074]
and r8d, 0xfffe
cmp r8d, dword [rbx + rcx*4 + 0xff4]
jae 0x14009fb7d
mov eax, r12d
mov edx, r8d
sub eax, ecx
mov cl, al
shr rdx, cl
movzx ecx, byte [rdx + rbx + 0x1078]
add ecx, edi
mov eax, ecx
shr eax, 3
add eax, r11d
and ecx, 7
mov dword [rbx + 8], eax
mov dword [rbx + 0xc], ecx
movzx eax, word [rbx + rdx*2 + 0x1478]
jmp 0x14009fbf2
inc ecx
mov r9d, r14d
cmp ecx, r14d
jae 0x14009fba9
mov edx, ecx
add rdx, 0x3fd
lea rdx, [rbx + rdx*4]
cmp r8d, dword [rdx]
jb 0x14009fba6
inc ecx
add rdx, 4
cmp ecx, r14d
jb 0x14009fb94
jmp 0x14009fba9
mov r9d, ecx
lea ecx, [rdi + r9]
mov eax, ecx
and ecx, 7
shr eax, 3
add eax, r11d
mov dword [rbx + 0xc], ecx
mov dword [rbx + 8], eax
mov ecx, r12d
sub ecx, r9d
lea eax, [r9 - 1]
sub r8d, dword [rbx + rax*4 + 0xff4]
mov eax, r9d
shr r8d, cl
mov edx, dword [rbx + rax*4 + 0x1034]
add edx, r8d
cmp edx, dword [rbx + 0xff0]
sbb eax, eax
and eax, edx
movzx eax, word [rbx + rax*2 + 0x1c78]
movzx eax, ax
mov r11d, dword [r15 + rax*4 + 0x15ddd0]
movzx edi, byte [rax + r15 + 0x15de90]
inc r11d
test edi, edi
je 0x14009fc6a
movsxd rdx, dword [rbx + 8]
mov r8, qword [rbx + 0x18]
lea eax, [rdx + 1]
movzx r9d, byte [rdx + r8]
movsxd rcx, eax
shl r9d, 8
movzx eax, byte [rcx + r8]
or r9d, eax
lea eax, [rdx + 2]
movsxd rcx, eax
shl r9d, 8
movzx eax, byte [rcx + r8]
mov ecx, 8
sub ecx, dword [rbx + 0xc]
or r9d, eax
shr r9d, cl
mov ecx, r12d
sub ecx, edi
movzx edx, r9w
shr edx, cl
mov ecx, dword [rbx + 0xc]
add r11d, edx
add ecx, edi
mov eax, ecx
shr eax, 3
add dword [rbx + 8], eax
and ecx, 7
mov dword [rbx + 0xc], ecx
cmp r11d, 0x2000
jb 0x14009fc82
inc r10d
cmp r11d, 0x40000
jb 0x14009fc82
inc r10d
mov r8d, r11d
mov edx, r10d
jmp 0x14009fef3
jne 0x14009fc97
mov rcx, rbx
jmp 0x14009f8ed
cmp r8d, 0x100
jne 0x14009fcb2
mov r8d, dword [rbx + 0xd0]
mov edx, dword [rbx + 0xcc]
jmp 0x14009fef3
cmp r8d, 0x105
jae 0x14009fe5e
movsxd r10, dword [rbx + 8]
mov rdx, qword [rbx + 0x18]
mov eax, dword [rbx + 0xc8]
mov edi, dword [rbx + 0xc]
sub eax, r8d
and eax, 3
movzx r8d, byte [r10 + rdx]
shl r8d, 8
mov r11d, dword [rbx + rax*4 + 0xb8]
lea eax, [r10 + 1]
movsxd rcx, eax
movzx eax, byte [rcx + rdx]
or r8d, eax
lea eax, [r10 + 2]
shl r8d, 8
movsxd rcx, eax
movzx eax, byte [rcx + rdx]
mov ecx, 8
sub ecx, edi
or r8d, eax
shr r8d, cl
mov ecx, dword [rbx + 0x2e4c]
and r8d, 0xfffe
cmp r8d, dword [rbx + rcx*4 + 0x2dcc]
jae 0x14009fd5a
mov eax, r12d
mov edx, r8d
sub eax, ecx
mov cl, al
shr rdx, cl
movzx ecx, byte [rbx + rdx + 0x2e50]
add ecx, edi
mov eax, ecx
shr eax, 3
add eax, r10d
and ecx, 7
mov dword [rbx + 8], eax
mov dword [rbx + 0xc], ecx
movzx eax, word [rbx + rdx*2 + 0x3250]
jmp 0x14009fdcf
inc ecx
mov r9d, r14d
cmp ecx, r14d
jae 0x14009fd86
mov edx, ecx
add rdx, 0xb73
lea rdx, [rbx + rdx*4]
cmp r8d, dword [rdx]
jb 0x14009fd83
inc ecx
add rdx, 4
cmp ecx, r14d
jb 0x14009fd71
jmp 0x14009fd86
mov r9d, ecx
lea ecx, [r9 + rdi]
mov eax, ecx
and ecx, 7
shr eax, 3
add eax, r10d
mov dword [rbx + 0xc], ecx
mov dword [rbx + 8], eax
mov ecx, r12d
sub ecx, r9d
lea eax, [r9 - 1]
sub r8d, dword [rbx + rax*4 + 0x2dcc]
mov eax, r9d
shr r8d, cl
mov edx, dword [rbx + rax*4 + 0x2e0c]
add edx, r8d
cmp edx, dword [rbx + 0x2dc8]
sbb eax, eax
and eax, edx
movzx eax, word [rbx + rax*2 + 0x3a50]
movzx eax, ax
movzx r10d, byte [rax + r15 + 0x15dd90]
movzx edi, byte [rax + r15 + 0x15ddb0]
add r10d, 2
test edi, edi
je 0x14009fe49
movsxd rdx, dword [rbx + 8]
mov r8, qword [rbx + 0x18]
lea eax, [rdx + 1]
movzx r9d, byte [rdx + r8]
movsxd rcx, eax
shl r9d, 8
movzx eax, byte [rcx + r8]
or r9d, eax
lea eax, [rdx + 2]
movsxd rcx, eax
shl r9d, 8
movzx eax, byte [rcx + r8]
mov ecx, 8
sub ecx, dword [rbx + 0xc]
or r9d, eax
shr r9d, cl
mov ecx, r12d
sub ecx, edi
movzx edx, r9w
shr edx, cl
mov ecx, dword [rbx + 0xc]
add r10d, edx
add ecx, edi
mov eax, ecx
shr eax, 3
add dword [rbx + 8], eax
and ecx, 7
mov dword [rbx + 0xc], ecx
cmp r11d, 0x101
jb 0x14009fc82
inc r10d
jmp 0x14009fc6a
cmp r8d, 0x10e
jae 0x14009fefb
add r8d, 0xfffffefb
movzx r10d, byte [r8 + r15 + 0x15dec0]
movzx r11d, byte [r8 + r15 + 0x15dec8]
inc r10d
test r11d, r11d
je 0x14009feeb
movsxd rdx, dword [rbx + 8]
mov r8, qword [rbx + 0x18]
lea eax, [rdx + 1]
movzx r9d, byte [rdx + r8]
movsxd rcx, eax
shl r9d, 8
movzx eax, byte [rcx + r8]
or r9d, eax
lea eax, [rdx + 2]
movsxd rcx, eax
shl r9d, 8
movzx eax, byte [rcx + r8]
mov ecx, 8
sub ecx, dword [rbx + 0xc]
or r9d, eax
shr r9d, cl
mov ecx, r12d
sub ecx, r11d
movzx edx, r9w
shr edx, cl
mov ecx, dword [rbx + 0xc]
add r10d, edx
add ecx, r11d
mov eax, ecx
shr eax, 3
add dword [rbx + 8], eax
and ecx, 7
mov dword [rbx + 0xc], ecx
mov r8d, r10d
mov edx, 2
mov rcx, rbx
call fcn.14009a230
cmp qword [rbx + 0x4db8], 0
jge 0x14009f761
mov rcx, rbx
call fcn.14009cddc
mov rcx, rbx
call fcn.14009edf0
mov rbx, qword [rsp + 0x30]
mov rdi, qword [rsp + 0x38]
mov r12, qword [rsp + 0x40]
mov r14, qword [rsp + 0x48]
add rsp, 0x20
pop r15
ret
mov qword [rsp + 0x18], rbx
mov byte [rsp + 0x10], dl
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x20
xor r12d, r12d
lea rsi, [0x140000000]
cmp dword [0x1401a8144], r12d
mov dil, dl
mov rbx, rcx
mov r13d, 1
jne 0x14009ffe2
mov r15d, r12d
lea r14, [0x14015df10]
mov esi, r12d
mov ebp, r12d
mov edi, r12d
cmp dword [r14], r12d
jle 0x14009ffc7
mov r12d, dword [r14]
lea rax, [0x140000000]
mov ecx, esi
mov r8d, r12d
shl r13d, cl
mov dl, sil
lea rcx, [rax + 0x1a8240]
add rcx, rdi
call fcn.1400fd6e0
lea rax, [0x140000000]
mov dword [rax + rdi*4 + 0x1a8140], r15d
inc rdi
add r15d, r13d
sub r12, 1
jne 0x14009ffae
lea r13d, [r12 + 1]
add ebp, r13d
add r14, 4
add esi, r13d
cmp ebp, 0x13
jb 0x14009ff7e
mov dil, byte [rsp + 0x68]
lea rsi, [0x140000000]
mov byte [rbx + 0x4dd0], r13b
cmp byte [rbx + 0x4dc0], r12b
jne 0x1400a002b
mov dl, dil
mov rcx, rbx
call fcn.14009ea88
mov rcx, rbx
call fcn.14009eb78
test al, al
je 0x1400a115e
test dil, dil
je 0x1400a001b
cmp byte [rbx + 0xe8ad], r12b
jne 0x1400a002b
mov rcx, rbx
call fcn.14009d560
test al, al
je 0x1400a115e
mov r15d, dword [rsp + 0x60]
mov r14d, 8
mov rax, qword [rbx + 0xe978]
and qword [rbx + 0xd8], rax
mov eax, dword [rbx + 0xec]
cmp dword [rbx + 8], eax
jle 0x1400a005f
mov rcx, rbx
call fcn.14009eb78
test al, al
je 0x1400a1156
mov rcx, qword [rbx + 0xe0]
mov rdx, qword [rbx + 0xd8]
mov rax, rcx
sub rax, rdx
and rax, qword [rbx + 0xe978]
cmp rax, 0x104
jae 0x1400a00b0
cmp rcx, rdx
je 0x1400a00b0
mov rcx, rbx
call fcn.14009ee7c
mov rax, qword [rbx + 0x4db8]
cmp qword [rbx + 0x4dc8], rax
jg 0x1400a115e
cmp byte [rbx + 0x4dc0], r12b
jne 0x1400a113e
cmp dword [rbx + 0xe8a8], r13d
jne 0x1400a048e
lea rdi, [rbx + 0x9a48]
mov rcx, rdi
call fcn.14009a9a0
mov ebp, eax
cmp eax, 0xffffffff
je 0x1400a1147
cmp eax, dword [rbx + 0xe710]
jne 0x1400a0470
mov rcx, rdi
call fcn.14009a9a0
mov esi, eax
cmp eax, 0xffffffff
jne 0x1400a0101
mov rcx, rdi
call fcn.14009a130
mov dword [rbx + 0xe8a8], r12d
test esi, esi
jne 0x1400a0121
mov rcx, rbx
call fcn.14009d560
test al, al
je 0x1400a1156
lea rsi, [0x140000000]
jmp 0x1400a0036
cmp esi, 0xffffffff
je 0x1400a1156
cmp esi, 2
je 0x1400a1156
cmp esi, 3
jne 0x1400a0142
mov rcx, rbx
call fcn.14009dfb8
jmp 0x1400a010d
cmp esi, 4
jne 0x1400a036a
mov esi, r12d
mov r14b, r12b
mov ebp, r12d
test r14b, r14b
jne 0x1400a1156
mov rcx, rdi
call fcn.14009a9a0
cmp eax, 0xffffffff
jne 0x1400a017e
mov rcx, rdi
call fcn.14009a130
mov dword [rbx + 0xe8a8], r12d
mov r14b, r13b
jmp 0x1400a0191
cmp ebp, 3
jne 0x1400a0189
movzx r15d, al
jmp 0x1400a0191
shl esi, 8
movzx eax, al
add esi, eax
add ebp, r13d
cmp ebp, 4
jl 0x1400a0154
test r14b, r14b
jne 0x1400a1156
mov r10, qword [rbx + 0xd8]
lea r8d, [r15 + 0x20]
add esi, 2
mov r9, r10
mov eax, esi
sub r9, rax
mov rax, qword [rbx + 0xe970]
add rax, 0xffffffffffffeffc
cmp r9, rax
jae 0x1400a030c
cmp r10, rax
jae 0x1400a030c
mov rax, qword [rbx + 0x4ba8]
mov r14d, 8
lea rcx, [rax + r9]
lea rdx, [rax + r10]
mov eax, r8d
add rax, r10
mov qword [rbx + 0xd8], rax
cmp esi, r8d
jae 0x1400a0249
cmp r8d, r14d
jb 0x1400a026a
mov r9d, r8d
shr r9, 3
mov al, byte [rcx]
add r8d, 0xfffffff8
mov byte [rdx], al
mov al, byte [rcx + 1]
mov byte [rdx + 1], al
mov al, byte [rcx + 2]
mov byte [rdx + 2], al
mov al, byte [rcx + 3]
mov byte [rdx + 3], al
mov al, byte [rcx + 4]
mov byte [rdx + 4], al
mov al, byte [rcx + 5]
mov byte [rdx + 5], al
mov al, byte [rcx + 6]
mov byte [rdx + 6], al
mov al, byte [rcx + 7]
add rcx, r14
mov byte [rdx + 7], al
add rdx, r14
sub r9, r13
jne 0x1400a020a
jmp 0x1400a026a
cmp r8d, r14d
jb 0x1400a026a
mov r9d, r8d
shr r9, 3
mov rax, qword [rcx]
add r8d, 0xfffffff8
mov qword [rdx], rax
add rcx, r14
add rdx, r14
sub r9, r13
jne 0x1400a0255
lea rsi, [0x140000000]
test r8d, r8d
je 0x1400a0036
mov al, byte [rcx]
lea rsi, [0x140000000]
mov byte [rdx], al
cmp r8d, r13d
jbe 0x1400a0036
mov al, byte [rcx + 1]
lea rsi, [0x140000000]
mov byte [rdx + 1], al
cmp r8d, 2
jbe 0x1400a0036
mov al, byte [rcx + 2]
lea rsi, [0x140000000]
mov byte [rdx + 2], al
cmp r8d, 3
jbe 0x1400a0036
mov al, byte [rcx + 3]
lea rsi, [0x140000000]
mov byte [rdx + 3], al
cmp r8d, 4
jbe 0x1400a0036
mov al, byte [rcx + 4]
lea rsi, [0x140000000]
mov byte [rdx + 4], al
cmp r8d, 5
jbe 0x1400a0036
mov al, byte [rcx + 5]
lea rsi, [0x140000000]
mov byte [rdx + 5], al
cmp r8d, 6
jbe 0x1400a0036
mov al, byte [rcx + 6]
mov byte [rdx + 6], al
jmp 0x1400a0115
lea rsi, [0x140000000]
mov r14d, 8
test r8d, r8d
je 0x1400a0036
mov r10, qword [rbx + 0xe978]
mov rdx, qword [rbx + 0x4ba8]
and r10, r9
mov rcx, qword [rbx + 0xd8]
add r9, r13
mov al, byte [r10 + rdx]
mov byte [rdx + rcx], al
mov rax, qword [rbx + 0xd8]
mov r10, qword [rbx + 0xe978]
add rax, r13
and rax, r10
mov qword [rbx + 0xd8], rax
add r8d, 0xffffffff
jne 0x1400a0329
jmp 0x1400a0115
cmp esi, 5
jne 0x1400a0470
mov rcx, rdi
call fcn.14009a9a0
cmp eax, 0xffffffff
je 0x1400a1147
mov r9, qword [rbx + 0xd8]
lea r8d, [rax + 4]
mov rax, qword [rbx + 0xe970]
add rax, 0xffffffffffffeffc
lea r10, [r9 - 1]
cmp r10, rax
jae 0x1400a0418
cmp r9, rax
jae 0x1400a0418
mov rax, qword [rbx + 0x4ba8]
lea rcx, [rax + r10]
lea rdx, [rax + r9]
mov eax, r8d
add rax, r9
mov qword [rbx + 0xd8], rax
cmp r8d, r14d
jb 0x1400a026a
mov r9d, r8d
shr r9, 3
mov al, byte [rcx]
add r8d, 0xfffffff8
mov byte [rdx], al
mov al, byte [rcx + 1]
mov byte [rdx + 1], al
mov al, byte [rcx + 2]
mov byte [rdx + 2], al
mov al, byte [rcx + 3]
mov byte [rdx + 3], al
mov al, byte [rcx + 4]
mov byte [rdx + 4], al
mov al, byte [rcx + 5]
mov byte [rdx + 5], al
mov al, byte [rcx + 6]
mov byte [rdx + 6], al
mov al, byte [rcx + 7]
add rcx, r14
mov byte [rdx + 7], al
add rdx, r14
sub r9, r13
jne 0x1400a03d6
jmp 0x1400a026a
lea rsi, [0x140000000]
test r8d, r8d
je 0x1400a0036
mov r9, qword [rbx + 0xe978]
mov rdx, qword [rbx + 0x4ba8]
and r9, r10
mov rcx, qword [rbx + 0xd8]
add r10, r13
mov al, byte [r9 + rdx]
mov byte [rdx + rcx], al
mov rax, qword [rbx + 0xd8]
mov r9, qword [rbx + 0xe978]
add rax, r13
and rax, r9
mov qword [rbx + 0xd8], rax
add r8d, 0xffffffff
jne 0x1400a042f
jmp 0x1400a0115
mov rax, qword [rbx + 0xd8]
mov rcx, qword [rbx + 0x4ba8]
mov byte [rcx + rax], bpl
add qword [rbx + 0xd8], r13
jmp 0x1400a0115
movsxd r10, dword [rbx + 8]
mov rdx, qword [rbx + 0x18]
mov r11d, dword [rbx + 0xc]
lea eax, [r10 + 1]
movzx r8d, byte [r10 + rdx]
shl r8d, 8
movsxd rcx, eax
movzx eax, byte [rcx + rdx]
or r8d, eax
lea eax, [r10 + 2]
shl r8d, 8
movsxd rcx, eax
movzx eax, byte [rcx + rdx]
mov ecx, r14d
sub ecx, r11d
or r8d, eax
shr r8d, cl
mov ecx, dword [rbx + 0x188]
and r8d, 0xfffe
cmp r8d, dword [rbx + rcx*4 + 0x108]
jae 0x1400a0519
mov edx, r8d
mov eax, 0x10
sub eax, ecx
mov cl, al
shr rdx, cl
movzx ecx, byte [rdx + rbx + 0x18c]
add ecx, r11d
mov eax, ecx
shr eax, 3
add eax, r10d
and ecx, 7
mov dword [rbx + 8], eax
mov dword [rbx + 0xc], ecx
movzx r8d, word [rbx + rdx*2 + 0x58c]
jmp 0x1400a0592
mov r9d, 0xf
inc ecx
cmp ecx, r9d
jae 0x1400a0546
mov edx, ecx
add rdx, 0x42
lea rdx, [rbx + rdx*4]
cmp r8d, dword [rdx]
jb 0x1400a0543
add ecx, r13d
add rdx, 4
cmp ecx, r9d
jb 0x1400a0530
jmp 0x1400a0546
mov r9d, ecx
lea ecx, [r11 + r9]
mov eax, ecx
and ecx, 7
shr eax, 3
add eax, r10d
mov dword [rbx + 0xc], ecx
mov dword [rbx + 8], eax
mov ecx, 0x10
sub ecx, r9d
lea eax, [r9 - 1]
sub r8d, dword [rbx + rax*4 + 0x108]
shr r8d, cl
mov eax, r9d
mov edx, dword [rbx + rax*4 + 0x148]
add edx, r8d
cmp edx, dword [rbx + 0x104]
sbb eax, eax
and eax, edx
movzx r8d, word [rbx + rax*2 + 0xd8c]
cmp r8d, 0x100
jae 0x1400a05b9
mov rax, qword [rbx + 0xd8]
mov rcx, qword [rbx + 0x4ba8]
mov byte [rcx + rax], r8b
add qword [rbx + 0xd8], r13
jmp 0x1400a0036
cmp r8d, 0x10f
jb 0x1400a0b3e
add r8d, 0xfffffef1
movzx r10d, byte [r8 + rsi + 0x15ded0]
movzx r11d, byte [r8 + rsi + 0x15def0]
add r10d, 3
test r11d, r11d
je 0x1400a0647
movsxd rdx, dword [rbx + 8]
mov r8, qword [rbx + 0x18]
lea eax, [rdx + 1]
movzx r9d, byte [rdx + r8]
movsxd rcx, eax
shl r9d, 8
movzx eax, byte [rcx + r8]
or r9d, eax
lea eax, [rdx + 2]
movsxd rcx, eax
shl r9d, 8
movzx eax, byte [rcx + r8]
mov ecx, r14d
sub ecx, dword [rbx + 0xc]
or r9d, eax
shr r9d, cl
mov ecx, 0x10
sub ecx, r11d
movzx edx, r9w
shr edx, cl
mov ecx, dword [rbx + 0xc]
add r10d, edx
add ecx, r11d
mov eax, ecx
shr eax, 3
add dword [rbx + 8], eax
and ecx, 7
mov dword [rbx + 0xc], ecx
movsxd r11, dword [rbx + 8]
mov rdx, qword [rbx + 0x18]
mov edi, dword [rbx + 0xc]
lea eax, [r11 + 1]
movzx r8d, byte [r11 + rdx]
shl r8d, 8
movsxd rcx, eax
movzx eax, byte [rcx + rdx]
or r8d, eax
lea eax, [r11 + 2]
shl r8d, 8
movsxd rcx, eax
movzx eax, byte [rcx + rdx]
mov ecx, r14d
sub ecx, edi
or r8d, eax
shr r8d, cl
mov ecx, dword [rbx + 0x1074]
and r8d, 0xfffe
cmp r8d, dword [rbx + rcx*4 + 0xff4]
jae 0x1400a06ce
mov eax, 0x10
mov edx, r8d
sub eax, ecx
mov cl, al
shr rdx, cl
movzx ecx, byte [rbx + rdx + 0x1078]
add ecx, edi
mov eax, ecx
shr eax, 3
add eax, r11d
and ecx, 7
mov dword [rbx + 8], eax
mov dword [rbx + 0xc], ecx
movzx eax, word [rbx + rdx*2 + 0x1478]
jmp 0x1400a0749
mov r9d, 0xf
inc ecx
cmp ecx, r9d
jae 0x1400a06fe
mov edx, ecx
add rdx, 0x3fd
lea rdx, [rbx + rdx*4]
cmp r8d, dword [rdx]
jb 0x1400a06fb
add ecx, r13d
add rdx, 4
cmp ecx, r9d
jb 0x1400a06e8
jmp 0x1400a06fe
mov r9d, ecx
lea ecx, [r9 + rdi]
mov eax, ecx
and ecx, 7
shr eax, 3
add eax, r11d
mov dword [rbx + 0xc], ecx
mov dword [rbx + 8], eax
mov ecx, 0x10
sub ecx, r9d
lea eax, [r9 - 1]
sub r8d, dword [rbx + rax*4 + 0xff4]
mov eax, r9d
shr r8d, cl
mov edx, dword [rbx + rax*4 + 0x1034]
add edx, r8d
cmp edx, dword [rbx + 0xff0]
sbb eax, eax
and eax, edx
movzx eax, word [rbx + rax*2 + 0x1c78]
movzx eax, ax
mov r11d, dword [rsi + rax*4 + 0x1a8140]
movzx edi, byte [rax + rsi + 0x1a8240]
add r11d, r13d
test edi, edi
je 0x1400a0976
cmp eax, 9
jbe 0x1400a0919
cmp edi, 4
jbe 0x1400a07d8
movsxd rdx, dword [rbx + 8]
mov r8, qword [rbx + 0x18]
lea eax, [rdx + 1]
movzx r9d, byte [rdx + r8]
movsxd rcx, eax
shl r9d, 8
movzx eax, byte [rcx + r8]
or r9d, eax
lea eax, [rdx + 2]
movsxd rcx, eax
shl r9d, 8
movzx eax, byte [rcx + r8]
mov ecx, r14d
sub ecx, dword [rbx + 0xc]
or r9d, eax
shr r9d, cl
mov ecx, 0x14
sub ecx, edi
movzx edx, r9w
shr edx, cl
mov ecx, dword [rbx + 0xc]
add ecx, 0xfffffffc
shl edx, 4
add ecx, edi
add r11d, edx
mov eax, ecx
shr eax, 3
add dword [rbx + 8], eax
and ecx, 7
mov dword [rbx + 0xc], ecx
mov eax, dword [rbx + 0x9a44]
test eax, eax
jle 0x1400a07ef
dec eax
mov dword [rbx + 0x9a44], eax
jmp 0x1400a0906
movsxd rdi, dword [rbx + 8]
mov rdx, qword [rbx + 0x18]
mov esi, dword [rbx + 0xc]
lea eax, [rdi + 1]
movzx r8d, byte [rdi + rdx]
shl r8d, 8
movsxd rcx, eax
movzx eax, byte [rcx + rdx]
or r8d, eax
lea eax, [rdi + 2]
shl r8d, 8
movsxd rcx, eax
movzx eax, byte [rcx + rdx]
mov ecx, r14d
sub ecx, esi
or r8d, eax
shr r8d, cl
mov ecx, dword [rbx + 0x1f60]
and r8d, 0xfffe
cmp r8d, dword [rbx + rcx*4 + 0x1ee0]
jae 0x1400a0873
mov eax, 0x10
mov edx, r8d
sub eax, ecx
mov cl, al
shr rdx, cl
movzx ecx, byte [rbx + rdx + 0x1f64]
add ecx, esi
mov eax, ecx
shr eax, 3
add eax, edi
and ecx, 7
mov dword [rbx + 8], eax
mov dword [rbx + 0xc], ecx
movzx eax, word [rbx + rdx*2 + 0x2364]
jmp 0x1400a08ed
mov r9d, 0xf
inc ecx
cmp ecx, r9d
jae 0x1400a08a3
mov edx, ecx
add rdx, 0x7b8
lea rdx, [rbx + rdx*4]
cmp r8d, dword [rdx]
jb 0x1400a08a0
add ecx, r13d
add rdx, 4
cmp ecx, r9d
jb 0x1400a088d
jmp 0x1400a08a3
mov r9d, ecx
lea ecx, [r9 + rsi]
mov eax, ecx
and ecx, 7
shr eax, 3
add eax, edi
mov dword [rbx + 0xc], ecx
mov dword [rbx + 8], eax
mov ecx, 0x10
sub ecx, r9d
lea eax, [r9 - 1]
sub r8d, dword [rbx + rax*4 + 0x1ee0]
mov eax, r9d
shr r8d, cl
mov edx, dword [rbx + rax*4 + 0x1f20]
add edx, r8d
cmp edx, dword [rbx + 0x1edc]
sbb eax, eax
and eax, edx
movzx eax, word [rbx + rax*2 + 0x2b64]
movzx eax, ax
lea rsi, [0x140000000]
cmp eax, 0x10
jne 0x1400a090e
mov dword [rbx + 0x9a44], 0xf
mov eax, dword [rbx + 0x9a40]
jmp 0x1400a0914
mov dword [rbx + 0x9a40], eax
add r11d, eax
jmp 0x1400a0976
movsxd rdx, dword [rbx + 8]
mov r8, qword [rbx + 0x18]
lea eax, [rdx + 1]
movzx r9d, byte [rdx + r8]
movsxd rcx, eax
shl r9d, 8
movzx eax, byte [rcx + r8]
or r9d, eax
lea eax, [rdx + 2]
movsxd rcx, eax
shl r9d, 8
movzx eax, byte [rcx + r8]
mov ecx, r14d
sub ecx, dword [rbx + 0xc]
or r9d, eax
shr r9d, cl
mov ecx, 0x10
sub ecx, edi
movzx edx, r9w
shr edx, cl
mov ecx, dword [rbx + 0xc]
add r11d, edx
add ecx, edi
mov eax, ecx
shr eax, 3
add dword [rbx + 8], eax
and ecx, 7
mov dword [rbx + 0xc], ecx
cmp r11d, 0x2000
jb 0x1400a098e
add r10d, r13d
cmp r11d, 0x40000
jb 0x1400a098e
add r10d, r13d
mov eax, dword [rbx + 0xc0]
mov dword [rbx + 0xc4], eax
mov eax, dword [rbx + 0xbc]
mov dword [rbx + 0xc0], eax
mov eax, dword [rbx + 0xb8]
mov dword [rbx + 0xbc], eax
mov dword [rbx + 0xb8], r11d
mov r9, qword [rbx + 0xd8]
mov eax, r11d
mov r8, r9
sub r8, rax
mov dword [rbx + 0xcc], r10d
mov rax, qword [rbx + 0xe970]
add rax, 0xffffffffffffeffc
cmp r8, rax
jae 0x1400a0aed
cmp r9, rax
jae 0x1400a0aed
mov rax, qword [rbx + 0x4ba8]
lea rcx, [rax + r8]
lea rdx, [rax + r9]
mov eax, r10d
add rax, r9
mov qword [rbx + 0xd8], rax
cmp r11d, r10d
jae 0x1400a0a5b
cmp r10d, r14d
jb 0x1400a0a7c
mov r8d, r10d
shr r8, 3
mov al, byte [rcx]
add r10d, 0xfffffff8
mov byte [rdx], al
mov al, byte [rcx + 1]
mov byte [rdx + 1], al
mov al, byte [rcx + 2]
mov byte [rdx + 2], al
mov al, byte [rcx + 3]
mov byte [rdx + 3], al
mov al, byte [rcx + 4]
mov byte [rdx + 4], al
mov al, byte [rcx + 5]
mov byte [rdx + 5], al
mov al, byte [rcx + 6]
mov byte [rdx + 6], al
mov al, byte [rcx + 7]
add rcx, r14
mov byte [rdx + 7], al
add rdx, r14
sub r8, r13
jne 0x1400a0a1c
jmp 0x1400a0a7c
cmp r10d, r14d
jb 0x1400a0a7c
mov r8d, r10d
shr r8, 3
mov rax, qword [rcx]
add r10d, 0xfffffff8
mov qword [rdx], rax
add rcx, r14
add rdx, r14
sub r8, r13
jne 0x1400a0a67
test r10d, r10d
je 0x1400a0036
mov al, byte [rcx]
mov byte [rdx], al
cmp r10d, r13d
jbe 0x1400a0036
mov al, byte [rcx + 1]
mov byte [rdx + 1], al
cmp r10d, 2
jbe 0x1400a0036
mov al, byte [rcx + 2]
mov byte [rdx + 2], al
cmp r10d, 3
jbe 0x1400a0036
mov al, byte [rcx + 3]
mov byte [rdx + 3], al
cmp r10d, 4
jbe 0x1400a0036
mov al, byte [rcx + 4]
mov byte [rdx + 4], al
cmp r10d, 5
jbe 0x1400a0036
cmp r10d, 6
mov al, byte [rcx + 5]
mov byte [rdx + 5], al
jbe 0x1400a0036
mov al, byte [rcx + 6]
mov byte [rdx + 6], al
jmp 0x1400a0036
test r10d, r10d
je 0x1400a0036
mov r9, qword [rbx + 0xe978]
mov rdx, qword [rbx + 0x4ba8]
and r9, r8
mov rcx, qword [rbx + 0xd8]
add r8, r13
mov al, byte [r9 + rdx]
mov byte [rdx + rcx], al
mov rax, qword [rbx + 0xd8]
mov r9, qword [rbx + 0xe978]
add rax, r13
and rax, r9
mov qword [rbx + 0xd8], rax
add r10d, 0xffffffff
jne 0x1400a0afd
jmp 0x1400a0036
cmp r8d, 0x100
jne 0x1400a0b51
mov rcx, rbx
call fcn.14009cc0c
jmp 0x1400a0b62
cmp r8d, 0x101
jne 0x1400a0b6f
mov rcx, rbx
call fcn.14009dda0
test al, al
je 0x1400a1156
jmp 0x1400a0036
cmp r8d, 0x102
jne 0x1400a0cfc
mov r8d, dword [rbx + 0xcc]
test r8d, r8d
je 0x1400a0036
mov r10, qword [rbx + 0xd8]
mov r11d, dword [rbx + 0xb8]
mov r9, r10
mov rax, qword [rbx + 0xe970]
sub r9, r11
add rax, 0xffffffffffffeffc
cmp r9, rax
jae 0x1400a0ca9
cmp r10, rax
jae 0x1400a0ca9
mov rax, qword [rbx + 0x4ba8]
lea rcx, [rax + r9]
lea rdx, [rax + r10]
lea rax, [r10 + r8]
mov qword [rbx + 0xd8], rax
cmp r11d, r8d
jae 0x1400a0c29
cmp r8d, r14d
jb 0x1400a0c4a
mov r9d, r8d
shr r9, 3
mov al, byte [rcx]
add r8d, 0xfffffff8
mov byte [rdx], al
mov al, byte [rcx + 1]
mov byte [rdx + 1], al
mov al, byte [rcx + 2]
mov byte [rdx + 2], al
mov al, byte [rcx + 3]
mov byte [rdx + 3], al
mov al, byte [rcx + 4]
mov byte [rdx + 4], al
mov al, byte [rcx + 5]
mov byte [rdx + 5], al
mov al, byte [rcx + 6]
mov byte [rdx + 6], al
mov al, byte [rcx + 7]
add rcx, r14
mov byte [rdx + 7], al
add rdx, r14
sub r9, r13
jne 0x1400a0bea
jmp 0x1400a0c4a
cmp r8d, r14d
jb 0x1400a0c4a
mov r9, r8
shr r9, 3
mov rax, qword [rcx]
add r8d, 0xfffffff8
mov qword [rdx], rax
add rcx, r14
add rdx, r14
sub r9, r13
jne 0x1400a0c35
test r8d, r8d
je 0x1400a0036
mov al, byte [rcx]
mov byte [rdx], al
cmp r8d, r13d
jbe 0x1400a0036
mov al, byte [rcx + 1]
mov byte [rdx + 1], al
cmp r8d, 2
jbe 0x1400a0036
mov al, byte [rcx + 2]
mov byte [rdx + 2], al
cmp r8d, 3
jbe 0x1400a0036
mov al, byte [rcx + 3]
mov byte [rdx + 3], al
cmp r8d, 4
jbe 0x1400a0036
mov al, byte [rcx + 4]
mov byte [rdx + 4], al
cmp r8d, 5
jbe 0x1400a0036
cmp r8d, 6
jmp 0x1400a0ad6
test r8d, r8d
je 0x1400a0036
mov rcx, qword [rbx + 0xe978]
mov rdx, qword [rbx + 0x4ba8]
mov rax, r9
and rax, rcx
add r9, r13
mov rcx, qword [rbx + 0xd8]
mov al, byte [rax + rdx]
mov byte [rdx + rcx], al
mov rax, qword [rbx + 0xd8]
mov rcx, qword [rbx + 0xe978]
add rax, r13
and rax, rcx
mov qword [rbx + 0xd8], rax
add r8d, 0xffffffff
jne 0x1400a0cb9
jmp 0x1400a0036
cmp r8d, 0x107
jae 0x1400a0fde
add r8d, 0xfffffefd
lea rdx, [rbx + 0xb8]
lea rdx, [rdx + r8*4]
mov edi, dword [rdx]
je 0x1400a0d33
sub r8d, 1
mov ecx, dword [rbx + r8*4 + 0xb8]
mov dword [rdx], ecx
lea rdx, [rdx - 4]
jne 0x1400a0d1f
mov dword [rbx + 0xb8], edi
movsxd r10, dword [rbx + 8]
mov rdx, qword [rbx + 0x18]
mov r11d, dword [rbx + 0xc]
lea eax, [r10 + 1]
movzx r8d, byte [r10 + rdx]
shl r8d, 8
movsxd rcx, eax
movzx eax, byte [rcx + rdx]
or r8d, eax
lea eax, [r10 + 2]
shl r8d, 8
movsxd rcx, eax
movzx eax, byte [rcx + rdx]
mov ecx, r14d
sub ecx, r11d
or r8d, eax
shr r8d, cl
mov ecx, dword [rbx + 0x2e4c]
and r8d, 0xfffe
cmp r8d, dword [rbx + rcx*4 + 0x2dcc]
jae 0x1400a0dc3
mov eax, 0x10
mov edx, r8d
sub eax, ecx
mov cl, al
shr rdx, cl
movzx ecx, byte [rbx + rdx + 0x2e50]
add ecx, r11d
mov eax, ecx
shr eax, 3
add eax, r10d
and ecx, 7
mov dword [rbx + 8], eax
mov dword [rbx + 0xc], ecx
movzx eax, word [rbx + rdx*2 + 0x3250]
jmp 0x1400a0e3e
mov r9d, 0xf
inc ecx
cmp ecx, r9d
jae 0x1400a0df3
mov edx, ecx
add rdx, 0xb73
lea rdx, [rbx + rdx*4]
cmp r8d, dword [rdx]
jb 0x1400a0df0
add ecx, r13d
add rdx, 4
cmp ecx, r9d
jb 0x1400a0ddd
jmp 0x1400a0df3
mov r9d, ecx
lea ecx, [r9 + r11]
mov eax, ecx
and ecx, 7
shr eax, 3
add eax, r10d
mov dword [rbx + 0xc], ecx
mov dword [rbx + 8], eax
mov ecx, 0x10
sub ecx, r9d
lea eax, [r9 - 1]
sub r8d, dword [rbx + rax*4 + 0x2dcc]
mov eax, r9d
shr r8d, cl
mov edx, dword [rbx + rax*4 + 0x2e0c]
add edx, r8d
cmp edx, dword [rbx + 0x2dc8]
sbb eax, eax
and eax, edx
movzx eax, word [rbx + rax*2 + 0x3a50]
movzx eax, ax
movzx r10d, byte [rax + rsi + 0x15ded0]
movzx r11d, byte [rax + rsi + 0x15def0]
add r10d, 2
test r11d, r11d
je 0x1400a0ebb
movsxd rdx, dword [rbx + 8]
mov r8, qword [rbx + 0x18]
lea eax, [rdx + 1]
movzx r9d, byte [rdx + r8]
movsxd rcx, eax
shl r9d, 8
movzx eax, byte [rcx + r8]
or r9d, eax
lea eax, [rdx + 2]
movsxd rcx, eax
shl r9d, 8
movzx eax, byte [rcx + r8]
mov ecx, r14d
sub ecx, dword [rbx + 0xc]
or r9d, eax
shr r9d, cl
mov ecx, 0x10
sub ecx, r11d
movzx edx, r9w
shr edx, cl
mov ecx, dword [rbx + 0xc]
add r10d, edx
add ecx, r11d
mov eax, ecx
shr eax, 3
add dword [rbx + 8], eax
and ecx, 7
mov dword [rbx + 0xc], ecx
mov r9, qword [rbx + 0xd8]
mov rax, qword [rbx + 0xe970]
mov r8, r9
sub r8, rdi
mov dword [rbx + 0xcc], r10d
add rax, 0xffffffffffffeffc
cmp r8, rax
jae 0x1400a0f8b
cmp r9, rax
jae 0x1400a0f8b
mov rax, qword [rbx + 0x4ba8]
lea rcx, [rax + r8]
lea rdx, [rax + r9]
mov eax, r10d
add rax, r9
mov qword [rbx + 0xd8], rax
cmp edi, r10d
jae 0x1400a0f61
cmp r10d, r14d
jb 0x1400a0a7c
mov r8d, r10d
shr r8, 3
mov al, byte [rcx]
add r10d, 0xfffffff8
mov byte [rdx], al
mov al, byte [rcx + 1]
mov byte [rdx + 1], al
mov al, byte [rcx + 2]
mov byte [rdx + 2], al
mov al, byte [rcx + 3]
mov byte [rdx + 3], al
mov al, byte [rcx + 4]
mov byte [rdx + 4], al
mov al, byte [rcx + 5]
mov byte [rdx + 5], al
mov al, byte [rcx + 6]
mov byte [rdx + 6], al
mov al, byte [rcx + 7]
add rcx, r14
mov byte [rdx + 7], al
add rdx, r14
sub r8, r13
jne 0x1400a0f1f
jmp 0x1400a0a7c
cmp r10d, r14d
jb 0x1400a0a7c
mov r8d, r10d
shr r8, 3
mov rax, qword [rcx]
add r10d, 0xfffffff8
mov qword [rdx], rax
add rcx, r14
add rdx, r14
sub r8, r13
jne 0x1400a0f71
jmp 0x1400a0a7c
test r10d, r10d
je 0x1400a0036
mov rcx, qword [rbx + 0xe978]
mov rdx, qword [rbx + 0x4ba8]
mov rax, r8
and rax, rcx
add r8, r13
mov rcx, qword [rbx + 0xd8]
mov al, byte [rax + rdx]
mov byte [rdx + rcx], al
mov rax, qword [rbx + 0xd8]
mov rcx, qword [rbx + 0xe978]
add rax, r13
and rax, rcx
mov qword [rbx + 0xd8], rax
add r10d, 0xffffffff
jne 0x1400a0f9b
jmp 0x1400a0036
cmp r8d, 0x110
jae 0x1400a0036
add r8d, 0xfffffef9
movzx r10d, byte [r8 + rsi + 0x15df60]
movzx r11d, byte [r8 + rsi + 0x15df68]
add r10d, r13d
test r11d, r11d
je 0x1400a106b
movsxd rdx, dword [rbx + 8]
mov r8, qword [rbx + 0x18]
lea eax, [rdx + 1]
movzx r9d, byte [rdx + r8]
movsxd rcx, eax
shl r9d, 8
movzx eax, byte [rcx + r8]
or r9d, eax
lea eax, [rdx + 2]
movsxd rcx, eax
shl r9d, 8
movzx eax, byte [rcx + r8]
mov ecx, r14d
sub ecx, dword [rbx + 0xc]
or r9d, eax
shr r9d, cl
mov ecx, 0x10
sub ecx, r11d
movzx edx, r9w
shr edx, cl
mov ecx, dword [rbx + 0xc]
add r10d, edx
add ecx, r11d
mov eax, ecx
shr eax, 3
add dword [rbx + 8], eax
and ecx, 7
mov dword [rbx + 0xc], ecx
mov eax, dword [rbx + 0xc0]
mov r9d, 2
mov dword [rbx + 0xc4], eax
mov eax, dword [rbx + 0xbc]
mov dword [rbx + 0xc0], eax
mov eax, dword [rbx + 0xb8]
mov dword [rbx + 0xbc], eax
mov dword [rbx + 0xb8], r10d
mov rdx, qword [rbx + 0xd8]
mov eax, r10d
mov r8, rdx
sub r8, rax
mov dword [rbx + 0xcc], 2
mov rax, qword [rbx + 0xe970]
add rax, 0xffffffffffffeffc
cmp r8, rax
jae 0x1400a10f4
cmp rdx, rax
jae 0x1400a10f4
mov rcx, qword [rbx + 0x4ba8]
lea rax, [rdx + 2]
mov qword [rbx + 0xd8], rax
mov al, byte [rcx + r8]
mov byte [rcx + rdx], al
mov al, byte [rcx + r8 + 1]
mov byte [rcx + rdx + 1], al
jmp 0x1400a0036
mov rcx, qword [rbx + 0xe978]
mov rdx, qword [rbx + 0x4ba8]
mov rax, r8
and rax, rcx
add r8, r13
mov rcx, qword [rbx + 0xd8]
mov al, byte [rax + rdx]
mov byte [rdx + rcx], al
mov rax, qword [rbx + 0xd8]
mov rcx, qword [rbx + 0xe978]
add rax, r13
and rax, rcx
mov qword [rbx + 0xd8], rax
add r9d, 0xffffffff
jne 0x1400a10fb
jmp 0x1400a0036
mov byte [rbx + 0x4dd0], r12b
jmp 0x1400a115e
mov rcx, rdi
call fcn.14009a130
mov dword [rbx + 0xe8a8], r12d
mov rcx, rbx
call fcn.14009ee7c
mov rbx, qword [rsp + 0x70]
add rsp, 0x20
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rbp
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push r13
push r14
push r15
sub rsp, 0x40
cmp byte [rcx + 0x4dc0], 0
mov r13d, 1
mov byte [rcx + 0x4dd0], r13b
mov rbx, rcx
jne 0x1400a1208
call fcn.14009ea88
mov rcx, rbx
call fcn.14009ec28
test al, al
je 0x1400a1a41
lea rdi, [rbx + 0xf0]
mov rcx, rbx
mov r8, rdi
lea rdx, [rbx + 8]
call fcn.14009caa8
test al, al
je 0x1400a1a41
lea r9, [rbx + 0x104]
mov r8, rdi
lea rdx, [rbx + 8]
mov rcx, rbx
call fcn.14009d9fc
test al, al
je 0x1400a1a41
cmp byte [rbx + 0xe8ae], 0
je 0x1400a1a41
lea rsi, [rbx + 0xd8]
lea rdi, [rbx + 8]
mov rax, qword [rbx + 0xe978]
and qword [rsi], rax
mov eax, dword [rbx + 0xec]
cmp dword [rdi], eax
jl 0x1400a129c
lea r14, [rbx + 0xf0]
mov edx, dword [rbx + 0xf8]
dec edx
add edx, dword [r14]
cmp dword [rdi], edx
jg 0x1400a124a
jne 0x1400a128c
mov eax, dword [rbx + 0xf4]
cmp dword [rbx + 0xc], eax
jl 0x1400a128c
cmp byte [rbx + 0x100], 0
jne 0x1400a1a39
mov r8, r14
mov rdx, rdi
mov rcx, rbx
call fcn.14009caa8
test al, al
je 0x1400a1a41
lea r9, [rbx + 0x104]
mov r8, r14
mov rdx, rdi
mov rcx, rbx
call fcn.14009d9fc
test al, al
je 0x1400a1a41
jmp 0x1400a122e
mov rcx, rbx
call fcn.14009ec28
test al, al
je 0x1400a1a39
mov rcx, qword [rbx + 0x4ba0]
mov rax, rcx
sub rax, qword [rsi]
and rax, qword [rbx + 0xe978]
cmp rax, 0x1004
jae 0x1400a12e6
cmp rcx, qword [rsi]
je 0x1400a12e6
mov rcx, rbx
call fcn.14009f114
mov rax, qword [rbx + 0x4db8]
cmp qword [rbx + 0x4dc8], rax
jg 0x1400a1a41
cmp byte [rbx + 0x4dc0], 0
jne 0x1400a1edd
movsxd r10, dword [rdi]
mov rdx, qword [rdi + 0x10]
mov r11d, dword [rdi + 4]
lea eax, [r10 + 1]
movzx r8d, byte [r10 + rdx]
shl r8d, 8
movsxd rcx, eax
movzx eax, byte [rcx + rdx]
or r8d, eax
lea eax, [r10 + 2]
shl r8d, 8
movsxd rcx, eax
movzx eax, byte [rcx + rdx]
mov ecx, 8
sub ecx, r11d
or r8d, eax
shr r8d, cl
mov ecx, dword [rbx + 0x188]
and r8d, 0xfffe
cmp r8d, dword [rbx + rcx*4 + 0x108]
jae 0x1400a1370
mov eax, 0x10
mov edx, r8d
sub eax, ecx
mov cl, al
shr rdx, cl
movzx ecx, byte [rdx + rbx + 0x18c]
add ecx, r11d
mov eax, ecx
shr eax, 3
add eax, r10d
and ecx, 7
mov dword [rdi], eax
mov dword [rdi + 4], ecx
movzx ebp, word [rbx + rdx*2 + 0x58c]
jmp 0x1400a13e1
mov edx, 0xf
inc ecx
cmp ecx, edx
jae 0x1400a139a
mov r9d, ecx
add r9, 0x42
lea r9, [rbx + r9*4]
cmp r8d, dword [r9]
jb 0x1400a1398
add ecx, r13d
add r9, 4
cmp ecx, edx
jb 0x1400a1386
jmp 0x1400a139a
mov edx, ecx
lea ecx, [r11 + rdx]
mov eax, ecx
and ecx, 7
shr eax, 3
add eax, r10d
mov dword [rdi + 4], ecx
mov dword [rdi], eax
mov ecx, 0x10
sub ecx, edx
lea eax, [rdx - 1]
sub r8d, dword [rbx + rax*4 + 0x108]
mov eax, edx
shr r8d, cl
mov edx, dword [rbx + rax*4 + 0x148]
add edx, r8d
cmp edx, dword [rbx + 0x104]
sbb eax, eax
and eax, edx
movzx ebp, word [rbx + rax*2 + 0xd8c]
cmp ebp, 0x100
jae 0x1400a1426
cmp byte [rbx + 0x4db0], 0
je 0x1400a1410
mov rdx, qword [rsi]
lea rcx, [rbx + 0x4bb0]
lea rax, [rdx + 1]
mov qword [rsi], rax
call fcn.140099858
mov byte [rax], bpl
jmp 0x1400a1213
mov rax, qword [rsi]
mov rcx, qword [rbx + 0x4ba8]
mov byte [rcx + rax], bpl
add qword [rsi], r13
jmp 0x1400a1213
cmp ebp, 0x106
jb 0x1400a1a08
lea r11d, [rbp - 0x106]
cmp r11d, 8
jae 0x1400a1443
xor ebp, ebp
jmp 0x1400a1459
mov ebp, r11d
and r11d, 3
shr ebp, 2
or r11d, 4
sub ebp, r13d
mov ecx, ebp
shl r11d, cl
add r11d, 2
test ebp, ebp
je 0x1400a14c4
movsxd r10, dword [rdi]
mov rdx, qword [rdi + 0x10]
mov r9d, dword [rdi + 4]
lea eax, [r10 + 1]
movzx r8d, byte [r10 + rdx]
movsxd rcx, eax
shl r8d, 8
movzx eax, byte [rcx + rdx]
or r8d, eax
lea eax, [r10 + 2]
movsxd rcx, eax
shl r8d, 8
movzx eax, byte [rcx + rdx]
mov ecx, 8
sub ecx, r9d
or r8d, eax
shr r8d, cl
mov ecx, 0x10
sub ecx, ebp
movzx edx, r8w
shr edx, cl
lea ecx, [r9 + rbp]
mov eax, ecx
add r11d, edx
shr eax, 3
add eax, r10d
and ecx, 7
mov dword [rdi], eax
mov dword [rdi + 4], ecx
movsxd r10, dword [rdi]
mov rdx, qword [rdi + 0x10]
mov r14d, dword [rdi + 4]
lea eax, [r10 + 1]
movzx r8d, byte [r10 + rdx]
shl r8d, 8
movsxd rcx, eax
movzx eax, byte [rcx + rdx]
or r8d, eax
lea eax, [r10 + 2]
shl r8d, 8
movsxd rcx, eax
movzx eax, byte [rcx + rdx]
mov ecx, 8
sub ecx, r14d
or r8d, eax
shr r8d, cl
mov ecx, dword [rbx + 0x1074]
and r8d, 0xfffe
cmp r8d, dword [rbx + rcx*4 + 0xff4]
jae 0x1400a154e
mov eax, 0x10
mov edx, r8d
sub eax, ecx
mov cl, al
shr rdx, cl
movzx ecx, byte [rdx + rbx + 0x1078]
add ecx, r14d
mov eax, ecx
shr eax, 3
add eax, r10d
and ecx, 7
mov dword [rdi], eax
mov dword [rdi + 4], ecx
movzx eax, word [rbx + rdx*2 + 0x1478]
jmp 0x1400a15c2
mov edx, 0xf
inc ecx
cmp ecx, edx
jae 0x1400a157b
mov r9d, ecx
add r9, 0x3fd
lea r9, [rbx + r9*4]
cmp r8d, dword [r9]
jb 0x1400a1579
add ecx, r13d
add r9, 4
cmp ecx, edx
jb 0x1400a1567
jmp 0x1400a157b
mov edx, ecx
lea ecx, [r14 + rdx]
mov eax, ecx
and ecx, 7
shr eax, 3
add eax, r10d
mov dword [rdi + 4], ecx
mov dword [rdi], eax
mov ecx, 0x10
sub ecx, edx
lea eax, [rdx - 1]
sub r8d, dword [rbx + rax*4 + 0xff4]
mov eax, edx
shr r8d, cl
mov edx, dword [rbx + rax*4 + 0x1034]
add edx, r8d
cmp edx, dword [rbx + 0xff0]
sbb eax, eax
and eax, edx
movzx eax, word [rbx + rax*2 + 0x1c78]
movzx eax, ax
cmp eax, 4
jae 0x1400a15cf
xor r9d, r9d
jmp 0x1400a15e3
mov r9d, eax
and eax, r13d
shr r9d, 1
or eax, 2
sub r9d, r13d
mov ecx, r9d
shl eax, cl
lea ebp, [rax + 1]
mov r10d, ebp
test r9d, r9d
je 0x1400a1811
cmp r9d, 4
jb 0x1400a1790
jbe 0x1400a168a
movsxd rdx, dword [rdi]
mov r8, qword [rdi + 0x10]
lea eax, [rdx + 1]
movzx r10d, byte [rdx + r8]
shl r10d, 8
movsxd rcx, eax
movzx eax, byte [rcx + r8]
or r10d, eax
lea eax, [rdx + 2]
shl r10d, 8
movsxd rcx, eax
movzx eax, byte [rcx + r8]
or r10d, eax
lea eax, [rdx + 3]
shl r10d, 8
movsxd rcx, eax
movzx eax, byte [rcx + r8]
mov ecx, dword [rdi + 4]
or r10d, eax
shl r10d, cl
lea eax, [rdx + 4]
movsxd rcx, eax
movzx edx, byte [rcx + r8]
mov ecx, 8
sub cl, byte [rdi + 4]
shr edx, cl
mov ecx, 0x24
sub ecx, r9d
or r10d, edx
shr r10d, cl
mov ecx, dword [rdi + 4]
add ecx, 0xfffffffc
shl r10d, 4
add ecx, r9d
add r10d, ebp
mov eax, ecx
shr eax, 3
add dword [rdi], eax
and ecx, 7
mov dword [rdi + 4], ecx
movsxd rbp, dword [rdi]
mov rdx, qword [rdi + 0x10]
mov r14d, dword [rdi + 4]
lea eax, [rbp + 1]
movzx r8d, byte [rbp + rdx]
shl r8d, 8
movsxd rcx, eax
movzx eax, byte [rcx + rdx]
or r8d, eax
lea eax, [rbp + 2]
shl r8d, 8
movsxd rcx, eax
movzx eax, byte [rcx + rdx]
mov ecx, 8
sub ecx, r14d
or r8d, eax
shr r8d, cl
mov ecx, dword [rbx + 0x1f60]
and r8d, 0xfffe
cmp r8d, dword [rbx + rcx*4 + 0x1ee0]
jae 0x1400a1712
mov eax, 0x10
mov edx, r8d
sub eax, ecx
mov cl, al
shr rdx, cl
movzx ecx, byte [rdx + rbx + 0x1f64]
add ecx, r14d
mov eax, ecx
shr eax, 3
add eax, ebp
and ecx, 7
mov dword [rdi], eax
mov dword [rdi + 4], ecx
movzx eax, word [rbx + rdx*2 + 0x2364]
jmp 0x1400a1785
mov edx, 0xf
inc ecx
cmp ecx, edx
jae 0x1400a173f
mov r9d, ecx
add r9, 0x7b8
lea r9, [rbx + r9*4]
cmp r8d, dword [r9]
jb 0x1400a173d
add ecx, r13d
add r9, 4
cmp ecx, edx
jb 0x1400a172b
jmp 0x1400a173f
mov edx, ecx
lea ecx, [r14 + rdx]
mov eax, ecx
and ecx, 7
shr eax, 3
add eax, ebp
mov dword [rdi + 4], ecx
mov dword [rdi], eax
mov ecx, 0x10
sub ecx, edx
lea eax, [rdx - 1]
sub r8d, dword [rbx + rax*4 + 0x1ee0]
mov eax, edx
shr r8d, cl
mov edx, dword [rbx + rax*4 + 0x1f20]
add edx, r8d
cmp edx, dword [rbx + 0x1edc]
sbb eax, eax
and eax, edx
movzx eax, word [rbx + rax*2 + 0x2b64]
movzx eax, ax
add r10d, eax
jmp 0x1400a1811
movsxd rdx, dword [rdi]
mov r8, qword [rdi + 0x10]
lea eax, [rdx + 1]
movzx r10d, byte [rdx + r8]
shl r10d, 8
movsxd rcx, eax
movzx eax, byte [rcx + r8]
or r10d, eax
lea eax, [rdx + 2]
shl r10d, 8
movsxd rcx, eax
movzx eax, byte [rcx + r8]
or r10d, eax
lea eax, [rdx + 3]
movsxd rcx, eax
shl r10d, 8
movzx eax, byte [rcx + r8]
mov ecx, dword [rdi + 4]
or r10d, eax
shl r10d, cl
lea eax, [rdx + 4]
movsxd rcx, eax
movzx edx, byte [rcx + r8]
mov ecx, 8
sub cl, byte [rdi + 4]
shr edx, cl
mov ecx, 0x20
sub ecx, r9d
or r10d, edx
shr r10d, cl
mov ecx, dword [rdi + 4]
add r10d, ebp
add ecx, r9d
mov eax, ecx
shr eax, 3
add dword [rdi], eax
and ecx, 7
mov dword [rdi + 4], ecx
cmp r10d, 0x100
jbe 0x1400a1835
inc r11d
cmp r10d, 0x2000
jbe 0x1400a1835
add r11d, r13d
cmp r10d, 0x40000
jbe 0x1400a1835
add r11d, r13d
mov eax, dword [rbx + 0xc0]
mov dword [rbx + 0xc4], eax
mov eax, dword [rbx + 0xbc]
mov dword [rbx + 0xc0], eax
mov eax, dword [rbx + 0xb8]
mov dword [rbx + 0xbc], eax
mov dword [rbx + 0xb8], r10d
cmp byte [rbx + 0x4db0], 0
mov dword [rbx + 0xcc], r11d
je 0x1400a1896
mov r8d, r10d
mov edx, r11d
mov rax, qword [rbx + 0xe978]
lea rcx, [rbx + 0x4bb0]
mov r9, rsi
mov qword [rsp + 0x20], rax
call fcn.14009a3e4
jmp 0x1400a1213
mov r9, qword [rsi]
mov eax, r10d
mov r8, r9
sub r8, rax
mov rax, qword [rbx + 0xe970]
add rax, 0xffffffffffffeffc
cmp r8, rax
jae 0x1400a19c1
cmp r9, rax
jae 0x1400a19c1
mov rax, qword [rbx + 0x4ba8]
lea rcx, [r8 + rax]
lea rdx, [rax + r9]
mov eax, r11d
add rax, r9
mov qword [rsi], rax
cmp r10d, r11d
jae 0x1400a192c
cmp r11d, 8
jb 0x1400a1950
mov r8d, r11d
shr r8, 3
mov al, byte [rcx]
add r11d, 0xfffffff8
mov byte [rdx], al
mov al, byte [rcx + 1]
mov byte [rdx + 1], al
mov al, byte [rcx + 2]
mov byte [rdx + 2], al
mov al, byte [rcx + 3]
mov byte [rdx + 3], al
mov al, byte [rcx + 4]
mov byte [rdx + 4], al
mov al, byte [rcx + 5]
mov byte [rdx + 5], al
mov al, byte [rcx + 6]
mov byte [rdx + 6], al
mov al, byte [rcx + 7]
add rcx, 8
mov byte [rdx + 7], al
add rdx, 8
sub r8, r13
jne 0x1400a18eb
jmp 0x1400a1950
cmp r11d, 8
jb 0x1400a1950
mov r8d, r11d
shr r8, 3
mov rax, qword [rcx]
add r11d, 0xfffffff8
mov qword [rdx], rax
add rcx, 8
add rdx, 8
sub r8, r13
jne 0x1400a1939
test r11d, r11d
je 0x1400a1213
mov al, byte [rcx]
mov byte [rdx], al
cmp r11d, r13d
jbe 0x1400a1213
mov al, byte [rcx + 1]
mov byte [rdx + 1], al
cmp r11d, 2
jbe 0x1400a1213
mov al, byte [rcx + 2]
mov byte [rdx + 2], al
cmp r11d, 3
jbe 0x1400a1213
mov al, byte [rcx + 3]
mov byte [rdx + 3], al
cmp r11d, 4
jbe 0x1400a1213
mov al, byte [rcx + 4]
mov byte [rdx + 4], al
cmp r11d, 5
jbe 0x1400a1213
cmp r11d, 6
mov al, byte [rcx + 5]
mov byte [rdx + 5], al
jbe 0x1400a1213
mov al, byte [rcx + 6]
mov byte [rdx + 6], al
jmp 0x1400a1213
test r11d, r11d
je 0x1400a1213
mov rcx, qword [rbx + 0xe978]
mov rdx, qword [rbx + 0x4ba8]
mov rax, r8
and rax, rcx
add r8, r13
mov rcx, qword [rsi]
mov al, byte [rax + rdx]
mov byte [rdx + rcx], al
mov rax, qword [rsi]
mov rcx, qword [rbx + 0xe978]
add rax, r13
and rax, rcx
mov qword [rsi], rax
add r11d, 0xffffffff
jne 0x1400a19d1
jmp 0x1400a1213
cmp ebp, 0x100
jne 0x1400a1a60
lea r8, [rsp + 0x30]
mov rdx, rdi
mov rcx, rbx
call fcn.14009cc9c
test al, al
je 0x1400a1a39
lea rdx, [rsp + 0x30]
mov rcx, rbx
call fcn.1400999a4
test al, al
jne 0x1400a1213
mov rcx, rbx
call fcn.14009f114
mov rbx, qword [rsp + 0x60]
mov rbp, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x70]
mov rdi, qword [rsp + 0x78]
add rsp, 0x40
pop r15
pop r14
pop r13
ret
cmp ebp, 0x101
jne 0x1400a1bf6
mov r10d, dword [rbx + 0xcc]
test r10d, r10d
je 0x1400a1213
cmp byte [rbx + 0x4db0], 0
je 0x1400a1a94
mov r8d, dword [rbx + 0xb8]
mov edx, r10d
jmp 0x1400a1876
mov r9, qword [rsi]
mov r11d, dword [rbx + 0xb8]
mov r8, r9
mov rax, qword [rbx + 0xe970]
sub r8, r11
add rax, 0xffffffffffffeffc
cmp r8, rax
jae 0x1400a1baf
cmp r9, rax
jae 0x1400a1baf
mov rax, qword [rbx + 0x4ba8]
lea rcx, [r8 + rax]
lea rdx, [rax + r9]
lea rax, [r9 + r10]
mov qword [rsi], rax
cmp r11d, r10d
jae 0x1400a1b2c
cmp r10d, 8
jb 0x1400a1b50
mov r8, r10
shr r8, 3
mov al, byte [rcx]
add r10d, 0xfffffff8
mov byte [rdx], al
mov al, byte [rcx + 1]
mov byte [rdx + 1], al
mov al, byte [rcx + 2]
mov byte [rdx + 2], al
mov al, byte [rcx + 3]
mov byte [rdx + 3], al
mov al, byte [rcx + 4]
mov byte [rdx + 4], al
mov al, byte [rcx + 5]
mov byte [rdx + 5], al
mov al, byte [rcx + 6]
mov byte [rdx + 6], al
mov al, byte [rcx + 7]
add rcx, 8
mov byte [rdx + 7], al
add rdx, 8
sub r8, r13
jne 0x1400a1aeb
jmp 0x1400a1b50
cmp r10d, 8
jb 0x1400a1b50
mov r8, r10
shr r8, 3
mov rax, qword [rcx]
add r10d, 0xfffffff8
mov qword [rdx], rax
add rcx, 8
add rdx, 8
sub r8, r13
jne 0x1400a1b39
test r10d, r10d
je 0x1400a1213
mov al, byte [rcx]
mov byte [rdx], al
cmp r10d, r13d
jbe 0x1400a1213
mov al, byte [rcx + 1]
mov byte [rdx + 1], al
cmp r10d, 2
jbe 0x1400a1213
mov al, byte [rcx + 2]
mov byte [rdx + 2], al
cmp r10d, 3
jbe 0x1400a1213
mov al, byte [rcx + 3]
mov byte [rdx + 3], al
cmp r10d, 4
jbe 0x1400a1213
mov al, byte [rcx + 4]
mov byte [rdx + 4], al
cmp r10d, 5
jbe 0x1400a1213
cmp r10d, 6
jmp 0x1400a19aa
test r10d, r10d
je 0x1400a1213
mov rcx, qword [rbx + 0xe978]
mov rdx, qword [rbx + 0x4ba8]
mov rax, r8
and rax, rcx
add r8, r13
mov rcx, qword [rsi]
mov al, byte [rax + rdx]
mov byte [rdx + rcx], al
mov rax, qword [rsi]
mov rcx, qword [rbx + 0xe978]
add rax, r13
and rax, rcx
mov qword [rsi], rax
add r10d, 0xffffffff
jne 0x1400a1bbf
jmp 0x1400a1213
add ebp, 0xfffffefe
lea rdx, [rbx + 0xb8]
lea rdx, [rdx + rbp*4]
mov r15d, dword [rdx]
je 0x1400a1c1e
sub ebp, r13d
mov ecx, dword [rbx + rbp*4 + 0xb8]
mov dword [rdx], ecx
lea rdx, [rdx - 4]
jne 0x1400a1c0c
mov dword [rbx + 0xb8], r15d
movsxd r10, dword [rdi]
mov rdx, qword [rdi + 0x10]
mov r11d, dword [rdi + 4]
lea eax, [r10 + 1]
movzx r8d, byte [r10 + rdx]
shl r8d, 8
movsxd rcx, eax
movzx eax, byte [rcx + rdx]
or r8d, eax
lea eax, [r10 + 2]
shl r8d, 8
movsxd rcx, eax
movzx eax, byte [rcx + rdx]
mov ecx, 8
sub ecx, r11d
or r8d, eax
shr r8d, cl
mov ecx, dword [rbx + 0x2e4c]
and r8d, 0xfffe
cmp r8d, dword [rbx + rcx*4 + 0x2dcc]
jae 0x1400a1caf
mov eax, 0x10
mov edx, r8d
sub eax, ecx
mov cl, al
shr rdx, cl
movzx ecx, byte [rdx + rbx + 0x2e50]
add ecx, r11d
mov eax, ecx
shr eax, 3
add eax, r10d
and ecx, 7
mov dword [rdi], eax
mov dword [rdi + 4], ecx
movzx eax, word [rbx + rdx*2 + 0x3250]
jmp 0x1400a1d23
mov edx, 0xf
inc ecx
cmp ecx, edx
jae 0x1400a1cdc
mov r9d, ecx
add r9, 0xb73
lea r9, [rbx + r9*4]
cmp r8d, dword [r9]
jb 0x1400a1cda
add ecx, r13d
add r9, 4
cmp ecx, edx
jb 0x1400a1cc8
jmp 0x1400a1cdc
mov edx, ecx
lea ecx, [r11 + rdx]
mov eax, ecx
and ecx, 7
shr eax, 3
add eax, r10d
mov dword [rdi + 4], ecx
mov dword [rdi], eax
mov ecx, 0x10
sub ecx, edx
lea eax, [rdx - 1]
sub r8d, dword [rbx + rax*4 + 0x2dcc]
mov eax, edx
shr r8d, cl
mov edx, dword [rbx + rax*4 + 0x2e0c]
add edx, r8d
cmp edx, dword [rbx + 0x2dc8]
sbb eax, eax
and eax, edx
movzx eax, word [rbx + rax*2 + 0x3a50]
movzx r11d, ax
cmp r11d, 8
jae 0x1400a1d32
xor r14d, r14d
jmp 0x1400a1d4a
mov r14d, r11d
and r11d, 3
shr r14d, 2
or r11d, 4
sub r14d, r13d
mov ecx, r14d
shl r11d, cl
add r11d, 2
test r14d, r14d
je 0x1400a1db7
movsxd r10, dword [rdi]
mov rdx, qword [rdi + 0x10]
mov r9d, dword [rdi + 4]
lea eax, [r10 + 1]
movzx r8d, byte [r10 + rdx]
movsxd rcx, eax
shl r8d, 8
movzx eax, byte [rcx + rdx]
or r8d, eax
lea eax, [r10 + 2]
movsxd rcx, eax
shl r8d, 8
movzx eax, byte [rcx + rdx]
mov ecx, 8
sub ecx, r9d
or r8d, eax
shr r8d, cl
mov ecx, 0x10
sub ecx, r14d
movzx edx, r8w
shr edx, cl
lea ecx, [r14 + r9]
mov eax, ecx
add r11d, edx
shr eax, 3
add eax, r10d
and ecx, 7
mov dword [rdi], eax
mov dword [rdi + 4], ecx
cmp byte [rbx + 0x4db0], 0
mov dword [rbx + 0xcc], r11d
je 0x1400a1dcf
mov r8d, r15d
jmp 0x1400a1873
mov r9, qword [rsi]
mov rax, qword [rbx + 0xe970]
mov r8, r9
sub r8, r15
add rax, 0xffffffffffffeffc
cmp r8, rax
jae 0x1400a1e96
cmp r9, rax
jae 0x1400a1e96
mov rax, qword [rbx + 0x4ba8]
lea rcx, [r8 + rax]
lea rdx, [rax + r9]
mov eax, r11d
add rax, r9
mov qword [rsi], rax
cmp r15d, r11d
jae 0x1400a1e69
cmp r11d, 8
jb 0x1400a1950
mov r8d, r11d
shr r8, 3
mov al, byte [rcx]
add r11d, 0xfffffff8
mov byte [rdx], al
mov al, byte [rcx + 1]
mov byte [rdx + 1], al
mov al, byte [rcx + 2]
mov byte [rdx + 2], al
mov al, byte [rcx + 3]
mov byte [rdx + 3], al
mov al, byte [rcx + 4]
mov byte [rdx + 4], al
mov al, byte [rcx + 5]
mov byte [rdx + 5], al
mov al, byte [rcx + 6]
mov byte [rdx + 6], al
mov al, byte [rcx + 7]
add rcx, 8
mov byte [rdx + 7], al
add rdx, 8
sub r8, r13
jne 0x1400a1e25
jmp 0x1400a1950
cmp r11d, 8
jb 0x1400a1950
mov r8d, r11d
shr r8, 3
mov rax, qword [rcx]
add r11d, 0xfffffff8
mov qword [rdx], rax
add rcx, 8
add rdx, 8
sub r8, r13
jne 0x1400a1e7a
jmp 0x1400a1950
test r11d, r11d
je 0x1400a1213
mov rcx, qword [rbx + 0xe978]
mov rdx, qword [rbx + 0x4ba8]
mov rax, r8
and rax, rcx
add r8, r13
mov rcx, qword [rsi]
mov al, byte [rax + rdx]
mov byte [rdx + rcx], al
mov rax, qword [rsi]
mov rcx, qword [rbx + 0xe978]
add rax, r13
and rax, rcx
mov qword [rsi], rax
add r11d, 0xffffffff
jne 0x1400a1ea6
jmp 0x1400a1213
mov byte [rbx + 0x4dd0], 0
jmp 0x1400a1a41
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x440
mov rax, qword [0x140160370]
xor rax, rsp
mov qword [rsp + 0x430], rax
mov bl, dl
mov rdi, rcx
call fcn.14009bda8
mov dl, bl
mov rcx, rdi
call fcn.14009ea88
mov eax, dword [rdi + 0x30]
xor r8d, r8d
mov edx, r8d
add eax, eax
je 0x1400a1f64
mov eax, edx
inc edx
imul rcx, rax, 0x4af8
add rcx, qword [rdi + 0x28]
mov byte [rcx + 0x4add], r8b
mov byte [rcx + 0x4adf], r8b
mov eax, dword [rdi + 0x30]
add eax, eax
cmp edx, eax
jb 0x1400a1f3e
mov rcx, qword [rdi + 0x28]
lea rbp, [rdi + 0x104]
movups xmm0, xmmword [rdi + 0xf0]
mov ebx, 0x95
mov rdx, rbp
movups xmmword [rcx + 0x24], xmm0
mov eax, dword [rdi + 0x100]
mov dword [rcx + 0x34], eax
lea esi, [rbx - 0x15]
mov rcx, qword [rdi + 0x28]
mov eax, ebx
add rcx, 0x3c
movups xmm0, xmmword [rdx]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rdx + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rdx + 0x20]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rdx + 0x30]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rdx + 0x40]
movups xmmword [rcx + 0x40], xmm0
movups xmm1, xmmword [rdx + 0x50]
movups xmmword [rcx + 0x50], xmm1
movups xmm0, xmmword [rdx + 0x60]
movups xmmword [rcx + 0x60], xmm0
add rcx, rsi
movups xmm1, xmmword [rdx + 0x70]
add rdx, rsi
movups xmmword [rcx - 0x10], xmm1
sub rax, 1
jne 0x1400a1f98
movups xmm0, xmmword [rdx]
mov bl, r8b
mov dword [rsp + 0x24], r8d
mov r14d, r8d
mov byte [rsp + 0x21], bl
movups xmmword [rcx], xmm0
mov rax, qword [rdx + 0x10]
mov r12d, r8d
mov qword [rcx + 0x10], rax
mov eax, dword [rdx + 0x18]
mov dword [rcx + 0x18], eax
mov byte [rsp + 0x20], r8b
mov rcx, qword [rdi]
mov eax, 0x400000
sub eax, r14d
movsxd rdx, r14d
add rdx, qword [rdi + 0x38]
movsxd r8, eax
and r8, 0xfffffffffffffff0
call fcn.140084f6c
xor r10d, r10d
mov dword [rsp + 0x28], eax
test eax, eax
js 0x1400a23f6
add r14d, eax
je 0x1400a23f6
test eax, eax
jle 0x1400a2050
cmp r14d, 0x400
jl 0x1400a200d
cmp r12d, r14d
jge 0x1400a200d
mov eax, dword [rdi + 0x30]
mov r15d, r10d
mov r13d, r10d
add eax, eax
je 0x1400a2173
mov eax, r15d
imul rsi, rax, 0x4af8
mov dword [rsp + 0x24], r15d
add rsi, qword [rdi + 0x28]
mov qword [rsi], rdi
cmp byte [rsi + 0x4adf], r10b
je 0x1400a208e
mov dword [rsi + 0x4ad8], r14d
jmp 0x1400a20cc
lea rbx, [rsi + 8]
movsxd rdx, r12d
add rdx, qword [rdi + 0x38]
mov rcx, rbx
call fcn.1400725ec
xor r10d, r10d
mov eax, r14d
sub eax, r12d
mov qword [rbx], r10
mov dword [rsi + 0x4ad8], eax
je 0x1400a2173
mov bl, byte [rsp + 0x21]
mov byte [rsi + 0x4adc], r10b
mov byte [rsi + 0x20], r10b
mov byte [rsi + 0x38], r10b
cmp dword [rsp + 0x28], r10d
mov byte [rsi + 0x4adf], r10b
sete al
mov dword [rsi + 0x4af0], r15d
mov byte [rsi + 0x4ade], al
cmp byte [rsi + 0x20], r10b
jne 0x1400a211f
lea r8, [rsi + 0x24]
mov byte [rsi + 0x20], 1
lea rdx, [rsi + 8]
mov rcx, rdi
call fcn.14009caa8
xor r10d, r10d
test al, al
je 0x1400a216e
cmp byte [rsi + 0x35], r10b
jne 0x1400a2118
cmp byte [rdi + 0xe8ae], r10b
je 0x1400a216e
mov byte [rdi + 0xe8ae], 1
test bl, bl
jne 0x1400a2131
cmp dword [rsi + 0x24], 0x20000
jg 0x1400a2131
inc r13d
jmp 0x1400a213e
mov bl, 1
mov byte [rsi + 0x4add], 1
mov byte [rsp + 0x21], bl
mov eax, dword [rsi + 0x30]
inc r15d
add eax, dword [rsi + 0x24]
add r12d, eax
mov eax, r14d
sub eax, r12d
js 0x1400a2158
cmp byte [rsi + 0x34], r10b
jne 0x1400a2173
cmp eax, 0x400
jl 0x1400a2173
mov eax, dword [rdi + 0x30]
add eax, eax
cmp r15d, eax
jae 0x1400a2173
jmp 0x1400a2066
mov byte [rsp + 0x20], 1
xor edx, edx
mov eax, r13d
div dword [rdi + 0x30]
mov ebx, r10d
test edx, edx
lea esi, [rax + 1]
cmove esi, eax
test r13d, r13d
je 0x1400a21ec
mov ebp, ebx
mov eax, ebp
lea r8, [rsp + 0x30]
shl rax, 4
inc ebp
add r8, rax
mov eax, ebx
imul rdx, rax, 0x4af8
mov eax, r13d
add rdx, qword [rdi + 0x28]
sub eax, ebx
cmp esi, eax
mov qword [r8], rdx
cmovb eax, esi
mov dword [r8 + 8], eax
cmp r15d, 1
jne 0x1400a21cb
mov rcx, rdi
call fcn.1400a24dc
jmp 0x1400a21db
mov rcx, qword [rdi + 0x20]
lea rdx, [0x1400a2df0]
call fcn.14009708c
add ebx, esi
cmp ebx, r13d
jb 0x1400a218d
lea rbp, [rdi + 0x104]
xor r10d, r10d
test r15d, r15d
je 0x1400a23e7
mov rcx, qword [rdi + 0x20]
call fcn.14009738c
xor r10d, r10d
mov r13d, r10d
test r15d, r15d
je 0x1400a227d
mov esi, r10d
mov rax, qword [rdi + 0x28]
lea rbx, [rsi + rax]
cmp byte [rbx + 0x4add], r10b
jne 0x1400a223c
mov rdx, rbx
mov rcx, rdi
call fcn.14009c4d0
xor r10d, r10d
test al, al
je 0x1400a23f6
cmp byte [rbx + 0x4add], r10b
je 0x1400a2252
mov rdx, rbx
mov rcx, rdi
call fcn.1400a2e30
xor r10d, r10d
test al, al
je 0x1400a23f6
cmp byte [rbx + 0x4adc], r10b
jne 0x1400a23f6
cmp byte [rbx + 0x4adf], r10b
jne 0x1400a22b5
cmp byte [rbx + 0x34], r10b
jne 0x1400a22ad
inc r13d
add rsi, 0x4af8
cmp r13d, r15d
jb 0x1400a220c
mov al, byte [rsp + 0x20]
test al, al
jne 0x1400a23f6
mov ebx, r14d
sub ebx, r12d
cmp ebx, 0x400
jl 0x1400a23c6
mov bl, byte [rsp + 0x21]
cmp r12d, r14d
jge 0x1400a200d
jmp 0x1400a2055
mov al, 1
mov byte [rsp + 0x20], al
jmp 0x1400a2281
mov eax, dword [rbx + 8]
sub eax, dword [rdi + 0x38]
add eax, dword [rbx + 0x18]
cmp r14d, eax
jle 0x1400a23f6
mov rcx, qword [rdi + 0x38]
sub r14d, eax
movsxd rdx, eax
movsxd r8, r14d
add rdx, rcx
call fcn.1400fd890
mov eax, dword [rbx + 0x2c]
xor r10d, r10d
sub eax, dword [rbx + 8]
add dword [rbx + 0x24], eax
mov qword [rbx + 0x2c], r10
mov rax, qword [rdi + 0x38]
mov qword [rbx + 0x18], rax
mov dword [rbx + 8], r10d
test r13d, r13d
je 0x1400a23e4
mov rcx, qword [rdi + 0x28]
mov edx, 0x95
mov rax, rbx
mov r8, qword [rcx + 0x4ae0]
lea r11d, [rdx - 0x15]
mov r9d, dword [rcx + 0x4aec]
movups xmm0, xmmword [rax]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rcx + 0x40], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rcx + 0x50], xmm1
movups xmm0, xmmword [rax + 0x60]
movups xmmword [rcx + 0x60], xmm0
add rcx, r11
movups xmm1, xmmword [rax + 0x70]
add rax, r11
movups xmmword [rcx - 0x10], xmm1
sub rdx, 1
jne 0x1400a231f
movups xmm0, xmmword [rax]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rcx + 0x40], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rcx + 0x50], xmm1
movups xmm0, xmmword [rax + 0x60]
movups xmmword [rcx + 0x60], xmm0
mov rax, qword [rax + 0x70]
mov qword [rcx + 0x70], rax
mov rax, qword [rdi + 0x28]
mov qword [rax + 0x4ae0], r8
mov rax, qword [rdi + 0x28]
mov dword [rax + 0x4aec], r9d
mov byte [rbx + 0x4adf], r10b
jmp 0x1400a23e4
test ebx, ebx
js 0x1400a23f6
jle 0x1400a23e1
mov rcx, qword [rdi + 0x38]
movsxd rdx, r12d
add rdx, rcx
movsxd r8, ebx
call fcn.1400fd890
xor r10d, r10d
mov r14d, ebx
mov r12d, r10d
mov bl, byte [rsp + 0x21]
cmp byte [rsp + 0x20], r10b
je 0x1400a200d
mov rax, qword [rdi + 0xe978]
mov rcx, rdi
and qword [rdi + 0xd8], rax
call fcn.14009f114
mov ecx, dword [rsp + 0x24]
mov ebx, 0x95
imul rdx, rcx, 0x4af8
mov rcx, qword [rdi + 0x28]
lea esi, [rbx - 0x15]
movups xmm0, xmmword [rdx + rcx + 0x24]
lea r8, [rdx + 0x3c]
add r8, rcx
movups xmmword [rdi + 0xf0], xmm0
mov eax, dword [rdx + rcx + 0x34]
mov dword [rdi + 0x100], eax
movups xmm0, xmmword [r8]
movups xmmword [rbp], xmm0
movups xmm1, xmmword [r8 + 0x10]
movups xmmword [rbp + 0x10], xmm1
movups xmm0, xmmword [r8 + 0x20]
movups xmmword [rbp + 0x20], xmm0
movups xmm1, xmmword [r8 + 0x30]
movups xmmword [rbp + 0x30], xmm1
movups xmm0, xmmword [r8 + 0x40]
movups xmmword [rbp + 0x40], xmm0
movups xmm1, xmmword [r8 + 0x50]
movups xmmword [rbp + 0x50], xmm1
movups xmm0, xmmword [r8 + 0x60]
movups xmmword [rbp + 0x60], xmm0
add rbp, rsi
movups xmm1, xmmword [r8 + 0x70]
add r8, rsi
movups xmmword [rbp - 0x10], xmm1
sub rbx, 1
jne 0x1400a2440
movups xmm0, xmmword [r8]
movups xmmword [rbp], xmm0
mov rax, qword [r8 + 0x10]
mov qword [rbp + 0x10], rax
mov eax, dword [r8 + 0x18]
mov dword [rbp + 0x18], eax
mov rcx, qword [rsp + 0x430]
xor rcx, rsp
call fcn.1400fc4d0
lea r11, [rsp + 0x440]
mov rbx, qword [r11 + 0x38]
mov rbp, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret