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

Disassembly:
sub rsp, 0x28
cmp edx, 0xf
je 0x14004f6b3
cmp edx, 0x14
je 0x14004f69e
cmp edx, 0x1a
je 0x14004f69e
cmp edx, 0x1d
je 0x14004f689
cmp edx, 0x32
jne 0x14004f6c4
cmp dword [rcx + 0x30], 1
jbe 0x14004f67d
cmp byte [rcx + 0x4dd1], 0
jne 0x14004f67d
cmp byte [rcx + 0x4db0], 0
jne 0x14004f67d
mov dl, r8b
add rsp, 0x28
jmp 0x1400563d4
mov dl, r8b
add rsp, 0x28
jmp 0x1400556a4
cmp byte [rcx + 0x4db0], 0
jne 0x14004f6c4
mov dl, r8b
add rsp, 0x28
jmp 0x140054544
cmp byte [rcx + 0x4db0], 0
jne 0x14004f6c4
mov dl, r8b
add rsp, 0x28
jmp 0x140053d7c
cmp byte [rcx + 0x4db0], 0
jne 0x14004f6c4
mov dl, r8b
call fcn.140053bdc
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 + 0x4dc0], 0
mov dil, dl
mov rbx, rcx
je 0x140053db3
mov rax, qword [rcx + 0xe0]
mov qword [rcx + 0xd8], rax
jmp 0x140053ded
call fcn.1400531d0
mov rcx, rbx
call fcn.140053338
test al, al
je 0x14005452a
test dil, dil
je 0x140053dd6
cmp byte [rbx + 0xe8ac], 0
jne 0x140053de6
mov rcx, rbx
call fcn.140051848
test al, al
je 0x14005452a
dec qword [rbx + 0x4db8]
cmp qword [rbx + 0x4db8], 0
jl 0x14005451a
mov r13d, 0x10
lea rbp, [0x140000000]
lea r12d, [r13 - 1]
mov rax, qword [rbx + 0xe978]
and qword [rbx + 0xd8], rax
mov eax, dword [rbx + 0xe8]
sub eax, 0x1e
cmp dword [rbx + 8], eax
jle 0x140053e38
mov rcx, rbx
call fcn.140053338
test al, al
je 0x14005451a
mov rcx, qword [rbx + 0xe0]
mov rdx, qword [rbx + 0xd8]
mov rax, rcx
sub rax, rdx
and rax, qword [rbx + 0xe978]
cmp rax, 0x10e
jae 0x140053e75
cmp rcx, rdx
je 0x140053e75
mov rcx, rbx
call fcn.1400534f0
cmp byte [rbx + 0x4dc0], 0
jne 0x14005452a
cmp byte [rbx + 0x98c0], 0
je 0x140053fdb
movsxd rdx, dword [rbx + 8]
lea r9, [rbx + 0x590c]
mov eax, dword [rbx + 0x98c8]
mov r11d, dword [rbx + 0xc]
imul rcx, rax, 0xeec
add r9, rcx
mov rcx, qword [rbx + 0x18]
movzx eax, byte [rcx + rdx]
movzx r8d, byte [rcx + rdx + 1]
shl eax, 8
or r8d, eax
movzx eax, byte [rcx + rdx + 2]
shl r8d, 8
mov ecx, 8
or r8d, eax
sub ecx, r11d
shr r8d, cl
mov ecx, dword [r9 + 0x84]
and r8d, 0xfffe
cmp r8d, dword [r9 + rcx*4 + 4]
jae 0x140053f13
mov eax, r13d
mov edx, r8d
sub eax, ecx
mov cl, al
shr rdx, cl
movzx ecx, byte [rdx + r9 + 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 [r9 + rdx*2 + 0x488]
jmp 0x140053f7a
inc ecx
mov r10d, r12d
cmp ecx, r12d
jae 0x140053f3b
mov edx, ecx
inc rdx
lea rdx, [r9 + rdx*4]
cmp r8d, dword [rdx]
jb 0x140053f38
inc ecx
add rdx, 4
cmp ecx, r12d
jb 0x140053f26
jmp 0x140053f3b
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, r13d
sub ecx, r10d
sub r8d, dword [r9 + rax*4 + 4]
mov eax, r10d
shr r8d, cl
mov edx, dword [r9 + rax*4 + 0x44]
add edx, r8d
cmp edx, dword [r9]
sbb eax, eax
and eax, edx
movzx eax, word [r9 + rax*2 + 0xc88]
movzx edx, ax
mov rcx, rbx
cmp edx, 0x100
jne 0x140053f9a
call fcn.140051848
test al, al
je 0x14005451a
jmp 0x14005450c
call fcn.14004ee9c
mov rcx, qword [rbx + 0xd8]
mov rdx, qword [rbx + 0x4ba8]
mov byte [rdx + rcx], al
inc dword [rbx + 0x98c8]
inc qword [rbx + 0xd8]
mov eax, dword [rbx + 0x98c8]
cmp eax, dword [rbx + 0x98c4]
jne 0x1400540e7
and dword [rbx + 0x98c8], 0
jmp 0x1400540e7
movsxd r10, dword [rbx + 8]
mov ecx, 8
mov rsi, qword [rbx + 0x18]
mov edi, dword [rbx + 0xc]
sub ecx, edi
movzx eax, byte [r10 + rsi + 1]
movzx edx, byte [r10 + rsi]
shl edx, 8
or edx, eax
movzx eax, byte [r10 + rsi + 2]
shl edx, 8
or edx, eax
shr edx, cl
mov ecx, dword [rbx + 0x188]
and edx, 0xfffe
cmp edx, dword [rbx + rcx*4 + 0x108]
jae 0x140054053
mov eax, r13d
sub eax, ecx
mov cl, al
shr rdx, cl
movzx r11d, byte [rdx + rbx + 0x18c]
add r11d, edi
mov edi, r11d
shr edi, 3
add edi, r10d
and r11d, 7
mov dword [rbx + 8], edi
mov dword [rbx + 0xc], r11d
movzx eax, word [rbx + rdx*2 + 0x58c]
jmp 0x1400540c4
inc ecx
mov r9d, r12d
cmp ecx, r12d
jae 0x14005407d
mov r8d, ecx
add r8, 0x42
lea r8, [rbx + r8*4]
cmp edx, dword [r8]
jb 0x14005407a
inc ecx
add r8, 4
cmp ecx, r12d
jb 0x140054068
jmp 0x14005407d
mov r9d, ecx
lea r11d, [rdi + r9]
mov ecx, r13d
sub ecx, r9d
lea eax, [r9 - 1]
mov edi, r11d
and r11d, 7
mov dword [rbx + 0xc], r11d
shr edi, 3
add edi, r10d
mov dword [rbx + 8], edi
sub edx, dword [rbx + rax*4 + 0x108]
mov eax, r9d
shr edx, cl
add edx, dword [rbx + rax*4 + 0x148]
cmp edx, dword [rbx + 0x104]
sbb eax, eax
and eax, edx
movzx eax, word [rbx + rax*2 + 0xd8c]
movzx edx, ax
cmp edx, 0x100
jae 0x1400540f3
mov rax, qword [rbx + 0xd8]
mov rcx, qword [rbx + 0x4ba8]
mov byte [rcx + rax], dl
inc qword [rbx + 0xd8]
dec qword [rbx + 0x4db8]
jmp 0x14005450c
mov eax, 0x10d
cmp edx, eax
jbe 0x1400542e4
lea eax, [rdx - 0x10e]
movzx r9d, byte [rax + rbp + 0x89710]
movzx r8d, byte [rax + rbp + 0x89730]
add r9d, 3
test r8d, r8d
je 0x14005416a
movsxd rcx, edi
movzx eax, byte [rcx + rsi]
movzx edx, byte [rcx + rsi + 1]
shl eax, 8
or edx, eax
movzx eax, byte [rcx + rsi + 2]
shl edx, 8
mov ecx, 8
or edx, eax
sub ecx, r11d
shr edx, cl
add r11d, r8d
mov eax, r11d
movzx edx, dx
shr eax, 3
mov ecx, r13d
sub ecx, r8d
add eax, edi
shr edx, cl
add r9d, edx
mov dword [rbx + 8], eax
and r11d, 7
mov dword [rbx + 0xc], r11d
movsxd rsi, dword [rbx + 8]
mov ecx, 8
mov rbp, qword [rbx + 0x18]
sub ecx, r11d
movzx eax, byte [rsi + rbp]
movzx edx, byte [rsi + rbp + 1]
shl eax, 8
or edx, eax
movzx eax, byte [rsi + rbp + 2]
shl edx, 8
or edx, eax
shr edx, cl
mov ecx, dword [rbx + 0x1074]
and edx, 0xfffe
cmp edx, dword [rbx + rcx*4 + 0xff4]
jae 0x1400541dc
mov eax, r13d
sub eax, ecx
mov cl, al
shr rdx, cl
movzx r10d, byte [rdx + rbx + 0x1078]
add r10d, r11d
mov eax, r10d
shr eax, 3
add esi, eax
and r10d, 7
mov dword [rbx + 8], esi
mov dword [rbx + 0xc], r10d
movzx eax, word [rbx + rdx*2 + 0x1478]
jmp 0x14005424b
inc ecx
mov edi, r12d
cmp ecx, r12d
jae 0x140054208
mov r8d, ecx
add r8, 0x3fd
lea r8, [rbx + r8*4]
cmp edx, dword [r8]
jb 0x140054206
inc ecx
add r8, 4
cmp ecx, r12d
jb 0x1400541f4
jmp 0x140054208
mov edi, ecx
lea r10d, [r11 + rdi]
mov ecx, r13d
mov eax, r10d
sub ecx, edi
shr eax, 3
and r10d, 7
add esi, eax
mov dword [rbx + 0xc], r10d
mov dword [rbx + 8], esi
lea eax, [rdi - 1]
sub edx, dword [rbx + rax*4 + 0xff4]
mov eax, edi
shr edx, cl
add edx, dword [rbx + rax*4 + 0x1034]
cmp edx, dword [rbx + 0xff0]
sbb eax, eax
and eax, edx
movzx eax, word [rbx + rax*2 + 0x1c78]
movzx eax, ax
lea rcx, [0x140000000]
mov r8d, dword [rcx + rax*4 + 0x89750]
movzx r11d, byte [rax + rcx + 0x89810]
inc r8d
test r11d, r11d
je 0x1400542b5
movsxd rcx, esi
movzx eax, byte [rcx + rbp + 1]
movzx edx, byte [rcx + rbp]
shl edx, 8
or edx, eax
movzx eax, byte [rcx + rbp + 2]
shl edx, 8
mov ecx, 8
or edx, eax
sub ecx, r10d
shr edx, cl
mov ecx, r13d
sub ecx, r11d
movzx edx, dx
shr edx, cl
lea ecx, [r10 + r11]
mov eax, ecx
add r8d, edx
shr eax, 3
add eax, esi
and ecx, 7
mov dword [rbx + 8], eax
mov dword [rbx + 0xc], ecx
cmp r8d, 0x2000
jb 0x1400542cd
inc r9d
cmp r8d, 0x40000
jb 0x1400542cd
inc r9d
mov edx, r9d
mov rcx, rbx
call fcn.14004ea74
lea rbp, [0x140000000]
jmp 0x14005450c
jne 0x1400542ee
mov rcx, rbx
jmp 0x140053f88
cmp edx, 0x100
jne 0x140054308
mov r8d, dword [rbx + 0xd0]
mov edx, dword [rbx + 0xcc]
jmp 0x140054504
cmp edx, 0x105
jae 0x140054498
mov eax, dword [rbx + 0xc8]
sub eax, edx
movsxd rcx, edi
and eax, 3
movzx edx, byte [rcx + rsi + 1]
mov r10d, dword [rbx + rax*4 + 0xb8]
movzx eax, byte [rcx + rsi]
shl eax, 8
or edx, eax
movzx eax, byte [rcx + rsi + 2]
shl edx, 8
mov ecx, 8
or edx, eax
sub ecx, r11d
shr edx, cl
mov ecx, dword [rbx + 0x2e4c]
and edx, 0xfffe
cmp edx, dword [rbx + rcx*4 + 0x2dcc]
jae 0x140054394
mov eax, r13d
sub eax, ecx
mov cl, al
shr rdx, cl
movzx r8d, byte [rdx + rbx + 0x2e50]
add r8d, r11d
mov eax, r8d
shr eax, 3
add edi, eax
and r8d, 7
mov dword [rbx + 8], edi
mov dword [rbx + 0xc], r8d
movzx eax, word [rbx + rdx*2 + 0x3250]
jmp 0x140054407
inc ecx
mov r9d, r12d
cmp ecx, r12d
jae 0x1400543c1
mov r8d, ecx
add r8, 0xb73
lea r8, [rbx + r8*4]
cmp edx, dword [r8]
jb 0x1400543be
inc ecx
add r8, 4
cmp ecx, r12d
jb 0x1400543ac
jmp 0x1400543c1
mov r9d, ecx
lea r8d, [r11 + r9]
mov ecx, r13d
mov eax, r8d
sub ecx, r9d
shr eax, 3
and r8d, 7
add edi, eax
mov dword [rbx + 0xc], r8d
mov dword [rbx + 8], edi
lea eax, [r9 - 1]
sub edx, dword [rbx + rax*4 + 0x2dcc]
mov eax, r9d
shr edx, cl
add edx, dword [rbx + rax*4 + 0x2e0c]
cmp edx, dword [rbx + 0x2dc8]
sbb eax, eax
and eax, edx
movzx eax, word [rbx + rax*2 + 0x3a50]
movzx eax, ax
movzx r9d, byte [rax + rbp + 0x89710]
movzx r11d, byte [rax + rbp + 0x89730]
add r9d, 2
test r11d, r11d
je 0x14005446c
movsxd rcx, edi
movzx eax, byte [rcx + rsi]
movzx edx, byte [rcx + rsi + 1]
shl eax, 8
or edx, eax
movzx eax, byte [rcx + rsi + 2]
shl edx, 8
mov ecx, 8
or edx, eax
sub ecx, r8d
shr edx, cl
mov ecx, r13d
sub ecx, r11d
movzx edx, dx
shr edx, cl
lea ecx, [r8 + r11]
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 r10d, 0x101
jb 0x140054490
inc r9d
cmp r10d, 0x2000
jb 0x140054490
inc r9d
cmp r10d, 0x40000
jb 0x140054490
inc r9d
mov r8d, r10d
mov edx, r9d
jmp 0x140054504
lea eax, [rdx - 0x105]
movzx r8d, byte [rax + rbp + 0x89840]
movzx r9d, byte [rax + rbp + 0x89848]
inc r8d
test r9d, r9d
je 0x1400544ff
movsxd rcx, edi
movzx eax, byte [rcx + rsi]
movzx edx, byte [rcx + rsi + 1]
shl eax, 8
or edx, eax
movzx eax, byte [rcx + rsi + 2]
shl edx, 8
mov ecx, 8
or edx, eax
sub ecx, r11d
shr edx, cl
mov ecx, r13d
sub ecx, r9d
movzx edx, dx
shr edx, cl
lea ecx, [r11 + r9]
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
mov edx, 2
mov rcx, rbx
call fcn.14004ea74
cmp qword [rbx + 0x4db8], 0
jge 0x140053e0c
mov rcx, rbx
call fcn.140051604
mov rcx, rbx
call fcn.1400534f0
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 rbp, [0x140000000]
cmp dword [0x1400a51b4], r12d
mov dil, dl
mov rbx, rcx
mov r13d, 1
jne 0x1400545f2
mov r15d, r12d
lea r14, [0x140089890]
mov esi, r12d
mov ebp, r12d
mov edi, r12d
cmp dword [r14], r12d
jle 0x1400545d7
mov r12d, dword [r14]
lea rax, [0x140000000]
mov ecx, esi
mov r8d, r12d
shl r13d, cl
mov dl, sil
lea rcx, [rax + 0xa52b0]
add rcx, rdi
call fcn.14005ca50
lea rax, [0x140000000]
mov dword [rax + rdi*4 + 0xa51b0], r15d
inc rdi
add r15d, r13d
sub r12, 1
jne 0x1400545be
lea r13d, [r12 + 1]
add ebp, r13d
add r14, 4
add esi, r13d
cmp ebp, 0x13
jb 0x14005458e
mov dil, byte [rsp + 0x68]
lea rbp, [0x140000000]
mov byte [rbx + 0x4dd0], r13b
cmp byte [rbx + 0x4dc0], r12b
jne 0x14005463b
mov dl, dil
mov rcx, rbx
call fcn.1400531d0
mov rcx, rbx
call fcn.1400532a8
test al, al
je 0x14005568c
test dil, dil
je 0x14005462b
cmp byte [rbx + 0xe8ad], r12b
jne 0x14005463b
mov rcx, rbx
call fcn.140051d04
test al, al
je 0x14005568c
mov r15d, dword [rsp + 0x60]
mov r14d, 8
mov rax, qword [rbx + 0xe978]
and qword [rbx + 0xd8], rax
mov eax, dword [rbx + 0xec]
cmp dword [rbx + 8], eax
jle 0x14005466f
mov rcx, rbx
call fcn.1400532a8
test al, al
je 0x140055684
mov rcx, qword [rbx + 0xe0]
mov rdx, qword [rbx + 0xd8]
mov rax, rcx
sub rax, rdx
and rax, qword [rbx + 0xe978]
cmp rax, 0x104
jae 0x1400546c0
cmp rcx, rdx
je 0x1400546c0
mov rcx, rbx
call fcn.14005357c
mov rax, qword [rbx + 0x4db8]
cmp qword [rbx + 0x4dc8], rax
jg 0x14005568c
cmp byte [rbx + 0x4dc0], r12b
jne 0x14005566c
cmp dword [rbx + 0xe8a8], r13d
jne 0x140054ada
lea rsi, [rbx + 0x9a48]
mov rcx, rsi
call fcn.14004f1c8
mov edi, eax
cmp eax, 0xffffffff
je 0x140055675
cmp eax, dword [rbx + 0xe710]
jne 0x140054ac3
mov rcx, rsi
call fcn.14004f1c8
cmp eax, 0xffffffff
je 0x140055675
test eax, eax
jne 0x14005471d
mov rcx, rbx
call fcn.140051d04
test al, al
je 0x140055684
jmp 0x140054646
cmp eax, 2
je 0x140055684
cmp eax, 3
jne 0x140054735
mov rcx, rbx
call fcn.140052708
jmp 0x140054710
cmp eax, 4
jne 0x14005494f
mov edi, r12d
mov r14b, r12b
mov ebp, r12d
test r14b, r14b
jne 0x140055684
mov rcx, rsi
call fcn.14004f1c8
cmp eax, 0xffffffff
jne 0x140054771
mov rcx, rsi
call fcn.14004e974
mov dword [rbx + 0xe8a8], r12d
mov r14b, r13b
jmp 0x14005477e
movzx eax, al
cmp ebp, 3
je 0x140054791
shl edi, 8
add edi, eax
add ebp, r13d
cmp ebp, 4
jl 0x140054747
test r14b, r14b
jne 0x140055684
jmp 0x140054794
mov r15d, eax
mov r9, qword [rbx + 0xd8]
lea edx, [r15 + 0x20]
add edi, 2
mov r8, r9
mov eax, edi
sub r8, rax
mov rax, qword [rbx + 0xe970]
add rax, 0xffffffffffffeffc
cmp r8, rax
jae 0x1400548f7
cmp r9, rax
jae 0x1400548f7
mov rax, qword [rbx + 0x4ba8]
mov r14d, 8
lea rcx, [rax + r8]
lea r8, [rax + r9]
mov eax, edx
add rax, r9
mov qword [rbx + 0xd8], rax
cmp edx, r14d
jb 0x140054854
mov r9d, edx
shr r9, 3
cmp edi, edx
jae 0x140054840
mov al, byte [rcx]
add edx, 0xfffffff8
mov byte [r8], al
mov al, byte [rcx + 1]
mov byte [r8 + 1], al
mov al, byte [rcx + 2]
mov byte [r8 + 2], al
mov al, byte [rcx + 3]
mov byte [r8 + 3], al
mov al, byte [rcx + 4]
mov byte [r8 + 4], al
mov al, byte [rcx + 5]
mov byte [r8 + 5], al
mov al, byte [rcx + 6]
mov byte [r8 + 6], al
mov al, byte [rcx + 7]
add rcx, r14
mov byte [r8 + 7], al
add r8, r14
sub r9, r13
jne 0x1400547fa
jmp 0x140054854
mov rax, qword [rcx]
add edx, 0xfffffff8
mov qword [r8], rax
add rcx, r14
add r8, r14
sub r9, r13
jne 0x140054840
lea rbp, [0x140000000]
test edx, edx
je 0x140054646
mov al, byte [rcx]
lea rbp, [0x140000000]
mov byte [r8], al
cmp edx, r13d
jbe 0x140054646
mov al, byte [rcx + 1]
lea rbp, [0x140000000]
mov byte [r8 + 1], al
cmp edx, 2
jbe 0x140054646
mov al, byte [rcx + 2]
lea rbp, [0x140000000]
mov byte [r8 + 2], al
cmp edx, 3
jbe 0x140054646
mov al, byte [rcx + 3]
lea rbp, [0x140000000]
mov byte [r8 + 3], al
cmp edx, 4
jbe 0x140054646
mov al, byte [rcx + 4]
lea rbp, [0x140000000]
mov byte [r8 + 4], al
cmp edx, 5
jbe 0x140054646
mov al, byte [rcx + 5]
lea rbp, [0x140000000]
mov byte [r8 + 5], al
cmp edx, 6
jbe 0x140054646
mov al, byte [rcx + 6]
mov byte [r8 + 6], al
jmp 0x14005552c
lea rbp, [0x140000000]
mov r14d, 8
test edx, edx
je 0x140054646
mov r10, qword [rbx + 0xe978]
mov rcx, qword [rbx + 0x4ba8]
mov rax, r8
and rax, r10
add r8, r13
mov al, byte [rax + rcx]
mov byte [rcx + r9], al
mov r9, qword [rbx + 0xd8]
mov r10, qword [rbx + 0xe978]
add r9, r13
and r9, r10
mov qword [rbx + 0xd8], r9
add edx, 0xffffffff
jne 0x140054913
jmp 0x14005552c
cmp eax, 5
jne 0x140054ac3
mov rcx, rsi
call fcn.14004f1c8
cmp eax, 0xffffffff
je 0x140055675
mov r9, qword [rbx + 0xd8]
lea edx, [rax + 4]
mov rax, qword [rbx + 0xe970]
add rax, 0xffffffffffffeffc
lea r8, [r9 - 1]
cmp r8, rax
jae 0x140054a78
cmp r9, rax
jae 0x140054a78
mov rax, qword [rbx + 0x4ba8]
lea rcx, [rax + r8]
lea r8, [rax + r9]
mov eax, edx
add rax, r9
mov qword [rbx + 0xd8], rax
cmp edx, r13d
jbe 0x140054a06
cmp edx, r14d
jb 0x140054a0e
mov r9d, edx
shr r9, 3
mov al, byte [rcx]
add edx, 0xfffffff8
mov byte [r8], al
mov al, byte [rcx + 1]
mov byte [r8 + 1], al
mov al, byte [rcx + 2]
mov byte [r8 + 2], al
mov al, byte [rcx + 3]
mov byte [r8 + 3], al
mov al, byte [rcx + 4]
mov byte [r8 + 4], al
mov al, byte [rcx + 5]
mov byte [r8 + 5], al
mov al, byte [rcx + 6]
mov byte [r8 + 6], al
mov al, byte [rcx + 7]
add rcx, r14
mov byte [r8 + 7], al
add r8, r14
sub r9, r13
jne 0x1400549c2
test edx, edx
je 0x140054646
mov al, byte [rcx]
mov byte [r8], al
cmp edx, r13d
jbe 0x140054646
mov al, byte [rcx + 1]
mov byte [r8 + 1], al
cmp edx, 2
jbe 0x140054646
mov al, byte [rcx + 2]
mov byte [r8 + 2], al
cmp edx, 3
jbe 0x140054646
mov al, byte [rcx + 3]
mov byte [r8 + 3], al
cmp edx, 4
jbe 0x140054646
mov al, byte [rcx + 4]
mov byte [r8 + 4], al
cmp edx, 5
jbe 0x140054646
mov al, byte [rcx + 5]
mov byte [r8 + 5], al
cmp edx, 6
jbe 0x140054646
mov al, byte [rcx + 6]
mov byte [r8 + 6], al
jmp 0x140054646
test edx, edx
je 0x140054646
mov r10, qword [rbx + 0xe978]
mov rcx, qword [rbx + 0x4ba8]
mov rax, r8
and rax, r10
add r8, r13
mov al, byte [rax + rcx]
mov byte [rcx + r9], al
mov r9, qword [rbx + 0xd8]
mov r10, qword [rbx + 0xe978]
add r9, r13
and r9, r10
mov qword [rbx + 0xd8], r9
add edx, 0xffffffff
jne 0x140054a87
jmp 0x140054646
mov rcx, qword [rbx + 0x4ba8]
mov rax, qword [rbx + 0xd8]
mov byte [rcx + rax], dil
jmp 0x140054be7
movsxd r11, dword [rbx + 8]
mov ecx, r14d
mov rdi, qword [rbx + 0x18]
mov esi, dword [rbx + 0xc]
sub ecx, esi
movzx eax, byte [r11 + rdi + 1]
movzx edx, byte [r11 + rdi]
shl edx, 8
or edx, eax
movzx eax, byte [r11 + rdi + 2]
shl edx, 8
or edx, eax
shr edx, cl
mov ecx, dword [rbx + 0x188]
and edx, 0xfffe
cmp edx, dword [rbx + rcx*4 + 0x108]
jae 0x140054b53
mov eax, 0x10
sub eax, ecx
mov cl, al
shr rdx, cl
movzx r9d, byte [rdx + rbx + 0x18c]
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 + 0x58c]
jmp 0x140054bcb
mov r10d, 0xf
inc ecx
cmp ecx, r10d
jae 0x140054b81
mov r8d, ecx
add r8, 0x42
lea r8, [rbx + r8*4]
cmp edx, dword [r8]
jb 0x140054b7e
add ecx, r13d
add r8, 4
cmp ecx, r10d
jb 0x140054b6b
jmp 0x140054b81
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 + 0x108]
mov eax, r10d
shr edx, cl
add edx, dword [rbx + rax*4 + 0x148]
cmp edx, dword [rbx + 0x104]
sbb eax, eax
and eax, edx
movzx eax, word [rbx + rax*2 + 0xd8c]
movzx edx, ax
cmp edx, 0x100
jae 0x140054bf3
mov rcx, qword [rbx + 0x4ba8]
mov rax, qword [rbx + 0xd8]
mov byte [rcx + rax], dl
add qword [rbx + 0xd8], r13
jmp 0x140054646
cmp edx, 0x10f
jb 0x140055136
lea eax, [rdx - 0x10f]
lea rsi, [0x140000000]
movzx r8d, byte [rax + rsi + 0x89850]
movzx r10d, byte [rax + rsi + 0x89870]
add r8d, 3
test r10d, r10d
je 0x140054c71
movsxd rcx, r11d
movzx eax, byte [rcx + rdi]
movzx edx, byte [rcx + rdi + 1]
shl eax, 8
or edx, eax
movzx eax, byte [rcx + rdi + 2]
shl edx, 8
mov ecx, r14d
or edx, eax
sub ecx, r9d
shr edx, cl
add r9d, r10d
mov eax, r9d
movzx edx, dx
shr eax, 3
mov ecx, 0x10
sub ecx, r10d
add eax, r11d
shr edx, cl
add r8d, edx
mov dword [rbx + 8], eax
and r9d, 7
mov dword [rbx + 0xc], r9d
movsxd rdi, dword [rbx + 8]
mov ecx, r14d
mov rbp, qword [rbx + 0x18]
sub ecx, r9d
movzx eax, byte [rdi + rbp]
movzx edx, byte [rdi + rbp + 1]
shl eax, 8
or edx, eax
movzx eax, byte [rdi + rbp + 2]
shl edx, 8
or edx, eax
shr edx, cl
mov ecx, dword [rbx + 0x1074]
and edx, 0xfffe
cmp edx, dword [rbx + rcx*4 + 0xff4]
jae 0x140054ce3
mov eax, 0x10
sub eax, ecx
mov cl, al
shr rdx, cl
movzx r11d, byte [rdx + rbx + 0x1078]
add r11d, r9d
mov eax, r11d
shr eax, 3
add edi, eax
and r11d, 7
mov dword [rbx + 8], edi
mov dword [rbx + 0xc], r11d
movzx ecx, word [rbx + rdx*2 + 0x1478]
jmp 0x140054d5c
mov esi, 0xf
inc ecx
cmp ecx, esi
jae 0x140054d10
mov r10d, ecx
add r10, 0x3fd
lea r10, [rbx + r10*4]
cmp edx, dword [r10]
jb 0x140054d0e
add ecx, r13d
add r10, 4
cmp ecx, esi
jb 0x140054cfc
jmp 0x140054d10
mov esi, ecx
lea r11d, [rsi + r9]
mov ecx, 0x10
sub ecx, esi
mov eax, r11d
shr eax, 3
and r11d, 7
add edi, eax
mov dword [rbx + 0xc], r11d
mov dword [rbx + 8], edi
lea eax, [rsi - 1]
sub edx, dword [rbx + rax*4 + 0xff4]
mov eax, esi
lea rsi, [0x140000000]
shr edx, cl
add edx, dword [rbx + rax*4 + 0x1034]
cmp edx, dword [rbx + 0xff0]
sbb eax, eax
and eax, edx
movzx ecx, word [rbx + rax*2 + 0x1c78]
movzx eax, cx
mov r10d, dword [rsi + rax*4 + 0xa51b0]
movzx r9d, byte [rax + rsi + 0xa52b0]
add r10d, r13d
test r9d, r9d
je 0x140054f46
cmp cx, 9
jbe 0x140054eff
cmp r9d, 4
jbe 0x140054ddc
movsxd rcx, edi
movzx eax, byte [rcx + rbp + 1]
movzx edx, byte [rcx + rbp]
shl edx, 8
or edx, eax
movzx eax, byte [rcx + rbp + 2]
shl edx, 8
mov ecx, r14d
or edx, eax
sub ecx, r11d
shr edx, cl
add r11d, 0xfffffffc
movzx edx, dx
add r11d, r9d
mov eax, r11d
mov ecx, 0x14
sub ecx, r9d
shr eax, 3
shr edx, cl
add eax, edi
shl edx, 4
add r10d, edx
mov dword [rbx + 8], eax
and r11d, 7
mov dword [rbx + 0xc], r11d
mov eax, dword [rbx + 0x9a44]
test eax, eax
jle 0x140054df3
dec eax
mov dword [rbx + 0x9a44], eax
jmp 0x140054eec
mov rcx, qword [rbx + 0x18]
movsxd rdx, dword [rbx + 8]
movzx eax, byte [rdx + rcx]
movzx r9d, byte [rdx + rcx + 1]
shl eax, 8
or r9d, eax
movzx eax, byte [rdx + rcx + 2]
shl r9d, 8
mov ecx, r14d
or r9d, eax
sub ecx, r11d
shr r9d, cl
mov ecx, dword [rbx + 0x1f60]
and r9d, 0xfffe
cmp r9d, dword [rbx + rcx*4 + 0x1ee0]
jae 0x140054e69
mov eax, 0x10
mov edx, r9d
sub eax, ecx
mov cl, al
shr rdx, cl
movzx ecx, byte [rdx + rbx + 0x1f64]
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 + 0x2364]
jmp 0x140054eda
mov edi, 0xf
inc ecx
cmp ecx, edi
jae 0x140054e95
mov edx, ecx
add rdx, 0x7b8
lea rdx, [rbx + rdx*4]
cmp r9d, dword [rdx]
jb 0x140054e93
add ecx, r13d
add rdx, 4
cmp ecx, edi
jb 0x140054e81
jmp 0x140054e95
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 r9d, dword [rbx + rax*4 + 0x1ee0]
mov eax, edi
shr r9d, cl
mov edx, dword [rbx + rax*4 + 0x1f20]
add edx, r9d
cmp edx, dword [rbx + 0x1edc]
sbb eax, eax
and eax, edx
movzx eax, word [rbx + rax*2 + 0x2b64]
movzx eax, ax
cmp eax, 0x10
jne 0x140054ef4
mov dword [rbx + 0x9a44], 0xf
mov eax, dword [rbx + 0x9a40]
jmp 0x140054efa
mov dword [rbx + 0x9a40], eax
add r10d, eax
jmp 0x140054f46
movsxd rcx, edi
movzx eax, byte [rcx + rbp]
movzx edx, byte [rcx + rbp + 1]
shl eax, 8
or edx, eax
movzx eax, byte [rcx + rbp + 2]
shl edx, 8
mov ecx, r14d
or edx, eax
sub ecx, r11d
shr edx, cl
mov ecx, 0x10
sub ecx, r9d
movzx edx, dx
shr edx, cl
lea ecx, [r11 + r9]
mov eax, ecx
add r10d, edx
shr eax, 3
add eax, edi
and ecx, 7
mov dword [rbx + 8], eax
mov dword [rbx + 0xc], ecx
cmp r10d, 0x2000
jb 0x140054f5e
add r8d, r13d
cmp r10d, 0x40000
jb 0x140054f5e
add r8d, r13d
mov eax, dword [rbx + 0xc0]
mov dword [rbx + 0xc4], eax
mov eax, dword [rbx + 0xbc]
mov dword [rbx + 0xc0], eax
mov eax, dword [rbx + 0xb8]
mov dword [rbx + 0xbc], eax
mov dword [rbx + 0xb8], r10d
mov r9, qword [rbx + 0xd8]
mov eax, r10d
mov rdx, r9
sub rdx, rax
mov dword [rbx + 0xcc], r8d
mov rax, qword [rbx + 0xe970]
add rax, 0xffffffffffffeffc
cmp rdx, rax
jae 0x1400550e2
cmp r9, rax
jae 0x1400550e2
mov rax, qword [rbx + 0x4ba8]
lea rcx, [rdx + rax]
lea rdx, [rax + r9]
mov eax, r8d
add rax, r9
mov qword [rbx + 0xd8], rax
cmp r8d, r14d
jb 0x140055040
mov r9d, r8d
shr r9, 3
cmp r10d, r8d
jae 0x14005502b
mov al, byte [rcx]
add r8d, 0xfffffff8
mov byte [rdx], al
mov al, byte [rcx + 1]
mov byte [rdx + 1], al
mov al, byte [rcx + 2]
mov byte [rdx + 2], al
mov al, byte [rcx + 3]
mov byte [rdx + 3], al
mov al, byte [rcx + 4]
mov byte [rdx + 4], al
mov al, byte [rcx + 5]
mov byte [rdx + 5], al
mov al, byte [rcx + 6]
mov byte [rdx + 6], al
mov al, byte [rcx + 7]
add rcx, r14
mov byte [rdx + 7], al
add rdx, r14
sub r9, r13
jne 0x140054fec
jmp 0x140055040
mov rax, qword [rcx]
add r8d, 0xfffffff8
mov qword [rdx], rax
add rcx, r14
add rdx, r14
sub r9, r13
jne 0x14005502b
lea rbp, [0x140000000]
test r8d, r8d
je 0x140054646
mov al, byte [rcx]
lea rbp, [0x140000000]
mov byte [rdx], al
cmp r8d, r13d
jbe 0x140054646
mov al, byte [rcx + 1]
lea rbp, [0x140000000]
mov byte [rdx + 1], al
cmp r8d, 2
jbe 0x140054646
mov al, byte [rcx + 2]
lea rbp, [0x140000000]
mov byte [rdx + 2], al
cmp r8d, 3
jbe 0x140054646
mov al, byte [rcx + 3]
lea rbp, [0x140000000]
mov byte [rdx + 3], al
cmp r8d, 4
jbe 0x140054646
mov al, byte [rcx + 4]
lea rbp, [0x140000000]
mov byte [rdx + 4], al
cmp r8d, 5
jbe 0x140054646
mov al, byte [rcx + 5]
lea rbp, [0x140000000]
mov byte [rdx + 5], al
cmp r8d, 6
jbe 0x140054646
mov al, byte [rcx + 6]
mov byte [rdx + 6], al
jmp 0x14005552c
lea rbp, [0x140000000]
test r8d, r8d
je 0x140054646
mov r10, qword [rbx + 0xe978]
mov rcx, qword [rbx + 0x4ba8]
mov rax, rdx
and rax, r10
add rdx, r13
mov al, byte [rax + rcx]
mov byte [rcx + r9], al
mov r9, qword [rbx + 0xd8]
mov r10, qword [rbx + 0xe978]
add r9, r13
and r9, r10
mov qword [rbx + 0xd8], r9
add r8d, 0xffffffff
jne 0x1400550f9
jmp 0x14005552c
cmp edx, 0x100
jne 0x14005514b
mov rcx, rbx
call fcn.14005143c
jmp 0x140054710
cmp edx, 0x101
jne 0x140055160
mov rcx, rbx
call fcn.14005252c
jmp 0x140054710
cmp edx, 0x102
jne 0x140055281
mov edx, dword [rbx + 0xcc]
test edx, edx
je 0x140054646
mov r9, qword [rbx + 0xd8]
mov r10d, dword [rbx + 0xb8]
mov r8, r9
mov rax, qword [rbx + 0xe970]
sub r8, r10
add rax, 0xffffffffffffeffc
cmp r8, rax
jae 0x14005523e
cmp r9, rax
jae 0x14005523e
mov rax, qword [rbx + 0x4ba8]
lea rcx, [r8 + rax]
lea r8, [rax + r9]
lea rax, [r9 + rdx]
mov qword [rbx + 0xd8], rax
cmp edx, r14d
jb 0x140054a06
mov r9d, edx
shr r9, 3
cmp r10d, edx
jae 0x140055225
mov al, byte [rcx]
add edx, 0xfffffff8
mov byte [r8], al
mov al, byte [rcx + 1]
mov byte [r8 + 1], al
mov al, byte [rcx + 2]
mov byte [r8 + 2], al
mov al, byte [rcx + 3]
mov byte [r8 + 3], al
mov al, byte [rcx + 4]
mov byte [r8 + 4], al
mov al, byte [rcx + 5]
mov byte [r8 + 5], al
mov al, byte [rcx + 6]
mov byte [r8 + 6], al
mov al, byte [rcx + 7]
add rcx, r14
mov byte [r8 + 7], al
add r8, r14
sub r9, r13
jne 0x1400551dc
jmp 0x140054a06
mov rax, qword [rcx]
add edx, 0xfffffff8
mov qword [r8], rax
add rcx, r14
add r8, r14
sub r9, r13
jne 0x140055225
jmp 0x140054a06
mov r10, qword [rbx + 0xe978]
mov rcx, qword [rbx + 0x4ba8]
mov rax, r8
and rax, r10
add r8, r13
mov al, byte [rax + rcx]
mov byte [rcx + r9], al
mov r9, qword [rbx + 0xd8]
mov r10, qword [rbx + 0xe978]
add r9, r13
and r9, r10
mov qword [rbx + 0xd8], r9
add edx, 0xffffffff
jne 0x140055245
jmp 0x140054646
cmp edx, 0x107
jae 0x140055538
add edx, 0xfffffefd
lea r8, [rbx + 0xb8]
lea r8, [r8 + rdx*4]
mov ebp, dword [r8]
je 0x1400552b6
sub edx, 1
mov ecx, dword [rbx + rdx*4 + 0xb8]
mov dword [r8], ecx
lea r8, [r8 - 4]
jne 0x1400552a3
mov dword [rbx + 0xb8], ebp
mov ecx, r14d
movsxd r11, dword [rbx + 8]
mov rdi, qword [rbx + 0x18]
mov esi, dword [rbx + 0xc]
sub ecx, esi
movzx eax, byte [r11 + rdi]
movzx edx, byte [r11 + rdi + 1]
shl eax, 8
or edx, eax
movzx eax, byte [r11 + rdi + 2]
shl edx, 8
or edx, eax
shr edx, cl
mov ecx, dword [rbx + 0x2e4c]
and edx, 0xfffe
cmp edx, dword [rbx + rcx*4 + 0x2dcc]
jae 0x140055335
mov eax, 0x10
sub eax, ecx
mov cl, al
shr rdx, cl
movzx r9d, byte [rdx + rbx + 0x2e50]
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 + 0x3250]
jmp 0x1400553b0
mov r10d, 0xf
inc ecx
cmp ecx, r10d
jae 0x140055366
mov r8d, ecx
add r8, 0xb73
lea r8, [rbx + r8*4]
cmp edx, dword [r8]
jb 0x140055363
add ecx, r13d
add r8, 4
cmp ecx, r10d
jb 0x140055350
jmp 0x140055366
mov r10d, ecx
lea r9d, [r10 + rsi]
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 + 0x2dcc]
mov eax, r10d
shr edx, cl
add edx, dword [rbx + rax*4 + 0x2e0c]
cmp edx, dword [rbx + 0x2dc8]
sbb eax, eax
and eax, edx
movzx eax, word [rbx + rax*2 + 0x3a50]
movzx eax, ax
lea rsi, [0x140000000]
movzx r8d, byte [rax + rsi + 0x89850]
movzx r10d, byte [rax + rsi + 0x89870]
add r8d, 2
test r10d, r10d
je 0x14005541d
movsxd rcx, r11d
movzx eax, byte [rcx + rdi]
movzx edx, byte [rcx + rdi + 1]
shl eax, 8
or edx, eax
movzx eax, byte [rcx + rdi + 2]
shl edx, 8
mov ecx, r14d
or edx, eax
sub ecx, r9d
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 + 0xd8]
mov rax, qword [rbx + 0xe970]
mov rdx, r9
sub rdx, rbp
mov dword [rbx + 0xcc], r8d
add rax, 0xffffffffffffeffc
cmp rdx, rax
jae 0x1400554dd
cmp r9, rax
jae 0x1400554dd
mov rax, qword [rbx + 0x4ba8]
lea rcx, [rdx + rax]
lea rdx, [rax + r9]
mov eax, r8d
add rax, r9
mov qword [rbx + 0xd8], rax
cmp r8d, r14d
jb 0x140055040
mov r9d, r8d
shr r9, 3
cmp ebp, r8d
jae 0x1400554c3
mov al, byte [rcx]
add r8d, 0xfffffff8
mov byte [rdx], al
mov al, byte [rcx + 1]
mov byte [rdx + 1], al
mov al, byte [rcx + 2]
mov byte [rdx + 2], al
mov al, byte [rcx + 3]
mov byte [rdx + 3], al
mov al, byte [rcx + 4]
mov byte [rdx + 4], al
mov al, byte [rcx + 5]
mov byte [rdx + 5], al
mov al, byte [rcx + 6]
mov byte [rdx + 6], al
mov al, byte [rcx + 7]
add rcx, r14
mov byte [rdx + 7], al
add rdx, r14
sub r9, r13
jne 0x140055481
jmp 0x140055040
mov rax, qword [rcx]
add r8d, 0xfffffff8
mov qword [rdx], rax
add rcx, r14
add rdx, r14
sub r9, r13
jne 0x1400554c3
jmp 0x140055040
lea rbp, [0x140000000]
test r8d, r8d
je 0x140054646
mov r10, qword [rbx + 0xe978]
mov rcx, qword [rbx + 0x4ba8]
mov rax, rdx
and rax, r10
add rdx, r13
mov al, byte [rax + rcx]
mov byte [rcx + r9], al
mov r9, qword [rbx + 0xd8]
mov r10, qword [rbx + 0xe978]
add r9, r13
and r9, r10
mov qword [rbx + 0xd8], r9
add r8d, 0xffffffff
jne 0x1400554f4
lea rbp, [0x140000000]
jmp 0x140054646
lea eax, [rdx - 0x107]
movzx r8d, byte [rax + rbp + 0x898e0]
movzx r10d, byte [rax + rbp + 0x898e8]
add r8d, r13d
test r10d, r10d
je 0x1400555a0
movsxd rcx, r11d
movzx eax, byte [rcx + rdi]
movzx edx, byte [rcx + rdi + 1]
shl eax, 8
or edx, eax
movzx eax, byte [rcx + rdi + 2]
shl edx, 8
mov ecx, r14d
or edx, eax
sub ecx, r9d
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 eax, dword [rbx + 0xc0]
mov r10d, 2
mov dword [rbx + 0xc4], eax
mov eax, dword [rbx + 0xbc]
mov dword [rbx + 0xc0], eax
mov eax, dword [rbx + 0xb8]
mov dword [rbx + 0xbc], eax
mov dword [rbx + 0xb8], r8d
mov rdx, qword [rbx + 0xd8]
mov eax, r8d
mov r8, rdx
sub r8, rax
mov dword [rbx + 0xcc], 2
mov rax, qword [rbx + 0xe970]
add rax, 0xffffffffffffeffc
cmp r8, rax
jae 0x140055629
cmp rdx, rax
jae 0x140055629
mov rcx, qword [rbx + 0x4ba8]
lea rax, [rdx + 2]
mov qword [rbx + 0xd8], rax
mov al, byte [r8 + rcx]
mov byte [rcx + rdx], al
mov al, byte [r8 + rcx + 1]
mov byte [rcx + rdx + 1], al
jmp 0x140054646
mov r9, qword [rbx + 0xe978]
mov rcx, qword [rbx + 0x4ba8]
mov rax, r8
and rax, r9
add r8, r13
mov al, byte [rax + rcx]
mov byte [rdx + rcx], al
mov rdx, qword [rbx + 0xd8]
mov r9, qword [rbx + 0xe978]
add rdx, r13
and rdx, r9
mov qword [rbx + 0xd8], rdx
add r10d, 0xffffffff
jne 0x140055630
jmp 0x140054646
mov byte [rbx + 0x4dd0], r12b
jmp 0x14005568c
mov rcx, rsi
call fcn.14004e974
mov dword [rbx + 0xe8a8], r12d
mov rcx, rbx
call fcn.14005357c
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, 0x40
xor r15d, r15d
mov byte [rcx + 0x4dd0], 1
mov rbx, rcx
cmp byte [rcx + 0x4dc0], r15b
jne 0x140055737
call fcn.1400531d0
mov rcx, rbx
call fcn.140053338
test al, al
je 0x140055f2c
lea rdi, [rbx + 0xf0]
mov rcx, rbx
lea rsi, [rbx + 8]
mov r8, rdi
mov rdx, rsi
call fcn.1400512d8
test al, al
je 0x140055f2c
lea r9, [rbx + 0x104]
mov r8, rdi
mov rdx, rsi
mov rcx, rbx
call fcn.140052198
test al, al
je 0x140055f2c
cmp byte [rbx + 0xe8ae], r15b
jne 0x140055742
jmp 0x140055f2c
lea rsi, [rcx + 8]
lea rdi, [rcx + 0xf0]
lea r14, [rbx + 0xd8]
mov rax, qword [rbx + 0xe978]
and qword [r14], rax
mov eax, dword [rbx + 0xec]
cmp dword [rsi], eax
jl 0x1400557cc
mov ecx, dword [rbx + 0xf8]
mov edx, dword [rdi]
dec ecx
add edx, ecx
cmp dword [rsi], edx
jg 0x14005577a
jne 0x1400557bc
mov eax, dword [rbx + 0xf4]
cmp dword [rbx + 0xc], eax
jl 0x1400557bc
cmp byte [rbx + 0x100], r15b
jne 0x140055f24
mov r8, rdi
mov rdx, rsi
mov rcx, rbx
call fcn.1400512d8
test al, al
je 0x140055f2c
lea r9, [rbx + 0x104]
mov r8, rdi
mov rdx, rsi
mov rcx, rbx
call fcn.140052198
test al, al
je 0x140055f2c
jmp 0x14005575d
mov rcx, rbx
call fcn.140053338
test al, al
je 0x140055f24
mov rcx, qword [rbx + 0x4ba0]
mov rax, rcx
sub rax, qword [r14]
and rax, qword [rbx + 0xe978]
cmp rax, 0x1004
jae 0x140055816
cmp rcx, qword [r14]
je 0x140055816
mov rcx, rbx
call fcn.1400537d4
mov rax, qword [rbx + 0x4db8]
cmp qword [rbx + 0x4dc8], rax
jg 0x140055f2c
cmp byte [rbx + 0x4dc0], r15b
jne 0x1400563c7
movsxd r10, dword [rsi]
mov ecx, 8
mov r12, qword [rsi + 0x10]
mov r11d, dword [rsi + 4]
sub ecx, r11d
movzx eax, byte [r10 + r12 + 1]
movzx edx, byte [r10 + r12]
shl edx, 8
or edx, eax
movzx eax, byte [r10 + r12 + 2]
shl edx, 8
or edx, eax
shr edx, cl
mov ecx, dword [rbx + 0x188]
and edx, 0xfffe
cmp edx, dword [rbx + rcx*4 + 0x108]
jae 0x140055892
mov eax, 0x10
sub eax, ecx
mov cl, al
shr rdx, cl
movzx r8d, byte [rdx + rbx + 0x18c]
add r8d, r11d
mov r11d, r8d
shr r11d, 3
add r11d, r10d
and r8d, 7
mov dword [rsi], r11d
mov dword [rsi + 4], r8d
movzx eax, word [rbx + rdx*2 + 0x58c]
jmp 0x140055909
mov r9d, 0xf
inc ecx
cmp ecx, r9d
jae 0x1400558bf
mov r8d, ecx
add r8, 0x42
lea r8, [rbx + r8*4]
cmp edx, dword [r8]
jb 0x1400558bc
inc ecx
add r8, 4
cmp ecx, r9d
jb 0x1400558aa
jmp 0x1400558bf
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 [rsi + 4], r8d
shr r11d, 3
add r11d, r10d
mov dword [rsi], r11d
sub edx, dword [rbx + rax*4 + 0x108]
mov eax, r9d
shr edx, cl
add edx, dword [rbx + rax*4 + 0x148]
cmp edx, dword [rbx + 0x104]
sbb eax, eax
and eax, edx
movzx eax, word [rbx + rax*2 + 0xd8c]
movzx edi, ax
cmp edi, 0x100
jae 0x140055955
cmp byte [rbx + 0x4db0], r15b
je 0x140055938
mov rdx, qword [r14]
lea rcx, [rbx + 0x4bb0]
lea rax, [rdx + 1]
mov qword [r14], rax
call fcn.14004dfb8
mov byte [rax], dil
jmp 0x140055949
mov rax, qword [r14]
mov rcx, qword [rbx + 0x4ba8]
mov byte [rcx + rax], dil
inc qword [r14]
lea rdi, [rbx + 0xf0]
jmp 0x140055749
cmp edi, 0x106
jb 0x140055ef3
lea r10d, [rdi - 0x106]
cmp r10d, 8
jae 0x140055974
add r10d, 2
jmp 0x1400559e4
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 0x1400559e4
movsxd rcx, r11d
movzx eax, byte [rcx + r12]
movzx edx, byte [rcx + r12 + 1]
shl eax, 8
or edx, eax
movzx eax, byte [rcx + r12 + 2]
shl edx, 8
mov ecx, 8
or edx, eax
sub ecx, r8d
shr edx, cl
add r8d, r9d
mov eax, r8d
movzx edx, dx
shr eax, 3
mov ecx, 0x10
sub ecx, r9d
add r11d, eax
shr edx, cl
add r10d, edx
mov dword [rsi], r11d
and r8d, 7
mov dword [rsi + 4], r8d
movsxd rcx, r11d
movzx eax, byte [rcx + r12 + 1]
movzx edx, byte [rcx + r12]
shl edx, 8
or edx, eax
movzx eax, byte [rcx + r12 + 2]
shl edx, 8
mov ecx, 8
or edx, eax
sub ecx, r8d
shr edx, cl
mov ecx, dword [rbx + 0x1074]
and edx, 0xfffe
cmp edx, dword [rbx + rcx*4 + 0xff4]
jae 0x140055a52
mov eax, 0x10
sub eax, ecx
mov cl, al
shr rdx, cl
movzx edi, byte [rdx + rbx + 0x1078]
add edi, r8d
mov ebp, edi
shr ebp, 3
add ebp, r11d
and edi, 7
mov dword [rsi], ebp
mov dword [rsi + 4], edi
movzx eax, word [rbx + rdx*2 + 0x1478]
jmp 0x140055ac7
mov r15d, 0xf
inc ecx
cmp ecx, r15d
jae 0x140055a82
mov r9d, ecx
add r9, 0x3fd
lea r9, [rbx + r9*4]
cmp edx, dword [r9]
jb 0x140055a7f
inc ecx
add r9, 4
cmp ecx, r15d
jb 0x140055a6d
jmp 0x140055a82
mov r15d, ecx
lea edi, [r8 + r15]
mov ecx, 0x10
sub ecx, r15d
lea eax, [r15 - 1]
mov ebp, edi
and edi, 7
mov dword [rsi + 4], edi
shr ebp, 3
add ebp, r11d
mov dword [rsi], ebp
sub edx, dword [rbx + rax*4 + 0xff4]
mov eax, r15d
shr edx, cl
add edx, dword [rbx + rax*4 + 0x1034]
cmp edx, dword [rbx + 0xff0]
sbb eax, eax
and eax, edx
movzx eax, word [rbx + rax*2 + 0x1c78]
movzx eax, ax
mov r13d, ebp
cmp eax, 4
jae 0x140055adb
lea r11d, [rax + 1]
jmp 0x140055cd0
mov r9d, eax
and eax, 1
shr r9d, 1
or eax, 2
dec r9d
mov ecx, r9d
shl eax, cl
lea r15d, [rax + 1]
mov r11d, r15d
test r9d, r9d
je 0x140055cd0
cmp r9d, 4
jb 0x140055c6e
jbe 0x140055b77
movsxd r8, ebp
mov ecx, 8
sub cl, byte [rbx + 0xc]
movzx eax, byte [r8 + r12]
movzx edx, byte [r8 + r12 + 1]
movzx r11d, byte [r8 + r12 + 4]
shr r11d, cl
mov ecx, edi
shl eax, 8
add edi, 0xfffffffc
or edx, eax
add edi, r9d
movzx eax, byte [r8 + r12 + 2]
mov r13d, edi
shl edx, 8
or edx, eax
shr r13d, 3
movzx eax, byte [r8 + r12 + 3]
add r13d, ebp
shl edx, 8
or edx, eax
mov dword [rsi], r13d
shl edx, cl
mov ecx, 0x24
or r11d, edx
sub ecx, r9d
shr r11d, cl
shl r11d, 4
add r11d, r15d
and edi, 7
mov dword [rsi + 4], edi
movsxd rdx, r13d
mov ecx, 8
sub ecx, edi
movzx eax, byte [rdx + r12 + 1]
movzx r8d, byte [rdx + r12]
shl r8d, 8
or r8d, eax
movzx eax, byte [rdx + r12 + 2]
shl r8d, 8
or r8d, eax
shr r8d, cl
mov ecx, dword [rbx + 0x1f60]
and r8d, 0xfffe
cmp r8d, dword [rbx + rcx*4 + 0x1ee0]
jae 0x140055bed
mov eax, 0x10
mov edx, r8d
sub eax, ecx
mov cl, al
shr rdx, cl
movzx ecx, byte [rdx + rbx + 0x1f64]
add ecx, edi
mov eax, ecx
shr eax, 3
add eax, r13d
and ecx, 7
mov dword [rsi], eax
mov dword [rsi + 4], ecx
movzx eax, word [rbx + rdx*2 + 0x2364]
jmp 0x140055c66
mov r9d, 0xf
inc ecx
cmp ecx, r9d
jae 0x140055c1c
mov edx, ecx
add rdx, 0x7b8
lea rdx, [rbx + rdx*4]
cmp r8d, dword [rdx]
jb 0x140055c19
inc ecx
add rdx, 4
cmp ecx, r9d
jb 0x140055c07
jmp 0x140055c1c
mov r9d, ecx
lea ecx, [rdi + r9]
mov eax, ecx
and ecx, 7
shr eax, 3
add eax, r13d
mov dword [rsi + 4], ecx
mov dword [rsi], eax
mov ecx, 0x10
sub ecx, r9d
lea eax, [r9 - 1]
sub r8d, dword [rbx + rax*4 + 0x1ee0]
mov eax, r9d
shr r8d, cl
mov edx, dword [rbx + rax*4 + 0x1f20]
add edx, r8d
cmp edx, dword [rbx + 0x1edc]
sbb eax, eax
and eax, edx
movzx eax, word [rbx + rax*2 + 0x2b64]
movzx eax, ax
add r11d, eax
jmp 0x140055cd0
movsxd r8, ebp
mov ecx, 8
sub cl, byte [rbx + 0xc]
movzx eax, byte [r8 + r12 + 1]
movzx edx, byte [r8 + r12]
movzx r11d, byte [r8 + r12 + 4]
shr r11d, cl
mov ecx, edi
shl edx, 8
or edx, eax
movzx eax, byte [r8 + r12 + 2]
shl edx, 8
or edx, eax
movzx eax, byte [r8 + r12 + 3]
shl edx, 8
or edx, eax
shl edx, cl
mov ecx, 0x20
sub ecx, r9d
or r11d, edx
shr r11d, cl
lea ecx, [rdi + r9]
mov eax, ecx
add r11d, r15d
shr eax, 3
add eax, ebp
and ecx, 7
mov dword [rsi], eax
mov dword [rsi + 4], ecx
cmp r11d, 0x100
jbe 0x140055cf4
inc r10d
cmp r11d, 0x2000
jbe 0x140055cf4
inc r10d
cmp r11d, 0x40000
jbe 0x140055cf4
inc r10d
mov eax, dword [rbx + 0xc0]
xor r15d, r15d
mov dword [rbx + 0xc4], eax
mov eax, dword [rbx + 0xbc]
mov dword [rbx + 0xc0], eax
mov eax, dword [rbx + 0xb8]
mov dword [rbx + 0xbc], eax
mov dword [rbx + 0xb8], r11d
mov dword [rbx + 0xcc], r10d
cmp byte [rbx + 0x4db0], r15b
je 0x140055d58
mov r8d, r11d
mov edx, r10d
mov rax, qword [rbx + 0xe978]
lea rcx, [rbx + 0x4bb0]
mov r9, r14
mov qword [rsp + 0x20], rax
call fcn.14004ec0c
jmp 0x140055949
mov r8, qword [r14]
mov eax, r11d
mov rdx, r8
sub rdx, rax
mov rax, qword [rbx + 0xe970]
add rax, 0xffffffffffffeffc
cmp rdx, rax
jae 0x140055eaa
cmp r8, rax
jae 0x140055eaa
mov rax, qword [rbx + 0x4ba8]
lea rcx, [rax + rdx]
lea rdx, [r8 + rax]
mov eax, r10d
add rax, r8
mov qword [r14], rax
cmp r10d, 8
jb 0x140055e07
mov r8d, r10d
shr r8, 3
cmp r11d, r10d
jae 0x140055def
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 0x140055dad
jmp 0x140055e07
mov rax, qword [rcx]
add r10d, 0xfffffff8
mov qword [rdx], rax
add rcx, 8
add rdx, 8
sub r8, 1
jne 0x140055def
lea rdi, [rbx + 0xf0]
test r10d, r10d
je 0x140055749
mov al, byte [rcx]
lea rdi, [rbx + 0xf0]
mov byte [rdx], al
cmp r10d, 1
jbe 0x140055749
mov al, byte [rcx + 1]
lea rdi, [rbx + 0xf0]
mov byte [rdx + 1], al
cmp r10d, 2
jbe 0x140055749
mov al, byte [rcx + 2]
lea rdi, [rbx + 0xf0]
mov byte [rdx + 2], al
cmp r10d, 3
jbe 0x140055749
mov al, byte [rcx + 3]
lea rdi, [rbx + 0xf0]
mov byte [rdx + 3], al
cmp r10d, 4
jbe 0x140055749
mov al, byte [rcx + 4]
lea rdi, [rbx + 0xf0]
mov byte [rdx + 4], al
cmp r10d, 5
jbe 0x140055749
mov al, byte [rcx + 5]
lea rdi, [rbx + 0xf0]
mov byte [rdx + 5], al
cmp r10d, 6
jbe 0x140055749
mov al, byte [rcx + 6]
mov byte [rdx + 6], al
jmp 0x140055949
lea rdi, [rbx + 0xf0]
test r10d, r10d
je 0x140055749
mov rax, qword [rbx + 0xe978]
mov rcx, qword [rbx + 0x4ba8]
and rax, rdx
inc rdx
mov al, byte [rax + rcx]
mov byte [r8 + rcx], al
mov r8, qword [r14]
mov rax, qword [rbx + 0xe978]
inc r8
and r8, rax
mov qword [r14], r8
add r10d, 0xffffffff
jne 0x140055ec1
jmp 0x140055949
cmp edi, 0x100
jne 0x140055f4a
lea r8, [rsp + 0x30]
mov rdx, rsi
mov rcx, rbx
call fcn.1400514c4
test al, al
je 0x140055f24
lea rdx, [rsp + 0x30]
mov rcx, rbx
call fcn.14004e204
test al, al
jne 0x140055949
mov rcx, rbx
call fcn.1400537d4
lea r11, [rsp + 0x40]
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 0x140056111
mov edx, dword [rbx + 0xcc]
lea rdi, [rbx + 0xf0]
test edx, edx
je 0x140055749
cmp byte [rbx + 0x4db0], r15b
je 0x140055f80
mov r8d, dword [rbx + 0xb8]
jmp 0x140055d38
mov r9, qword [r14]
mov r10d, dword [rbx + 0xb8]
mov r8, r9
mov rax, qword [rbx + 0xe970]
sub r8, r10
add rax, 0xffffffffffffeffc
cmp r8, rax
jae 0x1400560d9
cmp r9, rax
jae 0x1400560d9
mov rax, qword [rbx + 0x4ba8]
lea rcx, [rax + r8]
lea r8, [r9 + rax]
lea rax, [r9 + rdx]
mov qword [r14], rax
cmp edx, 8
jb 0x140056036
mov r9, rdx
shr r9, 3
cmp r10d, edx
jae 0x14005601f
mov al, byte [rcx]
add edx, 0xfffffff8
mov byte [r8], al
mov al, byte [rcx + 1]
mov byte [r8 + 1], al
mov al, byte [rcx + 2]
mov byte [r8 + 2], al
mov al, byte [rcx + 3]
mov byte [r8 + 3], al
mov al, byte [rcx + 4]
mov byte [r8 + 4], al
mov al, byte [rcx + 5]
mov byte [r8 + 5], al
mov al, byte [rcx + 6]
mov byte [r8 + 6], al
mov al, byte [rcx + 7]
add rcx, 8
mov byte [r8 + 7], al
add r8, 8
sub r9, 1
jne 0x140055fd6
jmp 0x140056036
mov rax, qword [rcx]
add edx, 0xfffffff8
mov qword [r8], rax
add rcx, 8
add r8, 8
sub r9, 1
jne 0x14005601f
lea rdi, [rbx + 0xf0]
test edx, edx
je 0x140055749
mov al, byte [rcx]
lea rdi, [rbx + 0xf0]
mov byte [r8], al
cmp edx, 1
jbe 0x140055749
mov al, byte [rcx + 1]
lea rdi, [rbx + 0xf0]
mov byte [r8 + 1], al
cmp edx, 2
jbe 0x140055749
mov al, byte [rcx + 2]
lea rdi, [rbx + 0xf0]
mov byte [r8 + 2], al
cmp edx, 3
jbe 0x140055749
mov al, byte [rcx + 3]
lea rdi, [rbx + 0xf0]
mov byte [r8 + 3], al
cmp edx, 4
jbe 0x140055749
mov al, byte [rcx + 4]
lea rdi, [rbx + 0xf0]
mov byte [r8 + 4], al
cmp edx, 5
jbe 0x140055749
mov al, byte [rcx + 5]
lea rdi, [rbx + 0xf0]
mov byte [r8 + 5], al
cmp edx, 6
jbe 0x140055749
mov al, byte [rcx + 6]
mov byte [r8 + 6], al
jmp 0x140055949
mov rax, qword [rbx + 0xe978]
mov rcx, qword [rbx + 0x4ba8]
and rax, r8
inc r8
mov al, byte [rax + rcx]
mov byte [r9 + rcx], al
mov r9, qword [r14]
mov rax, qword [rbx + 0xe978]
inc r9
and r9, rax
mov qword [r14], r9
add edx, 0xffffffff
jne 0x1400560e0
jmp 0x140055949
add edi, 0xfffffefe
lea rdx, [rbx + 0xb8]
lea rdx, [rdx + rdi*4]
mov ebp, dword [rdx]
je 0x140056138
sub edi, 1
mov ecx, dword [rbx + rdi*4 + 0xb8]
mov dword [rdx], ecx
lea rdx, [rdx - 4]
jne 0x140056126
mov rdi, qword [rsi + 0x10]
mov ecx, 8
mov dword [rbx + 0xb8], ebp
movsxd r10, dword [rsi]
mov r11d, dword [rsi + 4]
sub ecx, r11d
movzx eax, byte [r10 + rdi]
movzx edx, byte [r10 + rdi + 1]
shl eax, 8
or edx, eax
movzx eax, byte [r10 + rdi + 2]
shl edx, 8
or edx, eax
shr edx, cl
mov ecx, dword [rbx + 0x2e4c]
and edx, 0xfffe
cmp edx, dword [rbx + rcx*4 + 0x2dcc]
jae 0x1400561ba
mov eax, 0x10
sub eax, ecx
mov cl, al
shr rdx, cl
movzx r8d, byte [rdx + rbx + 0x2e50]
add r8d, r11d
mov r11d, r8d
shr r11d, 3
add r11d, r10d
and r8d, 7
mov dword [rsi], r11d
mov dword [rsi + 4], r8d
movzx eax, word [rbx + rdx*2 + 0x3250]
jmp 0x140056234
mov r9d, 0xf
inc ecx
cmp ecx, r9d
jae 0x1400561ea
mov r8d, ecx
add r8, 0xb73
lea r8, [rbx + r8*4]
cmp edx, dword [r8]
jb 0x1400561e7
inc ecx
add r8, 4
cmp ecx, r9d
jb 0x1400561d5
jmp 0x1400561ea
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 [rsi + 4], r8d
shr r11d, 3
add r11d, r10d
mov dword [rsi], r11d
sub edx, dword [rbx + rax*4 + 0x2dcc]
mov eax, r9d
shr edx, cl
add edx, dword [rbx + rax*4 + 0x2e0c]
cmp edx, dword [rbx + 0x2dc8]
sbb eax, eax
and eax, edx
movzx eax, word [rbx + rax*2 + 0x3a50]
movzx r10d, ax
cmp r10d, 8
jae 0x140056244
add r10d, 2
jmp 0x1400562ae
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 0x1400562ae
movsxd rcx, r11d
movzx eax, byte [rcx + rdi + 1]
movzx edx, byte [rcx + rdi]
shl edx, 8
or edx, eax
movzx eax, byte [rcx + rdi + 2]
shl edx, 8
mov ecx, 8
or edx, eax
sub ecx, r8d
shr edx, cl
mov ecx, 0x10
sub ecx, r9d
movzx edx, dx
shr edx, cl
lea ecx, [r8 + r9]
mov eax, ecx
add r10d, edx
shr eax, 3
add eax, r11d
and ecx, 7
mov dword [rsi], eax
mov dword [rsi + 4], ecx
mov dword [rbx + 0xcc], r10d
cmp byte [rbx + 0x4db0], r15b
je 0x1400562c6
mov r8d, ebp
jmp 0x140055d35
mov r8, qword [r14]
mov rax, qword [rbx + 0xe970]
mov rdx, r8
sub rdx, rbp
add rax, 0xffffffffffffeffc
cmp rdx, rax
jae 0x14005637e
cmp r8, rax
jae 0x14005637e
mov rax, qword [rbx + 0x4ba8]
lea rcx, [rax + rdx]
lea rdx, [r8 + rax]
mov eax, r10d
add rax, r8
mov qword [r14], rax
cmp r10d, 8
jb 0x140055e07
mov r8d, r10d
shr r8, 3
cmp ebp, r10d
jae 0x140056361
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 0x14005631c
jmp 0x140055e07
mov rax, qword [rcx]
add r10d, 0xfffffff8
mov qword [rdx], rax
add rcx, 8
add rdx, 8
sub r8, 1
jne 0x140056361
jmp 0x140055e07
lea rdi, [rbx + 0xf0]
test r10d, r10d
je 0x140055749
mov rax, qword [rbx + 0xe978]
mov rcx, qword [rbx + 0x4ba8]
and rax, rdx
inc rdx
mov al, byte [rax + rcx]
mov byte [rcx + r8], al
mov r8, qword [r14]
mov rax, qword [rbx + 0xe978]
inc r8
and r8, rax
mov qword [r14], r8
add r10d, 0xffffffff
jne 0x140056395
jmp 0x140055949
mov byte [rbx + 0x4dd0], r15b
jmp 0x140055f2c
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 [0x1400898f0]
xor rax, rsp
mov qword [rsp + 0x440], rax
mov bl, dl
mov rsi, rcx
call fcn.140050608
mov dl, bl
mov rcx, rsi
call fcn.1400531d0
mov eax, dword [rsi + 0x30]
lea r15, [rsi + 0x28]
xor ebx, ebx
mov edx, ebx
add eax, eax
je 0x14005644b
mov eax, edx
inc edx
imul rcx, rax, 0x4af8
add rcx, qword [r15]
mov byte [rcx + 0x4add], bl
mov byte [rcx + 0x4adf], bl
mov eax, dword [rsi + 0x30]
add eax, eax
cmp edx, eax
jb 0x140056428
mov rcx, qword [r15]
lea rdx, [rsi + 0x104]
movups xmm0, xmmword [rsi + 0xf0]
mov r8d, 0x4a9c
movups xmmword [rcx + 0x24], xmm0
mov eax, dword [rsi + 0x100]
mov dword [rcx + 0x34], eax
mov rcx, qword [r15]
add rcx, 0x3c
call fcn.14005c3a0
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.14003a35c
xor ecx, ecx
mov dword [rsp + 0x28], eax
mov edi, eax
test eax, eax
js 0x1400567b3
add r14d, eax
mov dword [rsp + 0x30], r14d
je 0x1400567b3
test eax, eax
jle 0x1400564da
cmp r14d, 0x400
jl 0x1400567a9
cmp r13d, r14d
jge 0x1400567a9
mov eax, dword [rsi + 0x30]
mov r12d, ecx
mov dword [rsp + 0x24], ecx
mov ebp, ecx
add eax, eax
je 0x1400565fc
mov eax, r12d
imul rbx, rax, 0x4af8
mov dword [rsp + 0x2c], r12d
add rbx, qword [r15]
lea rbp, [rbx + 8]
mov qword [rbx], rsi
cmp byte [rbx + 0x4adf], cl
je 0x140056521
mov dword [rbx + 0x4ad8], r14d
jmp 0x140056554
movsxd rdx, r13d
mov rcx, rbp
add rdx, qword [rsi + 0x38]
call fcn.140026414
xor ecx, ecx
mov eax, r14d
sub eax, r13d
mov qword [rbp], rcx
mov dword [rbx + 0x4ad8], eax
je 0x1400565f8
mov byte [rbx + 0x4adc], cl
mov byte [rbx + 0x20], cl
mov byte [rbx + 0x38], cl
test edi, edi
mov byte [rbx + 0x4adf], cl
mov dword [rbx + 0x4af0], r12d
lea rdi, [rbx + 0x24]
sete al
mov byte [rbx + 0x4ade], al
cmp byte [rbx + 0x20], cl
jne 0x1400565a1
mov r8, rdi
mov byte [rbx + 0x20], 1
mov rdx, rbp
mov rcx, rsi
call fcn.1400512d8
xor ecx, ecx
test al, al
je 0x1400565f3
cmp byte [rbx + 0x35], cl
jne 0x14005659a
cmp byte [rsi + 0xe8ae], cl
je 0x1400565f3
mov byte [rsi + 0xe8ae], 1
cmp byte [rsp + 0x21], cl
jne 0x1400565b5
cmp dword [rdi], 0x20000
jg 0x1400565b5
inc dword [rsp + 0x24]
jmp 0x1400565c1
mov byte [rbx + 0x4add], 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 0x1400565d9
cmp byte [rbx + 0x34], cl
jne 0x1400565f8
cmp eax, 0x400
jl 0x1400565f8
mov eax, dword [rsi + 0x30]
add eax, eax
cmp r12d, eax
jae 0x1400565f8
mov edi, dword [rsp + 0x28]
jmp 0x1400564f7
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 0x140056612
inc edi
mov ebx, ecx
test ebp, ebp
je 0x140056676
mov r14d, ecx
mov eax, r14d
lea r8, [rsp + 0x40]
shl rax, 4
inc r14d
add r8, rax
mov eax, ebx
imul rdx, rax, 0x4af8
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 0x140056659
mov rcx, rsi
call fcn.140056860
jmp 0x140056669
mov rcx, qword [rsi + 0x20]
lea rdx, [0x140057150]
call fcn.14004b7a4
add ebx, edi
cmp ebx, ebp
jb 0x14005661b
mov r14d, dword [rsp + 0x30]
xor ecx, ecx
test r12d, r12d
je 0x1400567a9
mov rcx, qword [rsi + 0x20]
call fcn.14004ba98
xor ecx, ecx
mov edi, ecx
test r12d, r12d
je 0x1400566fe
mov ebx, ecx
mov rbp, qword [r15]
add rbp, rbx
cmp byte [rbp + 0x4add], cl
jne 0x1400566be
mov rdx, rbp
mov rcx, rsi
call fcn.140050d04
xor ecx, ecx
test al, al
je 0x1400567b3
cmp byte [rbp + 0x4add], cl
je 0x1400566d3
mov rdx, rbp
mov rcx, rsi
call fcn.140057190
xor ecx, ecx
test al, al
je 0x1400567b3
cmp byte [rbp + 0x4adc], cl
jne 0x1400567b3
cmp byte [rbp + 0x4adf], cl
jne 0x14005672c
cmp byte [rbp + 0x34], cl
jne 0x1400567b3
inc edi
add rbx, 0x4af8
cmp edi, r12d
jb 0x140056693
cmp byte [rsp + 0x20], cl
jne 0x1400567b3
mov ebx, r14d
sub ebx, r13d
cmp ebx, 0x400
jl 0x140056839
cmp r13d, r14d
jge 0x14005648d
mov edi, dword [rsp + 0x28]
jmp 0x1400564e3
mov eax, dword [rbp + 8]
sub eax, dword [rsi + 0x38]
add eax, dword [rbp + 0x18]
cmp r14d, eax
jle 0x1400567b3
mov rcx, qword [rsi + 0x38]
sub r14d, eax
movsxd rdx, eax
movsxd r8, r14d
add rdx, rcx
call fcn.14005c3a0
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 0x1400567a6
mov rcx, qword [r15]
mov r8d, 0x4af8
mov rdx, rbp
mov rbx, qword [rcx + 0x4ae0]
mov edi, dword [rcx + 0x4aec]
call fcn.14005c3a0
mov rax, qword [r15]
xor ecx, ecx
mov qword [rax + 0x4ae0], rbx
mov rax, qword [r15]
mov dword [rax + 0x4aec], edi
mov byte [rbp + 0x4adf], cl
mov r13d, ecx
cmp byte [rsp + 0x20], cl
je 0x14005648d
mov rax, qword [rsi + 0xe978]
mov rcx, rsi
and qword [rsi + 0xd8], rax
call fcn.1400537d4
mov rdx, qword [r15]
mov r8d, 0x4a9c
mov ecx, dword [rsp + 0x2c]
imul r9, rcx, 0x4af8
lea rcx, [rsi + 0x104]
movups xmm0, xmmword [r9 + rdx + 0x24]
movups xmmword [rsi + 0xf0], xmm0
mov eax, dword [r9 + rdx + 0x34]
add r9, 0x3c
add rdx, r9
mov dword [rsi + 0x100], eax
call fcn.14005c3a0
mov rcx, qword [rsp + 0x440]
xor rcx, rsp
call fcn.14005a290
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 0x1400567b3
jle 0x140056857
mov rcx, qword [rsi + 0x38]
movsxd rdx, r13d
add rdx, rcx
movsxd r8, ebx
call fcn.14005c3a0
xor ecx, ecx
mov r13d, ecx
jmp 0x14005648a