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

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x138
movups xmmword [rsp + 0xd0], xmm6
movups xmmword [rsp + 0xe0], xmm7
movups xmmword [rsp + 0xf0], xmm8
movups xmmword [rsp + 0x100], xmm9
movups xmmword [rsp + 0x110], xmm10
movups xmmword [rsp + 0x120], xmm11
mov eax, dword [rcx + 8]
mov rdi, qword [rcx]
mov rbx, rcx
cmp eax, 0xa
je 0x18004dc68
movsxd rsi, dword [rcx + 0xfa24]
mov ebp, dword [rbx + 0xfa50]
sub eax, 0xb
mov r12d, dword [rcx + 0xfa28]
mov r9d, dword [rcx + 0xfa2c]
mov ecx, dword [rcx + 0xfa30]
mov r13d, dword [rbx + 0xfa34]
mov r15d, dword [rbx + 0xfa5c]
mov r14d, dword [rbx + 0xfa64]
mov dword [rsp + 0x64], ecx
mov ecx, dword [rbx + 0xfa38]
mov r10d, dword [rbx + 0xfa68]
mov dword [rsp + 0x60], ecx
mov ecx, dword [rbx + 0xfa3c]
mov dword [rsp + 0x88], ecx
mov ecx, dword [rbx + 0xfa40]
mov dword [rsp + 0x7c], ecx
mov ecx, dword [rbx + 0xfa44]
mov dword [rsp + 0x78], ecx
mov ecx, dword [rbx + 0xfa48]
mov dword [rsp + 0x70], ecx
mov ecx, dword [rbx + 0xfa4c]
mov dword [rsp + 0x80], ecx
mov ecx, dword [rbx + 0xfa54]
mov dword [rsp + 0x74], ecx
mov ecx, dword [rbx + 0xfa58]
mov dword [rsp + 0x90], ecx
mov ecx, dword [rbx + 0xfa60]
mov dword [rsp + 0xa0], ecx
mov ecx, dword [rbx + 0xfa6c]
mov dword [rsp + 0x4c], ecx
mov ecx, dword [rbx + 0xfa70]
mov dword [rsp + 0x94], ecx
mov ecx, dword [rbx + 0xfa74]
mov dword [rsp + 0x84], ecx
mov rcx, qword [rbx + 0xfa78]
mov qword [rsp + 0x50], rcx
mov rcx, qword [rbx + 0xfa80]
mov qword [rsp + 0x58], rcx
mov rcx, qword [rbx + 0xfa88]
mov qword [rsp + 0x68], rcx
cmp eax, 0x27
ja case.default.0x18004dc62
lea rdx, [0x180077920]
movsxd rax, dword [rdx + rax*4]
add rax, rdx
jmp rax
mov dword [rcx + 0xfa74], 0
pxor xmm0, xmm0
movups xmmword [rcx + 0xfa24], xmm0
movups xmmword [rcx + 0xfa34], xmm0
movups xmmword [rcx + 0xfa44], xmm0
movups xmmword [rcx + 0xfa54], xmm0
movups xmmword [rcx + 0xfa64], xmm0
pxor xmm0, xmm0
mov qword [rcx + 0xfa88], 0
movups xmmword [rcx + 0xfa78], xmm0
mov ecx, dword [rcx + 0x24]
jmp 0x18004dcf3
mov edx, dword [rdi + 8]
test edx, edx
je 0x180051028
mov r8, qword [rdi]
mov eax, dword [rbx + 0x20]
add ecx, 8
sub edx, 1
movzx r9d, byte [r8]
shl eax, 8
mov dword [rbx + 0x24], ecx
add r8, 1
or eax, r9d
mov dword [rbx + 0x20], eax
add dword [rdi + 0xc], 1
mov qword [rdi], r8
mov dword [rdi + 8], edx
je 0x180051120
cmp ecx, 7
jle 0x18004dcb8
mov eax, dword [rbx + 0x20]
sub ecx, 8
mov dword [rsp + 0x4c], 0
xor ebp, ebp
mov dword [rbx + 0x24], ecx
xor r10d, r10d
xor r14d, r14d
xor r15d, r15d
shr eax, cl
mov dword [rsp + 0x74], 0
xor r13d, r13d
xor r9d, r9d
mov qword [rsp + 0x68], 0
xor r12d, r12d
xor esi, esi
mov qword [rsp + 0x58], 0
mov qword [rsp + 0x50], 0
mov dword [rsp + 0x84], 0
mov dword [rsp + 0x94], 0
mov dword [rsp + 0xa0], 0
mov dword [rsp + 0x90], 0
mov dword [rsp + 0x80], 0
mov dword [rsp + 0x70], 0
mov dword [rsp + 0x78], 0
mov dword [rsp + 0x7c], 0
mov dword [rsp + 0x88], 0
mov dword [rsp + 0x60], 0
mov dword [rsp + 0x64], 0
cmp al, 0x42
jne 0x1800507a3
jmp 0x1800507b3
imul edx, eax, 0x61a80
mov r8d, 1
call r11
mov r10d, dword [rsp + 0x98]
mov r9d, dword [rsp + 0xa4]
test rax, rax
mov qword [rbx + 0xc50], rax
je 0x18004fbe8
nop word [rax + rax]
mov dword [rbx + 8], 0xe
mov ecx, dword [rbx + 0x24]
jmp 0x18004de41
mov rax, qword [rbx]
mov r8d, dword [rax + 8]
test r8d, r8d
je 0x180050db0
mov r11, qword [rax]
mov edx, dword [rbx + 0x20]
add ecx, 8
sub r8d, 1
movzx edi, byte [r11]
shl edx, 8
mov dword [rbx + 0x24], ecx
add r11, 1
or edx, edi
mov dword [rbx + 0x20], edx
add dword [rax + 0xc], 1
mov qword [rax], r11
mov dword [rax + 8], r8d
je 0x180050f68
cmp ecx, 7
jle 0x18004de00
mov eax, dword [rbx + 0x20]
sub ecx, 8
mov dword [rbx + 0x24], ecx
shr eax, cl
cmp al, 0x17
je 0x180050453
cmp al, 0x31
jne 0x180050310
jmp 0x18004ffd3
mov eax, dword [rbx + 0x24]
mov dword [rbx + 8], 0x23
jmp 0x18004dec1
mov rdx, qword [rbx]
mov r8d, dword [rdx + 8]
test r8d, r8d
je 0x180050db0
mov r11, qword [rdx]
mov ecx, dword [rbx + 0x20]
add eax, 8
sub r8d, 1
movzx edi, byte [r11]
shl ecx, 8
mov dword [rbx + 0x24], eax
add r11, 1
or ecx, edi
mov dword [rbx + 0x20], ecx
add dword [rdx + 0xc], 1
mov qword [rdx], r11
mov dword [rdx + 8], r8d
je 0x180050f98
test eax, eax
jle 0x18004de80
mov r8d, dword [rbx + 0x20]
sub eax, 1
lea ecx, [r15 - 1]
lea edx, [r15 + 1]
mov dword [rbx + 0x24], eax
bt r8d, eax
cmovb edx, ecx
mov r15d, edx
lea eax, [r15 - 1]
cmp eax, 0x13
ja 0x180050310
nop
mov dword [rbx + 8], 0x22
mov eax, dword [rbx + 0x24]
jmp 0x18004df41
mov rdx, qword [rbx]
mov r8d, dword [rdx + 8]
test r8d, r8d
je 0x180050db0
mov r11, qword [rdx]
mov ecx, dword [rbx + 0x20]
add eax, 8
sub r8d, 1
movzx edi, byte [r11]
shl ecx, 8
mov dword [rbx + 0x24], eax
add r11, 1
or ecx, edi
mov dword [rbx + 0x20], ecx
add dword [rdx + 0xc], 1
mov qword [rdx], r11
mov dword [rdx + 8], r8d
je 0x180051008
test eax, eax
jle 0x18004df00
mov edx, dword [rbx + 0x20]
sub eax, 1
mov dword [rbx + 0x24], eax
bt edx, eax
jb 0x18004de73
movsxd rdx, r9d
movsxd rcx, esi
add esi, 1
mov rax, rdx
shl rax, 7
add rax, rdx
lea rax, [rbx + rax*2]
mov byte [rcx + rax + 0xab70], r15b
mov eax, dword [rsp + 0x64]
cmp esi, eax
jl 0x18004dee1
add r9d, 1
cmp r9d, r13d
jl case.0x18004dc62.33
mov eax, dword [rsp + 0x64]
xor ecx, ecx
mov dword [rsp + 0x7c], r14d
lea r11, [rbx + 0xb17c]
mov dword [rsp + 0x80], r15d
lea rdi, [rbx + 0xab70]
mov r14d, r12d
mov r15d, r10d
lea esi, [rax - 1]
mov ebp, eax
mov r12, rbx
mov r10, rcx
mov dword [rsp + 0x78], esi
mov esi, 0x20
shr ebp, 4
mov ebx, eax
movd xmm6, esi
pshufd xmm6, xmm6, 0
jmp 0x18004f281
xor eax, eax
mov esi, 0x20
test ebx, ebx
jle 0x18004f222
cmp dword [rsp + 0x78], 0xe
jbe 0x180051a01
movdqu xmm7, xmmword [rdi]
pxor xmm3, xmm3
pxor xmm2, xmm2
pxor xmm10, xmm10
movdqa xmm9, xmm7
punpckhbw xmm7, xmm3
punpcklbw xmm9, xmm3
movdqa xmm8, xmm7
punpckhwd xmm7, xmm2
movdqa xmm5, xmm9
punpckhwd xmm9, xmm2
punpcklwd xmm8, xmm2
punpcklwd xmm5, xmm2
movdqa xmm4, xmm9
pcmpgtd xmm4, xmm5
movdqa xmm0, xmm4
movdqa xmm1, xmm4
pand xmm0, xmm9
pandn xmm1, xmm5
pand xmm5, xmm4
por xmm1, xmm0
pandn xmm4, xmm9
movdqa xmm9, xmm6
movdqa xmm0, xmm1
por xmm4, xmm5
pcmpgtd xmm0, xmm10
movdqa xmm5, xmm4
pcmpgtd xmm5, xmm6
pand xmm1, xmm0
movdqa xmm0, xmm7
pcmpgtd xmm0, xmm8
pand xmm9, xmm5
pandn xmm5, xmm4
por xmm5, xmm9
movdqa xmm4, xmm5
movdqa xmm10, xmm0
movdqa xmm11, xmm0
pand xmm10, xmm7
pandn xmm11, xmm8
pand xmm8, xmm0
pandn xmm0, xmm7
por xmm11, xmm10
movdqa xmm10, xmm1
por xmm0, xmm8
pcmpgtd xmm10, xmm11
pcmpgtd xmm5, xmm0
pand xmm1, xmm10
pandn xmm10, xmm11
pand xmm0, xmm5
pandn xmm5, xmm4
por xmm1, xmm10
por xmm0, xmm5
cmp ebp, 1
je 0x18004ef77
movdqu xmm7, xmmword [rdi + 0x10]
movdqa xmm10, xmm7
punpckhbw xmm7, xmm3
punpcklbw xmm10, xmm3
movdqa xmm9, xmm10
punpckhwd xmm10, xmm2
punpcklwd xmm9, xmm2
movdqa xmm4, xmm10
pcmpgtd xmm4, xmm9
movdqa xmm8, xmm4
movdqa xmm5, xmm4
pand xmm8, xmm10
pandn xmm5, xmm9
pand xmm9, xmm4
por xmm5, xmm8
movdqa xmm8, xmm5
pcmpgtd xmm8, xmm1
pand xmm5, xmm8
pandn xmm8, xmm1
movdqa xmm1, xmm4
pandn xmm1, xmm10
por xmm8, xmm5
por xmm1, xmm9
movdqa xmm4, xmm1
pcmpgtd xmm4, xmm0
pand xmm0, xmm4
pandn xmm4, xmm1
movdqa xmm5, xmm4
movdqa xmm4, xmm7
punpckhwd xmm7, xmm2
por xmm5, xmm0
punpcklwd xmm4, xmm2
movdqa xmm0, xmm7
pcmpgtd xmm0, xmm4
movdqa xmm9, xmm0
movdqa xmm1, xmm0
pand xmm9, xmm7
pandn xmm1, xmm4
pand xmm4, xmm0
pandn xmm0, xmm7
por xmm1, xmm9
por xmm4, xmm0
movdqa xmm9, xmm1
movdqa xmm0, xmm4
pcmpgtd xmm9, xmm8
pcmpgtd xmm0, xmm5
pand xmm1, xmm9
pandn xmm9, xmm8
pand xmm5, xmm0
pandn xmm0, xmm4
por xmm1, xmm9
por xmm0, xmm5
cmp ebp, 2
je 0x18004ef77
movdqu xmm7, xmmword [rdi + 0x20]
movdqa xmm10, xmm7
punpckhbw xmm7, xmm3
punpcklbw xmm10, xmm3
movdqa xmm9, xmm10
punpckhwd xmm10, xmm2
punpcklwd xmm9, xmm2
movdqa xmm4, xmm10
pcmpgtd xmm4, xmm9
movdqa xmm8, xmm4
movdqa xmm5, xmm4
pand xmm8, xmm10
pandn xmm5, xmm9
pand xmm9, xmm4
por xmm5, xmm8
movdqa xmm8, xmm5
pcmpgtd xmm8, xmm1
pand xmm5, xmm8
pandn xmm8, xmm1
movdqa xmm1, xmm4
pandn xmm1, xmm10
por xmm8, xmm5
por xmm1, xmm9
movdqa xmm4, xmm1
pcmpgtd xmm4, xmm0
pand xmm0, xmm4
pandn xmm4, xmm1
movdqa xmm5, xmm4
movdqa xmm4, xmm7
punpckhwd xmm7, xmm2
por xmm5, xmm0
punpcklwd xmm4, xmm2
movdqa xmm0, xmm7
pcmpgtd xmm0, xmm4
movdqa xmm9, xmm0
movdqa xmm1, xmm0
pand xmm9, xmm7
pandn xmm1, xmm4
pand xmm4, xmm0
pandn xmm0, xmm7
por xmm1, xmm9
por xmm4, xmm0
movdqa xmm9, xmm1
movdqa xmm0, xmm4
pcmpgtd xmm9, xmm8
pcmpgtd xmm0, xmm5
pand xmm1, xmm9
pandn xmm9, xmm8
pand xmm5, xmm0
pandn xmm0, xmm4
por xmm1, xmm9
por xmm0, xmm5
cmp ebp, 3
je 0x18004ef77
movdqu xmm7, xmmword [rdi + 0x30]
movdqa xmm10, xmm7
punpckhbw xmm7, xmm3
punpcklbw xmm10, xmm3
movdqa xmm9, xmm10
punpckhwd xmm10, xmm2
punpcklwd xmm9, xmm2
movdqa xmm4, xmm10
pcmpgtd xmm4, xmm9
movdqa xmm8, xmm4
movdqa xmm5, xmm4
pand xmm8, xmm10
pandn xmm5, xmm9
pand xmm9, xmm4
por xmm5, xmm8
movdqa xmm8, xmm5
pcmpgtd xmm8, xmm1
pand xmm5, xmm8
pandn xmm8, xmm1
movdqa xmm1, xmm4
pandn xmm1, xmm10
por xmm8, xmm5
por xmm1, xmm9
movdqa xmm4, xmm1
pcmpgtd xmm4, xmm0
pand xmm0, xmm4
pandn xmm4, xmm1
movdqa xmm5, xmm4
movdqa xmm4, xmm7
punpckhwd xmm7, xmm2
por xmm5, xmm0
punpcklwd xmm4, xmm2
movdqa xmm0, xmm7
pcmpgtd xmm0, xmm4
movdqa xmm9, xmm0
movdqa xmm1, xmm0
pand xmm9, xmm7
pandn xmm1, xmm4
pand xmm4, xmm0
pandn xmm0, xmm7
por xmm1, xmm9
por xmm4, xmm0
movdqa xmm9, xmm1
movdqa xmm0, xmm4
pcmpgtd xmm9, xmm8
pcmpgtd xmm0, xmm5
pand xmm1, xmm9
pandn xmm9, xmm8
pand xmm5, xmm0
pandn xmm0, xmm4
por xmm1, xmm9
por xmm0, xmm5
cmp ebp, 4
je 0x18004ef77
movdqu xmm7, xmmword [rdi + 0x40]
movdqa xmm10, xmm7
punpckhbw xmm7, xmm3
punpcklbw xmm10, xmm3
movdqa xmm9, xmm10
punpckhwd xmm10, xmm2
punpcklwd xmm9, xmm2
movdqa xmm4, xmm10
pcmpgtd xmm4, xmm9
movdqa xmm8, xmm4
movdqa xmm5, xmm4
pand xmm8, xmm10
pandn xmm5, xmm9
pand xmm9, xmm4
por xmm5, xmm8
movdqa xmm8, xmm5
pcmpgtd xmm8, xmm1
pand xmm5, xmm8
pandn xmm8, xmm1
movdqa xmm1, xmm4
pandn xmm1, xmm10
por xmm8, xmm5
por xmm1, xmm9
movdqa xmm4, xmm1
pcmpgtd xmm4, xmm0
pand xmm0, xmm4
pandn xmm4, xmm1
movdqa xmm5, xmm4
movdqa xmm4, xmm7
punpckhwd xmm7, xmm2
por xmm5, xmm0
punpcklwd xmm4, xmm2
movdqa xmm0, xmm7
pcmpgtd xmm0, xmm4
movdqa xmm9, xmm0
movdqa xmm1, xmm0
pand xmm9, xmm7
pandn xmm1, xmm4
pand xmm4, xmm0
pandn xmm0, xmm7
por xmm1, xmm9
por xmm4, xmm0
movdqa xmm9, xmm1
movdqa xmm0, xmm4
pcmpgtd xmm9, xmm8
pcmpgtd xmm0, xmm5
pand xmm1, xmm9
pandn xmm9, xmm8
pand xmm5, xmm0
pandn xmm0, xmm4
por xmm1, xmm9
por xmm0, xmm5
cmp ebp, 5
je 0x18004ef77
movdqu xmm7, xmmword [rdi + 0x50]
movdqa xmm10, xmm7
punpckhbw xmm7, xmm3
punpcklbw xmm10, xmm3
movdqa xmm9, xmm10
punpckhwd xmm10, xmm2
punpcklwd xmm9, xmm2
movdqa xmm4, xmm10
pcmpgtd xmm4, xmm9
movdqa xmm8, xmm4
movdqa xmm5, xmm4
pand xmm8, xmm10
pandn xmm5, xmm9
pand xmm9, xmm4
por xmm5, xmm8
movdqa xmm8, xmm5
pcmpgtd xmm8, xmm1
pand xmm5, xmm8
pandn xmm8, xmm1
movdqa xmm1, xmm4
pandn xmm1, xmm10
por xmm8, xmm5
por xmm1, xmm9
movdqa xmm4, xmm1
pcmpgtd xmm4, xmm0
pand xmm0, xmm4
pandn xmm4, xmm1
movdqa xmm5, xmm4
movdqa xmm4, xmm7
punpckhwd xmm7, xmm2
por xmm5, xmm0
punpcklwd xmm4, xmm2
movdqa xmm0, xmm7
pcmpgtd xmm0, xmm4
movdqa xmm9, xmm0
movdqa xmm1, xmm0
pand xmm9, xmm7
pandn xmm1, xmm4
pand xmm4, xmm0
pandn xmm0, xmm7
por xmm1, xmm9
por xmm4, xmm0
movdqa xmm9, xmm1
movdqa xmm0, xmm4
pcmpgtd xmm9, xmm8
pcmpgtd xmm0, xmm5
pand xmm1, xmm9
pandn xmm9, xmm8
pand xmm5, xmm0
pandn xmm0, xmm4
por xmm1, xmm9
por xmm0, xmm5
cmp ebp, 6
je 0x18004ef77
movdqu xmm7, xmmword [rdi + 0x60]
movdqa xmm4, xmm7
punpckhbw xmm7, xmm3
punpcklbw xmm4, xmm3
movdqa xmm8, xmm4
punpckhwd xmm4, xmm2
punpcklwd xmm8, xmm2
movdqa xmm3, xmm4
pcmpgtd xmm3, xmm8
movdqa xmm9, xmm3
movdqa xmm5, xmm3
pand xmm9, xmm4
pandn xmm5, xmm8
pand xmm8, xmm3
por xmm5, xmm9
pandn xmm3, xmm4
movdqa xmm9, xmm5
pcmpgtd xmm9, xmm1
pand xmm5, xmm9
pandn xmm9, xmm1
movdqa xmm1, xmm3
por xmm1, xmm8
movdqa xmm8, xmm7
por xmm5, xmm9
movdqa xmm3, xmm1
punpcklwd xmm8, xmm2
pcmpgtd xmm3, xmm0
pand xmm0, xmm3
pandn xmm3, xmm1
por xmm3, xmm0
movdqa xmm4, xmm3
movdqa xmm3, xmm7
punpckhwd xmm3, xmm2
movdqa xmm0, xmm3
pcmpgtd xmm0, xmm8
movdqa xmm2, xmm0
movdqa xmm1, xmm0
pand xmm2, xmm3
pandn xmm1, xmm8
pand xmm8, xmm0
por xmm1, xmm2
pandn xmm0, xmm3
movdqa xmm2, xmm1
pcmpgtd xmm2, xmm5
pand xmm1, xmm2
pandn xmm2, xmm5
por xmm1, xmm2
movdqa xmm2, xmm0
por xmm2, xmm8
movdqa xmm0, xmm2
pcmpgtd xmm0, xmm4
pand xmm4, xmm0
pandn xmm0, xmm2
por xmm0, xmm4
cmp ebp, 7
je 0x18004ef77
movdqu xmm7, xmmword [rdi + 0x70]
pxor xmm3, xmm3
pxor xmm2, xmm2
movdqa xmm9, xmm7
punpckhbw xmm7, xmm3
punpcklbw xmm9, xmm3
movdqa xmm10, xmm9
punpckhwd xmm9, xmm2
punpcklwd xmm10, xmm2
movdqa xmm4, xmm9
pcmpgtd xmm4, xmm10
movdqa xmm8, xmm4
movdqa xmm5, xmm4
pand xmm8, xmm9
pandn xmm5, xmm10
por xmm5, xmm8
movdqa xmm8, xmm5
pcmpgtd xmm8, xmm1
pand xmm5, xmm8
pandn xmm8, xmm1
movdqa xmm1, xmm4
por xmm8, xmm5
movdqa xmm5, xmm10
pandn xmm1, xmm9
pand xmm5, xmm4
por xmm1, xmm5
movdqa xmm4, xmm1
pcmpgtd xmm4, xmm0
pand xmm0, xmm4
pandn xmm4, xmm1
movdqa xmm5, xmm4
movdqa xmm4, xmm7
punpckhwd xmm7, xmm2
por xmm5, xmm0
punpcklwd xmm4, xmm2
movdqa xmm0, xmm7
pcmpgtd xmm0, xmm4
movdqa xmm9, xmm0
movdqa xmm1, xmm0
pand xmm9, xmm7
pandn xmm1, xmm4
pand xmm4, xmm0
pandn xmm0, xmm7
por xmm1, xmm9
por xmm4, xmm0
movdqa xmm9, xmm1
movdqa xmm0, xmm4
pcmpgtd xmm9, xmm8
pcmpgtd xmm0, xmm5
pand xmm1, xmm9
pandn xmm9, xmm8
pand xmm5, xmm0
pandn xmm0, xmm4
por xmm1, xmm9
por xmm0, xmm5
cmp ebp, 8
je 0x18004ef77
movdqu xmm7, xmmword [rdi + 0x80]
movdqa xmm9, xmm7
punpckhbw xmm7, xmm3
punpcklbw xmm9, xmm3
movdqa xmm10, xmm9
punpckhwd xmm9, xmm2
punpcklwd xmm10, xmm2
movdqa xmm4, xmm9
pcmpgtd xmm4, xmm10
movdqa xmm8, xmm4
movdqa xmm5, xmm4
pand xmm8, xmm9
pandn xmm5, xmm10
por xmm5, xmm8
movdqa xmm8, xmm5
pcmpgtd xmm8, xmm1
pand xmm5, xmm8
pandn xmm8, xmm1
movdqa xmm1, xmm4
por xmm8, xmm5
movdqa xmm5, xmm10
pandn xmm1, xmm9
pand xmm5, xmm4
por xmm1, xmm5
movdqa xmm4, xmm1
pcmpgtd xmm4, xmm0
pand xmm0, xmm4
pandn xmm4, xmm1
movdqa xmm5, xmm4
movdqa xmm4, xmm7
punpckhwd xmm7, xmm2
por xmm5, xmm0
punpcklwd xmm4, xmm2
movdqa xmm0, xmm7
pcmpgtd xmm0, xmm4
movdqa xmm9, xmm0
movdqa xmm1, xmm0
pand xmm9, xmm7
pandn xmm1, xmm4
pand xmm4, xmm0
pandn xmm0, xmm7
por xmm1, xmm9
por xmm4, xmm0
movdqa xmm9, xmm1
movdqa xmm0, xmm4
pcmpgtd xmm9, xmm8
pcmpgtd xmm0, xmm5
pand xmm1, xmm9
pandn xmm9, xmm8
pand xmm5, xmm0
pandn xmm0, xmm4
por xmm1, xmm9
por xmm0, xmm5
cmp ebp, 9
je 0x18004ef77
movdqu xmm7, xmmword [rdi + 0x90]
movdqa xmm9, xmm7
punpckhbw xmm7, xmm3
punpcklbw xmm9, xmm3
movdqa xmm10, xmm9
punpckhwd xmm9, xmm2
punpcklwd xmm10, xmm2
movdqa xmm4, xmm9
pcmpgtd xmm4, xmm10
movdqa xmm8, xmm4
movdqa xmm5, xmm4
pand xmm8, xmm9
pandn xmm5, xmm10
por xmm5, xmm8
movdqa xmm8, xmm5
pcmpgtd xmm8, xmm1
pand xmm5, xmm8
pandn xmm8, xmm1
movdqa xmm1, xmm4
por xmm8, xmm5
movdqa xmm5, xmm10
pandn xmm1, xmm9
pand xmm5, xmm4
por xmm1, xmm5
movdqa xmm4, xmm1
pcmpgtd xmm4, xmm0
pand xmm0, xmm4
pandn xmm4, xmm1
movdqa xmm5, xmm4
movdqa xmm4, xmm7
punpckhwd xmm7, xmm2
por xmm5, xmm0
punpcklwd xmm4, xmm2
movdqa xmm0, xmm7
pcmpgtd xmm0, xmm4
movdqa xmm9, xmm0
movdqa xmm1, xmm0
pand xmm9, xmm7
pandn xmm1, xmm4
pand xmm4, xmm0
pandn xmm0, xmm7
por xmm1, xmm9
por xmm4, xmm0
movdqa xmm9, xmm1
movdqa xmm0, xmm4
pcmpgtd xmm9, xmm8
pcmpgtd xmm0, xmm5
pand xmm1, xmm9
pandn xmm9, xmm8
pand xmm5, xmm0
pandn xmm0, xmm4
por xmm1, xmm9
por xmm0, xmm5
cmp ebp, 0xa
je 0x18004ef77
movdqu xmm7, xmmword [rdi + 0xa0]
movdqa xmm9, xmm7
punpckhbw xmm7, xmm3
punpcklbw xmm9, xmm3
movdqa xmm10, xmm9
punpckhwd xmm9, xmm2
punpcklwd xmm10, xmm2
movdqa xmm4, xmm9
pcmpgtd xmm4, xmm10
movdqa xmm8, xmm4
movdqa xmm5, xmm4
pand xmm8, xmm9
pandn xmm5, xmm10
por xmm5, xmm8
movdqa xmm8, xmm5
pcmpgtd xmm8, xmm1
pand xmm5, xmm8
pandn xmm8, xmm1
movdqa xmm1, xmm4
por xmm8, xmm5
movdqa xmm5, xmm10
pandn xmm1, xmm9
pand xmm5, xmm4
por xmm1, xmm5
movdqa xmm4, xmm1
pcmpgtd xmm4, xmm0
pand xmm0, xmm4
pandn xmm4, xmm1
movdqa xmm5, xmm4
movdqa xmm4, xmm7
punpckhwd xmm7, xmm2
por xmm5, xmm0
punpcklwd xmm4, xmm2
movdqa xmm0, xmm7
pcmpgtd xmm0, xmm4
movdqa xmm9, xmm0
movdqa xmm1, xmm0
pand xmm9, xmm7
pandn xmm1, xmm4
pand xmm4, xmm0
pandn xmm0, xmm7
por xmm1, xmm9
por xmm4, xmm0
movdqa xmm9, xmm1
movdqa xmm0, xmm4
pcmpgtd xmm9, xmm8
pcmpgtd xmm0, xmm5
pand xmm1, xmm9
pandn xmm9, xmm8
pand xmm5, xmm0
pandn xmm0, xmm4
por xmm1, xmm9
por xmm0, xmm5
cmp ebp, 0xb
je 0x18004ef77
movdqu xmm7, xmmword [rdi + 0xb0]
movdqa xmm9, xmm7
punpckhbw xmm7, xmm3
punpcklbw xmm9, xmm3
movdqa xmm10, xmm9
punpckhwd xmm9, xmm2
punpcklwd xmm10, xmm2
movdqa xmm4, xmm9
pcmpgtd xmm4, xmm10
movdqa xmm8, xmm4
movdqa xmm5, xmm4
pand xmm8, xmm9
pandn xmm5, xmm10
por xmm5, xmm8
movdqa xmm8, xmm5
pcmpgtd xmm8, xmm1
pand xmm5, xmm8
pandn xmm8, xmm1
movdqa xmm1, xmm4
por xmm8, xmm5
movdqa xmm5, xmm10
pandn xmm1, xmm9
pand xmm5, xmm4
por xmm1, xmm5
movdqa xmm4, xmm1
pcmpgtd xmm4, xmm0
pand xmm0, xmm4
pandn xmm4, xmm1
movdqa xmm5, xmm4
movdqa xmm4, xmm7
punpckhwd xmm7, xmm2
por xmm5, xmm0
punpcklwd xmm4, xmm2
movdqa xmm0, xmm7
pcmpgtd xmm0, xmm4
movdqa xmm9, xmm0
movdqa xmm1, xmm0
pand xmm9, xmm7
pandn xmm1, xmm4
pand xmm4, xmm0
pandn xmm0, xmm7
por xmm1, xmm9
por xmm4, xmm0
movdqa xmm9, xmm1
movdqa xmm0, xmm4
pcmpgtd xmm9, xmm8
pcmpgtd xmm0, xmm5
pand xmm1, xmm9
pandn xmm9, xmm8
pand xmm5, xmm0
pandn xmm0, xmm4
por xmm1, xmm9
por xmm0, xmm5
cmp ebp, 0xc
je 0x18004ef77
movdqu xmm7, xmmword [rdi + 0xc0]
movdqa xmm9, xmm7
punpckhbw xmm7, xmm3
punpcklbw xmm9, xmm3
movdqa xmm10, xmm9
punpckhwd xmm9, xmm2
punpcklwd xmm10, xmm2
movdqa xmm4, xmm9
pcmpgtd xmm4, xmm10
movdqa xmm8, xmm4
movdqa xmm5, xmm4
pand xmm8, xmm9
pandn xmm5, xmm10
por xmm5, xmm8
movdqa xmm8, xmm5
pcmpgtd xmm8, xmm1
pand xmm5, xmm8
pandn xmm8, xmm1
movdqa xmm1, xmm4
por xmm8, xmm5
movdqa xmm5, xmm10
pandn xmm1, xmm9
pand xmm5, xmm4
por xmm1, xmm5
movdqa xmm4, xmm1
pcmpgtd xmm4, xmm0
pand xmm0, xmm4
pandn xmm4, xmm1
movdqa xmm5, xmm4
movdqa xmm4, xmm7
punpckhwd xmm7, xmm2
por xmm5, xmm0
punpcklwd xmm4, xmm2
movdqa xmm0, xmm7
pcmpgtd xmm0, xmm4
movdqa xmm9, xmm0
movdqa xmm1, xmm0
pand xmm9, xmm7
pandn xmm1, xmm4
pand xmm4, xmm0
pandn xmm0, xmm7
por xmm1, xmm9
por xmm4, xmm0
movdqa xmm9, xmm1
movdqa xmm0, xmm4
pcmpgtd xmm9, xmm8
pcmpgtd xmm0, xmm5
pand xmm1, xmm9
pandn xmm9, xmm8
pand xmm5, xmm0
pandn xmm0, xmm4
por xmm1, xmm9
por xmm0, xmm5
cmp ebp, 0xd
je 0x18004ef77
movdqu xmm7, xmmword [rdi + 0xd0]
movdqa xmm9, xmm7
punpckhbw xmm7, xmm3
punpcklbw xmm9, xmm3
movdqa xmm10, xmm9
punpckhwd xmm9, xmm2
punpcklwd xmm10, xmm2
movdqa xmm4, xmm9
pcmpgtd xmm4, xmm10
movdqa xmm8, xmm4
movdqa xmm5, xmm4
pand xmm8, xmm9
pandn xmm5, xmm10
por xmm5, xmm8
movdqa xmm8, xmm5
pcmpgtd xmm8, xmm1
pand xmm5, xmm8
pandn xmm8, xmm1
movdqa xmm1, xmm4
por xmm8, xmm5
movdqa xmm5, xmm10
pandn xmm1, xmm9
pand xmm5, xmm4
por xmm1, xmm5
movdqa xmm4, xmm1
pcmpgtd xmm4, xmm0
pand xmm0, xmm4
pandn xmm4, xmm1
movdqa xmm5, xmm4
movdqa xmm4, xmm7
punpckhwd xmm7, xmm2
por xmm5, xmm0
punpcklwd xmm4, xmm2
movdqa xmm0, xmm7
pcmpgtd xmm0, xmm4
movdqa xmm9, xmm0
movdqa xmm1, xmm0
pand xmm9, xmm7
pandn xmm1, xmm4
pand xmm4, xmm0
pandn xmm0, xmm7
por xmm1, xmm9
por xmm4, xmm0
movdqa xmm9, xmm1
movdqa xmm0, xmm4
pcmpgtd xmm9, xmm8
pcmpgtd xmm0, xmm5
pand xmm1, xmm9
pandn xmm9, xmm8
pand xmm5, xmm0
pandn xmm0, xmm4
por xmm1, xmm9
por xmm0, xmm5
cmp ebp, 0xe
je 0x18004ef77
movdqu xmm7, xmmword [rdi + 0xe0]
movdqa xmm9, xmm7
punpckhbw xmm7, xmm3
punpcklbw xmm9, xmm3
movdqa xmm10, xmm9
punpckhwd xmm9, xmm2
punpcklwd xmm10, xmm2
movdqa xmm4, xmm9
pcmpgtd xmm4, xmm10
movdqa xmm8, xmm4
movdqa xmm5, xmm4
pand xmm8, xmm9
pandn xmm5, xmm10
por xmm5, xmm8
movdqa xmm8, xmm5
pcmpgtd xmm8, xmm1
pand xmm5, xmm8
pandn xmm8, xmm1
movdqa xmm1, xmm4
por xmm8, xmm5
movdqa xmm5, xmm10
pandn xmm1, xmm9
pand xmm5, xmm4
por xmm1, xmm5
movdqa xmm4, xmm1
pcmpgtd xmm4, xmm0
pand xmm0, xmm4
pandn xmm4, xmm1
movdqa xmm5, xmm4
movdqa xmm4, xmm7
punpckhwd xmm7, xmm2
por xmm5, xmm0
punpcklwd xmm4, xmm2
movdqa xmm0, xmm7
pcmpgtd xmm0, xmm4
movdqa xmm9, xmm0
movdqa xmm1, xmm0
pand xmm9, xmm7
pandn xmm1, xmm4
pand xmm4, xmm0
pandn xmm0, xmm7
por xmm1, xmm9
por xmm4, xmm0
movdqa xmm9, xmm1
movdqa xmm0, xmm4
pcmpgtd xmm9, xmm8
pcmpgtd xmm0, xmm5
pand xmm1, xmm9
pandn xmm9, xmm8
pand xmm5, xmm0
pandn xmm0, xmm4
por xmm1, xmm9
por xmm0, xmm5
cmp ebp, 0xf
je 0x18004ef77
movdqa xmm3, xmm0
mov edx, ebx
psrldq xmm3, 8
and edx, 0xfffffff0
movdqa xmm2, xmm3
pcmpgtd xmm2, xmm0
pand xmm0, xmm2
pandn xmm2, xmm3
por xmm0, xmm2
movdqa xmm3, xmm0
psrldq xmm3, 4
movdqa xmm2, xmm3
pcmpgtd xmm2, xmm0
pand xmm0, xmm2
pandn xmm2, xmm3
por xmm0, xmm2
movdqa xmm2, xmm1
psrldq xmm2, 8
movd esi, xmm0
movdqa xmm0, xmm2
pcmpgtd xmm0, xmm1
pand xmm2, xmm0
pandn xmm0, xmm1
por xmm0, xmm2
movdqa xmm2, xmm0
psrldq xmm2, 4
movdqa xmm1, xmm2
pcmpgtd xmm1, xmm0
pand xmm2, xmm1
pandn xmm1, xmm0
por xmm1, xmm2
movd eax, xmm1
test bl, 0xf
je 0x18004f222
movsxd r9, r10d
movsxd r8, edx
imul rcx, r9, 0x102
add rcx, r12
movzx r8d, byte [r8 + rcx + 0xab70]
cmp eax, r8d
cmovl eax, r8d
cmp esi, r8d
cmovg esi, r8d
lea r8d, [rdx + 1]
cmp ebx, r8d
jle 0x18004f222
movsxd r8, r8d
movzx r8d, byte [rcx + r8 + 0xab70]
cmp eax, r8d
cmovl eax, r8d
cmp esi, r8d
cmovg esi, r8d
lea r8d, [rdx + 2]
cmp ebx, r8d
jle 0x18004f222
movsxd r8, r8d
movzx r8d, byte [rcx + r8 + 0xab70]
cmp eax, r8d
cmovl eax, r8d
cmp esi, r8d
cmovg esi, r8d
lea r8d, [rdx + 3]
cmp ebx, r8d
jle 0x18004f222
movsxd r8, r8d
movzx r8d, byte [rcx + r8 + 0xab70]
cmp eax, r8d
cmovl eax, r8d
cmp esi, r8d
cmovg esi, r8d
lea r8d, [rdx + 4]
cmp ebx, r8d
jle 0x18004f222
movsxd r8, r8d
movzx r8d, byte [rcx + r8 + 0xab70]
cmp eax, r8d
cmovl eax, r8d
cmp esi, r8d
cmovg esi, r8d
lea r8d, [rdx + 5]
cmp ebx, r8d
jle 0x18004f222
movsxd r8, r8d
movzx r8d, byte [rcx + r8 + 0xab70]
cmp eax, r8d
cmovl eax, r8d
cmp esi, r8d
cmovg esi, r8d
lea r8d, [rdx + 6]
cmp ebx, r8d
jle 0x18004f222
movsxd r8, r8d
movzx r8d, byte [rcx + r8 + 0xab70]
cmp eax, r8d
cmovl eax, r8d
cmp esi, r8d
cmovg esi, r8d
lea r8d, [rdx + 7]
cmp ebx, r8d
jle 0x18004f222
movsxd r8, r8d
movzx r8d, byte [rcx + r8 + 0xab70]
cmp eax, r8d
cmovl eax, r8d
cmp esi, r8d
cmovg esi, r8d
lea r8d, [rdx + 8]
cmp ebx, r8d
jle 0x18004f222
movsxd r8, r8d
movzx r8d, byte [rcx + r8 + 0xab70]
cmp eax, r8d
cmovl eax, r8d
cmp esi, r8d
cmovg esi, r8d
lea r8d, [rdx + 9]
cmp ebx, r8d
jle 0x18004f222
movsxd r8, r8d
movzx ecx, byte [rcx + r8 + 0xab70]
cmp eax, ecx
cmovl eax, ecx
cmp esi, ecx
cmovg esi, ecx
lea ecx, [rdx + 0xa]
cmp ebx, ecx
jle 0x18004f222
imul r8, r9, 0x102
movsxd rcx, ecx
add r8, r12
movzx ecx, byte [rcx + r8 + 0xab70]
cmp eax, ecx
cmovl eax, ecx
cmp esi, ecx
cmovg esi, ecx
lea ecx, [rdx + 0xb]
cmp ebx, ecx
jle 0x18004f222
movsxd rcx, ecx
movzx ecx, byte [r8 + rcx + 0xab70]
cmp eax, ecx
cmovl eax, ecx
cmp esi, ecx
cmovg esi, ecx
lea ecx, [rdx + 0xc]
cmp ebx, ecx
jle 0x18004f222
movsxd rcx, ecx
movzx ecx, byte [r8 + rcx + 0xab70]
cmp eax, ecx
cmovl eax, ecx
cmp esi, ecx
cmovg esi, ecx
lea ecx, [rdx + 0xd]
cmp ebx, ecx
jle 0x18004f222
movsxd rcx, ecx
movzx ecx, byte [r8 + rcx + 0xab70]
cmp eax, ecx
cmovl eax, ecx
cmp esi, ecx
cmovg esi, ecx
add edx, 0xe
cmp ebx, edx
jle 0x18004f222
mov dword [rsp + 0x30], ebx
mov r9, rdi
mov rcx, r11
add rdi, 0x102
mov dword [rsp + 0x28], eax
lea rdx, [r11 + 0x1830]
lea r8, [r11 + 0x3060]
mov dword [rsp + 0x20], esi
mov qword [rsp + 0x98], r10
mov qword [rsp + 0x88], r11
call sym.BZ2_hbCreateDecodeTables
mov r10, qword [rsp + 0x98]
mov r11, qword [rsp + 0x88]
mov dword [r12 + r10*4 + 0xfa0c], esi
add r11, 0x408
add r10, 1
cmp r13d, r10d
jg 0x18004dfdd
xor eax, eax
test r13d, r13d
mov rbx, r12
mov r10d, r15d
cmovns eax, r13d
lea rdi, [rbx + 0x4c]
xor r11d, r11d
mov r12d, r14d
mov r15d, dword [rsp + 0x80]
and rdi, 0xfffffffffffffff8
mov r14d, dword [rsp + 0x7c]
xor esi, esi
mov r9d, eax
mov eax, dword [rbx + 0xc78]
mov r8d, 0xff0
add eax, 1
mov dword [rsp + 0x88], eax
imul eax, dword [rbx + 0x28], 0x186a0
mov dword [rsp + 0x80], eax
mov eax, ebx
sub eax, edi
mov qword [rbx + 0x44], r11
lea ecx, [rax + 0x444]
xor eax, eax
mov qword [rbx + 0x43c], r11
shr ecx, 3
rep stosq qword [rdi], rax
lea eax, [r8 + 1]
lea ebp, [r8 + 2]
mov byte [rsp + 0x78], al
lea eax, [r8 + 7]
lea edx, [r8 + 8]
mov byte [rsp + 0x7c], bpl
movzx eax, al
lea ebp, [r8 + 6]
lea edi, [r8 + 5]
movzx ebp, bpl
shl rax, 8
movzx edi, dil
lea r11d, [r8 + 4]
mov byte [rsp + 0x98], dl
lea edx, [r8 + 9]
or rax, rbp
movzx r11d, r11b
mov byte [rsp + 0xa4], dl
lea edx, [r8 + 0xa]
shl rax, 8
lea ecx, [r8 + 3]
mov byte [rsp + 0xa8], dl
lea edx, [r8 + 0xb]
or rax, rdi
movzx ecx, cl
mov byte [rsp + 0xac], dl
lea edx, [r8 + 0xc]
shl rax, 8
mov byte [rsp + 0xb0], dl
lea edx, [r8 + 0xd]
or rax, r11
mov byte [rsp + 0xb4], dl
lea edx, [r8 + 0xe]
shl rax, 8
mov byte [rsp + 0xb8], dl
lea edx, [r8 + 0xf]
or rax, rcx
movzx ecx, byte [rsp + 0xb8]
mov byte [rsp + 0xbf], dl
movzx edx, byte [rsp + 0x7c]
shl rax, 8
or rax, rdx
movzx edx, byte [rsp + 0x78]
shl rax, 8
or rax, rdx
movzx edx, r8b
shl rax, 8
or rax, rdx
movzx edx, byte [rsp + 0xbf]
movq xmm0, rax
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rsp + 0xb4]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rsp + 0xb0]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rsp + 0xac]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rsp + 0xa8]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rsp + 0xa4]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rsp + 0x98]
shl rdx, 8
or rdx, rcx
movq xmm6, rdx
punpcklqdq xmm0, xmm6
movups xmmword [rbx + rsi*4 + 0x1e7c], xmm0
mov dword [rbx + rsi + 0x1ec8], r8d
sub r8d, 0x10
sub rsi, 4
cmp r8d, 0xef0
jne 0x18004f2fa
cmp dword [rsp + 0x60], 0
jle 0x180051b9c
movzx esi, byte [rbx + 0x1ecc]
xor r8d, r8d
mov dword [rsp + 0x78], 0x31
xor ebp, ebp
mov dword [rsp + 0x7c], r8d
movzx edx, sil
mov dword [rsp + 0x94], esi
imul rax, rdx, 0x408
mov r14d, dword [rbx + rdx*4 + 0xfa0c]
mov dword [rsp + 0x84], r14d
lea rsi, [rbx + rax + 0xb17c]
mov qword [rsp + 0x50], rsi
lea rsi, [rbx + rax + 0xe1dc]
lea rax, [rbx + rax + 0xc9ac]
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x68], rsi
mov esi, 0x100
nop
mov dword [rbx + 8], 0x24
mov eax, dword [rbx + 0x24]
jmp 0x18004f531
mov rdx, qword [rbx]
mov r8d, dword [rdx + 8]
test r8d, r8d
je 0x180050db0
mov r11, qword [rdx]
mov ecx, dword [rbx + 0x20]
add eax, 8
sub r8d, 1
movzx edi, byte [r11]
shl ecx, 8
mov dword [rbx + 0x24], eax
add r11, 1
or ecx, edi
mov dword [rbx + 0x20], ecx
add dword [rdx + 0xc], 1
mov qword [rdx], r11
mov dword [rdx + 8], r8d
je 0x180051130
cmp r14d, eax
jg 0x18004f4f0
mov ecx, r14d
mov edi, dword [rbx + 0x20]
sub eax, r14d
mov edx, 1
shl edx, cl
mov ecx, eax
sub edx, 1
shr edi, cl
and edx, edi
mov r10d, edx
jmp 0x180050989
mov edi, dword [rsp + 0x70]
cmp dword [rsp + 0x88], edi
je 0x1800511f0
mov eax, dword [rsp + 0x80]
cmp ebp, eax
jge 0x180050310
mov r11d, dword [rsp + 0x70]
mov edi, dword [rbx + 0x1e8c]
lea eax, [r11 - 1]
mov dword [rsp + 0xa4], edi
mov edx, eax
cmp eax, 0xf
ja 0x180051407
lea r8d, [rdi + rax]
mov rcx, r8
movzx r8d, byte [rbx + r8 + 0xe8c]
mov byte [rsp + 0x98], r8b
cmp eax, 3
jbe 0x18004f622
lea eax, [rcx - 1]
cdqe
mov edx, dword [rbx + rax + 0xe89]
lea eax, [rcx - 3]
cdqe
mov dword [rbx + rax + 0xe8c], edx
lea edx, [r11 - 5]
cmp edx, 3
jbe 0x18004f616
mov edi, dword [rsp + 0xa4]
lea eax, [rdi + rdx]
lea ecx, [rax - 1]
movzx ecx, byte [rbx + rcx + 0xe8c]
mov byte [rbx + rax + 0xe8c], cl
mov eax, edx
sub eax, 1
je 0x18004f672
mov dword [rbx + 8], 0x28
mov r11d, dword [rbx + 0x24]
jmp 0x18004f78f
mov rax, qword [rbx]
mov ecx, dword [rax + 8]
test ecx, ecx
je 0x180050db0
mov r8, qword [rax]
mov edx, dword [rbx + 0x20]
add r11d, 8
sub ecx, 1
movzx edi, byte [r8]
shl edx, 8
mov dword [rbx + 0x24], r11d
add r8, 1
or edx, edi
mov dword [rbx + 0x20], edx
add dword [rax + 0xc], 1
mov qword [rax], r8
mov dword [rax + 8], ecx
je 0x180051100
cmp r14d, r11d
jg 0x18004f750
mov ecx, r14d
mov edx, dword [rbx + 0x20]
sub r11d, r14d
mov eax, 1
shl eax, cl
mov ecx, r11d
sub eax, 1
shr edx, cl
and eax, edx
mov r10d, eax
jmp 0x180050ca2
xor r12d, r12d
xor esi, esi
nop dword [rax + rax]
mov r11d, dword [rbx + 0x24]
mov dword [rbx + 8], 0x1d
jmp 0x18004f80f
mov rax, qword [rbx]
mov ecx, dword [rax + 8]
test ecx, ecx
je 0x180050db0
mov r8, qword [rax]
mov edx, dword [rbx + 0x20]
add r11d, 8
sub ecx, 1
movzx edi, byte [r8]
shl edx, 8
mov dword [rbx + 0x24], r11d
add r8, 1
or edx, edi
mov dword [rbx + 0x20], edx
add dword [rax + 0xc], 1
mov qword [rax], r8
mov dword [rax + 8], ecx
je 0x180050e58
test r11d, r11d
jle 0x18004f7d0
mov eax, dword [rbx + 0x20]
sub r11d, 1
mov dword [rbx + 0x24], r11d
bt eax, r11d
jae 0x18004f837
mov eax, esi
shl eax, 4
add eax, r12d
cdqe
mov byte [rbx + rax + 0xc7c], 1
add r12d, 1
cmp r12d, 0xf
jle 0x18004f7c4
add esi, 1
cmp esi, 0xf
jle 0x180050688
xor edi, edi
xor eax, eax
xor edx, edx
mov dword [rbx + 0xc78], edi
nop dword [rax]
cmp byte [rbx + rax + 0xc7c], 0
je 0x18004f87d
movsxd rcx, edx
add edx, 1
mov byte [rbx + rcx + 0xd8c], al
mov dword [rbx + 0xc78], edx
add rax, 1
cmp rax, 0x100
jne 0x18004f860
test edx, edx
je 0x180050310
lea eax, [rdx + 2]
mov dword [rsp + 0x64], eax
nop dword [rax + rax]
mov dword [rbx + 8], 0x1e
mov ecx, dword [rbx + 0x24]
jmp 0x18004f8f1
mov rax, qword [rbx]
mov r8d, dword [rax + 8]
test r8d, r8d
je 0x180050db0
mov r11, qword [rax]
mov edx, dword [rbx + 0x20]
add ecx, 8
sub r8d, 1
movzx edi, byte [r11]
shl edx, 8
mov dword [rbx + 0x24], ecx
add r11, 1
or edx, edi
mov dword [rbx + 0x20], edx
add dword [rax + 0xc], 1
mov qword [rax], r11
mov dword [rax + 8], r8d
je 0x1800510e0
cmp ecx, 2
jle 0x18004f8b0
mov eax, dword [rbx + 0x20]
sub ecx, 3
mov dword [rbx + 0x24], ecx
shr eax, cl
and eax, 7
mov r13d, eax
lea eax, [rax - 2]
cmp eax, 4
jbe 0x1800501a3
jmp 0x180050310
mov rdi, qword [rsp + 0x58]
mov eax, r10d
sub eax, dword [rdi + rdx*4]
cmp eax, 0x101
ja 0x180050310
mov rdi, qword [rsp + 0x68]
cdqe
mov eax, dword [rdi + rax*4]
mov dword [rsp + 0x70], eax
cmp eax, 1
jbe 0x1800511da
movsxd rax, dword [rbx + 0x1e8c]
add dword [rsp + 0x74], 1
mov edi, dword [rsp + 0x74]
movzx eax, byte [rbx + rax + 0xe8c]
movzx ecx, byte [rbx + rax + 0xd8c]
movzx eax, cl
mov edx, ecx
add dword [rbx + rax*4 + 0x44], edi
cmp byte [rbx + 0x2c], 0
jne 0x1800513b3
test edi, edi
jle 0x18004f557
movsxd rax, ebp
shl rax, 2
cmp dword [rsp + 0x80], ebp
jle 0x180050310
mov rdx, qword [rbx + 0xc50]
add ebp, 1
mov dword [rdx + rax], ecx
add rax, 4
sub dword [rsp + 0x74], 1
jne 0x18004f987
mov eax, dword [rsp + 0x70]
cmp dword [rsp + 0x88], eax
je 0x1800511f0
cmp eax, 1
ja 0x18004f568
mov dword [rsp + 0x90], 1
mov dword [rsp + 0x74], 0xffffffff
mov eax, dword [rsp + 0x90]
cmp dword [rsp + 0x70], 0
lea edx, [rax + rax]
jne 0x1800513ef
add dword [rsp + 0x74], eax
cmp dword [rsp + 0x78], 0
jne 0x18004fa64
add dword [rsp + 0x7c], 1
movsxd rax, dword [rsp + 0x7c]
cmp dword [rsp + 0x60], eax
jle 0x180051934
sub dword [rsp + 0x78], 1
mov r14d, dword [rsp + 0x84]
mov dword [rsp + 0x90], edx
nop dword [rax + rax]
mov dword [rbx + 8], 0x26
mov eax, dword [rbx + 0x24]
jmp 0x18004fad1
mov ecx, dword [rbx + 0x24]
mov dword [rbx + 8], 0xd
jmp 0x18004fb4b
mov edx, dword [rdi + 8]
test edx, edx
je 0x180050db0
mov r8, qword [rdi]
mov eax, dword [rbx + 0x20]
add ecx, 8
sub edx, 1
movzx r11d, byte [r8]
shl eax, 8
mov dword [rbx + 0x24], ecx
add r8, 1
or eax, r11d
mov dword [rbx + 0x20], eax
add dword [rdi + 0xc], 1
mov qword [rdi], r8
mov dword [rdi + 8], edx
je 0x180050f38
cmp ecx, 7
jle 0x18004fb10
mov eax, dword [rbx + 0x20]
sub ecx, 8
mov dword [rbx + 0x24], ecx
shr eax, cl
movzx eax, al
lea edx, [rax - 0x31]
cmp edx, 8
ja 0x18005114b
sub eax, 0x30
cmp byte [rbx + 0x2c], 0
mov dword [rsp + 0xa4], r9d
mov r11, qword [rdi + 0x38]
mov rcx, qword [rdi + 0x48]
mov dword [rbx + 0x28], eax
mov dword [rsp + 0x98], r10d
je 0x18004ddbb
imul edx, eax, 0x30d40
mov r8d, 1
call r11
imul edx, dword [rbx + 0x28], 0x186a0
mov rcx, qword [rdi + 0x48]
mov r8d, 1
mov qword [rbx + 0xc58], rax
sar edx, 1
call qword [rdi + 0x38]
cmp qword [rbx + 0xc58], 0
mov r10d, dword [rsp + 0x98]
mov qword [rbx + 0xc60], rax
mov r9d, dword [rsp + 0xa4]
je 0x18004fbe8
test rax, rax
jne case.0x18004dc62.14
mov eax, 0xfffffffd
jmp 0x180050318
mov ecx, dword [rbx + 0x24]
mov dword [rbx + 8], 0x17
jmp 0x18004fc49
mov rax, qword [rbx]
mov r8d, dword [rax + 8]
test r8d, r8d
je 0x180050db0
mov r11, qword [rax]
mov edx, dword [rbx + 0x20]
add ecx, 8
sub r8d, 1
movzx edi, byte [r11]
shl edx, 8
mov dword [rbx + 0x24], ecx
add r11, 1
or edx, edi
mov dword [rbx + 0x20], edx
add dword [rax + 0xc], 1
mov qword [rax], r11
mov dword [rax + 8], r8d
je 0x180050e78
cmp ecx, 7
jle 0x18004fc08
mov edx, dword [rbx + 0x20]
mov eax, dword [rbx + 0xc68]
sub ecx, 8
mov dword [rbx + 0x24], ecx
shr edx, cl
shl eax, 8
movzx edx, dl
or eax, edx
mov dword [rbx + 0xc68], eax
jmp 0x180050043
mov ecx, dword [rbx + 0x24]
mov dword [rbx + 8], 0x14
jmp 0x18004fcc9
mov rax, qword [rbx]
mov r8d, dword [rax + 8]
test r8d, r8d
je 0x180050db0
mov r11, qword [rax]
mov edx, dword [rbx + 0x20]
add ecx, 8
sub r8d, 1
movzx edi, byte [r11]
shl edx, 8
mov dword [rbx + 0x24], ecx
add r11, 1
or edx, edi
mov dword [rbx + 0x20], edx
add dword [rax + 0xc], 1
mov qword [rax], r11
mov dword [rax + 8], r8d
je 0x180050f18
cmp ecx, 7
jle 0x18004fc88
mov edx, dword [rbx + 0x20]
mov eax, dword [rbx + 0xc68]
sub ecx, 8
mov dword [rbx + 0x24], ecx
shr edx, cl
shl eax, 8
movzx edx, dl
or eax, edx
mov dword [rbx + 0xc68], eax
jmp 0x18004fdfb
mov ecx, dword [rbx + 0x24]
mov dword [rbx + 8], 0x13
jmp 0x18004fd49
mov rax, qword [rbx]
mov r8d, dword [rax + 8]
test r8d, r8d
je 0x180050db0
mov r11, qword [rax]
mov edx, dword [rbx + 0x20]
add ecx, 8
sub r8d, 1
movzx edi, byte [r11]
shl edx, 8
mov dword [rbx + 0x24], ecx
add r11, 1
or edx, edi
mov dword [rbx + 0x20], edx
add dword [rax + 0xc], 1
mov qword [rax], r11
mov dword [rax + 8], r8d
je 0x180050ef8
cmp ecx, 7
jle 0x18004fd08
mov eax, dword [rbx + 0x20]
sub ecx, 8
mov dword [rbx + 0x24], ecx
shr eax, cl
cmp al, 0x59
jne 0x180050310
add dword [rbx + 0x30], 1
mov dword [rbx + 0xc68], 0
jmp 0x18004fc7b
mov ecx, dword [rbx + 0x24]
mov dword [rbx + 8], 0x16
jmp 0x18004fdc9
mov rax, qword [rbx]
mov r8d, dword [rax + 8]
test r8d, r8d
je 0x180050db0
mov r11, qword [rax]
mov edx, dword [rbx + 0x20]
add ecx, 8
sub r8d, 1
movzx edi, byte [r11]
shl edx, 8
mov dword [rbx + 0x24], ecx
add r11, 1
or edx, edi
mov dword [rbx + 0x20], edx
add dword [rax + 0xc], 1
mov qword [rax], r11
mov dword [rax + 8], r8d
je 0x180050e88
cmp ecx, 7
jle 0x18004fd88
mov edx, dword [rbx + 0x20]
mov eax, dword [rbx + 0xc68]
sub ecx, 8
mov dword [rbx + 0x24], ecx
shr edx, cl
shl eax, 8
movzx edx, dl
or eax, edx
mov dword [rbx + 0xc68], eax
jmp 0x18004fbfb
mov ecx, dword [rbx + 0x24]
mov dword [rbx + 8], 0x15
jmp 0x18004fe49
mov rax, qword [rbx]
mov r8d, dword [rax + 8]
test r8d, r8d
je 0x180050db0
mov r11, qword [rax]
mov edx, dword [rbx + 0x20]
add ecx, 8
sub r8d, 1
movzx edi, byte [r11]
shl edx, 8
mov dword [rbx + 0x24], ecx
add r11, 1
or edx, edi
mov dword [rbx + 0x20], edx
add dword [rax + 0xc], 1
mov qword [rax], r11
mov dword [rax + 8], r8d
je 0x180050ea8
cmp ecx, 7
jle 0x18004fe08
mov edx, dword [rbx + 0x20]
mov eax, dword [rbx + 0xc68]
sub ecx, 8
mov dword [rbx + 0x24], ecx
shr edx, cl
shl eax, 8
movzx edx, dl
or eax, edx
mov dword [rbx + 0xc68], eax
jmp 0x18004fd7b
mov ecx, dword [rbx + 0x24]
mov dword [rbx + 8], 0x12
jmp 0x18004fec9
mov rax, qword [rbx]
mov r8d, dword [rax + 8]
test r8d, r8d
je 0x180050db0
mov r11, qword [rax]
mov edx, dword [rbx + 0x20]
add ecx, 8
sub r8d, 1
movzx edi, byte [r11]
shl edx, 8
mov dword [rbx + 0x24], ecx
add r11, 1
or edx, edi
mov dword [rbx + 0x20], edx
add dword [rax + 0xc], 1
mov qword [rax], r11
mov dword [rax + 8], r8d
je 0x180050f08
cmp ecx, 7
jle 0x18004fe88
mov eax, dword [rbx + 0x20]
sub ecx, 8
mov dword [rbx + 0x24], ecx
shr eax, cl
cmp al, 0x53
jne 0x180050310
jmp 0x18004fcfb
mov ecx, dword [rbx + 0x24]
mov dword [rbx + 8], 0x11
jmp 0x18004ff41
mov rax, qword [rbx]
mov r8d, dword [rax + 8]
test r8d, r8d
je 0x180050db0
mov r11, qword [rax]
mov edx, dword [rbx + 0x20]
add ecx, 8
sub r8d, 1
movzx edi, byte [r11]
shl edx, 8
mov dword [rbx + 0x24], ecx
add r11, 1
or edx, edi
mov dword [rbx + 0x20], edx
add dword [rax + 0xc], 1
mov qword [rax], r11
mov dword [rax + 8], r8d
je 0x180050f58
cmp ecx, 7
jle 0x18004ff00
mov eax, dword [rbx + 0x20]
sub ecx, 8
mov dword [rbx + 0x24], ecx
shr eax, cl
cmp al, 0x26
jne 0x180050310
jmp 0x18004fe7b
mov ecx, dword [rbx + 0x24]
mov dword [rbx + 8], 0x10
jmp 0x18004ffb1
mov rax, qword [rbx]
mov r8d, dword [rax + 8]
test r8d, r8d
je 0x180050db0
mov r11, qword [rax]
mov edx, dword [rbx + 0x20]
add ecx, 8
sub r8d, 1
movzx edi, byte [r11]
shl edx, 8
mov dword [rbx + 0x24], ecx
add r11, 1
or edx, edi
mov dword [rbx + 0x20], edx
add dword [rax + 0xc], 1
mov qword [rax], r11
mov dword [rax + 8], r8d
je 0x180050f78
cmp ecx, 7
jle 0x18004ff70
mov eax, dword [rbx + 0x20]
sub ecx, 8
mov dword [rbx + 0x24], ecx
shr eax, cl
cmp al, 0x59
jne 0x180050310
jmp 0x18004fef3
mov ecx, dword [rbx + 0x24]
mov dword [rbx + 8], 0xf
jmp 0x180050021
mov rax, qword [rbx]
mov r8d, dword [rax + 8]
test r8d, r8d
je 0x180050db0
mov r11, qword [rax]
mov edx, dword [rbx + 0x20]
add ecx, 8
sub r8d, 1
movzx edi, byte [r11]
shl edx, 8
mov dword [rbx + 0x24], ecx
add r11, 1
or edx, edi
mov dword [rbx + 0x20], edx
add dword [rax + 0xc], 1
mov qword [rax], r11
mov dword [rax + 8], r8d
je 0x180050fb8
cmp ecx, 7
jle 0x18004ffe0
mov eax, dword [rbx + 0x20]
sub ecx, 8
mov dword [rbx + 0x24], ecx
shr eax, cl
cmp al, 0x41
jne 0x180050310
jmp 0x18004ff63
mov ecx, dword [rbx + 0x24]
mov dword [rbx + 8], 0x18
jmp 0x180050091
mov rax, qword [rbx]
mov r8d, dword [rax + 8]
test r8d, r8d
je 0x180050db0
mov r11, qword [rax]
mov edx, dword [rbx + 0x20]
add ecx, 8
sub r8d, 1
movzx edi, byte [r11]
shl edx, 8
mov dword [rbx + 0x24], ecx
add r11, 1
or edx, edi
mov dword [rbx + 0x20], edx
add dword [rax + 0xc], 1
mov qword [rax], r11
mov dword [rax + 8], r8d
je 0x180050e48
test ecx, ecx
jle 0x180050050
mov eax, dword [rbx + 0x20]
sub ecx, 1
mov dword [rbx + 0x38], 0
mov dword [rbx + 0x24], ecx
shr eax, cl
and eax, 1
mov byte [rbx + 0x14], al
jmp 0x180050bbb
mov ecx, dword [rbx + 0x24]
mov dword [rbx + 8], 0x2b
jmp 0x180050109
mov rax, qword [rbx]
mov r8d, dword [rax + 8]
test r8d, r8d
je 0x180050db0
mov r11, qword [rax]
mov edx, dword [rbx + 0x20]
add ecx, 8
sub r8d, 1
movzx edi, byte [r11]
shl edx, 8
mov dword [rbx + 0x24], ecx
add r11, 1
or edx, edi
mov dword [rbx + 0x20], edx
add dword [rax + 0xc], 1
mov qword [rax], r11
mov dword [rax + 8], r8d
je 0x180050fa8
cmp ecx, 7
jle 0x1800500c8
mov edx, dword [rbx + 0x20]
sub ecx, 8
mov eax, 0xfffffffc
mov dword [rbx + 0x24], ecx
shr edx, cl
cmp dl, 0x45
jne 0x180050318
jmp 0x180050133
mov ecx, dword [rbx + 0x24]
mov dword [rbx + 8], 0x2c
jmp 0x180050181
mov rax, qword [rbx]
mov r8d, dword [rax + 8]
test r8d, r8d
je 0x180050db0
mov r11, qword [rax]
mov edx, dword [rbx + 0x20]
add ecx, 8
sub r8d, 1
movzx edi, byte [r11]
shl edx, 8
mov dword [rbx + 0x24], ecx
add r11, 1
or edx, edi
mov dword [rbx + 0x20], edx
add dword [rax + 0xc], 1
mov qword [rax], r11
mov dword [rax + 8], r8d
je 0x180050f48
cmp ecx, 7
jle 0x180050140
mov eax, dword [rbx + 0x20]
sub ecx, 8
mov dword [rbx + 0x24], ecx
shr eax, cl
cmp al, 0x38
jne 0x180050310
jmp 0x180050ad3
mov ecx, dword [rbx + 0x24]
mov dword [rbx + 8], 0x1f
jmp 0x1800501f1
mov rax, qword [rbx]
mov r8d, dword [rax + 8]
test r8d, r8d
je 0x180050db0
mov r11, qword [rax]
mov edx, dword [rbx + 0x20]
add ecx, 8
sub r8d, 1
movzx edi, byte [r11]
shl edx, 8
mov dword [rbx + 0x24], ecx
add r11, 1
or edx, edi
mov dword [rbx + 0x20], edx
add dword [rax + 0xc], 1
mov qword [rax], r11
mov dword [rax + 8], r8d
je 0x180050ec8
cmp ecx, 0xe
jle 0x1800501b0
mov eax, dword [rbx + 0x20]
sub ecx, 0xf
mov dword [rbx + 0x24], ecx
shr eax, cl
and eax, 0x7fff
je 0x180051139
mov dword [rsp + 0x60], eax
xor r12d, r12d
xor esi, esi
jmp 0x180050293
mov dword [rbx + 8], 0x21
mov r11d, dword [rbx + 0x24]
jmp 0x18005026f
mov rax, qword [rbx]
mov ecx, dword [rax + 8]
test ecx, ecx
je 0x180050db0
mov r8, qword [rax]
mov edx, dword [rbx + 0x20]
add r11d, 8
sub ecx, 1
movzx edi, byte [r8]
shl edx, 8
mov dword [rbx + 0x24], r11d
add r8, 1
or edx, edi
mov dword [rbx + 0x20], edx
add dword [rax + 0xc], 1
mov qword [rax], r8
mov dword [rax + 8], ecx
je 0x180051110
cmp r11d, 4
jle 0x180050230
mov eax, dword [rbx + 0x20]
lea ecx, [r11 - 5]
xor esi, esi
mov dword [rbx + 0x24], ecx
shr eax, cl
and eax, 0x1f
mov r15d, eax
jmp 0x18004df76
mov ecx, dword [rbx + 0x24]
movsxd r11, esi
mov rdi, r11
mov qword [rsp + 0x98], rdi
mov esi, edi
mov dword [rbx + 8], 0x20
jmp 0x1800502f1
mov rax, qword [rbx]
mov r8d, dword [rax + 8]
test r8d, r8d
je 0x180050db0
mov r11, qword [rax]
mov edx, dword [rbx + 0x20]
add ecx, 8
sub r8d, 1
movzx edi, byte [r11]
shl edx, 8
mov dword [rbx + 0x24], ecx
add r11, 1
or edx, edi
mov dword [rbx + 0x20], edx
add dword [rax + 0xc], 1
mov qword [rax], r11
mov dword [rax + 8], r8d
je 0x180050dd0
test ecx, ecx
jle 0x1800502b0
mov eax, dword [rbx + 0x20]
sub ecx, 1
mov dword [rbx + 0x24], ecx
bt eax, ecx
jae 0x1800511ac
add r12d, 1
cmp r13d, r12d
jg 0x1800502a3
mov eax, 0xfffffffc
nop dword [rax]
mov dword [rbx + 0xfa24], esi
mov esi, dword [rsp + 0x64]
mov dword [rbx + 0xfa28], r12d
mov dword [rbx + 0xfa30], esi
mov esi, dword [rsp + 0x60]
mov dword [rbx + 0xfa2c], r9d
mov dword [rbx + 0xfa38], esi
mov esi, dword [rsp + 0x88]
mov dword [rbx + 0xfa34], r13d
mov dword [rbx + 0xfa3c], esi
mov esi, dword [rsp + 0x7c]
mov dword [rbx + 0xfa50], ebp
mov dword [rbx + 0xfa40], esi
mov esi, dword [rsp + 0x78]
mov dword [rbx + 0xfa5c], r15d
mov dword [rbx + 0xfa44], esi
mov esi, dword [rsp + 0x70]
mov dword [rbx + 0xfa64], r14d
mov dword [rbx + 0xfa48], esi
mov esi, dword [rsp + 0x80]
mov dword [rbx + 0xfa68], r10d
mov dword [rbx + 0xfa4c], esi
mov esi, dword [rsp + 0x74]
mov dword [rbx + 0xfa54], esi
mov esi, dword [rsp + 0x90]
mov dword [rbx + 0xfa58], esi
mov esi, dword [rsp + 0xa0]
mov dword [rbx + 0xfa60], esi
mov esi, dword [rsp + 0x4c]
mov dword [rbx + 0xfa6c], esi
mov esi, dword [rsp + 0x94]
mov dword [rbx + 0xfa70], esi
mov esi, dword [rsp + 0x84]
mov dword [rbx + 0xfa74], esi
mov rsi, qword [rsp + 0x50]
mov qword [rbx + 0xfa78], rsi
mov rsi, qword [rsp + 0x58]
mov qword [rbx + 0xfa80], rsi
mov rsi, qword [rsp + 0x68]
mov qword [rbx + 0xfa88], rsi
movups xmm6, xmmword [rsp + 0xd0]
movups xmm7, xmmword [rsp + 0xe0]
movups xmm8, xmmword [rsp + 0xf0]
movups xmm9, xmmword [rsp + 0x100]
movups xmm10, xmmword [rsp + 0x110]
movups xmm11, xmmword [rsp + 0x120]
add rsp, 0x138
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov ecx, dword [rbx + 0x24]
mov dword [rbx + 8], 0x2a
jmp 0x1800504a1
mov rax, qword [rbx]
mov r8d, dword [rax + 8]
test r8d, r8d
je 0x180050db0
mov r11, qword [rax]
mov edx, dword [rbx + 0x20]
add ecx, 8
sub r8d, 1
movzx edi, byte [r11]
shl edx, 8
mov dword [rbx + 0x24], ecx
add r11, 1
or edx, edi
mov dword [rbx + 0x20], edx
add dword [rax + 0xc], 1
mov qword [rax], r11
mov dword [rax + 8], r8d
je 0x180051018
cmp ecx, 7
jle 0x180050460
mov eax, dword [rbx + 0x20]
sub ecx, 8
mov dword [rbx + 0x24], ecx
shr eax, cl
cmp al, 0x72
je 0x1800500bb
jmp 0x180050310
mov ecx, dword [rbx + 0x24]
mov dword [rbx + 8], 0x32
jmp 0x180050511
mov rax, qword [rbx]
mov r8d, dword [rax + 8]
test r8d, r8d
je 0x180050db0
mov r11, qword [rax]
mov edx, dword [rbx + 0x20]
add ecx, 8
sub r8d, 1
movzx edi, byte [r11]
shl edx, 8
mov dword [rbx + 0x24], ecx
add r11, 1
or edx, edi
mov dword [rbx + 0x20], edx
add dword [rax + 0xc], 1
mov qword [rax], r11
mov dword [rax + 8], r8d
je 0x180050e68
cmp ecx, 7
jle 0x1800504d0
mov edx, dword [rbx + 0x20]
mov eax, dword [rbx + 0xc6c]
sub ecx, 8
mov dword [rbx + 8], 1
mov dword [rbx + 0x24], ecx
shr edx, cl
shl eax, 8
movzx edx, dl
or eax, edx
mov dword [rbx + 0xc6c], eax
mov eax, 4
jmp 0x180050318
mov ecx, dword [rbx + 0x24]
mov dword [rbx + 8], 0x31
jmp 0x1800505a1
mov rax, qword [rbx]
mov r8d, dword [rax + 8]
test r8d, r8d
je 0x180050db0
mov r11, qword [rax]
mov edx, dword [rbx + 0x20]
add ecx, 8
sub r8d, 1
movzx edi, byte [r11]
shl edx, 8
mov dword [rbx + 0x24], ecx
add r11, 1
or edx, edi
mov dword [rbx + 0x20], edx
add dword [rax + 0xc], 1
mov qword [rax], r11
mov dword [rax + 8], r8d
je 0x180050e98
cmp ecx, 7
jle 0x180050560
mov edx, dword [rbx + 0x20]
mov eax, dword [rbx + 0xc6c]
sub ecx, 8
mov dword [rbx + 0x24], ecx
shr edx, cl
shl eax, 8
movzx edx, dl
or eax, edx
mov dword [rbx + 0xc6c], eax
jmp 0x1800504c3
mov ecx, dword [rbx + 0x24]
mov dword [rbx + 8], 0x1c
jmp 0x180050621
mov rax, qword [rbx]
mov r8d, dword [rax + 8]
test r8d, r8d
je 0x180050db0
mov r11, qword [rax]
mov edx, dword [rbx + 0x20]
add ecx, 8
sub r8d, 1
movzx edi, byte [r11]
shl edx, 8
mov dword [rbx + 0x24], ecx
add r11, 1
or edx, edi
mov dword [rbx + 0x20], edx
add dword [rax + 0xc], 1
mov qword [rax], r11
mov dword [rax + 8], r8d
je 0x180050dc0
test ecx, ecx
jle 0x1800505e0
mov eax, dword [rbx + 0x20]
sub ecx, 1
mov dword [rbx + 0x24], ecx
shr eax, cl
and eax, 1
mov byte [rbx + rsi + 0xd7c], al
add rsi, 1
cmp esi, 0xf
jle 0x1800505d3
lea rdi, [rbx + 0xc84]
mov eax, ebx
mov qword [rbx + 0xc7c], 0
mov qword [rbx + 0xd74], 0
and rdi, 0xfffffffffffffff8
sub eax, edi
lea ecx, [rax + 0xd7c]
xor eax, eax
shr ecx, 3
rep stosq qword [rdi], rax
cmp byte [rbx + 0xd7c], 0
jne 0x18004f7b6
mov esi, 1
movsxd rax, esi
cmp byte [rbx + rax + 0xd7c], 0
je 0x18004f841
xor r12d, r12d
jmp case.0x18004dc62.29
mov ecx, dword [rbx + 0x24]
mov dword [rbx + 8], 0x1b
jmp 0x1800506f9
mov rax, qword [rbx]
mov r8d, dword [rax + 8]
test r8d, r8d
je 0x180050db0
mov r11, qword [rax]
mov edx, dword [rbx + 0x20]
add ecx, 8
sub r8d, 1
movzx edi, byte [r11]
shl edx, 8
mov dword [rbx + 0x24], ecx
add r11, 1
or edx, edi
mov dword [rbx + 0x20], edx
add dword [rax + 0xc], 1
mov qword [rax], r11
mov dword [rax + 8], r8d
je 0x180050e18
cmp ecx, 7
jle 0x1800506b8
mov edx, dword [rbx + 0x20]
sub ecx, 8
mov eax, dword [rbx + 0x38]
mov dword [rbx + 0x24], ecx
shr edx, cl
shl eax, 8
movzx edx, dl
or eax, edx
mov dword [rbx + 0x38], eax
js 0x180050310
imul edx, dword [rbx + 0x28], 0x186a0
add edx, 0xa
cmp eax, edx
jg 0x180050310
xor esi, esi
jmp 0x1800505d3
mov ecx, dword [rbx + 0x24]
mov dword [rbx + 8], 0xc
jmp 0x18005078b
mov edx, dword [rdi + 8]
test edx, edx
je 0x180050db0
mov r8, qword [rdi]
mov eax, dword [rbx + 0x20]
add ecx, 8
sub edx, 1
movzx r11d, byte [r8]
shl eax, 8
mov dword [rbx + 0x24], ecx
add r8, 1
or eax, r11d
mov dword [rbx + 0x20], eax
add dword [rdi + 0xc], 1
mov qword [rdi], r8
mov dword [rdi + 8], edx
je 0x180050f88
cmp ecx, 7
jle 0x180050750
mov eax, dword [rbx + 0x20]
sub ecx, 8
mov dword [rbx + 0x24], ecx
shr eax, cl
cmp al, 0x68
je 0x18004fb03
mov eax, 0xfffffffb
jmp 0x180050318
mov ecx, dword [rbx + 0x24]
mov dword [rbx + 8], 0xb
jmp 0x1800507fb
mov edx, dword [rdi + 8]
test edx, edx
je 0x180050db0
mov r8, qword [rdi]
mov eax, dword [rbx + 0x20]
add ecx, 8
sub edx, 1
movzx r11d, byte [r8]
shl eax, 8
mov dword [rbx + 0x24], ecx
add r8, 1
or eax, r11d
mov dword [rbx + 0x20], eax
add dword [rdi + 0xc], 1
mov qword [rdi], r8
mov dword [rdi + 8], edx
je 0x180050fc8
cmp ecx, 7
jle 0x1800507c0
mov eax, dword [rbx + 0x20]
sub ecx, 8
mov dword [rbx + 0x24], ecx
shr eax, cl
cmp al, 0x5a
je 0x180050743
jmp 0x1800507a3
mov ecx, dword [rbx + 0x24]
mov dword [rbx + 8], 0x30
jmp 0x180050869
mov rax, qword [rbx]
mov r8d, dword [rax + 8]
test r8d, r8d
je 0x180050db0
mov r11, qword [rax]
mov edx, dword [rbx + 0x20]
add ecx, 8
sub r8d, 1
movzx edi, byte [r11]
shl edx, 8
mov dword [rbx + 0x24], ecx
add r11, 1
or edx, edi
mov dword [rbx + 0x20], edx
add dword [rax + 0xc], 1
mov qword [rax], r11
mov dword [rax + 8], r8d
je 0x180050eb8
cmp ecx, 7
jle 0x180050828
mov edx, dword [rbx + 0x20]
mov eax, dword [rbx + 0xc6c]
sub ecx, 8
mov dword [rbx + 0x24], ecx
shr edx, cl
shl eax, 8
movzx edx, dl
or eax, edx
mov dword [rbx + 0xc6c], eax
jmp 0x180050553
mov ecx, dword [rbx + 0x24]
mov dword [rbx + 8], 0x2f
jmp 0x1800508e9
mov rax, qword [rbx]
mov r8d, dword [rax + 8]
test r8d, r8d
je 0x180050db0
mov r11, qword [rax]
mov edx, dword [rbx + 0x20]
add ecx, 8
sub r8d, 1
movzx edi, byte [r11]
shl edx, 8
mov dword [rbx + 0x24], ecx
add r11, 1
or edx, edi
mov dword [rbx + 0x20], edx
add dword [rax + 0xc], 1
mov qword [rax], r11
mov dword [rax + 8], r8d
je 0x180050f28
cmp ecx, 7
jle 0x1800508a8
mov edx, dword [rbx + 0x20]
mov eax, dword [rbx + 0xc6c]
sub ecx, 8
mov dword [rbx + 0x24], ecx
shr edx, cl
shl eax, 8
movzx edx, dl
or eax, edx
mov dword [rbx + 0xc6c], eax
jmp 0x18005081b
mov eax, dword [rbx + 0x24]
mov dword [rbx + 8], 0x25
jmp 0x180050969
mov rdx, qword [rbx]
mov r8d, dword [rdx + 8]
test r8d, r8d
je 0x180050db0
mov r11, qword [rdx]
mov ecx, dword [rbx + 0x20]
add eax, 8
sub r8d, 1
movzx edi, byte [r11]
shl ecx, 8
mov dword [rbx + 0x24], eax
add r11, 1
or ecx, edi
mov dword [rbx + 0x20], ecx
add dword [rdx + 0xc], 1
mov qword [rdx], r11
mov dword [rdx + 8], r8d
je 0x180050ff8
test eax, eax
jle 0x180050928
mov edx, dword [rbx + 0x20]
sub eax, 1
mov ecx, eax
shr edx, cl
mov edi, edx
lea edx, [r10 + r10]
and edi, 1
mov dword [rsp + 0x4c], edi
or edi, edx
mov r10d, edi
mov dword [rbx + 0x24], eax
cmp r14d, 0x14
jg 0x180050310
mov rdi, qword [rsp + 0x50]
movsxd rdx, r14d
cmp dword [rdi + rdx*4], r10d
jge 0x180051183
add r14d, 1
jmp 0x18005091b
mov eax, dword [rbx + 0x24]
mov dword [rbx + 8], 0x27
jmp 0x180050a09
mov rdx, qword [rbx]
mov r8d, dword [rdx + 8]
test r8d, r8d
je 0x180050db0
mov r11, qword [rdx]
mov ecx, dword [rbx + 0x20]
add eax, 8
sub r8d, 1
movzx edi, byte [r11]
shl ecx, 8
mov dword [rbx + 0x24], eax
add r11, 1
or ecx, edi
mov dword [rbx + 0x20], ecx
add dword [rdx + 0xc], 1
mov qword [rdx], r11
mov dword [rdx + 8], r8d
je 0x180050fd8
test eax, eax
jle 0x1800509c8
mov edx, dword [rbx + 0x20]
sub eax, 1
mov ecx, eax
shr edx, cl
mov edi, edx
lea edx, [r10 + r10]
and edi, 1
mov dword [rsp + 0x4c], edi
or edi, edx
mov r10d, edi
mov dword [rbx + 0x24], eax
cmp r14d, 0x14
jg 0x180050310
mov rdi, qword [rsp + 0x50]
movsxd rdx, r14d
cmp dword [rdi + rdx*4], r10d
jge 0x18004f918
add r14d, 1
jmp 0x1800509bb
mov ecx, dword [rbx + 0x24]
mov dword [rbx + 8], 0x2e
jmp 0x180050aa9
mov rax, qword [rbx]
mov r8d, dword [rax + 8]
test r8d, r8d
je 0x180050db0
mov r11, qword [rax]
mov edx, dword [rbx + 0x20]
add ecx, 8
sub r8d, 1
movzx edi, byte [r11]
shl edx, 8
mov dword [rbx + 0x24], ecx
add r11, 1
or edx, edi
mov dword [rbx + 0x20], edx
add dword [rax + 0xc], 1
mov qword [rax], r11
mov dword [rax + 8], r8d
je 0x180050ed8
cmp ecx, 7
jle 0x180050a68
mov eax, dword [rbx + 0x20]
sub ecx, 8
mov dword [rbx + 0x24], ecx
shr eax, cl
cmp al, 0x90
jne 0x180050310
mov dword [rbx + 0xc6c], 0
jmp 0x18005089b
mov ecx, dword [rbx + 0x24]
mov dword [rbx + 8], 0x2d
jmp 0x180050b21
mov rax, qword [rbx]
mov r8d, dword [rax + 8]
test r8d, r8d
je 0x180050db0
mov r11, qword [rax]
mov edx, dword [rbx + 0x20]
add ecx, 8
sub r8d, 1
movzx edi, byte [r11]
shl edx, 8
mov dword [rbx + 0x24], ecx
add r11, 1
or edx, edi
mov dword [rbx + 0x20], edx
add dword [rax + 0xc], 1
mov qword [rax], r11
mov dword [rax + 8], r8d
je 0x180050ee8
cmp ecx, 7
jle 0x180050ae0
mov eax, dword [rbx + 0x20]
sub ecx, 8
mov dword [rbx + 0x24], ecx
shr eax, cl
cmp al, 0x50
jne 0x180050310
jmp 0x180050a5b
mov ecx, dword [rbx + 0x24]
mov dword [rbx + 8], 0x1a
jmp 0x180050b91
mov rax, qword [rbx]
mov r8d, dword [rax + 8]
test r8d, r8d
je 0x180050db0
mov r11, qword [rax]
mov edx, dword [rbx + 0x20]
add ecx, 8
sub r8d, 1
movzx edi, byte [r11]
shl edx, 8
mov dword [rbx + 0x24], ecx
add r11, 1
or edx, edi
mov dword [rbx + 0x20], edx
add dword [rax + 0xc], 1
mov qword [rax], r11
mov dword [rax + 8], r8d
je 0x180050e28
cmp ecx, 7
jle 0x180050b50
mov edx, dword [rbx + 0x20]
mov eax, dword [rbx + 0x38]
sub ecx, 8
mov dword [rbx + 0x24], ecx
shr edx, cl
shl eax, 8
movzx edx, dl
or eax, edx
mov dword [rbx + 0x38], eax
jmp 0x1800506ab
mov ecx, dword [rbx + 0x24]
mov dword [rbx + 8], 0x19
jmp 0x180050c09
mov rax, qword [rbx]
mov r8d, dword [rax + 8]
test r8d, r8d
je 0x180050db0
mov r11, qword [rax]
mov edx, dword [rbx + 0x20]
add ecx, 8
sub r8d, 1
movzx edi, byte [r11]
shl edx, 8
mov dword [rbx + 0x24], ecx
add r11, 1
or edx, edi
mov dword [rbx + 0x20], edx
add dword [rax + 0xc], 1
mov qword [rax], r11
mov dword [rax + 8], r8d
je 0x180050e38
cmp ecx, 7
jle 0x180050bc8
mov edx, dword [rbx + 0x20]
mov eax, dword [rbx + 0x38]
sub ecx, 8
mov dword [rbx + 0x24], ecx
shr edx, cl
shl eax, 8
movzx edx, dl
or eax, edx
mov dword [rbx + 0x38], eax
jmp 0x180050b43
mov r11d, dword [rbx + 0x24]
mov dword [rbx + 8], 0x29
jmp 0x180050c7f
mov rax, qword [rbx]
mov ecx, dword [rax + 8]
test ecx, ecx
je 0x180050db0
mov r8, qword [rax]
mov edx, dword [rbx + 0x20]
add r11d, 8
sub ecx, 1
movzx edi, byte [r8]
shl edx, 8
mov dword [rbx + 0x24], r11d
add r8, 1
or edx, edi
mov dword [rbx + 0x20], edx
add dword [rax + 0xc], 1
mov qword [rax], r8
mov dword [rax + 8], ecx
je 0x180050fe8
test r11d, r11d
jle 0x180050c40
mov eax, dword [rbx + 0x20]
sub r11d, 1
mov ecx, r11d
shr eax, cl
and eax, 1
mov edi, eax
mov dword [rsp + 0x4c], eax
lea eax, [r10 + r10]
or edi, eax
mov r10d, edi
mov dword [rbx + 0x24], r11d
cmp r14d, 0x14
jg 0x180050310
mov rdi, qword [rsp + 0x50]
movsxd rax, r14d
cmp dword [rdi + rax*4], r10d
jge 0x180051153
add r14d, 1
jmp 0x180050c34
xor eax, eax
jmp 0x180050318
add dword [rax + 0x10], 1
jmp 0x180050621
add dword [rax + 0x10], 1
jmp 0x1800502f1
mov ecx, 0xfa1
mov dword [rsp + 0xa4], r9d
mov dword [rsp + 0x98], r10d
call sym.secondstage.dll_bz_internal_error
mov ecx, 0xfa2
call sym.secondstage.dll_bz_internal_error
mov r10d, dword [rsp + 0x98]
mov r9d, dword [rsp + 0xa4]
xor eax, eax
jmp 0x180050318
add dword [rax + 0x10], 1
jmp 0x1800506f9
add dword [rax + 0x10], 1
jmp 0x180050b91
add dword [rax + 0x10], 1
jmp 0x180050c09
add dword [rax + 0x10], 1
jmp 0x180050091
add dword [rax + 0x10], 1
jmp 0x18004f80f
add dword [rax + 0x10], 1
jmp 0x180050511
add dword [rax + 0x10], 1
jmp 0x18004fc49
add dword [rax + 0x10], 1
jmp 0x18004fdc9
add dword [rax + 0x10], 1
jmp 0x1800505a1
add dword [rax + 0x10], 1
jmp 0x18004fe49
add dword [rax + 0x10], 1
jmp 0x180050869
add dword [rax + 0x10], 1
jmp 0x1800501f1
add dword [rax + 0x10], 1
jmp 0x180050aa9
add dword [rax + 0x10], 1
jmp 0x180050b21
add dword [rax + 0x10], 1
jmp 0x18004fd49
add dword [rax + 0x10], 1
jmp 0x18004fec9
add dword [rax + 0x10], 1
jmp 0x18004fcc9
add dword [rax + 0x10], 1
jmp 0x1800508e9
add dword [rdi + 0x10], 1
jmp 0x18004fb4b
add dword [rax + 0x10], 1
jmp 0x180050181
add dword [rax + 0x10], 1
jmp 0x18004ff41
add dword [rax + 0x10], 1
jmp 0x18004de41
add dword [rax + 0x10], 1
jmp 0x18004ffb1
add dword [rdi + 0x10], 1
jmp 0x18005078b
add dword [rdx + 0x10], 1
jmp 0x18004dec1
add dword [rax + 0x10], 1
jmp 0x180050109
add dword [rax + 0x10], 1
jmp 0x180050021
add dword [rdi + 0x10], 1
jmp 0x1800507fb
add dword [rdx + 0x10], 1
jmp 0x180050a09
add dword [rax + 0x10], 1
jmp 0x180050c7f
add dword [rdx + 0x10], 1
jmp 0x180050969
add dword [rdx + 0x10], 1
jmp 0x18004df41
add dword [rax + 0x10], 1
jmp 0x1800504a1
mov qword [rsp + 0x68], 0
xor r10d, r10d
xor ebp, ebp
xor esi, esi
mov dword [rsp + 0xa0], 0
xor r14d, r14d
xor eax, eax
xor r15d, r15d
mov qword [rsp + 0x58], 0
xor r13d, r13d
xor r9d, r9d
xor r12d, r12d
mov qword [rsp + 0x50], 0
mov dword [rsp + 0x84], 0
mov dword [rsp + 0x94], 0
mov dword [rsp + 0x4c], 0
mov dword [rsp + 0x90], 0
mov dword [rsp + 0x74], 0
mov dword [rsp + 0x80], 0
mov dword [rsp + 0x70], 0
mov dword [rsp + 0x78], 0
mov dword [rsp + 0x7c], 0
mov dword [rsp + 0x88], 0
mov dword [rsp + 0x60], 0
mov dword [rsp + 0x64], 0
jmp 0x180050318
add dword [rax + 0x10], 1
jmp 0x18004f8f1
add dword [rax + 0x10], 1
jmp 0x18004f78f
add dword [rax + 0x10], 1
jmp 0x18005026f
add dword [rdi + 0x10], 1
jmp 0x18004dcf3
add dword [rdx + 0x10], 1
jmp 0x18004f531
mov dword [rsp + 0x60], 0
mov eax, 0xfffffffc
jmp 0x180050318
mov dword [rbx + 0x28], eax
jmp 0x1800507a3
mov rdi, qword [rsp + 0x58]
mov edx, r10d
sub edx, dword [rdi + rax*4]
mov eax, 0xfffffffc
cmp edx, 0x101
ja 0x180050318
mov rax, qword [rsp + 0x68]
movsxd rdx, edx
mov eax, dword [rax + rdx*4]
mov dword [rsp + 0x70], eax
jmp 0x18004f9b0
mov rdi, qword [rsp + 0x58]
mov eax, r10d
sub eax, dword [rdi + rdx*4]
cmp eax, 0x101
ja 0x180050310
mov rdi, qword [rsp + 0x68]
cdqe
mov eax, dword [rdi + rax*4]
mov dword [rsp + 0x70], eax
jmp 0x18004f9b0
mov rdi, qword [rsp + 0x98]
cmp edi, 0x4651
jg 0x1800511c4
mov byte [rbx + rdi + 0x651e], r12b
add rdi, 1
cmp dword [rsp + 0x60], edi
jle 0x180051940
xor r12d, r12d
jmp 0x180050299
cmp dword [rsp + 0x90], 0x1fffff
jle 0x18004f9d9
jmp 0x180050310
mov eax, dword [rbx + 0x38]
test eax, eax
js 0x180050310
cmp eax, ebp
jge 0x180050310
xor esi, esi
mov eax, dword [rbx + rsi*4 + 0x44]
test eax, eax
js 0x180050310
cmp eax, ebp
jg 0x180050310
add rsi, 1
cmp rsi, 0x100
jne 0x180051205
cmp dword [rsp + 0x74], 0
jle 0x18004f557
movsxd rax, ebp
add rax, rax
cmp dword [rsp + 0x80], ebp
jle 0x180050310
mov rcx, qword [rbx + 0xc58]
add ebp, 1
mov word [rcx + rax], dx
add rax, 2
sub dword [rsp + 0x74], 1
jne 0x1800513c4
jmp 0x18004f9ac
add dword [rsp + 0x74], edx
jmp 0x18004f9f2
mov r11d, eax
and eax, 0xf
shr r11d, 4
mov dword [rsp + 0xac], eax
mov edx, r11d
lea rdi, [rbx + rdx*4]
mov r8d, dword [rdi + 0x1e8c]
lea ecx, [r8 + rax]
mov dword [rsp + 0xa8], r8d
movsxd rdx, ecx
movzx eax, byte [rbx + rdx + 0xe8c]
mov byte [rsp + 0x98], al
cmp r8d, ecx
jge 0x1800514a3
mov eax, dword [rsp + 0xac]
mov dword [rsp + 0xb8], r9d
mov dword [rsp + 0xb4], r10d
lea r8d, [rax - 1]
mov rax, rdx
mov dword [rsp + 0xb0], r11d
sub rax, r8
add r8, 1
lea rdx, [rbx + rax + 0xe8b]
lea rcx, [rbx + rax + 0xe8c]
call sub.msvcrt.dll_memmove
mov r11d, dword [rsp + 0xb0]
mov r10d, dword [rsp + 0xb4]
mov r9d, dword [rsp + 0xb8]
mov edx, dword [rdi + 0x1e88]
mov r8d, dword [rsp + 0xa8]
lea eax, [rdx + 0xf]
mov dword [rdi + 0x1e8c], r8d
cdqe
movzx ecx, byte [rbx + rax + 0xe8c]
movsxd rax, r8d
mov byte [rbx + rax + 0xe8c], cl
cmp r11d, 1
je 0x180051796
mov esi, dword [rsp + 0x60]
mov eax, 0x4652
cmp esi, eax
cmovle eax, esi
mov dword [rsp + 0x60], eax
xor eax, eax
jmp 0x180051960
mov byte [rsp + rdx + 0xca], al
add eax, 1
movzx edx, al
cmp edx, r13d
jl 0x180051956
lea r9, [rsp + 0xca]
mov dword [rsp + 0x98], r13d
xor esi, esi
mov r13d, r10d
mov dword [rsp + 0xa4], ebp
mov rbp, r9
jmp 0x1800519d6
movzx edx, byte [rbx + rsi + 0x651e]
movzx edi, byte [rsp + rdx + 0xca]
mov rax, rdx
test dl, dl
je 0x1800519c2
movzx r8d, dl
sub eax, 1
movzx eax, al
mov rdx, r8
sub rdx, rax
lea rax, [rbp + rdx - 1]
lea rcx, [rbp + rdx]
mov rdx, rax
call sub.msvcrt.dll_memmove
mov byte [rsp + 0xca], dil
mov byte [rbx + rsi + 0x1ecc], dil
add rsi, 1
cmp dword [rsp + 0x60], esi
jg 0x180051989
mov eax, dword [rsp + 0x60]
xor esi, esi
mov r10d, r13d
mov ebp, dword [rsp + 0xa4]
mov r13d, dword [rsp + 0x98]
test eax, eax
cmovns esi, eax
xor r9d, r9d
jmp 0x18004df86
xor edx, edx
xor eax, eax
mov esi, 0x20
jmp 0x18004f001
xor eax, eax
xor ebp, ebp
mov esi, 0x100
mov dword [rsp + 0x78], eax
mov dword [rsp + 0x7c], eax
mov eax, 0xfffffffc
jmp 0x180050318