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

Disassembly:
sub rsp, 0x28
cmp edx, 0xf
je 0x14004f133
cmp edx, 0x14
je 0x14004f11e
cmp edx, 0x1a
je 0x14004f11e
cmp edx, 0x1d
je 0x14004f109
cmp edx, 0x32
jne 0x14004f144
cmp dword [rcx + 0x30], 1
jbe 0x14004f0fd
cmp byte [rcx + 0x4dd1], 0
jne 0x14004f0fd
cmp byte [rcx + 0x4db0], 0
jne 0x14004f0fd
mov dl, r8b
add rsp, 0x28
jmp 0x140055e54
mov dl, r8b
add rsp, 0x28
jmp 0x140055124
cmp byte [rcx + 0x4db0], 0
jne 0x14004f144
mov dl, r8b
add rsp, 0x28
jmp 0x140053fc4
cmp byte [rcx + 0x4db0], 0
jne 0x14004f144
mov dl, r8b
add rsp, 0x28
jmp 0x1400537fc
cmp byte [rcx + 0x4db0], 0
jne 0x14004f144
mov dl, r8b
call fcn.14005365c
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 0x140053833
mov rax, qword [rcx + 0xe0]
mov qword [rcx + 0xd8], rax
jmp 0x14005386d
call fcn.140052c50
mov rcx, rbx
call fcn.140052db8
test al, al
je 0x140053faa
test dil, dil
je 0x140053856
cmp byte [rbx + 0xe8ac], 0
jne 0x140053866
mov rcx, rbx
call fcn.1400512c8
test al, al
je 0x140053faa
dec qword [rbx + 0x4db8]
cmp qword [rbx + 0x4db8], 0
jl 0x140053f9a
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 0x1400538b8
mov rcx, rbx
call fcn.140052db8
test al, al
je 0x140053f9a
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 0x1400538f5
cmp rcx, rdx
je 0x1400538f5
mov rcx, rbx
call fcn.140052f70
cmp byte [rbx + 0x4dc0], 0
jne 0x140053faa
cmp byte [rbx + 0x98c0], 0
je 0x140053a5b
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 0x140053993
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 0x1400539fa
inc ecx
mov r10d, r12d
cmp ecx, r12d
jae 0x1400539bb
mov edx, ecx
inc rdx
lea rdx, [r9 + rdx*4]
cmp r8d, dword [rdx]
jb 0x1400539b8
inc ecx
add rdx, 4
cmp ecx, r12d
jb 0x1400539a6
jmp 0x1400539bb
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 0x140053a1a
call fcn.1400512c8
test al, al
je 0x140053f9a
jmp 0x140053f8c
call fcn.14004e91c
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 0x140053b67
and dword [rbx + 0x98c8], 0
jmp 0x140053b67
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 0x140053ad3
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 0x140053b44
inc ecx
mov r9d, r12d
cmp ecx, r12d
jae 0x140053afd
mov r8d, ecx
add r8, 0x42
lea r8, [rbx + r8*4]
cmp edx, dword [r8]
jb 0x140053afa
inc ecx
add r8, 4
cmp ecx, r12d
jb 0x140053ae8
jmp 0x140053afd
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 0x140053b73
mov rax, qword [rbx + 0xd8]
mov rcx, qword [rbx + 0x4ba8]
mov byte [rcx + rax], dl
inc qword [rbx + 0xd8]
dec qword [rbx + 0x4db8]
jmp 0x140053f8c
mov eax, 0x10d
cmp edx, eax
jbe 0x140053d64
lea eax, [rdx - 0x10e]
movzx r9d, byte [rax + rbp + 0x87710]
movzx r8d, byte [rax + rbp + 0x87730]
add r9d, 3
test r8d, r8d
je 0x140053bea
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 0x140053c5c
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 0x140053ccb
inc ecx
mov edi, r12d
cmp ecx, r12d
jae 0x140053c88
mov r8d, ecx
add r8, 0x3fd
lea r8, [rbx + r8*4]
cmp edx, dword [r8]
jb 0x140053c86
inc ecx
add r8, 4
cmp ecx, r12d
jb 0x140053c74
jmp 0x140053c88
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 + 0x87750]
movzx r11d, byte [rax + rcx + 0x87810]
inc r8d
test r11d, r11d
je 0x140053d35
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 0x140053d4d
inc r9d
cmp r8d, 0x40000
jb 0x140053d4d
inc r9d
mov edx, r9d
mov rcx, rbx
call fcn.14004e4f4
lea rbp, [0x140000000]
jmp 0x140053f8c
jne 0x140053d6e
mov rcx, rbx
jmp 0x140053a08
cmp edx, 0x100
jne 0x140053d88
mov r8d, dword [rbx + 0xd0]
mov edx, dword [rbx + 0xcc]
jmp 0x140053f84
cmp edx, 0x105
jae 0x140053f18
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 0x140053e14
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 0x140053e87
inc ecx
mov r9d, r12d
cmp ecx, r12d
jae 0x140053e41
mov r8d, ecx
add r8, 0xb73
lea r8, [rbx + r8*4]
cmp edx, dword [r8]
jb 0x140053e3e
inc ecx
add r8, 4
cmp ecx, r12d
jb 0x140053e2c
jmp 0x140053e41
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 + 0x87710]
movzx r11d, byte [rax + rbp + 0x87730]
add r9d, 2
test r11d, r11d
je 0x140053eec
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 0x140053f10
inc r9d
cmp r10d, 0x2000
jb 0x140053f10
inc r9d
cmp r10d, 0x40000
jb 0x140053f10
inc r9d
mov r8d, r10d
mov edx, r9d
jmp 0x140053f84
lea eax, [rdx - 0x105]
movzx r8d, byte [rax + rbp + 0x87840]
movzx r9d, byte [rax + rbp + 0x87848]
inc r8d
test r9d, r9d
je 0x140053f7f
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.14004e4f4
cmp qword [rbx + 0x4db8], 0
jge 0x14005388c
mov rcx, rbx
call fcn.140051084
mov rcx, rbx
call fcn.140052f70
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 [0x1400a3154], r12d
mov dil, dl
mov rbx, rcx
mov r13d, 1
jne 0x140054072
mov r15d, r12d
lea r14, [0x140087890]
mov esi, r12d
mov ebp, r12d
mov edi, r12d
cmp dword [r14], r12d
jle 0x140054057
mov r12d, dword [r14]
lea rax, [0x140000000]
mov ecx, esi
mov r8d, r12d
shl r13d, cl
mov dl, sil
lea rcx, [rax + 0xa3250]
add rcx, rdi
call fcn.14005c1a0
lea rax, [0x140000000]
mov dword [rax + rdi*4 + 0xa3150], r15d
inc rdi
add r15d, r13d
sub r12, 1
jne 0x14005403e
lea r13d, [r12 + 1]
add ebp, r13d
add r14, 4
add esi, r13d
cmp ebp, 0x13
jb 0x14005400e
mov dil, byte [rsp + 0x68]
lea rbp, [0x140000000]
mov byte [rbx + 0x4dd0], r13b
cmp byte [rbx + 0x4dc0], r12b
jne 0x1400540bb
mov dl, dil
mov rcx, rbx
call fcn.140052c50
mov rcx, rbx
call fcn.140052d28
test al, al
je 0x14005510c
test dil, dil
je 0x1400540ab
cmp byte [rbx + 0xe8ad], r12b
jne 0x1400540bb
mov rcx, rbx
call fcn.140051784
test al, al
je 0x14005510c
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 0x1400540ef
mov rcx, rbx
call fcn.140052d28
test al, al
je 0x140055104
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 0x140054140
cmp rcx, rdx
je 0x140054140
mov rcx, rbx
call fcn.140052ffc
mov rax, qword [rbx + 0x4db8]
cmp qword [rbx + 0x4dc8], rax
jg 0x14005510c
cmp byte [rbx + 0x4dc0], r12b
jne 0x1400550ec
cmp dword [rbx + 0xe8a8], r13d
jne 0x14005455a
lea rsi, [rbx + 0x9a48]
mov rcx, rsi
call fcn.14004ec48
mov edi, eax
cmp eax, 0xffffffff
je 0x1400550f5
cmp eax, dword [rbx + 0xe710]
jne 0x140054543
mov rcx, rsi
call fcn.14004ec48
cmp eax, 0xffffffff
je 0x1400550f5
test eax, eax
jne 0x14005419d
mov rcx, rbx
call fcn.140051784
test al, al
je 0x140055104
jmp 0x1400540c6
cmp eax, 2
je 0x140055104
cmp eax, 3
jne 0x1400541b5
mov rcx, rbx
call fcn.140052188
jmp 0x140054190
cmp eax, 4
jne 0x1400543cf
mov edi, r12d
mov r14b, r12b
mov ebp, r12d
test r14b, r14b
jne 0x140055104
mov rcx, rsi
call fcn.14004ec48
cmp eax, 0xffffffff
jne 0x1400541f1
mov rcx, rsi
call fcn.14004e3f4
mov dword [rbx + 0xe8a8], r12d
mov r14b, r13b
jmp 0x1400541fe
movzx eax, al
cmp ebp, 3
je 0x140054211
shl edi, 8
add edi, eax
add ebp, r13d
cmp ebp, 4
jl 0x1400541c7
test r14b, r14b
jne 0x140055104
jmp 0x140054214
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 0x140054377
cmp r9, rax
jae 0x140054377
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 0x1400542d4
mov r9d, edx
shr r9, 3
cmp edi, edx
jae 0x1400542c0
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 0x14005427a
jmp 0x1400542d4
mov rax, qword [rcx]
add edx, 0xfffffff8
mov qword [r8], rax
add rcx, r14
add r8, r14
sub r9, r13
jne 0x1400542c0
lea rbp, [0x140000000]
test edx, edx
je 0x1400540c6
mov al, byte [rcx]
lea rbp, [0x140000000]
mov byte [r8], al
cmp edx, r13d
jbe 0x1400540c6
mov al, byte [rcx + 1]
lea rbp, [0x140000000]
mov byte [r8 + 1], al
cmp edx, 2
jbe 0x1400540c6
mov al, byte [rcx + 2]
lea rbp, [0x140000000]
mov byte [r8 + 2], al
cmp edx, 3
jbe 0x1400540c6
mov al, byte [rcx + 3]
lea rbp, [0x140000000]
mov byte [r8 + 3], al
cmp edx, 4
jbe 0x1400540c6
mov al, byte [rcx + 4]
lea rbp, [0x140000000]
mov byte [r8 + 4], al
cmp edx, 5
jbe 0x1400540c6
mov al, byte [rcx + 5]
lea rbp, [0x140000000]
mov byte [r8 + 5], al
cmp edx, 6
jbe 0x1400540c6
mov al, byte [rcx + 6]
mov byte [r8 + 6], al
jmp 0x140054fac
lea rbp, [0x140000000]
mov r14d, 8
test edx, edx
je 0x1400540c6
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 0x140054393
jmp 0x140054fac
cmp eax, 5
jne 0x140054543
mov rcx, rsi
call fcn.14004ec48
cmp eax, 0xffffffff
je 0x1400550f5
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 0x1400544f8
cmp r9, rax
jae 0x1400544f8
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 0x140054486
cmp edx, r14d
jb 0x14005448e
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 0x140054442
test edx, edx
je 0x1400540c6
mov al, byte [rcx]
mov byte [r8], al
cmp edx, r13d
jbe 0x1400540c6
mov al, byte [rcx + 1]
mov byte [r8 + 1], al
cmp edx, 2
jbe 0x1400540c6
mov al, byte [rcx + 2]
mov byte [r8 + 2], al
cmp edx, 3
jbe 0x1400540c6
mov al, byte [rcx + 3]
mov byte [r8 + 3], al
cmp edx, 4
jbe 0x1400540c6
mov al, byte [rcx + 4]
mov byte [r8 + 4], al
cmp edx, 5
jbe 0x1400540c6
mov al, byte [rcx + 5]
mov byte [r8 + 5], al
cmp edx, 6
jbe 0x1400540c6
mov al, byte [rcx + 6]
mov byte [r8 + 6], al
jmp 0x1400540c6
test edx, edx
je 0x1400540c6
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 0x140054507
jmp 0x1400540c6
mov rcx, qword [rbx + 0x4ba8]
mov rax, qword [rbx + 0xd8]
mov byte [rcx + rax], dil
jmp 0x140054667
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 0x1400545d3
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 0x14005464b
mov r10d, 0xf
inc ecx
cmp ecx, r10d
jae 0x140054601
mov r8d, ecx
add r8, 0x42
lea r8, [rbx + r8*4]
cmp edx, dword [r8]
jb 0x1400545fe
add ecx, r13d
add r8, 4
cmp ecx, r10d
jb 0x1400545eb
jmp 0x140054601
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 0x140054673
mov rcx, qword [rbx + 0x4ba8]
mov rax, qword [rbx + 0xd8]
mov byte [rcx + rax], dl
add qword [rbx + 0xd8], r13
jmp 0x1400540c6
cmp edx, 0x10f
jb 0x140054bb6
lea eax, [rdx - 0x10f]
lea rsi, [0x140000000]
movzx r8d, byte [rax + rsi + 0x87850]
movzx r10d, byte [rax + rsi + 0x87870]
add r8d, 3
test r10d, r10d
je 0x1400546f1
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 0x140054763
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 0x1400547dc
mov esi, 0xf
inc ecx
cmp ecx, esi
jae 0x140054790
mov r10d, ecx
add r10, 0x3fd
lea r10, [rbx + r10*4]
cmp edx, dword [r10]
jb 0x14005478e
add ecx, r13d
add r10, 4
cmp ecx, esi
jb 0x14005477c
jmp 0x140054790
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 + 0xa3150]
movzx r9d, byte [rax + rsi + 0xa3250]
add r10d, r13d
test r9d, r9d
je 0x1400549c6
cmp cx, 9
jbe 0x14005497f
cmp r9d, 4
jbe 0x14005485c
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 0x140054873
dec eax
mov dword [rbx + 0x9a44], eax
jmp 0x14005496c
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 0x1400548e9
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 0x14005495a
mov edi, 0xf
inc ecx
cmp ecx, edi
jae 0x140054915
mov edx, ecx
add rdx, 0x7b8
lea rdx, [rbx + rdx*4]
cmp r9d, dword [rdx]
jb 0x140054913
add ecx, r13d
add rdx, 4
cmp ecx, edi
jb 0x140054901
jmp 0x140054915
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 0x140054974
mov dword [rbx + 0x9a44], 0xf
mov eax, dword [rbx + 0x9a40]
jmp 0x14005497a
mov dword [rbx + 0x9a40], eax
add r10d, eax
jmp 0x1400549c6
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 0x1400549de
add r8d, r13d
cmp r10d, 0x40000
jb 0x1400549de
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 0x140054b62
cmp r9, rax
jae 0x140054b62
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 0x140054ac0
mov r9d, r8d
shr r9, 3
cmp r10d, r8d
jae 0x140054aab
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 0x140054a6c
jmp 0x140054ac0
mov rax, qword [rcx]
add r8d, 0xfffffff8
mov qword [rdx], rax
add rcx, r14
add rdx, r14
sub r9, r13
jne 0x140054aab
lea rbp, [0x140000000]
test r8d, r8d
je 0x1400540c6
mov al, byte [rcx]
lea rbp, [0x140000000]
mov byte [rdx], al
cmp r8d, r13d
jbe 0x1400540c6
mov al, byte [rcx + 1]
lea rbp, [0x140000000]
mov byte [rdx + 1], al
cmp r8d, 2
jbe 0x1400540c6
mov al, byte [rcx + 2]
lea rbp, [0x140000000]
mov byte [rdx + 2], al
cmp r8d, 3
jbe 0x1400540c6
mov al, byte [rcx + 3]
lea rbp, [0x140000000]
mov byte [rdx + 3], al
cmp r8d, 4
jbe 0x1400540c6
mov al, byte [rcx + 4]
lea rbp, [0x140000000]
mov byte [rdx + 4], al
cmp r8d, 5
jbe 0x1400540c6
mov al, byte [rcx + 5]
lea rbp, [0x140000000]
mov byte [rdx + 5], al
cmp r8d, 6
jbe 0x1400540c6
mov al, byte [rcx + 6]
mov byte [rdx + 6], al
jmp 0x140054fac
lea rbp, [0x140000000]
test r8d, r8d
je 0x1400540c6
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 0x140054b79
jmp 0x140054fac
cmp edx, 0x100
jne 0x140054bcb
mov rcx, rbx
call fcn.140050ebc
jmp 0x140054190
cmp edx, 0x101
jne 0x140054be0
mov rcx, rbx
call fcn.140051fac
jmp 0x140054190
cmp edx, 0x102
jne 0x140054d01
mov edx, dword [rbx + 0xcc]
test edx, edx
je 0x1400540c6
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 0x140054cbe
cmp r9, rax
jae 0x140054cbe
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 0x140054486
mov r9d, edx
shr r9, 3
cmp r10d, edx
jae 0x140054ca5
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 0x140054c5c
jmp 0x140054486
mov rax, qword [rcx]
add edx, 0xfffffff8
mov qword [r8], rax
add rcx, r14
add r8, r14
sub r9, r13
jne 0x140054ca5
jmp 0x140054486
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 0x140054cc5
jmp 0x1400540c6
cmp edx, 0x107
jae 0x140054fb8
add edx, 0xfffffefd
lea r8, [rbx + 0xb8]
lea r8, [r8 + rdx*4]
mov ebp, dword [r8]
je 0x140054d36
sub edx, 1
mov ecx, dword [rbx + rdx*4 + 0xb8]
mov dword [r8], ecx
lea r8, [r8 - 4]
jne 0x140054d23
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 0x140054db5
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 0x140054e30
mov r10d, 0xf
inc ecx
cmp ecx, r10d
jae 0x140054de6
mov r8d, ecx
add r8, 0xb73
lea r8, [rbx + r8*4]
cmp edx, dword [r8]
jb 0x140054de3
add ecx, r13d
add r8, 4
cmp ecx, r10d
jb 0x140054dd0
jmp 0x140054de6
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 + 0x87850]
movzx r10d, byte [rax + rsi + 0x87870]
add r8d, 2
test r10d, r10d
je 0x140054e9d
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 0x140054f5d
cmp r9, rax
jae 0x140054f5d
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 0x140054ac0
mov r9d, r8d
shr r9, 3
cmp ebp, r8d
jae 0x140054f43
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 0x140054f01
jmp 0x140054ac0
mov rax, qword [rcx]
add r8d, 0xfffffff8
mov qword [rdx], rax
add rcx, r14
add rdx, r14
sub r9, r13
jne 0x140054f43
jmp 0x140054ac0
lea rbp, [0x140000000]
test r8d, r8d
je 0x1400540c6
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 0x140054f74
lea rbp, [0x140000000]
jmp 0x1400540c6
lea eax, [rdx - 0x107]
movzx r8d, byte [rax + rbp + 0x878e0]
movzx r10d, byte [rax + rbp + 0x878e8]
add r8d, r13d
test r10d, r10d
je 0x140055020
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 0x1400550a9
cmp rdx, rax
jae 0x1400550a9
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 0x1400540c6
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 0x1400550b0
jmp 0x1400540c6
mov byte [rbx + 0x4dd0], r12b
jmp 0x14005510c
mov rcx, rsi
call fcn.14004e3f4
mov dword [rbx + 0xe8a8], r12d
mov rcx, rbx
call fcn.140052ffc
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 0x1400551b7
call fcn.140052c50
mov rcx, rbx
call fcn.140052db8
test al, al
je 0x1400559ac
lea rdi, [rbx + 0xf0]
mov rcx, rbx
lea rsi, [rbx + 8]
mov r8, rdi
mov rdx, rsi
call fcn.140050d58
test al, al
je 0x1400559ac
lea r9, [rbx + 0x104]
mov r8, rdi
mov rdx, rsi
mov rcx, rbx
call fcn.140051c18
test al, al
je 0x1400559ac
cmp byte [rbx + 0xe8ae], r15b
jne 0x1400551c2
jmp 0x1400559ac
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 0x14005524c
mov ecx, dword [rbx + 0xf8]
mov edx, dword [rdi]
dec ecx
add edx, ecx
cmp dword [rsi], edx
jg 0x1400551fa
jne 0x14005523c
mov eax, dword [rbx + 0xf4]
cmp dword [rbx + 0xc], eax
jl 0x14005523c
cmp byte [rbx + 0x100], r15b
jne 0x1400559a4
mov r8, rdi
mov rdx, rsi
mov rcx, rbx
call fcn.140050d58
test al, al
je 0x1400559ac
lea r9, [rbx + 0x104]
mov r8, rdi
mov rdx, rsi
mov rcx, rbx
call fcn.140051c18
test al, al
je 0x1400559ac
jmp 0x1400551dd
mov rcx, rbx
call fcn.140052db8
test al, al
je 0x1400559a4
mov rcx, qword [rbx + 0x4ba0]
mov rax, rcx
sub rax, qword [r14]
and rax, qword [rbx + 0xe978]
cmp rax, 0x1004
jae 0x140055296
cmp rcx, qword [r14]
je 0x140055296
mov rcx, rbx
call fcn.140053254
mov rax, qword [rbx + 0x4db8]
cmp qword [rbx + 0x4dc8], rax
jg 0x1400559ac
cmp byte [rbx + 0x4dc0], r15b
jne 0x140055e47
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 0x140055312
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 0x140055389
mov r9d, 0xf
inc ecx
cmp ecx, r9d
jae 0x14005533f
mov r8d, ecx
add r8, 0x42
lea r8, [rbx + r8*4]
cmp edx, dword [r8]
jb 0x14005533c
inc ecx
add r8, 4
cmp ecx, r9d
jb 0x14005532a
jmp 0x14005533f
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 0x1400553d5
cmp byte [rbx + 0x4db0], r15b
je 0x1400553b8
mov rdx, qword [r14]
lea rcx, [rbx + 0x4bb0]
lea rax, [rdx + 1]
mov qword [r14], rax
call fcn.14004da38
mov byte [rax], dil
jmp 0x1400553c9
mov rax, qword [r14]
mov rcx, qword [rbx + 0x4ba8]
mov byte [rcx + rax], dil
inc qword [r14]
lea rdi, [rbx + 0xf0]
jmp 0x1400551c9
cmp edi, 0x106
jb 0x140055973
lea r10d, [rdi - 0x106]
cmp r10d, 8
jae 0x1400553f4
add r10d, 2
jmp 0x140055464
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 0x140055464
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 0x1400554d2
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 0x140055547
mov r15d, 0xf
inc ecx
cmp ecx, r15d
jae 0x140055502
mov r9d, ecx
add r9, 0x3fd
lea r9, [rbx + r9*4]
cmp edx, dword [r9]
jb 0x1400554ff
inc ecx
add r9, 4
cmp ecx, r15d
jb 0x1400554ed
jmp 0x140055502
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 0x14005555b
lea r11d, [rax + 1]
jmp 0x140055750
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 0x140055750
cmp r9d, 4
jb 0x1400556ee
jbe 0x1400555f7
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 0x14005566d
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 0x1400556e6
mov r9d, 0xf
inc ecx
cmp ecx, r9d
jae 0x14005569c
mov edx, ecx
add rdx, 0x7b8
lea rdx, [rbx + rdx*4]
cmp r8d, dword [rdx]
jb 0x140055699
inc ecx
add rdx, 4
cmp ecx, r9d
jb 0x140055687
jmp 0x14005569c
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 0x140055750
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 0x140055774
inc r10d
cmp r11d, 0x2000
jbe 0x140055774
inc r10d
cmp r11d, 0x40000
jbe 0x140055774
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 0x1400557d8
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.14004e68c
jmp 0x1400553c9
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 0x14005592a
cmp r8, rax
jae 0x14005592a
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 0x140055887
mov r8d, r10d
shr r8, 3
cmp r11d, r10d
jae 0x14005586f
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 0x14005582d
jmp 0x140055887
mov rax, qword [rcx]
add r10d, 0xfffffff8
mov qword [rdx], rax
add rcx, 8
add rdx, 8
sub r8, 1
jne 0x14005586f
lea rdi, [rbx + 0xf0]
test r10d, r10d
je 0x1400551c9
mov al, byte [rcx]
lea rdi, [rbx + 0xf0]
mov byte [rdx], al
cmp r10d, 1
jbe 0x1400551c9
mov al, byte [rcx + 1]
lea rdi, [rbx + 0xf0]
mov byte [rdx + 1], al
cmp r10d, 2
jbe 0x1400551c9
mov al, byte [rcx + 2]
lea rdi, [rbx + 0xf0]
mov byte [rdx + 2], al
cmp r10d, 3
jbe 0x1400551c9
mov al, byte [rcx + 3]
lea rdi, [rbx + 0xf0]
mov byte [rdx + 3], al
cmp r10d, 4
jbe 0x1400551c9
mov al, byte [rcx + 4]
lea rdi, [rbx + 0xf0]
mov byte [rdx + 4], al
cmp r10d, 5
jbe 0x1400551c9
mov al, byte [rcx + 5]
lea rdi, [rbx + 0xf0]
mov byte [rdx + 5], al
cmp r10d, 6
jbe 0x1400551c9
mov al, byte [rcx + 6]
mov byte [rdx + 6], al
jmp 0x1400553c9
lea rdi, [rbx + 0xf0]
test r10d, r10d
je 0x1400551c9
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 0x140055941
jmp 0x1400553c9
cmp edi, 0x100
jne 0x1400559ca
lea r8, [rsp + 0x30]
mov rdx, rsi
mov rcx, rbx
call fcn.140050f44
test al, al
je 0x1400559a4
lea rdx, [rsp + 0x30]
mov rcx, rbx
call fcn.14004dc84
test al, al
jne 0x1400553c9
mov rcx, rbx
call fcn.140053254
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 0x140055b91
mov edx, dword [rbx + 0xcc]
lea rdi, [rbx + 0xf0]
test edx, edx
je 0x1400551c9
cmp byte [rbx + 0x4db0], r15b
je 0x140055a00
mov r8d, dword [rbx + 0xb8]
jmp 0x1400557b8
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 0x140055b59
cmp r9, rax
jae 0x140055b59
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 0x140055ab6
mov r9, rdx
shr r9, 3
cmp r10d, edx
jae 0x140055a9f
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 0x140055a56
jmp 0x140055ab6
mov rax, qword [rcx]
add edx, 0xfffffff8
mov qword [r8], rax
add rcx, 8
add r8, 8
sub r9, 1
jne 0x140055a9f
lea rdi, [rbx + 0xf0]
test edx, edx
je 0x1400551c9
mov al, byte [rcx]
lea rdi, [rbx + 0xf0]
mov byte [r8], al
cmp edx, 1
jbe 0x1400551c9
mov al, byte [rcx + 1]
lea rdi, [rbx + 0xf0]
mov byte [r8 + 1], al
cmp edx, 2
jbe 0x1400551c9
mov al, byte [rcx + 2]
lea rdi, [rbx + 0xf0]
mov byte [r8 + 2], al
cmp edx, 3
jbe 0x1400551c9
mov al, byte [rcx + 3]
lea rdi, [rbx + 0xf0]
mov byte [r8 + 3], al
cmp edx, 4
jbe 0x1400551c9
mov al, byte [rcx + 4]
lea rdi, [rbx + 0xf0]
mov byte [r8 + 4], al
cmp edx, 5
jbe 0x1400551c9
mov al, byte [rcx + 5]
lea rdi, [rbx + 0xf0]
mov byte [r8 + 5], al
cmp edx, 6
jbe 0x1400551c9
mov al, byte [rcx + 6]
mov byte [r8 + 6], al
jmp 0x1400553c9
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 0x140055b60
jmp 0x1400553c9
add edi, 0xfffffefe
lea rdx, [rbx + 0xb8]
lea rdx, [rdx + rdi*4]
mov ebp, dword [rdx]
je 0x140055bb8
sub edi, 1
mov ecx, dword [rbx + rdi*4 + 0xb8]
mov dword [rdx], ecx
lea rdx, [rdx - 4]
jne 0x140055ba6
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 0x140055c3a
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 0x140055cb4
mov r9d, 0xf
inc ecx
cmp ecx, r9d
jae 0x140055c6a
mov r8d, ecx
add r8, 0xb73
lea r8, [rbx + r8*4]
cmp edx, dword [r8]
jb 0x140055c67
inc ecx
add r8, 4
cmp ecx, r9d
jb 0x140055c55
jmp 0x140055c6a
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 0x140055cc4
add r10d, 2
jmp 0x140055d2e
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 0x140055d2e
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 0x140055d46
mov r8d, ebp
jmp 0x1400557b5
mov r8, qword [r14]
mov rax, qword [rbx + 0xe970]
mov rdx, r8
sub rdx, rbp
add rax, 0xffffffffffffeffc
cmp rdx, rax
jae 0x140055dfe
cmp r8, rax
jae 0x140055dfe
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 0x140055887
mov r8d, r10d
shr r8, 3
cmp ebp, r10d
jae 0x140055de1
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 0x140055d9c
jmp 0x140055887
mov rax, qword [rcx]
add r10d, 0xfffffff8
mov qword [rdx], rax
add rcx, 8
add rdx, 8
sub r8, 1
jne 0x140055de1
jmp 0x140055887
lea rdi, [rbx + 0xf0]
test r10d, r10d
je 0x1400551c9
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 0x140055e15
jmp 0x1400553c9
mov byte [rbx + 0x4dd0], r15b
jmp 0x1400559ac
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 [0x1400878f0]
xor rax, rsp
mov qword [rsp + 0x440], rax
mov bl, dl
mov rsi, rcx
call fcn.140050088
mov dl, bl
mov rcx, rsi
call fcn.140052c50
mov eax, dword [rsi + 0x30]
lea r15, [rsi + 0x28]
xor ebx, ebx
mov edx, ebx
add eax, eax
je 0x140055ecb
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 0x140055ea8
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.14005baf0
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.140039ddc
xor ecx, ecx
mov dword [rsp + 0x28], eax
mov edi, eax
test eax, eax
js 0x140056233
add r14d, eax
mov dword [rsp + 0x30], r14d
je 0x140056233
test eax, eax
jle 0x140055f5a
cmp r14d, 0x400
jl 0x140056229
cmp r13d, r14d
jge 0x140056229
mov eax, dword [rsi + 0x30]
mov r12d, ecx
mov dword [rsp + 0x24], ecx
mov ebp, ecx
add eax, eax
je 0x14005607c
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 0x140055fa1
mov dword [rbx + 0x4ad8], r14d
jmp 0x140055fd4
movsxd rdx, r13d
mov rcx, rbp
add rdx, qword [rsi + 0x38]
call fcn.1400262d4
xor ecx, ecx
mov eax, r14d
sub eax, r13d
mov qword [rbp], rcx
mov dword [rbx + 0x4ad8], eax
je 0x140056078
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 0x140056021
mov r8, rdi
mov byte [rbx + 0x20], 1
mov rdx, rbp
mov rcx, rsi
call fcn.140050d58
xor ecx, ecx
test al, al
je 0x140056073
cmp byte [rbx + 0x35], cl
jne 0x14005601a
cmp byte [rsi + 0xe8ae], cl
je 0x140056073
mov byte [rsi + 0xe8ae], 1
cmp byte [rsp + 0x21], cl
jne 0x140056035
cmp dword [rdi], 0x20000
jg 0x140056035
inc dword [rsp + 0x24]
jmp 0x140056041
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 0x140056059
cmp byte [rbx + 0x34], cl
jne 0x140056078
cmp eax, 0x400
jl 0x140056078
mov eax, dword [rsi + 0x30]
add eax, eax
cmp r12d, eax
jae 0x140056078
mov edi, dword [rsp + 0x28]
jmp 0x140055f77
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 0x140056092
inc edi
mov ebx, ecx
test ebp, ebp
je 0x1400560f6
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 0x1400560d9
mov rcx, rsi
call fcn.1400562e0
jmp 0x1400560e9
mov rcx, qword [rsi + 0x20]
lea rdx, [0x140056bd0]
call fcn.14004b224
add ebx, edi
cmp ebx, ebp
jb 0x14005609b
mov r14d, dword [rsp + 0x30]
xor ecx, ecx
test r12d, r12d
je 0x140056229
mov rcx, qword [rsi + 0x20]
call fcn.14004b518
xor ecx, ecx
mov edi, ecx
test r12d, r12d
je 0x14005617e
mov ebx, ecx
mov rbp, qword [r15]
add rbp, rbx
cmp byte [rbp + 0x4add], cl
jne 0x14005613e
mov rdx, rbp
mov rcx, rsi
call fcn.140050784
xor ecx, ecx
test al, al
je 0x140056233
cmp byte [rbp + 0x4add], cl
je 0x140056153
mov rdx, rbp
mov rcx, rsi
call fcn.140056c10
xor ecx, ecx
test al, al
je 0x140056233
cmp byte [rbp + 0x4adc], cl
jne 0x140056233
cmp byte [rbp + 0x4adf], cl
jne 0x1400561ac
cmp byte [rbp + 0x34], cl
jne 0x140056233
inc edi
add rbx, 0x4af8
cmp edi, r12d
jb 0x140056113
cmp byte [rsp + 0x20], cl
jne 0x140056233
mov ebx, r14d
sub ebx, r13d
cmp ebx, 0x400
jl 0x1400562b9
cmp r13d, r14d
jge 0x140055f0d
mov edi, dword [rsp + 0x28]
jmp 0x140055f63
mov eax, dword [rbp + 8]
sub eax, dword [rsi + 0x38]
add eax, dword [rbp + 0x18]
cmp r14d, eax
jle 0x140056233
mov rcx, qword [rsi + 0x38]
sub r14d, eax
movsxd rdx, eax
movsxd r8, r14d
add rdx, rcx
call fcn.14005baf0
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 0x140056226
mov rcx, qword [r15]
mov r8d, 0x4af8
mov rdx, rbp
mov rbx, qword [rcx + 0x4ae0]
mov edi, dword [rcx + 0x4aec]
call fcn.14005baf0
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 0x140055f0d
mov rax, qword [rsi + 0xe978]
mov rcx, rsi
and qword [rsi + 0xd8], rax
call fcn.140053254
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.14005baf0
mov rcx, qword [rsp + 0x440]
xor rcx, rsp
call fcn.140059d10
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 0x140056233
jle 0x1400562d7
mov rcx, qword [rsi + 0x38]
movsxd rdx, r13d
add rdx, rcx
movsxd r8, ebx
call fcn.14005baf0
xor ecx, ecx
mov r13d, ecx
jmp 0x140055f0a