Function at 0x1401527dc
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 [0x14024fb40]
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 0x1401528b2
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 0x140153425
je 0x1401533b3
cmp ecx, 0x14
jg 0x140152efb
je 0x140152e82
cmp ecx, 0xf
jg 0x140152cdd
je 0x140152c77
sub ecx, 0xa
je 0x140152a0d
sub ecx, 1
je 0x140152a74
sub ecx, 1
je 0x140152ad1
sub ecx, 1
je 0x140152b32
cmp ecx, 1
jne 0x140154576
mov dword [rbx + 8], 0xe
jmp 0x140152c4e
mov dword [rbx + 8], 0xa
jmp 0x140152a53
mov rsi, qword [rbx]
cmp dword [rsi + 8], ebp
je 0x140154936
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 0x140152a53
inc dword [rax + 0x10]
mov edi, dword [rbx + 0x24]
cmp edi, 8
jl 0x140152a16
mov eax, dword [rbx + 0x20]
lea ecx, [rdi - 8]
shr eax, cl
mov dword [rbx + 0x24], ecx
cmp al, 0x42
je 0x140152a74
mov ebp, 0xfffffffb
jmp 0x140154936
mov dword [rbx + 8], 0xb
jmp 0x140152aba
mov rsi, qword [rbx]
cmp dword [rsi + 8], ebp
je 0x140154936
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 0x140152aba
inc dword [rax + 0x10]
mov edi, dword [rbx + 0x24]
cmp edi, 8
jl 0x140152a7d
mov eax, dword [rbx + 0x20]
lea ecx, [rdi - 8]
shr eax, cl
mov dword [rbx + 0x24], ecx
cmp al, 0x5a
jne 0x140152a6a
mov dword [rbx + 8], 0xc
jmp 0x140152b17
mov rsi, qword [rbx]
cmp dword [rsi + 8], ebp
je 0x140154936
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 0x140152b17
inc dword [rax + 0x10]
mov edi, dword [rbx + 0x24]
cmp edi, 8
jl 0x140152ada
mov eax, dword [rbx + 0x20]
lea ecx, [rdi - 8]
shr eax, cl
mov dword [rbx + 0x24], ecx
cmp al, 0x68
jne 0x140152a6a
mov dword [rbx + 8], 0xd
jmp 0x140152b78
mov rsi, qword [rbx]
cmp dword [rsi + 8], ebp
je 0x140154936
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 0x140152b78
inc dword [rax + 0x10]
mov edi, dword [rbx + 0x24]
cmp edi, 8
jl 0x140152b3b
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 0x140152a6a
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 0x140152c00
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 0x140152bf6
test rax, rax
jne 0x140152a01
mov ebp, 0xfffffffd
jmp 0x140154936
imul edx, edx, 0x61a80
call rax
mov qword [rbx + 0xc50], rax
jmp 0x140152bed
mov rsi, qword [rbx]
cmp dword [rsi + 8], ebp
je 0x140154936
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 0x140152c4e
inc dword [rax + 0x10]
mov edi, dword [rbx + 0x24]
cmp edi, 8
jl 0x140152c11
mov eax, dword [rbx + 0x20]
lea ecx, [rdi - 8]
shr eax, cl
mov dword [rbx + 0x24], ecx
cmp al, 0x17
je 0x14015458f
cmp al, 0x31
je 0x140152c77
mov ebp, 0xfffffffc
jmp 0x140154936
mov dword [rbx + 8], 0xf
jmp 0x140152cbd
mov rsi, qword [rbx]
cmp dword [rsi + 8], ebp
je 0x140154936
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 0x140152cbd
inc dword [rax + 0x10]
mov edi, dword [rbx + 0x24]
cmp edi, 8
jl 0x140152c80
mov eax, dword [rbx + 0x20]
lea ecx, [rdi - 8]
shr eax, cl
mov dword [rbx + 0x24], ecx
cmp al, 0x41
jne 0x140152c6d
mov dword [rbx + 8], 0x10
jmp 0x140152d3b
sub ecx, 0x10
je 0x140152cd4
sub ecx, 1
je 0x140152d56
sub ecx, 1
je 0x140152db7
cmp ecx, 1
je 0x140152e18
jmp 0x140154576
mov rsi, qword [rbx]
cmp dword [rsi + 8], ebp
je 0x140154936
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 0x140152d3b
inc dword [rax + 0x10]
mov edi, dword [rbx + 0x24]
cmp edi, 8
jl 0x140152cfe
mov eax, dword [rbx + 0x20]
lea ecx, [rdi - 8]
shr eax, cl
mov dword [rbx + 0x24], ecx
cmp al, 0x59
jne 0x140152c6d
mov dword [rbx + 8], 0x11
jmp 0x140152d9c
mov rsi, qword [rbx]
cmp dword [rsi + 8], ebp
je 0x140154936
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 0x140152d9c
inc dword [rax + 0x10]
mov edi, dword [rbx + 0x24]
cmp edi, 8
jl 0x140152d5f
mov eax, dword [rbx + 0x20]
lea ecx, [rdi - 8]
shr eax, cl
mov dword [rbx + 0x24], ecx
cmp al, 0x26
jne 0x140152c6d
mov dword [rbx + 8], 0x12
jmp 0x140152dfd
mov rsi, qword [rbx]
cmp dword [rsi + 8], ebp
je 0x140154936
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 0x140152dfd
inc dword [rax + 0x10]
mov edi, dword [rbx + 0x24]
cmp edi, 8
jl 0x140152dc0
mov eax, dword [rbx + 0x20]
lea ecx, [rdi - 8]
shr eax, cl
mov dword [rbx + 0x24], ecx
cmp al, 0x53
jne 0x140152c6d
mov dword [rbx + 8], 0x13
jmp 0x140152e5e
mov rsi, qword [rbx]
cmp dword [rsi + 8], ebp
je 0x140154936
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 0x140152e5e
inc dword [rax + 0x10]
mov edi, dword [rbx + 0x24]
cmp edi, 8
jl 0x140152e21
mov eax, dword [rbx + 0x20]
lea ecx, [rdi - 8]
shr eax, cl
mov dword [rbx + 0x24], ecx
cmp al, 0x59
jne 0x140152c6d
inc dword [rbx + 0x30]
mov dword [rbx + 0xc68], ebp
mov dword [rbx + 8], 0x14
jmp 0x140152ec8
mov rsi, qword [rbx]
cmp dword [rsi + 8], ebp
je 0x140154936
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 0x140152ec8
inc dword [rax + 0x10]
mov edi, dword [rbx + 0x24]
cmp edi, 8
jl 0x140152e8b
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 0x140152f8a
sub ecx, 0x15
je 0x140152eef
sub ecx, 1
je 0x140152fb1
sub ecx, 1
je 0x14015301e
sub ecx, 1
je 0x14015308b
sub ecx, 1
je 0x1401530ec
sub ecx, 1
je 0x140153153
sub ecx, 1
je 0x1401531ba
sub ecx, 1
je 0x140153242
cmp ecx, 1
je 0x1401532ea
jmp 0x140154576
mov rsi, qword [rbx]
cmp dword [rsi + 8], ebp
je 0x140154936
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 0x140152f8a
inc dword [rax + 0x10]
mov edi, dword [rbx + 0x24]
cmp edi, 8
jl 0x140152f4d
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 0x140152ff7
mov rsi, qword [rbx]
cmp dword [rsi + 8], ebp
je 0x140154936
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 0x140152ff7
inc dword [rax + 0x10]
mov edi, dword [rbx + 0x24]
cmp edi, 8
jl 0x140152fba
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 0x140153064
mov rsi, qword [rbx]
cmp dword [rsi + 8], ebp
je 0x140154936
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 0x140153064
inc dword [rax + 0x10]
mov edi, dword [rbx + 0x24]
cmp edi, 8
jl 0x140153027
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 0x1401530d1
mov rsi, qword [rbx]
cmp dword [rsi + 8], ebp
je 0x140154936
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 0x1401530d1
inc dword [rax + 0x10]
mov edi, dword [rbx + 0x24]
cmp edi, 1
jl 0x140153094
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 0x140153132
mov rsi, qword [rbx]
cmp dword [rsi + 8], ebp
je 0x140154936
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 0x140153132
inc dword [rax + 0x10]
mov edi, dword [rbx + 0x24]
cmp edi, 8
jl 0x1401530f5
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 0x140153199
mov rsi, qword [rbx]
cmp dword [rsi + 8], ebp
je 0x140154936
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 0x140153199
inc dword [rax + 0x10]
mov edi, dword [rbx + 0x24]
cmp edi, 8
jl 0x14015315c
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 0x140153200
mov rsi, qword [rbx]
cmp dword [rsi + 8], ebp
je 0x140154936
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 0x140153200
inc dword [rax + 0x10]
mov edi, dword [rbx + 0x24]
cmp edi, 8
jl 0x1401531c3
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 0x140152c6d
imul eax, dword [rbx + 0x28], 0x186a0
add eax, 0xa
cmp ecx, eax
jg 0x140152c6d
mov r12d, ebp
cmp r12d, 0x10
jge 0x1401532ad
mov dword [rbx + 8], 0x1c
jmp 0x140153288
mov rsi, qword [rbx]
cmp dword [rsi + 8], ebp
je 0x140154936
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 0x140153288
inc dword [rax + 0x10]
mov edi, dword [rbx + 0x24]
cmp edi, 1
jl 0x14015324b
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 0x14015323c
lea rcx, [rbx + 0xc7c]
xor edx, edx
mov r8d, 0x100
call sub.VCRUNTIME140.dll_memset
mov r12d, ebp
cmp r12d, 0x10
jge 0x140153369
movsxd rax, r12d
cmp byte [rax + rbx + 0xd7c], bpl
je 0x140153361
mov edx, ebp
mov dword [rsp + 0x44], edx
cmp edx, 0x10
jge 0x140153361
mov dword [rbx + 8], 0x1d
jmp 0x140153330
mov rsi, qword [rbx]
cmp dword [rsi + 8], ebp
je 0x140154936
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 0x140153330
inc dword [rax + 0x10]
mov edi, dword [rbx + 0x24]
cmp edi, 1
jl 0x1401532f3
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 0x14015335d
mov eax, r12d
shl eax, 4
add eax, edx
cdqe
mov byte [rax + rbx + 0xc7c], 1
inc edx
jmp 0x1401532e1
inc r12d
jmp 0x1401532c4
mov dword [rbx + 0xc78], ebp
lea rdx, [rbx + 0xc7c]
mov ecx, ebp
cmp byte [rdx], bpl
je 0x140153391
movsxd rax, dword [rbx + 0xc78]
mov byte [rax + rbx + 0xd8c], cl
inc dword [rbx + 0xc78]
inc ecx
inc rdx
cmp ecx, 0x100
jl 0x140153378
mov eax, dword [rbx + 0xc78]
test eax, eax
je 0x140152c6d
add eax, 2
mov dword [rsp + 0x54], eax
mov dword [rbx + 8], 0x1e
jmp 0x1401533f9
mov rsi, qword [rbx]
cmp dword [rsi + 8], ebp
je 0x140154936
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 0x1401533f9
inc dword [rax + 0x10]
mov edi, dword [rbx + 0x24]
cmp edi, 3
jl 0x1401533bc
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 0x140153476
jmp 0x140152c6d
cmp ecx, 0x29
jg 0x140154529
je 0x140153add
cmp ecx, 0x24
jg 0x140153a03
je 0x140153985
sub ecx, 0x1f
je 0x140153471
sub ecx, 1
je 0x1401534fc
sub ecx, 1
je 0x140153624
sub ecx, 1
je 0x1401536a7
cmp ecx, 1
je 0x140153704
jmp 0x140154576
mov r8d, dword [rsp + 0x58]
mov dword [rbx + 8], 0x1f
jmp 0x1401534bc
mov rsi, qword [rbx]
cmp dword [rsi + 8], ebp
je 0x140154936
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 0x1401534bc
inc dword [rax + 0x10]
mov edi, dword [rbx + 0x24]
cmp edi, 0xf
jl 0x14015347f
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 0x140152c6d
mov r12d, ebp
mov edx, 0x4652
cmp r12d, r9d
jge 0x140153592
mov dword [rsp + 0x44], ebp
mov r8d, dword [rsp + 0x58]
mov dword [rbx + 8], 0x20
jmp 0x140153547
mov rsi, qword [rbx]
cmp dword [rsi + 8], ebp
je 0x140154936
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 0x140153547
inc dword [rax + 0x10]
mov edi, dword [rbx + 0x24]
cmp edi, 1
jl 0x14015350a
mov eax, dword [rbx + 0x20]
lea ecx, [rdi - 1]
shr eax, cl
mov dword [rbx + 0x24], ecx
test al, 1
je 0x140153572
mov edx, dword [rsp + 0x44]
inc edx
mov dword [rsp + 0x44], edx
cmp edx, r8d
jl 0x140153501
jmp 0x140152c6d
mov edx, 0x4652
cmp r12d, edx
jge 0x14015358a
mov ecx, dword [rsp + 0x44]
movsxd rax, r12d
mov byte [rax + rbx + 0x651e], cl
inc r12d
jmp 0x1401534ef
cmp r9d, edx
mov cl, bpl
cmovg r9d, edx
mov dword [rsp + 0x5c], r9d
test r8d, r8d
jle 0x1401535ba
movzx eax, cl
mov byte [rsp + rax + 0xac], cl
inc cl
movzx eax, cl
cmp eax, r8d
jl 0x1401535a6
mov r12d, ebp
test r9d, r9d
jle 0x14015360e
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 0x1401535f5
mov al, byte [rcx - 1]
mov byte [rcx], al
dec rcx
add dl, 0xff
jne 0x1401535e8
mov byte [rdi], sil
inc rdi
mov byte [rsp + 0xac], sil
sub r8, 1
jne 0x1401535cf
mov r8d, dword [rsp + 0x58]
mov eax, dword [rsp + 0x54]
mov esi, ebp
mov dword [rsp + 0xac], esi
cmp esi, r8d
jge 0x1401537aa
mov dword [rbx + 8], 0x21
jmp 0x14015366a
mov rsi, qword [rbx]
cmp dword [rsi + 8], ebp
je 0x140154936
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 0x14015366a
inc dword [rax + 0x10]
mov edi, dword [rbx + 0x24]
cmp edi, 5
jl 0x14015362d
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 0x14015379e
lea eax, [rdx - 1]
cmp eax, 0x13
ja 0x140152c6d
mov dword [rbx + 8], 0x22
jmp 0x1401536ed
mov rsi, qword [rbx]
cmp dword [rsi + 8], ebp
je 0x140154936
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 0x1401536ed
inc dword [rax + 0x10]
mov edi, dword [rbx + 0x24]
cmp edi, 1
jl 0x1401536b0
mov eax, dword [rbx + 0x20]
lea ecx, [rdi - 1]
shr eax, cl
mov dword [rbx + 0x24], ecx
test al, 1
je 0x140153774
mov dword [rbx + 8], 0x23
jmp 0x14015374a
mov rsi, qword [rbx]
cmp dword [rsi + 8], ebp
je 0x140154936
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 0x14015374a
inc dword [rax + 0x10]
mov edi, dword [rbx + 0x24]
cmp edi, 1
jl 0x14015370d
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 0x140153769
inc edx
jmp 0x14015376b
dec edx
mov dword [rsp + 0x4c], edx
jmp 0x14015369b
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 0x14015368e
mov r8d, dword [rsp + 0x58]
inc esi
jmp 0x140153614
mov dword [rsp + 0xac], ebp
movsxd r15, r8d
test r8d, r8d
jle 0x140153883
lea r12, [rbx + 0xfa0c]
mov r13d, ebp
lea r14, [rbx + 0xab70]
jmp 0x1401537d4
mov eax, dword [rsp + 0x54]
mov edi, 0x20
mov esi, ebp
test eax, eax
jle 0x140153801
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 0x1401537e5
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.140154a70
mov dword [r12], edi
inc r13d
add r12, 4
add r14, 0x102
sub r15, 1
jne 0x1401537d0
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 0x1401538e7
mov dword [r9], r8d
sub r9, 4
sub ecx, 1
jns 0x1401538d0
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 0x140153922
mov ebp, 0xfffffffc
jmp 0x14015493b
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 0x14015398a
mov r15d, dword [rsp + 0x40]
mov dword [rbx + 8], 0x24
jmp 0x1401539d0
mov rsi, qword [rbx]
cmp dword [rsi + 8], ebp
je 0x14015493b
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 0x1401539d0
inc dword [rax + 0x10]
mov edi, dword [rbx + 0x24]
cmp edi, r14d
jl 0x140153993
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 0x140153a99
sub ecx, 0x25
je 0x140153a28
sub ecx, 1
je 0x140153c6a
sub ecx, 1
je 0x140153cf9
cmp ecx, 1
je 0x1401540b6
jmp 0x140154576
mov r15d, dword [rsp + 0x40]
mov r8, rdx
mov dword [rbx + 8], 0x25
jmp 0x140153a76
mov rsi, qword [rbx]
cmp dword [rsi + 8], ebp
je 0x14015493b
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 0x140153a76
inc dword [rax + 0x10]
mov edi, dword [rbx + 0x24]
cmp edi, 1
jl 0x140153a39
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 0x140153918
movsxd rcx, r14d
cmp r13d, dword [r8 + rcx*4]
jle 0x140153ab4
inc r14d
jmp 0x140153a30
mov rdx, qword [rsp + 0x98]
mov eax, r13d
sub eax, dword [rdx + rcx*4]
cmp eax, 0x101
ja 0x140153918
mov r15, qword [rsp + 0x70]
cdqe
mov eax, dword [r15 + rax*4]
jmp 0x140153b8e
mov r8, rdx
mov edi, dword [rbx + 0x24]
mov dword [rbx + 8], 0x29
cmp edi, 1
jge 0x140153b39
mov rsi, qword [rbx]
cmp dword [rsi + 8], ebp
je 0x140154936
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 0x140153b2c
inc dword [rax + 0x10]
mov edi, dword [rbx + 0x24]
cmp edi, 1
jl 0x140153aef
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 0x140152c6d
movsxd rcx, r14d
cmp r13d, dword [r8 + rcx*4]
jg 0x140154134
mov rdx, qword [rsp + 0x98]
mov eax, r13d
sub eax, dword [rdx + rcx*4]
cmp eax, 0x101
ja 0x140152c6d
mov r15, qword [rsp + 0x70]
cdqe
mov eax, dword [rsi + rax*4]
mov dword [rsp + 0x48], eax
cmp eax, dword [rsp + 0x90]
je 0x140154149
cmp eax, 1
ja 0x140153e48
or r8d, 0xffffffff
mov dword [rsp + 0x50], r8d
lea esi, [r8 + 2]
mov dword [rsp + 0x78], esi
jmp 0x140153bbf
mov esi, dword [rsp + 0x78]
cmp esi, 0x200000
jge 0x140152c6d
test eax, eax
jne 0x140153bd4
add r8d, esi
jmp 0x140153bdd
cmp eax, 1
jne 0x140153be2
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 0x140153c5d
inc r11d
mov dword [rsp + 0x60], r11d
cmp r11d, r9d
jge 0x14015413c
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 0x140153c6d
mov r15, rsi
mov dword [rbx + 8], 0x26
jmp 0x140153cb3
mov rsi, qword [rbx]
cmp dword [rsi + 8], ebp
je 0x140154936
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 0x140153cb3
inc dword [rax + 0x10]
mov edi, dword [rbx + 0x24]
cmp edi, r14d
jl 0x140153c76
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 0x140152c6d
mov rax, qword [rsp + 0x88]
movsxd rcx, r14d
cmp r13d, dword [rax + rcx*4]
jle 0x140153d6a
inc r14d
jmp 0x140153cfc
mov r15, rsi
mov dword [rbx + 8], 0x27
jmp 0x140153d42
mov rsi, qword [rbx]
cmp dword [rsi + 8], ebp
je 0x140154936
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 0x140153d42
inc dword [rax + 0x10]
mov edi, dword [rbx + 0x24]
cmp edi, 1
jl 0x140153d05
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 0x140153cd9
mov rdx, qword [rsp + 0x98]
mov eax, r13d
sub eax, dword [rdx + rcx*4]
cmp eax, 0x101
ja 0x140152c6d
cdqe
mov eax, dword [r15 + rax*4]
mov dword [rsp + 0x48], eax
test eax, eax
je 0x140153bbb
cmp eax, 1
je 0x140153bbb
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 0x140153e0b
test r8d, r8d
jle 0x140153b92
cmp rdx, rsi
jge 0x140152c6d
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 0x140153ddd
jmp 0x140153e3f
test r8d, r8d
jle 0x140153b92
cmp rdx, rsi
jge 0x140152c6d
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 0x140153e14
mov eax, dword [rsp + 0x48]
jmp 0x140153b92
cmp r10d, dword [rsp + 0x7c]
jge 0x140152c6d
lea edx, [rax - 1]
cmp edx, 0x10
jae 0x140153efa
movsxd rsi, dword [rbx + 0x1e8c]
lea edi, [rsi + rdx]
mov r11b, byte [rdi + rbx + 0xe8c]
cmp edx, 3
jbe 0x140153ecb
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 0x140153e81
test edx, edx
je 0x140153eed
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 0x140153ed4
mov byte [rsi + rbx + 0xe8c], r11b
jmp 0x140153fe7
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 0x140153f34
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 0x140153f1a
lea ecx, [rax + 1]
mov dword [rbx + rdi*4 + 0x1e8c], ecx
test edi, edi
je 0x140153f74
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 0x140153f51
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 0x140153fe7
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 0x140153fbe
mov dword [rdx], r8d
sub rdx, 4
sub r9, 1
jns 0x140153fae
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 0x140154018
movzx ecx, ax
mov rax, qword [rbx + 0xc58]
mov word [rax + rdx*2], cx
jmp 0x140154024
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 0x1401540ab
inc r11d
mov dword [rsp + 0x60], r11d
cmp r11d, r9d
jge 0x14015413c
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 0x1401540fc
mov rsi, qword [rbx]
cmp dword [rsi + 8], ebp
je 0x140154936
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 0x1401540fc
inc dword [rax + 0x10]
mov edi, dword [rbx + 0x24]
cmp edi, r14d
jl 0x1401540bf
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 0x140153b54
inc r14d
jmp 0x140153ae0
mov ebp, 0xfffffffc
mov r15d, edx
jmp 0x14015493b
cmp dword [rbx + 0x38], ebp
jl 0x140152c6d
cmp dword [rbx + 0x38], r10d
jge 0x140152c6d
mov r12d, ebp
mov r15d, 1
movsxd rax, r12d
cmp dword [rbx + rax*4 + 0x44], ebp
jl 0x140152c6d
cmp dword [rbx + rax*4 + 0x44], r10d
jg 0x140152c6d
add r12d, r15d
cmp r12d, 0xff
jle 0x140154165
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 0x1401541ab
mov r12d, ebp
movsxd rax, r12d
mov ecx, dword [rbx + rax*4 + 0x448]
test ecx, ecx
js 0x140152c6d
cmp ecx, r10d
jg 0x140152c6d
add r12d, r15d
cmp r12d, r8d
jle 0x1401541bc
mov r12d, r15d
movsxd rcx, r12d
mov eax, dword [rbx + rcx*4 + 0x448]
cmp dword [rbx + rcx*4 + 0x444], eax
jg 0x140152c6d
add r12d, r15d
cmp r12d, r8d
jle 0x1401541e2
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 0x14015445b
lea rdi, [rbx + 0x84c]
mov ecx, 0x101
lea rsi, [rbx + 0x448]
rep movsd dword [rdi], dword [rsi]
mov esi, ebp
test r10d, r10d
jle 0x1401542a2
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 0x140154281
sar ecx, 0x10
and r8b, 0xf0
or cl, r8b
jmp 0x14015428d
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 0x14015423f
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 0x140154336
sar r12d, 0x10
and cl, 0xf0
or r12b, cl
jmp 0x140154344
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 0x1401542db
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 0x140154404
mov qword [rbx + 0x18], rbp
cmp ecx, eax
jae 0x140154503
lea rdx, [rbx + 0x448]
call fcn.140151bbc
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 0x1401543f2
movsxd rcx, dword [rbx + 0x1c]
lea rdx, [0x14024ee50]
mov edx, dword [rdx + rcx*4]
lea eax, [rcx + 1]
mov dword [rbx + 0x1c], eax
cmp eax, 0x200
jne 0x1401543f2
mov dword [rbx + 0x1c], ebp
mov ecx, ebp
lea eax, [rdx - 1]
cmp eax, r15d
sete cl
xor ecx, esi
jmp 0x1401544f4
cmp ecx, eax
jae 0x140154503
lea rdx, [rbx + 0x448]
call fcn.140151bbc
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 0x140154936
mov r12d, ebp
test r10d, r10d
jle 0x140154496
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 0x140154466
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 0x1401544ff
mov qword [rbx + 0x18], rbp
cmp ecx, eax
jae 0x140154503
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 [0x14024ee50]
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 0x140154936
cmp ecx, eax
jb 0x14015450b
mov eax, r15d
jmp 0x140154a3c
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 0x140154936
sub ecx, 0x2a
je 0x14015458f
sub ecx, 1
je 0x1401545f0
sub ecx, 1
je 0x140154651
sub ecx, 1
je 0x1401546b2
sub ecx, 1
je 0x140154713
sub ecx, 1
je 0x14015477a
sub ecx, 1
je 0x1401547e7
sub ecx, 1
je 0x140154854
cmp ecx, 1
je 0x1401548c1
mov ecx, 0xfa1
call fcn.140118d10
mov ecx, 0xfa2
call fcn.140118d10
jmp 0x140154936
mov dword [rbx + 8], 0x2a
jmp 0x1401545d5
mov rsi, qword [rbx]
cmp dword [rsi + 8], ebp
je 0x140154936
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 0x1401545d5
inc dword [rax + 0x10]
mov edi, dword [rbx + 0x24]
cmp edi, 8
jl 0x140154598
mov eax, dword [rbx + 0x20]
lea ecx, [rdi - 8]
shr eax, cl
mov dword [rbx + 0x24], ecx
cmp al, 0x72
jne 0x140152c6d
mov dword [rbx + 8], 0x2b
jmp 0x140154636
mov rsi, qword [rbx]
cmp dword [rsi + 8], ebp
je 0x140154936
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 0x140154636
inc dword [rax + 0x10]
mov edi, dword [rbx + 0x24]
cmp edi, 8
jl 0x1401545f9
mov eax, dword [rbx + 0x20]
lea ecx, [rdi - 8]
shr eax, cl
mov dword [rbx + 0x24], ecx
cmp al, 0x45
jne 0x140152c6d
mov dword [rbx + 8], 0x2c
jmp 0x140154697
mov rsi, qword [rbx]
cmp dword [rsi + 8], ebp
je 0x140154936
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 0x140154697
inc dword [rax + 0x10]
mov edi, dword [rbx + 0x24]
cmp edi, 8
jl 0x14015465a
mov eax, dword [rbx + 0x20]
lea ecx, [rdi - 8]
shr eax, cl
mov dword [rbx + 0x24], ecx
cmp al, 0x38
jne 0x140152c6d
mov dword [rbx + 8], 0x2d
jmp 0x1401546f8
mov rsi, qword [rbx]
cmp dword [rsi + 8], ebp
je 0x140154936
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 0x1401546f8
inc dword [rax + 0x10]
mov edi, dword [rbx + 0x24]
cmp edi, 8
jl 0x1401546bb
mov eax, dword [rbx + 0x20]
lea ecx, [rdi - 8]
shr eax, cl
mov dword [rbx + 0x24], ecx
cmp al, 0x50
jne 0x140152c6d
mov dword [rbx + 8], 0x2e
jmp 0x140154759
mov rsi, qword [rbx]
cmp dword [rsi + 8], ebp
je 0x140154936
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 0x140154759
inc dword [rax + 0x10]
mov edi, dword [rbx + 0x24]
cmp edi, 8
jl 0x14015471c
mov eax, dword [rbx + 0x20]
lea ecx, [rdi - 8]
shr eax, cl
mov dword [rbx + 0x24], ecx
cmp al, 0x90
jne 0x140152c6d
mov dword [rbx + 0xc6c], ebp
mov dword [rbx + 8], 0x2f
jmp 0x1401547c0
mov rsi, qword [rbx]
cmp dword [rsi + 8], ebp
je 0x140154936
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 0x1401547c0
inc dword [rax + 0x10]
mov edi, dword [rbx + 0x24]
cmp edi, 8
jl 0x140154783
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 0x14015482d
mov rsi, qword [rbx]
cmp dword [rsi + 8], ebp
je 0x140154936
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 0x14015482d
inc dword [rax + 0x10]
mov edi, dword [rbx + 0x24]
cmp edi, 8
jl 0x1401547f0
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 0x14015489a
mov rsi, qword [rbx]
cmp dword [rsi + 8], ebp
je 0x140154936
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 0x14015489a
inc dword [rax + 0x10]
mov edi, dword [rbx + 0x24]
cmp edi, 8
jl 0x14015485d
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 0x140154903
mov rsi, qword [rbx]
cmp dword [rsi + 8], ebp
je 0x140154936
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 0x140154903
inc dword [rax + 0x10]
mov edi, dword [rbx + 0x24]
cmp edi, 8
jl 0x1401548ca
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.1401550e0
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