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

Disassembly:
sub rsp, 0x28
cmp edx, 0xf
je 0x140037283
cmp edx, 0x14
je 0x14003726e
cmp edx, 0x1a
je 0x14003726e
cmp edx, 0x1d
je 0x140037259
cmp edx, 0x32
je 0x140037226
cmp edx, 0x46
jne 0x140037294
cmp edx, 0x46
sete al
cmp dword [rcx + 0x30], 1
mov byte [rcx + 0xb348], al
jbe 0x14003724d
cmp byte [rcx + 0x2fa8], 0
jne 0x14003724d
mov dl, r8b
add rsp, 0x28
jmp 0x14003dcd8
mov dl, r8b
add rsp, 0x28
jmp 0x14003cfa4
cmp byte [rcx + 0x2fa8], 0
jne 0x140037294
mov dl, r8b
add rsp, 0x28
jmp 0x14003bcac
cmp byte [rcx + 0x2fa8], 0
jne 0x140037294
mov dl, r8b
add rsp, 0x28
jmp 0x14003b56c
cmp byte [rcx + 0x2fa8], 0
jne 0x140037294
mov dl, r8b
call fcn.14003b3b4
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 0x14003b5a3
mov rax, qword [rcx + 0xd0]
mov qword [rcx + 0xb8], rax
jmp 0x14003b5dd
call fcn.14003a84c
mov rcx, rbx
call fcn.14003a9e4
test al, al
je 0x14003bc93
test dil, dil
je 0x14003b5c6
cmp byte [rbx + 0xb29c], 0
jne 0x14003b5d6
mov rcx, rbx
call fcn.140038f2c
test al, al
je 0x14003bc93
dec qword [rbx + 0x2fb0]
cmp qword [rbx + 0x2fb0], 0
jl 0x14003bc83
mov r12d, 0x10
lea rsi, [0x140000000]
lea r13d, [r12 - 1]
mov rax, qword [rbx + 0xb340]
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 0x14003b647
mov rcx, rbx
call fcn.14003a9e4
test al, al
je 0x14003bc83
mov rcx, qword [rbx + 0xd0]
mov rdx, qword [rbx + 0xb8]
mov rax, rcx
sub rax, rdx
and rax, qword [rbx + 0xb340]
cmp rax, 0x10e
jae 0x14003b684
cmp rcx, rdx
je 0x14003b684
mov rcx, rbx
call fcn.14003abbc
cmp byte [rbx + 0x2fb8], 0
jne 0x14003bc93
cmp byte [rbx + 0x62b8], 0
mov r11d, dword [rbx + 0xc]
je 0x14003b7c9
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 0x14003b704
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 0x14003b768
inc ecx
mov r10d, r13d
cmp ecx, r13d
jae 0x14003b72d
mov r9d, ecx
inc r9
lea r9, [r8 + r9*4]
cmp edx, dword [r9]
jb 0x14003b72a
inc ecx
add r9, 4
cmp ecx, r13d
jb 0x14003b718
jmp 0x14003b72d
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 0x14003b788
call fcn.140038f2c
test al, al
je 0x14003bc83
jmp 0x14003bc75
call fcn.140036a58
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 0x14003b8bc
and dword [rbx + 0x62c0], 0
jmp 0x14003b8bc
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 0x14003b828
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 0x14003b899
inc ecx
mov r9d, r13d
cmp ecx, r13d
jae 0x14003b852
mov r8d, ecx
add r8, 0x3e
lea r8, [rbx + r8*4]
cmp edx, dword [r8]
jb 0x14003b84f
inc ecx
add r8, 4
cmp ecx, r13d
jb 0x14003b83d
jmp 0x14003b852
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 0x14003b8c8
mov rax, qword [rbx + 0xb8]
mov rcx, qword [rbx + 0x2d98]
mov byte [rcx + rax], dl
inc qword [rbx + 0xb8]
dec qword [rbx + 0x2fb0]
jmp 0x14003bc75
mov eax, 0x10d
cmp edx, eax
jbe 0x14003ba7e
lea eax, [rdx - 0x10e]
movzx r9d, byte [rax + rsi + 0x6e160]
movzx r10d, byte [rax + rsi + 0x6e180]
add r9d, 3
test r10d, r10d
je 0x14003b92a
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 0x14003b987
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 0x14003b9fa
inc ecx
mov r11d, r13d
cmp ecx, r13d
jae 0x14003b9b4
mov r10d, ecx
add r10, 0x279
lea r10, [rbx + r10*4]
cmp edx, dword [r10]
jb 0x14003b9b1
inc ecx
add r10, 4
cmp ecx, r13d
jb 0x14003b99f
jmp 0x14003b9b4
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 + 0x6e1a0]
movzx r11d, byte [rax + rcx + 0x6e260]
inc r8d
test r11d, r11d
je 0x14003ba4f
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 0x14003ba67
inc r9d
cmp r8d, 0x40000
jb 0x14003ba67
inc r9d
mov edx, r9d
mov rcx, rbx
call fcn.140036558
lea rsi, [0x140000000]
jmp 0x14003bc75
jne 0x14003ba88
mov rcx, rbx
jmp 0x14003b776
cmp edx, 0x100
jne 0x14003baa2
mov r8d, dword [rbx + 0xb4]
mov edx, dword [rbx + 0xb0]
jmp 0x14003bc6d
cmp edx, 0x105
jae 0x14003bc13
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 0x14003bb21
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 0x14003bb97
inc ecx
mov esi, r13d
cmp ecx, r13d
jae 0x14003bb4d
mov r9d, ecx
add r9, 0x6ef
lea r9, [rbx + r9*4]
cmp edx, dword [r9]
jb 0x14003bb4b
inc ecx
add r9, 4
cmp ecx, r13d
jb 0x14003bb39
jmp 0x14003bb4d
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 + 0x6e160]
movzx r8d, byte [rax + rsi + 0x6e180]
add r9d, 2
test r8d, r8d
je 0x14003bbe7
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 0x14003bc0b
inc r9d
cmp r11d, 0x2000
jb 0x14003bc0b
inc r9d
cmp r11d, 0x40000
jb 0x14003bc0b
inc r9d
mov r8d, r11d
mov edx, r9d
jmp 0x14003bc6d
lea eax, [rdx - 0x105]
movzx r9d, byte [rax + rsi + 0x6e290]
movzx r10d, byte [rax + rsi + 0x6e298]
inc r9d
test r10d, r10d
je 0x14003bc65
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.140036558
cmp qword [rbx + 0x2fb0], 0
jge 0x14003b5fd
mov rcx, rbx
call fcn.140038d20
mov rcx, rbx
call fcn.14003abbc
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 [0x14007a1a4], r12d
mov dil, dl
mov rbx, rcx
mov r13d, 1
jne 0x14003bd5a
mov r15d, r12d
lea r14, [0x14006e2e0]
mov esi, r12d
mov ebp, r12d
mov edi, r12d
cmp dword [r14], r12d
jle 0x14003bd3f
mov r12d, dword [r14]
lea rax, [0x140000000]
mov ecx, esi
mov r8d, r12d
shl r13d, cl
mov dl, sil
lea rcx, [rax + 0x7a290]
add rcx, rdi
call fcn.140043290
lea rax, [0x140000000]
mov dword [rax + rdi*4 + 0x7a1a0], r15d
inc rdi
add r15d, r13d
sub r12, 1
jne 0x14003bd26
lea r13d, [r12 + 1]
add ebp, r13d
add r14, 4
add esi, r13d
cmp ebp, 0x13
jb 0x14003bcf6
mov dil, byte [rsp + 0x68]
lea r14, [0x140000000]
mov byte [rbx + 0x2fc8], r13b
cmp byte [rbx + 0x2fb8], r12b
jne 0x14003bda3
mov dl, dil
mov rcx, rbx
call fcn.14003a84c
mov rcx, rbx
call fcn.14003a954
test al, al
je 0x14003cf8e
test dil, dil
je 0x14003bd93
cmp byte [rbx + 0xb29d], r12b
jne 0x14003bda3
mov rcx, rbx
call fcn.14003937c
test al, al
je 0x14003cf8e
mov r15d, dword [rsp + 0x60]
mov rax, qword [rbx + 0xb340]
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 0x14003bdef
mov rcx, rbx
call fcn.14003a954
test al, al
je 0x14003cf86
mov rcx, qword [rbx + 0xd0]
mov rdx, qword [rbx + 0xb8]
mov rax, rcx
sub rax, rdx
and rax, qword [rbx + 0xb340]
cmp rax, 0x104
ja 0x14003be40
cmp rcx, rdx
je 0x14003be40
mov rcx, rbx
call fcn.14003ac48
mov rax, qword [rbx + 0x2fb0]
cmp qword [rbx + 0x2fc0], rax
jg 0x14003cf8e
cmp byte [rbx + 0x2fb8], r12b
jne 0x14003cf6e
cmp dword [rbx + 0xb298], r13d
jne 0x14003c332
lea rdi, [rbx + 0x6440]
mov rcx, rdi
call fcn.140036d84
mov esi, eax
cmp eax, 0xffffffff
je 0x14003cf77
cmp eax, dword [rbx + 0xb100]
jne 0x14003c31b
mov rcx, rdi
call fcn.140036d84
cmp eax, 0xffffffff
je 0x14003cf77
test eax, eax
jne 0x14003be9d
mov rcx, rbx
call fcn.14003937c
test al, al
je 0x14003cf86
jmp 0x14003bda8
cmp eax, 2
je 0x14003cf86
cmp eax, 3
jne 0x14003beb5
mov rcx, rbx
call fcn.140039d50
jmp 0x14003be90
cmp eax, 4
jne 0x14003c13c
mov esi, r12d
mov r14b, r12b
mov ebp, r12d
test r14b, r14b
jne 0x14003cf86
mov rcx, rdi
call fcn.140036d84
cmp eax, 0xffffffff
jne 0x14003bef1
mov rcx, rdi
call fcn.14003640c
mov dword [rbx + 0xb298], r12d
mov r14b, r13b
jmp 0x14003befe
movzx eax, al
cmp ebp, 3
je 0x14003bf11
shl esi, 8
add esi, eax
add ebp, r13d
cmp ebp, 4
jl 0x14003bec7
test r14b, r14b
jne 0x14003cf86
jmp 0x14003bf14
mov r15d, eax
mov r9, qword [rbx + 0xb8]
lea r10d, [rsi + 2]
mov rdx, r9
lea r8d, [r15 + 0x20]
sub rdx, r10
cmp r10, r9
jbe 0x14003bf91
mov rax, qword [rbx + 0xb338]
add rdx, rax
cmp r10, rax
ja 0x14003bf46
cmp byte [rbx + 0xc8], r12b
jne 0x14003bf91
lea r14, [0x140000000]
test r8d, r8d
je 0x14003bda8
mov rax, qword [rbx + 0x2d98]
mov byte [r9 + rax], r12b
mov rdx, qword [rbx + 0xb8]
mov rcx, qword [rbx + 0xb338]
inc rdx
mov r9, rdx
sub r9, rcx
cmp rdx, rcx
cmovb r9, rdx
mov qword [rbx + 0xb8], r9
add r8d, 0xffffffff
jne 0x14003bf56
jmp 0x14003c130
mov r11, qword [rbx + 0xb338]
lea rax, [r11 - 0x1004]
cmp rdx, rax
jae 0x14003c0d7
cmp r9, rax
jae 0x14003c0d7
mov rax, qword [rbx + 0x2d98]
mov r11d, r8d
lea rcx, [rdx + rax]
lea rdx, [rax + r9]
lea rax, [r8 + r9]
mov qword [rbx + 0xb8], rax
cmp r8d, 8
jb 0x14003c038
mov r9d, r8d
shr r9, 3
cmp r10, r11
jae 0x14003c021
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, 8
mov byte [rdx + 7], al
add rdx, 8
sub r9, r13
jne 0x14003bfe0
jmp 0x14003c038
mov rax, qword [rcx]
add r8d, 0xfffffff8
mov qword [rdx], rax
add rcx, 8
add rdx, 8
sub r9, r13
jne 0x14003c021
lea r14, [0x140000000]
test r8d, r8d
je 0x14003bda8
mov al, byte [rcx]
lea r14, [0x140000000]
mov byte [rdx], al
cmp r8d, r13d
jbe 0x14003bda8
mov al, byte [rcx + 1]
lea r14, [0x140000000]
mov byte [rdx + 1], al
cmp r8d, 2
jbe 0x14003bda8
mov al, byte [rcx + 2]
lea r14, [0x140000000]
mov byte [rdx + 2], al
cmp r8d, 3
jbe 0x14003bda8
mov al, byte [rcx + 3]
lea r14, [0x140000000]
mov byte [rdx + 3], al
cmp r8d, 4
jbe 0x14003bda8
mov al, byte [rcx + 4]
lea r14, [0x140000000]
mov byte [rdx + 4], al
cmp r8d, 5
jbe 0x14003bda8
mov al, byte [rcx + 5]
lea r14, [0x140000000]
mov byte [rdx + 5], al
cmp r8d, 6
jbe 0x14003bda8
mov al, byte [rcx + 6]
mov byte [rdx + 6], al
jmp 0x14003c130
lea r14, [0x140000000]
test r8d, r8d
je 0x14003bda8
mov rcx, qword [rbx + 0x2d98]
mov rax, rdx
sub rax, r11
cmp rdx, r11
cmovb rax, rdx
add rdx, r13
mov al, byte [rax + rcx]
mov byte [r9 + rcx], al
mov rcx, qword [rbx + 0xb8]
mov r11, qword [rbx + 0xb338]
inc rcx
mov r9, rcx
sub r9, r11
cmp rcx, r11
cmovb r9, rcx
mov qword [rbx + 0xb8], r9
add r8d, 0xffffffff
jne 0x14003c0e7
lea r14, [0x140000000]
jmp 0x14003bda8
cmp eax, 5
jne 0x14003c31b
mov rcx, rdi
call fcn.140036d84
cmp eax, 0xffffffff
je 0x14003cf77
mov r9, qword [rbx + 0xb8]
lea r8d, [rax + 4]
lea rdx, [r9 - 1]
cmp r9, r13
jae 0x14003c1c6
mov rax, qword [rbx + 0xb338]
add rdx, rax
cmp rax, r13
jb 0x14003c182
cmp byte [rbx + 0xc8], r12b
jne 0x14003c1c6
test r8d, r8d
je 0x14003bda8
mov rax, qword [rbx + 0x2d98]
mov byte [r9 + rax], r12b
mov rdx, qword [rbx + 0xb8]
mov rcx, qword [rbx + 0xb338]
inc rdx
mov r9, rdx
sub r9, rcx
cmp rdx, rcx
cmovb r9, rdx
mov qword [rbx + 0xb8], r9
add r8d, 0xffffffff
jne 0x14003c18b
jmp 0x14003bda8
mov r10, qword [rbx + 0xb338]
lea rax, [r10 - 0x1004]
cmp rdx, rax
jae 0x14003c2c4
cmp r9, rax
jae 0x14003c2c4
mov rax, qword [rbx + 0x2d98]
lea rcx, [rdx + rax]
lea rdx, [rax + r9]
mov eax, r8d
add rax, r9
mov qword [rbx + 0xb8], rax
cmp r8d, r13d
jbe 0x14003c253
cmp r8d, 8
jb 0x14003c25c
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, 8
mov byte [rdx + 7], al
add rdx, 8
sub r9, r13
jne 0x14003c214
test r8d, r8d
je 0x14003bda8
mov al, byte [rcx]
mov byte [rdx], al
cmp r8d, r13d
jbe 0x14003bda8
mov al, byte [rcx + 1]
mov byte [rdx + 1], al
cmp r8d, 2
jbe 0x14003bda8
mov al, byte [rcx + 2]
mov byte [rdx + 2], al
cmp r8d, 3
jbe 0x14003bda8
mov al, byte [rcx + 3]
mov byte [rdx + 3], al
cmp r8d, 4
jbe 0x14003bda8
mov al, byte [rcx + 4]
mov byte [rdx + 4], al
cmp r8d, 5
jbe 0x14003bda8
cmp r8d, 6
mov al, byte [rcx + 5]
mov byte [rdx + 5], al
jbe 0x14003bda8
mov al, byte [rcx + 6]
mov byte [rdx + 6], al
jmp 0x14003bda8
test r8d, r8d
je 0x14003bda8
mov rcx, qword [rbx + 0x2d98]
mov rax, rdx
sub rax, r10
cmp rdx, r10
cmovb rax, rdx
add rdx, r13
mov al, byte [rax + rcx]
mov byte [r9 + rcx], al
mov rcx, qword [rbx + 0xb8]
mov r10, qword [rbx + 0xb338]
inc rcx
mov r9, rcx
sub r9, r10
cmp rcx, r10
cmovb r9, rcx
mov qword [rbx + 0xb8], r9
add r8d, 0xffffffff
jne 0x14003c2cd
jmp 0x14003bda8
mov rcx, qword [rbx + 0x2d98]
mov rax, qword [rbx + 0xb8]
mov byte [rcx + rax], sil
jmp 0x14003c430
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 0x14003c39b
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 0x14003c414
mov r9d, 0xf
inc ecx
cmp ecx, r9d
jae 0x14003c3c9
mov r8d, ecx
add r8, 0x3e
lea r8, [rbx + r8*4]
cmp edx, dword [r8]
jb 0x14003c3c6
add ecx, r13d
add r8, 4
cmp ecx, r9d
jb 0x14003c3b3
jmp 0x14003c3c9
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 0x14003c43c
mov rcx, qword [rbx + 0x2d98]
mov rax, qword [rbx + 0xb8]
mov byte [rcx + rax], dl
add qword [rbx + 0xb8], r13
jmp 0x14003bda8
cmp edx, 0x10f
jb 0x14003c93c
lea eax, [rdx - 0x10f]
movzx r9d, byte [rax + r14 + 0x6e2a0]
movzx r10d, byte [rax + r14 + 0x6e2c0]
add r9d, 3
test r10d, r10d
je 0x14003c4a2
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 0x14003c503
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 0x14003c575
mov edi, 0xf
inc ecx
cmp ecx, edi
jae 0x14003c530
mov r10d, ecx
add r10, 0x279
lea r10, [rbx + r10*4]
cmp edx, dword [r10]
jb 0x14003c52e
add ecx, r13d
add r10, 4
cmp ecx, edi
jb 0x14003c51c
jmp 0x14003c530
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 + 0x7a1a0]
movzx edi, byte [rax + r14 + 0x7a290]
add r10d, r13d
test edi, edi
je 0x14003c71e
cmp cx, 9
jbe 0x14003c6e9
cmp edi, 4
jbe 0x14003c5e4
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 0x14003c5fb
dec eax
mov dword [rbx + 0x643c], eax
jmp 0x14003c6d5
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 0x14003c656
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 0x14003c6c3
mov edi, 0xf
inc ecx
cmp ecx, edi
jae 0x14003c683
mov r8d, ecx
add r8, 0x4b4
lea r8, [rbx + r8*4]
cmp edx, dword [r8]
jb 0x14003c681
add ecx, r13d
add r8, 4
cmp ecx, edi
jb 0x14003c66f
jmp 0x14003c683
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 0x14003c6de
mov dword [rbx + 0x643c], 0xf
add r10d, dword [rbx + 0x6438]
jmp 0x14003c71e
add r10d, eax
mov dword [rbx + 0x6438], eax
jmp 0x14003c71e
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 0x14003c736
add r9d, r13d
cmp r10d, 0x40000
jb 0x14003c736
add r9d, r13d
mov rax, qword [rbx + 0x98]
mov qword [rbx + 0xa0], rax
mov rax, qword [rbx + 0x90]
mov r11d, r10d
mov qword [rbx + 0x98], rax
mov rax, qword [rbx + 0x88]
mov qword [rbx + 0x90], rax
mov qword [rbx + 0x88], r11
mov r8, qword [rbx + 0xb8]
mov rdx, r8
mov dword [rbx + 0xb0], r9d
sub rdx, r11
cmp r11, r8
jbe 0x14003c7df
mov rax, qword [rbx + 0xb338]
add rdx, rax
cmp r11, rax
ja 0x14003c79b
cmp byte [rbx + 0xc8], r12b
jne 0x14003c7df
test r9d, r9d
je 0x14003bda8
mov rax, qword [rbx + 0x2d98]
mov byte [r8 + rax], r12b
mov rdx, qword [rbx + 0xb8]
mov rcx, qword [rbx + 0xb338]
inc rdx
mov r8, rdx
sub r8, rcx
cmp rdx, rcx
cmovb r8, rdx
mov qword [rbx + 0xb8], r8
add r9d, 0xffffffff
jne 0x14003c7a4
jmp 0x14003bda8
mov r10, qword [rbx + 0xb338]
lea rax, [r10 - 0x1004]
cmp rdx, rax
jae 0x14003c8e5
cmp r8, rax
jae 0x14003c8e5
mov rax, qword [rbx + 0x2d98]
mov r10d, r9d
lea rcx, [rdx + rax]
lea rdx, [rax + r8]
lea rax, [r9 + r8]
mov qword [rbx + 0xb8], rax
cmp r9d, 8
jb 0x14003c886
mov r8d, r9d
shr r8, 3
cmp r11, r10
jae 0x14003c86f
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 0x14003c82e
jmp 0x14003c886
mov rax, qword [rcx]
add r9d, 0xfffffff8
mov qword [rdx], rax
add rcx, 8
add rdx, 8
sub r8, r13
jne 0x14003c86f
test r9d, r9d
je 0x14003bda8
mov al, byte [rcx]
mov byte [rdx], al
cmp r9d, r13d
jbe 0x14003bda8
mov al, byte [rcx + 1]
mov byte [rdx + 1], al
cmp r9d, 2
jbe 0x14003bda8
mov al, byte [rcx + 2]
mov byte [rdx + 2], al
cmp r9d, 3
jbe 0x14003bda8
mov al, byte [rcx + 3]
mov byte [rdx + 3], al
cmp r9d, 4
jbe 0x14003bda8
mov al, byte [rcx + 4]
mov byte [rdx + 4], al
cmp r9d, 5
jbe 0x14003bda8
cmp r9d, 6
jmp 0x14003c2ad
test r9d, r9d
je 0x14003bda8
mov rcx, qword [rbx + 0x2d98]
mov rax, rdx
sub rax, r10
cmp rdx, r10
cmovb rax, rdx
add rdx, r13
mov al, byte [rax + rcx]
mov byte [r8 + rcx], al
mov rcx, qword [rbx + 0xb8]
mov r10, qword [rbx + 0xb338]
inc rcx
mov r8, rcx
sub r8, r10
cmp rcx, r10
cmovb r8, rcx
mov qword [rbx + 0xb8], r8
add r9d, 0xffffffff
jne 0x14003c8ee
jmp 0x14003bda8
cmp edx, 0x100
jne 0x14003c951
mov rcx, rbx
call fcn.140038b6c
jmp 0x14003be90
cmp edx, 0x101
jne 0x14003c966
mov rcx, rbx
call fcn.140039b98
jmp 0x14003be90
cmp edx, 0x102
jne 0x14003caec
mov r8d, dword [rbx + 0xb0]
test r8d, r8d
je 0x14003bda8
mov r9, qword [rbx + 0xb8]
mov r10, qword [rbx + 0x88]
mov rdx, r9
sub rdx, r10
cmp r10, r9
jbe 0x14003c9ee
mov rax, qword [rbx + 0xb338]
add rdx, rax
cmp r10, rax
ja 0x14003c9b3
cmp byte [rbx + 0xc8], r12b
jne 0x14003c9ee
mov rax, qword [rbx + 0x2d98]
mov byte [r9 + rax], r12b
mov rdx, qword [rbx + 0xb8]
mov rcx, qword [rbx + 0xb338]
inc rdx
mov r9, rdx
sub r9, rcx
cmp rdx, rcx
cmovb r9, rdx
mov qword [rbx + 0xb8], r9
add r8d, 0xffffffff
jne 0x14003c9b3
jmp 0x14003bda8
mov r11, qword [rbx + 0xb338]
lea rax, [r11 - 0x1004]
cmp rdx, rax
jae 0x14003ca9e
cmp r9, rax
jae 0x14003ca9e
mov rax, qword [rbx + 0x2d98]
lea rcx, [rdx + rax]
lea rdx, [rax + r9]
lea rax, [r8 + r9]
mov qword [rbx + 0xb8], rax
cmp r8d, 8
jb 0x14003c253
mov r9, r8
shr r9, 3
cmp r10, r8
jae 0x14003ca82
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, 8
mov byte [rdx + 7], al
add rdx, 8
sub r9, r13
jne 0x14003ca3e
jmp 0x14003c253
mov rax, qword [rcx]
add r8d, 0xfffffff8
mov qword [rdx], rax
add rcx, 8
add rdx, 8
sub r9, r13
jne 0x14003ca82
jmp 0x14003c253
mov rcx, qword [rbx + 0x2d98]
mov rax, rdx
sub rax, r11
cmp rdx, r11
cmovb rax, rdx
add rdx, r13
mov al, byte [rax + rcx]
mov byte [r9 + rcx], al
mov rcx, qword [rbx + 0xb8]
mov r11, qword [rbx + 0xb338]
inc rcx
mov r9, rcx
sub r9, r11
cmp rcx, r11
cmovb r9, rcx
mov qword [rbx + 0xb8], r9
add r8d, 0xffffffff
jne 0x14003ca9e
jmp 0x14003bda8
cmp edx, 0x107
jae 0x14003cde1
add edx, 0xfffffefd
lea r8, [rbx + 0x88]
lea r8, [r8 + rdx*8]
mov r9d, dword [r8]
je 0x14003cb22
sub edx, 1
mov rcx, qword [rbx + rdx*8 + 0x88]
mov qword [r8], rcx
lea r8, [r8 - 8]
jne 0x14003cb0e
mov qword [rbx + 0x88], r9
mov ecx, 0x10
movsxd r11, dword [rbx + 8]
mov rdi, r9
mov rbp, qword [rbx + 0x18]
mov esi, dword [rbx + 0xc]
sub ecx, esi
mov edx, dword [r11 + rbp]
bswap edx
shr edx, cl
mov ecx, dword [rbx + 0x1c3c]
and edx, 0xfffe
cmp edx, dword [rbx + rcx*4 + 0x1bbc]
jae 0x14003cb92
mov eax, 0x10
sub eax, ecx
mov cl, al
shr rdx, cl
movzx r9d, byte [rdx + rbx + 0x1c40]
add r9d, esi
mov eax, r9d
shr eax, 3
add r11d, eax
and r9d, 7
mov dword [rbx + 8], r11d
mov dword [rbx + 0xc], r9d
movzx eax, word [rbx + rdx*2 + 0x1e40]
jmp 0x14003cc0d
mov r10d, 0xf
inc ecx
cmp ecx, r10d
jae 0x14003cbc3
mov r8d, ecx
add r8, 0x6ef
lea r8, [rbx + r8*4]
cmp edx, dword [r8]
jb 0x14003cbc0
add ecx, r13d
add r8, 4
cmp ecx, r10d
jb 0x14003cbad
jmp 0x14003cbc3
mov r10d, ecx
lea r9d, [rsi + r10]
mov ecx, 0x10
mov eax, r9d
sub ecx, r10d
shr eax, 3
and r9d, 7
add r11d, eax
mov dword [rbx + 0xc], r9d
mov dword [rbx + 8], r11d
lea eax, [r10 - 1]
sub edx, dword [rbx + rax*4 + 0x1bbc]
mov eax, r10d
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 r8d, byte [rax + r14 + 0x6e2a0]
movzx r10d, byte [rax + r14 + 0x6e2c0]
add r8d, 2
test r10d, r10d
je 0x14003cc62
movsxd rax, r11d
mov ecx, 0x10
sub ecx, r9d
mov edx, dword [rax + rbp]
bswap edx
shr edx, cl
mov ecx, 0x10
sub ecx, r10d
movzx edx, dx
shr edx, cl
lea ecx, [r9 + r10]
mov eax, ecx
add r8d, edx
shr eax, 3
add eax, r11d
and ecx, 7
mov dword [rbx + 8], eax
mov dword [rbx + 0xc], ecx
mov r9, qword [rbx + 0xb8]
mov rdx, r9
mov dword [rbx + 0xb0], r8d
sub rdx, rdi
cmp rdi, r9
jbe 0x14003ccd7
mov rax, qword [rbx + 0xb338]
add rdx, rax
cmp rdi, rax
ja 0x14003cc93
cmp byte [rbx + 0xc8], r12b
jne 0x14003ccd7
test r8d, r8d
je 0x14003bda8
mov rax, qword [rbx + 0x2d98]
mov byte [r9 + rax], r12b
mov rdx, qword [rbx + 0xb8]
mov rcx, qword [rbx + 0xb338]
inc rdx
mov r9, rdx
sub r9, rcx
cmp rdx, rcx
cmovb r9, rdx
mov qword [rbx + 0xb8], r9
add r8d, 0xffffffff
jne 0x14003cc9c
jmp 0x14003bda8
mov r10, qword [rbx + 0xb338]
lea rax, [r10 - 0x1004]
cmp rdx, rax
jae 0x14003cd8a
cmp r9, rax
jae 0x14003cd8a
mov rax, qword [rbx + 0x2d98]
mov r10d, r8d
lea rcx, [rdx + rax]
lea rdx, [rax + r9]
lea rax, [r9 + r8]
mov qword [rbx + 0xb8], rax
cmp r8d, 8
jb 0x14003c253
mov r9d, r8d
shr r9, 3
cmp rdi, r10
jae 0x14003cd6e
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, 8
mov byte [rdx + 7], al
add rdx, 8
sub r9, r13
jne 0x14003cd2a
jmp 0x14003c253
mov rax, qword [rcx]
add r8d, 0xfffffff8
mov qword [rdx], rax
add rcx, 8
add rdx, 8
sub r9, r13
jne 0x14003cd6e
jmp 0x14003c253
test r8d, r8d
je 0x14003bda8
mov rcx, qword [rbx + 0x2d98]
mov rax, rdx
sub rax, r10
cmp rdx, r10
cmovb rax, rdx
add rdx, r13
mov al, byte [rax + rcx]
mov byte [r9 + rcx], al
mov rcx, qword [rbx + 0xb8]
mov r10, qword [rbx + 0xb338]
inc rcx
mov r9, rcx
sub r9, r10
cmp rcx, r10
cmovb r9, rcx
mov qword [rbx + 0xb8], r9
add r8d, 0xffffffff
jne 0x14003cd93
jmp 0x14003bda8
lea eax, [rdx - 0x107]
movzx r9d, byte [rax + r14 + 0x6e330]
movzx r10d, byte [rax + r14 + 0x6e338]
add r9d, r13d
test r10d, r10d
je 0x14003ce38
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 r10d, 2
mov qword [rbx + 0xa0], rax
mov rax, qword [rbx + 0x90]
mov ecx, r9d
mov qword [rbx + 0x98], rax
mov rax, qword [rbx + 0x88]
mov qword [rbx + 0x90], rax
mov qword [rbx + 0x88], rcx
mov r8, qword [rbx + 0xb8]
mov rdx, r8
mov dword [rbx + 0xb0], 2
sub rdx, rcx
cmp rcx, r8
jbe 0x14003cee1
mov rax, qword [rbx + 0xb338]
add rdx, rax
cmp rcx, rax
ja 0x14003cea6
cmp byte [rbx + 0xc8], r12b
jne 0x14003cee1
mov rax, qword [rbx + 0x2d98]
mov byte [r8 + rax], r12b
mov rdx, qword [rbx + 0xb8]
mov rcx, qword [rbx + 0xb338]
inc rdx
mov r8, rdx
sub r8, rcx
cmp rdx, rcx
cmovb r8, rdx
mov qword [rbx + 0xb8], r8
add r10d, 0xffffffff
jne 0x14003cea6
jmp 0x14003bda8
mov r9, qword [rbx + 0xb338]
lea rax, [r9 - 0x1004]
cmp rdx, rax
jae 0x14003cf20
cmp r8, rax
jae 0x14003cf20
mov rcx, qword [rbx + 0x2d98]
lea rax, [r8 + 2]
mov qword [rbx + 0xb8], rax
mov al, byte [rdx + rcx]
mov byte [rcx + r8], al
mov al, byte [rdx + rcx + 1]
mov byte [rcx + r8 + 1], al
jmp 0x14003bda8
mov rcx, qword [rbx + 0x2d98]
mov rax, rdx
sub rax, r9
cmp rdx, r9
cmovb rax, rdx
add rdx, r13
mov al, byte [rax + rcx]
mov byte [r8 + rcx], al
mov rcx, qword [rbx + 0xb8]
mov r9, qword [rbx + 0xb338]
inc rcx
mov r8, rcx
sub r8, r9
cmp rcx, r9
cmovb r8, rcx
mov qword [rbx + 0xb8], r8
add r10d, 0xffffffff
jne 0x14003cf20
jmp 0x14003bda8
mov byte [rbx + 0x2fc8], r12b
jmp 0x14003cf8e
mov rcx, rdi
call fcn.14003640c
mov dword [rbx + 0xb298], r12d
mov rcx, rbx
call fcn.14003ac48
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 + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x50
xor ebp, ebp
mov byte [rcx + 0x2fc8], 1
mov rbx, rcx
cmp byte [rcx + 0x2fb8], bpl
jne 0x14003d036
call fcn.14003a84c
mov rcx, rbx
call fcn.14003a9e4
test al, al
je 0x14003d829
lea r13, [rbx + 0xe0]
mov rcx, rbx
lea r15, [rbx + 8]
mov r8, r13
mov rdx, r15
call fcn.140038a08
test al, al
je 0x14003d829
lea r9, [rbx + 0xf4]
mov r8, r13
mov rdx, r15
mov rcx, rbx
call fcn.1400397ec
test al, al
je 0x14003d829
cmp byte [rbx + 0xb29e], bpl
jne 0x14003d041
jmp 0x14003d829
lea r15, [rcx + 8]
lea r13, [rcx + 0xe0]
lea r12, [rbx + 0xb8]
mov rax, qword [rbx + 0xb338]
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 [rbx + 0xc8], al
mov eax, dword [rbx + 0xdc]
cmp dword [r15], eax
jl 0x14003d0f7
mov ecx, dword [rbx + 0xe8]
mov edx, dword [r13]
dec ecx
add edx, ecx
cmp dword [r15], edx
jg 0x14003d0a5
jne 0x14003d0e7
mov eax, dword [rbx + 0xe4]
cmp dword [rbx + 0xc], eax
jl 0x14003d0e7
cmp byte [rbx + 0xf0], bpl
jne 0x14003d821
mov r8, r13
mov rdx, r15
mov rcx, rbx
call fcn.140038a08
test al, al
je 0x14003d829
lea r9, [rbx + 0xf4]
mov r8, r13
mov rdx, r15
mov rcx, rbx
call fcn.1400397ec
test al, al
je 0x14003d829
jmp 0x14003d085
mov rcx, rbx
call fcn.14003a9e4
test al, al
je 0x14003d821
mov rcx, qword [rbx + 0xb338]
mov r8, qword [rbx + 0x2d90]
mov rdx, r8
sub rdx, qword [r12]
cmp rdx, rcx
lea rax, [rdx + rcx]
cmovb rax, rdx
cmp rax, 0x1004
ja 0x14003d14e
cmp r8, qword [r12]
je 0x14003d14e
mov rcx, rbx
call fcn.14003aed4
mov rax, qword [rbx + 0x2fb0]
cmp qword [rbx + 0x2fc0], rax
jg 0x14003d829
cmp byte [rbx + 0x2fb8], bpl
jne 0x14003dcc9
movsxd r11, dword [r15]
mov ecx, 0x10
mov r14, qword [r15 + 0x10]
mov edi, dword [r15 + 4]
sub ecx, edi
mov edx, dword [r11 + r14]
bswap edx
shr edx, cl
mov ecx, dword [rbx + 0x178]
and edx, 0xfffe
cmp edx, dword [rbx + rcx*4 + 0xf8]
jae 0x14003d1b3
mov eax, 0x10
sub eax, ecx
mov cl, al
shr rdx, cl
movzx r9d, byte [rdx + rbx + 0x17c]
add r9d, edi
mov esi, r9d
shr esi, 3
add esi, r11d
and r9d, 7
mov dword [r15], esi
mov dword [r15 + 4], r9d
movzx eax, word [rbx + rdx*2 + 0x37c]
jmp 0x14003d229
mov r10d, 0xf
inc ecx
cmp ecx, r10d
jae 0x14003d1e0
mov r8d, ecx
add r8, 0x3e
lea r8, [rbx + r8*4]
cmp edx, dword [r8]
jb 0x14003d1dd
inc ecx
add r8, 4
cmp ecx, r10d
jb 0x14003d1cb
jmp 0x14003d1e0
mov r10d, ecx
lea r9d, [rdi + r10]
mov ecx, 0x10
sub ecx, r10d
lea eax, [r10 - 1]
mov esi, r9d
and r9d, 7
mov dword [r15 + 4], r9d
shr esi, 3
add esi, r11d
mov dword [r15], esi
sub edx, dword [rbx + rax*4 + 0xf8]
mov eax, r10d
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 0x14003d275
cmp byte [rbx + 0x2fa8], bpl
je 0x14003d25d
mov rdx, qword [r12]
lea rcx, [rbx + 0x2da0]
lea rax, [rdx + 1]
mov qword [r12], rax
call fcn.140035b08
mov byte [rax], dil
jmp 0x14003d048
mov rax, qword [r12]
mov rcx, qword [rbx + 0x2d98]
mov byte [rcx + rax], dil
inc qword [r12]
jmp 0x14003d048
cmp edi, 0x106
jb 0x14003d7f0
lea r10d, [rdi - 0x106]
cmp r10d, 8
jae 0x14003d294
add r10d, 2
jmp 0x14003d2f0
mov r11d, r10d
and r10d, 3
or r10d, 4
shr r11d, 2
dec r11d
mov ecx, r11d
shl r10d, cl
add r10d, 2
test r11d, r11d
je 0x14003d2f0
movsxd rax, esi
mov ecx, 0x10
sub ecx, r9d
add r9d, r11d
mov edx, dword [rax + r14]
mov eax, r9d
shr eax, 3
add esi, eax
bswap edx
shr edx, cl
mov ecx, 0x10
sub ecx, r11d
movzx r8d, dx
shr r8d, cl
add r10d, r8d
mov dword [r15], esi
and r9d, 7
mov dword [r15 + 4], r9d
movsxd rax, esi
mov r11d, 0x10
mov ecx, r11d
sub ecx, r9d
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 0x14003d34f
mov eax, r11d
sub eax, ecx
mov cl, al
shr rdx, cl
movzx r11d, byte [rbx + rdx + 0xa68]
add r11d, r9d
mov edi, r11d
shr edi, 3
add edi, esi
and r11d, 7
mov dword [r15], edi
mov dword [r15 + 4], r11d
movzx eax, word [rbx + rdx*2 + 0xc68]
jmp 0x14003d3c0
mov ebp, 0xf
inc ecx
cmp ecx, ebp
jae 0x14003d37b
mov r8d, ecx
add r8, 0x279
lea r8, [rbx + r8*4]
cmp edx, dword [r8]
jb 0x14003d379
inc ecx
add r8, 4
cmp ecx, ebp
jb 0x14003d368
jmp 0x14003d37b
mov ebp, ecx
lea r11d, [r9 + rbp]
mov ecx, 0x10
sub ecx, ebp
lea eax, [rbp - 1]
mov edi, r11d
and r11d, 7
mov dword [r15 + 4], r11d
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 0x14003d3d3
lea r8, [rax + 1]
jmp 0x14003d58a
mov r9d, eax
and eax, 1
shr r9d, 1
or rax, 2
dec r9d
mov ecx, r9d
shl rax, cl
lea rsi, [rax + 1]
mov r8, rsi
test r9d, r9d
je 0x14003d58a
cmp r9d, 4
jb 0x14003d54b
jbe 0x14003d47a
movsxd rdx, edi
mov ecx, r11d
add rdx, r14
cmp r9d, 0x24
jbe 0x14003d433
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 0x14003d450
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
add r11d, 0xfffffffc
or r8, rdx
add r11d, r9d
sub ecx, r9d
mov ebp, r11d
shr r8, cl
shr ebp, 3
and r11d, 7
add ebp, edi
shl r8, 4
mov dword [r15], ebp
add r8, rsi
mov dword [r15 + 4], r11d
movsxd rcx, ebp
mov edx, dword [rcx + r14]
mov r14d, 0x10
mov ecx, r14d
sub ecx, r11d
bswap edx
shr edx, cl
mov ecx, dword [rbx + 0x1350]
and edx, 0xfffe
cmp edx, dword [rbx + rcx*4 + 0x12d0]
jae 0x14003d4d6
mov eax, r14d
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 eax, ebp
and ecx, 7
mov dword [r15], eax
mov dword [r15 + 4], ecx
movzx eax, word [rbx + rdx*2 + 0x1554]
jmp 0x14003d543
mov edi, 0xf
inc ecx
cmp ecx, edi
jae 0x14003d502
mov r9d, ecx
add r9, 0x4b4
lea r9, [rbx + r9*4]
cmp edx, dword [r9]
jb 0x14003d500
inc ecx
add r9, 4
cmp ecx, edi
jb 0x14003d4ef
jmp 0x14003d502
mov edi, ecx
lea ecx, [r11 + rdi]
mov eax, ecx
and ecx, 7
shr eax, 3
add eax, ebp
mov dword [r15 + 4], ecx
mov dword [r15], eax
mov ecx, r14d
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 0x14003d58a
movsxd rax, edi
mov edx, dword [rax + r14]
mov r14d, 0x10
mov ecx, r14d
sub cl, r11b
bswap edx
mov edx, edx
shr rdx, cl
mov ecx, r14d
sub ecx, r9d
movzx r8d, dx
shr r8, cl
lea ecx, [r11 + r9]
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 0x14003d5ae
inc r10d
cmp r8, 0x2000
jbe 0x14003d5ae
inc r10d
cmp r8, 0x40000
jbe 0x14003d5ae
inc r10d
mov rax, qword [rbx + 0x98]
xor ebp, ebp
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], bpl
je 0x14003d61e
mov rax, qword [rbx + 0xb338]
lea rcx, [rbx + 0x2da0]
mov qword [rsp + 0x28], rax
mov r9, r12
mov al, byte [rbx + 0xc8]
mov edx, r10d
mov byte [rsp + 0x20], al
call fcn.14003676c
jmp 0x14003d048
mov r9, qword [r12]
mov rdx, r9
sub rdx, r8
cmp r8, r9
jbe 0x14003d683
mov rax, qword [rbx + 0xb338]
add rdx, rax
cmp r8, rax
ja 0x14003d645
cmp byte [rbx + 0xc8], bpl
jne 0x14003d683
test r10d, r10d
je 0x14003d048
mov rax, qword [rbx + 0x2d98]
mov byte [r9 + rax], bpl
mov rdx, qword [r12]
mov rcx, qword [rbx + 0xb338]
inc rdx
mov r9, rdx
sub r9, rcx
cmp rdx, rcx
cmovb r9, rdx
mov qword [r12], r9
add r10d, 0xffffffff
jne 0x14003d64e
jmp 0x14003d048
mov r11, qword [rbx + 0xb338]
lea rax, [r11 - 0x1004]
cmp rdx, rax
jae 0x14003d79f
cmp r9, rax
jae 0x14003d79f
mov rax, qword [rbx + 0x2d98]
mov r11d, r10d
lea rcx, [rax + rdx]
lea rdx, [r9 + rax]
lea rax, [r9 + r10]
mov qword [r12], rax
cmp r10d, 8
jb 0x14003d72d
cmp r8, r11
mov r8d, r10d
jae 0x14003d711
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 0x14003d6cf
jmp 0x14003d72d
shr r8, 3
mov rax, qword [rcx]
add r10d, 0xfffffff8
mov qword [rdx], rax
add rcx, 8
add rdx, 8
sub r8, 1
jne 0x14003d715
test r10d, r10d
je 0x14003d048
mov al, byte [rcx]
mov byte [rdx], al
cmp r10d, 1
jbe 0x14003d048
mov al, byte [rcx + 1]
mov byte [rdx + 1], al
cmp r10d, 2
jbe 0x14003d048
mov al, byte [rcx + 2]
mov byte [rdx + 2], al
cmp r10d, 3
jbe 0x14003d048
mov al, byte [rcx + 3]
mov byte [rdx + 3], al
cmp r10d, 4
jbe 0x14003d048
mov al, byte [rcx + 4]
mov byte [rdx + 4], al
cmp r10d, 5
jbe 0x14003d048
mov al, byte [rcx + 5]
mov byte [rdx + 5], al
cmp r10d, 6
jbe 0x14003d048
mov al, byte [rcx + 6]
mov byte [rdx + 6], al
jmp 0x14003d048
test r10d, r10d
je 0x14003d048
mov rcx, qword [rbx + 0x2d98]
mov rax, rdx
sub rax, r11
cmp rdx, r11
cmovb rax, rdx
inc rdx
mov al, byte [rax + rcx]
mov byte [r9 + rcx], al
mov rcx, qword [r12]
mov r11, qword [rbx + 0xb338]
inc rcx
mov r9, rcx
sub r9, r11
cmp rcx, r11
cmovb r9, rcx
mov qword [r12], r9
add r10d, 0xffffffff
jne 0x14003d7a8
jmp 0x14003d048
cmp edi, 0x100
jne 0x14003d847
lea r8, [rsp + 0x30]
mov rdx, r15
mov rcx, rbx
call fcn.140038bdc
test al, al
je 0x14003d821
lea rdx, [rsp + 0x30]
mov rcx, rbx
call fcn.140035b54
test al, al
jne 0x14003d048
mov rcx, rbx
call fcn.14003aed4
lea r11, [rsp + 0x50]
mov rbx, qword [r11 + 0x30]
mov rbp, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret
cmp edi, 0x101
jne 0x14003d9d2
mov r10d, dword [rbx + 0xb0]
test r10d, r10d
je 0x14003d048
cmp byte [rbx + 0x2fa8], bpl
je 0x14003d878
mov r8, qword [rbx + 0x88]
jmp 0x14003d5f1
mov r8, qword [r12]
mov r9, qword [rbx + 0x88]
mov rdx, r8
sub rdx, r9
cmp r9, r8
jbe 0x14003d8db
mov rax, qword [rbx + 0xb338]
add rdx, rax
cmp r9, rax
ja 0x14003d8a6
cmp byte [rbx + 0xc8], bpl
jne 0x14003d8db
mov rax, qword [rbx + 0x2d98]
mov byte [r8 + rax], bpl
mov rdx, qword [r12]
mov rcx, qword [rbx + 0xb338]
inc rdx
mov r8, rdx
sub r8, rcx
cmp rdx, rcx
cmovb r8, rdx
mov qword [r12], r8
add r10d, 0xffffffff
jne 0x14003d8a6
jmp 0x14003d048
mov r11, qword [rbx + 0xb338]
lea rax, [r11 - 0x1004]
cmp rdx, rax
jae 0x14003d98a
cmp r8, rax
jae 0x14003d98a
mov rax, qword [rbx + 0x2d98]
lea rcx, [rax + rdx]
lea rdx, [r8 + rax]
lea rax, [r8 + r10]
mov qword [r12], rax
cmp r10d, 8
jb 0x14003d72d
mov r8, r10
shr r8, 3
cmp r9, r10
jae 0x14003d96d
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 0x14003d928
jmp 0x14003d72d
mov rax, qword [rcx]
add r10d, 0xfffffff8
mov qword [rdx], rax
add rcx, 8
add rdx, 8
sub r8, 1
jne 0x14003d96d
jmp 0x14003d72d
mov rcx, qword [rbx + 0x2d98]
mov rax, rdx
sub rax, r11
cmp rdx, r11
cmovb rax, rdx
inc rdx
mov al, byte [rax + rcx]
mov byte [r8 + rcx], al
mov rcx, qword [r12]
mov r11, qword [rbx + 0xb338]
inc rcx
mov r8, rcx
sub r8, r11
cmp rcx, r11
cmovb r8, rcx
mov qword [r12], r8
add r10d, 0xffffffff
jne 0x14003d98a
jmp 0x14003d048
add edi, 0xfffffefe
lea rdx, [rbx + 0x88]
lea rdx, [rdx + rdi*8]
mov rsi, qword [rdx]
je 0x14003d9fc
sub edi, 1
mov rcx, qword [rbx + rdi*8 + 0x88]
mov qword [rdx], rcx
lea rdx, [rdx - 8]
jne 0x14003d9e8
mov rbp, qword [r15 + 0x10]
mov r14d, 0x10
mov qword [rbx + 0x88], rsi
mov ecx, r14d
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 0x14003da6a
mov eax, r14d
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 0x14003dae1
mov r9d, 0xf
inc ecx
cmp ecx, r9d
jae 0x14003da9a
mov r8d, ecx
add r8, 0x6ef
lea r8, [rbx + r8*4]
cmp edx, dword [r8]
jb 0x14003da97
inc ecx
add r8, 4
cmp ecx, r9d
jb 0x14003da85
jmp 0x14003da9a
mov r9d, ecx
lea r11d, [r9 + rdi]
mov ecx, r14d
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 0x14003daf1
add r10d, 2
jmp 0x14003db47
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 0x14003db47
movsxd rax, edi
mov ecx, r14d
sub ecx, r11d
mov edx, dword [rax + rbp]
bswap edx
shr edx, cl
mov ecx, r14d
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
xor ebp, ebp
mov dword [rbx + 0xb0], r10d
cmp byte [rbx + 0x2fa8], bpl
je 0x14003db61
mov r8, rsi
jmp 0x14003d5f1
mov r8, qword [r12]
mov rdx, r8
sub rdx, rsi
cmp rsi, r8
jbe 0x14003dbc6
mov rax, qword [rbx + 0xb338]
add rdx, rax
cmp rsi, rax
ja 0x14003db88
cmp byte [rbx + 0xc8], bpl
jne 0x14003dbc6
test r10d, r10d
je 0x14003d048
mov rax, qword [rbx + 0x2d98]
mov byte [r8 + rax], bpl
mov rdx, qword [r12]
mov rcx, qword [rbx + 0xb338]
inc rdx
mov r8, rdx
sub r8, rcx
cmp rdx, rcx
cmovb r8, rdx
mov qword [r12], r8
add r10d, 0xffffffff
jne 0x14003db91
jmp 0x14003d048
mov r9, qword [rbx + 0xb338]
lea rax, [r9 - 0x1004]
cmp rdx, rax
jae 0x14003dc78
cmp r8, rax
jae 0x14003dc78
mov rax, qword [rbx + 0x2d98]
mov r9d, r10d
lea rcx, [rax + rdx]
lea rdx, [r8 + rax]
lea rax, [r10 + r8]
mov qword [r12], rax
cmp r10d, 8
jb 0x14003d72d
mov r8d, r10d
shr r8, 3
cmp rsi, r9
jae 0x14003dc5b
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 0x14003dc16
jmp 0x14003d72d
mov rax, qword [rcx]
add r10d, 0xfffffff8
mov qword [rdx], rax
add rcx, 8
add rdx, 8
sub r8, 1
jne 0x14003dc5b
jmp 0x14003d72d
test r10d, r10d
je 0x14003d048
mov rcx, qword [rbx + 0x2d98]
mov rax, rdx
sub rax, r9
cmp rdx, r9
cmovb rax, rdx
inc rdx
mov al, byte [rax + rcx]
mov byte [r8 + rcx], al
mov rcx, qword [r12]
mov r9, qword [rbx + 0xb338]
inc rcx
mov r8, rcx
sub r8, r9
cmp rcx, r9
cmovb r8, rcx
mov qword [r12], r8
add r10d, 0xffffffff
jne 0x14003dc81
jmp 0x14003d048
mov byte [rbx + 0x2fc8], bpl
jmp 0x14003d829
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 [0x14006e368]
xor rax, rsp
mov qword [rsp + 0x440], rax
mov bl, dl
mov rsi, rcx
call fcn.140037bf0
mov dl, bl
mov rcx, rsi
call fcn.14003a84c
mov eax, dword [rsi + 0x30]
lea r15, [rsi + 0x28]
xor ebx, ebx
mov edx, ebx
add eax, eax
je 0x14003dd4f
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 0x14003dd2c
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.140042be0
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.140025d68
xor ecx, ecx
mov dword [rsp + 0x28], eax
mov edi, eax
test eax, eax
js 0x14003e0b7
add r14d, eax
mov dword [rsp + 0x30], r14d
je 0x14003e0b7
test eax, eax
jle 0x14003ddde
cmp r14d, 0x400
jl 0x14003e0ad
cmp r13d, r14d
jge 0x14003e0ad
mov eax, dword [rsi + 0x30]
mov r12d, ecx
mov dword [rsp + 0x24], ecx
mov ebp, ecx
add eax, eax
je 0x14003df00
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 0x14003de25
mov dword [rbx + 0x2cd8], r14d
jmp 0x14003de58
movsxd rdx, r13d
mov rcx, rbp
add rdx, qword [rsi + 0x38]
call fcn.14001d1b4
xor ecx, ecx
mov eax, r14d
sub eax, r13d
mov qword [rbp], rcx
mov dword [rbx + 0x2cd8], eax
je 0x14003defc
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 0x14003dea5
mov r8, rdi
mov byte [rbx + 0x20], 1
mov rdx, rbp
mov rcx, rsi
call fcn.140038a08
xor ecx, ecx
test al, al
je 0x14003def7
cmp byte [rbx + 0x35], cl
jne 0x14003de9e
cmp byte [rsi + 0xb29e], cl
je 0x14003def7
mov byte [rsi + 0xb29e], 1
cmp byte [rsp + 0x21], cl
jne 0x14003deb9
cmp dword [rdi], 0x20000
jg 0x14003deb9
inc dword [rsp + 0x24]
jmp 0x14003dec5
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 0x14003dedd
cmp byte [rbx + 0x34], cl
jne 0x14003defc
cmp eax, 0x400
jl 0x14003defc
mov eax, dword [rsi + 0x30]
add eax, eax
cmp r12d, eax
jae 0x14003defc
mov edi, dword [rsp + 0x28]
jmp 0x14003ddfb
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 0x14003df16
inc edi
mov ebx, ecx
test ebp, ebp
je 0x14003df7a
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 0x14003df5d
mov rcx, rsi
call fcn.14003e178
jmp 0x14003df6d
mov rcx, qword [rsi + 0x20]
lea rdx, [0x14003e950]
call fcn.140032ab8
add ebx, edi
cmp ebx, ebp
jb 0x14003df1f
mov r14d, dword [rsp + 0x30]
xor ecx, ecx
test r12d, r12d
je 0x14003e0ad
mov rcx, qword [rsi + 0x20]
call fcn.140032db8
xor ecx, ecx
mov edi, ecx
test r12d, r12d
je 0x14003e002
mov ebx, ecx
mov rbp, qword [r15]
add rbp, rbx
cmp byte [rbp + 0x2cdd], cl
jne 0x14003dfc2
mov rdx, rbp
mov rcx, rsi
call fcn.1400382f8
xor ecx, ecx
test al, al
je 0x14003e0b7
cmp byte [rbp + 0x2cdd], cl
je 0x14003dfd7
mov rdx, rbp
mov rcx, rsi
call fcn.14003e990
xor ecx, ecx
test al, al
je 0x14003e0b7
cmp byte [rbp + 0x2cdc], cl
jne 0x14003e0b7
cmp byte [rbp + 0x2cdf], cl
jne 0x14003e030
cmp byte [rbp + 0x34], cl
jne 0x14003e0b7
inc edi
add rbx, 0x2cf8
cmp edi, r12d
jb 0x14003df97
cmp byte [rsp + 0x20], cl
jne 0x14003e0b7
mov ebx, r14d
sub ebx, r13d
cmp ebx, 0x400
jl 0x14003e151
cmp r13d, r14d
jge 0x14003dd91
mov edi, dword [rsp + 0x28]
jmp 0x14003dde7
mov eax, dword [rbp + 8]
sub eax, dword [rsi + 0x38]
add eax, dword [rbp + 0x18]
cmp r14d, eax
jle 0x14003e0b7
mov rcx, qword [rsi + 0x38]
sub r14d, eax
movsxd rdx, eax
movsxd r8, r14d
add rdx, rcx
call fcn.140042be0
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 0x14003e0aa
mov rcx, qword [r15]
mov r8d, 0x2cf8
mov rdx, rbp
mov rbx, qword [rcx + 0x2ce0]
mov edi, dword [rcx + 0x2cec]
call fcn.140042be0
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 0x14003dd91
mov rdx, qword [rsi + 0xb8]
mov rcx, qword [rsi + 0xb338]
mov rax, rdx
sub rax, rcx
cmp rdx, rcx
mov rcx, rsi
cmovb rax, rdx
mov qword [rsi + 0xb8], rax
call fcn.14003aed4
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.140042be0
mov rcx, qword [rsp + 0x440]
xor rcx, rsp
call fcn.140041060
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 0x14003e0b7
jle 0x14003e16f
mov rcx, qword [rsi + 0x38]
movsxd rdx, r13d
add rdx, rcx
movsxd r8, ebx
call fcn.140042be0
xor ecx, ecx
mov r13d, ecx
jmp 0x14003dd8e