Function at 0x140154dcc
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 [0x140252b40]
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 0x140154ea2
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 0x140155a15
je 0x1401559a3
cmp ecx, 0x14
jg 0x1401554eb
je 0x140155472
cmp ecx, 0xf
jg 0x1401552cd
je 0x140155267
sub ecx, 0xa
je 0x140154ffd
sub ecx, 1
je 0x140155064
sub ecx, 1
je 0x1401550c1
sub ecx, 1
je 0x140155122
cmp ecx, 1
jne 0x140156b66
mov dword [rbx + 8], 0xe
jmp 0x14015523e
mov dword [rbx + 8], 0xa
jmp 0x140155043
mov rsi, qword [rbx]
cmp dword [rsi + 8], ebp
je 0x140156f26
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 0x140155043
inc dword [rax + 0x10]
mov edi, dword [rbx + 0x24]
cmp edi, 8
jl 0x140155006
mov eax, dword [rbx + 0x20]
lea ecx, [rdi - 8]
shr eax, cl
mov dword [rbx + 0x24], ecx
cmp al, 0x42
je 0x140155064
mov ebp, 0xfffffffb
jmp 0x140156f26
mov dword [rbx + 8], 0xb
jmp 0x1401550aa
mov rsi, qword [rbx]
cmp dword [rsi + 8], ebp
je 0x140156f26
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 0x1401550aa
inc dword [rax + 0x10]
mov edi, dword [rbx + 0x24]
cmp edi, 8
jl 0x14015506d
mov eax, dword [rbx + 0x20]
lea ecx, [rdi - 8]
shr eax, cl
mov dword [rbx + 0x24], ecx
cmp al, 0x5a
jne 0x14015505a
mov dword [rbx + 8], 0xc
jmp 0x140155107
mov rsi, qword [rbx]
cmp dword [rsi + 8], ebp
je 0x140156f26
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 0x140155107
inc dword [rax + 0x10]
mov edi, dword [rbx + 0x24]
cmp edi, 8
jl 0x1401550ca
mov eax, dword [rbx + 0x20]
lea ecx, [rdi - 8]
shr eax, cl
mov dword [rbx + 0x24], ecx
cmp al, 0x68
jne 0x14015505a
mov dword [rbx + 8], 0xd
jmp 0x140155168
mov rsi, qword [rbx]
cmp dword [rsi + 8], ebp
je 0x140156f26
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 0x140155168
inc dword [rax + 0x10]
mov edi, dword [rbx + 0x24]
cmp edi, 8
jl 0x14015512b
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 0x14015505a
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 0x1401551f0
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 0x1401551e6
test rax, rax
jne 0x140154ff1
mov ebp, 0xfffffffd
jmp 0x140156f26
imul edx, edx, 0x61a80
call rax
mov qword [rbx + 0xc50], rax
jmp 0x1401551dd
mov rsi, qword [rbx]
cmp dword [rsi + 8], ebp
je 0x140156f26
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 0x14015523e
inc dword [rax + 0x10]
mov edi, dword [rbx + 0x24]
cmp edi, 8
jl 0x140155201
mov eax, dword [rbx + 0x20]
lea ecx, [rdi - 8]
shr eax, cl
mov dword [rbx + 0x24], ecx
cmp al, 0x17
je 0x140156b7f
cmp al, 0x31
je 0x140155267
mov ebp, 0xfffffffc
jmp 0x140156f26
mov dword [rbx + 8], 0xf
jmp 0x1401552ad
mov rsi, qword [rbx]
cmp dword [rsi + 8], ebp
je 0x140156f26
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 0x1401552ad
inc dword [rax + 0x10]
mov edi, dword [rbx + 0x24]
cmp edi, 8
jl 0x140155270
mov eax, dword [rbx + 0x20]
lea ecx, [rdi - 8]
shr eax, cl
mov dword [rbx + 0x24], ecx
cmp al, 0x41
jne 0x14015525d
mov dword [rbx + 8], 0x10
jmp 0x14015532b
sub ecx, 0x10
je 0x1401552c4
sub ecx, 1
je 0x140155346
sub ecx, 1
je 0x1401553a7
cmp ecx, 1
je 0x140155408
jmp 0x140156b66
mov rsi, qword [rbx]
cmp dword [rsi + 8], ebp
je 0x140156f26
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 0x14015532b
inc dword [rax + 0x10]
mov edi, dword [rbx + 0x24]
cmp edi, 8
jl 0x1401552ee
mov eax, dword [rbx + 0x20]
lea ecx, [rdi - 8]
shr eax, cl
mov dword [rbx + 0x24], ecx
cmp al, 0x59
jne 0x14015525d
mov dword [rbx + 8], 0x11
jmp 0x14015538c
mov rsi, qword [rbx]
cmp dword [rsi + 8], ebp
je 0x140156f26
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 0x14015538c
inc dword [rax + 0x10]
mov edi, dword [rbx + 0x24]
cmp edi, 8
jl 0x14015534f
mov eax, dword [rbx + 0x20]
lea ecx, [rdi - 8]
shr eax, cl
mov dword [rbx + 0x24], ecx
cmp al, 0x26
jne 0x14015525d
mov dword [rbx + 8], 0x12
jmp 0x1401553ed
mov rsi, qword [rbx]
cmp dword [rsi + 8], ebp
je 0x140156f26
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 0x1401553ed
inc dword [rax + 0x10]
mov edi, dword [rbx + 0x24]
cmp edi, 8
jl 0x1401553b0
mov eax, dword [rbx + 0x20]
lea ecx, [rdi - 8]
shr eax, cl
mov dword [rbx + 0x24], ecx
cmp al, 0x53
jne 0x14015525d
mov dword [rbx + 8], 0x13
jmp 0x14015544e
mov rsi, qword [rbx]
cmp dword [rsi + 8], ebp
je 0x140156f26
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 0x14015544e
inc dword [rax + 0x10]
mov edi, dword [rbx + 0x24]
cmp edi, 8
jl 0x140155411
mov eax, dword [rbx + 0x20]
lea ecx, [rdi - 8]
shr eax, cl
mov dword [rbx + 0x24], ecx
cmp al, 0x59
jne 0x14015525d
inc dword [rbx + 0x30]
mov dword [rbx + 0xc68], ebp
mov dword [rbx + 8], 0x14
jmp 0x1401554b8
mov rsi, qword [rbx]
cmp dword [rsi + 8], ebp
je 0x140156f26
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 0x1401554b8
inc dword [rax + 0x10]
mov edi, dword [rbx + 0x24]
cmp edi, 8
jl 0x14015547b
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 0x14015557a
sub ecx, 0x15
je 0x1401554df
sub ecx, 1
je 0x1401555a1
sub ecx, 1
je 0x14015560e
sub ecx, 1
je 0x14015567b
sub ecx, 1
je 0x1401556dc
sub ecx, 1
je 0x140155743
sub ecx, 1
je 0x1401557aa
sub ecx, 1
je 0x140155832
cmp ecx, 1
je 0x1401558da
jmp 0x140156b66
mov rsi, qword [rbx]
cmp dword [rsi + 8], ebp
je 0x140156f26
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 0x14015557a
inc dword [rax + 0x10]
mov edi, dword [rbx + 0x24]
cmp edi, 8
jl 0x14015553d
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 0x1401555e7
mov rsi, qword [rbx]
cmp dword [rsi + 8], ebp
je 0x140156f26
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 0x1401555e7
inc dword [rax + 0x10]
mov edi, dword [rbx + 0x24]
cmp edi, 8
jl 0x1401555aa
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 0x140155654
mov rsi, qword [rbx]
cmp dword [rsi + 8], ebp
je 0x140156f26
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 0x140155654
inc dword [rax + 0x10]
mov edi, dword [rbx + 0x24]
cmp edi, 8
jl 0x140155617
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 0x1401556c1
mov rsi, qword [rbx]
cmp dword [rsi + 8], ebp
je 0x140156f26
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 0x1401556c1
inc dword [rax + 0x10]
mov edi, dword [rbx + 0x24]
cmp edi, 1
jl 0x140155684
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 0x140155722
mov rsi, qword [rbx]
cmp dword [rsi + 8], ebp
je 0x140156f26
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 0x140155722
inc dword [rax + 0x10]
mov edi, dword [rbx + 0x24]
cmp edi, 8
jl 0x1401556e5
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 0x140155789
mov rsi, qword [rbx]
cmp dword [rsi + 8], ebp
je 0x140156f26
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 0x140155789
inc dword [rax + 0x10]
mov edi, dword [rbx + 0x24]
cmp edi, 8
jl 0x14015574c
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 0x1401557f0
mov rsi, qword [rbx]
cmp dword [rsi + 8], ebp
je 0x140156f26
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 0x1401557f0
inc dword [rax + 0x10]
mov edi, dword [rbx + 0x24]
cmp edi, 8
jl 0x1401557b3
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 0x14015525d
imul eax, dword [rbx + 0x28], 0x186a0
add eax, 0xa
cmp ecx, eax
jg 0x14015525d
mov r12d, ebp
cmp r12d, 0x10
jge 0x14015589d
mov dword [rbx + 8], 0x1c
jmp 0x140155878
mov rsi, qword [rbx]
cmp dword [rsi + 8], ebp
je 0x140156f26
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 0x140155878
inc dword [rax + 0x10]
mov edi, dword [rbx + 0x24]
cmp edi, 1
jl 0x14015583b
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 0x14015582c
lea rcx, [rbx + 0xc7c]
xor edx, edx
mov r8d, 0x100
call sub.VCRUNTIME140.dll_memset
mov r12d, ebp
cmp r12d, 0x10
jge 0x140155959
movsxd rax, r12d
cmp byte [rax + rbx + 0xd7c], bpl
je 0x140155951
mov edx, ebp
mov dword [rsp + 0x44], edx
cmp edx, 0x10
jge 0x140155951
mov dword [rbx + 8], 0x1d
jmp 0x140155920
mov rsi, qword [rbx]
cmp dword [rsi + 8], ebp
je 0x140156f26
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 0x140155920
inc dword [rax + 0x10]
mov edi, dword [rbx + 0x24]
cmp edi, 1
jl 0x1401558e3
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 0x14015594d
mov eax, r12d
shl eax, 4
add eax, edx
cdqe
mov byte [rax + rbx + 0xc7c], 1
inc edx
jmp 0x1401558d1
inc r12d
jmp 0x1401558b4
mov dword [rbx + 0xc78], ebp
lea rdx, [rbx + 0xc7c]
mov ecx, ebp
cmp byte [rdx], bpl
je 0x140155981
movsxd rax, dword [rbx + 0xc78]
mov byte [rax + rbx + 0xd8c], cl
inc dword [rbx + 0xc78]
inc ecx
inc rdx
cmp ecx, 0x100
jl 0x140155968
mov eax, dword [rbx + 0xc78]
test eax, eax
je 0x14015525d
add eax, 2
mov dword [rsp + 0x54], eax
mov dword [rbx + 8], 0x1e
jmp 0x1401559e9
mov rsi, qword [rbx]
cmp dword [rsi + 8], ebp
je 0x140156f26
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 0x1401559e9
inc dword [rax + 0x10]
mov edi, dword [rbx + 0x24]
cmp edi, 3
jl 0x1401559ac
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 0x140155a66
jmp 0x14015525d
cmp ecx, 0x29
jg 0x140156b19
je 0x1401560cd
cmp ecx, 0x24
jg 0x140155ff3
je 0x140155f75
sub ecx, 0x1f
je 0x140155a61
sub ecx, 1
je 0x140155aec
sub ecx, 1
je 0x140155c14
sub ecx, 1
je 0x140155c97
cmp ecx, 1
je 0x140155cf4
jmp 0x140156b66
mov r8d, dword [rsp + 0x58]
mov dword [rbx + 8], 0x1f
jmp 0x140155aac
mov rsi, qword [rbx]
cmp dword [rsi + 8], ebp
je 0x140156f26
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 0x140155aac
inc dword [rax + 0x10]
mov edi, dword [rbx + 0x24]
cmp edi, 0xf
jl 0x140155a6f
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 0x14015525d
mov r12d, ebp
mov edx, 0x4652
cmp r12d, r9d
jge 0x140155b82
mov dword [rsp + 0x44], ebp
mov r8d, dword [rsp + 0x58]
mov dword [rbx + 8], 0x20
jmp 0x140155b37
mov rsi, qword [rbx]
cmp dword [rsi + 8], ebp
je 0x140156f26
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 0x140155b37
inc dword [rax + 0x10]
mov edi, dword [rbx + 0x24]
cmp edi, 1
jl 0x140155afa
mov eax, dword [rbx + 0x20]
lea ecx, [rdi - 1]
shr eax, cl
mov dword [rbx + 0x24], ecx
test al, 1
je 0x140155b62
mov edx, dword [rsp + 0x44]
inc edx
mov dword [rsp + 0x44], edx
cmp edx, r8d
jl 0x140155af1
jmp 0x14015525d
mov edx, 0x4652
cmp r12d, edx
jge 0x140155b7a
mov ecx, dword [rsp + 0x44]
movsxd rax, r12d
mov byte [rax + rbx + 0x651e], cl
inc r12d
jmp 0x140155adf
cmp r9d, edx
mov cl, bpl
cmovg r9d, edx
mov dword [rsp + 0x5c], r9d
test r8d, r8d
jle 0x140155baa
movzx eax, cl
mov byte [rsp + rax + 0xac], cl
inc cl
movzx eax, cl
cmp eax, r8d
jl 0x140155b96
mov r12d, ebp
test r9d, r9d
jle 0x140155bfe
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 0x140155be5
mov al, byte [rcx - 1]
mov byte [rcx], al
dec rcx
add dl, 0xff
jne 0x140155bd8
mov byte [rdi], sil
inc rdi
mov byte [rsp + 0xac], sil
sub r8, 1
jne 0x140155bbf
mov r8d, dword [rsp + 0x58]
mov eax, dword [rsp + 0x54]
mov esi, ebp
mov dword [rsp + 0xac], esi
cmp esi, r8d
jge 0x140155d9a
mov dword [rbx + 8], 0x21
jmp 0x140155c5a
mov rsi, qword [rbx]
cmp dword [rsi + 8], ebp
je 0x140156f26
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 0x140155c5a
inc dword [rax + 0x10]
mov edi, dword [rbx + 0x24]
cmp edi, 5
jl 0x140155c1d
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 0x140155d8e
lea eax, [rdx - 1]
cmp eax, 0x13
ja 0x14015525d
mov dword [rbx + 8], 0x22
jmp 0x140155cdd
mov rsi, qword [rbx]
cmp dword [rsi + 8], ebp
je 0x140156f26
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 0x140155cdd
inc dword [rax + 0x10]
mov edi, dword [rbx + 0x24]
cmp edi, 1
jl 0x140155ca0
mov eax, dword [rbx + 0x20]
lea ecx, [rdi - 1]
shr eax, cl
mov dword [rbx + 0x24], ecx
test al, 1
je 0x140155d64
mov dword [rbx + 8], 0x23
jmp 0x140155d3a
mov rsi, qword [rbx]
cmp dword [rsi + 8], ebp
je 0x140156f26
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 0x140155d3a
inc dword [rax + 0x10]
mov edi, dword [rbx + 0x24]
cmp edi, 1
jl 0x140155cfd
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 0x140155d59
inc edx
jmp 0x140155d5b
dec edx
mov dword [rsp + 0x4c], edx
jmp 0x140155c8b
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 0x140155c7e
mov r8d, dword [rsp + 0x58]
inc esi
jmp 0x140155c04
mov dword [rsp + 0xac], ebp
movsxd r15, r8d
test r8d, r8d
jle 0x140155e73
lea r12, [rbx + 0xfa0c]
mov r13d, ebp
lea r14, [rbx + 0xab70]
jmp 0x140155dc4
mov eax, dword [rsp + 0x54]
mov edi, 0x20
mov esi, ebp
test eax, eax
jle 0x140155df1
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 0x140155dd5
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.140157060
mov dword [r12], edi
inc r13d
add r12, 4
add r14, 0x102
sub r15, 1
jne 0x140155dc0
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 0x140155ed7
mov dword [r9], r8d
sub r9, 4
sub ecx, 1
jns 0x140155ec0
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 0x140155f12
mov ebp, 0xfffffffc
jmp 0x140156f2b
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 0x140155f7a
mov r15d, dword [rsp + 0x40]
mov dword [rbx + 8], 0x24
jmp 0x140155fc0
mov rsi, qword [rbx]
cmp dword [rsi + 8], ebp
je 0x140156f2b
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 0x140155fc0
inc dword [rax + 0x10]
mov edi, dword [rbx + 0x24]
cmp edi, r14d
jl 0x140155f83
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 0x140156089
sub ecx, 0x25
je 0x140156018
sub ecx, 1
je 0x14015625a
sub ecx, 1
je 0x1401562e9
cmp ecx, 1
je 0x1401566a6
jmp 0x140156b66
mov r15d, dword [rsp + 0x40]
mov r8, rdx
mov dword [rbx + 8], 0x25
jmp 0x140156066
mov rsi, qword [rbx]
cmp dword [rsi + 8], ebp
je 0x140156f2b
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 0x140156066
inc dword [rax + 0x10]
mov edi, dword [rbx + 0x24]
cmp edi, 1
jl 0x140156029
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 0x140155f08
movsxd rcx, r14d
cmp r13d, dword [r8 + rcx*4]
jle 0x1401560a4
inc r14d
jmp 0x140156020
mov rdx, qword [rsp + 0x98]
mov eax, r13d
sub eax, dword [rdx + rcx*4]
cmp eax, 0x101
ja 0x140155f08
mov r15, qword [rsp + 0x70]
cdqe
mov eax, dword [r15 + rax*4]
jmp 0x14015617e
mov r8, rdx
mov edi, dword [rbx + 0x24]
mov dword [rbx + 8], 0x29
cmp edi, 1
jge 0x140156129
mov rsi, qword [rbx]
cmp dword [rsi + 8], ebp
je 0x140156f26
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 0x14015611c
inc dword [rax + 0x10]
mov edi, dword [rbx + 0x24]
cmp edi, 1
jl 0x1401560df
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 0x14015525d
movsxd rcx, r14d
cmp r13d, dword [r8 + rcx*4]
jg 0x140156724
mov rdx, qword [rsp + 0x98]
mov eax, r13d
sub eax, dword [rdx + rcx*4]
cmp eax, 0x101
ja 0x14015525d
mov r15, qword [rsp + 0x70]
cdqe
mov eax, dword [rsi + rax*4]
mov dword [rsp + 0x48], eax
cmp eax, dword [rsp + 0x90]
je 0x140156739
cmp eax, 1
ja 0x140156438
or r8d, 0xffffffff
mov dword [rsp + 0x50], r8d
lea esi, [r8 + 2]
mov dword [rsp + 0x78], esi
jmp 0x1401561af
mov esi, dword [rsp + 0x78]
cmp esi, 0x200000
jge 0x14015525d
test eax, eax
jne 0x1401561c4
add r8d, esi
jmp 0x1401561cd
cmp eax, 1
jne 0x1401561d2
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 0x14015624d
inc r11d
mov dword [rsp + 0x60], r11d
cmp r11d, r9d
jge 0x14015672c
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 0x14015625d
mov r15, rsi
mov dword [rbx + 8], 0x26
jmp 0x1401562a3
mov rsi, qword [rbx]
cmp dword [rsi + 8], ebp
je 0x140156f26
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 0x1401562a3
inc dword [rax + 0x10]
mov edi, dword [rbx + 0x24]
cmp edi, r14d
jl 0x140156266
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 0x14015525d
mov rax, qword [rsp + 0x88]
movsxd rcx, r14d
cmp r13d, dword [rax + rcx*4]
jle 0x14015635a
inc r14d
jmp 0x1401562ec
mov r15, rsi
mov dword [rbx + 8], 0x27
jmp 0x140156332
mov rsi, qword [rbx]
cmp dword [rsi + 8], ebp
je 0x140156f26
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 0x140156332
inc dword [rax + 0x10]
mov edi, dword [rbx + 0x24]
cmp edi, 1
jl 0x1401562f5
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 0x1401562c9
mov rdx, qword [rsp + 0x98]
mov eax, r13d
sub eax, dword [rdx + rcx*4]
cmp eax, 0x101
ja 0x14015525d
cdqe
mov eax, dword [r15 + rax*4]
mov dword [rsp + 0x48], eax
test eax, eax
je 0x1401561ab
cmp eax, 1
je 0x1401561ab
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 0x1401563fb
test r8d, r8d
jle 0x140156182
cmp rdx, rsi
jge 0x14015525d
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 0x1401563cd
jmp 0x14015642f
test r8d, r8d
jle 0x140156182
cmp rdx, rsi
jge 0x14015525d
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 0x140156404
mov eax, dword [rsp + 0x48]
jmp 0x140156182
cmp r10d, dword [rsp + 0x7c]
jge 0x14015525d
lea edx, [rax - 1]
cmp edx, 0x10
jae 0x1401564ea
movsxd rsi, dword [rbx + 0x1e8c]
lea edi, [rsi + rdx]
mov r11b, byte [rdi + rbx + 0xe8c]
cmp edx, 3
jbe 0x1401564bb
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 0x140156471
test edx, edx
je 0x1401564dd
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 0x1401564c4
mov byte [rsi + rbx + 0xe8c], r11b
jmp 0x1401565d7
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 0x140156524
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 0x14015650a
lea ecx, [rax + 1]
mov dword [rbx + rdi*4 + 0x1e8c], ecx
test edi, edi
je 0x140156564
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 0x140156541
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 0x1401565d7
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 0x1401565ae
mov dword [rdx], r8d
sub rdx, 4
sub r9, 1
jns 0x14015659e
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 0x140156608
movzx ecx, ax
mov rax, qword [rbx + 0xc58]
mov word [rax + rdx*2], cx
jmp 0x140156614
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 0x14015669b
inc r11d
mov dword [rsp + 0x60], r11d
cmp r11d, r9d
jge 0x14015672c
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 0x1401566ec
mov rsi, qword [rbx]
cmp dword [rsi + 8], ebp
je 0x140156f26
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 0x1401566ec
inc dword [rax + 0x10]
mov edi, dword [rbx + 0x24]
cmp edi, r14d
jl 0x1401566af
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 0x140156144
inc r14d
jmp 0x1401560d0
mov ebp, 0xfffffffc
mov r15d, edx
jmp 0x140156f2b
cmp dword [rbx + 0x38], ebp
jl 0x14015525d
cmp dword [rbx + 0x38], r10d
jge 0x14015525d
mov r12d, ebp
mov r15d, 1
movsxd rax, r12d
cmp dword [rbx + rax*4 + 0x44], ebp
jl 0x14015525d
cmp dword [rbx + rax*4 + 0x44], r10d
jg 0x14015525d
add r12d, r15d
cmp r12d, 0xff
jle 0x140156755
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 0x14015679b
mov r12d, ebp
movsxd rax, r12d
mov ecx, dword [rbx + rax*4 + 0x448]
test ecx, ecx
js 0x14015525d
cmp ecx, r10d
jg 0x14015525d
add r12d, r15d
cmp r12d, r8d
jle 0x1401567ac
mov r12d, r15d
movsxd rcx, r12d
mov eax, dword [rbx + rcx*4 + 0x448]
cmp dword [rbx + rcx*4 + 0x444], eax
jg 0x14015525d
add r12d, r15d
cmp r12d, r8d
jle 0x1401567d2
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 0x140156a4b
lea rdi, [rbx + 0x84c]
mov ecx, 0x101
lea rsi, [rbx + 0x448]
rep movsd dword [rdi], dword [rsi]
mov esi, ebp
test r10d, r10d
jle 0x140156892
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 0x140156871
sar ecx, 0x10
and r8b, 0xf0
or cl, r8b
jmp 0x14015687d
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 0x14015682f
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 0x140156926
sar r12d, 0x10
and cl, 0xf0
or r12b, cl
jmp 0x140156934
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 0x1401568cb
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 0x1401569f4
mov qword [rbx + 0x18], rbp
cmp ecx, eax
jae 0x140156af3
lea rdx, [rbx + 0x448]
call fcn.1401541ac
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 0x1401569e2
movsxd rcx, dword [rbx + 0x1c]
lea rdx, [0x140251e50]
mov edx, dword [rdx + rcx*4]
lea eax, [rcx + 1]
mov dword [rbx + 0x1c], eax
cmp eax, 0x200
jne 0x1401569e2
mov dword [rbx + 0x1c], ebp
mov ecx, ebp
lea eax, [rdx - 1]
cmp eax, r15d
sete cl
xor ecx, esi
jmp 0x140156ae4
cmp ecx, eax
jae 0x140156af3
lea rdx, [rbx + 0x448]
call fcn.1401541ac
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 0x140156f26
mov r12d, ebp
test r10d, r10d
jle 0x140156a86
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 0x140156a56
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 0x140156aef
mov qword [rbx + 0x18], rbp
cmp ecx, eax
jae 0x140156af3
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 [0x140251e50]
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 0x140156f26
cmp ecx, eax
jb 0x140156afb
mov eax, r15d
jmp 0x14015702c
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 0x140156f26
sub ecx, 0x2a
je 0x140156b7f
sub ecx, 1
je 0x140156be0
sub ecx, 1
je 0x140156c41
sub ecx, 1
je 0x140156ca2
sub ecx, 1
je 0x140156d03
sub ecx, 1
je 0x140156d6a
sub ecx, 1
je 0x140156dd7
sub ecx, 1
je 0x140156e44
cmp ecx, 1
je 0x140156eb1
mov ecx, 0xfa1
call fcn.14011b2fc
mov ecx, 0xfa2
call fcn.14011b2fc
jmp 0x140156f26
mov dword [rbx + 8], 0x2a
jmp 0x140156bc5
mov rsi, qword [rbx]
cmp dword [rsi + 8], ebp
je 0x140156f26
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 0x140156bc5
inc dword [rax + 0x10]
mov edi, dword [rbx + 0x24]
cmp edi, 8
jl 0x140156b88
mov eax, dword [rbx + 0x20]
lea ecx, [rdi - 8]
shr eax, cl
mov dword [rbx + 0x24], ecx
cmp al, 0x72
jne 0x14015525d
mov dword [rbx + 8], 0x2b
jmp 0x140156c26
mov rsi, qword [rbx]
cmp dword [rsi + 8], ebp
je 0x140156f26
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 0x140156c26
inc dword [rax + 0x10]
mov edi, dword [rbx + 0x24]
cmp edi, 8
jl 0x140156be9
mov eax, dword [rbx + 0x20]
lea ecx, [rdi - 8]
shr eax, cl
mov dword [rbx + 0x24], ecx
cmp al, 0x45
jne 0x14015525d
mov dword [rbx + 8], 0x2c
jmp 0x140156c87
mov rsi, qword [rbx]
cmp dword [rsi + 8], ebp
je 0x140156f26
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 0x140156c87
inc dword [rax + 0x10]
mov edi, dword [rbx + 0x24]
cmp edi, 8
jl 0x140156c4a
mov eax, dword [rbx + 0x20]
lea ecx, [rdi - 8]
shr eax, cl
mov dword [rbx + 0x24], ecx
cmp al, 0x38
jne 0x14015525d
mov dword [rbx + 8], 0x2d
jmp 0x140156ce8
mov rsi, qword [rbx]
cmp dword [rsi + 8], ebp
je 0x140156f26
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 0x140156ce8
inc dword [rax + 0x10]
mov edi, dword [rbx + 0x24]
cmp edi, 8
jl 0x140156cab
mov eax, dword [rbx + 0x20]
lea ecx, [rdi - 8]
shr eax, cl
mov dword [rbx + 0x24], ecx
cmp al, 0x50
jne 0x14015525d
mov dword [rbx + 8], 0x2e
jmp 0x140156d49
mov rsi, qword [rbx]
cmp dword [rsi + 8], ebp
je 0x140156f26
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 0x140156d49
inc dword [rax + 0x10]
mov edi, dword [rbx + 0x24]
cmp edi, 8
jl 0x140156d0c
mov eax, dword [rbx + 0x20]
lea ecx, [rdi - 8]
shr eax, cl
mov dword [rbx + 0x24], ecx
cmp al, 0x90
jne 0x14015525d
mov dword [rbx + 0xc6c], ebp
mov dword [rbx + 8], 0x2f
jmp 0x140156db0
mov rsi, qword [rbx]
cmp dword [rsi + 8], ebp
je 0x140156f26
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 0x140156db0
inc dword [rax + 0x10]
mov edi, dword [rbx + 0x24]
cmp edi, 8
jl 0x140156d73
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 0x140156e1d
mov rsi, qword [rbx]
cmp dword [rsi + 8], ebp
je 0x140156f26
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 0x140156e1d
inc dword [rax + 0x10]
mov edi, dword [rbx + 0x24]
cmp edi, 8
jl 0x140156de0
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 0x140156e8a
mov rsi, qword [rbx]
cmp dword [rsi + 8], ebp
je 0x140156f26
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 0x140156e8a
inc dword [rax + 0x10]
mov edi, dword [rbx + 0x24]
cmp edi, 8
jl 0x140156e4d
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 0x140156ef3
mov rsi, qword [rbx]
cmp dword [rsi + 8], ebp
je 0x140156f26
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 0x140156ef3
inc dword [rax + 0x10]
mov edi, dword [rbx + 0x24]
cmp edi, 8
jl 0x140156eba
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.1401576d0
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