Function at 0x140163d7c
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 [0x140588b40]
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 0x140163e52
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 0x1401649c5
je 0x140164953
cmp ecx, 0x14
jg 0x14016449b
je 0x140164422
cmp ecx, 0xf
jg 0x14016427d
je 0x140164217
sub ecx, 0xa
je 0x140163fad
sub ecx, 1
je 0x140164014
sub ecx, 1
je 0x140164071
sub ecx, 1
je 0x1401640d2
cmp ecx, 1
jne 0x140165b16
mov dword [rbx + 8], 0xe
jmp 0x1401641ee
mov dword [rbx + 8], 0xa
jmp 0x140163ff3
mov rsi, qword [rbx]
cmp dword [rsi + 8], ebp
je 0x140165ed6
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 0x140163ff3
inc dword [rax + 0x10]
mov edi, dword [rbx + 0x24]
cmp edi, 8
jl 0x140163fb6
mov eax, dword [rbx + 0x20]
lea ecx, [rdi - 8]
shr eax, cl
mov dword [rbx + 0x24], ecx
cmp al, 0x42
je 0x140164014
mov ebp, 0xfffffffb
jmp 0x140165ed6
mov dword [rbx + 8], 0xb
jmp 0x14016405a
mov rsi, qword [rbx]
cmp dword [rsi + 8], ebp
je 0x140165ed6
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 0x14016405a
inc dword [rax + 0x10]
mov edi, dword [rbx + 0x24]
cmp edi, 8
jl 0x14016401d
mov eax, dword [rbx + 0x20]
lea ecx, [rdi - 8]
shr eax, cl
mov dword [rbx + 0x24], ecx
cmp al, 0x5a
jne 0x14016400a
mov dword [rbx + 8], 0xc
jmp 0x1401640b7
mov rsi, qword [rbx]
cmp dword [rsi + 8], ebp
je 0x140165ed6
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 0x1401640b7
inc dword [rax + 0x10]
mov edi, dword [rbx + 0x24]
cmp edi, 8
jl 0x14016407a
mov eax, dword [rbx + 0x20]
lea ecx, [rdi - 8]
shr eax, cl
mov dword [rbx + 0x24], ecx
cmp al, 0x68
jne 0x14016400a
mov dword [rbx + 8], 0xd
jmp 0x140164118
mov rsi, qword [rbx]
cmp dword [rsi + 8], ebp
je 0x140165ed6
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 0x140164118
inc dword [rax + 0x10]
mov edi, dword [rbx + 0x24]
cmp edi, 8
jl 0x1401640db
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 0x14016400a
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 0x1401641a0
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 0x140164196
test rax, rax
jne 0x140163fa1
mov ebp, 0xfffffffd
jmp 0x140165ed6
imul edx, edx, 0x61a80
call rax
mov qword [rbx + 0xc50], rax
jmp 0x14016418d
mov rsi, qword [rbx]
cmp dword [rsi + 8], ebp
je 0x140165ed6
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 0x1401641ee
inc dword [rax + 0x10]
mov edi, dword [rbx + 0x24]
cmp edi, 8
jl 0x1401641b1
mov eax, dword [rbx + 0x20]
lea ecx, [rdi - 8]
shr eax, cl
mov dword [rbx + 0x24], ecx
cmp al, 0x17
je 0x140165b2f
cmp al, 0x31
je 0x140164217
mov ebp, 0xfffffffc
jmp 0x140165ed6
mov dword [rbx + 8], 0xf
jmp 0x14016425d
mov rsi, qword [rbx]
cmp dword [rsi + 8], ebp
je 0x140165ed6
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 0x14016425d
inc dword [rax + 0x10]
mov edi, dword [rbx + 0x24]
cmp edi, 8
jl 0x140164220
mov eax, dword [rbx + 0x20]
lea ecx, [rdi - 8]
shr eax, cl
mov dword [rbx + 0x24], ecx
cmp al, 0x41
jne 0x14016420d
mov dword [rbx + 8], 0x10
jmp 0x1401642db
sub ecx, 0x10
je 0x140164274
sub ecx, 1
je 0x1401642f6
sub ecx, 1
je 0x140164357
cmp ecx, 1
je 0x1401643b8
jmp 0x140165b16
mov rsi, qword [rbx]
cmp dword [rsi + 8], ebp
je 0x140165ed6
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 0x1401642db
inc dword [rax + 0x10]
mov edi, dword [rbx + 0x24]
cmp edi, 8
jl 0x14016429e
mov eax, dword [rbx + 0x20]
lea ecx, [rdi - 8]
shr eax, cl
mov dword [rbx + 0x24], ecx
cmp al, 0x59
jne 0x14016420d
mov dword [rbx + 8], 0x11
jmp 0x14016433c
mov rsi, qword [rbx]
cmp dword [rsi + 8], ebp
je 0x140165ed6
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 0x14016433c
inc dword [rax + 0x10]
mov edi, dword [rbx + 0x24]
cmp edi, 8
jl 0x1401642ff
mov eax, dword [rbx + 0x20]
lea ecx, [rdi - 8]
shr eax, cl
mov dword [rbx + 0x24], ecx
cmp al, 0x26
jne 0x14016420d
mov dword [rbx + 8], 0x12
jmp 0x14016439d
mov rsi, qword [rbx]
cmp dword [rsi + 8], ebp
je 0x140165ed6
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 0x14016439d
inc dword [rax + 0x10]
mov edi, dword [rbx + 0x24]
cmp edi, 8
jl 0x140164360
mov eax, dword [rbx + 0x20]
lea ecx, [rdi - 8]
shr eax, cl
mov dword [rbx + 0x24], ecx
cmp al, 0x53
jne 0x14016420d
mov dword [rbx + 8], 0x13
jmp 0x1401643fe
mov rsi, qword [rbx]
cmp dword [rsi + 8], ebp
je 0x140165ed6
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 0x1401643fe
inc dword [rax + 0x10]
mov edi, dword [rbx + 0x24]
cmp edi, 8
jl 0x1401643c1
mov eax, dword [rbx + 0x20]
lea ecx, [rdi - 8]
shr eax, cl
mov dword [rbx + 0x24], ecx
cmp al, 0x59
jne 0x14016420d
inc dword [rbx + 0x30]
mov dword [rbx + 0xc68], ebp
mov dword [rbx + 8], 0x14
jmp 0x140164468
mov rsi, qword [rbx]
cmp dword [rsi + 8], ebp
je 0x140165ed6
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 0x140164468
inc dword [rax + 0x10]
mov edi, dword [rbx + 0x24]
cmp edi, 8
jl 0x14016442b
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 0x14016452a
sub ecx, 0x15
je 0x14016448f
sub ecx, 1
je 0x140164551
sub ecx, 1
je 0x1401645be
sub ecx, 1
je 0x14016462b
sub ecx, 1
je 0x14016468c
sub ecx, 1
je 0x1401646f3
sub ecx, 1
je 0x14016475a
sub ecx, 1
je 0x1401647e2
cmp ecx, 1
je 0x14016488a
jmp 0x140165b16
mov rsi, qword [rbx]
cmp dword [rsi + 8], ebp
je 0x140165ed6
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 0x14016452a
inc dword [rax + 0x10]
mov edi, dword [rbx + 0x24]
cmp edi, 8
jl 0x1401644ed
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 0x140164597
mov rsi, qword [rbx]
cmp dword [rsi + 8], ebp
je 0x140165ed6
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 0x140164597
inc dword [rax + 0x10]
mov edi, dword [rbx + 0x24]
cmp edi, 8
jl 0x14016455a
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 0x140164604
mov rsi, qword [rbx]
cmp dword [rsi + 8], ebp
je 0x140165ed6
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 0x140164604
inc dword [rax + 0x10]
mov edi, dword [rbx + 0x24]
cmp edi, 8
jl 0x1401645c7
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 0x140164671
mov rsi, qword [rbx]
cmp dword [rsi + 8], ebp
je 0x140165ed6
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 0x140164671
inc dword [rax + 0x10]
mov edi, dword [rbx + 0x24]
cmp edi, 1
jl 0x140164634
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 0x1401646d2
mov rsi, qword [rbx]
cmp dword [rsi + 8], ebp
je 0x140165ed6
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 0x1401646d2
inc dword [rax + 0x10]
mov edi, dword [rbx + 0x24]
cmp edi, 8
jl 0x140164695
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 0x140164739
mov rsi, qword [rbx]
cmp dword [rsi + 8], ebp
je 0x140165ed6
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 0x140164739
inc dword [rax + 0x10]
mov edi, dword [rbx + 0x24]
cmp edi, 8
jl 0x1401646fc
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 0x1401647a0
mov rsi, qword [rbx]
cmp dword [rsi + 8], ebp
je 0x140165ed6
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 0x1401647a0
inc dword [rax + 0x10]
mov edi, dword [rbx + 0x24]
cmp edi, 8
jl 0x140164763
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 0x14016420d
imul eax, dword [rbx + 0x28], 0x186a0
add eax, 0xa
cmp ecx, eax
jg 0x14016420d
mov r12d, ebp
cmp r12d, 0x10
jge 0x14016484d
mov dword [rbx + 8], 0x1c
jmp 0x140164828
mov rsi, qword [rbx]
cmp dword [rsi + 8], ebp
je 0x140165ed6
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 0x140164828
inc dword [rax + 0x10]
mov edi, dword [rbx + 0x24]
cmp edi, 1
jl 0x1401647eb
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 0x1401647dc
lea rcx, [rbx + 0xc7c]
xor edx, edx
mov r8d, 0x100
call sub.VCRUNTIME140.dll_memset
mov r12d, ebp
cmp r12d, 0x10
jge 0x140164909
movsxd rax, r12d
cmp byte [rax + rbx + 0xd7c], bpl
je 0x140164901
mov edx, ebp
mov dword [rsp + 0x44], edx
cmp edx, 0x10
jge 0x140164901
mov dword [rbx + 8], 0x1d
jmp 0x1401648d0
mov rsi, qword [rbx]
cmp dword [rsi + 8], ebp
je 0x140165ed6
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 0x1401648d0
inc dword [rax + 0x10]
mov edi, dword [rbx + 0x24]
cmp edi, 1
jl 0x140164893
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 0x1401648fd
mov eax, r12d
shl eax, 4
add eax, edx
cdqe
mov byte [rax + rbx + 0xc7c], 1
inc edx
jmp 0x140164881
inc r12d
jmp 0x140164864
mov dword [rbx + 0xc78], ebp
lea rdx, [rbx + 0xc7c]
mov ecx, ebp
cmp byte [rdx], bpl
je 0x140164931
movsxd rax, dword [rbx + 0xc78]
mov byte [rax + rbx + 0xd8c], cl
inc dword [rbx + 0xc78]
inc ecx
inc rdx
cmp ecx, 0x100
jl 0x140164918
mov eax, dword [rbx + 0xc78]
test eax, eax
je 0x14016420d
add eax, 2
mov dword [rsp + 0x54], eax
mov dword [rbx + 8], 0x1e
jmp 0x140164999
mov rsi, qword [rbx]
cmp dword [rsi + 8], ebp
je 0x140165ed6
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 0x140164999
inc dword [rax + 0x10]
mov edi, dword [rbx + 0x24]
cmp edi, 3
jl 0x14016495c
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 0x140164a16
jmp 0x14016420d
cmp ecx, 0x29
jg 0x140165ac9
je 0x14016507d
cmp ecx, 0x24
jg 0x140164fa3
je 0x140164f25
sub ecx, 0x1f
je 0x140164a11
sub ecx, 1
je 0x140164a9c
sub ecx, 1
je 0x140164bc4
sub ecx, 1
je 0x140164c47
cmp ecx, 1
je 0x140164ca4
jmp 0x140165b16
mov r8d, dword [rsp + 0x58]
mov dword [rbx + 8], 0x1f
jmp 0x140164a5c
mov rsi, qword [rbx]
cmp dword [rsi + 8], ebp
je 0x140165ed6
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 0x140164a5c
inc dword [rax + 0x10]
mov edi, dword [rbx + 0x24]
cmp edi, 0xf
jl 0x140164a1f
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 0x14016420d
mov r12d, ebp
mov edx, 0x4652
cmp r12d, r9d
jge 0x140164b32
mov dword [rsp + 0x44], ebp
mov r8d, dword [rsp + 0x58]
mov dword [rbx + 8], 0x20
jmp 0x140164ae7
mov rsi, qword [rbx]
cmp dword [rsi + 8], ebp
je 0x140165ed6
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 0x140164ae7
inc dword [rax + 0x10]
mov edi, dword [rbx + 0x24]
cmp edi, 1
jl 0x140164aaa
mov eax, dword [rbx + 0x20]
lea ecx, [rdi - 1]
shr eax, cl
mov dword [rbx + 0x24], ecx
test al, 1
je 0x140164b12
mov edx, dword [rsp + 0x44]
inc edx
mov dword [rsp + 0x44], edx
cmp edx, r8d
jl 0x140164aa1
jmp 0x14016420d
mov edx, 0x4652
cmp r12d, edx
jge 0x140164b2a
mov ecx, dword [rsp + 0x44]
movsxd rax, r12d
mov byte [rax + rbx + 0x651e], cl
inc r12d
jmp 0x140164a8f
cmp r9d, edx
mov cl, bpl
cmovg r9d, edx
mov dword [rsp + 0x5c], r9d
test r8d, r8d
jle 0x140164b5a
movzx eax, cl
mov byte [rsp + rax + 0xac], cl
inc cl
movzx eax, cl
cmp eax, r8d
jl 0x140164b46
mov r12d, ebp
test r9d, r9d
jle 0x140164bae
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 0x140164b95
mov al, byte [rcx - 1]
mov byte [rcx], al
dec rcx
add dl, 0xff
jne 0x140164b88
mov byte [rdi], sil
inc rdi
mov byte [rsp + 0xac], sil
sub r8, 1
jne 0x140164b6f
mov r8d, dword [rsp + 0x58]
mov eax, dword [rsp + 0x54]
mov esi, ebp
mov dword [rsp + 0xac], esi
cmp esi, r8d
jge 0x140164d4a
mov dword [rbx + 8], 0x21
jmp 0x140164c0a
mov rsi, qword [rbx]
cmp dword [rsi + 8], ebp
je 0x140165ed6
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 0x140164c0a
inc dword [rax + 0x10]
mov edi, dword [rbx + 0x24]
cmp edi, 5
jl 0x140164bcd
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 0x140164d3e
lea eax, [rdx - 1]
cmp eax, 0x13
ja 0x14016420d
mov dword [rbx + 8], 0x22
jmp 0x140164c8d
mov rsi, qword [rbx]
cmp dword [rsi + 8], ebp
je 0x140165ed6
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 0x140164c8d
inc dword [rax + 0x10]
mov edi, dword [rbx + 0x24]
cmp edi, 1
jl 0x140164c50
mov eax, dword [rbx + 0x20]
lea ecx, [rdi - 1]
shr eax, cl
mov dword [rbx + 0x24], ecx
test al, 1
je 0x140164d14
mov dword [rbx + 8], 0x23
jmp 0x140164cea
mov rsi, qword [rbx]
cmp dword [rsi + 8], ebp
je 0x140165ed6
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 0x140164cea
inc dword [rax + 0x10]
mov edi, dword [rbx + 0x24]
cmp edi, 1
jl 0x140164cad
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 0x140164d09
inc edx
jmp 0x140164d0b
dec edx
mov dword [rsp + 0x4c], edx
jmp 0x140164c3b
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 0x140164c2e
mov r8d, dword [rsp + 0x58]
inc esi
jmp 0x140164bb4
mov dword [rsp + 0xac], ebp
movsxd r15, r8d
test r8d, r8d
jle 0x140164e23
lea r12, [rbx + 0xfa0c]
mov r13d, ebp
lea r14, [rbx + 0xab70]
jmp 0x140164d74
mov eax, dword [rsp + 0x54]
mov edi, 0x20
mov esi, ebp
test eax, eax
jle 0x140164da1
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 0x140164d85
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.140166010
mov dword [r12], edi
inc r13d
add r12, 4
add r14, 0x102
sub r15, 1
jne 0x140164d70
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 0x140164e87
mov dword [r9], r8d
sub r9, 4
sub ecx, 1
jns 0x140164e70
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 0x140164ec2
mov ebp, 0xfffffffc
jmp 0x140165edb
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 0x140164f2a
mov r15d, dword [rsp + 0x40]
mov dword [rbx + 8], 0x24
jmp 0x140164f70
mov rsi, qword [rbx]
cmp dword [rsi + 8], ebp
je 0x140165edb
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 0x140164f70
inc dword [rax + 0x10]
mov edi, dword [rbx + 0x24]
cmp edi, r14d
jl 0x140164f33
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 0x140165039
sub ecx, 0x25
je 0x140164fc8
sub ecx, 1
je 0x14016520a
sub ecx, 1
je 0x140165299
cmp ecx, 1
je 0x140165656
jmp 0x140165b16
mov r15d, dword [rsp + 0x40]
mov r8, rdx
mov dword [rbx + 8], 0x25
jmp 0x140165016
mov rsi, qword [rbx]
cmp dword [rsi + 8], ebp
je 0x140165edb
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 0x140165016
inc dword [rax + 0x10]
mov edi, dword [rbx + 0x24]
cmp edi, 1
jl 0x140164fd9
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 0x140164eb8
movsxd rcx, r14d
cmp r13d, dword [r8 + rcx*4]
jle 0x140165054
inc r14d
jmp 0x140164fd0
mov rdx, qword [rsp + 0x98]
mov eax, r13d
sub eax, dword [rdx + rcx*4]
cmp eax, 0x101
ja 0x140164eb8
mov r15, qword [rsp + 0x70]
cdqe
mov eax, dword [r15 + rax*4]
jmp 0x14016512e
mov r8, rdx
mov edi, dword [rbx + 0x24]
mov dword [rbx + 8], 0x29
cmp edi, 1
jge 0x1401650d9
mov rsi, qword [rbx]
cmp dword [rsi + 8], ebp
je 0x140165ed6
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 0x1401650cc
inc dword [rax + 0x10]
mov edi, dword [rbx + 0x24]
cmp edi, 1
jl 0x14016508f
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 0x14016420d
movsxd rcx, r14d
cmp r13d, dword [r8 + rcx*4]
jg 0x1401656d4
mov rdx, qword [rsp + 0x98]
mov eax, r13d
sub eax, dword [rdx + rcx*4]
cmp eax, 0x101
ja 0x14016420d
mov r15, qword [rsp + 0x70]
cdqe
mov eax, dword [rsi + rax*4]
mov dword [rsp + 0x48], eax
cmp eax, dword [rsp + 0x90]
je 0x1401656e9
cmp eax, 1
ja 0x1401653e8
or r8d, 0xffffffff
mov dword [rsp + 0x50], r8d
lea esi, [r8 + 2]
mov dword [rsp + 0x78], esi
jmp 0x14016515f
mov esi, dword [rsp + 0x78]
cmp esi, 0x200000
jge 0x14016420d
test eax, eax
jne 0x140165174
add r8d, esi
jmp 0x14016517d
cmp eax, 1
jne 0x140165182
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 0x1401651fd
inc r11d
mov dword [rsp + 0x60], r11d
cmp r11d, r9d
jge 0x1401656dc
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 0x14016520d
mov r15, rsi
mov dword [rbx + 8], 0x26
jmp 0x140165253
mov rsi, qword [rbx]
cmp dword [rsi + 8], ebp
je 0x140165ed6
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 0x140165253
inc dword [rax + 0x10]
mov edi, dword [rbx + 0x24]
cmp edi, r14d
jl 0x140165216
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 0x14016420d
mov rax, qword [rsp + 0x88]
movsxd rcx, r14d
cmp r13d, dword [rax + rcx*4]
jle 0x14016530a
inc r14d
jmp 0x14016529c
mov r15, rsi
mov dword [rbx + 8], 0x27
jmp 0x1401652e2
mov rsi, qword [rbx]
cmp dword [rsi + 8], ebp
je 0x140165ed6
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 0x1401652e2
inc dword [rax + 0x10]
mov edi, dword [rbx + 0x24]
cmp edi, 1
jl 0x1401652a5
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 0x140165279
mov rdx, qword [rsp + 0x98]
mov eax, r13d
sub eax, dword [rdx + rcx*4]
cmp eax, 0x101
ja 0x14016420d
cdqe
mov eax, dword [r15 + rax*4]
mov dword [rsp + 0x48], eax
test eax, eax
je 0x14016515b
cmp eax, 1
je 0x14016515b
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 0x1401653ab
test r8d, r8d
jle 0x140165132
cmp rdx, rsi
jge 0x14016420d
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 0x14016537d
jmp 0x1401653df
test r8d, r8d
jle 0x140165132
cmp rdx, rsi
jge 0x14016420d
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 0x1401653b4
mov eax, dword [rsp + 0x48]
jmp 0x140165132
cmp r10d, dword [rsp + 0x7c]
jge 0x14016420d
lea edx, [rax - 1]
cmp edx, 0x10
jae 0x14016549a
movsxd rsi, dword [rbx + 0x1e8c]
lea edi, [rsi + rdx]
mov r11b, byte [rdi + rbx + 0xe8c]
cmp edx, 3
jbe 0x14016546b
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 0x140165421
test edx, edx
je 0x14016548d
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 0x140165474
mov byte [rsi + rbx + 0xe8c], r11b
jmp 0x140165587
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 0x1401654d4
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 0x1401654ba
lea ecx, [rax + 1]
mov dword [rbx + rdi*4 + 0x1e8c], ecx
test edi, edi
je 0x140165514
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 0x1401654f1
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 0x140165587
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 0x14016555e
mov dword [rdx], r8d
sub rdx, 4
sub r9, 1
jns 0x14016554e
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 0x1401655b8
movzx ecx, ax
mov rax, qword [rbx + 0xc58]
mov word [rax + rdx*2], cx
jmp 0x1401655c4
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 0x14016564b
inc r11d
mov dword [rsp + 0x60], r11d
cmp r11d, r9d
jge 0x1401656dc
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 0x14016569c
mov rsi, qword [rbx]
cmp dword [rsi + 8], ebp
je 0x140165ed6
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 0x14016569c
inc dword [rax + 0x10]
mov edi, dword [rbx + 0x24]
cmp edi, r14d
jl 0x14016565f
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 0x1401650f4
inc r14d
jmp 0x140165080
mov ebp, 0xfffffffc
mov r15d, edx
jmp 0x140165edb
cmp dword [rbx + 0x38], ebp
jl 0x14016420d
cmp dword [rbx + 0x38], r10d
jge 0x14016420d
mov r12d, ebp
mov r15d, 1
movsxd rax, r12d
cmp dword [rbx + rax*4 + 0x44], ebp
jl 0x14016420d
cmp dword [rbx + rax*4 + 0x44], r10d
jg 0x14016420d
add r12d, r15d
cmp r12d, 0xff
jle 0x140165705
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 0x14016574b
mov r12d, ebp
movsxd rax, r12d
mov ecx, dword [rbx + rax*4 + 0x448]
test ecx, ecx
js 0x14016420d
cmp ecx, r10d
jg 0x14016420d
add r12d, r15d
cmp r12d, r8d
jle 0x14016575c
mov r12d, r15d
movsxd rcx, r12d
mov eax, dword [rbx + rcx*4 + 0x448]
cmp dword [rbx + rcx*4 + 0x444], eax
jg 0x14016420d
add r12d, r15d
cmp r12d, r8d
jle 0x140165782
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 0x1401659fb
lea rdi, [rbx + 0x84c]
mov ecx, 0x101
lea rsi, [rbx + 0x448]
rep movsd dword [rdi], dword [rsi]
mov esi, ebp
test r10d, r10d
jle 0x140165842
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 0x140165821
sar ecx, 0x10
and r8b, 0xf0
or cl, r8b
jmp 0x14016582d
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 0x1401657df
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 0x1401658d6
sar r12d, 0x10
and cl, 0xf0
or r12b, cl
jmp 0x1401658e4
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 0x14016587b
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 0x1401659a4
mov qword [rbx + 0x18], rbp
cmp ecx, eax
jae 0x140165aa3
lea rdx, [rbx + 0x448]
call fcn.14016315c
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 0x140165992
movsxd rcx, dword [rbx + 0x1c]
lea rdx, [0x140587e60]
mov edx, dword [rdx + rcx*4]
lea eax, [rcx + 1]
mov dword [rbx + 0x1c], eax
cmp eax, 0x200
jne 0x140165992
mov dword [rbx + 0x1c], ebp
mov ecx, ebp
lea eax, [rdx - 1]
cmp eax, r15d
sete cl
xor ecx, esi
jmp 0x140165a94
cmp ecx, eax
jae 0x140165aa3
lea rdx, [rbx + 0x448]
call fcn.14016315c
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 0x140165ed6
mov r12d, ebp
test r10d, r10d
jle 0x140165a36
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 0x140165a06
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 0x140165a9f
mov qword [rbx + 0x18], rbp
cmp ecx, eax
jae 0x140165aa3
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 [0x140587e60]
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 0x140165ed6
cmp ecx, eax
jb 0x140165aab
mov eax, r15d
jmp 0x140165fdc
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 0x140165ed6
sub ecx, 0x2a
je 0x140165b2f
sub ecx, 1
je 0x140165b90
sub ecx, 1
je 0x140165bf1
sub ecx, 1
je 0x140165c52
sub ecx, 1
je 0x140165cb3
sub ecx, 1
je 0x140165d1a
sub ecx, 1
je 0x140165d87
sub ecx, 1
je 0x140165df4
cmp ecx, 1
je 0x140165e61
mov ecx, 0xfa1
call fcn.140129a44
mov ecx, 0xfa2
call fcn.140129a44
jmp 0x140165ed6
mov dword [rbx + 8], 0x2a
jmp 0x140165b75
mov rsi, qword [rbx]
cmp dword [rsi + 8], ebp
je 0x140165ed6
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 0x140165b75
inc dword [rax + 0x10]
mov edi, dword [rbx + 0x24]
cmp edi, 8
jl 0x140165b38
mov eax, dword [rbx + 0x20]
lea ecx, [rdi - 8]
shr eax, cl
mov dword [rbx + 0x24], ecx
cmp al, 0x72
jne 0x14016420d
mov dword [rbx + 8], 0x2b
jmp 0x140165bd6
mov rsi, qword [rbx]
cmp dword [rsi + 8], ebp
je 0x140165ed6
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 0x140165bd6
inc dword [rax + 0x10]
mov edi, dword [rbx + 0x24]
cmp edi, 8
jl 0x140165b99
mov eax, dword [rbx + 0x20]
lea ecx, [rdi - 8]
shr eax, cl
mov dword [rbx + 0x24], ecx
cmp al, 0x45
jne 0x14016420d
mov dword [rbx + 8], 0x2c
jmp 0x140165c37
mov rsi, qword [rbx]
cmp dword [rsi + 8], ebp
je 0x140165ed6
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 0x140165c37
inc dword [rax + 0x10]
mov edi, dword [rbx + 0x24]
cmp edi, 8
jl 0x140165bfa
mov eax, dword [rbx + 0x20]
lea ecx, [rdi - 8]
shr eax, cl
mov dword [rbx + 0x24], ecx
cmp al, 0x38
jne 0x14016420d
mov dword [rbx + 8], 0x2d
jmp 0x140165c98
mov rsi, qword [rbx]
cmp dword [rsi + 8], ebp
je 0x140165ed6
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 0x140165c98
inc dword [rax + 0x10]
mov edi, dword [rbx + 0x24]
cmp edi, 8
jl 0x140165c5b
mov eax, dword [rbx + 0x20]
lea ecx, [rdi - 8]
shr eax, cl
mov dword [rbx + 0x24], ecx
cmp al, 0x50
jne 0x14016420d
mov dword [rbx + 8], 0x2e
jmp 0x140165cf9
mov rsi, qword [rbx]
cmp dword [rsi + 8], ebp
je 0x140165ed6
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 0x140165cf9
inc dword [rax + 0x10]
mov edi, dword [rbx + 0x24]
cmp edi, 8
jl 0x140165cbc
mov eax, dword [rbx + 0x20]
lea ecx, [rdi - 8]
shr eax, cl
mov dword [rbx + 0x24], ecx
cmp al, 0x90
jne 0x14016420d
mov dword [rbx + 0xc6c], ebp
mov dword [rbx + 8], 0x2f
jmp 0x140165d60
mov rsi, qword [rbx]
cmp dword [rsi + 8], ebp
je 0x140165ed6
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 0x140165d60
inc dword [rax + 0x10]
mov edi, dword [rbx + 0x24]
cmp edi, 8
jl 0x140165d23
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 0x140165dcd
mov rsi, qword [rbx]
cmp dword [rsi + 8], ebp
je 0x140165ed6
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 0x140165dcd
inc dword [rax + 0x10]
mov edi, dword [rbx + 0x24]
cmp edi, 8
jl 0x140165d90
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 0x140165e3a
mov rsi, qword [rbx]
cmp dword [rsi + 8], ebp
je 0x140165ed6
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 0x140165e3a
inc dword [rax + 0x10]
mov edi, dword [rbx + 0x24]
cmp edi, 8
jl 0x140165dfd
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 0x140165ea3
mov rsi, qword [rbx]
cmp dword [rsi + 8], ebp
je 0x140165ed6
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 0x140165ea3
inc dword [rax + 0x10]
mov edi, dword [rbx + 0x24]
cmp edi, 8
jl 0x140165e6a
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.140166680
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