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

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xc8
mov rax, qword [0x007a1a88]
mov qword [rsp + 0xb8], rax
mov rsi, qword [rcx]
mov rbx, rcx
mov ecx, dword [rcx + 8]
xor ebp, ebp
cmp ecx, 0xa
jne 0x460046
mov dword [rbx + 0xfa24], ebp
mov dword [rbx + 0xfa28], ebp
mov dword [rbx + 0xfa2c], ebp
mov dword [rbx + 0xfa30], ebp
mov dword [rbx + 0xfa34], ebp
mov dword [rbx + 0xfa38], ebp
mov dword [rbx + 0xfa3c], ebp
mov dword [rbx + 0xfa40], ebp
mov dword [rbx + 0xfa44], ebp
mov dword [rbx + 0xfa48], ebp
mov dword [rbx + 0xfa4c], ebp
mov dword [rbx + 0xfa50], ebp
mov dword [rbx + 0xfa54], ebp
mov dword [rbx + 0xfa58], ebp
mov dword [rbx + 0xfa5c], ebp
mov dword [rbx + 0xfa60], ebp
mov dword [rbx + 0xfa64], ebp
mov dword [rbx + 0xfa68], ebp
mov dword [rbx + 0xfa6c], ebp
mov dword [rbx + 0xfa70], ebp
mov dword [rbx + 0xfa74], ebp
mov qword [rbx + 0xfa78], rbp
mov qword [rbx + 0xfa80], rbp
mov qword [rbx + 0xfa88], rbp
cmp ecx, 0x1e
mov eax, dword [rbx + 0xfa2c]
mov r12d, dword [rbx + 0xfa28]
mov r9d, dword [rbx + 0xfa40]
mov r10d, dword [rbx + 0xfa44]
mov r11d, dword [rbx + 0xfa50]
mov r8d, dword [rbx + 0xfa54]
mov r15d, dword [rbx + 0xfa64]
mov r14d, dword [rbx + 0xfa68]
mov rdi, qword [rbx + 0xfa78]
mov rdx, qword [rbx + 0xfa88]
mov r13d, dword [rbx + 0xfa24]
mov dword [rsp + 0xac], eax
mov eax, dword [rbx + 0xfa30]
mov dword [rsp + 0x70], r12d
mov dword [rsp + 0x6c], eax
mov eax, dword [rbx + 0xfa34]
mov dword [rsp + 0x60], r9d
mov dword [rsp + 0x40], eax
mov eax, dword [rbx + 0xfa38]
mov dword [rsp + 0x44], r10d
mov dword [rsp + 0x68], eax
mov eax, dword [rbx + 0xfa3c]
mov dword [rsp + 0x64], r11d
mov dword [rsp + 0x90], eax
mov eax, dword [rbx + 0xfa48]
mov dword [rsp + 0x58], r8d
mov dword [rsp + 0x50], eax
mov eax, dword [rbx + 0xfa4c]
mov dword [rsp + 0xa8], r15d
mov dword [rsp + 0x8c], eax
mov eax, dword [rbx + 0xfa58]
mov dword [rsp + 0xa0], r14d
mov dword [rsp + 0x88], eax
mov eax, dword [rbx + 0xfa5c]
mov qword [rsp + 0x48], rdi
mov dword [rsp + 0x54], eax
mov eax, dword [rbx + 0xfa60]
mov qword [rsp + 0x78], rdx
mov dword [rsp + 0xa4], 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 + 0x5c], eax
mov rax, qword [rbx + 0xfa80]
mov qword [rsp + 0x98], rax
jg 0x460c65
je 0x460be7
cmp ecx, 0x14
jg 0x4606f9
je 0x46067d
cmp ecx, 0xf
jg 0x4604bf
je 0x46044e
sub ecx, 0xa
je 0x4601c3
dec ecx
je 0x460231
dec ecx
je 0x460295
dec ecx
je 0x4602fd
dec ecx
jne 0x461d91
mov dword [rbx + 8], 0xe
jmp 0x460422
mov dword [rbx + 8], 0xa
jmp 0x460208
mov rdi, qword [rbx]
cmp dword [rdi + 8], ebp
je 0x461d36
mov rax, qword [rdi]
mov edx, dword [rbx + 0x20]
movzx ecx, byte [rax]
add dword [rbx + 0x24], 8
shl edx, 8
or edx, ecx
mov dword [rbx + 0x20], edx
inc qword [rdi]
mov rax, qword [rbx]
add dword [rax + 8], 0xffffffff
mov rax, qword [rbx]
inc dword [rax + 0xc]
mov rax, qword [rbx]
cmp dword [rax + 0xc], ebp
jne 0x460208
inc dword [rax + 0x10]
cmp dword [rbx + 0x24], 8
jl 0x4601cc
mov edx, dword [rbx + 0x24]
mov eax, dword [rbx + 0x20]
lea ecx, [rdx - 8]
shr eax, cl
movzx ecx, al
lea eax, [rdx - 8]
cmp cl, 0x42
mov dword [rbx + 0x24], eax
je 0x460231
mov ebp, 0xfffffffb
jmp 0x461d36
mov dword [rbx + 8], 0xb
jmp 0x460276
mov rdi, qword [rbx]
cmp dword [rdi + 8], ebp
je 0x461d36
mov rax, qword [rdi]
mov edx, dword [rbx + 0x20]
movzx ecx, byte [rax]
add dword [rbx + 0x24], 8
shl edx, 8
or edx, ecx
mov dword [rbx + 0x20], edx
inc qword [rdi]
mov rax, qword [rbx]
add dword [rax + 8], 0xffffffff
mov rax, qword [rbx]
inc dword [rax + 0xc]
mov rax, qword [rbx]
cmp dword [rax + 0xc], ebp
jne 0x460276
inc dword [rax + 0x10]
cmp dword [rbx + 0x24], 8
jl 0x46023a
mov edx, dword [rbx + 0x24]
mov eax, dword [rbx + 0x20]
lea ecx, [rdx - 8]
shr eax, cl
movzx ecx, al
lea eax, [rdx - 8]
cmp cl, 0x5a
mov dword [rbx + 0x24], eax
jne 0x460227
mov dword [rbx + 8], 0xc
jmp 0x4602da
mov rdi, qword [rbx]
cmp dword [rdi + 8], ebp
je 0x461d36
mov rax, qword [rdi]
mov edx, dword [rbx + 0x20]
movzx ecx, byte [rax]
add dword [rbx + 0x24], 8
shl edx, 8
or edx, ecx
mov dword [rbx + 0x20], edx
inc qword [rdi]
mov rax, qword [rbx]
add dword [rax + 8], 0xffffffff
mov rax, qword [rbx]
inc dword [rax + 0xc]
mov rax, qword [rbx]
cmp dword [rax + 0xc], ebp
jne 0x4602da
inc dword [rax + 0x10]
cmp dword [rbx + 0x24], 8
jl 0x46029e
mov edx, dword [rbx + 0x24]
mov eax, dword [rbx + 0x20]
lea ecx, [rdx - 8]
shr eax, cl
movzx ecx, al
lea eax, [rdx - 8]
cmp cl, 0x68
mov dword [rbx + 0x24], eax
jne 0x460227
mov dword [rbx + 8], 0xd
jmp 0x460342
mov rdi, qword [rbx]
cmp dword [rdi + 8], ebp
je 0x461d36
mov rax, qword [rdi]
mov edx, dword [rbx + 0x20]
movzx ecx, byte [rax]
add dword [rbx + 0x24], 8
shl edx, 8
or edx, ecx
mov dword [rbx + 0x20], edx
inc qword [rdi]
mov rax, qword [rbx]
add dword [rax + 8], 0xffffffff
mov rax, qword [rbx]
inc dword [rax + 0xc]
mov rax, qword [rbx]
cmp dword [rax + 0xc], ebp
jne 0x460342
inc dword [rax + 0x10]
cmp dword [rbx + 0x24], 8
jl 0x460306
mov edx, dword [rbx + 0x24]
mov eax, dword [rbx + 0x20]
lea ecx, [rdx - 8]
shr eax, cl
movzx ecx, al
lea eax, [rdx - 8]
cmp ecx, 0x31
mov dword [rbx + 0x24], eax
mov dword [rbx + 0x28], ecx
jl 0x460227
cmp ecx, 0x39
jg 0x460227
cmp byte [rbx + 0x2c], bpl
lea edx, [rcx - 0x30]
mov r8d, 1
mov dword [rbx + 0x28], edx
mov rcx, qword [rsi + 0x48]
je 0x4603c3
imul edx, edx, 0x30d40
call qword [rsi + 0x38]
mov edx, dword [rbx + 0x28]
mov r8d, 1
mov qword [rbx + 0xc58], rax
mov rcx, qword [rsi + 0x48]
imul edx, edx, 0x186a0
inc edx
sar edx, 1
call qword [rsi + 0x38]
cmp qword [rbx + 0xc58], rbp
mov qword [rbx + 0xc60], rax
je 0x4603dc
jmp 0x4603d3
imul edx, edx, 0x61a80
call qword [rsi + 0x38]
mov qword [rbx + 0xc50], rax
cmp rax, rbp
jne 0x4601b7
mov ebp, 0xfffffffd
jmp 0x46218e
mov rdi, qword [rbx]
cmp dword [rdi + 8], ebp
je 0x46218e
mov rax, qword [rdi]
mov edx, dword [rbx + 0x20]
movzx ecx, byte [rax]
add dword [rbx + 0x24], 8
shl edx, 8
or edx, ecx
mov dword [rbx + 0x20], edx
inc qword [rdi]
mov rax, qword [rbx]
add dword [rax + 8], 0xffffffff
mov rax, qword [rbx]
inc dword [rax + 0xc]
mov rax, qword [rbx]
cmp dword [rax + 0xc], ebp
jne 0x460422
inc dword [rax + 0x10]
cmp dword [rbx + 0x24], 8
jl 0x4603e6
mov edx, dword [rbx + 0x24]
mov eax, dword [rbx + 0x20]
lea ecx, [rdx - 8]
shr eax, cl
movzx ecx, al
lea eax, [rdx - 8]
cmp cl, 0x17
mov dword [rbx + 0x24], eax
je 0x461db6
cmp cl, 0x31
jne 0x461fb6
mov dword [rbx + 8], 0xf
jmp 0x460493
mov rdi, qword [rbx]
cmp dword [rdi + 8], ebp
je 0x46218e
mov rax, qword [rdi]
mov edx, dword [rbx + 0x20]
movzx ecx, byte [rax]
add dword [rbx + 0x24], 8
shl edx, 8
or edx, ecx
mov dword [rbx + 0x20], edx
inc qword [rdi]
mov rax, qword [rbx]
add dword [rax + 8], 0xffffffff
mov rax, qword [rbx]
inc dword [rax + 0xc]
mov rax, qword [rbx]
cmp dword [rax + 0xc], ebp
jne 0x460493
inc dword [rax + 0x10]
cmp dword [rbx + 0x24], 8
jl 0x460457
mov edx, dword [rbx + 0x24]
mov eax, dword [rbx + 0x20]
lea ecx, [rdx - 8]
shr eax, cl
movzx ecx, al
lea eax, [rdx - 8]
cmp cl, 0x41
mov dword [rbx + 0x24], eax
jne 0x461fb6
mov dword [rbx + 8], 0x10
jmp 0x460519
sub ecx, 0x10
je 0x4604b6
dec ecx
je 0x46053c
dec ecx
je 0x4605a4
dec ecx
je 0x46060c
jmp 0x461d91
mov rdi, qword [rbx]
cmp dword [rdi + 8], ebp
je 0x46218e
mov rax, qword [rdi]
mov edx, dword [rbx + 0x20]
movzx ecx, byte [rax]
add dword [rbx + 0x24], 8
shl edx, 8
or edx, ecx
mov dword [rbx + 0x20], edx
inc qword [rdi]
mov rax, qword [rbx]
add dword [rax + 8], 0xffffffff
mov rax, qword [rbx]
inc dword [rax + 0xc]
mov rax, qword [rbx]
cmp dword [rax + 0xc], ebp
jne 0x460519
inc dword [rax + 0x10]
cmp dword [rbx + 0x24], 8
jl 0x4604dd
mov edx, dword [rbx + 0x24]
mov eax, dword [rbx + 0x20]
lea ecx, [rdx - 8]
shr eax, cl
movzx ecx, al
lea eax, [rdx - 8]
cmp cl, 0x59
mov dword [rbx + 0x24], eax
jne 0x461fb6
mov dword [rbx + 8], 0x11
jmp 0x460581
mov rdi, qword [rbx]
cmp dword [rdi + 8], ebp
je 0x46218e
mov rax, qword [rdi]
mov edx, dword [rbx + 0x20]
movzx ecx, byte [rax]
add dword [rbx + 0x24], 8
shl edx, 8
or edx, ecx
mov dword [rbx + 0x20], edx
inc qword [rdi]
mov rax, qword [rbx]
add dword [rax + 8], 0xffffffff
mov rax, qword [rbx]
inc dword [rax + 0xc]
mov rax, qword [rbx]
cmp dword [rax + 0xc], ebp
jne 0x460581
inc dword [rax + 0x10]
cmp dword [rbx + 0x24], 8
jl 0x460545
mov edx, dword [rbx + 0x24]
mov eax, dword [rbx + 0x20]
lea ecx, [rdx - 8]
shr eax, cl
movzx ecx, al
lea eax, [rdx - 8]
cmp cl, 0x26
mov dword [rbx + 0x24], eax
jne 0x461fb6
mov dword [rbx + 8], 0x12
jmp 0x4605e9
mov rdi, qword [rbx]
cmp dword [rdi + 8], ebp
je 0x46218e
mov rax, qword [rdi]
mov edx, dword [rbx + 0x20]
movzx ecx, byte [rax]
add dword [rbx + 0x24], 8
shl edx, 8
or edx, ecx
mov dword [rbx + 0x20], edx
inc qword [rdi]
mov rax, qword [rbx]
add dword [rax + 8], 0xffffffff
mov rax, qword [rbx]
inc dword [rax + 0xc]
mov rax, qword [rbx]
cmp dword [rax + 0xc], ebp
jne 0x4605e9
inc dword [rax + 0x10]
cmp dword [rbx + 0x24], 8
jl 0x4605ad
mov edx, dword [rbx + 0x24]
mov eax, dword [rbx + 0x20]
lea ecx, [rdx - 8]
shr eax, cl
movzx ecx, al
lea eax, [rdx - 8]
cmp cl, 0x53
mov dword [rbx + 0x24], eax
jne 0x461fb6
mov dword [rbx + 8], 0x13
jmp 0x460651
mov rdi, qword [rbx]
cmp dword [rdi + 8], ebp
je 0x46218e
mov rax, qword [rdi]
mov edx, dword [rbx + 0x20]
movzx ecx, byte [rax]
add dword [rbx + 0x24], 8
shl edx, 8
or edx, ecx
mov dword [rbx + 0x20], edx
inc qword [rdi]
mov rax, qword [rbx]
add dword [rax + 8], 0xffffffff
mov rax, qword [rbx]
inc dword [rax + 0xc]
mov rax, qword [rbx]
cmp dword [rax + 0xc], ebp
jne 0x460651
inc dword [rax + 0x10]
cmp dword [rbx + 0x24], 8
jl 0x460615
mov edx, dword [rbx + 0x24]
mov eax, dword [rbx + 0x20]
lea ecx, [rdx - 8]
shr eax, cl
movzx ecx, al
lea eax, [rdx - 8]
cmp cl, 0x59
mov dword [rbx + 0x24], eax
jne 0x461fb6
inc dword [rbx + 0x30]
mov dword [rbx + 0xc68], ebp
mov dword [rbx + 8], 0x14
jmp 0x4606c2
mov rdi, qword [rbx]
cmp dword [rdi + 8], ebp
je 0x46218e
mov rax, qword [rdi]
mov edx, dword [rbx + 0x20]
movzx ecx, byte [rax]
add dword [rbx + 0x24], 8
shl edx, 8
or edx, ecx
mov dword [rbx + 0x20], edx
inc qword [rdi]
mov rax, qword [rbx]
add dword [rax + 8], 0xffffffff
mov rax, qword [rbx]
inc dword [rax + 0xc]
mov rax, qword [rbx]
cmp dword [rax + 0xc], ebp
jne 0x4606c2
inc dword [rax + 0x10]
cmp dword [rbx + 0x24], 8
jl 0x460686
mov edx, dword [rbx + 0x24]
mov eax, dword [rbx + 0x20]
lea ecx, [rdx - 8]
shr eax, cl
mov ecx, dword [rbx + 0xc68]
movzx edi, al
shl ecx, 8
lea eax, [rdx - 8]
or ecx, edi
mov dword [rbx + 0x24], eax
mov dword [rbx + 0xc68], ecx
mov dword [rbx + 8], 0x15
jmp 0x46077f
sub ecx, 0x15
je 0x4606ed
dec ecx
je 0x4607aa
dec ecx
je 0x46081a
dec ecx
je 0x46088a
dec ecx
je 0x4608ee
dec ecx
je 0x460958
dec ecx
je 0x4609c2
dec ecx
je 0x460a4f
dec ecx
je 0x460b11
jmp 0x461d91
mov rdi, qword [rbx]
cmp dword [rdi + 8], ebp
je 0x46218e
mov rax, qword [rdi]
mov edx, dword [rbx + 0x20]
movzx ecx, byte [rax]
add dword [rbx + 0x24], 8
shl edx, 8
or edx, ecx
mov dword [rbx + 0x20], edx
inc qword [rdi]
mov rax, qword [rbx]
add dword [rax + 8], 0xffffffff
mov rax, qword [rbx]
inc dword [rax + 0xc]
mov rax, qword [rbx]
cmp dword [rax + 0xc], ebp
jne 0x46077f
inc dword [rax + 0x10]
cmp dword [rbx + 0x24], 8
jl 0x460743
mov edx, dword [rbx + 0x24]
mov eax, dword [rbx + 0x20]
lea ecx, [rdx - 8]
shr eax, cl
mov ecx, dword [rbx + 0xc68]
movzx edi, al
shl ecx, 8
lea eax, [rdx - 8]
or ecx, edi
mov dword [rbx + 0x24], eax
mov dword [rbx + 0xc68], ecx
mov dword [rbx + 8], 0x16
jmp 0x4607ef
mov rdi, qword [rbx]
cmp dword [rdi + 8], ebp
je 0x46218e
mov rax, qword [rdi]
mov edx, dword [rbx + 0x20]
movzx ecx, byte [rax]
add dword [rbx + 0x24], 8
shl edx, 8
or edx, ecx
mov dword [rbx + 0x20], edx
inc qword [rdi]
mov rax, qword [rbx]
add dword [rax + 8], 0xffffffff
mov rax, qword [rbx]
inc dword [rax + 0xc]
mov rax, qword [rbx]
cmp dword [rax + 0xc], ebp
jne 0x4607ef
inc dword [rax + 0x10]
cmp dword [rbx + 0x24], 8
jl 0x4607b3
mov edx, dword [rbx + 0x24]
mov eax, dword [rbx + 0x20]
lea ecx, [rdx - 8]
shr eax, cl
mov ecx, dword [rbx + 0xc68]
movzx edi, al
shl ecx, 8
lea eax, [rdx - 8]
or ecx, edi
mov dword [rbx + 0x24], eax
mov dword [rbx + 0xc68], ecx
mov dword [rbx + 8], 0x17
jmp 0x46085f
mov rdi, qword [rbx]
cmp dword [rdi + 8], ebp
je 0x46218e
mov rax, qword [rdi]
mov edx, dword [rbx + 0x20]
movzx ecx, byte [rax]
add dword [rbx + 0x24], 8
shl edx, 8
or edx, ecx
mov dword [rbx + 0x20], edx
inc qword [rdi]
mov rax, qword [rbx]
add dword [rax + 8], 0xffffffff
mov rax, qword [rbx]
inc dword [rax + 0xc]
mov rax, qword [rbx]
cmp dword [rax + 0xc], ebp
jne 0x46085f
inc dword [rax + 0x10]
cmp dword [rbx + 0x24], 8
jl 0x460823
mov edx, dword [rbx + 0x24]
mov eax, dword [rbx + 0x20]
lea ecx, [rdx - 8]
shr eax, cl
mov ecx, dword [rbx + 0xc68]
movzx edi, al
shl ecx, 8
lea eax, [rdx - 8]
or ecx, edi
mov dword [rbx + 0x24], eax
mov dword [rbx + 0xc68], ecx
mov dword [rbx + 8], 0x18
jmp 0x4608cf
mov rdi, qword [rbx]
cmp dword [rdi + 8], ebp
je 0x46218e
mov rax, qword [rdi]
mov edx, dword [rbx + 0x20]
movzx ecx, byte [rax]
add dword [rbx + 0x24], 8
shl edx, 8
or edx, ecx
mov dword [rbx + 0x20], edx
inc qword [rdi]
mov rax, qword [rbx]
add dword [rax + 8], 0xffffffff
mov rax, qword [rbx]
inc dword [rax + 0xc]
mov rax, qword [rbx]
cmp dword [rax + 0xc], ebp
jne 0x4608cf
inc dword [rax + 0x10]
cmp dword [rbx + 0x24], 1
jl 0x460893
mov eax, dword [rbx + 0x24]
mov edx, dword [rbx + 0x20]
mov dword [rbx + 0x38], ebp
lea ecx, [rax - 1]
shr edx, cl
and edx, 1
dec eax
mov dword [rbx + 0x24], eax
mov byte [rbx + 0x14], dl
mov dword [rbx + 8], 0x19
jmp 0x460933
mov rdi, qword [rbx]
cmp dword [rdi + 8], ebp
je 0x46218e
mov rax, qword [rdi]
mov edx, dword [rbx + 0x20]
movzx ecx, byte [rax]
add dword [rbx + 0x24], 8
shl edx, 8
or edx, ecx
mov dword [rbx + 0x20], edx
inc qword [rdi]
mov rax, qword [rbx]
add dword [rax + 8], 0xffffffff
mov rax, qword [rbx]
inc dword [rax + 0xc]
mov rax, qword [rbx]
cmp dword [rax + 0xc], ebp
jne 0x460933
inc dword [rax + 0x10]
cmp dword [rbx + 0x24], 8
jl 0x4608f7
mov edx, dword [rbx + 0x24]
mov eax, dword [rbx + 0x20]
lea ecx, [rdx - 8]
shr eax, cl
mov ecx, dword [rbx + 0x38]
movzx edi, al
shl ecx, 8
lea eax, [rdx - 8]
or ecx, edi
mov dword [rbx + 0x24], eax
mov dword [rbx + 0x38], ecx
mov dword [rbx + 8], 0x1a
jmp 0x46099d
mov rdi, qword [rbx]
cmp dword [rdi + 8], ebp
je 0x46218e
mov rax, qword [rdi]
mov edx, dword [rbx + 0x20]
movzx ecx, byte [rax]
add dword [rbx + 0x24], 8
shl edx, 8
or edx, ecx
mov dword [rbx + 0x20], edx
inc qword [rdi]
mov rax, qword [rbx]
add dword [rax + 8], 0xffffffff
mov rax, qword [rbx]
inc dword [rax + 0xc]
mov rax, qword [rbx]
cmp dword [rax + 0xc], ebp
jne 0x46099d
inc dword [rax + 0x10]
cmp dword [rbx + 0x24], 8
jl 0x460961
mov edx, dword [rbx + 0x24]
mov eax, dword [rbx + 0x20]
lea ecx, [rdx - 8]
shr eax, cl
mov ecx, dword [rbx + 0x38]
movzx edi, al
shl ecx, 8
lea eax, [rdx - 8]
or ecx, edi
mov dword [rbx + 0x24], eax
mov dword [rbx + 0x38], ecx
mov dword [rbx + 8], 0x1b
jmp 0x460a07
mov rdi, qword [rbx]
cmp dword [rdi + 8], ebp
je 0x46218e
mov rax, qword [rdi]
mov edx, dword [rbx + 0x20]
movzx ecx, byte [rax]
add dword [rbx + 0x24], 8
shl edx, 8
or edx, ecx
mov dword [rbx + 0x20], edx
inc qword [rdi]
mov rax, qword [rbx]
add dword [rax + 8], 0xffffffff
mov rax, qword [rbx]
inc dword [rax + 0xc]
mov rax, qword [rbx]
cmp dword [rax + 0xc], ebp
jne 0x460a07
inc dword [rax + 0x10]
cmp dword [rbx + 0x24], 8
jl 0x4609cb
mov edx, dword [rbx + 0x24]
mov eax, dword [rbx + 0x20]
lea ecx, [rdx - 8]
shr eax, cl
movzx ecx, al
lea eax, [rdx - 8]
mov edx, dword [rbx + 0x38]
shl edx, 8
mov dword [rbx + 0x24], eax
or edx, ecx
mov dword [rbx + 0x38], edx
jl 0x461fb6
mov eax, dword [rbx + 0x28]
imul eax, eax, 0x186a0
add eax, 0xa
cmp edx, eax
jg 0x461fb6
mov r13d, ebp
cmp r13d, 0x10
jge 0x460ace
mov dword [rbx + 8], 0x1c
jmp 0x460a94
mov rdi, qword [rbx]
cmp dword [rdi + 8], ebp
je 0x46218e
mov rax, qword [rdi]
mov edx, dword [rbx + 0x20]
movzx ecx, byte [rax]
add dword [rbx + 0x24], 8
shl edx, 8
or edx, ecx
mov dword [rbx + 0x20], edx
inc qword [rdi]
mov rax, qword [rbx]
add dword [rax + 8], 0xffffffff
mov rax, qword [rbx]
inc dword [rax + 0xc]
mov rax, qword [rbx]
cmp dword [rax + 0xc], ebp
jne 0x460a94
inc dword [rax + 0x10]
cmp dword [rbx + 0x24], 1
jl 0x460a58
mov eax, dword [rbx + 0x24]
mov edx, dword [rbx + 0x20]
lea ecx, [rax - 1]
shr edx, cl
and edx, 1
dec eax
cmp dl, 1
mov dword [rbx + 0x24], eax
movsxd rax, r13d
jne 0x460abe
mov byte [rax + rbx + 0xd7c], dl
jmp 0x460ac6
mov byte [rax + rbx + 0xd7c], bpl
inc r13d
jmp 0x460a49
lea rcx, [rbx + 0xc7c]
xor edx, edx
mov r8d, 0x100
call fcn.00553530
mov r13d, ebp
cmp r13d, 0x10
jge 0x460b9d
movsxd rax, r13d
cmp byte [rax + rbx + 0xd7c], bpl
je 0x460b95
mov r12d, ebp
mov dword [rsp + 0x70], ebp
cmp r12d, 0x10
jge 0x460b95
mov dword [rbx + 8], 0x1d
jmp 0x460b56
mov rdi, qword [rbx]
cmp dword [rdi + 8], ebp
je 0x46218e
mov rax, qword [rdi]
mov edx, dword [rbx + 0x20]
movzx ecx, byte [rax]
add dword [rbx + 0x24], 8
shl edx, 8
or edx, ecx
mov dword [rbx + 0x20], edx
inc qword [rdi]
mov rax, qword [rbx]
add dword [rax + 8], 0xffffffff
mov rax, qword [rbx]
inc dword [rax + 0xc]
mov rax, qword [rbx]
cmp dword [rax + 0xc], ebp
jne 0x460b56
inc dword [rax + 0x10]
cmp dword [rbx + 0x24], 1
jl 0x460b1a
mov eax, dword [rbx + 0x24]
mov edx, dword [rbx + 0x20]
lea ecx, [rax - 1]
shr edx, cl
and edx, 1
dec eax
cmp dl, 1
mov dword [rbx + 0x24], eax
jne 0x460b88
movsxd rax, r13d
movsxd rcx, r12d
shl rax, 4
add rax, rbx
mov byte [rcx + rax + 0xc7c], dl
inc r12d
mov dword [rsp + 0x70], r12d
jmp 0x460b07
inc r13d
jmp 0x460ae5
mov dword [rbx + 0xc78], ebp
mov ecx, ebp
lea rdx, [rbx + 0xc7c]
cmp byte [rdx], bpl
je 0x460bc5
movsxd rax, dword [rbx + 0xc78]
mov byte [rax + rbx + 0xd8c], cl
inc dword [rbx + 0xc78]
inc ecx
inc rdx
cmp ecx, 0x100
jl 0x460bac
mov eax, dword [rbx + 0xc78]
cmp eax, ebp
je 0x461fb6
add eax, 2
mov dword [rsp + 0x6c], eax
mov dword [rbx + 8], 0x1e
jmp 0x460c2c
mov rdi, qword [rbx]
cmp dword [rdi + 8], ebp
je 0x46218e
mov rax, qword [rdi]
mov edx, dword [rbx + 0x20]
movzx ecx, byte [rax]
add dword [rbx + 0x24], 8
shl edx, 8
or edx, ecx
mov dword [rbx + 0x20], edx
inc qword [rdi]
mov rax, qword [rbx]
add dword [rax + 8], 0xffffffff
mov rax, qword [rbx]
inc dword [rax + 0xc]
mov rax, qword [rbx]
cmp dword [rax + 0xc], ebp
jne 0x460c2c
inc dword [rax + 0x10]
cmp dword [rbx + 0x24], 3
jl 0x460bf0
mov eax, dword [rbx + 0x24]
mov edi, dword [rbx + 0x20]
lea ecx, [rax - 3]
add eax, 0xfffffffd
shr edi, cl
mov dword [rbx + 0x24], eax
and edi, 7
cmp edi, 2
mov dword [rsp + 0x40], edi
jl 0x460c54
cmp edi, 6
jle 0x460cad
mov r12d, dword [rsp + 0x44]
mov ebp, 0xfffffffc
mov esi, edi
jmp 0x462197
cmp ecx, 0x29
jg 0x461d4c
je 0x461311
cmp ecx, 0x24
jg 0x46121b
je 0x4611a7
sub ecx, 0x1f
je 0x460cad
dec ecx
je 0x460d35
dec ecx
je 0x460e4d
dec ecx
je 0x460ed9
dec ecx
je 0x460f3c
jmp 0x461d91
mov dword [rbx + 8], 0x1f
jmp 0x460cf2
mov rdi, qword [rbx]
cmp dword [rdi + 8], ebp
je 0x46218e
mov rax, qword [rdi]
mov edx, dword [rbx + 0x20]
movzx ecx, byte [rax]
add dword [rbx + 0x24], 8
shl edx, 8
or edx, ecx
mov dword [rbx + 0x20], edx
inc qword [rdi]
mov rax, qword [rbx]
add dword [rax + 8], 0xffffffff
mov rax, qword [rbx]
inc dword [rax + 0xc]
mov rax, qword [rbx]
cmp dword [rax + 0xc], ebp
jne 0x460cf2
inc dword [rax + 0x10]
cmp dword [rbx + 0x24], 0xf
jl 0x460cb6
mov eax, dword [rbx + 0x24]
mov edx, dword [rbx + 0x20]
mov esi, dword [rsp + 0x40]
lea ecx, [rax - 0xf]
add eax, 0xfffffff1
shr edx, cl
mov dword [rbx + 0x24], eax
and edx, 0x7fff
cmp edx, 1
mov dword [rsp + 0x68], edx
jl 0x460da5
mov r13d, ebp
cmp r13d, edx
jge 0x460dcb
mov r12d, ebp
mov dword [rsp + 0x70], ebp
jmp 0x460d39
mov esi, dword [rsp + 0x40]
mov dword [rbx + 8], 0x20
jmp 0x460d7a
mov rdi, qword [rbx]
cmp dword [rdi + 8], ebp
je 0x460daa
mov rax, qword [rdi]
mov edx, dword [rbx + 0x20]
movzx ecx, byte [rax]
add dword [rbx + 0x24], 8
shl edx, 8
or edx, ecx
mov dword [rbx + 0x20], edx
inc qword [rdi]
mov rax, qword [rbx]
add dword [rax + 8], 0xffffffff
mov rax, qword [rbx]
inc dword [rax + 0xc]
mov rax, qword [rbx]
cmp dword [rax + 0xc], ebp
jne 0x460d7a
inc dword [rax + 0x10]
cmp dword [rbx + 0x24], 1
jl 0x460d42
mov eax, dword [rbx + 0x24]
mov edx, dword [rbx + 0x20]
lea ecx, [rax - 1]
shr edx, cl
and edx, 1
dec eax
cmp dl, bpl
mov dword [rbx + 0x24], eax
je 0x460db4
inc r12d
cmp r12d, esi
mov dword [rsp + 0x70], r12d
jl 0x460d39
mov ebp, 0xfffffffc
mov r12d, dword [rsp + 0x44]
jmp 0x462197
mov edx, dword [rsp + 0x68]
movsxd rax, r13d
inc r13d
mov byte [rax + rbx + 0x651e], r12b
jmp 0x460d23
mov edi, dword [rsp + 0x40]
mov cl, bpl
cmp edi, ebp
jle 0x460de9
movzx eax, cl
mov byte [rsp + rax + 0xac], cl
inc cl
movzx eax, cl
cmp eax, edi
jl 0x460dd6
cmp edx, ebp
mov r13d, ebp
jle 0x460e38
lea rdi, [rbx + 0x1ecc]
mov r13d, edx
mov r8d, edx
movzx ecx, byte [rdi + 0x4652]
lea rdx, [rsp + rcx + 0xac]
mov sil, byte [rdx]
jmp 0x460e1c
mov al, byte [rdx - 1]
add cl, 0xff
mov byte [rdx], al
dec rdx
cmp cl, bpl
ja 0x460e11
mov byte [rdi], sil
inc rdi
dec r8
mov byte [rsp + 0xac], sil
jne 0x460dfd
mov edi, dword [rsp + 0x40]
mov eax, dword [rsp + 0x6c]
mov edx, ebp
cmp edx, edi
mov dword [rsp + 0xac], edx
jge 0x460fe9
mov dword [rbx + 8], 0x21
jmp 0x460e92
mov rdi, qword [rbx]
cmp dword [rdi + 8], ebp
je 0x46218e
mov rax, qword [rdi]
mov edx, dword [rbx + 0x20]
movzx ecx, byte [rax]
add dword [rbx + 0x24], 8
shl edx, 8
or edx, ecx
mov dword [rbx + 0x20], edx
inc qword [rdi]
mov rax, qword [rbx]
add dword [rax + 8], 0xffffffff
mov rax, qword [rbx]
inc dword [rax + 0xc]
mov rax, qword [rbx]
cmp dword [rax + 0xc], ebp
jne 0x460e92
inc dword [rax + 0x10]
cmp dword [rbx + 0x24], 5
jl 0x460e56
mov eax, dword [rbx + 0x24]
mov edi, dword [rbx + 0x20]
mov edx, dword [rsp + 0xac]
lea ecx, [rax - 5]
mov r13d, ebp
shr edi, cl
and edi, 0x1f
add eax, 0xfffffffb
mov dword [rbx + 0x24], eax
mov dword [rsp + 0x54], edi
mov eax, dword [rsp + 0x6c]
cmp r13d, eax
jge 0x460fde
cmp edi, 1
jl 0x461fb6
cmp edi, 0x14
jg 0x461fb6
mov dword [rbx + 8], 0x22
jmp 0x460f1e
mov rdi, qword [rbx]
cmp dword [rdi + 8], ebp
je 0x46218e
mov rax, qword [rdi]
mov edx, dword [rbx + 0x20]
movzx ecx, byte [rax]
add dword [rbx + 0x24], 8
shl edx, 8
or edx, ecx
mov dword [rbx + 0x20], edx
inc qword [rdi]
mov rax, qword [rbx]
add dword [rax + 8], 0xffffffff
mov rax, qword [rbx]
inc dword [rax + 0xc]
mov rax, qword [rbx]
cmp dword [rax + 0xc], ebp
jne 0x460f1e
inc dword [rax + 0x10]
cmp dword [rbx + 0x24], 1
jl 0x460ee2
mov eax, dword [rbx + 0x24]
mov edx, dword [rbx + 0x20]
lea ecx, [rax - 1]
shr edx, cl
and edx, 1
dec eax
cmp dl, bpl
mov dword [rbx + 0x24], eax
je 0x460fb2
mov dword [rbx + 8], 0x23
jmp 0x460f81
mov rdi, qword [rbx]
cmp dword [rdi + 8], ebp
je 0x46218e
mov rax, qword [rdi]
mov edx, dword [rbx + 0x20]
movzx ecx, byte [rax]
add dword [rbx + 0x24], 8
shl edx, 8
or edx, ecx
mov dword [rbx + 0x20], edx
inc qword [rdi]
mov rax, qword [rbx]
add dword [rax + 8], 0xffffffff
mov rax, qword [rbx]
inc dword [rax + 0xc]
mov rax, qword [rbx]
cmp dword [rax + 0xc], ebp
jne 0x460f81
inc dword [rax + 0x10]
cmp dword [rbx + 0x24], 1
jl 0x460f45
mov eax, dword [rbx + 0x24]
mov edx, dword [rbx + 0x20]
mov edi, dword [rsp + 0x54]
lea ecx, [rax - 1]
shr edx, cl
and edx, 1
dec eax
cmp dl, bpl
mov dword [rbx + 0x24], eax
jne 0x460fae
inc edi
mov dword [rsp + 0x54], edi
jmp 0x460ec7
dec edi
jmp 0x460fa5
movsxd rdx, dword [rsp + 0xac]
mov edi, dword [rsp + 0x54]
movsxd rcx, r13d
mov rax, rdx
imul rax, rax, 0x102
add rax, rbx
inc r13d
mov byte [rcx + rax + 0xab70], dil
jmp 0x460eba
mov edi, dword [rsp + 0x40]
inc edx
jmp 0x460e3e
movsxd r13, edi
mov dword [rsp + 0xac], ebp
cmp r13, rbp
jle 0x4610b3
lea r14, [rbx + 0xfa0c]
lea r12, [rbx + 0xab70]
mov r15d, ebp
jmp 0x461013
mov eax, dword [rsp + 0x6c]
cmp eax, ebp
mov edi, 0x20
mov esi, ebp
jle 0x461038
mov rcx, r12
mov edx, eax
movzx eax, byte [rcx]
cmp eax, esi
cmovg esi, eax
cmp eax, edi
cmovl edi, eax
inc rcx
dec rdx
jne 0x461023
movsxd rax, r15d
mov rcx, rax
imul rax, rax, 0x102
imul rcx, rcx, 0x408
lea r9, [rax + rbx + 0xab70]
mov eax, dword [rsp + 0x6c]
mov dword [rsp + 0x30], eax
lea r8, [rcx + rbx + 0xe1dc]
lea rdx, [rcx + rbx + 0xc9ac]
lea rcx, [rcx + rbx + 0xb17c]
mov dword [rsp + 0x28], esi
mov dword [rsp + 0x20], edi
call fcn.004622b8
mov dword [r14], edi
add r14, 4
inc r15d
add r12, 0x102
dec r13
jne 0x46100f
mov r14d, dword [rsp + 0xa0]
mov dword [rsp + 0xac], r15d
mov r15d, dword [rsp + 0xa8]
mov eax, dword [rbx + 0xc78]
lea rcx, [rbx + 0x44]
xor edx, edx
inc eax
mov r8d, 0x400
mov r12d, ebp
mov dword [rsp + 0x90], eax
mov eax, dword [rbx + 0x28]
imul eax, eax, 0x186a0
mov dword [rsp + 0x8c], eax
call fcn.00553530
mov esi, 0x1000
mov ecx, 0xf
mov r13d, 0x100
lea r9d, [rsi - 1]
lea r8, [rbx + 0x1ec8]
mov dil, cl
mov edx, 0xf
shl dil, 4
sub esi, 0x10
lea eax, [rdx + rdi]
dec r9
dec edx
mov byte [rbx + r9 + 0xe8d], al
jns 0x461110
dec ecx
mov dword [r8], esi
sub r8, 4
cmp ecx, ebp
jge 0x461101
cmp dword [rsp + 0x68], ebp
mov r11d, ebp
mov dword [rsp + 0x64], ebp
mov r9d, ebp
mov dword [rsp + 0x60], ebp
jg 0x46114d
mov ebp, 0xfffffffc
jmp 0x462193
movzx eax, byte [rbx + 0x1ecc]
mov r10d, 0x31
mov edx, dword [rbx + rax*4 + 0xfa0c]
mov dword [rsp + 0x84], eax
mov dword [rsp + 0x44], r10d
imul rax, rax, 0x408
lea r8, [rax + rbx + 0xb17c]
lea rcx, [rax + rbx + 0xe1dc]
lea rax, [rax + rbx + 0xc9ac]
mov dword [rsp + 0x5c], edx
mov r15d, edx
mov qword [rsp + 0x98], rax
mov qword [rsp + 0x48], r8
mov qword [rsp + 0x78], rcx
jmp 0x4611aa
mov r8, rdi
mov dword [rbx + 8], 0x24
jmp 0x4611ef
mov rdi, qword [rbx]
cmp dword [rdi + 8], ebp
je 0x461d3e
mov rax, qword [rdi]
mov edx, dword [rbx + 0x20]
movzx ecx, byte [rax]
add dword [rbx + 0x24], 8
shl edx, 8
or edx, ecx
mov dword [rbx + 0x20], edx
inc qword [rdi]
mov rax, qword [rbx]
add dword [rax + 8], 0xffffffff
mov rax, qword [rbx]
inc dword [rax + 0xc]
mov rax, qword [rbx]
cmp dword [rax + 0xc], ebp
jne 0x4611ef
inc dword [rax + 0x10]
cmp dword [rbx + 0x24], r15d
jl 0x4611b3
mov edx, dword [rbx + 0x24]
mov r14d, dword [rbx + 0x20]
mov eax, 1
sub edx, r15d
mov ecx, edx
mov dword [rbx + 0x24], edx
shr r14d, cl
mov ecx, r15d
shl eax, cl
dec eax
and r14d, eax
jmp 0x4612ad
sub ecx, 0x25
je 0x4612c8
dec ecx
je 0x4614a9
dec ecx
je 0x461533
dec ecx
jne 0x461d91
mov r8, rdi
mov dword [rbx + 8], 0x28
jmp 0x461962
mov rdi, qword [rbx]
cmp dword [rdi + 8], ebp
je 0x46218e
mov rax, qword [rdi]
mov edx, dword [rbx + 0x20]
movzx ecx, byte [rax]
add dword [rbx + 0x24], 8
shl edx, 8
or edx, ecx
mov dword [rbx + 0x20], edx
inc qword [rdi]
mov rax, qword [rbx]
add dword [rax + 8], 0xffffffff
mov rax, qword [rbx]
inc dword [rax + 0xc]
mov rax, qword [rbx]
cmp dword [rax + 0xc], ebp
jne 0x461287
inc dword [rax + 0x10]
cmp dword [rbx + 0x24], 1
jl 0x46124b
mov eax, dword [rbx + 0x24]
mov edx, dword [rbx + 0x20]
add r14d, r14d
lea ecx, [rax - 1]
shr edx, cl
and edx, 1
dec eax
mov dword [rbx + 0x24], eax
mov dword [rsp + 0x80], edx
or r14d, edx
cmp r15d, 0x14
jg 0x461fb6
mov rsi, qword [rsp + 0x48]
movsxd rax, r15d
cmp r14d, dword [rsi + rax*4]
jle 0x4612d1
inc r15d
mov dword [rbx + 8], 0x25
jmp 0x461287
mov rcx, qword [rsp + 0x98]
movsxd rax, r15d
movsxd rcx, dword [rcx + rax*4]
mov eax, r14d
sub eax, ecx
js 0x461fb6
cmp eax, 0x102
jge 0x461fb6
mov r12, qword [rsp + 0x78]
mov rax, rcx
movsxd rcx, r14d
sub rcx, rax
mov eax, dword [r12 + rcx*4]
mov dword [rsp + 0x50], eax
jmp 0x4613d9
cmp dword [rbx + 0x24], 1
mov dword [rbx + 8], 0x29
jge 0x461365
mov rdi, qword [rbx]
cmp dword [rdi + 8], ebp
je 0x46218e
mov rax, qword [rdi]
mov edx, dword [rbx + 0x20]
movzx ecx, byte [rax]
add dword [rbx + 0x24], 8
shl edx, 8
or edx, ecx
mov dword [rbx + 0x20], edx
inc qword [rdi]
mov rax, qword [rbx]
add dword [rax + 8], 0xffffffff
mov rax, qword [rbx]
inc dword [rax + 0xc]
mov rax, qword [rbx]
cmp dword [rax + 0xc], ebp
jne 0x46135a
inc dword [rax + 0x10]
cmp dword [rbx + 0x24], 1
jl 0x46131e
mov rdi, qword [rsp + 0x48]
mov eax, dword [rbx + 0x24]
mov edx, dword [rbx + 0x20]
add r14d, r14d
lea ecx, [rax - 1]
shr edx, cl
and edx, 1
dec eax
mov dword [rbx + 0x24], eax
mov dword [rsp + 0x80], edx
or r14d, edx
cmp r15d, 0x14
jg 0x461fb6
movsxd rax, r15d
cmp r14d, dword [rdi + rax*4]
jg 0x461993
mov rcx, qword [rsp + 0x98]
movsxd rcx, dword [rcx + rax*4]
mov eax, r14d
sub eax, ecx
js 0x461fb6
cmp eax, 0x102
jge 0x461fb6
mov r12, qword [rsp + 0x78]
mov rax, rcx
movsxd rcx, r14d
sub rcx, rax
mov eax, dword [r12 + rcx*4]
mov dword [rsp + 0x50], eax
mov rsi, qword [rsp + 0x48]
cmp eax, dword [rsp + 0x90]
je 0x46199b
cmp eax, ebp
je 0x4613f3
cmp eax, 1
jne 0x4616a5
mov r8d, 0xffffffff
mov dword [rsp + 0x58], r8d
lea edx, [r8 + 2]
jmp 0x46140b
mov edx, dword [rsp + 0x88]
cmp eax, ebp
jne 0x461414
add r8d, edx
jmp 0x46141d
cmp eax, 1
jne 0x461422
lea r8d, [r8 + rdx*2]
mov dword [rsp + 0x58], r8d
add edx, edx
cmp r10d, ebp
mov dword [rsp + 0x88], edx
jne 0x46149a
inc r9d
cmp r9d, dword [rsp + 0x68]
mov dword [rsp + 0x60], r9d
jge 0x461fb6
movsxd rax, r9d
mov r10d, 0x32
movzx eax, byte [rax + rbx + 0x1ecc]
mov dword [rsp + 0x84], eax
mov ecx, dword [rbx + rax*4 + 0xfa0c]
mov dword [rsp + 0x5c], ecx
imul rax, rax, 0x408
lea rcx, [rax + rbx + 0xe1dc]
lea rsi, [rax + rbx + 0xb17c]
lea rax, [rax + rbx + 0xc9ac]
mov qword [rsp + 0x48], rsi
mov qword [rsp + 0x78], rcx
mov qword [rsp + 0x98], rax
mov r12, rcx
mov r15d, dword [rsp + 0x5c]
dec r10d
mov dword [rsp + 0x44], r10d
jmp 0x4614af
mov rsi, rdi
mov r12, rdx
mov dword [rbx + 8], 0x26
jmp 0x4614f4
mov rdi, qword [rbx]
cmp dword [rdi + 8], ebp
je 0x46218e
mov rax, qword [rdi]
mov edx, dword [rbx + 0x20]
movzx ecx, byte [rax]
add dword [rbx + 0x24], 8
shl edx, 8
or edx, ecx
mov dword [rbx + 0x20], edx
inc qword [rdi]
mov rax, qword [rbx]
add dword [rax + 8], 0xffffffff
mov rax, qword [rbx]
inc dword [rax + 0xc]
mov rax, qword [rbx]
cmp dword [rax + 0xc], ebp
jne 0x4614f4
inc dword [rax + 0x10]
cmp dword [rbx + 0x24], r15d
jl 0x4614b8
mov edx, dword [rbx + 0x24]
mov r14d, dword [rbx + 0x20]
mov eax, 1
sub edx, r15d
mov ecx, edx
mov dword [rbx + 0x24], edx
shr r14d, cl
mov ecx, r15d
shl eax, cl
dec eax
and r14d, eax
cmp r15d, 0x14
jg 0x461fb6
movsxd rax, r15d
cmp r14d, dword [rsi + rax*4]
jle 0x4615a9
inc r15d
jmp 0x461539
mov rsi, rdi
mov r12, rdx
mov dword [rbx + 8], 0x27
jmp 0x46157e
mov rdi, qword [rbx]
cmp dword [rdi + 8], ebp
je 0x46218e
mov rax, qword [rdi]
mov edx, dword [rbx + 0x20]
movzx ecx, byte [rax]
add dword [rbx + 0x24], 8
shl edx, 8
or edx, ecx
mov dword [rbx + 0x20], edx
inc qword [rdi]
mov rax, qword [rbx]
add dword [rax + 8], 0xffffffff
mov rax, qword [rbx]
inc dword [rax + 0xc]
mov rax, qword [rbx]
cmp dword [rax + 0xc], ebp
jne 0x46157e
inc dword [rax + 0x10]
cmp dword [rbx + 0x24], 1
jl 0x461542
mov eax, dword [rbx + 0x24]
mov edx, dword [rbx + 0x20]
add r14d, r14d
lea ecx, [rax - 1]
shr edx, cl
and edx, 1
dec eax
mov dword [rbx + 0x24], eax
mov dword [rsp + 0x80], edx
or r14d, edx
jmp 0x46151b
mov rcx, qword [rsp + 0x98]
movsxd rax, r15d
movsxd rcx, dword [rcx + rax*4]
mov eax, r14d
sub eax, ecx
js 0x461fb6
cmp eax, 0x102
jge 0x461fb6
mov rax, rcx
movsxd rcx, r14d
sub rcx, rax
mov eax, dword [r12 + rcx*4]
cmp eax, ebp
mov dword [rsp + 0x50], eax
je 0x461404
cmp eax, 1
je 0x461404
movsxd rax, dword [rbx + 0x1e8c]
movsxd rsi, dword [rsp + 0x8c]
inc r8d
movzx ecx, byte [rax + rbx + 0xe8c]
mov eax, dword [rsp + 0x50]
mov dword [rsp + 0x58], r8d
movzx edi, byte [rcx + rbx + 0xd8c]
movsxd rdx, r11d
add dword [rbx + rdi*4 + 0x44], r8d
cmp byte [rbx + 0x2c], bpl
je 0x46166b
cmp r8d, ebp
jle 0x4613d4
cmp rdx, rsi
jge 0x461fb6
mov rax, qword [rbx + 0xc58]
dec r8d
inc r11d
movzx ecx, dil
mov dword [rsp + 0x64], r11d
mov dword [rsp + 0x58], r8d
mov word [rax + rdx*2], cx
inc rdx
cmp r8d, ebp
jg 0x461632
mov eax, dword [rsp + 0x50]
jmp 0x4613d4
cmp r8d, ebp
jle 0x4613d4
cmp rdx, rsi
jge 0x461fb6
mov rax, qword [rbx + 0xc50]
dec r8d
inc r11d
movzx ecx, dil
mov dword [rsp + 0x64], r11d
mov dword [rsp + 0x58], r8d
mov dword [rax + rdx*4], ecx
inc rdx
cmp r8d, ebp
jg 0x461674
jmp 0x461662
cmp r11d, dword [rsp + 0x8c]
jge 0x461fb6
lea edi, [rax - 1]
cmp edi, 0x10
jae 0x46177c
cmp edi, 3
movsxd rdx, dword [rbx + 0x1e8c]
lea eax, [rdx + rdi]
mov r10, rdx
movsxd rdx, edi
mov r12b, byte [rax + rbx + 0xe8c]
jbe 0x46174e
lea rax, [rbx + 0xe8b]
lea r11d, [rdi - 4]
mov r8, rbx
lea rcx, [rax + r10]
mov r9, rbx
mov rsi, rbx
add rcx, rdx
mov rdx, rbx
shr r11d, 2
sub r8, rax
sub r9, rax
sub rsi, rax
sub rdx, rax
inc r11d
mov al, byte [rcx]
add edi, 0xfffffffc
mov byte [r8 + rcx + 0xe8c], al
mov al, byte [rdx + rcx + 0xe8a]
mov byte [rcx], al
mov al, byte [rsi + rcx + 0xe89]
sub rcx, 4
dec r11
mov byte [rdx + rcx + 0xe8e], al
mov al, byte [r9 + rcx + 0xe8c]
mov byte [rsi + rcx + 0xe8d], al
jne 0x46170d
mov r11d, dword [rsp + 0x64]
cmp edi, ebp
movsxd rcx, edi
jbe 0x46176f
lea rax, [rbx + r10]
lea rdx, [rax + rcx + 0xe8c]
add edi, 0xffffffff
mov al, byte [rdx - 1]
mov byte [rdx], al
lea rdx, [rdx - 1]
jne 0x461761
mov byte [rbx + r10 + 0xe8c], r12b
jmp 0x461857
mov eax, edi
mov r9d, 0xf
shr eax, 4
and edi, r9d
mov edx, eax
mov eax, dword [rbx + rax*4 + 0x1e8c]
add edi, eax
cmp edi, eax
movsxd rcx, edi
mov r12b, byte [rbx + rcx + 0xe8c]
jle 0x4617bf
lea rsi, [rbx + rcx + 0xe8c]
mov al, byte [rsi - 1]
dec edi
mov byte [rsi], al
dec rsi
cmp edi, dword [rbx + rdx*4 + 0x1e8c]
jg 0x4617ac
inc dword [rbx + rdx*4 + 0x1e8c]
cmp rdx, rbp
jle 0x4617f6
lea rdi, [rbx + rdx*4 + 0x1e8c]
dec dword [rdi]
movsxd rax, dword [rdi - 4]
movsxd rcx, dword [rdi]
mov al, byte [rax + rbx + 0xe9b]
dec rdx
sub rdi, 4
cmp rdx, rbp
mov byte [rcx + rbx + 0xe8c], al
jg 0x4617d3
dec dword [rbx + 0x1e8c]
movsxd rax, dword [rbx + 0x1e8c]
mov byte [rax + rbx + 0xe8c], r12b
cmp dword [rbx + 0x1e8c], ebp
jne 0x461857
mov edi, 0x1000
mov rsi, r9
lea rcx, [rbx + 0x1ec8]
lea r8d, [rdi - 1]
mov rdx, r9
sub edi, 0x10
movsxd rax, dword [rcx]
dec r8
add rax, rbx
dec rdx
mov al, byte [rax + rdx + 0xe8d]
mov byte [rbx + r8 + 0xe8d], al
jns 0x46182c
dec rsi
mov dword [rcx], edi
sub rcx, 4
cmp rsi, rbp
jge 0x461826
movzx ecx, r12b
movzx eax, byte [rcx + rbx + 0xd8c]
inc dword [rbx + rax*4 + 0x44]
cmp byte [rbx + 0x2c], bpl
movzx edx, byte [rcx + rbx + 0xd8c]
movsxd rcx, r11d
je 0x461885
mov rax, qword [rbx + 0xc58]
mov word [rax + rcx*2], dx
jmp 0x46188f
mov rax, qword [rbx + 0xc50]
mov dword [rax + rcx*4], edx
mov r10d, dword [rsp + 0x44]
mov r9d, dword [rsp + 0x60]
inc r11d
cmp r10d, ebp
mov dword [rsp + 0x64], r11d
jne 0x46190f
inc r9d
cmp r9d, dword [rsp + 0x68]
mov dword [rsp + 0x60], r9d
jge 0x461d31
movsxd rax, r9d
mov r10d, 0x32
movzx eax, byte [rax + rbx + 0x1ecc]
mov dword [rsp + 0x84], eax
mov ecx, dword [rbx + rax*4 + 0xfa0c]
mov dword [rsp + 0x5c], ecx
imul rax, rax, 0x408
lea r8, [rax + rbx + 0xb17c]
lea rcx, [rax + rbx + 0xe1dc]
lea rax, [rax + rbx + 0xc9ac]
mov qword [rsp + 0x48], r8
mov qword [rsp + 0x78], rcx
mov qword [rsp + 0x98], rax
jmp 0x461914
mov r8, qword [rsp + 0x48]
mov r15d, dword [rsp + 0x5c]
dec r10d
mov dword [rsp + 0x44], r10d
jmp 0x46123f
mov rdi, qword [rbx]
cmp dword [rdi + 8], ebp
je 0x461d3e
mov rax, qword [rdi]
mov edx, dword [rbx + 0x20]
movzx ecx, byte [rax]
add dword [rbx + 0x24], 8
shl edx, 8
or edx, ecx
mov dword [rbx + 0x20], edx
inc qword [rdi]
mov rax, qword [rbx]
add dword [rax + 8], 0xffffffff
mov rax, qword [rbx]
inc dword [rax + 0xc]
mov rax, qword [rbx]
cmp dword [rax + 0xc], ebp
jne 0x461962
inc dword [rax + 0x10]
cmp dword [rbx + 0x24], r15d
jl 0x461926
mov edx, dword [rbx + 0x24]
mov r14d, dword [rbx + 0x20]
mov rdi, qword [rsp + 0x48]
sub edx, r15d
mov eax, 1
mov ecx, edx
mov dword [rbx + 0x24], edx
shr r14d, cl
mov ecx, r15d
shl eax, cl
dec eax
and r14d, eax
jmp 0x461385
inc r15d
jmp 0x461311
cmp dword [rbx + 0x38], ebp
jl 0x461fb6
cmp dword [rbx + 0x38], r11d
jge 0x461fb6
mov r8d, 0x100
lea rdx, [rbx + 0x44c]
lea rsi, [rbx + 0x44]
mov rdi, rdx
mov rcx, r8
mov dword [rbx + 0x448], ebp
rep movsd dword [rdi], dword [rsi]
mov rcx, r8
mov eax, dword [rdx - 4]
add dword [rdx], eax
add rdx, 4
dec rcx
jne 0x4619d0
mov r13d, ebp
movsxd rax, r13d
mov ecx, dword [rbx + rax*4 + 0x448]
cmp ecx, ebp
jl 0x461fb6
cmp ecx, r11d
jg 0x461fb6
inc r13d
cmp r13d, r8d
jle 0x4619e1
cmp byte [rbx + 0x2c], bpl
mov dword [rbx + 0x10], ebp
mov byte [rbx + 0xc], bpl
mov dword [rbx + 0xc70], 0xffffffff
mov dword [rbx + 8], 2
je 0x461c72
cmp r11d, ebp
lea rdi, [rbx + 0x84c]
lea rsi, [rbx + 0x448]
mov ecx, 0x101
mov r9d, ebp
rep movsd dword [rdi], dword [rsi]
jle 0x461ac9
mov rsi, rbp
test r9b, 1
mov rcx, qword [rbx + 0xc58]
movzx r8d, byte [rcx + rsi*2]
movzx eax, word [rbx + r8*4 + 0x84c]
mov word [rcx + rsi*2], ax
jne 0x461a88
mov rcx, qword [rbx + 0xc60]
mov rdx, rsi
sar rdx, 1
mov al, byte [rdx + rcx]
and al, 0xf0
or al, byte [rbx + r8*4 + 0x84e]
mov byte [rdx + rcx], al
jmp 0x461ab6
mov ecx, dword [rbx + r8*4 + 0x84c]
mov rdx, qword [rbx + 0xc60]
mov eax, dword [rbx + r8*4 + 0x84c]
sar ecx, 0xc
mov rdi, rsi
sar eax, 0xc
sar rdi, 1
xor cl, byte [rdi + rdx]
and cl, 0xf
xor cl, al
mov byte [rdi + rdx], cl
inc dword [rbx + r8*4 + 0x84c]
inc r9d
inc rsi
cmp r9d, r11d
jl 0x461a4a
movsxd r13, dword [rbx + 0x38]
mov rax, qword [rbx + 0xc60]
mov rcx, r13
sar rcx, 1
movzx r12d, byte [rcx + rax]
mov rax, qword [rbx + 0xc58]
mov cl, r13b
and cl, 1
shl cl, 2
shr r12d, cl
movzx ecx, word [rax + r13*2]
and r12d, 0xf
shl r12d, 0x10
or r12d, ecx
mov rax, qword [rbx + 0xc60]
mov rdx, qword [rbx + 0xc58]
movsxd rsi, r12d
mov r9, rsi
mov edi, r12d
sar r9, 1
and edi, 1
movzx r8d, byte [rax + r9]
movzx eax, word [rdx + rsi*2]
mov cl, dil
shl cl, 2
mov word [rdx + rsi*2], r13w
shr r8d, cl
mov rcx, qword [rbx + 0xc60]
and r8d, 0xf
shl r8d, 0x10
or r8d, eax
cmp edi, ebp
jne 0x461b5f
mov al, byte [rcx + r9]
sar r13d, 0x10
and al, 0xf0
or r13b, al
mov byte [rcx + r9], r13b
jmp 0x461b76
mov eax, r13d
sar r13d, 0xc
sar eax, 0xc
xor al, byte [rcx + r9]
and al, 0xf
xor al, r13b
mov byte [rcx + r9], al
mov r13d, r12d
mov r12d, r8d
cmp r13d, dword [rbx + 0x38]
jne 0x461b02
cmp byte [rbx + 0x14], bpl
mov ecx, dword [rbx + 0x38]
mov dword [rsp + 0x70], r8d
mov dword [rbx + 0x3c], ecx
mov dword [rbx + 0x444], ebp
lea rdx, [rbx + 0x448]
je 0x461c2a
mov dword [rbx + 0x18], ebp
mov dword [rbx + 0x1c], ebp
call fcn.00462958
mov esi, dword [rbx + 0x3c]
mov rcx, qword [rbx + 0xc60]
mov dword [rbx + 0x40], eax
mov rdx, rsi
mov r11d, eax
mov rax, qword [rbx + 0xc58]
shr rdx, 1
movzx edi, byte [rdx + rcx]
mov cl, sil
and cl, 1
shl cl, 2
shr edi, cl
movzx ecx, word [rax + rsi*2]
inc dword [rbx + 0x444]
and edi, 0xf
shl edi, 0x10
or edi, ecx
cmp dword [rbx + 0x18], ebp
mov dword [rbx + 0x3c], edi
jne 0x461c16
movsxd rcx, dword [rbx + 0x1c]
lea rdx, [0x0074a780]
mov eax, dword [rdx + rcx*4]
mov dword [rbx + 0x18], eax
lea eax, [rcx + 1]
cmp eax, 0x200
mov dword [rbx + 0x1c], eax
jne 0x461c16
mov dword [rbx + 0x1c], ebp
dec dword [rbx + 0x18]
cmp dword [rbx + 0x18], 1
mov eax, ebp
sete al
xor eax, r11d
jmp 0x461d29
call fcn.00462958
mov edi, dword [rbx + 0x3c]
mov dword [rbx + 0x40], eax
mov rax, qword [rbx + 0xc60]
mov rcx, rdi
shr rcx, 1
movzx edx, byte [rcx + rax]
mov rax, qword [rbx + 0xc58]
mov cl, dil
and cl, 1
shl cl, 2
shr edx, cl
movzx ecx, word [rax + rdi*2]
and edx, 0xf
shl edx, 0x10
or edx, ecx
inc dword [rbx + 0x444]
mov dword [rbx + 0x3c], edx
jmp 0x46218e
cmp r11d, ebp
mov r13d, ebp
jle 0x461cac
mov rsi, rbp
mov rdi, qword [rbx + 0xc50]
mov eax, r13d
inc r13d
movzx edx, byte [rdi + rsi]
shl eax, 8
add rsi, 4
movsxd rcx, dword [rbx + rdx*4 + 0x448]
or dword [rdi + rcx*4], eax
inc dword [rbx + rdx*4 + 0x448]
cmp r13d, r11d
jl 0x461c7d
movsxd rax, dword [rbx + 0x38]
mov rdx, qword [rbx + 0xc50]
mov ecx, dword [rdx + rax*4]
mov dword [rbx + 0x444], ebp
shr ecx, 8
cmp byte [rbx + 0x14], bpl
mov dword [rbx + 0x3c], ecx
mov eax, ecx
je 0x461d12
mov dword [rbx + 0x18], ebp
mov dword [rbx + 0x1c], ebp
mov ecx, dword [rdx + rax*4]
movzx eax, cl
mov dword [rbx + 0x3c], ecx
shr dword [rbx + 0x3c], 8
mov dword [rbx + 0x40], eax
mov dword [rbx + 0x444], 1
mov eax, dword [0x0074a780]
mov dword [rbx + 0x18], eax
dec dword [rbx + 0x18]
cmp dword [rbx + 0x18], 1
mov eax, ebp
sete al
mov dword [rbx + 0x1c], 1
xor dword [rbx + 0x40], eax
jmp 0x46218e
mov ecx, dword [rdx + rax*4]
mov dword [rbx + 0x444], 1
mov dword [rbx + 0x3c], ecx
shr dword [rbx + 0x3c], 8
movzx eax, cl
mov dword [rbx + 0x40], eax
jmp 0x46218e
mov ebp, 0xfffffffc
mov r12d, r10d
jmp 0x462193
mov r12d, dword [rsp + 0x44]
mov esi, dword [rsp + 0x40]
jmp 0x46219c
sub ecx, 0x2a
je 0x461db6
dec ecx
je 0x461e1e
dec ecx
je 0x461e86
dec ecx
je 0x461eee
dec ecx
je 0x461f52
dec ecx
je 0x461fc6
dec ecx
je 0x462036
dec ecx
je 0x4620a6
dec ecx
je 0x462116
mov ecx, 0xfa1
call fcn.004623d8
mov ecx, 0xfa2
call fcn.004623d8
mov r12d, dword [rsp + 0x44]
mov esi, dword [rsp + 0x40]
mov r8, rdi
jmp 0x46219c
mov dword [rbx + 8], 0x2a
jmp 0x461dfb
mov rdi, qword [rbx]
cmp dword [rdi + 8], ebp
je 0x46218e
mov rax, qword [rdi]
mov edx, dword [rbx + 0x20]
movzx ecx, byte [rax]
add dword [rbx + 0x24], 8
shl edx, 8
or edx, ecx
mov dword [rbx + 0x20], edx
inc qword [rdi]
mov rax, qword [rbx]
add dword [rax + 8], 0xffffffff
mov rax, qword [rbx]
inc dword [rax + 0xc]
mov rax, qword [rbx]
cmp dword [rax + 0xc], ebp
jne 0x461dfb
inc dword [rax + 0x10]
cmp dword [rbx + 0x24], 8
jl 0x461dbf
mov edx, dword [rbx + 0x24]
mov eax, dword [rbx + 0x20]
lea ecx, [rdx - 8]
shr eax, cl
movzx ecx, al
lea eax, [rdx - 8]
cmp cl, 0x72
mov dword [rbx + 0x24], eax
jne 0x461fb6
mov dword [rbx + 8], 0x2b
jmp 0x461e63
mov rdi, qword [rbx]
cmp dword [rdi + 8], ebp
je 0x46218e
mov rax, qword [rdi]
mov edx, dword [rbx + 0x20]
movzx ecx, byte [rax]
add dword [rbx + 0x24], 8
shl edx, 8
or edx, ecx
mov dword [rbx + 0x20], edx
inc qword [rdi]
mov rax, qword [rbx]
add dword [rax + 8], 0xffffffff
mov rax, qword [rbx]
inc dword [rax + 0xc]
mov rax, qword [rbx]
cmp dword [rax + 0xc], ebp
jne 0x461e63
inc dword [rax + 0x10]
cmp dword [rbx + 0x24], 8
jl 0x461e27
mov edx, dword [rbx + 0x24]
mov eax, dword [rbx + 0x20]
lea ecx, [rdx - 8]
shr eax, cl
movzx ecx, al
lea eax, [rdx - 8]
cmp cl, 0x45
mov dword [rbx + 0x24], eax
jne 0x461fb6
mov dword [rbx + 8], 0x2c
jmp 0x461ecb
mov rdi, qword [rbx]
cmp dword [rdi + 8], ebp
je 0x46218e
mov rax, qword [rdi]
mov edx, dword [rbx + 0x20]
movzx ecx, byte [rax]
add dword [rbx + 0x24], 8
shl edx, 8
or edx, ecx
mov dword [rbx + 0x20], edx
inc qword [rdi]
mov rax, qword [rbx]
add dword [rax + 8], 0xffffffff
mov rax, qword [rbx]
inc dword [rax + 0xc]
mov rax, qword [rbx]
cmp dword [rax + 0xc], ebp
jne 0x461ecb
inc dword [rax + 0x10]
cmp dword [rbx + 0x24], 8
jl 0x461e8f
mov edx, dword [rbx + 0x24]
mov eax, dword [rbx + 0x20]
lea ecx, [rdx - 8]
shr eax, cl
movzx ecx, al
lea eax, [rdx - 8]
cmp cl, 0x38
mov dword [rbx + 0x24], eax
jne 0x461fb6
mov dword [rbx + 8], 0x2d
jmp 0x461f33
mov rdi, qword [rbx]
cmp dword [rdi + 8], ebp
je 0x46218e
mov rax, qword [rdi]
mov edx, dword [rbx + 0x20]
movzx ecx, byte [rax]
add dword [rbx + 0x24], 8
shl edx, 8
or edx, ecx
mov dword [rbx + 0x20], edx
inc qword [rdi]
mov rax, qword [rbx]
add dword [rax + 8], 0xffffffff
mov rax, qword [rbx]
inc dword [rax + 0xc]
mov rax, qword [rbx]
cmp dword [rax + 0xc], ebp
jne 0x461f33
inc dword [rax + 0x10]
cmp dword [rbx + 0x24], 8
jl 0x461ef7
mov edx, dword [rbx + 0x24]
mov eax, dword [rbx + 0x20]
lea ecx, [rdx - 8]
shr eax, cl
movzx ecx, al
lea eax, [rdx - 8]
cmp cl, 0x50
mov dword [rbx + 0x24], eax
jne 0x461fb6
mov dword [rbx + 8], 0x2e
jmp 0x461f97
mov rdi, qword [rbx]
cmp dword [rdi + 8], ebp
je 0x46218e
mov rax, qword [rdi]
mov edx, dword [rbx + 0x20]
movzx ecx, byte [rax]
add dword [rbx + 0x24], 8
shl edx, 8
or edx, ecx
mov dword [rbx + 0x20], edx
inc qword [rdi]
mov rax, qword [rbx]
add dword [rax + 8], 0xffffffff
mov rax, qword [rbx]
inc dword [rax + 0xc]
mov rax, qword [rbx]
cmp dword [rax + 0xc], ebp
jne 0x461f97
inc dword [rax + 0x10]
cmp dword [rbx + 0x24], 8
jl 0x461f5b
mov edx, dword [rbx + 0x24]
mov eax, dword [rbx + 0x20]
lea ecx, [rdx - 8]
shr eax, cl
movzx ecx, al
lea eax, [rdx - 8]
cmp cl, 0x90
mov dword [rbx + 0x24], eax
je 0x461fc0
mov ebp, 0xfffffffc
jmp 0x46218e
mov dword [rbx + 0xc6c], ebp
mov dword [rbx + 8], 0x2f
jmp 0x46200b
mov rdi, qword [rbx]
cmp dword [rdi + 8], ebp
je 0x46218e
mov rax, qword [rdi]
mov edx, dword [rbx + 0x20]
movzx ecx, byte [rax]
add dword [rbx + 0x24], 8
shl edx, 8
or edx, ecx
mov dword [rbx + 0x20], edx
inc qword [rdi]
mov rax, qword [rbx]
add dword [rax + 8], 0xffffffff
mov rax, qword [rbx]
inc dword [rax + 0xc]
mov rax, qword [rbx]
cmp dword [rax + 0xc], ebp
jne 0x46200b
inc dword [rax + 0x10]
cmp dword [rbx + 0x24], 8
jl 0x461fcf
mov edx, dword [rbx + 0x24]
mov eax, dword [rbx + 0x20]
lea ecx, [rdx - 8]
shr eax, cl
mov ecx, dword [rbx + 0xc6c]
movzx edi, al
shl ecx, 8
lea eax, [rdx - 8]
or ecx, edi
mov dword [rbx + 0x24], eax
mov dword [rbx + 0xc6c], ecx
mov dword [rbx + 8], 0x30
jmp 0x46207b
mov rdi, qword [rbx]
cmp dword [rdi + 8], ebp
je 0x46218e
mov rax, qword [rdi]
mov edx, dword [rbx + 0x20]
movzx ecx, byte [rax]
add dword [rbx + 0x24], 8
shl edx, 8
or edx, ecx
mov dword [rbx + 0x20], edx
inc qword [rdi]
mov rax, qword [rbx]
add dword [rax + 8], 0xffffffff
mov rax, qword [rbx]
inc dword [rax + 0xc]
mov rax, qword [rbx]
cmp dword [rax + 0xc], ebp
jne 0x46207b
inc dword [rax + 0x10]
cmp dword [rbx + 0x24], 8
jl 0x46203f
mov edx, dword [rbx + 0x24]
mov eax, dword [rbx + 0x20]
lea ecx, [rdx - 8]
shr eax, cl
mov ecx, dword [rbx + 0xc6c]
movzx edi, al
shl ecx, 8
lea eax, [rdx - 8]
or ecx, edi
mov dword [rbx + 0x24], eax
mov dword [rbx + 0xc6c], ecx
mov dword [rbx + 8], 0x31
jmp 0x4620eb
mov rdi, qword [rbx]
cmp dword [rdi + 8], ebp
je 0x46218e
mov rax, qword [rdi]
mov edx, dword [rbx + 0x20]
movzx ecx, byte [rax]
add dword [rbx + 0x24], 8
shl edx, 8
or edx, ecx
mov dword [rbx + 0x20], edx
inc qword [rdi]
mov rax, qword [rbx]
add dword [rax + 8], 0xffffffff
mov rax, qword [rbx]
inc dword [rax + 0xc]
mov rax, qword [rbx]
cmp dword [rax + 0xc], ebp
jne 0x4620eb
inc dword [rax + 0x10]
cmp dword [rbx + 0x24], 8
jl 0x4620af
mov edx, dword [rbx + 0x24]
mov eax, dword [rbx + 0x20]
lea ecx, [rdx - 8]
shr eax, cl
mov ecx, dword [rbx + 0xc6c]
movzx edi, al
shl ecx, 8
lea eax, [rdx - 8]
or ecx, edi
mov dword [rbx + 0x24], eax
mov dword [rbx + 0xc6c], ecx
mov dword [rbx + 8], 0x32
jmp 0x462157
mov rdi, qword [rbx]
cmp dword [rdi + 8], ebp
je 0x46218e
mov rax, qword [rdi]
mov edx, dword [rbx + 0x20]
movzx ecx, byte [rax]
add dword [rbx + 0x24], 8
shl edx, 8
or edx, ecx
mov dword [rbx + 0x20], edx
inc qword [rdi]
mov rax, qword [rbx]
add dword [rax + 8], 0xffffffff
mov rax, qword [rbx]
inc dword [rax + 0xc]
mov rax, qword [rbx]
cmp dword [rax + 0xc], ebp
jne 0x462157
inc dword [rax + 0x10]
cmp dword [rbx + 0x24], 8
jl 0x46211f
mov edx, dword [rbx + 0x24]
mov eax, dword [rbx + 0x20]
mov dword [rbx + 8], 1
lea ecx, [rdx - 8]
mov ebp, 4
shr eax, cl
mov ecx, dword [rbx + 0xc6c]
movzx edi, al
shl ecx, 8
lea eax, [rdx - 8]
or ecx, edi
mov dword [rbx + 0x24], eax
mov dword [rbx + 0xc6c], ecx
mov r12d, dword [rsp + 0x44]
mov esi, dword [rsp + 0x40]
mov r8, qword [rsp + 0x48]
mov eax, dword [rsp + 0x70]
mov dword [rbx + 0xfa24], r13d
mov dword [rbx + 0xfa34], esi
mov dword [rbx + 0xfa28], eax
mov eax, dword [rsp + 0xac]
mov dword [rbx + 0xfa44], r12d
mov dword [rbx + 0xfa2c], eax
mov eax, dword [rsp + 0x6c]
mov dword [rbx + 0xfa64], r15d
mov dword [rbx + 0xfa30], eax
mov eax, dword [rsp + 0x68]
mov dword [rbx + 0xfa68], r14d
mov dword [rbx + 0xfa38], eax
mov eax, dword [rsp + 0x90]
mov qword [rbx + 0xfa78], r8
mov dword [rbx + 0xfa3c], eax
mov eax, dword [rsp + 0x60]
mov dword [rbx + 0xfa40], eax
mov eax, dword [rsp + 0x50]
mov dword [rbx + 0xfa48], eax
mov eax, dword [rsp + 0x8c]
mov dword [rbx + 0xfa4c], eax
mov eax, dword [rsp + 0x64]
mov dword [rbx + 0xfa50], eax
mov eax, dword [rsp + 0x58]
mov dword [rbx + 0xfa54], eax
mov eax, dword [rsp + 0x88]
mov dword [rbx + 0xfa58], eax
mov eax, dword [rsp + 0x54]
mov dword [rbx + 0xfa5c], eax
mov eax, dword [rsp + 0xa4]
mov dword [rbx + 0xfa60], eax
mov eax, dword [rsp + 0x80]
mov dword [rbx + 0xfa6c], eax
mov eax, dword [rsp + 0x84]
mov dword [rbx + 0xfa70], eax
mov eax, dword [rsp + 0x5c]
mov dword [rbx + 0xfa74], eax
mov rax, qword [rsp + 0x98]
mov qword [rbx + 0xfa80], rax
mov rax, qword [rsp + 0x78]
mov qword [rbx + 0xfa88], rax
mov eax, ebp
mov rcx, qword [rsp + 0xb8]
call fcn.00577820
add rsp, 0xc8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret