Function at 0x140106c34
Capabilities:
Encrypt data using speck
Resolve function by parsing pe exports

Disassembly:
sub rsp, 0x28
cmp edx, 0xf
je 0x140106cbc
cmp edx, 0x14
je 0x140106ca7
cmp edx, 0x1a
je 0x140106ca7
cmp edx, 0x1d
je 0x140106c92
cmp edx, 0x32
je 0x140106c56
cmp edx, 0x46
jne 0x140106ccd
cmp edx, 0x46
sete al
cmp dword [rcx + 0x30], 1
mov byte [rcx + 0xb350], al
jbe 0x140106c86
cmp byte [rcx + 0x2fc9], 0
jne 0x140106c86
cmp byte [rcx + 0x2fa8], 0
jne 0x140106c86
mov dl, r8b
add rsp, 0x28
jmp 0x14010dc1c
mov dl, r8b
add rsp, 0x28
jmp 0x14010ceb0
cmp byte [rcx + 0x2fa8], 0
jne 0x140106ccd
mov dl, r8b
add rsp, 0x28
jmp 0x14010bbd4
cmp byte [rcx + 0x2fa8], 0
jne 0x140106ccd
mov dl, r8b
add rsp, 0x28
jmp 0x14010b494
cmp byte [rcx + 0x2fa8], 0
jne 0x140106ccd
mov dl, r8b
call fcn.14010b2dc
add rsp, 0x28
ret
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
push r12
push r13
sub rsp, 0x20
cmp byte [rcx + 0x2fb8], 0
mov dil, dl
mov rbx, rcx
je 0x14010b4cb
mov rax, qword [rcx + 0xd0]
mov qword [rcx + 0xb8], rax
jmp 0x14010b505
call fcn.14010a740
mov rcx, rbx
call fcn.14010a8f8
test al, al
je 0x14010bbbb
test dil, dil
je 0x14010b4ee
cmp byte [rbx + 0xb2a4], 0
jne 0x14010b4fe
mov rcx, rbx
call fcn.140108e04
test al, al
je 0x14010bbbb
dec qword [rbx + 0x2fb0]
cmp qword [rbx + 0x2fb0], 0
jl 0x14010bbab
mov r12d, 0x10
lea rsi, [0x140000000]
lea r13d, [r12 - 1]
mov rax, qword [rbx + 0xb348]
and qword [rbx + 0xb8], rax
mov rcx, qword [rbx + 0xb8]
cmp qword [rbx + 0xc0], rcx
mov qword [rbx + 0xc0], rcx
seta al
or byte [rbx + 0xc8], al
mov eax, dword [rbx + 0xd8]
sub eax, 0x1e
cmp dword [rbx + 8], eax
jle 0x14010b56f
mov rcx, rbx
call fcn.14010a8f8
test al, al
je 0x14010bbab
mov rcx, qword [rbx + 0xd0]
mov rdx, qword [rbx + 0xb8]
mov rax, rcx
sub rax, rdx
and rax, qword [rbx + 0xb348]
cmp rax, 0x10e
jae 0x14010b5ac
cmp rcx, rdx
je 0x14010b5ac
mov rcx, rbx
call fcn.14010aae4
cmp byte [rbx + 0x2fb8], 0
jne 0x14010bbbb
cmp byte [rbx + 0x62b8], 0
mov r11d, dword [rbx + 0xc]
je 0x14010b6f1
movsxd rcx, dword [rbx + 8]
mov eax, dword [rbx + 0x62c0]
imul r8, rax, 0x8ec
mov rax, qword [rbx + 0x18]
add r8, 0x3b04
add r8, rbx
mov edx, dword [rax + rcx]
mov ecx, r12d
sub ecx, r11d
bswap edx
shr edx, cl
mov ecx, dword [r8 + 0x84]
and edx, 0xfffe
cmp edx, dword [r8 + rcx*4 + 4]
jae 0x14010b62c
mov eax, r12d
sub eax, ecx
mov cl, al
shr rdx, cl
movzx ecx, byte [rdx + r8 + 0x88]
add ecx, r11d
mov eax, ecx
shr eax, 3
add dword [rbx + 8], eax
and ecx, 7
mov dword [rbx + 0xc], ecx
movzx eax, word [r8 + rdx*2 + 0x288]
jmp 0x14010b690
inc ecx
mov r10d, r13d
cmp ecx, r13d
jae 0x14010b655
mov r9d, ecx
inc r9
lea r9, [r8 + r9*4]
cmp edx, dword [r9]
jb 0x14010b652
inc ecx
add r9, 4
cmp ecx, r13d
jb 0x14010b640
jmp 0x14010b655
mov r10d, ecx
lea ecx, [r11 + r10]
mov eax, ecx
and ecx, 7
shr eax, 3
add dword [rbx + 8], eax
lea eax, [r10 - 1]
mov dword [rbx + 0xc], ecx
mov ecx, r12d
sub ecx, r10d
sub edx, dword [r8 + rax*4 + 4]
mov eax, r10d
shr edx, cl
add edx, dword [r8 + rax*4 + 0x44]
cmp edx, dword [r8]
sbb eax, eax
and eax, edx
movzx eax, word [r8 + rax*2 + 0x688]
movzx edx, ax
mov rcx, rbx
cmp edx, 0x100
jne 0x14010b6b0
call fcn.140108e04
test al, al
je 0x14010bbab
jmp 0x14010bb9d
call fcn.140106494
mov rcx, qword [rbx + 0xb8]
mov rdx, qword [rbx + 0x2d98]
mov byte [rdx + rcx], al
inc dword [rbx + 0x62c0]
inc qword [rbx + 0xb8]
mov eax, dword [rbx + 0x62c0]
cmp eax, dword [rbx + 0x62bc]
jne 0x14010b7e4
and dword [rbx + 0x62c0], 0
jmp 0x14010b7e4
movsxd r10, dword [rbx + 8]
mov ecx, r12d
mov rbp, qword [rbx + 0x18]
sub ecx, r11d
mov edx, dword [r10 + rbp]
bswap edx
shr edx, cl
mov ecx, dword [rbx + 0x178]
and edx, 0xfffe
cmp edx, dword [rbx + rcx*4 + 0xf8]
jae 0x14010b750
mov eax, r12d
sub eax, ecx
mov cl, al
shr rdx, cl
movzx r8d, byte [rdx + rbx + 0x17c]
add r8d, r11d
mov edi, r8d
shr edi, 3
add edi, r10d
and r8d, 7
mov dword [rbx + 8], edi
mov dword [rbx + 0xc], r8d
movzx eax, word [rbx + rdx*2 + 0x37c]
jmp 0x14010b7c1
inc ecx
mov r9d, r13d
cmp ecx, r13d
jae 0x14010b77a
mov r8d, ecx
add r8, 0x3e
lea r8, [rbx + r8*4]
cmp edx, dword [r8]
jb 0x14010b777
inc ecx
add r8, 4
cmp ecx, r13d
jb 0x14010b765
jmp 0x14010b77a
mov r9d, ecx
lea r8d, [r11 + r9]
mov ecx, r12d
sub ecx, r9d
lea eax, [r9 - 1]
mov edi, r8d
and r8d, 7
mov dword [rbx + 0xc], r8d
shr edi, 3
add edi, r10d
mov dword [rbx + 8], edi
sub edx, dword [rbx + rax*4 + 0xf8]
mov eax, r9d
shr edx, cl
add edx, dword [rbx + rax*4 + 0x138]
cmp edx, dword [rbx + 0xf4]
sbb eax, eax
and eax, edx
movzx eax, word [rbx + rax*2 + 0x77c]
movzx edx, ax
cmp edx, 0x100
jae 0x14010b7f0
mov rax, qword [rbx + 0xb8]
mov rcx, qword [rbx + 0x2d98]
mov byte [rcx + rax], dl
inc qword [rbx + 0xb8]
dec qword [rbx + 0x2fb0]
jmp 0x14010bb9d
mov eax, 0x10d
cmp edx, eax
jbe 0x14010b9a6
lea eax, [rdx - 0x10e]
movzx r9d, byte [rax + rsi + 0x22e7c0]
movzx r10d, byte [rax + rsi + 0x22e7e0]
add r9d, 3
test r10d, r10d
je 0x14010b852
movsxd rax, edi
mov ecx, r12d
sub ecx, r8d
add r8d, r10d
mov edx, dword [rax + rbp]
mov eax, r8d
bswap edx
shr edx, cl
mov ecx, r12d
sub ecx, r10d
shr eax, 3
add eax, edi
movzx edx, dx
shr edx, cl
add r9d, edx
mov dword [rbx + 8], eax
and r8d, 7
mov dword [rbx + 0xc], r8d
movsxd rdi, dword [rbx + 8]
mov ecx, r12d
mov rsi, qword [rbx + 0x18]
sub ecx, r8d
mov edx, dword [rdi + rsi]
bswap edx
shr edx, cl
mov ecx, dword [rbx + 0xa64]
and edx, 0xfffe
cmp edx, dword [rbx + rcx*4 + 0x9e4]
jae 0x14010b8af
mov eax, r12d
sub eax, ecx
mov cl, al
shr rdx, cl
movzx r10d, byte [rdx + rbx + 0xa68]
add r10d, r8d
mov eax, r10d
shr eax, 3
add edi, eax
and r10d, 7
mov dword [rbx + 8], edi
mov dword [rbx + 0xc], r10d
movzx eax, word [rbx + rdx*2 + 0xc68]
jmp 0x14010b922
inc ecx
mov r11d, r13d
cmp ecx, r13d
jae 0x14010b8dc
mov r10d, ecx
add r10, 0x279
lea r10, [rbx + r10*4]
cmp edx, dword [r10]
jb 0x14010b8d9
inc ecx
add r10, 4
cmp ecx, r13d
jb 0x14010b8c7
jmp 0x14010b8dc
mov r11d, ecx
lea r10d, [r8 + r11]
mov ecx, r12d
mov eax, r10d
sub ecx, r11d
shr eax, 3
and r10d, 7
add edi, eax
mov dword [rbx + 0xc], r10d
mov dword [rbx + 8], edi
lea eax, [r11 - 1]
sub edx, dword [rbx + rax*4 + 0x9e4]
mov eax, r11d
shr edx, cl
add edx, dword [rbx + rax*4 + 0xa24]
cmp edx, dword [rbx + 0x9e0]
sbb eax, eax
and eax, edx
movzx eax, word [rbx + rax*2 + 0x1068]
movzx eax, ax
lea rcx, [0x140000000]
mov r8d, dword [rcx + rax*4 + 0x22e800]
movzx r11d, byte [rax + rcx + 0x22e8c0]
inc r8d
test r11d, r11d
je 0x14010b977
movsxd rax, edi
mov ecx, r12d
sub ecx, r10d
mov edx, dword [rax + rsi]
bswap edx
shr edx, cl
mov ecx, r12d
sub ecx, r11d
movzx edx, dx
shr edx, cl
lea ecx, [r10 + r11]
mov eax, ecx
add r8d, edx
shr eax, 3
add eax, edi
and ecx, 7
mov dword [rbx + 8], eax
mov dword [rbx + 0xc], ecx
cmp r8d, 0x2000
jb 0x14010b98f
inc r9d
cmp r8d, 0x40000
jb 0x14010b98f
inc r9d
mov edx, r9d
mov rcx, rbx
call fcn.140105f84
lea rsi, [0x140000000]
jmp 0x14010bb9d
jne 0x14010b9b0
mov rcx, rbx
jmp 0x14010b69e
cmp edx, 0x100
jne 0x14010b9ca
mov r8d, dword [rbx + 0xb4]
mov edx, dword [rbx + 0xb0]
jmp 0x14010bb95
cmp edx, 0x105
jae 0x14010bb3b
mov rcx, qword [rbx + 0xa8]
lea eax, [rdx - 0x100]
sub rcx, rax
movsxd rax, edi
and ecx, 3
mov edx, dword [rax + rbp]
mov r11d, dword [rbx + rcx*8 + 0x88]
mov ecx, r12d
sub ecx, r8d
bswap edx
shr edx, cl
mov ecx, dword [rbx + 0x1c3c]
and edx, 0xfffe
cmp edx, dword [rbx + rcx*4 + 0x1bbc]
jae 0x14010ba49
mov eax, r12d
sub eax, ecx
mov cl, al
shr rdx, cl
movzx r10d, byte [rdx + rbx + 0x1c40]
add r10d, r8d
mov eax, r10d
shr eax, 3
add edi, eax
and r10d, 7
mov dword [rbx + 8], edi
mov dword [rbx + 0xc], r10d
movzx eax, word [rbx + rdx*2 + 0x1e40]
jmp 0x14010babf
inc ecx
mov esi, r13d
cmp ecx, r13d
jae 0x14010ba75
mov r9d, ecx
add r9, 0x6ef
lea r9, [rbx + r9*4]
cmp edx, dword [r9]
jb 0x14010ba73
inc ecx
add r9, 4
cmp ecx, r13d
jb 0x14010ba61
jmp 0x14010ba75
mov esi, ecx
lea r10d, [r8 + rsi]
mov ecx, r12d
mov eax, r10d
sub ecx, esi
shr eax, 3
and r10d, 7
add edi, eax
mov dword [rbx + 0xc], r10d
mov dword [rbx + 8], edi
lea eax, [rsi - 1]
sub edx, dword [rbx + rax*4 + 0x1bbc]
mov eax, esi
lea rsi, [0x140000000]
shr edx, cl
add edx, dword [rbx + rax*4 + 0x1bfc]
cmp edx, dword [rbx + 0x1bb8]
sbb eax, eax
and eax, edx
movzx eax, word [rbx + rax*2 + 0x2240]
movzx eax, ax
movzx r9d, byte [rax + rsi + 0x22e7c0]
movzx r8d, byte [rax + rsi + 0x22e7e0]
add r9d, 2
test r8d, r8d
je 0x14010bb0f
movsxd rax, edi
mov ecx, r12d
sub ecx, r10d
mov edx, dword [rax + rbp]
bswap edx
shr edx, cl
mov ecx, r12d
sub ecx, r8d
movzx edx, dx
shr edx, cl
lea ecx, [r10 + r8]
mov eax, ecx
add r9d, edx
shr eax, 3
add eax, edi
and ecx, 7
mov dword [rbx + 8], eax
mov dword [rbx + 0xc], ecx
cmp r11d, 0x101
jb 0x14010bb33
inc r9d
cmp r11d, 0x2000
jb 0x14010bb33
inc r9d
cmp r11d, 0x40000
jb 0x14010bb33
inc r9d
mov r8d, r11d
mov edx, r9d
jmp 0x14010bb95
lea eax, [rdx - 0x105]
movzx r9d, byte [rax + rsi + 0x22e8f0]
movzx r10d, byte [rax + rsi + 0x22e8f8]
inc r9d
test r10d, r10d
je 0x14010bb8d
movsxd rax, edi
mov ecx, r12d
sub ecx, r8d
mov edx, dword [rax + rbp]
bswap edx
shr edx, cl
mov ecx, r12d
sub ecx, r10d
movzx edx, dx
shr edx, cl
lea ecx, [r8 + r10]
mov eax, ecx
add r9d, edx
shr eax, 3
add eax, edi
and ecx, 7
mov dword [rbx + 8], eax
mov dword [rbx + 0xc], ecx
mov r8d, r9d
mov edx, 2
mov rcx, rbx
call fcn.140105f84
cmp qword [rbx + 0x2fb0], 0
jge 0x14010b525
mov rcx, rbx
call fcn.140108bf8
mov rcx, rbx
call fcn.14010aae4
mov rbx, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x50]
add rsp, 0x20
pop r13
pop r12
pop rdi
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 r14, [0x140000000]
cmp dword [0x140243874], r12d
mov dil, dl
mov rbx, rcx
mov r13d, 1
jne 0x14010bc82
mov r15d, r12d
lea r14, [0x14022e940]
mov esi, r12d
mov ebp, r12d
mov edi, r12d
cmp dword [r14], r12d
jle 0x14010bc67
mov r12d, dword [r14]
lea rax, [0x140000000]
mov ecx, esi
mov r8d, r12d
shl r13d, cl
mov dl, sil
lea rcx, [rax + 0x243960]
add rcx, rdi
call fcn.1401b0b80
lea rax, [0x140000000]
mov dword [rax + rdi*4 + 0x243870], r15d
inc rdi
add r15d, r13d
sub r12, 1
jne 0x14010bc4e
lea r13d, [r12 + 1]
add ebp, r13d
add r14, 4
add esi, r13d
cmp ebp, 0x13
jb 0x14010bc1e
mov dil, byte [rsp + 0x68]
lea r14, [0x140000000]
mov byte [rbx + 0x2fc8], r13b
cmp byte [rbx + 0x2fb8], r12b
jne 0x14010bccb
mov dl, dil
mov rcx, rbx
call fcn.14010a740
mov rcx, rbx
call fcn.14010a850
test al, al
je 0x14010ce9a
test dil, dil
je 0x14010bcbb
cmp byte [rbx + 0xb2a5], r12b
jne 0x14010bccb
mov rcx, rbx
call fcn.140109254
test al, al
je 0x14010ce9a
mov r15d, dword [rsp + 0x60]
mov rax, qword [rbx + 0xb348]
and qword [rbx + 0xb8], rax
mov rcx, qword [rbx + 0xb8]
cmp qword [rbx + 0xc0], rcx
mov qword [rbx + 0xc0], rcx
seta al
or byte [rbx + 0xc8], al
mov eax, dword [rbx + 0xdc]
cmp dword [rbx + 8], eax
jle 0x14010bd17
mov rcx, rbx
call fcn.14010a850
test al, al
je 0x14010ce92
mov rcx, qword [rbx + 0xd0]
mov rdx, qword [rbx + 0xb8]
mov rax, rcx
sub rax, rdx
and rax, qword [rbx + 0xb348]
cmp rax, 0x104
ja 0x14010bd68
cmp rcx, rdx
je 0x14010bd68
mov rcx, rbx
call fcn.14010ab70
mov rax, qword [rbx + 0x2fb0]
cmp qword [rbx + 0x2fc0], rax
jg 0x14010ce9a
cmp byte [rbx + 0x2fb8], r12b
jne 0x14010ce7a
cmp dword [rbx + 0xb2a0], r13d
jne 0x14010c26a
lea rdi, [rbx + 0x6440]
mov rcx, rdi
call fcn.1401067c0
mov esi, eax
cmp eax, 0xffffffff
je 0x14010ce83
cmp eax, dword [rbx + 0xb108]
jne 0x14010c253
mov rcx, rdi
call fcn.1401067c0
cmp eax, 0xffffffff
je 0x14010ce83
test eax, eax
jne 0x14010bdc5
mov rcx, rbx
call fcn.140109254
test al, al
je 0x14010ce92
jmp 0x14010bcd0
cmp eax, 2
je 0x14010ce92
cmp eax, 3
jne 0x14010bddd
mov rcx, rbx
call fcn.140109c2c
jmp 0x14010bdb8
cmp eax, 4
jne 0x14010c06e
mov esi, r12d
mov r14b, r12b
mov ebp, r12d
test r14b, r14b
jne 0x14010ce92
mov rcx, rdi
call fcn.1401067c0
cmp eax, 0xffffffff
jne 0x14010be19
mov rcx, rdi
call fcn.140105e3c
mov dword [rbx + 0xb2a0], r12d
mov r14b, r13b
jmp 0x14010be26
movzx eax, al
cmp ebp, 3
je 0x14010be39
shl esi, 8
add esi, eax
add ebp, r13d
cmp ebp, 4
jl 0x14010bdef
test r14b, r14b
jne 0x14010ce92
jmp 0x14010be3c
mov r15d, eax
mov r10, qword [rbx + 0xb8]
lea r8d, [rsi + 2]
mov r11, r10
lea r9d, [r15 + 0x20]
sub r11, r8
cmp r8, r10
jbe 0x14010beb9
mov rax, qword [rbx + 0xb340]
add r11, rax
cmp r8, rax
ja 0x14010be6e
cmp byte [rbx + 0xc8], r12b
jne 0x14010beb9
lea r14, [0x140000000]
test r9d, r9d
je 0x14010bcd0
mov rax, qword [rbx + 0x2d98]
mov byte [r10 + rax], r12b
mov rdx, qword [rbx + 0xb8]
mov rcx, qword [rbx + 0xb340]
inc rdx
mov r10, rdx
sub r10, rcx
cmp rdx, rcx
cmovb r10, rdx
mov qword [rbx + 0xb8], r10
add r9d, 0xffffffff
jne 0x14010be7e
jmp 0x14010c062
mov rdi, qword [rbx + 0xb340]
lea rax, [rdi - 0x1004]
cmp r11, rax
jae 0x14010c003
cmp r10, rax
jae 0x14010c003
mov rax, qword [rbx + 0x2d98]
lea rcx, [r11 + rax]
mov r11d, r9d
lea rdx, [rax + r10]
lea rax, [r9 + r10]
mov qword [rbx + 0xb8], rax
cmp r9d, 8
jb 0x14010bf64
cmp r8, r11
mov r8d, r9d
jae 0x14010bf49
shr r8, 3
mov al, byte [rcx]
add r9d, 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 0x14010bf08
jmp 0x14010bf64
shr r8, 3
mov rax, qword [rcx]
add r9d, 0xfffffff8
mov qword [rdx], rax
add rcx, 8
add rdx, 8
sub r8, r13
jne 0x14010bf4d
lea r14, [0x140000000]
test r9d, r9d
je 0x14010bcd0
mov al, byte [rcx]
lea r14, [0x140000000]
mov byte [rdx], al
cmp r9d, r13d
jbe 0x14010bcd0
mov al, byte [rcx + 1]
lea r14, [0x140000000]
mov byte [rdx + 1], al
cmp r9d, 2
jbe 0x14010bcd0
mov al, byte [rcx + 2]
lea r14, [0x140000000]
mov byte [rdx + 2], al
cmp r9d, 3
jbe 0x14010bcd0
mov al, byte [rcx + 3]
lea r14, [0x140000000]
mov byte [rdx + 3], al
cmp r9d, 4
jbe 0x14010bcd0
mov al, byte [rcx + 4]
lea r14, [0x140000000]
mov byte [rdx + 4], al
cmp r9d, 5
jbe 0x14010bcd0
mov al, byte [rcx + 5]
lea r14, [0x140000000]
mov byte [rdx + 5], al
cmp r9d, 6
jbe 0x14010bcd0
mov al, byte [rcx + 6]
mov byte [rdx + 6], al
jmp 0x14010c062
lea r14, [0x140000000]
test r9d, r9d
je 0x14010bcd0
mov rdx, qword [rbx + 0x2d98]
mov rcx, r11
mov rax, rcx
mov r8, r11
sub rax, rdi
add r11, r13
cmp rcx, rdi
cmovb rax, rcx
mov al, byte [rax + rdx]
mov byte [r10 + rdx], al
mov rcx, qword [rbx + 0xb8]
mov rdi, qword [rbx + 0xb340]
inc rcx
mov r10, rcx
sub r10, rdi
cmp rcx, rdi
cmovb r10, rcx
mov qword [rbx + 0xb8], r10
add r9d, 0xffffffff
jne 0x14010c013
lea r14, [0x140000000]
jmp 0x14010bcd0
cmp eax, 5
jne 0x14010c253
mov rcx, rdi
call fcn.1401067c0
cmp eax, 0xffffffff
je 0x14010ce83
mov r10, qword [rbx + 0xb8]
lea r9d, [rax + 4]
lea r11, [r10 - 1]
cmp r10, r13
jae 0x14010c0f8
mov rax, qword [rbx + 0xb340]
add r11, rax
cmp rax, r13
jb 0x14010c0b4
cmp byte [rbx + 0xc8], r12b
jne 0x14010c0f8
test r9d, r9d
je 0x14010bcd0
mov rax, qword [rbx + 0x2d98]
mov byte [r10 + rax], r12b
mov rdx, qword [rbx + 0xb8]
mov rcx, qword [rbx + 0xb340]
inc rdx
mov r10, rdx
sub r10, rcx
cmp rdx, rcx
cmovb r10, rdx
mov qword [rbx + 0xb8], r10
add r9d, 0xffffffff
jne 0x14010c0bd
jmp 0x14010bcd0
mov rdi, qword [rbx + 0xb340]
lea rax, [rdi - 0x1004]
cmp r11, rax
jae 0x14010c1f6
cmp r10, rax
jae 0x14010c1f6
mov rax, qword [rbx + 0x2d98]
lea rcx, [r11 + rax]
lea rdx, [rax + r10]
mov eax, r9d
add rax, r10
mov qword [rbx + 0xb8], rax
cmp r9d, r13d
jbe 0x14010c185
cmp r9d, 8
jb 0x14010c18e
mov r8d, r9d
shr r8, 3
mov al, byte [rcx]
add r9d, 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 0x14010c146
test r9d, r9d
je 0x14010bcd0
mov al, byte [rcx]
mov byte [rdx], al
cmp r9d, r13d
jbe 0x14010bcd0
mov al, byte [rcx + 1]
mov byte [rdx + 1], al
cmp r9d, 2
jbe 0x14010bcd0
mov al, byte [rcx + 2]
mov byte [rdx + 2], al
cmp r9d, 3
jbe 0x14010bcd0
mov al, byte [rcx + 3]
mov byte [rdx + 3], al
cmp r9d, 4
jbe 0x14010bcd0
mov al, byte [rcx + 4]
mov byte [rdx + 4], al
cmp r9d, 5
jbe 0x14010bcd0
mov al, byte [rcx + 5]
mov byte [rdx + 5], al
cmp r9d, 6
jbe 0x14010bcd0
mov al, byte [rcx + 6]
mov byte [rdx + 6], al
jmp 0x14010bcd0
test r9d, r9d
je 0x14010bcd0
mov rdx, qword [rbx + 0x2d98]
mov rcx, r11
mov rax, rcx
mov r8, r11
sub rax, rdi
add r11, r13
cmp rcx, rdi
cmovb rax, rcx
mov al, byte [rax + rdx]
mov byte [r10 + rdx], al
mov rcx, qword [rbx + 0xb8]
mov rdi, qword [rbx + 0xb340]
inc rcx
mov r10, rcx
sub r10, rdi
cmp rcx, rdi
cmovb r10, rcx
mov qword [rbx + 0xb8], r10
add r9d, 0xffffffff
jne 0x14010c1ff
jmp 0x14010bcd0
mov rcx, qword [rbx + 0x2d98]
mov rax, qword [rbx + 0xb8]
mov byte [rcx + rax], sil
jmp 0x14010c368
movsxd r10, dword [rbx + 8]
mov ecx, 0x10
mov rdi, qword [rbx + 0x18]
mov r11d, dword [rbx + 0xc]
sub ecx, r11d
mov edx, dword [r10 + rdi]
bswap edx
shr edx, cl
mov ecx, dword [rbx + 0x178]
and edx, 0xfffe
cmp edx, dword [rbx + rcx*4 + 0xf8]
jae 0x14010c2d3
mov eax, 0x10
sub eax, ecx
mov cl, al
shr rdx, cl
movzx r8d, byte [rdx + rbx + 0x17c]
add r8d, r11d
mov r11d, r8d
shr r11d, 3
add r11d, r10d
and r8d, 7
mov dword [rbx + 8], r11d
mov dword [rbx + 0xc], r8d
movzx eax, word [rbx + rdx*2 + 0x37c]
jmp 0x14010c34c
mov r9d, 0xf
inc ecx
cmp ecx, r9d
jae 0x14010c301
mov r8d, ecx
add r8, 0x3e
lea r8, [rbx + r8*4]
cmp edx, dword [r8]
jb 0x14010c2fe
add ecx, r13d
add r8, 4
cmp ecx, r9d
jb 0x14010c2eb
jmp 0x14010c301
mov r9d, ecx
lea r8d, [r11 + r9]
mov ecx, 0x10
sub ecx, r9d
lea eax, [r9 - 1]
mov r11d, r8d
and r8d, 7
mov dword [rbx + 0xc], r8d
shr r11d, 3
add r11d, r10d
mov dword [rbx + 8], r11d
sub edx, dword [rbx + rax*4 + 0xf8]
mov eax, r9d
shr edx, cl
add edx, dword [rbx + rax*4 + 0x138]
cmp edx, dword [rbx + 0xf4]
sbb eax, eax
and eax, edx
movzx eax, word [rbx + rax*2 + 0x77c]
movzx edx, ax
cmp edx, 0x100
jae 0x14010c374
mov rcx, qword [rbx + 0x2d98]
mov rax, qword [rbx + 0xb8]
mov byte [rcx + rax], dl
add qword [rbx + 0xb8], r13
jmp 0x14010bcd0
cmp edx, 0x10f
jb 0x14010c82b
lea eax, [rdx - 0x10f]
movzx r9d, byte [rax + r14 + 0x22e900]
movzx r10d, byte [rax + r14 + 0x22e920]
add r9d, 3
test r10d, r10d
je 0x14010c3da
movsxd rax, r11d
mov ecx, 0x10
sub ecx, r8d
add r8d, r10d
mov edx, dword [rax + rdi]
mov eax, r8d
bswap edx
shr edx, cl
mov ecx, 0x10
sub ecx, r10d
shr eax, 3
add eax, r11d
movzx edx, dx
shr edx, cl
add r9d, edx
mov dword [rbx + 8], eax
and r8d, 7
mov dword [rbx + 0xc], r8d
movsxd rsi, dword [rbx + 8]
mov ecx, 0x10
mov rbp, qword [rbx + 0x18]
sub ecx, r8d
mov edx, dword [rsi + rbp]
bswap edx
shr edx, cl
mov ecx, dword [rbx + 0xa64]
and edx, 0xfffe
cmp edx, dword [rbx + rcx*4 + 0x9e4]
jae 0x14010c43b
mov eax, 0x10
sub eax, ecx
mov cl, al
shr rdx, cl
movzx r11d, byte [rdx + rbx + 0xa68]
add r11d, r8d
mov eax, r11d
shr eax, 3
add esi, eax
and r11d, 7
mov dword [rbx + 8], esi
mov dword [rbx + 0xc], r11d
movzx ecx, word [rbx + rdx*2 + 0xc68]
jmp 0x14010c4ad
mov edi, 0xf
inc ecx
cmp ecx, edi
jae 0x14010c468
mov r10d, ecx
add r10, 0x279
lea r10, [rbx + r10*4]
cmp edx, dword [r10]
jb 0x14010c466
add ecx, r13d
add r10, 4
cmp ecx, edi
jb 0x14010c454
jmp 0x14010c468
mov edi, ecx
lea r11d, [rdi + r8]
mov ecx, 0x10
mov eax, r11d
sub ecx, edi
shr eax, 3
and r11d, 7
add esi, eax
mov dword [rbx + 0xc], r11d
mov dword [rbx + 8], esi
lea eax, [rdi - 1]
sub edx, dword [rbx + rax*4 + 0x9e4]
shr edx, cl
mov eax, edi
add edx, dword [rbx + rax*4 + 0xa24]
cmp edx, dword [rbx + 0x9e0]
sbb eax, eax
and eax, edx
movzx ecx, word [rbx + rax*2 + 0x1068]
movzx eax, cx
mov r10d, dword [r14 + rax*4 + 0x243870]
movzx edi, byte [rax + r14 + 0x243960]
add r10d, r13d
test edi, edi
je 0x14010c656
cmp cx, 9
jbe 0x14010c621
cmp edi, 4
jbe 0x14010c51c
movsxd rax, esi
mov ecx, 0x10
sub ecx, r11d
add r11d, 0xfffffffc
add r11d, edi
mov edx, dword [rax + rbp]
mov eax, r11d
shr eax, 3
add eax, esi
bswap edx
shr edx, cl
mov ecx, 0x14
sub ecx, edi
movzx r8d, dx
shr r8d, cl
shl r8d, 4
add r10d, r8d
mov dword [rbx + 8], eax
and r11d, 7
mov dword [rbx + 0xc], r11d
mov eax, dword [rbx + 0x643c]
test eax, eax
jle 0x14010c533
dec eax
mov dword [rbx + 0x643c], eax
jmp 0x14010c60d
movsxd rcx, dword [rbx + 8]
mov rax, qword [rbx + 0x18]
mov edx, dword [rcx + rax]
mov ecx, 0x10
sub ecx, r11d
bswap edx
shr edx, cl
mov ecx, dword [rbx + 0x1350]
and edx, 0xfffe
cmp edx, dword [rbx + rcx*4 + 0x12d0]
jae 0x14010c58e
mov eax, 0x10
sub eax, ecx
mov cl, al
shr rdx, cl
movzx ecx, byte [rdx + rbx + 0x1354]
add ecx, r11d
mov eax, ecx
shr eax, 3
add dword [rbx + 8], eax
and ecx, 7
mov dword [rbx + 0xc], ecx
movzx eax, word [rbx + rdx*2 + 0x1554]
jmp 0x14010c5fb
mov edi, 0xf
inc ecx
cmp ecx, edi
jae 0x14010c5bb
mov r8d, ecx
add r8, 0x4b4
lea r8, [rbx + r8*4]
cmp edx, dword [r8]
jb 0x14010c5b9
add ecx, r13d
add r8, 4
cmp ecx, edi
jb 0x14010c5a7
jmp 0x14010c5bb
mov edi, ecx
lea ecx, [rdi + r11]
mov eax, ecx
and ecx, 7
shr eax, 3
add dword [rbx + 8], eax
lea eax, [rdi - 1]
mov dword [rbx + 0xc], ecx
mov ecx, 0x10
sub ecx, edi
sub edx, dword [rbx + rax*4 + 0x12d0]
mov eax, edi
shr edx, cl
add edx, dword [rbx + rax*4 + 0x1310]
cmp edx, dword [rbx + 0x12cc]
sbb eax, eax
and eax, edx
movzx eax, word [rbx + rax*2 + 0x1954]
movzx eax, ax
cmp eax, 0x10
jne 0x14010c616
mov dword [rbx + 0x643c], 0xf
add r10d, dword [rbx + 0x6438]
jmp 0x14010c656
add r10d, eax
mov dword [rbx + 0x6438], eax
jmp 0x14010c656
movsxd rax, esi
mov ecx, 0x10
sub ecx, r11d
mov edx, dword [rax + rbp]
bswap edx
shr edx, cl
mov ecx, 0x10
sub ecx, edi
movzx edx, dx
shr edx, cl
lea ecx, [r11 + rdi]
mov eax, ecx
add r10d, edx
shr eax, 3
add eax, esi
and ecx, 7
mov dword [rbx + 8], eax
mov dword [rbx + 0xc], ecx
cmp r10d, 0x2000
jb 0x14010c66e
add r9d, r13d
cmp r10d, 0x40000
jb 0x14010c66e
add r9d, r13d
mov rax, qword [rbx + 0x98]
mov r8d, r10d
mov qword [rbx + 0xa0], rax
mov rax, qword [rbx + 0x90]
mov qword [rbx + 0x98], rax
mov rax, qword [rbx + 0x88]
mov qword [rbx + 0x90], rax
mov qword [rbx + 0x88], r8
mov r10, qword [rbx + 0xb8]
mov r11, r10
mov dword [rbx + 0xb0], r9d
sub r11, r8
cmp r8, r10
jbe 0x14010c717
mov rax, qword [rbx + 0xb340]
add r11, rax
cmp r8, rax
ja 0x14010c6d3
cmp byte [rbx + 0xc8], r12b
jne 0x14010c717
test r9d, r9d
je 0x14010bcd0
mov rax, qword [rbx + 0x2d98]
mov byte [r10 + rax], r12b
mov rdx, qword [rbx + 0xb8]
mov rcx, qword [rbx + 0xb340]
inc rdx
mov r10, rdx
sub r10, rcx
cmp rdx, rcx
cmovb r10, rdx
mov qword [rbx + 0xb8], r10
add r9d, 0xffffffff
jne 0x14010c6dc
jmp 0x14010bcd0
mov rdi, qword [rbx + 0xb340]
lea rax, [rdi - 0x1004]
cmp r11, rax
jae 0x14010c7ce
cmp r10, rax
jae 0x14010c7ce
mov rax, qword [rbx + 0x2d98]
lea rcx, [r11 + rax]
mov r11d, r9d
lea rdx, [rax + r10]
lea rax, [r9 + r10]
mov qword [rbx + 0xb8], rax
cmp r9d, 8
jb 0x14010c185
cmp r8, r11
mov r8d, r9d
jae 0x14010c7ae
shr r8, 3
mov al, byte [rcx]
add r9d, 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 0x14010c76a
jmp 0x14010c185
shr r8, 3
mov rax, qword [rcx]
add r9d, 0xfffffff8
mov qword [rdx], rax
add rcx, 8
add rdx, 8
sub r8, r13
jne 0x14010c7b2
jmp 0x14010c185
test r9d, r9d
je 0x14010bcd0
mov rdx, qword [rbx + 0x2d98]
mov rcx, r11
mov rax, rcx
mov r8, r11
sub rax, rdi
add r11, r13
cmp rcx, rdi
cmovb rax, rcx
mov al, byte [rax + rdx]
mov byte [r10 + rdx], al
mov rcx, qword [rbx + 0xb8]
mov rdi, qword [rbx + 0xb340]
inc rcx
mov r10, rcx
sub r10, rdi
cmp rcx, rdi
cmovb r10, rcx
mov qword [rbx + 0xb8], r10
add r9d, 0xffffffff
jne 0x14010c7d7
jmp 0x14010bcd0
cmp edx, 0x100
jne 0x14010c840
mov rcx, rbx
call fcn.140108a44
jmp 0x14010bdb8
cmp edx, 0x101
jne 0x14010c855
mov rcx, rbx
call fcn.140109a70
jmp 0x14010bdb8
cmp edx, 0x102
jne 0x14010c9e5
mov r9d, dword [rbx + 0xb0]
test r9d, r9d
je 0x14010bcd0
mov r10, qword [rbx + 0xb8]
mov r8, qword [rbx + 0x88]
mov r11, r10
sub r11, r8
cmp r8, r10
jbe 0x14010c8dd
mov rax, qword [rbx + 0xb340]
add r11, rax
cmp r8, rax
ja 0x14010c8a2
cmp byte [rbx + 0xc8], r12b
jne 0x14010c8dd
mov rax, qword [rbx + 0x2d98]
mov byte [r10 + rax], r12b
mov rdx, qword [rbx + 0xb8]
mov rcx, qword [rbx + 0xb340]
inc rdx
mov r10, rdx
sub r10, rcx
cmp rdx, rcx
cmovb r10, rdx
mov qword [rbx + 0xb8], r10
add r9d, 0xffffffff
jne 0x14010c8a2
jmp 0x14010bcd0
mov rdi, qword [rbx + 0xb340]
lea rax, [rdi - 0x1004]
cmp r11, rax
jae 0x14010c991
cmp r10, rax
jae 0x14010c991
mov rax, qword [rbx + 0x2d98]
lea rcx, [r11 + rax]
lea rdx, [rax + r10]
lea rax, [r9 + r10]
mov qword [rbx + 0xb8], rax
cmp r9d, 8
jb 0x14010c185
cmp r8, r9
mov r8, r9
jae 0x14010c971
shr r8, 3
mov al, byte [rcx]
add r9d, 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 0x14010c92d
jmp 0x14010c185
shr r8, 3
mov rax, qword [rcx]
add r9d, 0xfffffff8
mov qword [rdx], rax
add rcx, 8
add rdx, 8
sub r8, r13
jne 0x14010c975
jmp 0x14010c185
mov rdx, qword [rbx + 0x2d98]
mov rcx, r11
mov rax, rcx
mov r8, r11
sub rax, rdi
add r11, r13
cmp rcx, rdi
cmovb rax, rcx
mov al, byte [rax + rdx]
mov byte [r10 + rdx], al
mov rcx, qword [rbx + 0xb8]
mov rdi, qword [rbx + 0xb340]
inc rcx
mov r10, rcx
sub r10, rdi
cmp rcx, rdi
cmovb r10, rcx
mov qword [rbx + 0xb8], r10
add r9d, 0xffffffff
jne 0x14010c991
jmp 0x14010bcd0
cmp edx, 0x107
jae 0x14010cce8
add edx, 0xfffffefd
lea r8, [rbx + 0x88]
lea r8, [r8 + rdx*8]
mov r9d, dword [r8]
je 0x14010ca1b
sub edx, 1
mov rcx, qword [rbx + rdx*8 + 0x88]
mov qword [r8], rcx
lea r8, [r8 - 8]
jne 0x14010ca07
mov qword [rbx + 0x88], r9
mov ecx, 0x10
movsxd r10, dword [rbx + 8]
mov rdi, r9
mov rsi, qword [rbx + 0x18]
mov r11d, dword [rbx + 0xc]
sub ecx, r11d
mov edx, dword [r10 + rsi]
bswap edx
shr edx, cl
mov ecx, dword [rbx + 0x1c3c]
and edx, 0xfffe
cmp edx, dword [rbx + rcx*4 + 0x1bbc]
jae 0x14010ca8e
mov eax, 0x10
sub eax, ecx
mov cl, al
shr rdx, cl
movzx r8d, byte [rdx + rbx + 0x1c40]
add r8d, r11d
mov r11d, r8d
shr r11d, 3
add r11d, r10d
and r8d, 7
mov dword [rbx + 8], r11d
mov dword [rbx + 0xc], r8d
movzx eax, word [rbx + rdx*2 + 0x1e40]
jmp 0x14010cb0a
mov r9d, 0xf
inc ecx
cmp ecx, r9d
jae 0x14010cabf
mov r8d, ecx
add r8, 0x6ef
lea r8, [rbx + r8*4]
cmp edx, dword [r8]
jb 0x14010cabc
add ecx, r13d
add r8, 4
cmp ecx, r9d
jb 0x14010caa9
jmp 0x14010cabf
mov r9d, ecx
lea r8d, [r11 + r9]
mov ecx, 0x10
sub ecx, r9d
lea eax, [r9 - 1]
mov r11d, r8d
and r8d, 7
mov dword [rbx + 0xc], r8d
shr r11d, 3
add r11d, r10d
mov dword [rbx + 8], r11d
sub edx, dword [rbx + rax*4 + 0x1bbc]
mov eax, r9d
shr edx, cl
add edx, dword [rbx + rax*4 + 0x1bfc]
cmp edx, dword [rbx + 0x1bb8]
sbb eax, eax
and eax, edx
movzx eax, word [rbx + rax*2 + 0x2240]
movzx eax, ax
movzx r9d, byte [rax + r14 + 0x22e900]
movzx r10d, byte [rax + r14 + 0x22e920]
add r9d, 2
test r10d, r10d
je 0x14010cb5f
movsxd rax, r11d
mov ecx, 0x10
sub ecx, r8d
mov edx, dword [rax + rsi]
bswap edx
shr edx, cl
mov ecx, 0x10
sub ecx, r10d
movzx edx, dx
shr edx, cl
lea ecx, [r8 + r10]
mov eax, ecx
add r9d, edx
shr eax, 3
add eax, r11d
and ecx, 7
mov dword [rbx + 8], eax
mov dword [rbx + 0xc], ecx
mov r10, qword [rbx + 0xb8]
mov r11, r10
mov dword [rbx + 0xb0], r9d
sub r11, rdi
cmp rdi, r10
jbe 0x14010cbd4
mov rax, qword [rbx + 0xb340]
add r11, rax
cmp rdi, rax
ja 0x14010cb90
cmp byte [rbx + 0xc8], r12b
jne 0x14010cbd4
test r9d, r9d
je 0x14010bcd0
mov rax, qword [rbx + 0x2d98]
mov byte [r10 + rax], r12b
mov rdx, qword [rbx + 0xb8]
mov rcx, qword [rbx + 0xb340]
inc rdx
mov r10, rdx
sub r10, rcx
cmp rdx, rcx
cmovb r10, rdx
mov qword [rbx + 0xb8], r10
add r9d, 0xffffffff
jne 0x14010cb99
jmp 0x14010bcd0
mov rsi, qword [rbx + 0xb340]
lea rax, [rsi - 0x1004]
cmp r11, rax
jae 0x14010cc8b
cmp r10, rax
jae 0x14010cc8b
mov rax, qword [rbx + 0x2d98]
mov r8d, r9d
lea rcx, [r11 + rax]
lea rdx, [rax + r10]
lea rax, [r10 + r9]
mov qword [rbx + 0xb8], rax
cmp r9d, 8
jb 0x14010c185
cmp rdi, r8
mov r8d, r9d
jae 0x14010cc6b
shr r8, 3
mov al, byte [rcx]
add r9d, 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 0x14010cc27
jmp 0x14010c185
shr r8, 3
mov rax, qword [rcx]
add r9d, 0xfffffff8
mov qword [rdx], rax
add rcx, 8
add rdx, 8
sub r8, r13
jne 0x14010cc6f
jmp 0x14010c185
test r9d, r9d
je 0x14010bcd0
mov rdx, qword [rbx + 0x2d98]
mov rcx, r11
mov rax, rcx
mov r8, r11
sub rax, rsi
add r11, r13
cmp rcx, rsi
cmovb rax, rcx
mov al, byte [rax + rdx]
mov byte [r10 + rdx], al
mov rcx, qword [rbx + 0xb8]
mov rsi, qword [rbx + 0xb340]
inc rcx
mov r10, rcx
sub r10, rsi
cmp rcx, rsi
cmovb r10, rcx
mov qword [rbx + 0xb8], r10
add r9d, 0xffffffff
jne 0x14010cc94
jmp 0x14010bcd0
lea eax, [rdx - 0x107]
movzx r9d, byte [rax + r14 + 0x22e990]
movzx r10d, byte [rax + r14 + 0x22e998]
add r9d, r13d
test r10d, r10d
je 0x14010cd3f
movsxd rax, r11d
mov ecx, 0x10
sub ecx, r8d
mov edx, dword [rax + rdi]
bswap edx
shr edx, cl
mov ecx, 0x10
sub ecx, r10d
movzx edx, dx
shr edx, cl
lea ecx, [r8 + r10]
mov eax, ecx
add r9d, edx
shr eax, 3
add eax, r11d
and ecx, 7
mov dword [rbx + 8], eax
mov dword [rbx + 0xc], ecx
mov rax, qword [rbx + 0x98]
mov edi, 2
mov ecx, r9d
mov qword [rbx + 0xa0], rax
mov rax, qword [rbx + 0x90]
mov qword [rbx + 0x98], rax
mov rax, qword [rbx + 0x88]
mov qword [rbx + 0x90], rax
mov qword [rbx + 0x88], rcx
mov r9, qword [rbx + 0xb8]
mov r10, r9
mov dword [rbx + 0xb0], 2
sub r10, rcx
cmp rcx, r9
jbe 0x14010cde6
mov rax, qword [rbx + 0xb340]
add r10, rax
cmp rcx, rax
ja 0x14010cdac
cmp byte [rbx + 0xc8], r12b
jne 0x14010cde6
mov rax, qword [rbx + 0x2d98]
mov byte [r9 + rax], r12b
mov rdx, qword [rbx + 0xb8]
mov rcx, qword [rbx + 0xb340]
inc rdx
mov r9, rdx
sub r9, rcx
cmp rdx, rcx
cmovb r9, rdx
mov qword [rbx + 0xb8], r9
add edi, 0xffffffff
jne 0x14010cdac
jmp 0x14010bcd0
mov r11, qword [rbx + 0xb340]
lea rax, [r11 - 0x1004]
cmp r10, rax
jae 0x14010ce27
cmp r9, rax
jae 0x14010ce27
mov rcx, qword [rbx + 0x2d98]
lea rax, [r9 + 2]
mov qword [rbx + 0xb8], rax
mov al, byte [r10 + rcx]
mov byte [rcx + r9], al
mov al, byte [r10 + rcx + 1]
mov byte [rcx + r9 + 1], al
jmp 0x14010bcd0
mov rdx, qword [rbx + 0x2d98]
mov rcx, r10
mov rax, rcx
mov r8, r10
sub rax, r11
add r10, r13
cmp rcx, r11
cmovb rax, rcx
mov al, byte [rax + rdx]
mov byte [r9 + rdx], al
mov rcx, qword [rbx + 0xb8]
mov r11, qword [rbx + 0xb340]
inc rcx
mov r9, rcx
sub r9, r11
cmp rcx, r11
cmovb r9, rcx
mov qword [rbx + 0xb8], r9
add edi, 0xffffffff
jne 0x14010ce27
jmp 0x14010bcd0
mov byte [rbx + 0x2fc8], r12b
jmp 0x14010ce9a
mov rcx, rdi
call fcn.140105e3c
mov dword [rbx + 0xb2a0], r12d
mov rcx, rbx
call fcn.14010ab70
mov rbx, qword [rsp + 0x70]
add rsp, 0x20
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
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, 0x50
mov rax, qword [0x14022ff58]
xor rax, rsp
mov qword [rsp + 0x48], rax
xor r14d, r14d
mov byte [rcx + 0x2fc8], 1
mov rbx, rcx
cmp byte [rcx + 0x2fb8], r14b
jne 0x14010cf52
call fcn.14010a740
mov rcx, rbx
call fcn.14010a8f8
test al, al
je 0x14010d750
lea r13, [rbx + 0xe0]
mov rcx, rbx
lea r15, [rbx + 8]
mov r8, r13
mov rdx, r15
call fcn.1401088e0
test al, al
je 0x14010d750
lea r9, [rbx + 0xf4]
mov r8, r13
mov rdx, r15
mov rcx, rbx
call fcn.1401096c4
test al, al
je 0x14010d750
cmp byte [rbx + 0xb2a6], r14b
jne 0x14010cf5d
jmp 0x14010d750
lea r15, [rcx + 8]
lea r13, [rcx + 0xe0]
lea rbp, [rbx + 0xc8]
lea r12, [rbx + 0xb8]
mov rax, qword [rbx + 0xb340]
mov rcx, qword [r12]
sub rcx, rax
cmp qword [r12], rax
cmovb rcx, qword [r12]
cmp qword [rbx + 0xc0], rcx
mov qword [r12], rcx
seta al
mov qword [rbx + 0xc0], rcx
or byte [rbp], al
mov eax, dword [rbx + 0xdc]
cmp dword [r15], eax
jl 0x14010d017
mov ecx, dword [rbx + 0xe8]
mov edx, dword [r13]
dec ecx
add edx, ecx
cmp dword [r15], edx
jg 0x14010cfc5
jne 0x14010d007
mov eax, dword [rbx + 0xe4]
cmp dword [rbx + 0xc], eax
jl 0x14010d007
cmp byte [rbx + 0xf0], r14b
jne 0x14010d748
mov r8, r13
mov rdx, r15
mov rcx, rbx
call fcn.1401088e0
test al, al
je 0x14010d750
lea r9, [rbx + 0xf4]
mov r8, r13
mov rdx, r15
mov rcx, rbx
call fcn.1401096c4
test al, al
je 0x14010d750
jmp 0x14010cfa5
mov rcx, rbx
call fcn.14010a8f8
test al, al
je 0x14010d748
mov rcx, qword [rbx + 0xb340]
mov rdx, qword [rbx + 0x2d90]
sub rdx, qword [r12]
cmp rdx, rcx
lea rax, [rdx + rcx]
cmovb rax, rdx
cmp rax, 0x1004
ja 0x14010d065
mov rcx, rbx
call fcn.14010adfc
mov rax, qword [rbx + 0x2fb0]
cmp qword [rbx + 0x2fc0], rax
jg 0x14010d750
cmp byte [rbx + 0x2fb8], r14b
jne 0x14010dc0f
movsxd r10, dword [r15]
mov ecx, 0x10
mov r14, qword [r15 + 0x10]
mov edi, dword [r15 + 4]
sub ecx, edi
mov edx, dword [r10 + r14]
bswap edx
shr edx, cl
mov ecx, dword [rbx + 0x178]
and edx, 0xfffe
cmp edx, dword [rbx + rcx*4 + 0xf8]
jae 0x14010d0ca
mov eax, 0x10
sub eax, ecx
mov cl, al
shr rdx, cl
movzx r11d, byte [rdx + rbx + 0x17c]
add r11d, edi
mov esi, r11d
shr esi, 3
add esi, r10d
and r11d, 7
mov dword [r15], esi
mov dword [r15 + 4], r11d
movzx eax, word [rbx + rdx*2 + 0x37c]
jmp 0x14010d140
mov r9d, 0xf
inc ecx
cmp ecx, r9d
jae 0x14010d0f7
mov r8d, ecx
add r8, 0x3e
lea r8, [rbx + r8*4]
cmp edx, dword [r8]
jb 0x14010d0f4
inc ecx
add r8, 4
cmp ecx, r9d
jb 0x14010d0e2
jmp 0x14010d0f7
mov r9d, ecx
lea r11d, [rdi + r9]
mov ecx, 0x10
sub ecx, r9d
lea eax, [r9 - 1]
mov esi, r11d
and r11d, 7
mov dword [r15 + 4], r11d
shr esi, 3
add esi, r10d
mov dword [r15], esi
sub edx, dword [rbx + rax*4 + 0xf8]
mov eax, r9d
shr edx, cl
add edx, dword [rbx + rax*4 + 0x138]
cmp edx, dword [rbx + 0xf4]
sbb eax, eax
and eax, edx
movzx eax, word [rbx + rax*2 + 0x77c]
movzx edi, ax
cmp edi, 0x100
jae 0x14010d18f
xor r14d, r14d
cmp byte [rbx + 0x2fa8], r14b
je 0x14010d177
mov rdx, qword [r12]
lea rcx, [rbx + 0x2da0]
lea rax, [rdx + 1]
mov qword [r12], rax
call fcn.140105520
mov byte [rax], dil
jmp 0x14010cf6b
mov rax, qword [r12]
mov rcx, qword [rbx + 0x2d98]
mov byte [rcx + rax], dil
inc qword [r12]
jmp 0x14010cf6b
cmp edi, 0x106
jb 0x14010d714
lea r10d, [rdi - 0x106]
cmp r10d, 8
jae 0x14010d1ae
add r10d, 2
jmp 0x14010d20a
mov r9d, r10d
and r10d, 3
or r10d, 4
shr r9d, 2
dec r9d
mov ecx, r9d
shl r10d, cl
add r10d, 2
test r9d, r9d
je 0x14010d20a
movsxd rax, esi
mov ecx, 0x10
sub ecx, r11d
add r11d, r9d
mov edx, dword [rax + r14]
mov eax, r11d
shr eax, 3
add esi, eax
bswap edx
shr edx, cl
mov ecx, 0x10
sub ecx, r9d
movzx r8d, dx
shr r8d, cl
add r10d, r8d
mov dword [r15], esi
and r11d, 7
mov dword [r15 + 4], r11d
movsxd rax, esi
mov r9d, 0x10
mov ecx, r9d
sub ecx, r11d
mov edx, dword [rax + r14]
bswap edx
shr edx, cl
mov ecx, dword [rbx + 0xa64]
and edx, 0xfffe
cmp edx, dword [rbx + rcx*4 + 0x9e4]
jae 0x14010d269
mov eax, r9d
sub eax, ecx
mov cl, al
shr rdx, cl
movzx r9d, byte [rbx + rdx + 0xa68]
add r9d, r11d
mov edi, r9d
shr edi, 3
add edi, esi
and r9d, 7
mov dword [r15], edi
mov dword [r15 + 4], r9d
movzx eax, word [rbx + rdx*2 + 0xc68]
jmp 0x14010d2da
mov ebp, 0xf
inc ecx
cmp ecx, ebp
jae 0x14010d295
mov r8d, ecx
add r8, 0x279
lea r8, [rbx + r8*4]
cmp edx, dword [r8]
jb 0x14010d293
inc ecx
add r8, 4
cmp ecx, ebp
jb 0x14010d282
jmp 0x14010d295
mov ebp, ecx
lea r9d, [r11 + rbp]
mov ecx, 0x10
sub ecx, ebp
lea eax, [rbp - 1]
mov edi, r9d
and r9d, 7
mov dword [r15 + 4], r9d
shr edi, 3
add edi, esi
mov dword [r15], edi
sub edx, dword [rbx + rax*4 + 0x9e4]
mov eax, ebp
shr edx, cl
add edx, dword [rbx + rax*4 + 0xa24]
cmp edx, dword [rbx + 0x9e0]
sbb eax, eax
and eax, edx
movzx eax, word [rbx + rax*2 + 0x1068]
movzx eax, ax
mov ebp, edi
cmp eax, 4
jae 0x14010d2ed
lea r8, [rax + 1]
jmp 0x14010d4a1
mov r11d, eax
and eax, 1
shr r11d, 1
or rax, 2
dec r11d
mov ecx, r11d
shl rax, cl
lea rsi, [rax + 1]
mov r8, rsi
test r11d, r11d
je 0x14010d4a1
cmp r11d, 4
jb 0x14010d465
jbe 0x14010d394
movsxd rdx, edi
mov ecx, r9d
add rdx, r14
cmp r11d, 0x24
jbe 0x14010d34d
mov r8, qword [rdx]
movzx edx, byte [rdx + 8]
bswap r8
shl r8, cl
mov ecx, 8
sub cl, byte [rbx + 0xc]
shr rdx, cl
mov ecx, 0x44
jmp 0x14010d36a
mov r8d, dword [rdx]
movzx edx, byte [rdx + 4]
bswap r8d
shl r8d, cl
mov ecx, 8
sub cl, byte [rbx + 0xc]
shr rdx, cl
mov ecx, 0x24
or r8, rdx
add r9d, 0xfffffffc
add r9d, r11d
sub ecx, r11d
shr r8, cl
mov ebp, r9d
shr ebp, 3
shl r8, 4
add ebp, edi
add r8, rsi
mov dword [r15], ebp
and r9d, 7
mov dword [r15 + 4], r9d
movsxd rcx, ebp
mov edx, dword [rcx + r14]
mov ecx, 0x10
sub ecx, r9d
bswap edx
shr edx, cl
mov ecx, dword [rbx + 0x1350]
and edx, 0xfffe
cmp edx, dword [rbx + rcx*4 + 0x12d0]
jae 0x14010d3ee
mov eax, 0x10
sub eax, ecx
mov cl, al
shr rdx, cl
movzx ecx, byte [rdx + rbx + 0x1354]
add ecx, r9d
mov eax, ecx
shr eax, 3
add eax, ebp
and ecx, 7
mov dword [r15], eax
mov dword [r15 + 4], ecx
movzx eax, word [rbx + rdx*2 + 0x1554]
jmp 0x14010d45d
mov edi, 0xf
inc ecx
cmp ecx, edi
jae 0x14010d41a
mov r11d, ecx
add r11, 0x4b4
lea r11, [rbx + r11*4]
cmp edx, dword [r11]
jb 0x14010d418
inc ecx
add r11, 4
cmp ecx, edi
jb 0x14010d407
jmp 0x14010d41a
mov edi, ecx
lea ecx, [r9 + rdi]
mov eax, ecx
and ecx, 7
shr eax, 3
add eax, ebp
mov dword [r15 + 4], ecx
mov dword [r15], eax
mov ecx, 0x10
sub ecx, edi
lea eax, [rdi - 1]
sub edx, dword [rbx + rax*4 + 0x12d0]
mov eax, edi
shr edx, cl
add edx, dword [rbx + rax*4 + 0x1310]
cmp edx, dword [rbx + 0x12cc]
sbb eax, eax
and eax, edx
movzx eax, word [rbx + rax*2 + 0x1954]
movzx eax, ax
add r8, rax
jmp 0x14010d4a1
movsxd rax, edi
mov ebp, 0x10
mov ecx, ebp
sub cl, r9b
mov edx, dword [rax + r14]
bswap edx
mov edx, edx
shr rdx, cl
mov ecx, ebp
sub ecx, r11d
movzx r8d, dx
shr r8, cl
lea ecx, [r9 + r11]
mov eax, ecx
add r8, rsi
shr eax, 3
add eax, edi
and ecx, 7
mov dword [r15], eax
mov dword [r15 + 4], ecx
cmp r8, 0x100
jbe 0x14010d4c5
inc r10d
cmp r8, 0x2000
jbe 0x14010d4c5
inc r10d
cmp r8, 0x40000
jbe 0x14010d4c5
inc r10d
mov rax, qword [rbx + 0x98]
xor r14d, r14d
mov qword [rbx + 0xa0], rax
mov rax, qword [rbx + 0x90]
mov qword [rbx + 0x98], rax
mov rax, qword [rbx + 0x88]
mov qword [rbx + 0x90], rax
mov qword [rbx + 0x88], r8
mov dword [rbx + 0xb0], r10d
cmp byte [rbx + 0x2fa8], r14b
je 0x14010d538
lea rbp, [rbx + 0xc8]
mov rax, qword [rbx + 0xb340]
lea rcx, [rbx + 0x2da0]
mov qword [rsp + 0x28], rax
mov r9, r12
mov edx, r10d
mov qword [rsp + 0x20], rbp
call fcn.1401061a8
jmp 0x14010cf6b
mov r9, qword [r12]
lea rbp, [rbx + 0xc8]
mov r11, r9
sub r11, r8
cmp r8, r9
jbe 0x14010d5a1
mov rax, qword [rbx + 0xb340]
add r11, rax
cmp r8, rax
ja 0x14010d563
cmp byte [rbp], r14b
jne 0x14010d5a1
test r10d, r10d
je 0x14010cf6b
mov rax, qword [rbx + 0x2d98]
mov byte [r9 + rax], r14b
mov rdx, qword [r12]
mov rcx, qword [rbx + 0xb340]
inc rdx
mov r9, rdx
sub r9, rcx
cmp rdx, rcx
cmovb r9, rdx
mov qword [r12], r9
add r10d, 0xffffffff
jne 0x14010d56c
jmp 0x14010cf6b
mov rdi, qword [rbx + 0xb340]
lea rax, [rdi - 0x1004]
cmp r11, rax
jae 0x14010d6bd
cmp r9, rax
jae 0x14010d6bd
mov rax, qword [rbx + 0x2d98]
lea rcx, [rax + r11]
mov r11d, r10d
lea rdx, [r9 + rax]
lea rax, [r9 + r10]
mov qword [r12], rax
cmp r10d, 8
jb 0x14010d64b
cmp r8, r11
mov r8d, r10d
jae 0x14010d62f
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, 1
jne 0x14010d5ed
jmp 0x14010d64b
shr r8, 3
mov rax, qword [rcx]
add r10d, 0xfffffff8
mov qword [rdx], rax
add rcx, 8
add rdx, 8
sub r8, 1
jne 0x14010d633
test r10d, r10d
je 0x14010cf6b
mov al, byte [rcx]
mov byte [rdx], al
cmp r10d, 1
jbe 0x14010cf6b
mov al, byte [rcx + 1]
mov byte [rdx + 1], al
cmp r10d, 2
jbe 0x14010cf6b
mov al, byte [rcx + 2]
mov byte [rdx + 2], al
cmp r10d, 3
jbe 0x14010cf6b
mov al, byte [rcx + 3]
mov byte [rdx + 3], al
cmp r10d, 4
jbe 0x14010cf6b
mov al, byte [rcx + 4]
mov byte [rdx + 4], al
cmp r10d, 5
jbe 0x14010cf6b
mov al, byte [rcx + 5]
mov byte [rdx + 5], al
cmp r10d, 6
jbe 0x14010cf6b
mov al, byte [rcx + 6]
mov byte [rdx + 6], al
jmp 0x14010cf6b
test r10d, r10d
je 0x14010cf6b
mov rdx, qword [rbx + 0x2d98]
mov rcx, r11
mov rax, rcx
mov r8, r11
sub rax, rdi
inc r11
cmp rcx, rdi
cmovb rax, rcx
mov al, byte [rax + rdx]
mov byte [r9 + rdx], al
mov rcx, qword [r12]
mov rdi, qword [rbx + 0xb340]
inc rcx
mov r9, rcx
sub r9, rdi
cmp rcx, rdi
cmovb r9, rcx
mov qword [r12], r9
add r10d, 0xffffffff
jne 0x14010d6c6
jmp 0x14010cf6b
cmp edi, 0x100
jne 0x14010d77b
lea r8, [rsp + 0x30]
mov rdx, r15
mov rcx, rbx
call fcn.140108ab4
xor r14d, r14d
test al, al
je 0x14010d748
lea rdx, [rsp + 0x30]
mov rcx, rbx
call fcn.14010556c
test al, al
jne 0x14010cf6b
mov rcx, rbx
call fcn.14010adfc
mov rcx, qword [rsp + 0x48]
xor rcx, rsp
call fcn.1401adee0
lea r11, [rsp + 0x50]
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
xor r14d, r14d
cmp edi, 0x101
jne 0x14010d908
mov r10d, dword [rbx + 0xb0]
test r10d, r10d
je 0x14010cf6b
mov r8, qword [rbx + 0x88]
cmp byte [rbx + 0x2fa8], r14b
jne 0x14010d510
mov r9, qword [r12]
mov r11, r9
sub r11, r8
cmp r8, r9
jbe 0x14010d807
mov rax, qword [rbx + 0xb340]
add r11, rax
cmp r8, rax
ja 0x14010d7d2
cmp byte [rbp], r14b
jne 0x14010d807
mov rax, qword [rbx + 0x2d98]
mov byte [r9 + rax], r14b
mov rdx, qword [r12]
mov rcx, qword [rbx + 0xb340]
inc rdx
mov r9, rdx
sub r9, rcx
cmp rdx, rcx
cmovb r9, rdx
mov qword [r12], r9
add r10d, 0xffffffff
jne 0x14010d7d2
jmp 0x14010cf6b
mov rdi, qword [rbx + 0xb340]
lea rax, [rdi - 0x1004]
cmp r11, rax
jae 0x14010d8ba
cmp r9, rax
jae 0x14010d8ba
mov rax, qword [rbx + 0x2d98]
lea rcx, [rax + r11]
lea rdx, [r9 + rax]
lea rax, [r9 + r10]
mov qword [r12], rax
cmp r10d, 8
jb 0x14010d64b
cmp r8, r10
mov r8, r10
jae 0x14010d899
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, 1
jne 0x14010d854
jmp 0x14010d64b
shr r8, 3
mov rax, qword [rcx]
add r10d, 0xfffffff8
mov qword [rdx], rax
add rcx, 8
add rdx, 8
sub r8, 1
jne 0x14010d89d
jmp 0x14010d64b
mov rdx, qword [rbx + 0x2d98]
mov rcx, r11
mov rax, rcx
mov r8, r11
sub rax, rdi
inc r11
cmp rcx, rdi
cmovb rax, rcx
mov al, byte [rax + rdx]
mov byte [r9 + rdx], al
mov rcx, qword [r12]
mov rdi, qword [rbx + 0xb340]
inc rcx
mov r9, rcx
sub r9, rdi
cmp rcx, rdi
cmovb r9, rcx
mov qword [r12], r9
add r10d, 0xffffffff
jne 0x14010d8ba
jmp 0x14010cf6b
add edi, 0xfffffefe
lea rdx, [rbx + 0x88]
lea rdx, [rdx + rdi*8]
mov rsi, qword [rdx]
je 0x14010d932
sub edi, 1
mov rcx, qword [rbx + rdi*8 + 0x88]
mov qword [rdx], rcx
lea rdx, [rdx - 8]
jne 0x14010d91e
mov rbp, qword [r15 + 0x10]
mov ecx, 0x10
mov qword [rbx + 0x88], rsi
movsxd r10, dword [r15]
mov edi, dword [r15 + 4]
sub ecx, edi
mov edx, dword [r10 + rbp]
bswap edx
shr edx, cl
mov ecx, dword [rbx + 0x1c3c]
and edx, 0xfffe
cmp edx, dword [rbx + rcx*4 + 0x1bbc]
jae 0x14010d99e
mov eax, 0x10
sub eax, ecx
mov cl, al
shr rdx, cl
movzx r11d, byte [rdx + rbx + 0x1c40]
add r11d, edi
mov edi, r11d
shr edi, 3
add edi, r10d
and r11d, 7
mov dword [r15], edi
mov dword [r15 + 4], r11d
movzx eax, word [rbx + rdx*2 + 0x1e40]
jmp 0x14010da17
mov r9d, 0xf
inc ecx
cmp ecx, r9d
jae 0x14010d9ce
mov r8d, ecx
add r8, 0x6ef
lea r8, [rbx + r8*4]
cmp edx, dword [r8]
jb 0x14010d9cb
inc ecx
add r8, 4
cmp ecx, r9d
jb 0x14010d9b9
jmp 0x14010d9ce
mov r9d, ecx
lea r11d, [r9 + rdi]
mov ecx, 0x10
sub ecx, r9d
lea eax, [r9 - 1]
mov edi, r11d
and r11d, 7
mov dword [r15 + 4], r11d
shr edi, 3
add edi, r10d
mov dword [r15], edi
sub edx, dword [rbx + rax*4 + 0x1bbc]
mov eax, r9d
shr edx, cl
add edx, dword [rbx + rax*4 + 0x1bfc]
cmp edx, dword [rbx + 0x1bb8]
sbb eax, eax
and eax, edx
movzx eax, word [rbx + rax*2 + 0x2240]
movzx r10d, ax
cmp r10d, 8
jae 0x14010da27
add r10d, 2
jmp 0x14010da81
mov r9d, r10d
and r10d, 3
or r10d, 4
shr r9d, 2
dec r9d
mov ecx, r9d
shl r10d, cl
add r10d, 2
test r9d, r9d
je 0x14010da81
movsxd rax, edi
mov ecx, 0x10
sub ecx, r11d
mov edx, dword [rax + rbp]
bswap edx
shr edx, cl
mov ecx, 0x10
sub ecx, r9d
movzx r8d, dx
shr r8d, cl
lea ecx, [r11 + r9]
mov eax, ecx
add r10d, r8d
shr eax, 3
add eax, edi
and ecx, 7
mov dword [r15], eax
mov dword [r15 + 4], ecx
mov dword [rbx + 0xb0], r10d
cmp byte [rbx + 0x2fa8], r14b
je 0x14010da99
mov r8, rsi
jmp 0x14010d509
mov r9, qword [r12]
lea rbp, [rbx + 0xc8]
mov r11, r9
sub r11, rsi
cmp rsi, r9
jbe 0x14010db02
mov rax, qword [rbx + 0xb340]
add r11, rax
cmp rsi, rax
ja 0x14010dac4
cmp byte [rbp], r14b
jne 0x14010db02
test r10d, r10d
je 0x14010cf6b
mov rax, qword [rbx + 0x2d98]
mov byte [r9 + rax], r14b
mov rdx, qword [r12]
mov rcx, qword [rbx + 0xb340]
inc rdx
mov r9, rdx
sub r9, rcx
cmp rdx, rcx
cmovb r9, rdx
mov qword [r12], r9
add r10d, 0xffffffff
jne 0x14010dacd
jmp 0x14010cf6b
mov rdi, qword [rbx + 0xb340]
lea rax, [rdi - 0x1004]
cmp r11, rax
jae 0x14010dbb8
cmp r9, rax
jae 0x14010dbb8
mov rax, qword [rbx + 0x2d98]
mov r8d, r10d
lea rcx, [rax + r11]
lea rdx, [r9 + rax]
lea rax, [r10 + r9]
mov qword [r12], rax
cmp r10d, 8
jb 0x14010d64b
cmp rsi, r8
mov r8d, r10d
jae 0x14010db97
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, 1
jne 0x14010db52
jmp 0x14010d64b
shr r8, 3
mov rax, qword [rcx]
add r10d, 0xfffffff8
mov qword [rdx], rax
add rcx, 8
add rdx, 8
sub r8, 1
jne 0x14010db9b
jmp 0x14010d64b
test r10d, r10d
je 0x14010cf6b
mov rdx, qword [rbx + 0x2d98]
mov rcx, r11
mov rax, rcx
mov r8, r11
sub rax, rdi
inc r11
cmp rcx, rdi
cmovb rax, rcx
mov al, byte [rax + rdx]
mov byte [r9 + rdx], al
mov rcx, qword [r12]
mov rdi, qword [rbx + 0xb340]
inc rcx
mov r9, rcx
sub r9, rdi
cmp rcx, rdi
cmovb r9, rcx
mov qword [r12], r9
add r10d, 0xffffffff
jne 0x14010dbc1
jmp 0x14010cf6b
mov byte [rbx + 0x2fc8], r14b
jmp 0x14010d750
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, 0x450
mov rax, qword [0x14022ff58]
xor rax, rsp
mov qword [rsp + 0x440], rax
mov bl, dl
mov rsi, rcx
call fcn.140107ac4
mov dl, bl
mov rcx, rsi
call fcn.14010a740
mov eax, dword [rsi + 0x30]
lea r15, [rsi + 0x28]
xor ebx, ebx
mov edx, ebx
add eax, eax
je 0x14010dc93
mov eax, edx
inc edx
imul rcx, rax, 0x2cf8
add rcx, qword [r15]
mov byte [rcx + 0x2cdd], bl
mov byte [rcx + 0x2cdf], bl
mov eax, dword [rsi + 0x30]
add eax, eax
cmp edx, eax
jb 0x14010dc70
mov rcx, qword [r15]
lea rdx, [rsi + 0xf4]
movups xmm0, xmmword [rsi + 0xe0]
mov r8d, 0x2c9c
movups xmmword [rcx + 0x24], xmm0
mov eax, dword [rsi + 0xf0]
mov dword [rcx + 0x34], eax
mov rcx, qword [r15]
add rcx, 0x3c
call fcn.1401aff80
mov dword [rsp + 0x2c], ebx
mov r13d, ebx
mov byte [rsp + 0x21], bl
mov byte [rsp + 0x20], bl
mov r14d, ebx
mov rcx, qword [rsi]
mov eax, 0x400000
sub eax, r14d
movsxd rdx, r14d
add rdx, qword [rsi + 0x38]
movsxd r8, eax
and r8, 0xfffffffffffffff0
call fcn.1400e82e4
xor ecx, ecx
mov dword [rsp + 0x28], eax
mov edi, eax
test eax, eax
js 0x14010dffb
add r14d, eax
mov dword [rsp + 0x30], r14d
je 0x14010dffb
test eax, eax
jle 0x14010dd22
cmp r14d, 0x400
jl 0x14010dff1
cmp r13d, r14d
jge 0x14010dff1
mov eax, dword [rsi + 0x30]
mov r12d, ecx
mov dword [rsp + 0x24], ecx
mov ebp, ecx
add eax, eax
je 0x14010de44
mov eax, r12d
imul rbx, rax, 0x2cf8
mov dword [rsp + 0x2c], r12d
add rbx, qword [r15]
lea rbp, [rbx + 8]
mov qword [rbx], rsi
cmp byte [rbx + 0x2cdf], cl
je 0x14010dd69
mov dword [rbx + 0x2cd8], r14d
jmp 0x14010dd9c
movsxd rdx, r13d
mov rcx, rbp
add rdx, qword [rsi + 0x38]
call fcn.1400cf0a8
xor ecx, ecx
mov eax, r14d
sub eax, r13d
mov qword [rbp], rcx
mov dword [rbx + 0x2cd8], eax
je 0x14010de40
mov byte [rbx + 0x2cdc], cl
mov byte [rbx + 0x20], cl
mov byte [rbx + 0x38], cl
test edi, edi
mov byte [rbx + 0x2cdf], cl
mov dword [rbx + 0x2cf0], r12d
lea rdi, [rbx + 0x24]
sete al
mov byte [rbx + 0x2cde], al
cmp byte [rbx + 0x20], cl
jne 0x14010dde9
mov r8, rdi
mov byte [rbx + 0x20], 1
mov rdx, rbp
mov rcx, rsi
call fcn.1401088e0
xor ecx, ecx
test al, al
je 0x14010de3b
cmp byte [rbx + 0x35], cl
jne 0x14010dde2
cmp byte [rsi + 0xb2a6], cl
je 0x14010de3b
mov byte [rsi + 0xb2a6], 1
cmp byte [rsp + 0x21], cl
jne 0x14010ddfd
cmp dword [rdi], 0x20000
jg 0x14010ddfd
inc dword [rsp + 0x24]
jmp 0x14010de09
mov byte [rbx + 0x2cdd], 1
mov byte [rsp + 0x21], 1
mov eax, dword [rbx + 0x30]
inc r12d
add eax, dword [rdi]
add r13d, eax
mov eax, r14d
sub eax, r13d
js 0x14010de21
cmp byte [rbx + 0x34], cl
jne 0x14010de40
cmp eax, 0x400
jl 0x14010de40
mov eax, dword [rsi + 0x30]
add eax, eax
cmp r12d, eax
jae 0x14010de40
mov edi, dword [rsp + 0x28]
jmp 0x14010dd3f
mov byte [rsp + 0x20], 1
mov ebp, dword [rsp + 0x24]
xor edx, edx
mov eax, ebp
div dword [rsi + 0x30]
xor edx, edx
mov edi, eax
mov eax, ebp
div dword [rsi + 0x30]
test edx, edx
je 0x14010de5a
inc edi
mov ebx, ecx
test ebp, ebp
je 0x14010debe
mov r14d, ecx
mov eax, r14d
lea r8, [rsp + 0x40]
shl rax, 4
inc r14d
add r8, rax
mov eax, ebx
imul rdx, rax, 0x2cf8
mov eax, ebp
add rdx, qword [r15]
sub eax, ebx
cmp edi, eax
mov qword [r8], rdx
cmovb eax, edi
mov dword [r8 + 8], eax
cmp r12d, 1
jne 0x14010dea1
mov rcx, rsi
call fcn.14010e0bc
jmp 0x14010deb1
mov rcx, qword [rsi + 0x20]
lea rdx, [0x14010e8a0]
call fcn.1400ff73c
add ebx, edi
cmp ebx, ebp
jb 0x14010de63
mov r14d, dword [rsp + 0x30]
xor ecx, ecx
test r12d, r12d
je 0x14010dff1
mov rcx, qword [rsi + 0x20]
call fcn.1400ffa38
xor ecx, ecx
mov edi, ecx
test r12d, r12d
je 0x14010df46
mov ebx, ecx
mov rbp, qword [r15]
add rbp, rbx
cmp byte [rbp + 0x2cdd], cl
jne 0x14010df06
mov rdx, rbp
mov rcx, rsi
call fcn.1401081d0
xor ecx, ecx
test al, al
je 0x14010dffb
cmp byte [rbp + 0x2cdd], cl
je 0x14010df1b
mov rdx, rbp
mov rcx, rsi
call fcn.14010e8e0
xor ecx, ecx
test al, al
je 0x14010dffb
cmp byte [rbp + 0x2cdc], cl
jne 0x14010dffb
cmp byte [rbp + 0x2cdf], cl
jne 0x14010df74
cmp byte [rbp + 0x34], cl
jne 0x14010dffb
inc edi
add rbx, 0x2cf8
cmp edi, r12d
jb 0x14010dedb
cmp byte [rsp + 0x20], cl
jne 0x14010dffb
mov ebx, r14d
sub ebx, r13d
cmp ebx, 0x400
jl 0x14010e095
cmp r13d, r14d
jge 0x14010dcd5
mov edi, dword [rsp + 0x28]
jmp 0x14010dd2b
mov eax, dword [rbp + 8]
sub eax, dword [rsi + 0x38]
add eax, dword [rbp + 0x18]
cmp r14d, eax
jle 0x14010dffb
mov rcx, qword [rsi + 0x38]
sub r14d, eax
movsxd rdx, eax
movsxd r8, r14d
add rdx, rcx
call fcn.1401aff80
mov eax, dword [rbp + 0x2c]
xor ecx, ecx
sub eax, dword [rbp + 8]
add dword [rbp + 0x24], eax
mov qword [rbp + 0x2c], rcx
mov rax, qword [rsi + 0x38]
mov qword [rbp + 0x18], rax
mov dword [rbp + 8], ecx
test edi, edi
je 0x14010dfee
mov rcx, qword [r15]
mov r8d, 0x2cf8
mov rdx, rbp
mov rbx, qword [rcx + 0x2ce0]
mov edi, dword [rcx + 0x2cec]
call fcn.1401aff80
mov rax, qword [r15]
xor ecx, ecx
mov qword [rax + 0x2ce0], rbx
mov rax, qword [r15]
mov dword [rax + 0x2cec], edi
mov byte [rbp + 0x2cdf], cl
mov r13d, ecx
cmp byte [rsp + 0x20], cl
je 0x14010dcd5
mov rdx, qword [rsi + 0xb8]
mov rcx, qword [rsi + 0xb340]
mov rax, rdx
sub rax, rcx
cmp rdx, rcx
mov rcx, rsi
cmovb rax, rdx
mov qword [rsi + 0xb8], rax
call fcn.14010adfc
mov rdx, qword [r15]
mov r8d, 0x2c9c
mov ecx, dword [rsp + 0x2c]
imul r9, rcx, 0x2cf8
lea rcx, [rsi + 0xf4]
movups xmm0, xmmword [r9 + rdx + 0x24]
movups xmmword [rsi + 0xe0], xmm0
mov eax, dword [r9 + rdx + 0x34]
add r9, 0x3c
add rdx, r9
mov dword [rsi + 0xf0], eax
call fcn.1401aff80
mov rcx, qword [rsp + 0x440]
xor rcx, rsp
call fcn.1401adee0
lea r11, [rsp + 0x450]
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
test ebx, ebx
js 0x14010dffb
jle 0x14010e0b3
mov rcx, qword [rsi + 0x38]
movsxd rdx, r13d
add rdx, rcx
movsxd r8, ebx
call fcn.1401aff80
xor ecx, ecx
mov r13d, ecx
jmp 0x14010dcd2