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

Disassembly:
sub rsp, 0x28
cmp edx, 0xf
je 0x14004ac13
cmp edx, 0x14
je 0x14004abfe
cmp edx, 0x1a
je 0x14004abfe
cmp edx, 0x1d
je 0x14004abe9
cmp edx, 0x32
jne 0x14004ac24
cmp dword [rcx + 0x30], 1
jbe 0x14004abdd
cmp byte [rcx + 0x4db9], 0
jne 0x14004abdd
cmp byte [rcx + 0x4d98], 0
jne 0x14004abdd
mov dl, r8b
add rsp, 0x28
jmp 0x140051f84
mov dl, r8b
add rsp, 0x28
jmp 0x140051234
cmp byte [rcx + 0x4d98], 0
jne 0x14004ac24
mov dl, r8b
add rsp, 0x28
jmp 0x14004ffe4
cmp byte [rcx + 0x4d98], 0
jne 0x14004ac24
mov dl, r8b
add rsp, 0x28
jmp 0x14004f78c
cmp byte [rcx + 0x4d98], 0
jne 0x14004ac24
mov dl, r8b
call fcn.14004f5ec
add rsp, 0x28
ret
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rdi
mov qword [rax + 0x18], r12
mov qword [rax + 0x20], r14
push r15
sub rsp, 0x20
cmp byte [rcx + 0x4da8], 0
mov dil, dl
mov rbx, rcx
je 0x14004f7c4
mov rax, qword [rcx + 0xc8]
mov qword [rcx + 0xc0], rax
jmp 0x14004f7f8
mov dl, dil
call fcn.14004e9c8
mov rcx, rbx
call fcn.14004eb48
test al, al
je 0x14004ffc9
test dil, dil
jne 0x14004f7f1
mov rcx, rbx
call fcn.14004cefc
test al, al
je 0x14004ffc9
dec qword [rbx + 0x4da0]
cmp qword [rbx + 0x4da0], 0
jl 0x14004ffb9
mov r12d, 0x10
lea r15, [0x140000000]
lea r14d, [r12 - 1]
mov rax, qword [rbx + 0xe968]
and qword [rbx + 0xc0], rax
mov eax, dword [rbx + 0xd0]
sub eax, 0x1e
cmp dword [rbx + 8], eax
jle 0x14004f844
mov rcx, rbx
call fcn.14004eb48
test al, al
je 0x14004ffb9
mov rcx, qword [rbx + 0xc8]
mov rdx, qword [rbx + 0xc0]
mov rax, rcx
sub rax, rdx
and rax, qword [rbx + 0xe968]
cmp rax, 0x10e
jae 0x14004f881
cmp rcx, rdx
je 0x14004f881
mov rcx, rbx
call fcn.14004ed0c
cmp byte [rbx + 0x4da8], 0
jne 0x14004ffc9
cmp dword [rbx + 0x98a8], 0
mov rdx, qword [rbx + 0x18]
je 0x14004f9f0
movsxd r11, dword [rbx + 8]
lea r9, [rbx + 0x58f4]
movsxd rax, dword [rbx + 0x98b0]
mov edi, dword [rbx + 0xc]
imul rcx, rax, 0xeec
movzx r8d, byte [r11 + rdx]
lea eax, [r11 + 1]
add r9, rcx
shl r8d, 8
movsxd rcx, eax
movzx eax, byte [rcx + rdx]
or r8d, eax
lea eax, [r11 + 2]
shl r8d, 8
movsxd rcx, eax
movzx eax, byte [rcx + rdx]
mov ecx, 8
sub ecx, edi
or r8d, eax
shr r8d, cl
mov ecx, dword [r9 + 0x84]
and r8d, 0xfffe
cmp r8d, dword [r9 + rcx*4 + 4]
jae 0x14004f92a
mov eax, r12d
sub eax, ecx
mov cl, al
shr r8d, cl
movzx ecx, byte [r8 + r9 + 0x88]
add ecx, edi
mov eax, ecx
shr eax, 3
add eax, r11d
and ecx, 7
mov dword [rbx + 8], eax
mov dword [rbx + 0xc], ecx
movzx edx, word [r9 + r8*2 + 0x488]
jmp 0x14004f992
inc ecx
mov r10d, r14d
cmp ecx, r14d
jae 0x14004f952
mov edx, ecx
inc rdx
lea rdx, [r9 + rdx*4]
cmp r8d, dword [rdx]
jb 0x14004f94f
inc ecx
add rdx, 4
cmp ecx, r14d
jb 0x14004f93d
jmp 0x14004f952
mov r10d, ecx
lea ecx, [rdi + r10]
mov eax, ecx
and ecx, 7
shr eax, 3
add eax, r11d
mov dword [rbx + 0xc], ecx
mov dword [rbx + 8], eax
mov ecx, r12d
sub ecx, r10d
lea eax, [r10 - 1]
sub r8d, dword [r9 + rax*4 + 4]
mov eax, r10d
shr r8d, cl
add r8d, dword [r9 + rax*4 + 0x44]
cmp r8d, dword [r9]
sbb eax, eax
and eax, r8d
movzx edx, word [r9 + rax*2 + 0xc88]
mov rcx, rbx
cmp edx, 0x100
jne 0x14004f9af
call fcn.14004cefc
test al, al
je 0x14004ffb9
jmp 0x14004ffab
call fcn.14004a440
mov rcx, qword [rbx + 0xc0]
mov rdx, qword [rbx + 0x4b90]
mov byte [rdx + rcx], al
inc dword [rbx + 0x98b0]
inc qword [rbx + 0xc0]
mov eax, dword [rbx + 0x98b0]
cmp eax, dword [rbx + 0x98ac]
jne 0x14004fb0a
and dword [rbx + 0x98b0], 0
jmp 0x14004fb0a
movsxd r10, dword [rbx + 8]
mov r11d, dword [rbx + 0xc]
movzx r8d, byte [r10 + rdx]
lea eax, [r10 + 1]
shl r8d, 8
movsxd rcx, eax
movzx eax, byte [rcx + rdx]
or r8d, eax
lea eax, [r10 + 2]
shl r8d, 8
movsxd rcx, eax
movzx eax, byte [rcx + rdx]
mov ecx, 8
sub ecx, r11d
or r8d, eax
shr r8d, cl
mov ecx, dword [rbx + 0x170]
and r8d, 0xfffe
cmp r8d, dword [rbx + rcx*4 + 0xf0]
jae 0x14004fa75
mov eax, r12d
sub eax, ecx
mov cl, al
shr r8d, cl
movzx ecx, byte [r8 + rbx + 0x174]
add ecx, r11d
mov eax, ecx
shr eax, 3
add eax, r10d
and ecx, 7
mov dword [rbx + 8], eax
mov dword [rbx + 0xc], ecx
movzx r8d, word [rbx + r8*2 + 0x574]
jmp 0x14004fae8
inc ecx
mov r9d, r14d
cmp ecx, r14d
jae 0x14004fa9e
mov edx, ecx
add rdx, 0x3c
lea rdx, [rbx + rdx*4]
cmp r8d, dword [rdx]
jb 0x14004fa9b
inc ecx
add rdx, 4
cmp ecx, r14d
jb 0x14004fa89
jmp 0x14004fa9e
mov r9d, ecx
lea ecx, [r11 + r9]
mov eax, ecx
and ecx, 7
shr eax, 3
add eax, r10d
mov dword [rbx + 0xc], ecx
mov dword [rbx + 8], eax
mov ecx, r12d
sub ecx, r9d
lea eax, [r9 - 1]
sub r8d, dword [rbx + rax*4 + 0xf0]
shr r8d, cl
mov eax, r9d
add r8d, dword [rbx + rax*4 + 0x130]
cmp r8d, dword [rbx + 0xec]
sbb eax, eax
and eax, r8d
movzx r8d, word [rbx + rax*2 + 0xd74]
cmp r8d, 0x100
jge 0x14004fb16
mov rax, qword [rbx + 0xc0]
mov rcx, qword [rbx + 0x4b90]
mov byte [rcx + rax], r8b
inc qword [rbx + 0xc0]
dec qword [rbx + 0x4da0]
jmp 0x14004ffab
cmp r8d, 0x10d
jle 0x14004fd3c
lea eax, [r8 - 0x10e]
movsxd rcx, eax
movzx r10d, byte [rcx + r15 + 0x81d00]
movzx r11d, byte [rcx + r15 + 0x81d20]
add r10d, 3
test r11d, r11d
je 0x14004fba7
movsxd rdx, dword [rbx + 8]
mov r8, qword [rbx + 0x18]
lea eax, [rdx + 1]
movzx r9d, byte [rdx + r8]
movsxd rcx, eax
shl r9d, 8
movzx eax, byte [rcx + r8]
or r9d, eax
lea eax, [rdx + 2]
movsxd rcx, eax
shl r9d, 8
movzx eax, byte [rcx + r8]
mov ecx, 8
sub ecx, dword [rbx + 0xc]
or r9d, eax
shr r9d, cl
mov ecx, r12d
sub ecx, r11d
movzx edx, r9w
shr edx, cl
mov ecx, dword [rbx + 0xc]
add r10d, edx
add ecx, r11d
mov eax, ecx
shr eax, 3
add dword [rbx + 8], eax
and ecx, 7
mov dword [rbx + 0xc], ecx
movsxd r11, dword [rbx + 8]
mov rdx, qword [rbx + 0x18]
mov edi, dword [rbx + 0xc]
lea eax, [r11 + 1]
movzx r8d, byte [r11 + rdx]
shl r8d, 8
movsxd rcx, eax
movzx eax, byte [rcx + rdx]
or r8d, eax
lea eax, [r11 + 2]
shl r8d, 8
movsxd rcx, eax
movzx eax, byte [rcx + rdx]
mov ecx, 8
sub ecx, edi
or r8d, eax
shr r8d, cl
mov ecx, dword [rbx + 0x105c]
and r8d, 0xfffe
cmp r8d, dword [rbx + rcx*4 + 0xfdc]
jae 0x14004fc2d
mov eax, r12d
sub eax, ecx
mov cl, al
shr r8d, cl
movzx ecx, byte [r8 + rbx + 0x1060]
add ecx, edi
mov eax, ecx
shr eax, 3
add eax, r11d
and ecx, 7
mov dword [rbx + 8], eax
mov dword [rbx + 0xc], ecx
movzx eax, word [rbx + r8*2 + 0x1460]
jmp 0x14004fca2
inc ecx
mov r9d, r14d
cmp ecx, r14d
jae 0x14004fc59
mov edx, ecx
add rdx, 0x3f7
lea rdx, [rbx + rdx*4]
cmp r8d, dword [rdx]
jb 0x14004fc56
inc ecx
add rdx, 4
cmp ecx, r14d
jb 0x14004fc44
jmp 0x14004fc59
mov r9d, ecx
lea ecx, [rdi + r9]
mov eax, ecx
and ecx, 7
shr eax, 3
add eax, r11d
mov dword [rbx + 0xc], ecx
mov dword [rbx + 8], eax
mov ecx, r12d
sub ecx, r9d
lea eax, [r9 - 1]
sub r8d, dword [rbx + rax*4 + 0xfdc]
mov eax, r9d
shr r8d, cl
add r8d, dword [rbx + rax*4 + 0x101c]
cmp r8d, dword [rbx + 0xfd8]
sbb eax, eax
and eax, r8d
movzx eax, word [rbx + rax*2 + 0x1c60]
cdqe
mov r11d, dword [r15 + rax*4 + 0x81d40]
movzx edi, byte [rax + r15 + 0x81e00]
inc r11d
test edi, edi
je 0x14004fd19
movsxd rdx, dword [rbx + 8]
mov r8, qword [rbx + 0x18]
lea eax, [rdx + 1]
movzx r9d, byte [rdx + r8]
movsxd rcx, eax
shl r9d, 8
movzx eax, byte [rcx + r8]
or r9d, eax
lea eax, [rdx + 2]
movsxd rcx, eax
shl r9d, 8
movzx eax, byte [rcx + r8]
mov ecx, 8
sub ecx, dword [rbx + 0xc]
or r9d, eax
shr r9d, cl
mov ecx, r12d
sub ecx, edi
movzx edx, r9w
shr edx, cl
mov ecx, dword [rbx + 0xc]
add r11d, edx
add ecx, edi
mov eax, ecx
shr eax, 3
add dword [rbx + 8], eax
and ecx, 7
mov dword [rbx + 0xc], ecx
cmp r11d, 0x2000
jb 0x14004fd31
inc r10d
cmp r11d, 0x40000
jb 0x14004fd31
inc r10d
mov r8d, r11d
mov edx, r10d
jmp 0x14004ffa3
jne 0x14004fd46
mov rcx, rbx
jmp 0x14004f99d
cmp r8d, 0x100
jne 0x14004fd61
mov r8d, dword [rbx + 0xb8]
mov edx, dword [rbx + 0xb4]
jmp 0x14004ffa3
cmp r8d, 0x105
jge 0x14004ff0b
movsxd r10, dword [rbx + 8]
mov rdx, qword [rbx + 0x18]
mov eax, dword [rbx + 0xb0]
mov edi, dword [rbx + 0xc]
sub eax, r8d
and eax, 3
movzx r8d, byte [r10 + rdx]
shl r8d, 8
mov r11d, dword [rbx + rax*4 + 0xa0]
lea eax, [r10 + 1]
movsxd rcx, eax
movzx eax, byte [rcx + rdx]
or r8d, eax
lea eax, [r10 + 2]
shl r8d, 8
movsxd rcx, eax
movzx eax, byte [rcx + rdx]
mov ecx, 8
sub ecx, edi
or r8d, eax
shr r8d, cl
mov ecx, dword [rbx + 0x2e34]
and r8d, 0xfffe
cmp r8d, dword [rbx + rcx*4 + 0x2db4]
jae 0x14004fe08
mov eax, r12d
sub eax, ecx
mov cl, al
shr r8d, cl
movzx ecx, byte [r8 + rbx + 0x2e38]
add ecx, edi
mov eax, ecx
shr eax, 3
add eax, r10d
and ecx, 7
mov dword [rbx + 8], eax
mov dword [rbx + 0xc], ecx
movzx eax, word [rbx + r8*2 + 0x3238]
jmp 0x14004fe7d
inc ecx
mov r9d, r14d
cmp ecx, r14d
jae 0x14004fe34
mov edx, ecx
add rdx, 0xb6d
lea rdx, [rbx + rdx*4]
cmp r8d, dword [rdx]
jb 0x14004fe31
inc ecx
add rdx, 4
cmp ecx, r14d
jb 0x14004fe1f
jmp 0x14004fe34
mov r9d, ecx
lea ecx, [rdi + r9]
mov eax, ecx
and ecx, 7
shr eax, 3
add eax, r10d
mov dword [rbx + 0xc], ecx
mov dword [rbx + 8], eax
mov ecx, r12d
sub ecx, r9d
lea eax, [r9 - 1]
sub r8d, dword [rbx + rax*4 + 0x2db4]
mov eax, r9d
shr r8d, cl
add r8d, dword [rbx + rax*4 + 0x2df4]
cmp r8d, dword [rbx + 0x2db0]
sbb eax, eax
and eax, r8d
movzx eax, word [rbx + rax*2 + 0x3a38]
cdqe
movzx r10d, byte [rax + r15 + 0x81d00]
movzx edi, byte [rax + r15 + 0x81d20]
add r10d, 2
test edi, edi
je 0x14004fef6
movsxd rdx, dword [rbx + 8]
mov r8, qword [rbx + 0x18]
lea eax, [rdx + 1]
movzx r9d, byte [rdx + r8]
movsxd rcx, eax
shl r9d, 8
movzx eax, byte [rcx + r8]
or r9d, eax
lea eax, [rdx + 2]
movsxd rcx, eax
shl r9d, 8
movzx eax, byte [rcx + r8]
mov ecx, 8
sub ecx, dword [rbx + 0xc]
or r9d, eax
shr r9d, cl
mov ecx, r12d
sub ecx, edi
movzx edx, r9w
shr edx, cl
mov ecx, dword [rbx + 0xc]
add r10d, edx
add ecx, edi
mov eax, ecx
shr eax, 3
add dword [rbx + 8], eax
and ecx, 7
mov dword [rbx + 0xc], ecx
cmp r11d, 0x101
jb 0x14004fd31
inc r10d
jmp 0x14004fd19
cmp r8d, 0x10e
jge 0x14004ffab
lea eax, [r8 - 0x105]
movsxd rcx, eax
movzx r10d, byte [rcx + r15 + 0x81e30]
movzx r11d, byte [rcx + r15 + 0x81e38]
inc r10d
test r11d, r11d
je 0x14004ff9b
movsxd rdx, dword [rbx + 8]
mov r8, qword [rbx + 0x18]
lea eax, [rdx + 1]
movzx r9d, byte [rdx + r8]
movsxd rcx, eax
shl r9d, 8
movzx eax, byte [rcx + r8]
or r9d, eax
lea eax, [rdx + 2]
movsxd rcx, eax
shl r9d, 8
movzx eax, byte [rcx + r8]
mov ecx, 8
sub ecx, dword [rbx + 0xc]
or r9d, eax
shr r9d, cl
mov ecx, r12d
sub ecx, r11d
movzx edx, r9w
shr edx, cl
mov ecx, dword [rbx + 0xc]
add r10d, edx
add ecx, r11d
mov eax, ecx
shr eax, 3
add dword [rbx + 8], eax
and ecx, 7
mov dword [rbx + 0xc], ecx
mov r8d, r10d
mov edx, 2
mov rcx, rbx
call fcn.14004a014
cmp qword [rbx + 0x4da0], 0
jge 0x14004f818
mov rcx, rbx
call fcn.14004cca8
mov rcx, rbx
call fcn.14004ed0c
mov rbx, qword [rsp + 0x30]
mov rdi, qword [rsp + 0x38]
mov r12, qword [rsp + 0x40]
mov r14, qword [rsp + 0x48]
add rsp, 0x20
pop r15
ret
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x20
xor r12d, r12d
lea rsi, [0x140000000]
cmp dword [0x14009ec54], r12d
mov r13b, dl
mov rbx, rcx
jne 0x14005008b
mov ebp, r12d
lea r14, [0x140081e80]
mov edi, r12d
mov esi, r12d
cmp dword [r14], r12d
jle 0x140050075
mov r15d, dword [r14]
lea rax, [0x140000000]
mov ecx, edi
mov r12d, 1
shl r12d, cl
mov r8d, r15d
lea rcx, [rax + 0x9ed50]
mov dl, dil
add rcx, rsi
call fcn.140058f40
lea rax, [0x140000000]
mov dword [rax + rsi*4 + 0x9ec50], ebp
inc rsi
add ebp, r12d
sub r15, 1
jne 0x14005005f
xor r12d, r12d
inc edi
add r14, 4
movsxd rax, edi
cmp rax, 0x13
jb 0x140050029
lea rsi, [0x140000000]
mov byte [rbx + 0x4db8], 1
cmp byte [rbx + 0x4da8], r12b
jne 0x1400500d4
mov dl, r13b
mov rcx, rbx
call fcn.14004e9c8
mov rcx, rbx
call fcn.14004eaac
test al, al
je 0x140051214
test r13b, r13b
je 0x1400500c4
cmp byte [rbx + 0xe894], r12b
jne 0x1400500d4
mov rcx, rbx
call fcn.14004d470
test al, al
je 0x140051214
mov r15d, dword [rsp + 0x50]
mov r14d, 8
lea r13d, [r14 - 7]
mov rax, qword [rbx + 0xe968]
and qword [rbx + 0xc0], rax
mov eax, dword [rbx + 0xd4]
cmp dword [rbx + 8], eax
jle 0x14005010c
mov rcx, rbx
call fcn.14004eaac
test al, al
je 0x14005120c
mov rcx, qword [rbx + 0xc8]
mov rdx, qword [rbx + 0xc0]
mov rax, rcx
sub rax, rdx
and rax, qword [rbx + 0xe968]
cmp rax, 0x104
jae 0x14005015d
cmp rcx, rdx
je 0x14005015d
mov rcx, rbx
call fcn.14004ed98
mov rax, qword [rbx + 0x4da0]
cmp qword [rbx + 0x4db0], rax
jg 0x140051214
cmp byte [rbx + 0x4da8], r12b
jne 0x1400511eb
cmp dword [rbx + 0xe890], r13d
jne 0x14005053b
lea rsi, [rbx + 0x9a30]
mov rcx, rsi
call fcn.14004a770
mov ebp, eax
cmp eax, 0xffffffff
je 0x1400511f9
cmp eax, dword [rbx + 0xe6f8]
jne 0x14005051d
mov rcx, rsi
call fcn.14004a770
mov edi, eax
cmp eax, 0xffffffff
jne 0x1400501ae
mov rcx, rsi
call fcn.140049f14
mov dword [rbx + 0xe890], r12d
test edi, edi
jne 0x1400501ce
mov rcx, rbx
call fcn.14004d470
test al, al
je 0x14005120c
lea rsi, [0x140000000]
jmp 0x1400500e3
cmp edi, 0xffffffff
je 0x14005120c
cmp edi, 2
je 0x14005120c
cmp edi, 3
jne 0x1400501ef
mov rcx, rbx
call fcn.14004df6c
jmp 0x1400501ba
cmp edi, 4
jne 0x140050417
mov edi, r12d
mov r14b, r12b
mov ebp, r12d
test r14b, r14b
jne 0x14005120c
mov rcx, rsi
call fcn.14004a770
cmp eax, 0xffffffff
jne 0x14005022b
mov rcx, rsi
call fcn.140049f14
mov dword [rbx + 0xe890], r12d
mov r14b, r13b
jmp 0x14005023e
cmp ebp, 3
jne 0x140050236
movzx r15d, al
jmp 0x14005023e
shl edi, 8
movzx eax, al
add edi, eax
add ebp, r13d
cmp ebp, 4
jl 0x140050201
test r14b, r14b
jne 0x14005120c
mov r10, qword [rbx + 0xc0]
lea r8d, [r15 + 0x20]
add edi, 2
mov r9, r10
mov eax, edi
sub r9, rax
mov rax, qword [rbx + 0xe960]
add rax, 0xffffffffffffefff
cmp r9, rax
jae 0x1400503b9
cmp r10, rax
jae 0x1400503b9
mov rax, qword [rbx + 0x4b90]
mov r14d, 8
lea rcx, [rax + r9]
lea rdx, [rax + r10]
mov eax, r8d
add rax, r10
mov qword [rbx + 0xc0], rax
cmp edi, r8d
jae 0x1400502f6
cmp r8d, r14d
jb 0x140050317
mov r9d, r8d
shr r9, 3
mov al, byte [rcx]
add r8d, 0xfffffff8
mov byte [rdx], al
mov al, byte [rcx + 1]
mov byte [rdx + 1], al
mov al, byte [rcx + 2]
mov byte [rdx + 2], al
mov al, byte [rcx + 3]
mov byte [rdx + 3], al
mov al, byte [rcx + 4]
mov byte [rdx + 4], al
mov al, byte [rcx + 5]
mov byte [rdx + 5], al
mov al, byte [rcx + 6]
mov byte [rdx + 6], al
mov al, byte [rcx + 7]
add rcx, r14
mov byte [rdx + 7], al
add rdx, r14
sub r9, r13
jne 0x1400502b7
jmp 0x140050317
cmp r8d, r14d
jb 0x140050317
mov r9d, r8d
shr r9, 3
mov rax, qword [rcx]
add r8d, 0xfffffff8
mov qword [rdx], rax
add rcx, r14
add rdx, r14
sub r9, r13
jne 0x140050302
lea rsi, [0x140000000]
test r8d, r8d
je 0x1400500e3
mov al, byte [rcx]
lea rsi, [0x140000000]
mov byte [rdx], al
cmp r8d, r13d
jbe 0x1400500e3
mov al, byte [rcx + 1]
lea rsi, [0x140000000]
mov byte [rdx + 1], al
cmp r8d, 2
jbe 0x1400500e3
mov al, byte [rcx + 2]
lea rsi, [0x140000000]
mov byte [rdx + 2], al
cmp r8d, 3
jbe 0x1400500e3
mov al, byte [rcx + 3]
lea rsi, [0x140000000]
mov byte [rdx + 3], al
cmp r8d, 4
jbe 0x1400500e3
mov al, byte [rcx + 4]
lea rsi, [0x140000000]
mov byte [rdx + 4], al
cmp r8d, 5
jbe 0x1400500e3
mov al, byte [rcx + 5]
lea rsi, [0x140000000]
mov byte [rdx + 5], al
cmp r8d, 6
jbe 0x1400500e3
mov al, byte [rcx + 6]
mov byte [rdx + 6], al
jmp 0x1400501c2
lea rsi, [0x140000000]
mov r14d, 8
test r8d, r8d
je 0x1400500e3
mov r10, qword [rbx + 0xe968]
mov rdx, qword [rbx + 0x4b90]
and r10, r9
mov rcx, qword [rbx + 0xc0]
add r9, r13
mov al, byte [r10 + rdx]
mov byte [rdx + rcx], al
mov rax, qword [rbx + 0xc0]
mov r10, qword [rbx + 0xe968]
add rax, r13
and rax, r10
mov qword [rbx + 0xc0], rax
add r8d, 0xffffffff
jne 0x1400503d6
jmp 0x1400501c2
cmp edi, 5
jne 0x14005051d
mov rcx, rsi
call fcn.14004a770
cmp eax, 0xffffffff
je 0x1400511f4
mov r9, qword [rbx + 0xc0]
lea r8d, [rax + 4]
mov rax, qword [rbx + 0xe960]
add rax, 0xffffffffffffefff
lea r10, [r9 - 1]
cmp r10, rax
jae 0x1400504c5
cmp r9, rax
jae 0x1400504c5
mov rax, qword [rbx + 0x4b90]
lea rcx, [rax + r10]
lea rdx, [rax + r9]
mov eax, r8d
add rax, r9
mov qword [rbx + 0xc0], rax
cmp r8d, r14d
jb 0x140050317
mov r9d, r8d
shr r9, 3
mov al, byte [rcx]
add r8d, 0xfffffff8
mov byte [rdx], al
mov al, byte [rcx + 1]
mov byte [rdx + 1], al
mov al, byte [rcx + 2]
mov byte [rdx + 2], al
mov al, byte [rcx + 3]
mov byte [rdx + 3], al
mov al, byte [rcx + 4]
mov byte [rdx + 4], al
mov al, byte [rcx + 5]
mov byte [rdx + 5], al
mov al, byte [rcx + 6]
mov byte [rdx + 6], al
mov al, byte [rcx + 7]
add rcx, r14
mov byte [rdx + 7], al
add rdx, r14
sub r9, r13
jne 0x140050483
jmp 0x140050317
lea rsi, [0x140000000]
test r8d, r8d
je 0x1400500e3
mov r9, qword [rbx + 0xe968]
mov rdx, qword [rbx + 0x4b90]
and r9, r10
mov rcx, qword [rbx + 0xc0]
add r10, r13
mov al, byte [r9 + rdx]
mov byte [rdx + rcx], al
mov rax, qword [rbx + 0xc0]
mov r9, qword [rbx + 0xe968]
add rax, r13
and rax, r9
mov qword [rbx + 0xc0], rax
add r8d, 0xffffffff
jne 0x1400504dc
jmp 0x1400501c2
mov rax, qword [rbx + 0xc0]
mov rcx, qword [rbx + 0x4b90]
mov byte [rcx + rax], bpl
add qword [rbx + 0xc0], r13
jmp 0x1400501c2
movsxd r10, dword [rbx + 8]
mov rdx, qword [rbx + 0x18]
mov r11d, dword [rbx + 0xc]
lea eax, [r10 + 1]
movzx r8d, byte [r10 + rdx]
shl r8d, 8
movsxd rcx, eax
movzx eax, byte [rcx + rdx]
or r8d, eax
lea eax, [r10 + 2]
shl r8d, 8
movsxd rcx, eax
movzx eax, byte [rcx + rdx]
mov ecx, r14d
sub ecx, r11d
or r8d, eax
shr r8d, cl
mov ecx, dword [rbx + 0x170]
and r8d, 0xfffe
cmp r8d, dword [rbx + rcx*4 + 0xf0]
jae 0x1400505c4
mov eax, 0x10
sub eax, ecx
mov cl, al
shr r8d, cl
movzx ecx, byte [r8 + rbx + 0x174]
add ecx, r11d
mov eax, ecx
shr eax, 3
add eax, r10d
and ecx, 7
mov dword [rbx + 8], eax
mov dword [rbx + 0xc], ecx
movzx r8d, word [rbx + r8*2 + 0x574]
jmp 0x14005063d
mov r9d, 0xf
inc ecx
cmp ecx, r9d
jae 0x1400505f1
mov edx, ecx
add rdx, 0x3c
lea rdx, [rbx + rdx*4]
cmp r8d, dword [rdx]
jb 0x1400505ee
add ecx, r13d
add rdx, 4
cmp ecx, r9d
jb 0x1400505db
jmp 0x1400505f1
mov r9d, ecx
lea ecx, [r11 + r9]
mov eax, ecx
and ecx, 7
shr eax, 3
add eax, r10d
mov dword [rbx + 0xc], ecx
mov dword [rbx + 8], eax
mov ecx, 0x10
sub ecx, r9d
lea eax, [r9 - 1]
sub r8d, dword [rbx + rax*4 + 0xf0]
shr r8d, cl
mov eax, r9d
add r8d, dword [rbx + rax*4 + 0x130]
cmp r8d, dword [rbx + 0xec]
sbb eax, eax
and eax, r8d
movzx r8d, word [rbx + rax*2 + 0xd74]
cmp r8d, 0x100
jge 0x140050664
mov rax, qword [rbx + 0xc0]
mov rcx, qword [rbx + 0x4b90]
mov byte [rcx + rax], r8b
add qword [rbx + 0xc0], r13
jmp 0x1400500e3
cmp r8d, 0x10f
jl 0x140050be8
lea eax, [r8 - 0x10f]
movsxd rcx, eax
movzx r10d, byte [rcx + rsi + 0x81e40]
movzx r11d, byte [rcx + rsi + 0x81e60]
add r10d, 3
test r11d, r11d
je 0x1400506f5
movsxd rdx, dword [rbx + 8]
mov r8, qword [rbx + 0x18]
lea eax, [rdx + 1]
movzx r9d, byte [rdx + r8]
movsxd rcx, eax
shl r9d, 8
movzx eax, byte [rcx + r8]
or r9d, eax
lea eax, [rdx + 2]
movsxd rcx, eax
shl r9d, 8
movzx eax, byte [rcx + r8]
mov ecx, r14d
sub ecx, dword [rbx + 0xc]
or r9d, eax
shr r9d, cl
mov ecx, 0x10
sub ecx, r11d
movzx edx, r9w
shr edx, cl
mov ecx, dword [rbx + 0xc]
add r10d, edx
add ecx, r11d
mov eax, ecx
shr eax, 3
add dword [rbx + 8], eax
and ecx, 7
mov dword [rbx + 0xc], ecx
movsxd r11, dword [rbx + 8]
mov rdx, qword [rbx + 0x18]
mov edi, dword [rbx + 0xc]
lea eax, [r11 + 1]
movzx r8d, byte [r11 + rdx]
shl r8d, 8
movsxd rcx, eax
movzx eax, byte [rcx + rdx]
or r8d, eax
lea eax, [r11 + 2]
shl r8d, 8
movsxd rcx, eax
movzx eax, byte [rcx + rdx]
mov ecx, r14d
sub ecx, edi
or r8d, eax
shr r8d, cl
mov ecx, dword [rbx + 0x105c]
and r8d, 0xfffe
cmp r8d, dword [rbx + rcx*4 + 0xfdc]
jae 0x14005077b
mov eax, 0x10
sub eax, ecx
mov cl, al
shr r8d, cl
movzx ecx, byte [r8 + rbx + 0x1060]
add ecx, edi
mov eax, ecx
shr eax, 3
add eax, r11d
and ecx, 7
mov dword [rbx + 8], eax
mov dword [rbx + 0xc], ecx
movzx ecx, word [rbx + r8*2 + 0x1460]
jmp 0x1400507f6
mov r9d, 0xf
inc ecx
cmp ecx, r9d
jae 0x1400507ab
mov edx, ecx
add rdx, 0x3f7
lea rdx, [rbx + rdx*4]
cmp r8d, dword [rdx]
jb 0x1400507a8
add ecx, r13d
add rdx, 4
cmp ecx, r9d
jb 0x140050795
jmp 0x1400507ab
mov r9d, ecx
lea ecx, [rdi + r9]
mov eax, ecx
and ecx, 7
shr eax, 3
add eax, r11d
mov dword [rbx + 0xc], ecx
mov dword [rbx + 8], eax
mov ecx, 0x10
sub ecx, r9d
lea eax, [r9 - 1]
sub r8d, dword [rbx + rax*4 + 0xfdc]
shr r8d, cl
mov eax, r9d
add r8d, dword [rbx + rax*4 + 0x101c]
cmp r8d, dword [rbx + 0xfd8]
sbb eax, eax
and eax, r8d
movzx ecx, word [rbx + rax*2 + 0x1c60]
movsxd rax, ecx
mov r11d, dword [rsi + rax*4 + 0x9ec50]
movzx edi, byte [rax + rsi + 0x9ed50]
add r11d, r13d
test edi, edi
je 0x140050a20
cmp ecx, 9
jle 0x1400509c3
cmp edi, 4
jbe 0x140050885
movsxd rdx, dword [rbx + 8]
mov r8, qword [rbx + 0x18]
lea eax, [rdx + 1]
movzx r9d, byte [rdx + r8]
movsxd rcx, eax
shl r9d, 8
movzx eax, byte [rcx + r8]
or r9d, eax
lea eax, [rdx + 2]
movsxd rcx, eax
shl r9d, 8
movzx eax, byte [rcx + r8]
mov ecx, r14d
sub ecx, dword [rbx + 0xc]
or r9d, eax
shr r9d, cl
mov ecx, 0x14
sub ecx, edi
movzx edx, r9w
shr edx, cl
mov ecx, dword [rbx + 0xc]
add ecx, 0xfffffffc
shl edx, 4
add ecx, edi
add r11d, edx
mov eax, ecx
shr eax, 3
add dword [rbx + 8], eax
and ecx, 7
mov dword [rbx + 0xc], ecx
mov eax, dword [rbx + 0x9a2c]
test eax, eax
jle 0x14005089c
dec eax
mov dword [rbx + 0x9a2c], eax
jmp 0x1400509af
movsxd rdi, dword [rbx + 8]
mov rdx, qword [rbx + 0x18]
mov esi, dword [rbx + 0xc]
lea eax, [rdi + 1]
movzx r8d, byte [rdi + rdx]
shl r8d, 8
movsxd rcx, eax
movzx eax, byte [rcx + rdx]
or r8d, eax
lea eax, [rdi + 2]
shl r8d, 8
movsxd rcx, eax
movzx eax, byte [rcx + rdx]
mov ecx, r14d
sub ecx, esi
or r8d, eax
shr r8d, cl
mov ecx, dword [rbx + 0x1f48]
and r8d, 0xfffe
cmp r8d, dword [rbx + rcx*4 + 0x1ec8]
jae 0x14005091f
mov eax, 0x10
sub eax, ecx
mov cl, al
shr r8d, cl
movzx ecx, byte [rbx + r8 + 0x1f4c]
add ecx, esi
mov eax, ecx
shr eax, 3
add eax, edi
and ecx, 7
mov dword [rbx + 8], eax
mov dword [rbx + 0xc], ecx
movzx eax, word [rbx + r8*2 + 0x234c]
jmp 0x140050999
mov r9d, 0xf
inc ecx
cmp ecx, r9d
jae 0x14005094f
mov edx, ecx
add rdx, 0x7b2
lea rdx, [rbx + rdx*4]
cmp r8d, dword [rdx]
jb 0x14005094c
add ecx, r13d
add rdx, 4
cmp ecx, r9d
jb 0x140050939
jmp 0x14005094f
mov r9d, ecx
lea ecx, [r9 + rsi]
mov eax, ecx
and ecx, 7
shr eax, 3
add eax, edi
mov dword [rbx + 0xc], ecx
mov dword [rbx + 8], eax
mov ecx, 0x10
sub ecx, r9d
lea eax, [r9 - 1]
sub r8d, dword [rbx + rax*4 + 0x1ec8]
mov eax, r9d
shr r8d, cl
add r8d, dword [rbx + rax*4 + 0x1f08]
cmp r8d, dword [rbx + 0x1ec4]
sbb eax, eax
and eax, r8d
movzx eax, word [rbx + rax*2 + 0x2b4c]
lea rsi, [0x140000000]
cmp eax, 0x10
jne 0x1400509b8
mov dword [rbx + 0x9a2c], 0xf
add r11d, dword [rbx + 0x9a28]
jmp 0x140050a20
add r11d, eax
mov dword [rbx + 0x9a28], eax
jmp 0x140050a20
movsxd rdx, dword [rbx + 8]
mov r8, qword [rbx + 0x18]
lea eax, [rdx + 1]
movzx r9d, byte [rdx + r8]
movsxd rcx, eax
shl r9d, 8
movzx eax, byte [rcx + r8]
or r9d, eax
lea eax, [rdx + 2]
movsxd rcx, eax
shl r9d, 8
movzx eax, byte [rcx + r8]
mov ecx, r14d
sub ecx, dword [rbx + 0xc]
or r9d, eax
shr r9d, cl
mov ecx, 0x10
sub ecx, edi
movzx edx, r9w
shr edx, cl
mov ecx, dword [rbx + 0xc]
add r11d, edx
add ecx, edi
mov eax, ecx
shr eax, 3
add dword [rbx + 8], eax
and ecx, 7
mov dword [rbx + 0xc], ecx
cmp r11d, 0x2000
jb 0x140050a38
add r10d, r13d
cmp r11d, 0x40000
jb 0x140050a38
add r10d, r13d
mov eax, dword [rbx + 0xa8]
mov dword [rbx + 0xac], eax
mov eax, dword [rbx + 0xa4]
mov dword [rbx + 0xa8], eax
mov eax, dword [rbx + 0xa0]
mov dword [rbx + 0xa4], eax
mov dword [rbx + 0xa0], r11d
mov r9, qword [rbx + 0xc0]
mov eax, r11d
mov r8, r9
sub r8, rax
mov dword [rbx + 0xb4], r10d
mov rax, qword [rbx + 0xe960]
add rax, 0xffffffffffffefff
cmp r8, rax
jae 0x140050b97
cmp r9, rax
jae 0x140050b97
mov rax, qword [rbx + 0x4b90]
lea rcx, [rax + r8]
lea rdx, [rax + r9]
mov eax, r10d
add rax, r9
mov qword [rbx + 0xc0], rax
cmp r11d, r10d
jae 0x140050b05
cmp r10d, r14d
jb 0x140050b26
mov r8d, r10d
shr r8, 3
mov al, byte [rcx]
add r10d, 0xfffffff8
mov byte [rdx], al
mov al, byte [rcx + 1]
mov byte [rdx + 1], al
mov al, byte [rcx + 2]
mov byte [rdx + 2], al
mov al, byte [rcx + 3]
mov byte [rdx + 3], al
mov al, byte [rcx + 4]
mov byte [rdx + 4], al
mov al, byte [rcx + 5]
mov byte [rdx + 5], al
mov al, byte [rcx + 6]
mov byte [rdx + 6], al
mov al, byte [rcx + 7]
add rcx, r14
mov byte [rdx + 7], al
add rdx, r14
sub r8, r13
jne 0x140050ac6
jmp 0x140050b26
cmp r10d, r14d
jb 0x140050b26
mov r8d, r10d
shr r8, 3
mov rax, qword [rcx]
add r10d, 0xfffffff8
mov qword [rdx], rax
add rcx, r14
add rdx, r14
sub r8, r13
jne 0x140050b11
test r10d, r10d
je 0x1400500e3
mov al, byte [rcx]
mov byte [rdx], al
cmp r10d, r13d
jbe 0x1400500e3
mov al, byte [rcx + 1]
mov byte [rdx + 1], al
cmp r10d, 2
jbe 0x1400500e3
mov al, byte [rcx + 2]
mov byte [rdx + 2], al
cmp r10d, 3
jbe 0x1400500e3
mov al, byte [rcx + 3]
mov byte [rdx + 3], al
cmp r10d, 4
jbe 0x1400500e3
mov al, byte [rcx + 4]
mov byte [rdx + 4], al
cmp r10d, 5
jbe 0x1400500e3
cmp r10d, 6
mov al, byte [rcx + 5]
mov byte [rdx + 5], al
jbe 0x1400500e3
mov al, byte [rcx + 6]
mov byte [rdx + 6], al
jmp 0x1400500e3
test r10d, r10d
je 0x1400500e3
mov r9, qword [rbx + 0xe968]
mov rdx, qword [rbx + 0x4b90]
and r9, r8
mov rcx, qword [rbx + 0xc0]
add r8, r13
mov al, byte [r9 + rdx]
mov byte [rdx + rcx], al
mov rax, qword [rbx + 0xc0]
mov r9, qword [rbx + 0xe968]
add rax, r13
and rax, r9
mov qword [rbx + 0xc0], rax
add r10d, 0xffffffff
jne 0x140050ba7
jmp 0x1400500e3
cmp r8d, 0x100
jne 0x140050bfb
mov rcx, rbx
call fcn.14004cae8
jmp 0x140050c0c
cmp r8d, 0x101
jne 0x140050c19
mov rcx, rbx
call fcn.14004dd28
test al, al
je 0x14005120c
jmp 0x1400500e3
cmp r8d, 0x102
jne 0x140050da6
mov r8d, dword [rbx + 0xb4]
test r8d, r8d
je 0x1400500e3
mov r10, qword [rbx + 0xc0]
mov r11d, dword [rbx + 0xa0]
mov r9, r10
mov rax, qword [rbx + 0xe960]
sub r9, r11
add rax, 0xffffffffffffefff
cmp r9, rax
jae 0x140050d53
cmp r10, rax
jae 0x140050d53
mov rax, qword [rbx + 0x4b90]
lea rcx, [r9 + rax]
lea rdx, [rax + r10]
lea rax, [r10 + r8]
mov qword [rbx + 0xc0], rax
cmp r11d, r8d
jae 0x140050cd3
cmp r8d, r14d
jb 0x140050cf4
mov r9d, r8d
shr r9, 3
mov al, byte [rcx]
add r8d, 0xfffffff8
mov byte [rdx], al
mov al, byte [rcx + 1]
mov byte [rdx + 1], al
mov al, byte [rcx + 2]
mov byte [rdx + 2], al
mov al, byte [rcx + 3]
mov byte [rdx + 3], al
mov al, byte [rcx + 4]
mov byte [rdx + 4], al
mov al, byte [rcx + 5]
mov byte [rdx + 5], al
mov al, byte [rcx + 6]
mov byte [rdx + 6], al
mov al, byte [rcx + 7]
add rcx, r14
mov byte [rdx + 7], al
add rdx, r14
sub r9, r13
jne 0x140050c94
jmp 0x140050cf4
cmp r8d, r14d
jb 0x140050cf4
mov r9, r8
shr r9, 3
mov rax, qword [rcx]
add r8d, 0xfffffff8
mov qword [rdx], rax
add rcx, r14
add rdx, r14
sub r9, r13
jne 0x140050cdf
test r8d, r8d
je 0x1400500e3
mov al, byte [rcx]
mov byte [rdx], al
cmp r8d, r13d
jbe 0x1400500e3
mov al, byte [rcx + 1]
mov byte [rdx + 1], al
cmp r8d, 2
jbe 0x1400500e3
mov al, byte [rcx + 2]
mov byte [rdx + 2], al
cmp r8d, 3
jbe 0x1400500e3
mov al, byte [rcx + 3]
mov byte [rdx + 3], al
cmp r8d, 4
jbe 0x1400500e3
mov al, byte [rcx + 4]
mov byte [rdx + 4], al
cmp r8d, 5
jbe 0x1400500e3
cmp r8d, 6
jmp 0x140050b80
test r8d, r8d
je 0x1400500e3
mov rcx, qword [rbx + 0xe968]
mov rdx, qword [rbx + 0x4b90]
mov rax, r9
and rax, rcx
add r9, r13
mov rcx, qword [rbx + 0xc0]
mov al, byte [rax + rdx]
mov byte [rdx + rcx], al
mov rax, qword [rbx + 0xc0]
mov rcx, qword [rbx + 0xe968]
add rax, r13
and rax, rcx
mov qword [rbx + 0xc0], rax
add r8d, 0xffffffff
jne 0x140050d63
jmp 0x1400500e3
cmp r8d, 0x107
jge 0x140051088
lea eax, [r8 - 0x103]
movsxd rdx, eax
lea rcx, [rbx + 0xa0]
lea rcx, [rcx + rdx*4]
mov edi, dword [rcx]
test eax, eax
jle 0x140050ddf
mov eax, dword [rcx - 4]
sub rdx, r13
mov dword [rcx], eax
lea rcx, [rcx - 4]
test rdx, rdx
jg 0x140050dce
mov dword [rbx + 0xa0], edi
movsxd r10, dword [rbx + 8]
mov rdx, qword [rbx + 0x18]
mov r11d, dword [rbx + 0xc]
lea eax, [r10 + 1]
movzx r8d, byte [r10 + rdx]
shl r8d, 8
movsxd rcx, eax
movzx eax, byte [rcx + rdx]
or r8d, eax
lea eax, [r10 + 2]
shl r8d, 8
movsxd rcx, eax
movzx eax, byte [rcx + rdx]
mov ecx, r14d
sub ecx, r11d
or r8d, eax
shr r8d, cl
mov ecx, dword [rbx + 0x2e34]
and r8d, 0xfffe
cmp r8d, dword [rbx + rcx*4 + 0x2db4]
jae 0x140050e6e
mov eax, 0x10
sub eax, ecx
mov cl, al
shr r8d, cl
movzx ecx, byte [rbx + r8 + 0x2e38]
add ecx, r11d
mov eax, ecx
shr eax, 3
add eax, r10d
and ecx, 7
mov dword [rbx + 8], eax
mov dword [rbx + 0xc], ecx
movzx eax, word [rbx + r8*2 + 0x3238]
jmp 0x140050ee9
mov r9d, 0xf
inc ecx
cmp ecx, r9d
jae 0x140050e9e
mov edx, ecx
add rdx, 0xb6d
lea rdx, [rbx + rdx*4]
cmp r8d, dword [rdx]
jb 0x140050e9b
add ecx, r13d
add rdx, 4
cmp ecx, r9d
jb 0x140050e88
jmp 0x140050e9e
mov r9d, ecx
lea ecx, [r9 + r11]
mov eax, ecx
and ecx, 7
shr eax, 3
add eax, r10d
mov dword [rbx + 0xc], ecx
mov dword [rbx + 8], eax
mov ecx, 0x10
sub ecx, r9d
lea eax, [r9 - 1]
sub r8d, dword [rbx + rax*4 + 0x2db4]
mov eax, r9d
shr r8d, cl
add r8d, dword [rbx + rax*4 + 0x2df4]
cmp r8d, dword [rbx + 0x2db0]
sbb eax, eax
and eax, r8d
movzx eax, word [rbx + rax*2 + 0x3a38]
cdqe
movzx r10d, byte [rax + rsi + 0x81e40]
movzx r11d, byte [rax + rsi + 0x81e60]
add r10d, 2
test r11d, r11d
je 0x140050f65
movsxd rdx, dword [rbx + 8]
mov r8, qword [rbx + 0x18]
lea eax, [rdx + 1]
movzx r9d, byte [rdx + r8]
movsxd rcx, eax
shl r9d, 8
movzx eax, byte [rcx + r8]
or r9d, eax
lea eax, [rdx + 2]
movsxd rcx, eax
shl r9d, 8
movzx eax, byte [rcx + r8]
mov ecx, r14d
sub ecx, dword [rbx + 0xc]
or r9d, eax
shr r9d, cl
mov ecx, 0x10
sub ecx, r11d
movzx edx, r9w
shr edx, cl
mov ecx, dword [rbx + 0xc]
add r10d, edx
add ecx, r11d
mov eax, ecx
shr eax, 3
add dword [rbx + 8], eax
and ecx, 7
mov dword [rbx + 0xc], ecx
mov r9, qword [rbx + 0xc0]
mov rax, qword [rbx + 0xe960]
mov r8, r9
sub r8, rdi
mov dword [rbx + 0xb4], r10d
add rax, 0xffffffffffffefff
cmp r8, rax
jae 0x140051035
cmp r9, rax
jae 0x140051035
mov rax, qword [rbx + 0x4b90]
lea rcx, [r8 + rax]
lea rdx, [rax + r9]
mov eax, r10d
add rax, r9
mov qword [rbx + 0xc0], rax
cmp edi, r10d
jae 0x14005100b
cmp r10d, r14d
jb 0x140050b26
mov r8d, r10d
shr r8, 3
mov al, byte [rcx]
add r10d, 0xfffffff8
mov byte [rdx], al
mov al, byte [rcx + 1]
mov byte [rdx + 1], al
mov al, byte [rcx + 2]
mov byte [rdx + 2], al
mov al, byte [rcx + 3]
mov byte [rdx + 3], al
mov al, byte [rcx + 4]
mov byte [rdx + 4], al
mov al, byte [rcx + 5]
mov byte [rdx + 5], al
mov al, byte [rcx + 6]
mov byte [rdx + 6], al
mov al, byte [rcx + 7]
add rcx, r14
mov byte [rdx + 7], al
add rdx, r14
sub r8, r13
jne 0x140050fc9
jmp 0x140050b26
cmp r10d, r14d
jb 0x140050b26
mov r8d, r10d
shr r8, 3
mov rax, qword [rcx]
add r10d, 0xfffffff8
mov qword [rdx], rax
add rcx, r14
add rdx, r14
sub r8, r13
jne 0x14005101b
jmp 0x140050b26
test r10d, r10d
je 0x1400500e3
mov rcx, qword [rbx + 0xe968]
mov rdx, qword [rbx + 0x4b90]
mov rax, r8
and rax, rcx
add r8, r13
mov rcx, qword [rbx + 0xc0]
mov al, byte [rax + rdx]
mov byte [rdx + rcx], al
mov rax, qword [rbx + 0xc0]
mov rcx, qword [rbx + 0xe968]
add rax, r13
and rax, rcx
mov qword [rbx + 0xc0], rax
add r10d, 0xffffffff
jne 0x140051045
jmp 0x1400500e3
cmp r8d, 0x110
jge 0x1400500e3
lea eax, [r8 - 0x107]
movsxd rcx, eax
movzx r10d, byte [rcx + rsi + 0x81ed0]
movzx r11d, byte [rcx + rsi + 0x81ed8]
add r10d, r13d
test r11d, r11d
je 0x140051118
movsxd rdx, dword [rbx + 8]
mov r8, qword [rbx + 0x18]
lea eax, [rdx + 1]
movzx r9d, byte [rdx + r8]
movsxd rcx, eax
shl r9d, 8
movzx eax, byte [rcx + r8]
or r9d, eax
lea eax, [rdx + 2]
movsxd rcx, eax
shl r9d, 8
movzx eax, byte [rcx + r8]
mov ecx, r14d
sub ecx, dword [rbx + 0xc]
or r9d, eax
shr r9d, cl
mov ecx, 0x10
sub ecx, r11d
movzx edx, r9w
shr edx, cl
mov ecx, dword [rbx + 0xc]
add r10d, edx
add ecx, r11d
mov eax, ecx
shr eax, 3
add dword [rbx + 8], eax
and ecx, 7
mov dword [rbx + 0xc], ecx
mov eax, dword [rbx + 0xa8]
mov r9d, 2
mov dword [rbx + 0xac], eax
mov eax, dword [rbx + 0xa4]
mov dword [rbx + 0xa8], eax
mov eax, dword [rbx + 0xa0]
mov dword [rbx + 0xa4], eax
mov dword [rbx + 0xa0], r10d
mov rdx, qword [rbx + 0xc0]
mov eax, r10d
mov r8, rdx
sub r8, rax
mov dword [rbx + 0xb4], 2
mov rax, qword [rbx + 0xe960]
add rax, 0xffffffffffffefff
cmp r8, rax
jae 0x1400511a1
cmp rdx, rax
jae 0x1400511a1
mov rcx, qword [rbx + 0x4b90]
lea rax, [rdx + 2]
mov qword [rbx + 0xc0], rax
mov al, byte [r8 + rcx]
mov byte [rcx + rdx], al
mov al, byte [r8 + rcx + 1]
mov byte [rcx + rdx + 1], al
jmp 0x1400500e3
mov rcx, qword [rbx + 0xe968]
mov rdx, qword [rbx + 0x4b90]
mov rax, r8
and rax, rcx
add r8, r13
mov rcx, qword [rbx + 0xc0]
mov al, byte [rax + rdx]
mov byte [rdx + rcx], al
mov rax, qword [rbx + 0xc0]
mov rcx, qword [rbx + 0xe968]
add rax, r13
and rax, rcx
mov qword [rbx + 0xc0], rax
add r9d, 0xffffffff
jne 0x1400511a8
jmp 0x1400500e3
mov byte [rbx + 0x4db8], r12b
jmp 0x140051214
mov rcx, rsi
jmp 0x140051200
lea rcx, [rbx + 0x9a30]
call fcn.140049f14
mov dword [rbx + 0xe890], r12d
mov rcx, rbx
call fcn.14004ed98
mov rbx, qword [rsp + 0x58]
mov rbp, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x68]
add rsp, 0x20
pop r15
pop r14
pop r13
pop r12
pop rdi
ret
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rbp
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push r12
push r13
push r14
sub rsp, 0x40
cmp byte [rcx + 0x4da8], 0
mov r12d, 1
mov byte [rcx + 0x4db8], r12b
mov rbx, rcx
jne 0x1400512bb
call fcn.14004e9c8
mov rcx, rbx
call fcn.14004eb48
test al, al
je 0x140051aef
lea rdi, [rbx + 0xd8]
mov rcx, rbx
mov r8, rdi
lea rdx, [rbx + 8]
call fcn.14004c984
test al, al
je 0x140051aef
lea r9, [rbx + 0xec]
mov r8, rdi
lea rdx, [rbx + 8]
mov rcx, rbx
call fcn.14004d958
test al, al
je 0x140051aef
lea rsi, [rbx + 0xc0]
mov r13d, 8
lea rdi, [rbx + 8]
mov rax, qword [rbx + 0xe968]
and qword [rsi], rax
mov eax, dword [rbx + 0xd4]
cmp dword [rdi], eax
jl 0x140051355
lea r14, [rbx + 0xd8]
mov edx, dword [rbx + 0xe0]
dec edx
add edx, dword [r14]
cmp dword [rdi], edx
jg 0x140051303
jne 0x140051345
mov eax, dword [rbx + 0xdc]
cmp dword [rbx + 0xc], eax
jl 0x140051345
cmp byte [rbx + 0xe8], 0
jne 0x140051ae7
mov r8, r14
mov rdx, rdi
mov rcx, rbx
call fcn.14004c984
test al, al
je 0x140051aef
lea r9, [rbx + 0xec]
mov r8, r14
mov rdx, rdi
mov rcx, rbx
call fcn.14004d958
test al, al
je 0x140051aef
jmp 0x1400512e7
mov rcx, rbx
call fcn.14004eb48
test al, al
je 0x140051ae7
mov rcx, qword [rbx + 0x4b88]
mov rax, rcx
sub rax, qword [rsi]
and rax, qword [rbx + 0xe968]
cmp rax, 0x1004
jae 0x14005139f
cmp rcx, qword [rsi]
je 0x14005139f
mov rcx, rbx
call fcn.14004f1dc
mov rax, qword [rbx + 0x4da0]
cmp qword [rbx + 0x4db0], rax
jg 0x140051aef
cmp byte [rbx + 0x4da8], 0
jne 0x140051f75
movsxd r10, dword [rdi]
mov rdx, qword [rdi + 0x10]
mov r11d, dword [rdi + 4]
lea eax, [r10 + 1]
movzx r8d, byte [r10 + rdx]
shl r8d, 8
movsxd rcx, eax
movzx eax, byte [rcx + rdx]
or r8d, eax
lea eax, [r10 + 2]
shl r8d, 8
movsxd rcx, eax
movzx eax, byte [rcx + rdx]
mov ecx, r13d
sub ecx, r11d
or r8d, eax
shr r8d, cl
mov ecx, dword [rbx + 0x170]
and r8d, 0xfffe
cmp r8d, dword [rbx + rcx*4 + 0xf0]
jae 0x140051426
mov eax, 0x10
sub eax, ecx
mov cl, al
shr r8d, cl
movzx ecx, byte [r8 + rbx + 0x174]
add ecx, r11d
mov eax, ecx
shr eax, 3
add eax, r10d
and ecx, 7
mov dword [rdi], eax
mov dword [rdi + 4], ecx
movzx ebp, word [rbx + r8*2 + 0x574]
jmp 0x140051497
mov edx, 0xf
inc ecx
cmp ecx, edx
jae 0x140051450
mov r9d, ecx
add r9, 0x3c
lea r9, [rbx + r9*4]
cmp r8d, dword [r9]
jb 0x14005144e
add ecx, r12d
add r9, 4
cmp ecx, edx
jb 0x14005143c
jmp 0x140051450
mov edx, ecx
lea ecx, [r11 + rdx]
mov eax, ecx
and ecx, 7
shr eax, 3
add eax, r10d
mov dword [rdi + 4], ecx
mov dword [rdi], eax
mov ecx, 0x10
sub ecx, edx
lea eax, [rdx - 1]
sub r8d, dword [rbx + rax*4 + 0xf0]
mov eax, edx
shr r8d, cl
add r8d, dword [rbx + rax*4 + 0x130]
cmp r8d, dword [rbx + 0xec]
sbb eax, eax
and eax, r8d
movzx ebp, word [rbx + rax*2 + 0xd74]
cmp ebp, 0x100
jae 0x1400514dc
cmp byte [rbx + 0x4d98], 0
je 0x1400514c6
mov rdx, qword [rsi]
lea rcx, [rbx + 0x4b98]
lea rax, [rdx + 1]
mov qword [rsi], rax
call fcn.14004935c
mov byte [rax], bpl
jmp 0x1400512cc
mov rax, qword [rsi]
mov rcx, qword [rbx + 0x4b90]
mov byte [rcx + rax], bpl
add qword [rsi], r12
jmp 0x1400512cc
cmp ebp, 0x106
jb 0x140051ab6
lea r11d, [rbp - 0x106]
cmp r11d, r13d
jae 0x1400514fd
add r11d, 2
jmp 0x140051580
mov r14d, r11d
and r11d, 3
or r11d, 4
shr r14d, 2
sub r14d, r12d
mov ecx, r14d
shl r11d, cl
add r11d, 2
test r14d, r14d
je 0x140051580
movsxd r10, dword [rdi]
mov rdx, qword [rdi + 0x10]
mov r9d, dword [rdi + 4]
lea eax, [r10 + 1]
movzx r8d, byte [r10 + rdx]
movsxd rcx, eax
shl r8d, 8
movzx eax, byte [rcx + rdx]
or r8d, eax
lea eax, [r10 + 2]
movsxd rcx, eax
shl r8d, 8
movzx eax, byte [rcx + rdx]
mov ecx, r13d
sub ecx, r9d
or r8d, eax
shr r8d, cl
mov ecx, 0x10
sub ecx, r14d
movzx edx, r8w
shr edx, cl
lea ecx, [r14 + r9]
mov eax, ecx
add r11d, edx
shr eax, 3
add eax, r10d
and ecx, 7
mov dword [rdi], eax
mov dword [rdi + 4], ecx
movsxd r10, dword [rdi]
mov rdx, qword [rdi + 0x10]
mov ebp, dword [rdi + 4]
lea eax, [r10 + 1]
movzx r8d, byte [r10 + rdx]
shl r8d, 8
movsxd rcx, eax
movzx eax, byte [rcx + rdx]
or r8d, eax
lea eax, [r10 + 2]
shl r8d, 8
movsxd rcx, eax
movzx eax, byte [rcx + rdx]
mov ecx, r13d
sub ecx, ebp
or r8d, eax
shr r8d, cl
mov ecx, dword [rbx + 0x105c]
and r8d, 0xfffe
cmp r8d, dword [rbx + rcx*4 + 0xfdc]
jae 0x140051604
mov eax, 0x10
sub eax, ecx
mov cl, al
shr r8d, cl
movzx ecx, byte [rbx + r8 + 0x1060]
add ecx, ebp
mov eax, ecx
shr eax, 3
add eax, r10d
and ecx, 7
mov dword [rdi], eax
mov dword [rdi + 4], ecx
movzx r10d, word [rbx + r8*2 + 0x1460]
jmp 0x14005167f
mov r9d, 0xf
inc ecx
cmp ecx, r9d
jae 0x140051634
mov edx, ecx
add rdx, 0x3f7
lea rdx, [rbx + rdx*4]
cmp r8d, dword [rdx]
jb 0x140051631
add ecx, r12d
add rdx, 4
cmp ecx, r9d
jb 0x14005161e
jmp 0x140051634
mov r9d, ecx
lea ecx, [r9 + rbp]
mov eax, ecx
and ecx, 7
shr eax, 3
add eax, r10d
mov dword [rdi + 4], ecx
mov dword [rdi], eax
mov ecx, 0x10
sub ecx, r9d
lea eax, [r9 - 1]
sub r8d, dword [rbx + rax*4 + 0xfdc]
mov eax, r9d
shr r8d, cl
add r8d, dword [rbx + rax*4 + 0x101c]
cmp r8d, dword [rbx + 0xfd8]
sbb eax, eax
and eax, r8d
movzx r10d, word [rbx + rax*2 + 0x1c60]
cmp r10d, 4
jae 0x14005168d
inc r10d
jmp 0x1400518c7
mov r14d, r10d
and r10d, r12d
or r10d, 2
shr r14d, 1
sub r14d, r12d
mov ecx, r14d
shl r10d, cl
add r10d, r12d
test r14d, r14d
je 0x1400518c7
cmp r14d, 4
jb 0x140051848
jbe 0x140051745
movsxd rdx, dword [rdi]
mov r8, qword [rdi + 0x10]
lea eax, [rdx + 1]
movzx r9d, byte [rdx + r8]
shl r9d, 8
movsxd rcx, eax
movzx eax, byte [rcx + r8]
or r9d, eax
lea eax, [rdx + 2]
shl r9d, 8
movsxd rcx, eax
movzx eax, byte [rcx + r8]
or r9d, eax
lea eax, [rdx + 3]
movsxd rcx, eax
shl r9d, 8
movzx eax, byte [rcx + r8]
mov ecx, dword [rdi + 4]
or r9d, eax
shl r9d, cl
lea eax, [rdx + 4]
movsxd rcx, eax
movzx edx, byte [rcx + r8]
mov ecx, r13d
sub cl, byte [rdi + 4]
shr edx, cl
mov ecx, 0x24
sub ecx, r14d
or r9d, edx
shr r9d, cl
mov ecx, dword [rdi + 4]
add ecx, 0xfffffffc
shl r9d, 4
add ecx, r14d
add r10d, r9d
mov eax, ecx
shr eax, 3
add dword [rdi], eax
and ecx, 7
mov dword [rdi + 4], ecx
movsxd rbp, dword [rdi]
mov rdx, qword [rdi + 0x10]
mov r14d, dword [rdi + 4]
lea eax, [rbp + 1]
movzx r8d, byte [rbp + rdx]
shl r8d, 8
movsxd rcx, eax
movzx eax, byte [rcx + rdx]
or r8d, eax
lea eax, [rbp + 2]
shl r8d, 8
movsxd rcx, eax
movzx eax, byte [rcx + rdx]
mov ecx, r13d
sub ecx, r14d
or r8d, eax
shr r8d, cl
mov ecx, dword [rbx + 0x1f48]
and r8d, 0xfffe
cmp r8d, dword [rbx + rcx*4 + 0x1ec8]
jae 0x1400517ca
mov eax, 0x10
sub eax, ecx
mov cl, al
shr r8d, cl
movzx ecx, byte [r8 + rbx + 0x1f4c]
add ecx, r14d
mov eax, ecx
shr eax, 3
add eax, ebp
and ecx, 7
mov dword [rdi], eax
mov dword [rdi + 4], ecx
movzx eax, word [rbx + r8*2 + 0x234c]
jmp 0x140051843
mov r9d, 0xf
inc ecx
cmp ecx, r9d
jae 0x1400517fa
mov edx, ecx
add rdx, 0x7b2
lea rdx, [rbx + rdx*4]
cmp r8d, dword [rdx]
jb 0x1400517f7
add ecx, r12d
add rdx, 4
cmp ecx, r9d
jb 0x1400517e4
jmp 0x1400517fa
mov r9d, ecx
lea ecx, [r14 + r9]
mov eax, ecx
and ecx, 7
shr eax, 3
add eax, ebp
mov dword [rdi + 4], ecx
mov dword [rdi], eax
mov ecx, 0x10
sub ecx, r9d
lea eax, [r9 - 1]
sub r8d, dword [rbx + rax*4 + 0x1ec8]
mov eax, r9d
shr r8d, cl
add r8d, dword [rbx + rax*4 + 0x1f08]
cmp r8d, dword [rbx + 0x1ec4]
sbb eax, eax
and eax, r8d
movzx eax, word [rbx + rax*2 + 0x2b4c]
add r10d, eax
jmp 0x1400518c7
movsxd rdx, dword [rdi]
mov r8, qword [rdi + 0x10]
lea eax, [rdx + 1]
movzx r9d, byte [rdx + r8]
movsxd rcx, eax
shl r9d, 8
movzx eax, byte [rcx + r8]
or r9d, eax
lea eax, [rdx + 2]
movsxd rcx, eax
shl r9d, 8
movzx eax, byte [rcx + r8]
or r9d, eax
lea eax, [rdx + 3]
movsxd rcx, eax
shl r9d, 8
movzx eax, byte [rcx + r8]
mov ecx, dword [rdi + 4]
or r9d, eax
shl r9d, cl
lea eax, [rdx + 4]
movsxd rcx, eax
movzx edx, byte [rcx + r8]
mov ecx, r13d
sub cl, byte [rdi + 4]
shr edx, cl
mov ecx, 0x20
sub ecx, r14d
or r9d, edx
shr r9d, cl
mov ecx, dword [rdi + 4]
add r10d, r9d
add ecx, r14d
mov eax, ecx
shr eax, 3
add dword [rdi], eax
and ecx, 7
mov dword [rdi + 4], ecx
cmp r10d, 0x100
jbe 0x1400518eb
inc r11d
cmp r10d, 0x2000
jbe 0x1400518eb
add r11d, r12d
cmp r10d, 0x40000
jbe 0x1400518eb
add r11d, r12d
mov eax, dword [rbx + 0xa8]
mov dword [rbx + 0xac], eax
mov eax, dword [rbx + 0xa4]
mov dword [rbx + 0xa8], eax
mov eax, dword [rbx + 0xa0]
mov dword [rbx + 0xa4], eax
mov dword [rbx + 0xa0], r10d
cmp byte [rbx + 0x4d98], 0
mov dword [rbx + 0xb4], r11d
je 0x14005194c
mov r8d, r10d
mov edx, r11d
mov rax, qword [rbx + 0xe968]
lea rcx, [rbx + 0x4b98]
mov r9, rsi
mov qword [rsp + 0x20], rax
call fcn.14004a1c0
jmp 0x1400512cc
mov r9, qword [rsi]
mov eax, r10d
mov r8, r9
sub r8, rax
mov rax, qword [rbx + 0xe960]
add rax, 0xffffffffffffefff
cmp r8, rax
jae 0x140051a71
cmp r9, rax
jae 0x140051a71
mov rax, qword [rbx + 0x4b90]
lea rcx, [r8 + rax]
lea rdx, [r9 + rax]
mov eax, r11d
add rax, r9
mov qword [rsi], rax
cmp r10d, r11d
jae 0x1400519df
cmp r11d, r13d
jb 0x140051a00
mov r8d, r11d
shr r8, 3
mov al, byte [rcx]
add r11d, 0xfffffff8
mov byte [rdx], al
mov al, byte [rcx + 1]
mov byte [rdx + 1], al
mov al, byte [rcx + 2]
mov byte [rdx + 2], al
mov al, byte [rcx + 3]
mov byte [rdx + 3], al
mov al, byte [rcx + 4]
mov byte [rdx + 4], al
mov al, byte [rcx + 5]
mov byte [rdx + 5], al
mov al, byte [rcx + 6]
mov byte [rdx + 6], al
mov al, byte [rcx + 7]
add rcx, r13
mov byte [rdx + 7], al
add rdx, r13
sub r8, r12
jne 0x1400519a0
jmp 0x140051a00
cmp r11d, r13d
jb 0x140051a00
mov r8d, r11d
shr r8, 3
mov rax, qword [rcx]
add r11d, 0xfffffff8
mov qword [rdx], rax
add rcx, r13
add rdx, r13
sub r8, r12
jne 0x1400519eb
test r11d, r11d
je 0x1400512cc
mov al, byte [rcx]
mov byte [rdx], al
cmp r11d, r12d
jbe 0x1400512cc
mov al, byte [rcx + 1]
mov byte [rdx + 1], al
cmp r11d, 2
jbe 0x1400512cc
mov al, byte [rcx + 2]
mov byte [rdx + 2], al
cmp r11d, 3
jbe 0x1400512cc
mov al, byte [rcx + 3]
mov byte [rdx + 3], al
cmp r11d, 4
jbe 0x1400512cc
mov al, byte [rcx + 4]
mov byte [rdx + 4], al
cmp r11d, 5
jbe 0x1400512cc
cmp r11d, 6
mov al, byte [rcx + 5]
mov byte [rdx + 5], al
jbe 0x1400512cc
mov al, byte [rcx + 6]
mov byte [rdx + 6], al
jmp 0x1400512cc
test r11d, r11d
je 0x1400512cc
mov r9, qword [rbx + 0xe968]
mov rdx, qword [rbx + 0x4b90]
and r9, r8
mov rcx, qword [rsi]
add r8, r12
mov al, byte [r9 + rdx]
mov byte [rdx + rcx], al
mov rax, qword [rsi]
mov r9, qword [rbx + 0xe968]
add rax, r12
and rax, r9
mov qword [rsi], rax
add r11d, 0xffffffff
jne 0x140051a81
jmp 0x1400512cc
cmp ebp, 0x100
jne 0x140051b0e
lea r8, [rsp + 0x30]
mov rdx, rdi
mov rcx, rbx
call fcn.14004cb7c
test al, al
je 0x140051ae7
lea rdx, [rsp + 0x30]
mov rcx, rbx
call fcn.1400494f0
test al, al
jne 0x1400512cc
mov rcx, rbx
call fcn.14004f1dc
mov rbx, qword [rsp + 0x60]
mov rbp, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x70]
mov rdi, qword [rsp + 0x78]
add rsp, 0x40
pop r14
pop r13
pop r12
ret
cmp ebp, 0x101
jne 0x140051c9c
mov r10d, dword [rbx + 0xb4]
test r10d, r10d
je 0x1400512cc
cmp byte [rbx + 0x4d98], 0
je 0x140051b42
mov r8d, dword [rbx + 0xa0]
mov edx, r10d
jmp 0x14005192c
mov r9, qword [rsi]
mov r11d, dword [rbx + 0xa0]
mov r8, r9
mov rax, qword [rbx + 0xe960]
sub r8, r11
add rax, 0xffffffffffffefff
cmp r8, rax
jae 0x140051c57
cmp r9, rax
jae 0x140051c57
mov rax, qword [rbx + 0x4b90]
lea rcx, [r8 + rax]
lea rdx, [r9 + rax]
lea rax, [r9 + r10]
mov qword [rsi], rax
cmp r11d, r10d
jae 0x140051bd7
cmp r10d, r13d
jb 0x140051bf8
mov r8, r10
shr r8, 3
mov al, byte [rcx]
add r10d, 0xfffffff8
mov byte [rdx], al
mov al, byte [rcx + 1]
mov byte [rdx + 1], al
mov al, byte [rcx + 2]
mov byte [rdx + 2], al
mov al, byte [rcx + 3]
mov byte [rdx + 3], al
mov al, byte [rcx + 4]
mov byte [rdx + 4], al
mov al, byte [rcx + 5]
mov byte [rdx + 5], al
mov al, byte [rcx + 6]
mov byte [rdx + 6], al
mov al, byte [rcx + 7]
add rcx, r13
mov byte [rdx + 7], al
add rdx, r13
sub r8, r12
jne 0x140051b98
jmp 0x140051bf8
cmp r10d, r13d
jb 0x140051bf8
mov r8, r10
shr r8, 3
mov rax, qword [rcx]
add r10d, 0xfffffff8
mov qword [rdx], rax
add rcx, r13
add rdx, r13
sub r8, r12
jne 0x140051be3
test r10d, r10d
je 0x1400512cc
mov al, byte [rcx]
mov byte [rdx], al
cmp r10d, r12d
jbe 0x1400512cc
mov al, byte [rcx + 1]
mov byte [rdx + 1], al
cmp r10d, 2
jbe 0x1400512cc
mov al, byte [rcx + 2]
mov byte [rdx + 2], al
cmp r10d, 3
jbe 0x1400512cc
mov al, byte [rcx + 3]
mov byte [rdx + 3], al
cmp r10d, 4
jbe 0x1400512cc
mov al, byte [rcx + 4]
mov byte [rdx + 4], al
cmp r10d, 5
jbe 0x1400512cc
cmp r10d, 6
jmp 0x140051a5a
test r10d, r10d
je 0x1400512cc
mov r9, qword [rbx + 0xe968]
mov rdx, qword [rbx + 0x4b90]
and r9, r8
mov rcx, qword [rsi]
add r8, r12
mov al, byte [r9 + rdx]
mov byte [rdx + rcx], al
mov rax, qword [rsi]
mov r9, qword [rbx + 0xe968]
add rax, r12
and rax, r9
mov qword [rsi], rax
add r10d, 0xffffffff
jne 0x140051c67
jmp 0x1400512cc
add ebp, 0xfffffefe
lea rdx, [rbx + 0xa0]
lea rdx, [rdx + rbp*4]
mov r14d, dword [rdx]
je 0x140051cc4
sub ebp, r12d
mov ecx, dword [rbx + rbp*4 + 0xa0]
mov dword [rdx], ecx
lea rdx, [rdx - 4]
jne 0x140051cb2
mov dword [rbx + 0xa0], r14d
movsxd r10, dword [rdi]
mov rdx, qword [rdi + 0x10]
mov r11d, dword [rdi + 4]
lea eax, [r10 + 1]
movzx r8d, byte [r10 + rdx]
shl r8d, 8
movsxd rcx, eax
movzx eax, byte [rcx + rdx]
or r8d, eax
lea eax, [r10 + 2]
shl r8d, 8
movsxd rcx, eax
movzx eax, byte [rcx + rdx]
mov ecx, r13d
sub ecx, r11d
or r8d, eax
shr r8d, cl
mov ecx, dword [rbx + 0x2e34]
and r8d, 0xfffe
cmp r8d, dword [rbx + rcx*4 + 0x2db4]
jae 0x140051d52
mov eax, 0x10
sub eax, ecx
mov cl, al
shr r8d, cl
movzx ecx, byte [r8 + rbx + 0x2e38]
add ecx, r11d
mov eax, ecx
shr eax, 3
add eax, r10d
and ecx, 7
mov dword [rdi], eax
mov dword [rdi + 4], ecx
movzx r11d, word [rbx + r8*2 + 0x3238]
jmp 0x140051dcd
mov r9d, 0xf
inc ecx
cmp ecx, r9d
jae 0x140051d82
mov edx, ecx
add rdx, 0xb6d
lea rdx, [rbx + rdx*4]
cmp r8d, dword [rdx]
jb 0x140051d7f
add ecx, r12d
add rdx, 4
cmp ecx, r9d
jb 0x140051d6c
jmp 0x140051d82
mov r9d, ecx
lea ecx, [r11 + r9]
mov eax, ecx
and ecx, 7
shr eax, 3
add eax, r10d
mov dword [rdi + 4], ecx
mov dword [rdi], eax
mov ecx, 0x10
sub ecx, r9d
lea eax, [r9 - 1]
sub r8d, dword [rbx + rax*4 + 0x2db4]
mov eax, r9d
shr r8d, cl
add r8d, dword [rbx + rax*4 + 0x2df4]
cmp r8d, dword [rbx + 0x2db0]
sbb eax, eax
and eax, r8d
movzx r11d, word [rbx + rax*2 + 0x3a38]
cmp r11d, r13d
jae 0x140051dd8
add r11d, 2
jmp 0x140051e57
mov ebp, r11d
and r11d, 3
or r11d, 4
shr ebp, 2
sub ebp, r12d
mov ecx, ebp
shl r11d, cl
add r11d, 2
test ebp, ebp
je 0x140051e57
movsxd r10, dword [rdi]
mov rdx, qword [rdi + 0x10]
mov r9d, dword [rdi + 4]
lea eax, [r10 + 1]
movzx r8d, byte [r10 + rdx]
movsxd rcx, eax
shl r8d, 8
movzx eax, byte [rcx + rdx]
or r8d, eax
lea eax, [r10 + 2]
movsxd rcx, eax
shl r8d, 8
movzx eax, byte [rcx + rdx]
mov ecx, r13d
sub ecx, r9d
or r8d, eax
shr r8d, cl
mov ecx, 0x10
sub ecx, ebp
movzx edx, r8w
shr edx, cl
lea ecx, [r9 + rbp]
mov eax, ecx
add r11d, edx
shr eax, 3
add eax, r10d
and ecx, 7
mov dword [rdi], eax
mov dword [rdi + 4], ecx
cmp byte [rbx + 0x4d98], 0
mov dword [rbx + 0xb4], r11d
je 0x140051e6f
mov r8d, r14d
jmp 0x140051929
mov r9, qword [rsi]
mov rax, qword [rbx + 0xe960]
mov r8, r9
sub r8, r14
add rax, 0xffffffffffffefff
cmp r8, rax
jae 0x140051f30
cmp r9, rax
jae 0x140051f30
mov rax, qword [rbx + 0x4b90]
lea rcx, [r8 + rax]
lea rdx, [r9 + rax]
mov eax, r11d
add rax, r9
mov qword [rsi], rax
cmp r14d, r11d
jae 0x140051f06
cmp r11d, r13d
jb 0x140051a00
mov r8d, r11d
shr r8, 3
mov al, byte [rcx]
add r11d, 0xfffffff8
mov byte [rdx], al
mov al, byte [rcx + 1]
mov byte [rdx + 1], al
mov al, byte [rcx + 2]
mov byte [rdx + 2], al
mov al, byte [rcx + 3]
mov byte [rdx + 3], al
mov al, byte [rcx + 4]
mov byte [rdx + 4], al
mov al, byte [rcx + 5]
mov byte [rdx + 5], al
mov al, byte [rcx + 6]
mov byte [rdx + 6], al
mov al, byte [rcx + 7]
add rcx, r13
mov byte [rdx + 7], al
add rdx, r13
sub r8, r12
jne 0x140051ec4
jmp 0x140051a00
cmp r11d, r13d
jb 0x140051a00
mov r8d, r11d
shr r8, 3
mov rax, qword [rcx]
add r11d, 0xfffffff8
mov qword [rdx], rax
add rcx, r13
add rdx, r13
sub r8, r12
jne 0x140051f16
jmp 0x140051a00
test r11d, r11d
je 0x1400512cc
mov r9, qword [rbx + 0xe968]
mov rdx, qword [rbx + 0x4b90]
and r9, r8
mov rcx, qword [rsi]
add r8, r12
mov al, byte [r9 + rdx]
mov byte [rdx + rcx], al
mov rax, qword [rsi]
mov r9, qword [rbx + 0xe968]
add rax, r12
and rax, r9
mov qword [rsi], rax
add r11d, 0xffffffff
jne 0x140051f40
jmp 0x1400512cc
mov byte [rbx + 0x4db8], 0
jmp 0x140051aef
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, 0x240
mov rax, qword [0x140081ee0]
xor rax, rsp
mov qword [rsp + 0x230], rax
mov bl, dl
mov rdi, rcx
call fcn.14004bc4c
mov dl, bl
mov rcx, rdi
call fcn.14004e9c8
mov eax, dword [rdi + 0x30]
xor r8d, r8d
mov edx, r8d
add eax, eax
je 0x140051ffc
mov eax, edx
inc edx
imul rcx, rax, 0x4af8
add rcx, qword [rdi + 0x28]
mov byte [rcx + 0x4add], r8b
mov byte [rcx + 0x4adf], r8b
mov eax, dword [rdi + 0x30]
add eax, eax
cmp edx, eax
jb 0x140051fd6
mov rcx, qword [rdi + 0x28]
lea rbp, [rdi + 0xec]
movups xmm0, xmmword [rdi + 0xd8]
mov ebx, 0x95
mov rdx, rbp
movups xmmword [rcx + 0x24], xmm0
mov eax, dword [rdi + 0xe8]
mov dword [rcx + 0x34], eax
lea esi, [rbx - 0x15]
mov rcx, qword [rdi + 0x28]
mov eax, ebx
add rcx, 0x3c
movups xmm0, xmmword [rdx]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rdx + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rdx + 0x20]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rdx + 0x30]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rdx + 0x40]
movups xmmword [rcx + 0x40], xmm0
movups xmm1, xmmword [rdx + 0x50]
movups xmmword [rcx + 0x50], xmm1
movups xmm0, xmmword [rdx + 0x60]
movups xmmword [rcx + 0x60], xmm0
add rcx, rsi
movups xmm1, xmmword [rdx + 0x70]
add rdx, rsi
movups xmmword [rcx - 0x10], xmm1
sub rax, 1
jne 0x140052030
movups xmm0, xmmword [rdx]
mov bl, r8b
mov dword [rsp + 0x24], r8d
mov r14d, r8d
mov byte [rsp + 0x21], bl
movups xmmword [rcx], xmm0
mov rax, qword [rdx + 0x10]
mov r12d, r8d
mov qword [rcx + 0x10], rax
mov eax, dword [rdx + 0x18]
mov dword [rcx + 0x18], eax
mov byte [rsp + 0x20], r8b
mov rcx, qword [rdi]
mov eax, 0x400000
sub eax, r14d
movsxd rdx, r14d
add rdx, qword [rdi + 0x38]
movsxd r8, eax
and r8, 0xfffffffffffffff0
call fcn.140037740
xor r10d, r10d
mov dword [rsp + 0x28], eax
test eax, eax
js 0x140052478
add r14d, eax
je 0x140052478
test eax, eax
jle 0x1400520e8
cmp r14d, 0x400
jl 0x1400520a5
cmp r12d, r14d
jge 0x1400520a5
mov eax, dword [rdi + 0x30]
mov r15d, r10d
mov r13d, r10d
add eax, eax
je 0x1400521f5
mov eax, r15d
imul rsi, rax, 0x4af8
mov dword [rsp + 0x24], r15d
add rsi, qword [rdi + 0x28]
mov qword [rsi], rdi
cmp byte [rsi + 0x4adf], r10b
je 0x140052126
mov dword [rsi + 0x4ad8], r14d
jmp 0x140052164
lea rbx, [rsi + 8]
movsxd rdx, r12d
add rdx, qword [rdi + 0x38]
mov rcx, rbx
call fcn.140023dcc
xor r10d, r10d
mov eax, r14d
sub eax, r12d
mov qword [rbx], r10
mov dword [rsi + 0x4ad8], eax
je 0x1400521f5
mov bl, byte [rsp + 0x21]
mov byte [rsi + 0x4adc], r10b
mov byte [rsi + 0x20], r10b
mov byte [rsi + 0x38], r10b
cmp dword [rsp + 0x28], r10d
mov byte [rsi + 0x4adf], r10b
sete al
mov dword [rsi + 0x4af0], r15d
mov byte [rsi + 0x4ade], al
cmp byte [rsi + 0x20], r10b
jne 0x1400521a1
lea r8, [rsi + 0x24]
mov byte [rsi + 0x20], 1
lea rdx, [rsi + 8]
mov rcx, rdi
call fcn.14004c984
xor r10d, r10d
test al, al
je 0x1400521f0
test bl, bl
jne 0x1400521b3
cmp dword [rsi + 0x24], 0x20000
jg 0x1400521b3
inc r13d
jmp 0x1400521c0
mov bl, 1
mov byte [rsi + 0x4add], 1
mov byte [rsp + 0x21], bl
mov eax, dword [rsi + 0x30]
inc r15d
add eax, dword [rsi + 0x24]
add r12d, eax
mov eax, r14d
sub eax, r12d
js 0x1400521da
cmp byte [rsi + 0x34], r10b
jne 0x1400521f5
cmp eax, 0x400
jl 0x1400521f5
mov eax, dword [rdi + 0x30]
add eax, eax
cmp r15d, eax
jae 0x1400521f5
jmp 0x1400520fe
mov byte [rsp + 0x20], 1
xor edx, edx
mov eax, r13d
div dword [rdi + 0x30]
mov esi, eax
test edx, edx
je 0x140052205
inc esi
mov ebx, r10d
test r13d, r13d
je 0x14005226e
mov ebp, ebx
mov eax, ebx
lea r8, [rsp + 0x30]
imul rdx, rax, 0x4af8
mov ecx, ebp
mov eax, r13d
add rdx, qword [rdi + 0x28]
sub eax, ebx
shl rcx, 4
inc ebp
add r8, rcx
cmp esi, eax
cmovb eax, esi
mov dword [r8 + 8], eax
mov qword [r8], rdx
cmp r15d, 1
jne 0x14005224d
mov rcx, rdi
call fcn.140052560
jmp 0x14005225d
mov rcx, qword [rdi + 0x20]
lea rdx, [0x140052e58]
call fcn.140046dd8
add ebx, esi
cmp ebx, r13d
jb 0x14005220f
lea rbp, [rdi + 0xec]
xor r10d, r10d
test r15d, r15d
je 0x140052469
mov rcx, qword [rdi + 0x20]
call fcn.140047214
xor r10d, r10d
mov r13d, r10d
test r15d, r15d
je 0x1400522ff
mov esi, r10d
mov rax, qword [rdi + 0x28]
lea rbx, [rsi + rax]
cmp byte [rbx + 0x4add], r10b
jne 0x1400522be
mov rdx, rbx
mov rcx, rdi
call fcn.14004c370
xor r10d, r10d
test al, al
je 0x140052478
cmp byte [rbx + 0x4add], r10b
je 0x1400522d4
mov rdx, rbx
mov rcx, rdi
call fcn.140052e98
xor r10d, r10d
test al, al
je 0x140052478
cmp byte [rbx + 0x4adc], r10b
jne 0x140052478
cmp byte [rbx + 0x4adf], r10b
jne 0x140052337
cmp byte [rbx + 0x34], r10b
jne 0x14005232f
inc r13d
add rsi, 0x4af8
cmp r13d, r15d
jb 0x14005228e
mov al, byte [rsp + 0x20]
test al, al
jne 0x140052478
mov ebx, r14d
sub ebx, r12d
cmp ebx, 0x400
jl 0x140052448
mov bl, byte [rsp + 0x21]
cmp r12d, r14d
jge 0x1400520a5
jmp 0x1400520ed
mov al, 1
mov byte [rsp + 0x20], al
jmp 0x140052303
mov eax, dword [rbx + 0x18]
sub eax, dword [rdi + 0x38]
add eax, dword [rbx + 8]
cmp r14d, eax
jle 0x140052478
mov rcx, qword [rdi + 0x38]
sub r14d, eax
movsxd rdx, eax
movsxd r8, r14d
add rdx, rcx
call fcn.140059180
mov eax, dword [rbx + 0x2c]
xor r10d, r10d
sub eax, dword [rbx + 8]
add dword [rbx + 0x24], eax
mov qword [rbx + 0x2c], r10
mov rax, qword [rdi + 0x38]
mov qword [rbx + 0x18], rax
mov dword [rbx + 8], r10d
test r13d, r13d
je 0x140052466
mov rcx, qword [rdi + 0x28]
mov edx, 0x95
mov rax, rbx
mov r8, qword [rcx + 0x4ae0]
lea r11d, [rdx - 0x15]
mov r9d, dword [rcx + 0x4aec]
movups xmm0, xmmword [rax]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rcx + 0x40], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rcx + 0x50], xmm1
movups xmm0, xmmword [rax + 0x60]
movups xmmword [rcx + 0x60], xmm0
add rcx, r11
movups xmm1, xmmword [rax + 0x70]
add rax, r11
movups xmmword [rcx - 0x10], xmm1
sub rdx, 1
jne 0x1400523a1
movups xmm0, xmmword [rax]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rcx + 0x40], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rcx + 0x50], xmm1
movups xmm0, xmmword [rax + 0x60]
movups xmmword [rcx + 0x60], xmm0
mov rax, qword [rax + 0x70]
mov qword [rcx + 0x70], rax
mov rax, qword [rdi + 0x28]
mov qword [rax + 0x4ae0], r8
mov rax, qword [rdi + 0x28]
mov dword [rax + 0x4aec], r9d
mov byte [rbx + 0x4adf], r10b
jmp 0x140052466
test ebx, ebx
js 0x140052478
jle 0x140052463
mov rcx, qword [rdi + 0x38]
movsxd rdx, r12d
add rdx, rcx
movsxd r8, ebx
call fcn.140059180
xor r10d, r10d
mov r14d, ebx
mov r12d, r10d
mov bl, byte [rsp + 0x21]
cmp byte [rsp + 0x20], r10b
je 0x1400520a5
mov rax, qword [rdi + 0xe968]
mov rcx, rdi
and qword [rdi + 0xc0], rax
call fcn.14004f1dc
mov ecx, dword [rsp + 0x24]
mov ebx, 0x95
imul rdx, rcx, 0x4af8
mov rcx, qword [rdi + 0x28]
lea esi, [rbx - 0x15]
movups xmm0, xmmword [rdx + rcx + 0x24]
lea r8, [rdx + 0x3c]
add r8, rcx
movups xmmword [rdi + 0xd8], xmm0
mov eax, dword [rdx + rcx + 0x34]
mov dword [rdi + 0xe8], eax
movups xmm0, xmmword [r8]
movups xmmword [rbp], xmm0
movups xmm1, xmmword [r8 + 0x10]
movups xmmword [rbp + 0x10], xmm1
movups xmm0, xmmword [r8 + 0x20]
movups xmmword [rbp + 0x20], xmm0
movups xmm1, xmmword [r8 + 0x30]
movups xmmword [rbp + 0x30], xmm1
movups xmm0, xmmword [r8 + 0x40]
movups xmmword [rbp + 0x40], xmm0
movups xmm1, xmmword [r8 + 0x50]
movups xmmword [rbp + 0x50], xmm1
movups xmm0, xmmword [r8 + 0x60]
movups xmmword [rbp + 0x60], xmm0
add rbp, rsi
movups xmm1, xmmword [r8 + 0x70]
add r8, rsi
movups xmmword [rbp - 0x10], xmm1
sub rbx, 1
jne 0x1400524c2
movups xmm0, xmmword [r8]
movups xmmword [rbp], xmm0
mov rax, qword [r8 + 0x10]
mov qword [rbp + 0x10], rax
mov eax, dword [r8 + 0x18]
mov dword [rbp + 0x18], eax
mov rcx, qword [rsp + 0x230]
xor rcx, rsp
call fcn.140055f90
lea r11, [rsp + 0x240]
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