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

Disassembly:
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, 0xc0
mov rax, qword [0x140288b40]
xor rax, rsp
mov qword [rsp + 0xb8], rax
mov r15, qword [rcx]
mov rbx, rcx
mov ecx, dword [rcx + 8]
xor ebp, ebp
lea rax, [rbx + 0xfa24]
lea rdx, [rbx + 0xfa28]
lea rdi, [rbx + 0xfa2c]
lea rsi, [rbx + 0xfa30]
lea r8, [rbx + 0xfa34]
lea r9, [rbx + 0xfa38]
lea r10, [rbx + 0xfa3c]
lea r11, [rbx + 0xfa40]
lea r14, [rbx + 0xfa44]
cmp ecx, 0xa
jne 0x140163d42
mov dword [rax], ebp
mov dword [rdx], ebp
mov dword [rdi], ebp
mov dword [rsi], ebp
mov dword [r8], ebp
mov dword [r9], ebp
mov dword [r10], ebp
mov dword [r11], ebp
mov dword [r14], ebp
mov qword [rbx + 0xfa48], rbp
mov qword [rbx + 0xfa50], rbp
mov qword [rbx + 0xfa58], rbp
mov qword [rbx + 0xfa60], rbp
mov qword [rbx + 0xfa68], rbp
mov qword [rbx + 0xfa70], rbp
mov qword [rbx + 0xfa78], rbp
mov qword [rbx + 0xfa80], rbp
mov qword [rbx + 0xfa88], rbp
mov r12d, dword [rax]
mov eax, dword [rdx]
mov edx, dword [r14]
mov r9d, dword [r9]
mov r11d, dword [r11]
mov r14d, dword [rbx + 0xfa64]
mov r13d, dword [rbx + 0xfa68]
mov dword [rsp + 0x44], eax
mov eax, dword [rdi]
mov dword [rsp + 0xac], eax
mov eax, dword [rsi]
mov rsi, qword [rbx + 0xfa88]
mov dword [rsp + 0x54], eax
mov eax, dword [r8]
mov r8d, dword [rbx + 0xfa54]
mov dword [rsp + 0x58], eax
mov eax, dword [r10]
mov r10d, dword [rbx + 0xfa50]
mov dword [rsp + 0x90], eax
mov eax, dword [rbx + 0xfa48]
mov dword [rsp + 0x48], eax
mov eax, dword [rbx + 0xfa4c]
mov dword [rsp + 0x7c], eax
mov eax, dword [rbx + 0xfa58]
mov dword [rsp + 0x78], eax
mov eax, dword [rbx + 0xfa5c]
mov dword [rsp + 0x4c], eax
mov eax, dword [rbx + 0xfa60]
mov dword [rsp + 0xa8], eax
mov eax, dword [rbx + 0xfa6c]
mov dword [rsp + 0x80], eax
mov eax, dword [rbx + 0xfa70]
mov dword [rsp + 0x84], eax
mov eax, dword [rbx + 0xfa74]
mov dword [rsp + 0x68], eax
mov rax, qword [rbx + 0xfa80]
mov dword [rsp + 0x40], edx
mov rdx, qword [rbx + 0xfa78]
mov qword [rsp + 0x98], rax
mov dword [rsp + 0x5c], r9d
mov dword [rsp + 0x60], r11d
mov dword [rsp + 0x64], r10d
mov dword [rsp + 0x50], r8d
mov dword [rsp + 0xa4], r14d
mov dword [rsp + 0xa0], r13d
mov qword [rsp + 0x88], rdx
mov qword [rsp + 0x70], rsi
cmp ecx, 0x1e
jg 0x1401648b5
je 0x140164843
cmp ecx, 0x14
jg 0x14016438b
je 0x140164312
cmp ecx, 0xf
jg 0x14016416d
je 0x140164107
sub ecx, 0xa
je 0x140163e9d
sub ecx, 1
je 0x140163f04
sub ecx, 1
je 0x140163f61
sub ecx, 1
je 0x140163fc2
cmp ecx, 1
jne 0x140165a06
mov dword [rbx + 8], 0xe
jmp 0x1401640de
mov dword [rbx + 8], 0xa
jmp 0x140163ee3
mov rsi, qword [rbx]
cmp dword [rsi + 8], ebp
je 0x140165dc6
mov rax, qword [rsi]
mov edx, dword [rbx + 0x20]
shl edx, 8
movzx ecx, byte [rax]
lea eax, [rdi + 8]
mov dword [rbx + 0x24], eax
or edx, ecx
mov dword [rbx + 0x20], edx
inc qword [rsi]
mov rax, qword [rbx]
dec dword [rax + 8]
mov rax, qword [rbx]
inc dword [rax + 0xc]
mov rax, qword [rbx]
cmp dword [rax + 0xc], ebp
jne 0x140163ee3
inc dword [rax + 0x10]
mov edi, dword [rbx + 0x24]
cmp edi, 8
jl 0x140163ea6
mov eax, dword [rbx + 0x20]
lea ecx, [rdi - 8]
shr eax, cl
mov dword [rbx + 0x24], ecx
cmp al, 0x42
je 0x140163f04
mov ebp, 0xfffffffb
jmp 0x140165dc6
mov dword [rbx + 8], 0xb
jmp 0x140163f4a
mov rsi, qword [rbx]
cmp dword [rsi + 8], ebp
je 0x140165dc6
mov rax, qword [rsi]
mov edx, dword [rbx + 0x20]
shl edx, 8
movzx ecx, byte [rax]
lea eax, [rdi + 8]
mov dword [rbx + 0x24], eax
or edx, ecx
mov dword [rbx + 0x20], edx
inc qword [rsi]
mov rax, qword [rbx]
dec dword [rax + 8]
mov rax, qword [rbx]
inc dword [rax + 0xc]
mov rax, qword [rbx]
cmp dword [rax + 0xc], ebp
jne 0x140163f4a
inc dword [rax + 0x10]
mov edi, dword [rbx + 0x24]
cmp edi, 8
jl 0x140163f0d
mov eax, dword [rbx + 0x20]
lea ecx, [rdi - 8]
shr eax, cl
mov dword [rbx + 0x24], ecx
cmp al, 0x5a
jne 0x140163efa
mov dword [rbx + 8], 0xc
jmp 0x140163fa7
mov rsi, qword [rbx]
cmp dword [rsi + 8], ebp
je 0x140165dc6
mov rax, qword [rsi]
mov edx, dword [rbx + 0x20]
shl edx, 8
movzx ecx, byte [rax]
lea eax, [rdi + 8]
mov dword [rbx + 0x24], eax
or edx, ecx
mov dword [rbx + 0x20], edx
inc qword [rsi]
mov rax, qword [rbx]
dec dword [rax + 8]
mov rax, qword [rbx]
inc dword [rax + 0xc]
mov rax, qword [rbx]
cmp dword [rax + 0xc], ebp
jne 0x140163fa7
inc dword [rax + 0x10]
mov edi, dword [rbx + 0x24]
cmp edi, 8
jl 0x140163f6a
mov eax, dword [rbx + 0x20]
lea ecx, [rdi - 8]
shr eax, cl
mov dword [rbx + 0x24], ecx
cmp al, 0x68
jne 0x140163efa
mov dword [rbx + 8], 0xd
jmp 0x140164008
mov rsi, qword [rbx]
cmp dword [rsi + 8], ebp
je 0x140165dc6
mov rax, qword [rsi]
mov edx, dword [rbx + 0x20]
shl edx, 8
movzx ecx, byte [rax]
lea eax, [rdi + 8]
mov dword [rbx + 0x24], eax
or edx, ecx
mov dword [rbx + 0x20], edx
inc qword [rsi]
mov rax, qword [rbx]
dec dword [rax + 8]
mov rax, qword [rbx]
inc dword [rax + 0xc]
mov rax, qword [rbx]
cmp dword [rax + 0xc], ebp
jne 0x140164008
inc dword [rax + 0x10]
mov edi, dword [rbx + 0x24]
cmp edi, 8
jl 0x140163fcb
mov eax, dword [rbx + 0x20]
lea ecx, [rdi - 8]
shr eax, cl
movzx edx, al
mov dword [rbx + 0x24], ecx
mov dword [rbx + 0x28], edx
lea eax, [rdx - 0x31]
cmp eax, 8
ja 0x140163efa
sub edx, 0x30
mov r8d, 1
mov dword [rbx + 0x28], edx
mov rcx, qword [r15 + 0x48]
mov rax, qword [r15 + 0x38]
cmp byte [rbx + 0x2c], bpl
je 0x140164090
imul edx, edx, 0x30d40
call rax
imul edx, dword [rbx + 0x28], 0x186a0
mov r8d, 1
mov qword [rbx + 0xc58], rax
mov rcx, qword [r15 + 0x48]
sar edx, 1
call qword [r15 + 0x38]
mov qword [rbx + 0xc60], rax
cmp qword [rbx + 0xc58], rbp
je 0x140164086
test rax, rax
jne 0x140163e91
mov ebp, 0xfffffffd
jmp 0x140165dc6
imul edx, edx, 0x61a80
call rax
mov qword [rbx + 0xc50], rax
jmp 0x14016407d
mov rsi, qword [rbx]
cmp dword [rsi + 8], ebp
je 0x140165dc6
mov rax, qword [rsi]
mov edx, dword [rbx + 0x20]
shl edx, 8
movzx ecx, byte [rax]
lea eax, [rdi + 8]
mov dword [rbx + 0x24], eax
or edx, ecx
mov dword [rbx + 0x20], edx
inc qword [rsi]
mov rax, qword [rbx]
dec dword [rax + 8]
mov rax, qword [rbx]
inc dword [rax + 0xc]
mov rax, qword [rbx]
cmp dword [rax + 0xc], ebp
jne 0x1401640de
inc dword [rax + 0x10]
mov edi, dword [rbx + 0x24]
cmp edi, 8
jl 0x1401640a1
mov eax, dword [rbx + 0x20]
lea ecx, [rdi - 8]
shr eax, cl
mov dword [rbx + 0x24], ecx
cmp al, 0x17
je 0x140165a1f
cmp al, 0x31
je 0x140164107
mov ebp, 0xfffffffc
jmp 0x140165dc6
mov dword [rbx + 8], 0xf
jmp 0x14016414d
mov rsi, qword [rbx]
cmp dword [rsi + 8], ebp
je 0x140165dc6
mov rax, qword [rsi]
mov edx, dword [rbx + 0x20]
shl edx, 8
movzx ecx, byte [rax]
lea eax, [rdi + 8]
mov dword [rbx + 0x24], eax
or edx, ecx
mov dword [rbx + 0x20], edx
inc qword [rsi]
mov rax, qword [rbx]
dec dword [rax + 8]
mov rax, qword [rbx]
inc dword [rax + 0xc]
mov rax, qword [rbx]
cmp dword [rax + 0xc], ebp
jne 0x14016414d
inc dword [rax + 0x10]
mov edi, dword [rbx + 0x24]
cmp edi, 8
jl 0x140164110
mov eax, dword [rbx + 0x20]
lea ecx, [rdi - 8]
shr eax, cl
mov dword [rbx + 0x24], ecx
cmp al, 0x41
jne 0x1401640fd
mov dword [rbx + 8], 0x10
jmp 0x1401641cb
sub ecx, 0x10
je 0x140164164
sub ecx, 1
je 0x1401641e6
sub ecx, 1
je 0x140164247
cmp ecx, 1
je 0x1401642a8
jmp 0x140165a06
mov rsi, qword [rbx]
cmp dword [rsi + 8], ebp
je 0x140165dc6
mov rax, qword [rsi]
mov edx, dword [rbx + 0x20]
shl edx, 8
movzx ecx, byte [rax]
lea eax, [rdi + 8]
mov dword [rbx + 0x24], eax
or edx, ecx
mov dword [rbx + 0x20], edx
inc qword [rsi]
mov rax, qword [rbx]
dec dword [rax + 8]
mov rax, qword [rbx]
inc dword [rax + 0xc]
mov rax, qword [rbx]
cmp dword [rax + 0xc], ebp
jne 0x1401641cb
inc dword [rax + 0x10]
mov edi, dword [rbx + 0x24]
cmp edi, 8
jl 0x14016418e
mov eax, dword [rbx + 0x20]
lea ecx, [rdi - 8]
shr eax, cl
mov dword [rbx + 0x24], ecx
cmp al, 0x59
jne 0x1401640fd
mov dword [rbx + 8], 0x11
jmp 0x14016422c
mov rsi, qword [rbx]
cmp dword [rsi + 8], ebp
je 0x140165dc6
mov rax, qword [rsi]
mov edx, dword [rbx + 0x20]
shl edx, 8
movzx ecx, byte [rax]
lea eax, [rdi + 8]
mov dword [rbx + 0x24], eax
or edx, ecx
mov dword [rbx + 0x20], edx
inc qword [rsi]
mov rax, qword [rbx]
dec dword [rax + 8]
mov rax, qword [rbx]
inc dword [rax + 0xc]
mov rax, qword [rbx]
cmp dword [rax + 0xc], ebp
jne 0x14016422c
inc dword [rax + 0x10]
mov edi, dword [rbx + 0x24]
cmp edi, 8
jl 0x1401641ef
mov eax, dword [rbx + 0x20]
lea ecx, [rdi - 8]
shr eax, cl
mov dword [rbx + 0x24], ecx
cmp al, 0x26
jne 0x1401640fd
mov dword [rbx + 8], 0x12
jmp 0x14016428d
mov rsi, qword [rbx]
cmp dword [rsi + 8], ebp
je 0x140165dc6
mov rax, qword [rsi]
mov edx, dword [rbx + 0x20]
shl edx, 8
movzx ecx, byte [rax]
lea eax, [rdi + 8]
mov dword [rbx + 0x24], eax
or edx, ecx
mov dword [rbx + 0x20], edx
inc qword [rsi]
mov rax, qword [rbx]
dec dword [rax + 8]
mov rax, qword [rbx]
inc dword [rax + 0xc]
mov rax, qword [rbx]
cmp dword [rax + 0xc], ebp
jne 0x14016428d
inc dword [rax + 0x10]
mov edi, dword [rbx + 0x24]
cmp edi, 8
jl 0x140164250
mov eax, dword [rbx + 0x20]
lea ecx, [rdi - 8]
shr eax, cl
mov dword [rbx + 0x24], ecx
cmp al, 0x53
jne 0x1401640fd
mov dword [rbx + 8], 0x13
jmp 0x1401642ee
mov rsi, qword [rbx]
cmp dword [rsi + 8], ebp
je 0x140165dc6
mov rax, qword [rsi]
mov edx, dword [rbx + 0x20]
shl edx, 8
movzx ecx, byte [rax]
lea eax, [rdi + 8]
mov dword [rbx + 0x24], eax
or edx, ecx
mov dword [rbx + 0x20], edx
inc qword [rsi]
mov rax, qword [rbx]
dec dword [rax + 8]
mov rax, qword [rbx]
inc dword [rax + 0xc]
mov rax, qword [rbx]
cmp dword [rax + 0xc], ebp
jne 0x1401642ee
inc dword [rax + 0x10]
mov edi, dword [rbx + 0x24]
cmp edi, 8
jl 0x1401642b1
mov eax, dword [rbx + 0x20]
lea ecx, [rdi - 8]
shr eax, cl
mov dword [rbx + 0x24], ecx
cmp al, 0x59
jne 0x1401640fd
inc dword [rbx + 0x30]
mov dword [rbx + 0xc68], ebp
mov dword [rbx + 8], 0x14
jmp 0x140164358
mov rsi, qword [rbx]
cmp dword [rsi + 8], ebp
je 0x140165dc6
mov rax, qword [rsi]
mov edx, dword [rbx + 0x20]
shl edx, 8
movzx ecx, byte [rax]
lea eax, [rdi + 8]
mov dword [rbx + 0x24], eax
or edx, ecx
mov dword [rbx + 0x20], edx
inc qword [rsi]
mov rax, qword [rbx]
dec dword [rax + 8]
mov rax, qword [rbx]
inc dword [rax + 0xc]
mov rax, qword [rbx]
cmp dword [rax + 0xc], ebp
jne 0x140164358
inc dword [rax + 0x10]
mov edi, dword [rbx + 0x24]
cmp edi, 8
jl 0x14016431b
mov eax, dword [rbx + 0x20]
lea ecx, [rdi - 8]
shr eax, cl
mov dword [rbx + 0x24], ecx
movzx ecx, al
mov eax, dword [rbx + 0xc68]
shl eax, 8
or ecx, eax
mov dword [rbx + 0xc68], ecx
mov dword [rbx + 8], 0x15
jmp 0x14016441a
sub ecx, 0x15
je 0x14016437f
sub ecx, 1
je 0x140164441
sub ecx, 1
je 0x1401644ae
sub ecx, 1
je 0x14016451b
sub ecx, 1
je 0x14016457c
sub ecx, 1
je 0x1401645e3
sub ecx, 1
je 0x14016464a
sub ecx, 1
je 0x1401646d2
cmp ecx, 1
je 0x14016477a
jmp 0x140165a06
mov rsi, qword [rbx]
cmp dword [rsi + 8], ebp
je 0x140165dc6
mov rax, qword [rsi]
mov edx, dword [rbx + 0x20]
shl edx, 8
movzx ecx, byte [rax]
lea eax, [rdi + 8]
mov dword [rbx + 0x24], eax
or edx, ecx
mov dword [rbx + 0x20], edx
inc qword [rsi]
mov rax, qword [rbx]
dec dword [rax + 8]
mov rax, qword [rbx]
inc dword [rax + 0xc]
mov rax, qword [rbx]
cmp dword [rax + 0xc], ebp
jne 0x14016441a
inc dword [rax + 0x10]
mov edi, dword [rbx + 0x24]
cmp edi, 8
jl 0x1401643dd
mov eax, dword [rbx + 0x20]
lea ecx, [rdi - 8]
shr eax, cl
mov dword [rbx + 0x24], ecx
movzx ecx, al
mov eax, dword [rbx + 0xc68]
shl eax, 8
or ecx, eax
mov dword [rbx + 0xc68], ecx
mov dword [rbx + 8], 0x16
jmp 0x140164487
mov rsi, qword [rbx]
cmp dword [rsi + 8], ebp
je 0x140165dc6
mov rax, qword [rsi]
mov edx, dword [rbx + 0x20]
shl edx, 8
movzx ecx, byte [rax]
lea eax, [rdi + 8]
mov dword [rbx + 0x24], eax
or edx, ecx
mov dword [rbx + 0x20], edx
inc qword [rsi]
mov rax, qword [rbx]
dec dword [rax + 8]
mov rax, qword [rbx]
inc dword [rax + 0xc]
mov rax, qword [rbx]
cmp dword [rax + 0xc], ebp
jne 0x140164487
inc dword [rax + 0x10]
mov edi, dword [rbx + 0x24]
cmp edi, 8
jl 0x14016444a
mov eax, dword [rbx + 0x20]
lea ecx, [rdi - 8]
shr eax, cl
mov dword [rbx + 0x24], ecx
movzx ecx, al
mov eax, dword [rbx + 0xc68]
shl eax, 8
or ecx, eax
mov dword [rbx + 0xc68], ecx
mov dword [rbx + 8], 0x17
jmp 0x1401644f4
mov rsi, qword [rbx]
cmp dword [rsi + 8], ebp
je 0x140165dc6
mov rax, qword [rsi]
mov edx, dword [rbx + 0x20]
shl edx, 8
movzx ecx, byte [rax]
lea eax, [rdi + 8]
mov dword [rbx + 0x24], eax
or edx, ecx
mov dword [rbx + 0x20], edx
inc qword [rsi]
mov rax, qword [rbx]
dec dword [rax + 8]
mov rax, qword [rbx]
inc dword [rax + 0xc]
mov rax, qword [rbx]
cmp dword [rax + 0xc], ebp
jne 0x1401644f4
inc dword [rax + 0x10]
mov edi, dword [rbx + 0x24]
cmp edi, 8
jl 0x1401644b7
mov eax, dword [rbx + 0x20]
lea ecx, [rdi - 8]
shr eax, cl
mov dword [rbx + 0x24], ecx
movzx ecx, al
mov eax, dword [rbx + 0xc68]
shl eax, 8
or ecx, eax
mov dword [rbx + 0xc68], ecx
mov dword [rbx + 8], 0x18
jmp 0x140164561
mov rsi, qword [rbx]
cmp dword [rsi + 8], ebp
je 0x140165dc6
mov rax, qword [rsi]
mov edx, dword [rbx + 0x20]
shl edx, 8
movzx ecx, byte [rax]
lea eax, [rdi + 8]
mov dword [rbx + 0x24], eax
or edx, ecx
mov dword [rbx + 0x20], edx
inc qword [rsi]
mov rax, qword [rbx]
dec dword [rax + 8]
mov rax, qword [rbx]
inc dword [rax + 0xc]
mov rax, qword [rbx]
cmp dword [rax + 0xc], ebp
jne 0x140164561
inc dword [rax + 0x10]
mov edi, dword [rbx + 0x24]
cmp edi, 1
jl 0x140164524
mov eax, dword [rbx + 0x20]
lea ecx, [rdi - 1]
shr eax, cl
and al, 1
mov dword [rbx + 0x24], ecx
mov byte [rbx + 0x14], al
mov dword [rbx + 0x38], ebp
mov dword [rbx + 8], 0x19
jmp 0x1401645c2
mov rsi, qword [rbx]
cmp dword [rsi + 8], ebp
je 0x140165dc6
mov rax, qword [rsi]
mov edx, dword [rbx + 0x20]
shl edx, 8
movzx ecx, byte [rax]
lea eax, [rdi + 8]
mov dword [rbx + 0x24], eax
or edx, ecx
mov dword [rbx + 0x20], edx
inc qword [rsi]
mov rax, qword [rbx]
dec dword [rax + 8]
mov rax, qword [rbx]
inc dword [rax + 0xc]
mov rax, qword [rbx]
cmp dword [rax + 0xc], ebp
jne 0x1401645c2
inc dword [rax + 0x10]
mov edi, dword [rbx + 0x24]
cmp edi, 8
jl 0x140164585
mov eax, dword [rbx + 0x20]
lea ecx, [rdi - 8]
shr eax, cl
mov dword [rbx + 0x24], ecx
movzx ecx, al
mov eax, dword [rbx + 0x38]
shl eax, 8
or ecx, eax
mov dword [rbx + 0x38], ecx
mov dword [rbx + 8], 0x1a
jmp 0x140164629
mov rsi, qword [rbx]
cmp dword [rsi + 8], ebp
je 0x140165dc6
mov rax, qword [rsi]
mov edx, dword [rbx + 0x20]
shl edx, 8
movzx ecx, byte [rax]
lea eax, [rdi + 8]
mov dword [rbx + 0x24], eax
or edx, ecx
mov dword [rbx + 0x20], edx
inc qword [rsi]
mov rax, qword [rbx]
dec dword [rax + 8]
mov rax, qword [rbx]
inc dword [rax + 0xc]
mov rax, qword [rbx]
cmp dword [rax + 0xc], ebp
jne 0x140164629
inc dword [rax + 0x10]
mov edi, dword [rbx + 0x24]
cmp edi, 8
jl 0x1401645ec
mov eax, dword [rbx + 0x20]
lea ecx, [rdi - 8]
shr eax, cl
mov dword [rbx + 0x24], ecx
movzx ecx, al
mov eax, dword [rbx + 0x38]
shl eax, 8
or ecx, eax
mov dword [rbx + 0x38], ecx
mov dword [rbx + 8], 0x1b
jmp 0x140164690
mov rsi, qword [rbx]
cmp dword [rsi + 8], ebp
je 0x140165dc6
mov rax, qword [rsi]
mov edx, dword [rbx + 0x20]
shl edx, 8
movzx ecx, byte [rax]
lea eax, [rdi + 8]
mov dword [rbx + 0x24], eax
or edx, ecx
mov dword [rbx + 0x20], edx
inc qword [rsi]
mov rax, qword [rbx]
dec dword [rax + 8]
mov rax, qword [rbx]
inc dword [rax + 0xc]
mov rax, qword [rbx]
cmp dword [rax + 0xc], ebp
jne 0x140164690
inc dword [rax + 0x10]
mov edi, dword [rbx + 0x24]
cmp edi, 8
jl 0x140164653
mov eax, dword [rbx + 0x20]
lea ecx, [rdi - 8]
shr eax, cl
mov dword [rbx + 0x24], ecx
movzx ecx, al
mov eax, dword [rbx + 0x38]
shl eax, 8
or ecx, eax
mov dword [rbx + 0x38], ecx
jl 0x1401640fd
imul eax, dword [rbx + 0x28], 0x186a0
add eax, 0xa
cmp ecx, eax
jg 0x1401640fd
mov r12d, ebp
cmp r12d, 0x10
jge 0x14016473d
mov dword [rbx + 8], 0x1c
jmp 0x140164718
mov rsi, qword [rbx]
cmp dword [rsi + 8], ebp
je 0x140165dc6
mov rax, qword [rsi]
mov edx, dword [rbx + 0x20]
shl edx, 8
movzx ecx, byte [rax]
lea eax, [rdi + 8]
mov dword [rbx + 0x24], eax
or edx, ecx
mov dword [rbx + 0x20], edx
inc qword [rsi]
mov rax, qword [rbx]
dec dword [rax + 8]
mov rax, qword [rbx]
inc dword [rax + 0xc]
mov rax, qword [rbx]
cmp dword [rax + 0xc], ebp
jne 0x140164718
inc dword [rax + 0x10]
mov edi, dword [rbx + 0x24]
cmp edi, 1
jl 0x1401646db
mov edx, dword [rbx + 0x20]
lea ecx, [rdi - 1]
movsxd rax, r12d
shr edx, cl
and dl, 1
mov dword [rbx + 0x24], ecx
inc r12d
mov byte [rax + rbx + 0xd7c], dl
jmp 0x1401646cc
lea rcx, [rbx + 0xc7c]
xor edx, edx
mov r8d, 0x100
call sub.VCRUNTIME140.dll_memset
mov r12d, ebp
cmp r12d, 0x10
jge 0x1401647f9
movsxd rax, r12d
cmp byte [rax + rbx + 0xd7c], bpl
je 0x1401647f1
mov edx, ebp
mov dword [rsp + 0x44], edx
cmp edx, 0x10
jge 0x1401647f1
mov dword [rbx + 8], 0x1d
jmp 0x1401647c0
mov rsi, qword [rbx]
cmp dword [rsi + 8], ebp
je 0x140165dc6
mov rax, qword [rsi]
mov edx, dword [rbx + 0x20]
shl edx, 8
movzx ecx, byte [rax]
lea eax, [rdi + 8]
mov dword [rbx + 0x24], eax
or edx, ecx
mov dword [rbx + 0x20], edx
inc qword [rsi]
mov rax, qword [rbx]
dec dword [rax + 8]
mov rax, qword [rbx]
inc dword [rax + 0xc]
mov rax, qword [rbx]
cmp dword [rax + 0xc], ebp
jne 0x1401647c0
inc dword [rax + 0x10]
mov edi, dword [rbx + 0x24]
cmp edi, 1
jl 0x140164783
mov eax, dword [rbx + 0x20]
lea ecx, [rdi - 1]
mov edx, dword [rsp + 0x44]
shr eax, cl
mov dword [rbx + 0x24], ecx
test al, 1
je 0x1401647ed
mov eax, r12d
shl eax, 4
add eax, edx
cdqe
mov byte [rax + rbx + 0xc7c], 1
inc edx
jmp 0x140164771
inc r12d
jmp 0x140164754
mov dword [rbx + 0xc78], ebp
lea rdx, [rbx + 0xc7c]
mov ecx, ebp
cmp byte [rdx], bpl
je 0x140164821
movsxd rax, dword [rbx + 0xc78]
mov byte [rax + rbx + 0xd8c], cl
inc dword [rbx + 0xc78]
inc ecx
inc rdx
cmp ecx, 0x100
jl 0x140164808
mov eax, dword [rbx + 0xc78]
test eax, eax
je 0x1401640fd
add eax, 2
mov dword [rsp + 0x54], eax
mov dword [rbx + 8], 0x1e
jmp 0x140164889
mov rsi, qword [rbx]
cmp dword [rsi + 8], ebp
je 0x140165dc6
mov rax, qword [rsi]
mov edx, dword [rbx + 0x20]
shl edx, 8
movzx ecx, byte [rax]
lea eax, [rdi + 8]
mov dword [rbx + 0x24], eax
or edx, ecx
mov dword [rbx + 0x20], edx
inc qword [rsi]
mov rax, qword [rbx]
dec dword [rax + 8]
mov rax, qword [rbx]
inc dword [rax + 0xc]
mov rax, qword [rbx]
cmp dword [rax + 0xc], ebp
jne 0x140164889
inc dword [rax + 0x10]
mov edi, dword [rbx + 0x24]
cmp edi, 3
jl 0x14016484c
mov r8d, dword [rbx + 0x20]
lea ecx, [rdi - 3]
shr r8d, cl
and r8d, 7
mov dword [rbx + 0x24], ecx
mov dword [rsp + 0x58], r8d
lea eax, [r8 - 2]
cmp eax, 4
jbe 0x140164906
jmp 0x1401640fd
cmp ecx, 0x29
jg 0x1401659b9
je 0x140164f6d
cmp ecx, 0x24
jg 0x140164e93
je 0x140164e15
sub ecx, 0x1f
je 0x140164901
sub ecx, 1
je 0x14016498c
sub ecx, 1
je 0x140164ab4
sub ecx, 1
je 0x140164b37
cmp ecx, 1
je 0x140164b94
jmp 0x140165a06
mov r8d, dword [rsp + 0x58]
mov dword [rbx + 8], 0x1f
jmp 0x14016494c
mov rsi, qword [rbx]
cmp dword [rsi + 8], ebp
je 0x140165dc6
mov rax, qword [rsi]
mov edx, dword [rbx + 0x20]
shl edx, 8
movzx ecx, byte [rax]
lea eax, [rdi + 8]
mov dword [rbx + 0x24], eax
or edx, ecx
mov dword [rbx + 0x20], edx
inc qword [rsi]
mov rax, qword [rbx]
dec dword [rax + 8]
mov rax, qword [rbx]
inc dword [rax + 0xc]
mov rax, qword [rbx]
cmp dword [rax + 0xc], ebp
jne 0x14016494c
inc dword [rax + 0x10]
mov edi, dword [rbx + 0x24]
cmp edi, 0xf
jl 0x14016490f
mov r9d, dword [rbx + 0x20]
lea ecx, [rdi - 0xf]
shr r9d, cl
and r9d, 0x7fff
mov dword [rbx + 0x24], ecx
mov dword [rsp + 0x5c], r9d
cmp r9d, 1
jb 0x1401640fd
mov r12d, ebp
mov edx, 0x4652
cmp r12d, r9d
jge 0x140164a22
mov dword [rsp + 0x44], ebp
mov r8d, dword [rsp + 0x58]
mov dword [rbx + 8], 0x20
jmp 0x1401649d7
mov rsi, qword [rbx]
cmp dword [rsi + 8], ebp
je 0x140165dc6
mov rax, qword [rsi]
mov edx, dword [rbx + 0x20]
shl edx, 8
movzx ecx, byte [rax]
lea eax, [rdi + 8]
mov dword [rbx + 0x24], eax
or edx, ecx
mov dword [rbx + 0x20], edx
inc qword [rsi]
mov rax, qword [rbx]
dec dword [rax + 8]
mov rax, qword [rbx]
inc dword [rax + 0xc]
mov rax, qword [rbx]
cmp dword [rax + 0xc], ebp
jne 0x1401649d7
inc dword [rax + 0x10]
mov edi, dword [rbx + 0x24]
cmp edi, 1
jl 0x14016499a
mov eax, dword [rbx + 0x20]
lea ecx, [rdi - 1]
shr eax, cl
mov dword [rbx + 0x24], ecx
test al, 1
je 0x140164a02
mov edx, dword [rsp + 0x44]
inc edx
mov dword [rsp + 0x44], edx
cmp edx, r8d
jl 0x140164991
jmp 0x1401640fd
mov edx, 0x4652
cmp r12d, edx
jge 0x140164a1a
mov ecx, dword [rsp + 0x44]
movsxd rax, r12d
mov byte [rax + rbx + 0x651e], cl
inc r12d
jmp 0x14016497f
cmp r9d, edx
mov cl, bpl
cmovg r9d, edx
mov dword [rsp + 0x5c], r9d
test r8d, r8d
jle 0x140164a4a
movzx eax, cl
mov byte [rsp + rax + 0xac], cl
inc cl
movzx eax, cl
cmp eax, r8d
jl 0x140164a36
mov r12d, ebp
test r9d, r9d
jle 0x140164a9e
lea rdi, [rbx + 0x1ecc]
mov r8d, r9d
mov r12d, r9d
movzx edx, byte [rdi + 0x4652]
lea rcx, [rsp + 0xac]
add rcx, rdx
mov sil, byte [rcx]
test dl, dl
je 0x140164a85
mov al, byte [rcx - 1]
mov byte [rcx], al
dec rcx
add dl, 0xff
jne 0x140164a78
mov byte [rdi], sil
inc rdi
mov byte [rsp + 0xac], sil
sub r8, 1
jne 0x140164a5f
mov r8d, dword [rsp + 0x58]
mov eax, dword [rsp + 0x54]
mov esi, ebp
mov dword [rsp + 0xac], esi
cmp esi, r8d
jge 0x140164c3a
mov dword [rbx + 8], 0x21
jmp 0x140164afa
mov rsi, qword [rbx]
cmp dword [rsi + 8], ebp
je 0x140165dc6
mov rax, qword [rsi]
mov edx, dword [rbx + 0x20]
shl edx, 8
movzx ecx, byte [rax]
lea eax, [rdi + 8]
mov dword [rbx + 0x24], eax
or edx, ecx
mov dword [rbx + 0x20], edx
inc qword [rsi]
mov rax, qword [rbx]
dec dword [rax + 8]
mov rax, qword [rbx]
inc dword [rax + 0xc]
mov rax, qword [rbx]
cmp dword [rax + 0xc], ebp
jne 0x140164afa
inc dword [rax + 0x10]
mov edi, dword [rbx + 0x24]
cmp edi, 5
jl 0x140164abd
mov edx, dword [rbx + 0x20]
lea ecx, [rdi - 5]
mov esi, dword [rsp + 0xac]
mov r12d, ebp
shr edx, cl
and edx, 0x1f
mov dword [rbx + 0x24], ecx
mov dword [rsp + 0x4c], edx
mov eax, dword [rsp + 0x54]
cmp r12d, eax
jge 0x140164c2e
lea eax, [rdx - 1]
cmp eax, 0x13
ja 0x1401640fd
mov dword [rbx + 8], 0x22
jmp 0x140164b7d
mov rsi, qword [rbx]
cmp dword [rsi + 8], ebp
je 0x140165dc6
mov rax, qword [rsi]
mov edx, dword [rbx + 0x20]
shl edx, 8
movzx ecx, byte [rax]
lea eax, [rdi + 8]
mov dword [rbx + 0x24], eax
or edx, ecx
mov dword [rbx + 0x20], edx
inc qword [rsi]
mov rax, qword [rbx]
dec dword [rax + 8]
mov rax, qword [rbx]
inc dword [rax + 0xc]
mov rax, qword [rbx]
cmp dword [rax + 0xc], ebp
jne 0x140164b7d
inc dword [rax + 0x10]
mov edi, dword [rbx + 0x24]
cmp edi, 1
jl 0x140164b40
mov eax, dword [rbx + 0x20]
lea ecx, [rdi - 1]
shr eax, cl
mov dword [rbx + 0x24], ecx
test al, 1
je 0x140164c04
mov dword [rbx + 8], 0x23
jmp 0x140164bda
mov rsi, qword [rbx]
cmp dword [rsi + 8], ebp
je 0x140165dc6
mov rax, qword [rsi]
mov edx, dword [rbx + 0x20]
shl edx, 8
movzx ecx, byte [rax]
lea eax, [rdi + 8]
mov dword [rbx + 0x24], eax
or edx, ecx
mov dword [rbx + 0x20], edx
inc qword [rsi]
mov rax, qword [rbx]
dec dword [rax + 8]
mov rax, qword [rbx]
inc dword [rax + 0xc]
mov rax, qword [rbx]
cmp dword [rax + 0xc], ebp
jne 0x140164bda
inc dword [rax + 0x10]
mov edi, dword [rbx + 0x24]
cmp edi, 1
jl 0x140164b9d
mov eax, dword [rbx + 0x20]
lea ecx, [rdi - 1]
mov edx, dword [rsp + 0x4c]
shr eax, cl
mov dword [rbx + 0x24], ecx
test al, 1
jne 0x140164bf9
inc edx
jmp 0x140164bfb
dec edx
mov dword [rsp + 0x4c], edx
jmp 0x140164b2b
mov ecx, dword [rsp + 0x4c]
movsxd rsi, dword [rsp + 0xac]
movsxd rdx, r12d
imul rax, rsi, 0x102
add rax, rbx
inc r12d
mov byte [rdx + rax + 0xab70], cl
mov edx, ecx
jmp 0x140164b1e
mov r8d, dword [rsp + 0x58]
inc esi
jmp 0x140164aa4
mov dword [rsp + 0xac], ebp
movsxd r15, r8d
test r8d, r8d
jle 0x140164d13
lea r12, [rbx + 0xfa0c]
mov r13d, ebp
lea r14, [rbx + 0xab70]
jmp 0x140164c64
mov eax, dword [rsp + 0x54]
mov edi, 0x20
mov esi, ebp
test eax, eax
jle 0x140164c91
mov rdx, r14
mov r8d, eax
mov ecx, edi
movzx edi, byte [rdx]
cmp edi, esi
mov eax, edi
cmovle eax, esi
cmp edi, ecx
mov esi, eax
cmovge edi, ecx
inc rdx
sub r8, 1
jne 0x140164c75
movsxd rax, r13d
lea r8, [rbx + 0xe1dc]
imul rcx, rax, 0x408
imul r9, rax, 0x102
mov eax, dword [rsp + 0x54]
lea rdx, [rbx + 0xc9ac]
add r8, rcx
mov dword [rsp + 0x30], eax
add rdx, rcx
mov dword [rsp + 0x28], esi
add rcx, 0xb17c
mov dword [rsp + 0x20], edi
add rcx, rbx
add r9, 0xab70
add r9, rbx
call fcn.140165f00
mov dword [r12], edi
inc r13d
add r12, 4
add r14, 0x102
sub r15, 1
jne 0x140164c60
mov r14d, dword [rsp + 0xa4]
mov dword [rsp + 0xac], r13d
mov r13d, dword [rsp + 0xa0]
mov eax, dword [rbx + 0xc78]
lea rcx, [rbx + 0x44]
inc eax
xor edx, edx
mov dword [rsp + 0x90], eax
mov r8d, 0x400
imul eax, dword [rbx + 0x28], 0x186a0
mov r15d, ebp
mov dword [rsp + 0x7c], eax
call sub.VCRUNTIME140.dll_memset
mov ecx, 0xf
lea r10, [rbx + 0x1e8b]
mov r8d, 0x1000
lea r9, [rbx + 0x1ec8]
mov r12d, 0x100
mov dil, cl
sub r8d, 0x10
shl dil, 4
mov rsi, r10
sub r10, 0x10
mov edx, 0xf
lea eax, [rdi + rdx]
mov byte [rsi], al
dec rsi
sub edx, 1
jns 0x140164d77
mov dword [r9], r8d
sub r9, 4
sub ecx, 1
jns 0x140164d60
mov r9d, dword [rsp + 0x5c]
mov r10d, ebp
mov dword [rsp + 0x64], ebp
mov r11d, ebp
mov dword [rsp + 0x60], ebp
test r9d, r9d
jg 0x140164db2
mov ebp, 0xfffffffc
jmp 0x140165dcb
movzx eax, byte [rbx + 0x1ecc]
mov r15d, 0x31
imul rcx, rax, 0x408
mov edx, dword [rbx + rax*4 + 0xfa0c]
mov r14d, edx
mov dword [rsp + 0x84], eax
lea rax, [rbx + 0xb17c]
add rax, rcx
mov dword [rsp + 0x68], edx
mov qword [rsp + 0x88], rax
lea rax, [rbx + 0xe1dc]
add rax, rcx
mov dword [rsp + 0x40], r15d
mov qword [rsp + 0x70], rax
lea rax, [rbx + 0xc9ac]
add rax, rcx
mov qword [rsp + 0x98], rax
jmp 0x140164e1a
mov r15d, dword [rsp + 0x40]
mov dword [rbx + 8], 0x24
jmp 0x140164e60
mov rsi, qword [rbx]
cmp dword [rsi + 8], ebp
je 0x140165dcb
mov rax, qword [rsi]
mov edx, dword [rbx + 0x20]
shl edx, 8
movzx ecx, byte [rax]
lea eax, [rdi + 8]
mov dword [rbx + 0x24], eax
or edx, ecx
mov dword [rbx + 0x20], edx
inc qword [rsi]
mov rax, qword [rbx]
dec dword [rax + 8]
mov rax, qword [rbx]
inc dword [rax + 0xc]
mov rax, qword [rbx]
cmp dword [rax + 0xc], ebp
jne 0x140164e60
inc dword [rax + 0x10]
mov edi, dword [rbx + 0x24]
cmp edi, r14d
jl 0x140164e23
mov r13d, dword [rbx + 0x20]
sub edi, r14d
mov r8, qword [rsp + 0x88]
mov ecx, edi
shr r13d, cl
mov eax, 1
mov ecx, r14d
mov dword [rbx + 0x24], edi
shl eax, cl
dec eax
and r13d, eax
jmp 0x140164f29
sub ecx, 0x25
je 0x140164eb8
sub ecx, 1
je 0x1401650fa
sub ecx, 1
je 0x140165189
cmp ecx, 1
je 0x140165546
jmp 0x140165a06
mov r15d, dword [rsp + 0x40]
mov r8, rdx
mov dword [rbx + 8], 0x25
jmp 0x140164f06
mov rsi, qword [rbx]
cmp dword [rsi + 8], ebp
je 0x140165dcb
mov rax, qword [rsi]
mov edx, dword [rbx + 0x20]
shl edx, 8
movzx ecx, byte [rax]
lea eax, [rdi + 8]
mov dword [rbx + 0x24], eax
or edx, ecx
mov dword [rbx + 0x20], edx
inc qword [rsi]
mov rax, qword [rbx]
dec dword [rax + 8]
mov rax, qword [rbx]
inc dword [rax + 0xc]
mov rax, qword [rbx]
cmp dword [rax + 0xc], ebp
jne 0x140164f06
inc dword [rax + 0x10]
mov edi, dword [rbx + 0x24]
cmp edi, 1
jl 0x140164ec9
mov edx, dword [rbx + 0x20]
lea ecx, [rdi - 1]
shr edx, cl
add r13d, r13d
and edx, 1
mov dword [rbx + 0x24], ecx
mov dword [rsp + 0x80], edx
or r13d, edx
cmp r14d, 0x14
jg 0x140164da8
movsxd rcx, r14d
cmp r13d, dword [r8 + rcx*4]
jle 0x140164f44
inc r14d
jmp 0x140164ec0
mov rdx, qword [rsp + 0x98]
mov eax, r13d
sub eax, dword [rdx + rcx*4]
cmp eax, 0x101
ja 0x140164da8
mov r15, qword [rsp + 0x70]
cdqe
mov eax, dword [r15 + rax*4]
jmp 0x14016501e
mov r8, rdx
mov edi, dword [rbx + 0x24]
mov dword [rbx + 8], 0x29
cmp edi, 1
jge 0x140164fc9
mov rsi, qword [rbx]
cmp dword [rsi + 8], ebp
je 0x140165dc6
mov rax, qword [rsi]
mov edx, dword [rbx + 0x20]
shl edx, 8
movzx ecx, byte [rax]
lea eax, [rdi + 8]
mov dword [rbx + 0x24], eax
or edx, ecx
mov dword [rbx + 0x20], edx
inc qword [rsi]
mov rax, qword [rbx]
dec dword [rax + 8]
mov rax, qword [rbx]
inc dword [rax + 0xc]
mov rax, qword [rbx]
cmp dword [rax + 0xc], ebp
jne 0x140164fbc
inc dword [rax + 0x10]
mov edi, dword [rbx + 0x24]
cmp edi, 1
jl 0x140164f7f
mov rsi, qword [rsp + 0x70]
mov edx, dword [rbx + 0x20]
lea ecx, [rdi - 1]
shr edx, cl
add r13d, r13d
and edx, 1
mov dword [rbx + 0x24], ecx
mov dword [rsp + 0x80], edx
or r13d, edx
cmp r14d, 0x14
jg 0x1401640fd
movsxd rcx, r14d
cmp r13d, dword [r8 + rcx*4]
jg 0x1401655c4
mov rdx, qword [rsp + 0x98]
mov eax, r13d
sub eax, dword [rdx + rcx*4]
cmp eax, 0x101
ja 0x1401640fd
mov r15, qword [rsp + 0x70]
cdqe
mov eax, dword [rsi + rax*4]
mov dword [rsp + 0x48], eax
cmp eax, dword [rsp + 0x90]
je 0x1401655d9
cmp eax, 1
ja 0x1401652d8
or r8d, 0xffffffff
mov dword [rsp + 0x50], r8d
lea esi, [r8 + 2]
mov dword [rsp + 0x78], esi
jmp 0x14016504f
mov esi, dword [rsp + 0x78]
cmp esi, 0x200000
jge 0x1401640fd
test eax, eax
jne 0x140165064
add r8d, esi
jmp 0x14016506d
cmp eax, 1
jne 0x140165072
lea r8d, [r8 + rsi*2]
mov dword [rsp + 0x50], r8d
mov edx, dword [rsp + 0x40]
add esi, esi
mov dword [rsp + 0x78], esi
test edx, edx
jne 0x1401650ed
inc r11d
mov dword [rsp + 0x60], r11d
cmp r11d, r9d
jge 0x1401655cc
movsxd rax, r11d
lea r15, [rbx + 0xe1dc]
mov edx, 0x32
movzx eax, byte [rax + rbx + 0x1ecc]
mov dword [rsp + 0x84], eax
mov ecx, dword [rbx + rax*4 + 0xfa0c]
mov dword [rsp + 0x68], ecx
imul rcx, rax, 0x408
lea rax, [rbx + 0xb17c]
add rax, rcx
add r15, rcx
mov qword [rsp + 0x88], rax
lea rax, [rbx + 0xc9ac]
add rax, rcx
mov qword [rsp + 0x70], r15
mov qword [rsp + 0x98], rax
mov r14d, dword [rsp + 0x68]
dec edx
mov dword [rsp + 0x40], edx
jmp 0x1401650fd
mov r15, rsi
mov dword [rbx + 8], 0x26
jmp 0x140165143
mov rsi, qword [rbx]
cmp dword [rsi + 8], ebp
je 0x140165dc6
mov rax, qword [rsi]
mov edx, dword [rbx + 0x20]
shl edx, 8
movzx ecx, byte [rax]
lea eax, [rdi + 8]
mov dword [rbx + 0x24], eax
or edx, ecx
mov dword [rbx + 0x20], edx
inc qword [rsi]
mov rax, qword [rbx]
dec dword [rax + 8]
mov rax, qword [rbx]
inc dword [rax + 0xc]
mov rax, qword [rbx]
cmp dword [rax + 0xc], ebp
jne 0x140165143
inc dword [rax + 0x10]
mov edi, dword [rbx + 0x24]
cmp edi, r14d
jl 0x140165106
mov r13d, dword [rbx + 0x20]
sub edi, r14d
mov ecx, edi
mov dword [rbx + 0x24], edi
shr r13d, cl
mov eax, 1
mov ecx, r14d
shl eax, cl
dec eax
and r13d, eax
cmp r14d, 0x14
jg 0x1401640fd
mov rax, qword [rsp + 0x88]
movsxd rcx, r14d
cmp r13d, dword [rax + rcx*4]
jle 0x1401651fa
inc r14d
jmp 0x14016518c
mov r15, rsi
mov dword [rbx + 8], 0x27
jmp 0x1401651d2
mov rsi, qword [rbx]
cmp dword [rsi + 8], ebp
je 0x140165dc6
mov rax, qword [rsi]
mov edx, dword [rbx + 0x20]
shl edx, 8
movzx ecx, byte [rax]
lea eax, [rdi + 8]
mov dword [rbx + 0x24], eax
or edx, ecx
mov dword [rbx + 0x20], edx
inc qword [rsi]
mov rax, qword [rbx]
dec dword [rax + 8]
mov rax, qword [rbx]
inc dword [rax + 0xc]
mov rax, qword [rbx]
cmp dword [rax + 0xc], ebp
jne 0x1401651d2
inc dword [rax + 0x10]
mov edi, dword [rbx + 0x24]
cmp edi, 1
jl 0x140165195
mov edx, dword [rbx + 0x20]
lea ecx, [rdi - 1]
shr edx, cl
add r13d, r13d
and edx, 1
mov dword [rbx + 0x24], ecx
mov dword [rsp + 0x80], edx
or r13d, edx
jmp 0x140165169
mov rdx, qword [rsp + 0x98]
mov eax, r13d
sub eax, dword [rdx + rcx*4]
cmp eax, 0x101
ja 0x1401640fd
cdqe
mov eax, dword [r15 + rax*4]
mov dword [rsp + 0x48], eax
test eax, eax
je 0x14016504b
cmp eax, 1
je 0x14016504b
movsxd rax, dword [rbx + 0x1e8c]
inc r8d
movsxd rsi, dword [rsp + 0x7c]
mov dword [rsp + 0x50], r8d
movsxd rdx, r10d
movzx ecx, byte [rax + rbx + 0xe8c]
mov eax, dword [rsp + 0x48]
movzx edi, byte [rcx + rbx + 0xd8c]
add dword [rbx + rdi*4 + 0x44], r8d
cmp byte [rbx + 0x2c], bpl
je 0x14016529b
test r8d, r8d
jle 0x140165022
cmp rdx, rsi
jge 0x1401640fd
mov rax, qword [rbx + 0xc58]
inc r10d
dec r8d
mov dword [rsp + 0x64], r10d
mov dword [rsp + 0x50], r8d
mov word [rax + rdx*2], di
inc rdx
test r8d, r8d
jg 0x14016526d
jmp 0x1401652cf
test r8d, r8d
jle 0x140165022
cmp rdx, rsi
jge 0x1401640fd
mov rax, qword [rbx + 0xc50]
inc r10d
dec r8d
mov dword [rsp + 0x64], r10d
mov dword [rsp + 0x50], r8d
mov dword [rax + rdx*4], edi
inc rdx
test r8d, r8d
jg 0x1401652a4
mov eax, dword [rsp + 0x48]
jmp 0x140165022
cmp r10d, dword [rsp + 0x7c]
jge 0x1401640fd
lea edx, [rax - 1]
cmp edx, 0x10
jae 0x14016538a
movsxd rsi, dword [rbx + 0x1e8c]
lea edi, [rsi + rdx]
mov r11b, byte [rdi + rbx + 0xe8c]
cmp edx, 3
jbe 0x14016535b
lea r8d, [rdx - 4]
shr r8d, 2
inc r8d
movsxd rcx, edi
mov al, byte [rcx + rbx + 0xe8b]
mov byte [rcx + rbx + 0xe8c], al
mov al, byte [rcx + rbx + 0xe8a]
mov byte [rcx + rbx + 0xe8b], al
mov al, byte [rcx + rbx + 0xe89]
mov byte [rcx + rbx + 0xe8a], al
mov al, byte [rcx + rbx + 0xe88]
mov byte [rcx + rbx + 0xe89], al
mov eax, 0xfffffffc
add edx, eax
add edi, eax
sub r8, 1
jne 0x140165311
test edx, edx
je 0x14016537d
lea ecx, [rsi + rdx]
mov edi, edx
lea edx, [rcx - 1]
mov al, byte [rdx + rbx + 0xe8c]
mov byte [rcx + rbx + 0xe8c], al
mov ecx, edx
sub rdi, 1
jne 0x140165364
mov byte [rsi + rbx + 0xe8c], r11b
jmp 0x140165477
mov eax, edx
and edx, 0xf
shr eax, 4
mov edi, eax
mov eax, dword [rbx + rax*4 + 0x1e8c]
add edx, eax
movsxd rcx, edx
mov r11b, byte [rcx + rbx + 0xe8c]
jmp 0x1401653c4
mov al, byte [rcx + rbx + 0xe8b]
dec edx
mov byte [rcx + rbx + 0xe8c], al
dec rcx
mov eax, dword [rbx + rdi*4 + 0x1e8c]
cmp edx, eax
jg 0x1401653aa
lea ecx, [rax + 1]
mov dword [rbx + rdi*4 + 0x1e8c], ecx
test edi, edi
je 0x140165404
lea rdx, [rbx + 0x1e8c]
lea rdx, [rdx + rdi*4]
movsxd rcx, dword [rdx]
dec edi
lea eax, [rcx - 1]
mov dword [rdx], eax
lea rdx, [rdx - 4]
movsxd rax, dword [rdx]
mov al, byte [rax + rbx + 0xe9b]
mov byte [rcx + rbx + 0xe8b], al
test edi, edi
jg 0x1401653e1
movsxd rcx, dword [rbx + 0x1e8c]
lea eax, [rcx - 1]
mov dword [rbx + 0x1e8c], eax
mov byte [rcx + rbx + 0xe8b], r11b
cmp dword [rbx + 0x1e8c], ebp
jne 0x140165477
mov r9d, 0xf
lea r10, [rbx + 0x1e8b]
mov r8d, 0x1000
lea rdx, [rbx + 0x1ec8]
sub r8d, 0x10
mov rsi, r10
sub r10, 0x10
mov edi, 0xf
mov eax, dword [rdx]
add eax, edi
cdqe
mov cl, byte [rax + rbx + 0xe8c]
mov byte [rsi], cl
dec rsi
sub edi, 1
jns 0x14016544e
mov dword [rdx], r8d
sub rdx, 4
sub r9, 1
jns 0x14016543e
mov r10d, dword [rsp + 0x64]
movzx ecx, r11b
movsxd rdx, r10d
movzx eax, byte [rcx + rbx + 0xd8c]
inc dword [rbx + rax*4 + 0x44]
movzx eax, byte [rcx + rbx + 0xd8c]
cmp byte [rbx + 0x2c], bpl
je 0x1401654a8
movzx ecx, ax
mov rax, qword [rbx + 0xc58]
mov word [rax + rdx*2], cx
jmp 0x1401654b4
mov ecx, eax
mov rax, qword [rbx + 0xc50]
mov dword [rax + rdx*4], ecx
mov edx, dword [rsp + 0x40]
inc r10d
mov r11d, dword [rsp + 0x60]
mov r9d, dword [rsp + 0x5c]
mov dword [rsp + 0x64], r10d
test edx, edx
jne 0x14016553b
inc r11d
mov dword [rsp + 0x60], r11d
cmp r11d, r9d
jge 0x1401655cc
movsxd rax, r11d
mov edx, 0x32
movzx eax, byte [rax + rbx + 0x1ecc]
mov dword [rsp + 0x84], eax
mov ecx, dword [rbx + rax*4 + 0xfa0c]
mov dword [rsp + 0x68], ecx
imul rcx, rax, 0x408
lea rax, [rbx + 0xb17c]
add rax, rcx
mov qword [rsp + 0x88], rax
lea rax, [rbx + 0xe1dc]
add rax, rcx
mov qword [rsp + 0x70], rax
lea rax, [rbx + 0xc9ac]
add rax, rcx
mov qword [rsp + 0x98], rax
mov r14d, dword [rsp + 0x68]
dec edx
mov dword [rsp + 0x40], edx
mov dword [rbx + 8], 0x28
jmp 0x14016558c
mov rsi, qword [rbx]
cmp dword [rsi + 8], ebp
je 0x140165dc6
mov rax, qword [rsi]
mov edx, dword [rbx + 0x20]
shl edx, 8
movzx ecx, byte [rax]
lea eax, [rdi + 8]
mov dword [rbx + 0x24], eax
or edx, ecx
mov dword [rbx + 0x20], edx
inc qword [rsi]
mov rax, qword [rbx]
dec dword [rax + 8]
mov rax, qword [rbx]
inc dword [rax + 0xc]
mov rax, qword [rbx]
cmp dword [rax + 0xc], ebp
jne 0x14016558c
inc dword [rax + 0x10]
mov edi, dword [rbx + 0x24]
cmp edi, r14d
jl 0x14016554f
mov r13d, dword [rbx + 0x20]
sub edi, r14d
mov rsi, qword [rsp + 0x70]
mov ecx, edi
mov r8, qword [rsp + 0x88]
mov eax, 1
shr r13d, cl
mov ecx, r14d
shl eax, cl
dec eax
mov dword [rbx + 0x24], edi
and r13d, eax
jmp 0x140164fe4
inc r14d
jmp 0x140164f70
mov ebp, 0xfffffffc
mov r15d, edx
jmp 0x140165dcb
cmp dword [rbx + 0x38], ebp
jl 0x1401640fd
cmp dword [rbx + 0x38], r10d
jge 0x1401640fd
mov r12d, ebp
mov r15d, 1
movsxd rax, r12d
cmp dword [rbx + rax*4 + 0x44], ebp
jl 0x1401640fd
cmp dword [rbx + rax*4 + 0x44], r10d
jg 0x1401640fd
add r12d, r15d
cmp r12d, 0xff
jle 0x1401655f5
mov r8d, 0x100
mov dword [rbx + 0x448], ebp
lea rdx, [rbx + 0x44c]
mov ecx, r8d
mov rdi, rdx
lea rsi, [rbx + 0x44]
rep movsd dword [rdi], dword [rsi]
mov ecx, r8d
mov eax, dword [rdx - 4]
add dword [rdx], eax
lea rdx, [rdx + 4]
sub rcx, r15
jne 0x14016563b
mov r12d, ebp
movsxd rax, r12d
mov ecx, dword [rbx + rax*4 + 0x448]
test ecx, ecx
js 0x1401640fd
cmp ecx, r10d
jg 0x1401640fd
add r12d, r15d
cmp r12d, r8d
jle 0x14016564c
mov r12d, r15d
movsxd rcx, r12d
mov eax, dword [rbx + rcx*4 + 0x448]
cmp dword [rbx + rcx*4 + 0x444], eax
jg 0x1401640fd
add r12d, r15d
cmp r12d, r8d
jle 0x140165672
or dword [rbx + 0xc70], 0xffffffff
mov dword [rbx + 0x10], ebp
mov byte [rbx + 0xc], bpl
mov dword [rbx + 8], 2
cmp byte [rbx + 0x2c], bpl
je 0x1401658eb
lea rdi, [rbx + 0x84c]
mov ecx, 0x101
lea rsi, [rbx + 0x448]
rep movsd dword [rdi], dword [rsi]
mov esi, ebp
test r10d, r10d
jle 0x140165732
mov rdi, rbp
mov rcx, qword [rbx + 0xc58]
mov rdx, rdi
sar rdx, 1
movzx r9d, byte [rcx + rdi*2]
movzx eax, word [rbx + r9*4 + 0x84c]
mov word [rcx + rdi*2], ax
add rdx, qword [rbx + 0xc60]
mov ecx, dword [rbx + r9*4 + 0x84c]
mov r8b, byte [rdx]
test r15b, sil
jne 0x140165711
sar ecx, 0x10
and r8b, 0xf0
or cl, r8b
jmp 0x14016571d
sar ecx, 0xc
mov al, cl
xor al, r8b
and al, 0xf
xor cl, al
mov byte [rdx], cl
add esi, r15d
add dword [rbx + r9*4 + 0x84c], r15d
add rdi, r15
cmp esi, r10d
jl 0x1401656cf
movsxd r12, dword [rbx + 0x38]
mov rax, qword [rbx + 0xc60]
mov rdx, r12
sar rdx, 1
mov ecx, r12d
and ecx, r15d
shl ecx, 2
movzx r10d, byte [rdx + rax]
mov rax, qword [rbx + 0xc58]
shr r10d, cl
and r10d, 0xf
shl r10d, 0x10
movzx ecx, word [rax + r12*2]
or r10d, ecx
mov rax, qword [rbx + 0xc60]
mov esi, r10d
mov rdx, qword [rbx + 0xc58]
and esi, r15d
mov edi, r10d
mov r8d, r10d
shr r8, 1
lea ecx, [rsi*4]
movzx r9d, byte [r8 + rax]
movzx eax, word [rdx + rdi*2]
shr r9d, cl
and r9d, 0xf
mov word [rdx + rdi*2], r12w
mov rdx, qword [rbx + 0xc60]
shl r9d, 0x10
or r9d, eax
mov cl, byte [rdx + r8]
test esi, esi
jne 0x1401657c6
sar r12d, 0x10
and cl, 0xf0
or r12b, cl
jmp 0x1401657d4
sar r12d, 0xc
mov al, r12b
xor al, cl
and al, 0xf
xor r12b, al
mov byte [rdx + r8], r12b
mov r12d, r10d
mov ecx, dword [rbx + 0x38]
mov r10d, r9d
cmp r12d, ecx
jne 0x14016576b
imul eax, dword [rbx + 0x28], 0x186a0
mov dword [rsp + 0x44], r9d
mov dword [rbx + 0x3c], ecx
mov dword [rbx + 0x444], ebp
cmp byte [rbx + 0x14], bpl
je 0x140165894
mov qword [rbx + 0x18], rbp
cmp ecx, eax
jae 0x140165993
lea rdx, [rbx + 0x448]
call fcn.14016304c
mov edi, dword [rbx + 0x3c]
mov esi, eax
mov dword [rbx + 0x40], eax
mov ecx, edi
mov rax, qword [rbx + 0xc60]
shr rcx, 1
movzx edx, byte [rcx + rax]
mov cl, byte [rbx + 0x3c]
mov rax, qword [rbx + 0xc58]
and cl, r15b
shl cl, 2
shr edx, cl
and edx, 0xf
movzx ecx, word [rax + rdi*2]
add dword [rbx + 0x444], r15d
shl edx, 0x10
or edx, ecx
mov dword [rbx + 0x3c], edx
mov edx, dword [rbx + 0x18]
test edx, edx
jne 0x140165882
movsxd rcx, dword [rbx + 0x1c]
lea rdx, [0x140287e60]
mov edx, dword [rdx + rcx*4]
lea eax, [rcx + 1]
mov dword [rbx + 0x1c], eax
cmp eax, 0x200
jne 0x140165882
mov dword [rbx + 0x1c], ebp
mov ecx, ebp
lea eax, [rdx - 1]
cmp eax, r15d
sete cl
xor ecx, esi
jmp 0x140165984
cmp ecx, eax
jae 0x140165993
lea rdx, [rbx + 0x448]
call fcn.14016304c
mov edi, dword [rbx + 0x3c]
mov dword [rbx + 0x40], eax
mov ecx, edi
mov rax, qword [rbx + 0xc60]
shr rcx, 1
movzx edx, byte [rcx + rax]
mov cl, byte [rbx + 0x3c]
mov rax, qword [rbx + 0xc58]
and cl, r15b
shl cl, 2
shr edx, cl
and edx, 0xf
movzx ecx, word [rax + rdi*2]
shl edx, 0x10
or edx, ecx
add dword [rbx + 0x444], r15d
mov dword [rbx + 0x3c], edx
jmp 0x140165dc6
mov r12d, ebp
test r10d, r10d
jle 0x140165926
mov rsi, rbp
mov rdx, qword [rbx + 0xc50]
mov eax, r12d
shl eax, 8
add r12d, r15d
movzx edi, byte [rdx + rsi]
lea rsi, [rsi + 4]
movsxd rcx, dword [rbx + rdi*4 + 0x448]
or dword [rdx + rcx*4], eax
add dword [rbx + rdi*4 + 0x448], r15d
cmp r12d, r10d
jl 0x1401658f6
movsxd rax, dword [rbx + 0x38]
mov rdx, qword [rbx + 0xc50]
mov ecx, dword [rdx + rax*4]
imul eax, dword [rbx + 0x28], 0x186a0
shr ecx, 8
mov dword [rbx + 0x3c], ecx
mov dword [rbx + 0x444], ebp
cmp byte [rbx + 0x14], bpl
je 0x14016598f
mov qword [rbx + 0x18], rbp
cmp ecx, eax
jae 0x140165993
mov ecx, dword [rdx + rcx*4]
mov dword [rbx + 0x3c], ecx
movzx edx, cl
shr ecx, 8
mov dword [rbx + 0x3c], ecx
mov ecx, ebp
mov dword [rbx + 0x40], edx
mov dword [rbx + 0x444], r15d
mov eax, dword [0x140287e60]
dec eax
mov dword [rbx + 0x1c], r15d
cmp eax, r15d
sete cl
xor ecx, edx
mov dword [rbx + 0x18], eax
mov dword [rbx + 0x40], ecx
jmp 0x140165dc6
cmp ecx, eax
jb 0x14016599b
mov eax, r15d
jmp 0x140165ecc
mov ecx, dword [rdx + rcx*4]
mov dword [rbx + 0x3c], ecx
movzx eax, cl
shr ecx, 8
mov dword [rbx + 0x3c], ecx
mov dword [rbx + 0x40], eax
mov dword [rbx + 0x444], r15d
jmp 0x140165dc6
sub ecx, 0x2a
je 0x140165a1f
sub ecx, 1
je 0x140165a80
sub ecx, 1
je 0x140165ae1
sub ecx, 1
je 0x140165b42
sub ecx, 1
je 0x140165ba3
sub ecx, 1
je 0x140165c0a
sub ecx, 1
je 0x140165c77
sub ecx, 1
je 0x140165ce4
cmp ecx, 1
je 0x140165d51
mov ecx, 0xfa1
call fcn.140129934
mov ecx, 0xfa2
call fcn.140129934
jmp 0x140165dc6
mov dword [rbx + 8], 0x2a
jmp 0x140165a65
mov rsi, qword [rbx]
cmp dword [rsi + 8], ebp
je 0x140165dc6
mov rax, qword [rsi]
mov edx, dword [rbx + 0x20]
shl edx, 8
movzx ecx, byte [rax]
lea eax, [rdi + 8]
mov dword [rbx + 0x24], eax
or edx, ecx
mov dword [rbx + 0x20], edx
inc qword [rsi]
mov rax, qword [rbx]
dec dword [rax + 8]
mov rax, qword [rbx]
inc dword [rax + 0xc]
mov rax, qword [rbx]
cmp dword [rax + 0xc], ebp
jne 0x140165a65
inc dword [rax + 0x10]
mov edi, dword [rbx + 0x24]
cmp edi, 8
jl 0x140165a28
mov eax, dword [rbx + 0x20]
lea ecx, [rdi - 8]
shr eax, cl
mov dword [rbx + 0x24], ecx
cmp al, 0x72
jne 0x1401640fd
mov dword [rbx + 8], 0x2b
jmp 0x140165ac6
mov rsi, qword [rbx]
cmp dword [rsi + 8], ebp
je 0x140165dc6
mov rax, qword [rsi]
mov edx, dword [rbx + 0x20]
shl edx, 8
movzx ecx, byte [rax]
lea eax, [rdi + 8]
mov dword [rbx + 0x24], eax
or edx, ecx
mov dword [rbx + 0x20], edx
inc qword [rsi]
mov rax, qword [rbx]
dec dword [rax + 8]
mov rax, qword [rbx]
inc dword [rax + 0xc]
mov rax, qword [rbx]
cmp dword [rax + 0xc], ebp
jne 0x140165ac6
inc dword [rax + 0x10]
mov edi, dword [rbx + 0x24]
cmp edi, 8
jl 0x140165a89
mov eax, dword [rbx + 0x20]
lea ecx, [rdi - 8]
shr eax, cl
mov dword [rbx + 0x24], ecx
cmp al, 0x45
jne 0x1401640fd
mov dword [rbx + 8], 0x2c
jmp 0x140165b27
mov rsi, qword [rbx]
cmp dword [rsi + 8], ebp
je 0x140165dc6
mov rax, qword [rsi]
mov edx, dword [rbx + 0x20]
shl edx, 8
movzx ecx, byte [rax]
lea eax, [rdi + 8]
mov dword [rbx + 0x24], eax
or edx, ecx
mov dword [rbx + 0x20], edx
inc qword [rsi]
mov rax, qword [rbx]
dec dword [rax + 8]
mov rax, qword [rbx]
inc dword [rax + 0xc]
mov rax, qword [rbx]
cmp dword [rax + 0xc], ebp
jne 0x140165b27
inc dword [rax + 0x10]
mov edi, dword [rbx + 0x24]
cmp edi, 8
jl 0x140165aea
mov eax, dword [rbx + 0x20]
lea ecx, [rdi - 8]
shr eax, cl
mov dword [rbx + 0x24], ecx
cmp al, 0x38
jne 0x1401640fd
mov dword [rbx + 8], 0x2d
jmp 0x140165b88
mov rsi, qword [rbx]
cmp dword [rsi + 8], ebp
je 0x140165dc6
mov rax, qword [rsi]
mov edx, dword [rbx + 0x20]
shl edx, 8
movzx ecx, byte [rax]
lea eax, [rdi + 8]
mov dword [rbx + 0x24], eax
or edx, ecx
mov dword [rbx + 0x20], edx
inc qword [rsi]
mov rax, qword [rbx]
dec dword [rax + 8]
mov rax, qword [rbx]
inc dword [rax + 0xc]
mov rax, qword [rbx]
cmp dword [rax + 0xc], ebp
jne 0x140165b88
inc dword [rax + 0x10]
mov edi, dword [rbx + 0x24]
cmp edi, 8
jl 0x140165b4b
mov eax, dword [rbx + 0x20]
lea ecx, [rdi - 8]
shr eax, cl
mov dword [rbx + 0x24], ecx
cmp al, 0x50
jne 0x1401640fd
mov dword [rbx + 8], 0x2e
jmp 0x140165be9
mov rsi, qword [rbx]
cmp dword [rsi + 8], ebp
je 0x140165dc6
mov rax, qword [rsi]
mov edx, dword [rbx + 0x20]
shl edx, 8
movzx ecx, byte [rax]
lea eax, [rdi + 8]
mov dword [rbx + 0x24], eax
or edx, ecx
mov dword [rbx + 0x20], edx
inc qword [rsi]
mov rax, qword [rbx]
dec dword [rax + 8]
mov rax, qword [rbx]
inc dword [rax + 0xc]
mov rax, qword [rbx]
cmp dword [rax + 0xc], ebp
jne 0x140165be9
inc dword [rax + 0x10]
mov edi, dword [rbx + 0x24]
cmp edi, 8
jl 0x140165bac
mov eax, dword [rbx + 0x20]
lea ecx, [rdi - 8]
shr eax, cl
mov dword [rbx + 0x24], ecx
cmp al, 0x90
jne 0x1401640fd
mov dword [rbx + 0xc6c], ebp
mov dword [rbx + 8], 0x2f
jmp 0x140165c50
mov rsi, qword [rbx]
cmp dword [rsi + 8], ebp
je 0x140165dc6
mov rax, qword [rsi]
mov edx, dword [rbx + 0x20]
shl edx, 8
movzx ecx, byte [rax]
lea eax, [rdi + 8]
mov dword [rbx + 0x24], eax
or edx, ecx
mov dword [rbx + 0x20], edx
inc qword [rsi]
mov rax, qword [rbx]
dec dword [rax + 8]
mov rax, qword [rbx]
inc dword [rax + 0xc]
mov rax, qword [rbx]
cmp dword [rax + 0xc], ebp
jne 0x140165c50
inc dword [rax + 0x10]
mov edi, dword [rbx + 0x24]
cmp edi, 8
jl 0x140165c13
mov eax, dword [rbx + 0x20]
lea ecx, [rdi - 8]
shr eax, cl
mov dword [rbx + 0x24], ecx
movzx ecx, al
mov eax, dword [rbx + 0xc6c]
shl eax, 8
or ecx, eax
mov dword [rbx + 0xc6c], ecx
mov dword [rbx + 8], 0x30
jmp 0x140165cbd
mov rsi, qword [rbx]
cmp dword [rsi + 8], ebp
je 0x140165dc6
mov rax, qword [rsi]
mov edx, dword [rbx + 0x20]
shl edx, 8
movzx ecx, byte [rax]
lea eax, [rdi + 8]
mov dword [rbx + 0x24], eax
or edx, ecx
mov dword [rbx + 0x20], edx
inc qword [rsi]
mov rax, qword [rbx]
dec dword [rax + 8]
mov rax, qword [rbx]
inc dword [rax + 0xc]
mov rax, qword [rbx]
cmp dword [rax + 0xc], ebp
jne 0x140165cbd
inc dword [rax + 0x10]
mov edi, dword [rbx + 0x24]
cmp edi, 8
jl 0x140165c80
mov eax, dword [rbx + 0x20]
lea ecx, [rdi - 8]
shr eax, cl
mov dword [rbx + 0x24], ecx
movzx ecx, al
mov eax, dword [rbx + 0xc6c]
shl eax, 8
or ecx, eax
mov dword [rbx + 0xc6c], ecx
mov dword [rbx + 8], 0x31
jmp 0x140165d2a
mov rsi, qword [rbx]
cmp dword [rsi + 8], ebp
je 0x140165dc6
mov rax, qword [rsi]
mov edx, dword [rbx + 0x20]
shl edx, 8
movzx ecx, byte [rax]
lea eax, [rdi + 8]
mov dword [rbx + 0x24], eax
or edx, ecx
mov dword [rbx + 0x20], edx
inc qword [rsi]
mov rax, qword [rbx]
dec dword [rax + 8]
mov rax, qword [rbx]
inc dword [rax + 0xc]
mov rax, qword [rbx]
cmp dword [rax + 0xc], ebp
jne 0x140165d2a
inc dword [rax + 0x10]
mov edi, dword [rbx + 0x24]
cmp edi, 8
jl 0x140165ced
mov eax, dword [rbx + 0x20]
lea ecx, [rdi - 8]
shr eax, cl
mov dword [rbx + 0x24], ecx
movzx ecx, al
mov eax, dword [rbx + 0xc6c]
shl eax, 8
or ecx, eax
mov dword [rbx + 0xc6c], ecx
mov dword [rbx + 8], 0x32
jmp 0x140165d93
mov rsi, qword [rbx]
cmp dword [rsi + 8], ebp
je 0x140165dc6
mov rax, qword [rsi]
mov edx, dword [rbx + 0x20]
shl edx, 8
movzx ecx, byte [rax]
lea eax, [rdi + 8]
mov dword [rbx + 0x24], eax
or edx, ecx
mov dword [rbx + 0x20], edx
inc qword [rsi]
mov rax, qword [rbx]
dec dword [rax + 8]
mov rax, qword [rbx]
inc dword [rax + 0xc]
mov rax, qword [rbx]
cmp dword [rax + 0xc], ebp
jne 0x140165d93
inc dword [rax + 0x10]
mov edi, dword [rbx + 0x24]
cmp edi, 8
jl 0x140165d5a
mov eax, dword [rbx + 0x20]
lea ecx, [rdi - 8]
shr eax, cl
mov ebp, 4
mov dword [rbx + 0x24], ecx
movzx ecx, al
mov eax, dword [rbx + 0xc6c]
shl eax, 8
or ecx, eax
mov dword [rbx + 8], 1
mov dword [rbx + 0xc6c], ecx
mov r15d, dword [rsp + 0x40]
mov eax, dword [rsp + 0x44]
mov ecx, dword [rsp + 0x64]
mov dword [rbx + 0xfa28], eax
mov eax, dword [rsp + 0xac]
mov dword [rbx + 0xfa2c], eax
mov eax, dword [rsp + 0x54]
mov dword [rbx + 0xfa30], eax
mov eax, dword [rsp + 0x58]
mov dword [rbx + 0xfa34], eax
mov eax, dword [rsp + 0x5c]
mov dword [rbx + 0xfa38], eax
mov eax, dword [rsp + 0x90]
mov dword [rbx + 0xfa3c], eax
mov eax, dword [rsp + 0x60]
mov dword [rbx + 0xfa40], eax
mov eax, dword [rsp + 0x48]
mov dword [rbx + 0xfa48], eax
mov eax, dword [rsp + 0x7c]
mov dword [rbx + 0xfa50], ecx
mov ecx, dword [rsp + 0x50]
mov dword [rbx + 0xfa4c], eax
mov eax, dword [rsp + 0x68]
mov dword [rbx + 0xfa54], ecx
mov ecx, dword [rsp + 0x78]
mov dword [rbx + 0xfa74], eax
mov rax, qword [rsp + 0x88]
mov dword [rbx + 0xfa58], ecx
mov ecx, dword [rsp + 0x4c]
mov qword [rbx + 0xfa78], rax
mov rax, qword [rsp + 0x98]
mov dword [rbx + 0xfa5c], ecx
mov ecx, dword [rsp + 0xa8]
mov qword [rbx + 0xfa80], rax
mov rax, qword [rsp + 0x70]
mov dword [rbx + 0xfa60], ecx
mov ecx, dword [rsp + 0x80]
mov dword [rbx + 0xfa6c], ecx
mov ecx, dword [rsp + 0x84]
mov qword [rbx + 0xfa88], rax
mov eax, ebp
mov dword [rbx + 0xfa24], r12d
mov dword [rbx + 0xfa44], r15d
mov dword [rbx + 0xfa64], r14d
mov dword [rbx + 0xfa68], r13d
mov dword [rbx + 0xfa70], ecx
mov rcx, qword [rsp + 0xb8]
xor rcx, rsp
call fcn.140166570
lea r11, [rsp + 0xc0]
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