Function at 0x140158af0
Capabilities:
Inspect section memory permissions

Disassembly:
mov qword [rsp + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x18]
sub rsp, 0x118
mov r12, r9
mov r14, r8
mov r11, rcx
mov qword [rsp + 0x70], 0
mov byte [rbp + 0x68], 0
xor r15d, r15d
xor al, al
mov dword [rbp + 0x78], eax
mov rbx, qword [rcx + 0xa8]
xor eax, eax
cmp edx, 0x6ba
cmovb eax, edx
mov esi, eax
mov qword [rsp + 0x68], rsi
lea rcx, [0x140000000]
mov eax, dword [rcx + rax*8 + 0x2d0730]
shr rax, 0xe
and eax, 0x3ff
lea rax, [rax*8 + 0x2cf8f0]
add rax, rcx
mov qword [rbp - 0x78], rax
mov r9, qword [rbp + 0x80]
mov edx, dword [r9]
and edx, 7
mov ecx, dword [r8]
and ecx, 7
mov eax, dword [r12]
and eax, 7
lea eax, [rax + rdx*8]
lea r13d, [rcx + rax*8]
mov r8d, dword [r11 + 0x24]
mov edx, dword [r11 + 0x54]
mov rax, qword [r11 + 0xa0]
mov r10, rax
sub r10, rbx
sub rax, rbx
xor ecx, ecx
cmp rax, 0x10
setb cl
xor eax, eax
test esi, esi
sete al
or ecx, eax
or edx, ecx
or r8d, edx
mov dword [rsp + 0x50], r8d
mov edx, r8d
test edx, 0x3e001
je 0x140158daf
mov rcx, qword [r11 + 0x30]
test rcx, rcx
jne 0x140158bea
xor r8d, r8d
lea edx, [rcx + 5]
mov rcx, r11
call fcn.1401612e0
jmp 0x140158ef9
test esi, esi
je case.default.0x140158e37
cmp r10, 0x10
jae 0x140158c2d
mov rdx, qword [r11 + 0x90]
add rdx, 0x48
mov r8d, reloc.WS2_32.dll_recv
call fcn.140160040
test eax, eax
je 0x140158c22
xor r8d, r8d
mov edx, eax
mov rcx, qword [rbp + 0x60]
call fcn.1401612e0
jmp 0x140158c2f
mov rax, qword [rbp + 0x60]
mov rbx, qword [rax + 0xa8]
xor eax, eax
test eax, eax
jne 0x140158ec2
mov r11, qword [rbp + 0x60]
lea rdi, [r11 + 0x58]
test byte [r11 + 0x10], 1
je 0x140158cc5
movups xmm0, xmmword [r14]
movaps xmmword [rbp - 0x50], xmm0
movups xmm1, xmmword [r12]
movaps xmmword [rbp - 0x40], xmm1
mov rax, qword [rbp + 0x80]
movups xmm0, xmmword [rax]
movaps xmmword [rbp - 0x30], xmm0
mov rax, qword [rbp + 0x88]
movups xmm1, xmmword [rax]
movaps xmmword [rbp - 0x20], xmm1
movups xmm0, xmmword [rax + 0x10]
movaps xmmword [rbp - 0x10], xmm0
movups xmm1, xmmword [rax + 0x20]
movaps xmmword [rbp], xmm1
mov r10, qword [r11 + 0x88]
mov dword [rbp - 0x60], esi
mov ecx, dword [rsp + 0x50]
mov dword [rbp - 0x5c], ecx
mov rax, qword [rdi]
mov qword [rbp - 0x58], rax
mov dword [rsp + 0x20], 0
mov r9d, 6
lea r8, [rbp - 0x50]
lea rdx, [rbp - 0x60]
movzx ecx, byte [r11 + 0x48]
call r10
test eax, eax
jne 0x140158ec2
mov r11, qword [rbp + 0x60]
lea r10, [0x140000000]
mov eax, dword [r10 + rsi*8 + 0x2d0730]
shr rax, 0xe
and eax, 0x3ff
mov r8d, dword [r10 + rax*8 + 0x2cf8f0]
mov edx, dword [rsp + 0x50]
mov eax, edx
shr eax, 0xd
test al, 1
je 0x140158d66
mov ecx, edx
and ecx, 0x30000
mov eax, r8d
shr eax, 0x10
test al, 1
jne 0x140158d10
test ecx, ecx
jne 0x140158d14
lea eax, [rcx + 0x21]
jmp 0x140158ec2
test ecx, ecx
je 0x140158d60
mov ecx, edx
shr ecx, 0x10
test cl, 1
je 0x140158d32
mov eax, r8d
shr eax, 0x11
test al, 1
jne 0x140158d32
mov eax, 0x22
jmp 0x140158ec2
mov eax, edx
shr eax, 0x11
test al, 1
je 0x140158d4f
mov eax, r8d
shr eax, 0x12
test al, 1
jne 0x140158d4f
mov eax, 0x23
jmp 0x140158ec2
not cl
and cl, 1
or cl, 0xf2
mov byte [rbx], cl
inc rbx
lea rdi, [r11 + 0x58]
mov byte [rbx], 0xf0
inc rbx
test edx, 0xc000
je 0x140158d9c
shr r8d, 0xe
test r8b, 1
je 0x140158da5
mov eax, dword [rdi]
test eax, eax
je 0x140158d8c
shr eax, 8
test al, 0xf
jne 0x140158da5
cmp dword [r11 + 0x5c], 1
jne 0x140158da5
mov eax, edx
shr eax, 0xf
not al
and al, 1
or al, 0xf2
mov byte [rbx], al
inc rbx
mov r9, qword [rbp + 0x80]
jmp 0x140158db6
mov eax, 0x24
jmp 0x140158ec2
lea r10, [0x140000000]
movzx eax, byte [r10 + rsi*8 + 0x2d0736]
mov ecx, dword [r10 + rax*4 + 0x2d5f80]
mov dword [rbp + 0x70], ecx
mov esi, ecx
shr esi, 0x12
and esi, 7
mov rax, qword [rsp + 0x68]
movzx edi, byte [r10 + rax*8 + 0x2d0735]
or edi, ecx
mov dword [rbp + 0x70], edi
movzx eax, byte [r10 + rax*8 + 0x2d0734]
cmp eax, 0xa1
ja case.default.0x140158e37
mov r8d, edi
mov r10d, edi
lea rcx, [0x140000000]
mov ecx, dword [rcx + rax*4 + 0x15eba0]
lea rax, [0x140000000]
add rcx, rax
mov dword [rsp + 0x54], 0x8000000
mov dword [rsp + 0x7c], 0x1000
mov qword [rsp + 0x58], 1
lea rax, [0x140000000]
jmp rcx
shr r10d, 0xd
and r10d, 7
jmp 0x14015936e
mov eax, dword [r14]
and eax, 7
cmp al, 3
jne case.default.0x140158e37
shr r10d, 0xd
and r10d, 7
movzx r15d, byte [r14 + 8]
mov r11b, 1
jmp 0x140159372
mov r8d, dword [r14]
mov eax, r8d
and al, 7
cmp al, 1
jne case.default.0x140158e37
mov ecx, dword [r11 + 0x28]
mov byte [rbx], 0x67
mov eax, r8d
shr eax, 3
and eax, 0x1f
lea r9, [0x140000000]
test byte [rax + r9 + 0x2cd7a0], cl
mov eax, 0
setne al
add rbx, rax
mov edi, dword [rbp + 0x70]
jmp case.0x140158e37.1
test r13d, r13d
je case.0x140158e37.1
cmp r13d, 1
jne case.default.0x140158e37
cmp dword [r14 + 4], 0
je case.0x140158e37.1
mov eax, 0x1a
mov rcx, qword [rbp + 0x88]
mov qword [rsp + 0x38], rcx
mov rcx, qword [rbp + 0x80]
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x20], r14
mov r9d, dword [rsp + 0x50]
mov r8d, dword [rsp + 0x68]
mov edx, eax
mov rcx, qword [rbp + 0x60]
call fcn.140165d20
add rsp, 0x118
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
test r13d, r13d
je case.0x140158e37.1
cmp r13d, 9
jne case.default.0x140158e37
cmp dword [r14 + 4], 2
jne case.default.0x140158e37
cmp dword [r12 + 4], 0
jmp 0x140158eb7
test r13d, r13d
je case.0x140158e37.1
mov rsi, r14
cmp r13d, 2
jne case.default.0x140158e37
mov edx, dword [r14]
mov eax, edx
and al, 7
cmp al, r13b
jne case.default.0x140158e37
mov ecx, dword [r14 + 4]
test ecx, ecx
jne case.default.0x140158e37
mov eax, edx
shr eax, 3
test al, 0x1f
mov eax, ecx
cmove eax, ecx
or eax, dword [r14 + 0xc]
jne case.default.0x140158e37
jmp 0x14015ba21
cmp r13d, 3
jne 0x140158f87
movzx r15d, byte [r14 + 8]
mov r11b, 1
jmp 0x14015a0f1
cmp r13d, 0x19
jne case.default.0x140158e37
cmp dword [r14 + 4], 0
jne case.default.0x140158e37
movzx r15d, byte [r12 + 8]
mov r11b, 1
jmp 0x14015a0f1
mov ecx, dword [r14]
mov eax, ecx
and al, 7
cmp al, 1
jne case.0x140158e37.11
shr rcx, 0x18
and ecx, 0xf
lea rax, [0x140000000]
or edi, dword [rax + rcx*4 + 0x2cde40]
jmp 0x140158fe2
movzx eax, byte [r14 + 3]
and eax, 0xf
lea rcx, [0x140000000]
or edi, dword [rcx + rax*4 + 0x2cde40]
mov dword [rbp + 0x70], edi
mov r10d, dword [r14 + 4]
cmp r13d, 1
je 0x14015936e
mov r8, r14
mov qword [rsp + 0x58], r14
cmp r13d, 2
je 0x140159062
jmp case.default.0x140158e37
cmp r13d, 0x4a
jne case.0x140158e37.14
mov eax, dword [r12]
and eax, 0xff000fff
cmp eax, 0x4000031
sete cl
cmp dword [r12 + 4], 2
sete al
test al, cl
je case.default.0x140158e37
mov eax, dword [r9]
and eax, 0xff000fff
cmp eax, 0x4000031
sete cl
cmp dword [r9 + 4], 0
sete al
test al, cl
je case.default.0x140158e37
jmp 0x14015905a
cmp r13d, 2
jne case.default.0x140158e37
mov qword [rsp + 0x58], r14
mov r8, r14
mov ecx, dword [r8]
mov eax, ecx
shr rax, 3
and eax, 0x3ff
lea r8, [0x140000000]
movzx r11d, byte [rax + r8 + 0x2cd7a0]
mov dword [rsp + 0x60], r11d
shr rcx, 0x12
and ecx, 7
movzx eax, byte [rcx + r8 + 0x2cd758]
mov byte [rbx], al
xor ecx, ecx
test al, al
setne cl
lea rdi, [rcx + rbx]
mov rax, qword [rbp + 0x60]
mov eax, dword [rax + 0x28]
mov byte [rdi], 0x67
test r11d, eax
mov eax, 0
setne al
add rax, rdi
mov ecx, dword [rbp + 0x70]
shr ecx, 0x15
and ecx, 7
movzx ecx, byte [rcx + r8 + 0x2cd750]
mov byte [rax], cl
mov edx, 0
setne dl
add rdx, rax
mov rax, qword [rsp + 0x58]
mov r10d, dword [rax + 4]
mov eax, dword [rax + 8]
mov dword [rsp + 0x78], eax
mov r8d, r10d
shr r8d, 1
and r8d, 4
and eax, 8
or r8d, eax
shr r8d, 1
mov eax, esi
and eax, 8
or r8d, eax
shr r8d, 1
and r8d, r11d
mov eax, dword [rbp + 0x70]
mov r13d, dword [rsp + 0x50]
or eax, r13d
shr eax, 0x18
or r8d, eax
cmp r8d, 0x80
jbe 0x14015c9d3
mov eax, 0x25
jmp 0x140158ec2
test r13d, r13d
je case.0x140158e37.1
xor esi, esi
cmp r13d, 1
jne 0x140159160
movzx edi, byte [r14 + 3]
and edi, 0xf
mov edi, dword [rax + rdi*4 + 0x2cde40]
or edi, 0x11f
mov dword [rbp + 0x70], edi
jmp 0x14015936a
cmp r13d, 2
jne 0x140159189
movzx eax, byte [r14 + 3]
and eax, 0xf
lea rcx, [0x140000000]
mov eax, dword [rcx + rax*4 + 0x2cde40]
or eax, 0x11f
mov dword [rbp + 0x70], eax
jmp 0x14015905a
mov esi, dword [r12 + 4]
movzx edi, byte [r12 + 3]
and edi, 0xf
mov edi, dword [rax + rdi*4 + 0x2cde40]
or edi, 0x11f
mov dword [rbp + 0x70], edi
cmp r13d, 9
je 0x14015936a
cmp r13d, 0xa
jmp 0x140159054
cmp r13d, 2
jne case.default.0x140158e37
mov r10d, dword [r14 + 4]
mov ecx, dword [r14]
mov eax, ecx
shr rax, 3
and eax, 0x3ff
lea r15, [0x140000000]
movzx r9d, byte [rax + r15 + 0x2cd7a0]
shr ecx, 3
test cl, 0x1f
mov eax, 0
cmove eax, r10d
or eax, dword [r14 + 0xc]
jne case.default.0x140158e37
test r13b, r9b
jne case.default.0x140158e37
shr edi, 0x15
and edi, 7
movzx eax, byte [rdi + r15 + 0x2cd750]
mov byte [rbx], al
mov eax, 0
setne al
add rax, rbx
mov r8d, dword [rbp + 0x70]
or r8d, edx
shr r8d, 0x15
or r8d, r10d
shr r8d, 2
mov ecx, esi
and ecx, 8
or r8d, ecx
shr r8d, 1
cmp r8d, 0x80
ja 0x140159128
and r8d, 0x7f
movzx ecx, r8b
or cl, 0x40
mov byte [rax], cl
xor ecx, ecx
test r8d, r8d
setne cl
add rcx, rax
mov edx, dword [r14]
shr rdx, 0x12
and edx, 7
movzx edx, byte [rdx + r15 + 0x2cd758]
mov byte [rcx], dl
xor eax, eax
test dl, dl
setne al
add rax, rcx
mov ecx, dword [r11 + 0x28]
mov byte [rax], 0x67
test r9d, ecx
mov ecx, 0
setne cl
add rcx, rax
mov r9d, dword [rbp + 0x70]
mov eax, r9d
shr rax, 8
and eax, 0x1f
lea r8, [r15 + 0x2cd710]
lea r8, [r8 + rax*4]
movzx edx, byte [r8]
movzx eax, byte [r8 + 1]
mov byte [rcx], al
xor eax, eax
test dl, dl
setne al
add rax, rcx
movzx edx, byte [r8]
movzx ecx, byte [r8 + 2]
mov byte [rax], cl
xor ecx, ecx
cmp dl, 1
seta cl
mov byte [rcx + rax], r9b
and sil, 7
shl sil, 3
and r10b, 7
sub r10b, 0x40
add sil, r10b
mov byte [rcx + rax + 1], sil
lea rbx, [rax + 2]
add rbx, rcx
jmp case.0x140158e37.0
cmp r13d, 0x49
jne 0x14015934d
mov eax, dword [r12]
and eax, 0xff000fff
cmp eax, 0x4000031
sete cl
cmp dword [r12 + 4], 2
sete al
test al, cl
je case.default.0x140158e37
mov eax, dword [r9]
and eax, 0xff000fff
cmp eax, 0x4000031
sete cl
cmp dword [r9 + 4], 0
sete al
test al, cl
je case.default.0x140158e37
jmp 0x14015936a
cmp r13d, 1
jne case.default.0x140158e37
mov eax, dword [r14]
and eax, 0xff000fff
cmp eax, 0x4000031
jne case.default.0x140158e37
mov r10d, dword [r14 + 4]
mov r11d, dword [rbp + 0x78]
shr edi, 0x15
and edi, 7
mov eax, edi
lea rdi, [0x140000000]
movzx eax, byte [rax + rdi + 0x2cd750]
mov byte [rbx], al
mov eax, 0
setne al
add rax, rbx
mov r8d, dword [rbp + 0x70]
or r8d, edx
shr r8d, 0x15
mov ecx, r10d
and ecx, 8
or r8d, ecx
shr r8d, 2
mov ecx, esi
and ecx, 8
or r8d, ecx
shr r8d, 1
cmp r8d, 0x80
ja 0x140159128
and r8d, 0x7f
movzx ecx, r8b
or cl, 0x40
mov byte [rax], cl
xor ecx, ecx
test r8d, r8d
setne cl
add rcx, rax
mov r9d, dword [rbp + 0x70]
mov eax, r9d
shr rax, 8
and eax, 0x1f
lea r8, [rdi + 0x2cd710]
lea r8, [r8 + rax*4]
movzx edx, byte [r8]
movzx eax, byte [r8 + 1]
mov byte [rcx], al
xor eax, eax
test dl, dl
setne al
add rax, rcx
movzx edx, byte [r8]
movzx ecx, byte [r8 + 2]
mov byte [rax], cl
xor ecx, ecx
cmp dl, 1
seta cl
mov byte [rcx + rax], r9b
and sil, 7
shl sil, 3
and r10b, 7
sub sil, 0x40
add sil, r10b
mov byte [rcx + rax + 1], sil
lea rbx, [rax + 2]
add rbx, rcx
jmp 0x14015bdfd
cmp r13d, 1
jmp 0x140159364
movzx eax, byte [r14 + 3]
and eax, 0xf
lea rcx, [0x140000000]
or edi, dword [rcx + rax*4 + 0x2cde40]
mov dword [rbp + 0x70], edi
cmp r13d, 9
jne 0x14015947d
mov esi, dword [r14 + 4]
mov r10d, dword [r12 + 4]
jmp 0x14015936e
cmp r13d, 0x11
jne case.default.0x140158e37
mov esi, dword [r14 + 4]
mov r8, r12
mov qword [rsp + 0x58], r12
jmp 0x140159062
cmp r13d, 9
jne 0x1401594d9
mov esi, dword [r14 + 4]
mov r10d, dword [r12 + 4]
movzx ecx, byte [r14 + 3]
mov r11d, dword [rbp + 0x78]
cmp cl, 2
jne 0x1401594c3
mov byte [rbx], 0x66
inc rbx
mov edi, dword [rbp + 0x70]
jmp 0x140159372
xor eax, eax
cmp cl, 8
cmove eax, dword [rsp + 0x54]
or eax, edi
mov edi, eax
mov dword [rbp + 0x70], eax
jmp 0x140159372
cmp r13d, 0x11
jne case.default.0x140158e37
mov esi, dword [r14 + 4]
mov r8, r12
mov qword [rsp + 0x58], r12
movzx ecx, byte [r14 + 3]
cmp cl, 2
jne 0x140159504
mov byte [rbx], 0x66
inc rbx
jmp 0x140159062
xor eax, eax
cmp cl, 8
cmove eax, dword [rsp + 0x54]
or eax, edi
mov dword [rbp + 0x70], eax
jmp 0x140159062
movzx eax, byte [r12 + 3]
and eax, 0xf
lea rcx, [0x140000000]
or edi, dword [rcx + rax*4 + 0x2cde40]
mov dword [rbp + 0x70], edi
cmp r13d, 9
jne 0x14015c379
mov esi, dword [r12 + 4]
jmp 0x14015936a
cmp r13d, 9
jne 0x1401595fd
movzx ecx, byte [r14 + 3]
mov eax, ecx
and eax, 0xf
lea r9, [0x140000000]
or edi, dword [r9 + rax*4 + 0x2cde80]
mov dword [rbp + 0x70], edi
cmp cl, byte [r12 + 3]
jne 0x14015bcba
mov r10d, dword [r14 + 4]
mov esi, dword [r12 + 4]
cmp cl, 1
jne 0x1401595d9
mov eax, dword [r14]
and eax, 0xff000fff
mov ecx, 0x40000000
mov r8d, 0x80000000
cmp eax, 0x1000021
je 0x1401595ac
xor eax, eax
cmp r10d, 4
cmovae eax, ecx
or edx, eax
jmp 0x1401595b3
or edx, r8d
add r10d, 4
mov eax, dword [r12]
and eax, 0xff000fff
cmp eax, 0x1000021
je 0x1401595cf
xor eax, eax
cmp esi, 4
cmovae eax, ecx
or edx, eax
jmp 0x1401595d5
or edx, r8d
add esi, 4
mov dword [rsp + 0x50], edx
mov eax, edx
shr eax, 9
mov r11d, dword [rbp + 0x78]
test al, 1
je 0x140159372
add edi, 2
mov dword [rbp + 0x70], edi
mov eax, esi
mov esi, r10d
mov r10d, eax
jmp 0x140159372
cmp r13d, 0x11
jne 0x140159671
movzx ecx, byte [r14 + 3]
mov eax, ecx
and eax, 0xf
add edi, 2
lea r9, [0x140000000]
or edi, dword [r9 + rax*4 + 0x2cde80]
mov dword [rbp + 0x70], edi
mov esi, dword [r14 + 4]
mov r8, r12
mov qword [rsp + 0x58], r12
cmp cl, 1
jne 0x140159062
mov eax, dword [r14]
and eax, 0xff000fff
cmp eax, 0x1000021
je 0x14015965e
xor eax, eax
cmp esi, 4
mov ecx, 0x40000000
cmovae eax, ecx
or edx, eax
mov dword [rsp + 0x50], edx
jmp 0x140159062
mov eax, 0x80000000
or edx, eax
mov dword [rsp + 0x50], edx
add esi, 4
jmp 0x140159062
cmp r13d, 0xa
jne 0x1401596b0
movzx ecx, byte [r12 + 3]
mov eax, ecx
and eax, 0xf
lea r9, [0x140000000]
or edi, dword [r9 + rax*4 + 0x2cde80]
mov dword [rbp + 0x70], edi
mov esi, dword [r12 + 4]
mov r8, r14
mov qword [rsp + 0x58], r14
cmp cl, 1
jne 0x140159062
mov eax, dword [r12]
jmp 0x14015963a
mov edi, 0x80
mov dword [rbp + 0x70], edi
cmp r13d, 0x19
jne 0x1401598a2
movzx r13d, byte [r14 + 3]
mov dword [rbp + 0x78], r13d
mov r10d, dword [r14 + 4]
mov dword [rsp + 0x54], r10d
mov r15d, dword [r12 + 0xc]
shl r15, 0x20
mov eax, dword [r12 + 8]
or r15, rax
mov r9d, 1
lea r8d, [rdi - 0x7c]
cmp r13d, r9d
jne 0x1401597a5
mov eax, dword [r14]
and eax, 0xff000fff
cmp eax, 0x1000021
je 0x140159718
xor eax, eax
cmp r10d, r8d
mov ecx, 0x40000000
cmovae eax, ecx
or edx, eax
jmp 0x140159722
mov eax, 0x80000000
or edx, eax
add r10d, r8d
mov dword [rsp + 0x50], edx
movzx r11d, r9b
mov r8d, dword [rsp + 0x50]
test r10d, r10d
jne 0x140159871
cmp r13d, 1
je 0x140159748
cmp r11b, 1
je 0x140159871
mov edx, 0x20
mov ecx, r8d
call fcn.140158a40
test al, al
jne 0x140159871
xor ecx, ecx
cmp r13d, 1
setne cl
add ecx, 4
and edi, 0x8200000
or ecx, edi
lea eax, [rsi*8]
or ecx, eax
mov edi, ecx
mov dword [rbp + 0x70], ecx
mov r9d, 4
mov dword [rsp + 0x60], r9d
lea rdx, [rsp + 0x60]
lea rcx, [rbp + 0x78]
call fcn.140158a30
movzx r11d, al
mov edx, dword [rsp + 0x50]
jmp 0x14015a0f1
cmp r13b, 2
jne 0x1401597b2
mov edi, 0x200080
jmp 0x14015982c
cmp r13b, r8b
jne 0x1401597bc
movsxd r15, r15d
jmp 0x14015982c
cmp r13b, 8
jne 0x14015982c
cmp dword [rsp + 0x68], 0x17
jne 0x1401597d9
mov eax, 0xffffffff
cmp r15, rax
ja 0x1401597d9
movzx edx, r9b
jmp 0x1401597db
xor dl, dl
mov rcx, r15
call fcn.1401589f0
test al, al
jne 0x1401597f5
test dl, dl
jne 0x14015980e
mov eax, 0x32
jmp 0x140158ec2
test dl, dl
je 0x140159815
mov edx, r9d
mov rcx, r11
call fcn.14015f080
mov r8d, 4
test al, al
je 0x140159815
mov r13d, r8d
mov dword [rbp + 0x78], r8d
mov eax, 0x8000080
cmp r13d, 8
cmove edi, eax
mov r10d, dword [rsp + 0x54]
mov r9d, 1
mov dword [rbp + 0x70], r8d
lea rdx, [rbp + 0x70]
lea rcx, [rbp + 0x78]
call fcn.140158a30
mov r11d, eax
mov rcx, r15
call fcn.140158a10
test al, al
je 0x14015972a
mov edx, 0x20
mov r8d, dword [rsp + 0x50]
mov ecx, r8d
call fcn.140158a40
movzx r11d, r11b
test al, al
cmove r11d, r9d
jmp 0x14015972f
cmp r13d, 1
je 0x140159892
cmp r11b, 1
mov eax, 3
cmovne eax, r9d
add edi, eax
mov dword [rbp + 0x70], edi
mov edx, dword [rsp + 0x50]
jmp 0x140159372
xor eax, eax
add edi, eax
mov dword [rbp + 0x70], edi
mov edx, dword [rsp + 0x50]
jmp 0x140159372
cmp r13d, 0x1a
jne case.default.0x140158e37
movzx edi, byte [r14 + 3]
mov dword [rbp + 0x78], edi
test edi, edi
je 0x14015bc4f
mov rcx, r12
call fcn.14015f1b0
mov r15, rax
mov r9d, 4
mov dword [rbp + 0x70], r9d
lea rdx, [rbp + 0x70]
lea rcx, [rbp + 0x78]
call fcn.140158a30
movzx r8d, al
mov dword [rbp + 0x78], r8d
cmp edi, r9d
jne 0x1401598ee
movsxd r15, r15d
mov rcx, r15
call fcn.140158a10
test al, al
je 0x14015991d
mov edx, 0x20
mov ecx, dword [rsp + 0x50]
call fcn.140158a40
movzx r8d, r8b
test al, al
mov edx, 1
cmove r8d, edx
mov dword [rbp + 0x78], r8d
jmp 0x140159922
mov edx, 1
cmp edi, 1
je 0x140159935
mov eax, 3
cmp r8b, 1
cmovne eax, edx
jmp 0x140159937
xor eax, eax
sub eax, 0xffffff80
mov dword [rbp + 0x70], eax
mov edx, edi
lea rcx, [rbp + 0x70]
call fcn.1401589d0
jmp 0x14015905a
cmp r13d, 1
jne case.default.0x140158e37
movzx eax, byte [r14 + 3]
cmp al, r13b
je case.default.0x140158e37
mov esi, dword [r14 + 4]
and eax, 0xf
lea rcx, [0x140000000]
or edi, dword [rcx + rax*4 + 0x2cde40]
jmp 0x14015bd47
cmp r13d, 9
jne 0x1401599a9
movzx eax, byte [r12 + 3]
and eax, 0xf
lea rcx, [0x140000000]
or edi, dword [rcx + rax*4 + 0x2cde40]
mov dword [rbp + 0x70], edi
mov esi, dword [r12 + 4]
jmp 0x14015936a
cmp r13d, 0xa
jne 0x1401599d3
movzx eax, byte [r12 + 3]
and eax, 0xf
lea rcx, [0x140000000]
or edi, dword [rcx + rax*4 + 0x2cde40]
mov dword [rbp + 0x70], edi
mov esi, dword [r12 + 4]
jmp 0x14015905a
mov r15d, dword [r12 + 0xc]
shl r15, 0x20
mov eax, dword [r12 + 8]
or r15, rax
mov r11b, 1
mov dword [rbp + 0x78], r11d
movzx r8d, byte [r14 + 3]
mov ecx, r8d
and ecx, 0xf
mov rax, qword [rsp + 0x68]
lea r10, [0x140000000]
movzx eax, byte [r10 + rax*8 + 0x2d0737]
mov esi, dword [r10 + rcx*4 + 0x2cde40]
or esi, dword [r10 + rax*4 + 0x2d6360]
mov edi, esi
mov dword [rbp + 0x70], esi
shr esi, 0x12
and esi, 7
cmp r13d, 0x19
jne 0x140159a35
mov r10d, dword [r14 + 4]
jmp 0x140159372
cmp r13d, 0x1a
jne case.default.0x140158e37
test r8b, r8b
je 0x14015bc4f
jmp 0x14015905a
cmp r13d, 1
je 0x14015936a
mov r8, r14
mov qword [rsp + 0x58], r14
cmp r13d, 2
je 0x140159062
mov edi, 0xe8
jmp 0x14015a3db
test r13d, 0x1c0
je 0x140159a9c
mov eax, dword [r9]
and eax, 0xf07
cmp eax, 1
jne case.default.0x140158e37
cmp dword [r9 + 4], 0
jne case.default.0x140158e37
and r13d, 0x3f
cmp r13d, 9
jne 0x140159b43
movzx ecx, byte [r14 + 3]
cmp cl, byte [r12 + 3]
jne 0x14015bcba
mov eax, ecx
and eax, 0xf
lea r9, [0x140000000]
or edi, dword [r9 + rax*4 + 0x2cde80]
mov dword [rbp + 0x70], edi
mov r10d, dword [r14 + 4]
mov esi, dword [r12 + 4]
cmp cl, 1
jne 0x14015936e
mov eax, dword [r14]
and eax, 0xff000fff
mov ecx, 0x40000000
mov r8d, 0x80000000
cmp eax, 0x1000021
je 0x140159b06
xor eax, eax
cmp r10d, 4
cmovae eax, ecx
or edx, eax
jmp 0x140159b0d
or edx, r8d
add r10d, 4
mov eax, dword [r12]
and eax, 0xff000fff
mov r11d, dword [rbp + 0x78]
cmp eax, 0x1000021
je 0x140159b34
xor eax, eax
cmp esi, 4
cmovae eax, ecx
or edx, eax
mov dword [rsp + 0x50], edx
jmp 0x140159372
or edx, r8d
mov dword [rsp + 0x50], edx
add esi, 4
jmp 0x140159372
cmp r13d, 0xa
jne case.default.0x140158e37
jmp 0x140159677
cmp r13d, 0x4a
jne case.0x140158e37.14
mov r10, qword [rbp + 0x88]
mov eax, dword [r10]
and al, 7
cmp al, 1
jne case.default.0x140158e37
mov eax, dword [r10 + 0x10]
and al, 7
cmp al, 1
jmp 0x140159054
mov esi, dword [r14 + 4]
xor eax, eax
cmp byte [r14 + 3], 8
cmove eax, dword [rsp + 0x54]
or eax, edi
mov edi, eax
mov dword [rbp + 0x70], eax
cmp r13d, 9
jne 0x140159bf1
mov r10d, dword [r12 + 4]
movzx eax, byte [r12 + 3]
cmp al, 1
jne 0x140159bda
mov eax, dword [r12]
and eax, 0xff000fff
mov r11d, dword [rbp + 0x78]
cmp eax, 0x1000021
je 0x140159f00
xor eax, eax
cmp r10d, 4
mov ecx, 0x40000000
cmovae eax, ecx
or edx, eax
mov dword [rsp + 0x50], edx
jmp 0x140159372
cmp al, 2
jne 0x140159be7
mov byte [rbx], 0x66
inc rbx
mov edi, dword [rbp + 0x70]
inc edi
mov dword [rbp + 0x70], edi
jmp 0x14015936e
cmp r13d, 0x11
jne case.default.0x140158e37
mov r8, r12
mov qword [rsp + 0x58], r12
movzx eax, byte [r12 + 3]
test al, al
je 0x14015bc4f
cmp al, 2
jne 0x140159c1e
mov byte [rbx], 0x66
inc rbx
mov edi, dword [rbp + 0x70]
xor eax, eax
cmp byte [r12 + 3], 1
setne al
add edi, eax
mov dword [rbp + 0x70], edi
jmp 0x140159062
cmp r13d, 0x1b
jne case.default.0x140158e37
movzx r15d, byte [r12 + 8]
shl r15, 0x10
movzx eax, word [r14 + 8]
or r15, rax
mov r11b, 3
jmp 0x14015a0f1
cmp r13d, 0xc9
jne 0x140159cd9
mov dword [rbp + 0x70], WSAGetLastError
movzx r8d, byte [r14 + 3]
mov eax, r8d
and eax, 0xf
lea rcx, [0x140000000]
mov ecx, dword [rcx + rax*4 + 0x2cde40]
or ecx, 0x6b
mov edi, ecx
mov dword [rbp + 0x70], ecx
mov r15d, dword [r9 + 0xc]
shl r15, 0x20
mov eax, dword [r9 + 8]
or r15, rax
mov r11b, 1
lea rax, [r15 + 0x80]
cmp rax, 0xff
ja 0x140159cb3
mov eax, edx
shr eax, 5
test r11b, al
je 0x140159ccb
lea edi, [rcx - 2]
mov dword [rbp + 0x70], edi
mov ecx, 2
cmp r8b, cl
mov r11d, 4
cmove r11d, ecx
mov esi, dword [r14 + 4]
mov r10d, dword [r12 + 4]
jmp 0x140159372
cmp r13d, 0xd1
jne 0x140159d6b
mov dword [rbp + 0x70], WSAGetLastError
movzx r8d, byte [r14 + 3]
mov eax, r8d
and eax, 0xf
lea rcx, [0x140000000]
mov ecx, dword [rcx + rax*4 + 0x2cde40]
or ecx, 0x6b
mov dword [rbp + 0x70], ecx
mov r15d, dword [r9 + 0xc]
shl r15, 0x20
mov eax, dword [r9 + 8]
or r15, rax
mov al, 1
mov dword [rbp + 0x78], eax
cmp r8b, 4
jne 0x140159d29
movsxd r15, r15d
lea rax, [r15 + 0x80]
cmp rax, 0xff
ja 0x140159d41
mov eax, edx
shr eax, 5
test al, 1
je 0x140159d5a
lea eax, [rcx - 2]
mov dword [rbp + 0x70], eax
mov eax, 4
mov ecx, 2
cmp r8b, cl
cmove eax, ecx
mov dword [rbp + 0x78], eax
mov esi, dword [r14 + 4]
mov r8, r12
mov qword [rsp + 0x58], r12
jmp 0x140159062
cmp r13d, 9
jne 0x140159dbd
movzx ecx, byte [r12 + 3]
cmp cl, 1
je 0x140159e9a
movzx eax, byte [r14 + 3]
cmp al, cl
jne 0x14015bcba
mov esi, dword [r14 + 4]
mov ecx, dword [r12 + 4]
mov dword [rsp + 0x54], ecx
mov dword [rbp + 0x70], 0x1af
mov edx, eax
lea rcx, [rbp + 0x70]
call fcn.1401589d0
mov edi, dword [rbp + 0x70]
mov r10d, dword [rsp + 0x54]
mov edx, dword [rsp + 0x50]
jmp 0x14015936e
cmp r13d, 0x11
jne 0x140159df5
cmp byte [r12 + 3], 1
je 0x140159f1a
mov esi, dword [r14 + 4]
mov qword [rsp + 0x58], r12
mov dword [rbp + 0x70], 0x1af
movzx edx, byte [r14 + 3]
lea rcx, [rbp + 0x70]
call fcn.1401589d0
mov r8, r12
jmp 0x140159062
cmp r13d, 0x19
jne case.0x140158e37.13
mov dword [rbp + 0x70], WSAGetLastError
movzx edx, byte [r14 + 3]
lea rcx, [rbp + 0x70]
call fcn.1401589d0
mov rcx, r12
call fcn.14015f1b0
mov r15, rax
mov r11b, 1
movzx r8d, byte [r14 + 3]
cmp r8b, 4
jne 0x140159e30
movsxd r15, eax
mov rcx, r15
call fcn.140158a10
test al, al
je 0x140159e5f
mov edx, 0x20
mov ecx, dword [rsp + 0x50]
call fcn.140158a40
test al, al
jne 0x140159e5f
mov edi, dword [rbp + 0x70]
mov r10d, dword [r14 + 4]
mov esi, r10d
mov edx, ecx
jmp 0x140159372
mov edi, dword [rbp + 0x70]
add edi, 0xfffffffe
mov dword [rbp + 0x70], edi
mov ecx, 2
cmp r8b, cl
mov r11d, 4
cmove r11d, ecx
mov r10d, dword [r14 + 4]
mov esi, r10d
mov edx, dword [rsp + 0x50]
jmp 0x140159372
cmp r13d, 7
jbe case.0x140158e37.12
cmp r13d, 9
jne 0x140159f14
mov eax, dword [r14]
and eax, 0xff000fff
cmp eax, 0x2000029
sete cl
cmp dword [r14 + 4], 0
sete al
test al, cl
je case.default.0x140158e37
mov ecx, dword [r12]
mov eax, ecx
and eax, 0xff000f07
cmp eax, 0x1000001
jne case.default.0x140158e37
mov r10d, dword [r12 + 4]
and ecx, 0xff000fff
mov r11d, dword [rbp + 0x78]
cmp ecx, 0x1000021
je 0x140159f00
xor eax, eax
cmp r10d, 4
mov ecx, 0x40000000
cmovae eax, ecx
or edx, eax
mov dword [rsp + 0x50], edx
jmp 0x140159372
mov eax, 0x80000000
or edx, eax
mov dword [rsp + 0x50], edx
add r10d, 4
jmp 0x140159372
cmp r13d, 0x11
jne 0x140159f47
mov eax, dword [r14]
and eax, 0xff000fff
cmp eax, 0x2000029
sete cl
cmp dword [r14 + 4], 0
sete al
test al, cl
je case.default.0x140158e37
mov r8, r12
mov qword [rsp + 0x58], r12
jmp 0x140159062
cmp r13d, 0x49
jne 0x140159f7f
movzx eax, byte [r14 + 3]
cmp al, byte [r12 + 3]
jne case.default.0x140158e37
mov edx, eax
lea rcx, [rbp + 0x70]
call fcn.140158990
mov rax, qword [rbp + 0x80]
mov r10d, dword [rax + 4]
mov edi, dword [rbp + 0x70]
mov edx, dword [rsp + 0x50]
jmp 0x14015936e
cmp r13d, 0x89
jne case.default.0x140158e37
movzx eax, byte [r14 + 3]
cmp al, byte [r12 + 3]
jne case.default.0x140158e37
mov edx, eax
lea rcx, [rbp + 0x70]
call fcn.140158990
mov r8, qword [rbp + 0x80]
mov qword [rsp + 0x58], r8
jmp 0x140159062
cmp r13d, 1
jne 0x14015a017
movzx ecx, byte [r14 + 3]
mov eax, ecx
and eax, 0xf
lea r9, [0x140000000]
or edi, dword [r9 + rax*4 + 0x2cde80]
mov dword [rbp + 0x70], edi
mov r10d, dword [r14 + 4]
cmp cl, r13b
jne 0x14015936e
mov eax, dword [r14]
and eax, 0xff000fff
mov r11d, dword [rbp + 0x78]
cmp eax, 0x1000021
je 0x140159f00
xor eax, eax
cmp r10d, 4
mov ecx, 0x40000000
cmovae eax, ecx
or edx, eax
mov dword [rsp + 0x50], edx
jmp 0x140159372
cmp r13d, 2
jne case.default.0x140158e37
movzx eax, byte [r14 + 3]
test al, al
je 0x14015bc4f
and eax, 0xf
lea rcx, [0x140000000]
or edi, dword [rcx + rax*4 + 0x2cde80]
mov dword [rbp + 0x70], edi
jmp 0x14015905a
cmp r13d, 0x19
jne 0x14015a0a4
cmp dword [r14 + 4], 0
jne case.default.0x140158e37
movzx r15d, byte [r12 + 8]
mov al, 1
mov dword [rbp + 0x78], eax
mov rax, qword [rsp + 0x68]
lea r11, [0x140000000]
movzx ecx, byte [r11 + rax*8 + 0x2d0737]
xor eax, eax
cmp byte [r14 + 3], 1
setne al
mov edi, dword [r11 + rcx*4 + 0x2d6360]
add edi, eax
xor eax, eax
mov r11d, 0x200000
cmp byte [r14 + 3], 2
cmove eax, r11d
or edi, eax
mov dword [rbp + 0x70], edi
jmp 0x14015a0e9
cmp r13d, 9
jne case.default.0x140158e37
cmp dword [r14 + 4], 0
jne case.default.0x140158e37
cmp dword [r12 + 4], 2
jne case.default.0x140158e37
xor edx, edx
cmp byte [r14 + 3], 1
setne dl
add edx, edi
xor eax, eax
mov r11d, 0x200000
cmp byte [r14 + 3], 2
cmove eax, r11d
or edx, eax
mov edi, edx
mov dword [rbp + 0x70], edx
mov edx, dword [rsp + 0x50]
mov r11d, dword [rbp + 0x78]
mov rsi, qword [rbp + 0x60]
shr edi, 0x15
and edi, 7
mov eax, edi
lea rdi, [0x140000000]
movzx eax, byte [rax + rdi + 0x2cd750]
mov byte [rbx], al
mov eax, 0
setne al
add rax, rbx
mov r8d, dword [rbp + 0x70]
or r8d, edx
shr r8d, 0x18
cmp r8d, 0x80
ja 0x140159128
and r8d, 0x7f
movzx ecx, r8b
or cl, 0x40
mov byte [rax], cl
xor ecx, ecx
test r8d, r8d
setne cl
add rcx, rax
mov r9d, dword [rbp + 0x70]
mov eax, r9d
shr rax, 8
and eax, 0x1f
lea r8, [rdi + 0x2cd710]
lea r8, [r8 + rax*4]
movzx edx, byte [r8]
movzx eax, byte [r8 + 1]
mov byte [rcx], al
xor eax, eax
test dl, dl
setne al
add rax, rcx
movzx edx, byte [r8]
movzx ecx, byte [r8 + 2]
mov byte [rax], cl
xor ebx, ebx
cmp dl, 1
seta bl
add rbx, rax
mov byte [rbx], r9b
inc rbx
cmp r11b, 4
movzx eax, r11b
jb 0x14015a1ac
mov dword [rbx], r15d
add rbx, 4
shr r15, 0x20
lea eax, [r11 - 4]
test al, al
je 0x14015a500
mov byte [rbx], r15b
inc rbx
shr r15, 8
add al, 0xff
je 0x14015a500
mov byte [rbx], r15b
inc rbx
shr r15, 8
add al, 0xff
je 0x14015a500
mov byte [rbx], r15b
inc rbx
cmp al, 1
je 0x14015a500
shr r15, 8
mov byte [rbx], r15b
inc rbx
jmp 0x14015a500
cmp r13d, 0xa
jne case.default.0x140158e37
mov edx, dword [r14]
mov r8d, edx
shr r8d, 0x18
mov eax, edx
and al, 7
cmp al, 2
jne case.default.0x140158e37
mov ecx, dword [r14 + 4]
cmp ecx, 7
jne case.default.0x140158e37
mov eax, edx
shr eax, 3
test al, 0x1f
mov eax, 0
cmove eax, ecx
or eax, dword [r14 + 0xc]
jne case.default.0x140158e37
cmp dword [r12 + 4], 2
jne case.default.0x140158e37
test r8b, r8b
je 0x14015bc4f
mov rsi, r14
xor ecx, ecx
cmp r8b, 1
setne cl
add ecx, edi
xor eax, eax
mov r11d, 0x200000
cmp r8b, 2
cmove eax, r11d
or ecx, eax
mov edi, ecx
mov dword [rbp + 0x70], ecx
jmp 0x14015ba21
cmp r13d, 1
jne 0x14015a017
mov r10d, dword [r14 + 4]
movzx ecx, byte [r14 + 3]
cmp cl, r13b
je 0x140159fe7
test byte [r11 + 0x48], r13b
je 0x14015a2d9
mov rax, qword [rsp + 0x68]
lea r11, [0x140000000]
movzx eax, byte [r11 + rax*8 + 0x2d0737]
and r10d, 7
mov edi, dword [r11 + rax*4 + 0x2d6360]
add edi, r10d
xor eax, eax
mov r11d, 0x200000
cmp cl, 2
cmove eax, r11d
or edi, eax
mov dword [rbp + 0x70], edi
jmp case.0x140158e37.1
mov rax, rcx
and eax, 0xf
lea rcx, [0x140000000]
or edi, dword [rcx + rax*4 + 0x2cde80]
mov dword [rbp + 0x70], edi
jmp 0x14015936e
cmp r13d, 3
jne case.default.0x140158e37
mov r15d, dword [r14 + 0xc]
shl r15, 0x20
mov eax, dword [r14 + 8]
or r15, rax
mov r11b, 1
jmp 0x14015a0f1
test dl, 0xc0
je 0x14015a3de
mov eax, dword [r11 + 0x20]
shr eax, 4
test al, 1
je 0x14015a3de
mov eax, edx
shr eax, 6
and al, 1
shl al, 4
or al, 0x2e
mov byte [rbx], al
inc rbx
mov edi, dword [rbp + 0x70]
jmp 0x14015a3de
mov r13, r14
mov ecx, dword [r14]
mov r8d, ecx
shr r8d, 0x18
mov eax, ecx
and al, 7
cmp al, 1
jne 0x14015a3b6
and ecx, 0xf07
cmp ecx, 1
sete cl
cmp dword [r14 + 4], 1
sete al
test al, cl
je case.default.0x140158e37
movzx eax, byte [r11 + 0x48]
test al, 1
je 0x14015a387
cmp r8b, 2
je 0x14015a393
not al
test al, 1
je 0x14015a3a8
cmp r8b, 4
jne 0x14015a3a8
mov eax, 1
mov byte [rbx], 0x67
add rbx, rax
mov r13, r12
mov edi, dword [rbp + 0x70]
xor esi, esi
jmp 0x14015a3e3
xor eax, eax
mov byte [rbx], 0x67
add rbx, rax
mov r13, r12
mov edi, dword [rbp + 0x70]
xor esi, esi
jmp 0x14015a3e3
cmp r13d, 1
je 0x14015936a
mov r8, r14
mov qword [rsp + 0x58], r14
cmp r13d, 2
je 0x140159062
mov edi, 0xe9
mov dword [rbp + 0x70], edi
xor esi, esi
mov r13, r14
or edi, edx
shr edi, 0x18
cmp edi, 0x80
ja 0x140159128
and edi, 0x7f
movzx eax, dil
or al, 0x40
mov byte [rbx], al
xor eax, eax
test edi, edi
setne al
add rbx, rax
mov rax, rbx
sub rax, qword [r11 + 0x98]
mov qword [rbp - 0x78], rax
mov rax, qword [rsp + 0x68]
lea rcx, [0x140000000]
movzx eax, byte [rcx + rax*8 + 0x2d0737]
mov r9d, dword [rcx + rax*4 + 0x2d6360]
mov dword [rsp + 0x60], r9d
mov r8d, dword [rbp + 0x70]
mov eax, r8d
and eax, 0x1f00
xor r10d, r10d
cmp eax, 0x100
sete r10b
xor eax, eax
test esi, esi
setne al
add eax, 5
add r10d, eax
mov eax, dword [r13]
and eax, 7
cmp eax, 4
jne 0x14015a622
mov rax, qword [r11 + 0x30]
mov ecx, dword [r13 + 4]
cmp ecx, dword [rax + 0xf8]
jae 0x14015e8b9
mov rax, qword [rax + 0xf0]
mov rdi, qword [rax + rcx*8]
test rdi, rdi
je 0x14015e8b9
lea r13, [r11 + 0x90]
mov rax, qword [r13]
cmp qword [rdi + 0x20], rax
jne 0x14015a597
mov r9d, dword [rdi + 0x18]
sub r9d, dword [rbp - 0x78]
sub r9d, r10d
lea eax, [r9 + 0x7e]
add eax, r10d
cmp eax, 0xff
ja 0x14015a7d4
mov ecx, dword [rsp + 0x60]
test ecx, ecx
je 0x14015a7d4
mov eax, edx
shr eax, 5
test al, 1
jne 0x14015a7d4
or edx, 0x10
mov dword [rsp + 0x50], edx
mov byte [rbx], cl
sub r10b, 2
add r10b, r9b
mov byte [rbx + 1], r10b
add rbx, 2
mov r11d, dword [rbp + 0x78]
mov rsi, qword [rbp + 0x60]
mov edx, dword [rsp + 0x50]
test dl, 1
je 0x14015a554
cmp qword [rsi + 0x38], 0
je 0x14015a554
movzx eax, r11b
movzx ecx, byte [rbp + 0x68]
mov qword [rsp + 0x48], rbx
mov dword [rsp + 0x40], eax
mov dword [rsp + 0x38], ecx
mov rcx, qword [rbp + 0x88]
mov qword [rsp + 0x30], rcx
mov rax, qword [rbp + 0x80]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r12
mov r9, r14
mov r8d, edx
mov edx, dword [rsp + 0x68]
mov rcx, rsi
call fcn.140165b70
mov qword [rsi + 0x54], 0
mov dword [rsi + 0x5c], 0
mov qword [rsi + 0x60], 0
mov rdx, qword [rsi + 0x90]
mov rcx, rbx
sub rcx, qword [rsi + 0x98]
mov qword [rsi + 0xa8], rbx
cmp qword [rdx + 0x50], rcx
cmovae rcx, qword [rdx + 0x50]
mov qword [rdx + 0x50], rcx
xor eax, eax
jmp 0x140158ef9
test r9d, r9d
je 0x14015a5bc
test r8d, r8d
je 0x14015a610
mov edx, reloc.WS2_32.dll_recv
mov ecx, dword [rsp + 0x50]
call fcn.140158a40
test al, al
jne 0x14015a610
lea r13, [r11 + 0x90]
mov edx, ecx
test r8d, r8d
je 0x14015a82a
mov eax, edx
shr eax, 4
test al, 1
jne 0x14015a82a
test r8d, 0x1f00
mov byte [rbx], recv
mov eax, 0
setne al
add rbx, rax
movzx eax, byte [rbp + 0x70]
mov byte [rbx], al
lea rcx, [rbx + 1]
movzx eax, sil
shl al, 3
sub al, 0x40
mov byte [rcx], al
xor ebx, ebx
test esi, esi
setne bl
add rbx, rcx
mov edx, 0xfffffffc
jmp 0x14015e82d
mov byte [rbx], r9b
inc rbx
mov edx, 0xffffffff
mov al, 1
jmp 0x14015e82f
cmp eax, 3
jne case.default.0x140158e37
lea r15, [r11 + 0x30]
mov r9, qword [r15]
mov qword [rsp + 0x58], r9
mov ecx, dword [r13 + 0xc]
shl rcx, 0x20
mov eax, dword [r13 + 8]
or rcx, rax
mov qword [rbp - 0x80], rcx
cmp qword [r9 + 0x28], 0xffffffffffffffff
je 0x14015a6a6
mov eax, r10d
mov r9, rcx
sub r9, rax
mov rax, qword [rsp + 0x58]
sub r9, qword [rax + 0x28]
sub r9, qword [rbp - 0x78]
test byte [r11 + 0x48], 1
jne 0x14015a4b5
mov eax, 0x80000000
add rax, r9
mov ecx, 0xffffffff
cmp rax, rcx
jbe 0x14015a4b5
mov rax, qword [rsp + 0x68]
cmp eax, 0x144
je 0x14015a6a1
cmp eax, 0x3f
jne 0x14015a82a
lea r15, [r11 + 0x30]
mov r9, qword [rsp + 0x58]
mov r13d, 4
mov r8d, r13d
lea rdx, [rsp + 0x70]
mov rcx, r9
call fcn.140160680
test eax, eax
jne 0x140158ec2
mov rdx, qword [rbp + 0x60]
mov rcx, qword [rdx + 0xa8]
sub rcx, qword [rdx + 0x98]
mov rax, qword [rsp + 0x70]
mov qword [rax + 0x18], rcx
mov rax, qword [rdx + 0x90]
mov ecx, dword [rax]
mov rax, qword [rsp + 0x70]
mov dword [rax + 0x10], ecx
mov rax, qword [rsp + 0x70]
mov r8, qword [rbp - 0x80]
mov qword [rax + 0x20], r8
mov eax, dword [rbp + 0x70]
test eax, eax
je 0x14015a834
movzx ecx, byte [rdx + 0x48]
not cl
test cl, 1
je 0x14015a75d
mov rcx, r15
mov r9, qword [rsp + 0x68]
cmp r9d, 0x144
je 0x14015a72e
cmp r9d, 0x3f
jne 0x14015a75d
lea rcx, [rdx + 0x30]
test edi, edi
jne 0x14015a73b
mov byte [rbx], 0x40
inc rbx
mov r15, rcx
mov rdx, r8
mov rcx, qword [r15]
call fcn.14015fa80
test eax, eax
jne 0x140158ec2
mov rax, qword [rsp + 0x70]
mov dword [rax + 4], 5
mov eax, dword [rbp + 0x70]
test eax, 0x1f00
mov byte [rbx], recv
mov eax, 0
setne al
add rbx, rax
movzx eax, byte [rbp + 0x70]
mov byte [rbx], al
lea rax, [rbx + 1]
movzx ecx, sil
shl cl, 3
sub cl, 0x40
mov byte [rax], cl
xor ebx, ebx
test esi, esi
setne bl
add rbx, rax
mov rcx, qword [rsp + 0x70]
add rcx, 8
mov r8, r13
xor edx, edx
call fcn.14015f170
mov rdx, rbx
mov rsi, qword [rbp + 0x60]
sub rdx, qword [rsi + 0xa8]
mov rcx, qword [rsp + 0x70]
add rcx, 8
xor r8d, r8d
call fcn.14015f1a0
mov dword [rbx], 0
add rbx, r13
mov r11d, dword [rbp + 0x78]
jmp 0x14015a500
test r8d, r8d
je 0x14015a82a
mov eax, edx
shr eax, 4
test al, 1
jne 0x14015a82a
and edx, 0xffffffef
mov dword [rsp + 0x50], edx
test r8d, 0x1f00
mov byte [rbx], recv
mov eax, 0
setne al
add rbx, rax
movzx eax, byte [rbp + 0x70]
mov byte [rbx], al
lea rax, [rbx + 1]
movzx ecx, sil
shl cl, 3
sub cl, 0x40
mov byte [rax], cl
xor ebx, ebx
test esi, esi
setne bl
add rbx, rax
mov dword [rbx], r9d
add rbx, 4
jmp case.0x140158e37.0
mov eax, 0x30
jmp 0x140158ec2
mov ecx, dword [rsp + 0x60]
mov byte [rbx], cl
mov rcx, qword [rsp + 0x70]
add rcx, 8
xor edx, edx
lea r8d, [rdx + 1]
call fcn.14015f170
lea rdx, [rbx + 1]
mov rsi, qword [rbp + 0x60]
sub rdx, qword [rsi + 0xa8]
mov rcx, qword [rsp + 0x70]
add rcx, 8
xor r8d, r8d
call fcn.14015f1a0
mov byte [rbx + 1], 0
add rbx, 2
mov r11d, dword [rbp + 0x78]
jmp 0x14015a500
cmp r13d, 2
jne 0x14015a8e7
mov qword [rsp + 0x58], r14
movzx ecx, byte [r14 + 3]
test ecx, ecx
jne 0x14015a8a6
movzx eax, byte [r11 + 0x48]
not al
and eax, 1
lea ecx, [rax*4 + 4]
jmp 0x14015a8cc
add ecx, 0xfffffffe
lea eax, [rcx - 2]
test eax, 0xfffffffd
je 0x14015a8cc
movzx eax, byte [r11 + 0x48]
not al
and eax, 1
lea eax, [rax*4 + 4]
cmp ecx, eax
jne 0x14015b203
mov eax, ecx
and eax, 0xf
lea rcx, [0x140000000]
or edi, dword [rcx + rax*4 + 0x2cde40]
mov dword [rbp + 0x70], edi
jmp 0x14015905f
cmp r13d, 0x1b
jne case.default.0x140158e37
test byte [r11 + 0x48], 1
je case.default.0x140158e37
mov ecx, dword [r14 + 0xc]
shl rcx, 0x20
mov eax, dword [r14 + 8]
or rcx, rax
cmp rcx, 0xffff
jg 0x1401597eb
mov ecx, dword [r12 + 0xc]
shl rcx, 0x20
mov eax, dword [r12 + 8]
or rcx, rax
mov eax, 0xffffffff
cmp rcx, rax
jg 0x1401597eb
mov rax, qword [rsp + 0x68]
lea rcx, [0x140000000]
movzx edi, byte [rcx + rax*8 + 0x2d0737]
mov edi, dword [rcx + rdi*4 + 0x2d6360]
mov dword [rbp + 0x70], edi
mov rcx, r14
call fcn.14015f1b0
mov r15, rax
shl r15, 0x20
mov rcx, r12
call fcn.14015f1b0
or r15, rax
mov r11b, 6
mov edx, dword [rsp + 0x50]
jmp 0x14015a0f1
cmp r13d, 0x11
jne case.default.0x140158e37
movzx eax, byte [r14 + 3]
and eax, 0xf
lea rcx, [0x140000000]
or edi, dword [rcx + rax*4 + 0x2cde40]
mov dword [rbp + 0x70], edi
mov esi, dword [r14 + 4]
mov r8, r12
mov qword [rsp + 0x58], r12
jmp 0x140159062
cmp r13d, 9
jne 0x14015ac08
mov r8d, dword [r14]
mov edi, r8d
shr edi, 0x18
mov esi, dword [r14 + 4]
mov r13d, dword [r12 + 4]
mov ecx, dword [r12]
mov r9d, ecx
shr r9d, 0x18
mov eax, r8d
and eax, 0xf07
cmp eax, 1
jne 0x14015ab80
mov r10d, esi
mov dword [rsp + 0x54], esi
mov esi, r13d
mov eax, ecx
and eax, 0xf07
cmp eax, 1
jne 0x14015aaec
cmp edi, r9d
jne case.default.0x140158e37
cmp edi, eax
jne 0x14015aaa3
and r8d, 0xff000fff
mov eax, 0x80000000
mov r9d, 0x40000000
cmp r8d, 0x1000021
je 0x14015aa40
xor eax, eax
cmp r10d, 4
cmovae eax, r9d
or edx, eax
mov eax, 0x80000000
jmp 0x14015aa46
or edx, eax
add r10d, 4
and ecx, 0xff000fff
cmp ecx, 0x1000021
je 0x14015aa61
xor eax, eax
cmp esi, 4
cmovae eax, r9d
or edx, eax
jmp 0x14015aa66
or edx, eax
add esi, 4
mov dword [rsp + 0x50], edx
mov edi, 0x88
mov dword [rbp + 0x70], edi
mov edx, 0x200
mov ecx, dword [rsp + 0x50]
call fcn.140158a40
mov edx, ecx
mov r11d, dword [rbp + 0x78]
test al, al
je 0x140159372
mov edi, 0x8a
mov dword [rbp + 0x70], edi
mov eax, esi
mov esi, r10d
mov r10d, eax
jmp 0x140159372
mov dword [rbp + 0x70], 0x89
mov edx, edi
lea rcx, [rbp + 0x70]
call fcn.1401589d0
mov edx, 0x200
mov ecx, dword [rsp + 0x50]
call fcn.140158a40
mov edi, dword [rbp + 0x70]
mov edx, ecx
mov r11d, dword [rbp + 0x78]
test al, al
je 0x14015aae2
add edi, 2
mov dword [rbp + 0x70], edi
mov r10d, esi
mov esi, dword [rsp + 0x54]
jmp 0x140159372
mov r10d, dword [rsp + 0x54]
jmp 0x140159372
and ecx, 0xff000fff
cmp ecx, 0x2000599
jne 0x14015ab20
and edi, 0xf
lea rax, [0x140000000]
mov edi, dword [rax + rdi*4 + 0x2cde40]
or edi, 0x8c
mov dword [rbp + 0x70], edi
mov eax, 0xffffffff
add esi, eax
jmp 0x14015936e
cmp ecx, 0x6a1
jne 0x14015ab5a
mov edi, 0x120
mov dword [rbp + 0x70], edi
test sil, 8
je 0x14015936e
test byte [r11 + 0x48], 1
mov r11d, dword [rbp + 0x78]
je 0x140159372
mov byte [rbx], 0xf0
inc rbx
and esi, 7
mov edi, dword [rbp + 0x70]
jmp 0x140159372
mov rcx, r12
call fcn.14015f0a0
test al, al
je case.default.0x140158e37
mov edi, 0x121
mov dword [rbp + 0x70], edi
mov r10d, dword [rsp + 0x54]
mov edx, dword [rsp + 0x50]
jmp 0x14015936e
mov r10d, r13d
mov dword [rsp + 0x54], r13d
and ecx, 0xf07
cmp ecx, 1
jne case.default.0x140158e37
and r8d, 0xff000fff
cmp r8d, 0x2000599
jne 0x14015abcf
and r9d, 0xf
lea rax, [0x140000000]
mov edi, dword [rax + r9*4 + 0x2cde40]
or edi, 0x8e
mov dword [rbp + 0x70], edi
mov eax, 0xffffffff
add esi, eax
jmp 0x14015936e
cmp r8d, 0x6a1
jne 0x14015abe2
mov edi, 0x122
jmp 0x14015ab2d
mov rcx, r14
call fcn.14015f0a0
test al, al
je case.default.0x140158e37
mov edi, 0x123
mov dword [rbp + 0x70], edi
mov r10d, dword [rsp + 0x54]
mov edx, dword [rsp + 0x50]
jmp 0x14015936e
cmp r13d, 0x11
jne 0x14015ae28
mov esi, dword [r14 + 4]
mov qword [rsp + 0x58], r12
mov eax, dword [r14]
mov r8d, eax
shr r8d, 0x18
mov dword [rsp + 0x60], r8d
and eax, 0xff000fff
cmp eax, 0x2000599
jne 0x14015ac64
movzx eax, byte [r12 + 3]
and eax, 0xf
lea rcx, [0x140000000]
mov eax, dword [rcx + rax*4 + 0x2cde40]
or eax, 0x8e
mov dword [rbp + 0x70], eax
mov eax, 0xffffffff
add esi, eax
mov r8, r12
jmp 0x140159062
mov dword [rbp + 0x70], 0
mov rdi, r8
and edi, 0xf
lea rax, [0x140000000]
mov edi, dword [rax + rdi*4 + 0x2cde80]
mov dword [rbp + 0x70], edi
test esi, esi
jne 0x14015ad94
mov eax, dword [r12]
test eax, 0x1ff8
jne 0x14015ad94
mov ecx, dword [rsp + 0x50]
test byte [r11 + 0x48], 1
je 0x14015acb5
mov edx, 0x300
call fcn.140158a40
xor al, 1
jmp 0x14015adf3
and eax, 0xc000
mov dword [rsp + 0x7c], eax
cmp eax, 0x8000
je 0x14015ad98
mov edx, 0x300
call fcn.140158a40
test al, al
jne 0x14015ad98
mov rcx, r12
call fcn.14015f0d0
mov qword [rbp - 0x80], rax
mov r13, qword [rbp + 0x60]
mov rcx, qword [r13 + 0x30]
mov rcx, qword [rcx + 0x28]
mov qword [rbp - 0x70], rcx
cmp dword [rsp + 0x7c], 0
jne 0x14015add8
cmp rcx, 0xffffffffffffffff
je 0x14015add8
mov rcx, r12
call fcn.14015f090
test al, al
jne 0x14015add4
mov r9d, dword [r12]
and r9d, 0x1c0000
mov r8d, dword [rsp + 0x60]
cmp r8b, 8
je 0x14015ad48
mov edx, 0x40000000
mov ecx, dword [rsp + 0x50]
call fcn.140158a40
test al, al
jne 0x14015ad48
xor edx, edx
jmp 0x14015ad4d
mov edx, 1
xor eax, eax
cmp r8b, 2
sete al
mov rcx, qword [r13 + 0x98]
sub rcx, rax
xor eax, eax
test r9d, r9d
setne al
add rax, 9
sub rcx, rax
mov rax, qword [r13 + 0x90]
sub rcx, qword [rax + 0x10]
sub rcx, qword [rbp - 0x70]
sub rcx, rdx
sub rcx, rbx
mov rdx, qword [rbp - 0x80]
add rcx, rdx
call fcn.1401589f0
test al, al
je 0x14015ade8
mov ecx, dword [rsp + 0x50]
cmp byte [rsp + 0x60], 1
jne 0x14015ae17
mov eax, dword [r14]
and eax, 0xff000fff
cmp eax, 0x1000021
je 0x14015ae09
xor eax, eax
cmp esi, 4
mov r8d, 0x40000000
cmovae eax, r8d
or ecx, eax
mov dword [rsp + 0x50], ecx
add edi, 0x8a
mov dword [rbp + 0x70], edi
mov r8, r12
jmp 0x140159062
mov rax, qword [rbp - 0x80]
mov rcx, rax
call fcn.1401589f0
test al, al
jne 0x14015ad94
mov rdx, qword [rbp - 0x80]
mov eax, 0xffffffff
cmp rdx, rax
seta al
test al, al
je 0x14015ad94
add edi, 0xa0
mov dword [rbp + 0x70], edi
mov edi, dword [r12]
jmp 0x14015b262
mov eax, 0x80000000
or ecx, eax
add esi, 4
mov dword [rsp + 0x50], ecx
add edi, 0x8a
mov dword [rbp + 0x70], edi
mov r8, r12
jmp 0x140159062
cmp r13d, 0xa
jne 0x14015b04f
mov esi, dword [r12 + 4]
mov qword [rsp + 0x58], r14
mov eax, dword [r12]
mov ecx, eax
shr ecx, 0x18
mov dword [rsp + 0x54], ecx
and eax, 0xff000fff
cmp eax, 0x2000599
jne 0x14015ae7f
movzx eax, byte [r14 + 3]
and eax, 0xf
lea rcx, [0x140000000]
mov eax, dword [rcx + rax*4 + 0x2cde40]
or eax, 0x8c
mov dword [rbp + 0x70], eax
mov eax, 0xffffffff
add esi, eax
jmp 0x14015905f
mov dword [rbp + 0x70], 0
mov edi, ecx
and edi, 0xf
lea rax, [0x140000000]
mov edi, dword [rax + rdi*4 + 0x2cde80]
mov dword [rbp + 0x70], edi
test esi, esi
jne 0x14015aff1
mov rcx, r14
call fcn.14015f070
test al, al
jne 0x14015aff1
mov r13, qword [rbp + 0x60]
mov ecx, dword [rsp + 0x50]
test byte [r13 + 0x48], 1
je 0x14015aed9
mov edx, 0x300
call fcn.140158a40
xor al, 1
mov r8d, dword [rsp + 0x54]
jmp 0x14015afdc
mov eax, dword [r14]
and eax, 0xc000
mov dword [rsp + 0x60], eax
cmp eax, 0x8000
je 0x14015aff5
mov edx, 0x300
call fcn.140158a40
test al, al
jne 0x14015aff5
mov rcx, r14
call fcn.14015f0d0
mov qword [rbp - 0x80], rax
mov rcx, qword [r13 + 0x30]
mov rcx, qword [rcx + 0x28]
mov qword [rbp - 0x70], rcx
cmp dword [rsp + 0x60], 0
jne 0x14015afbc
cmp rcx, 0xffffffffffffffff
je 0x14015afbc
mov rcx, r14
call fcn.14015f090
test al, al
jne 0x14015afb8
mov r9d, dword [r14]
and r9d, 0x1c0000
mov r8d, dword [rsp + 0x54]
cmp r8b, 8
je 0x14015af66
mov edx, 0x40000000
mov ecx, dword [rsp + 0x50]
call fcn.140158a40
test al, al
jne 0x14015af66
xor edx, edx
jmp 0x14015af6b
mov edx, 1
xor eax, eax
test r9d, r9d
setne al
add rax, 9
mov rcx, qword [r13 + 0x98]
sub rcx, rax
xor eax, eax
cmp r8b, 2
sete al
sub rcx, rax
mov rax, qword [r13 + 0x90]
sub rcx, qword [rax + 0x10]
sub rcx, qword [rbp - 0x70]
sub rcx, rdx
sub rcx, rbx
mov rdx, qword [rbp - 0x80]
add rcx, rdx
call fcn.1401589f0
test al, al
je 0x14015afd1
mov ecx, dword [rsp + 0x50]
jmp 0x14015affa
mov rax, qword [rbp - 0x80]
mov rcx, rax
call fcn.1401589f0
mov r8d, dword [rsp + 0x54]
test al, al
jne 0x14015afb2
mov rdx, qword [rbp - 0x80]
mov eax, 0xffffffff
cmp rdx, rax
seta al
test al, al
je 0x14015afb2
add edi, 0xa2
mov dword [rbp + 0x70], edi
mov edi, dword [r14]
jmp 0x14015b262
mov ecx, dword [rsp + 0x50]
mov r8d, dword [rsp + 0x54]
cmp r8b, 1
jne 0x14015b041
mov eax, dword [r12]
and eax, 0xff000fff
cmp eax, 0x1000021
je 0x14015b033
xor eax, eax
cmp esi, 4
mov r8d, 0x40000000
cmovae eax, r8d
or ecx, eax
mov dword [rsp + 0x50], ecx
add edi, 0x88
mov dword [rbp + 0x70], edi
jmp 0x14015905f
mov eax, 0x80000000
or ecx, eax
add esi, 4
mov dword [rsp + 0x50], ecx
add edi, 0x88
mov dword [rbp + 0x70], edi
jmp 0x14015905f
cmp r13d, 0x19
jne 0x14015b140
mov esi, dword [r14 + 4]
movzx r11d, byte [r14 + 3]
mov dword [rbp + 0x78], r11d
cmp r11b, 1
jne 0x14015b0ad
mov eax, dword [r14]
and eax, 0xff000fff
cmp eax, 0x1000021
je 0x14015b08c
xor eax, eax
cmp esi, 4
mov ecx, 0x40000000
cmovae eax, ecx
or edx, eax
jmp 0x14015b096
mov eax, 0x80000000
or edx, eax
add esi, 4
mov dword [rsp + 0x50], edx
mov edi, 0xb0
mov dword [rbp + 0x70], edi
movzx r15d, byte [r12 + 8]
jmp 0x14015bd4e
mov rcx, r12
call fcn.14015f1b0
mov r15, rax
mov r8d, dword [rbp + 0x78]
cmp r8b, 8
jne 0x14015b0f7
mov edx, 0x20
mov ecx, dword [rsp + 0x50]
call fcn.140158a40
test al, al
jne 0x14015b0f7
mov eax, 0xffffffff
cmp r15, rax
ja 0x14015b11b
mov edx, 1
mov rcx, qword [rbp + 0x60]
call fcn.14015f080
test al, al
je 0x14015b117
mov r8b, 4
mov dword [rbp + 0x78], r8d
mov dword [rbp + 0x70], 0xb8
movzx edx, r8b
lea rcx, [rbp + 0x70]
call fcn.1401589b0
mov edi, dword [rbp + 0x70]
mov edx, dword [rsp + 0x50]
jmp 0x14015bd4a
mov r8d, dword [rbp + 0x78]
mov rcx, r15
call fcn.1401589f0
test al, al
je 0x14015b0f7
mov r10d, esi
mov edi, 0x80000c7
mov dword [rbp + 0x70], edi
xor esi, esi
mov r11b, 4
mov edx, dword [rsp + 0x50]
jmp 0x140159372
cmp r13d, 0x1a
jne case.default.0x140158e37
movzx edx, byte [r14 + 3]
mov dword [rsp + 0x60], edx
test edx, edx
je 0x14015bc4f
xor eax, eax
cmp edx, 1
setne al
add eax, 0xc6
mov dword [rbp + 0x70], eax
lea rcx, [rbp + 0x70]
call fcn.1401589d0
xor esi, esi
mov qword [rsp + 0x58], r14
mov rcx, r12
call fcn.14015f1b0
mov r15, rax
mov r9d, 4
mov dword [rbp + 0x78], r9d
lea rdx, [rbp + 0x78]
lea rcx, [rsp + 0x60]
call fcn.140158a30
mov dword [rbp + 0x78], eax
jmp 0x14015905f
cmp r13d, 0x11
jne 0x14015b20d
mov ecx, dword [r14 + 4]
mov qword [rsp + 0x58], r12
movzx eax, byte [r14 + 3]
and eax, 0xf
lea r9, [0x140000000]
mov eax, dword [r9 + rax*4 + 0x2cde80]
or eax, 0xa0
mov dword [rbp + 0x70], eax
test dword [r14], 0xf00
jne case.default.0x140158e37
test ecx, ecx
jne case.default.0x140158e37
mov edi, dword [r12]
test edi, 0x1ff8
jne 0x14015b203
mov eax, edi
and eax, 0xc000
cmp eax, 0x8000
jne 0x14015b262
mov eax, 0x2b
jmp 0x140158ec2
cmp r13d, 0xa
jne 0x14015b2b6
mov ecx, dword [r12 + 4]
mov qword [rsp + 0x58], r14
movzx eax, byte [r12 + 3]
and eax, 0xf
lea r9, [0x140000000]
mov eax, dword [r9 + rax*4 + 0x2cde80]
or eax, 0xa2
mov dword [rbp + 0x70], eax
test dword [r12], 0xf00
jne case.default.0x140158e37
test ecx, ecx
jne case.default.0x140158e37
mov edi, dword [r14]
test edi, 0x1ff8
jne 0x14015b203
mov rcx, qword [rsp + 0x58]
call fcn.14015f0d0
mov r15, rax
mov rsi, qword [rbp + 0x60]
movzx r11d, byte [rsi + 0x48]
not r11b
and r11b, 1
inc r11b
shl r11b, 2
mov eax, edi
shr rax, 0x12
and eax, 7
lea rcx, [0x140000000]
movzx eax, byte [rax + rcx + 0x2cd758]
mov byte [rbx], al
xor ecx, ecx
test al, al
setne cl
add rbx, rcx
mov edi, dword [rbp + 0x70]
mov edx, dword [rsp + 0x50]
jmp 0x14015a0f5
cmp r13d, 0x19
jne case.default.0x140158e37
mov eax, dword [r14]
and eax, 0xff000fff
cmp eax, 0x8000039
jne case.default.0x140158e37
mov esi, dword [r14 + 4]
mov r11b, 8
mov r15d, dword [r12 + 0xc]
shl r15, 0x20
mov eax, dword [r12 + 8]
or r15, rax
mov edi, 0x80000b8
mov dword [rbp + 0x70], edi
jmp 0x14015bd4e
movzx r8d, byte [r12 + 3]
movzx ecx, byte [r14 + 3]
and ecx, 0xf
xor eax, eax
cmp r8b, 1
setne al
add eax, edi
lea r9, [0x140000000]
or eax, dword [r9 + rcx*4 + 0x2cde40]
mov edi, eax
mov dword [rbp + 0x70], eax
cmp r13d, 9
jne 0x14015947d
mov esi, dword [r14 + 4]
mov r10d, dword [r12 + 4]
cmp r8b, 1
jne 0x14015936e
jmp 0x140159ba9
cmp r13d, 0xa
jne case.default.0x140158e37
mov eax, dword [r12]
and eax, 0xff000fff
xor ecx, ecx
cmp eax, 0x8000039
cmove ecx, dword [rsp + 0x54]
or ecx, edi
mov dword [rbp + 0x70], ecx
mov esi, dword [r12 + 4]
jmp 0x14015905a
cmp r13d, 0x12
jne case.default.0x140158e37
mov edx, dword [r14]
mov ecx, edx
shr ecx, 3
and cl, 0x1f
mov eax, dword [r12]
shr eax, 3
and al, 0x1f
cmp cl, al
jne case.default.0x140158e37
test edx, 0x1f00
jne case.default.0x140158e37
mov esi, dword [r14 + 4]
xor eax, eax
test cl, cl
cmove eax, esi
or eax, dword [r14 + 0xc]
jne case.default.0x140158e37
and edx, 0x1c0000
je 0x14015948b
cmp edx, 0x40000
jne case.default.0x140158e37
mov r8, r12
mov qword [rsp + 0x58], r12
jmp 0x140159062
cmp r13d, 0xb
jne 0x14015b445
cmp dword [r12 + 4], 0
jne case.default.0x140158e37
mov rax, qword [rsp + 0x68]
lea r11, [0x140000000]
movzx ecx, byte [r11 + rax*8 + 0x2d0737]
xor eax, eax
cmp byte [r12 + 3], 1
setne al
mov edi, dword [r11 + rcx*4 + 0x2d6360]
add edi, eax
xor eax, eax
mov r11d, 0x200000
cmp byte [r12 + 3], 2
cmove eax, r11d
or edi, eax
mov dword [rbp + 0x70], edi
movzx r15d, byte [r14 + 8]
mov r11b, 1
mov edx, dword [rsp + 0x50]
jmp 0x14015a0f1
cmp r13d, 9
jne case.default.0x140158e37
cmp dword [r14 + 4], 2
jne case.default.0x140158e37
cmp dword [r12 + 4], 0
jne case.default.0x140158e37
xor edx, edx
cmp byte [r12 + 3], 1
setne dl
add edx, edi
xor eax, eax
mov r11d, 0x200000
cmp byte [r12 + 3], 2
jmp 0x14015a0de
cmp r13d, 0x11
jne case.default.0x140158e37
cmp dword [r14 + 4], 2
jne case.default.0x140158e37
mov edx, dword [r12]
mov r8d, edx
shr r8d, 0x18
mov eax, edx
and al, 7
cmp al, 2
jne case.default.0x140158e37
mov ecx, dword [r12 + 4]
cmp ecx, 6
jne case.default.0x140158e37
mov eax, edx
shr eax, 3
test al, 0x1f
mov eax, 0
cmove eax, ecx
or eax, dword [r12 + 0xc]
jne case.default.0x140158e37
test r8b, r8b
je 0x14015bc4f
mov rsi, r12
jmp 0x14015a253
cmp r13d, 1
jne 0x14015b530
mov eax, dword [r14]
mov r8d, eax
shr r8d, 0x18
and eax, 0xff000fff
cmp eax, 0x2000599
jne 0x14015b5da
mov eax, dword [r14 + 4]
cmp eax, 7
jae 0x14015b5d0
mov edi, eax
lea rax, [0x140000000]
mov edi, dword [rax + rdi*4 + 0x2cd760]
mov dword [rbp + 0x70], edi
jmp case.0x140158e37.1
cmp r13d, 3
jne 0x14015b61b
mov r15d, dword [r14 + 0xc]
shl r15, 0x20
mov eax, dword [r14 + 8]
or r15, rax
mov r11b, 4
lea rax, [r15 + 0x80]
cmp rax, 0xff
ja 0x14015b56f
mov eax, edx
shr eax, 5
test al, 1
movzx r11d, r11b
mov ecx, 1
cmove r11d, ecx
mov edi, 0x68
mov eax, 0x6a
cmp r11b, 1
cmove edi, eax
mov dword [rbp + 0x70], edi
jmp 0x14015a0f1
cmp r13d, 1
jne 0x14015b61b
mov ecx, dword [r14]
mov r8d, ecx
shr r8d, 0x18
and ecx, 0xff000fff
cmp ecx, 0x2000599
jne 0x14015b5da
mov eax, dword [r14 + 4]
cmp eax, 2
je 0x14015b5d0
cmp eax, 7
jae 0x14015b5d0
mov edi, eax
lea rax, [0x140000000]
mov edi, dword [rax + rdi*4 + 0x2cd780]
mov dword [rbp + 0x70], edi
jmp case.0x140158e37.1
mov eax, 0x31
jmp 0x140158ec2
cmp r8b, 2
jb case.default.0x140158e37
mov rax, qword [rsp + 0x68]
lea rcx, [0x140000000]
movzx eax, byte [rcx + rax*8 + 0x2d0737]
xor edi, edi
mov r11d, 0x200000
cmp r8b, 2
cmove edi, r11d
or edi, dword [rcx + rax*4 + 0x2d6360]
mov dword [rbp + 0x70], edi
mov esi, dword [r14 + 4]
jmp 0x14015bd4a
cmp r13d, 2
jne case.default.0x140158e37
movzx edx, byte [r14 + 3]
test dl, dl
je 0x14015bc4f
cmp dl, r13b
je 0x14015b650
movzx ecx, byte [r11 + 0x48]
not cl
and ecx, 1
lea ecx, [rcx*4 + 4]
cmp edx, ecx
jne case.default.0x140158e37
xor eax, eax
mov r11d, 0x200000
cmp dl, 2
cmove eax, r11d
or edi, eax
mov dword [rbp + 0x70], edi
jmp 0x14015905a
test r13d, r13d
jne 0x14015b678
inc edi
mov dword [rbp + 0x70], edi
jmp case.0x140158e37.1
cmp r13d, 3
jne case.default.0x140158e37
mov r15d, dword [r14 + 0xc]
shl r15, 0x20
mov eax, dword [r14 + 8]
or r15, rax
jne 0x14015b6a6
mov eax, edx
shr eax, 5
test al, 1
jne 0x14015b6a6
inc edi
mov dword [rbp + 0x70], edi
jmp case.0x140158e37.1
mov r11b, 2
jmp 0x14015a0f1
mov r8d, dword [r14]
movzx ecx, byte [r14 + 3]
mov eax, r8d
and al, 7
cmp al, 1
jne 0x14015b766
mov eax, ecx
and eax, 0xf
lea r9, [0x140000000]
or edi, dword [r9 + rax*4 + 0x2cde80]
mov dword [rbp + 0x70], edi
mov r10d, dword [r14 + 4]
cmp cl, 1
jne 0x14015b714
and r8d, 0xff000fff
cmp r8d, 0x1000021
je 0x14015b705
xor eax, eax
cmp r10d, 4
mov ecx, 0x40000000
cmovae eax, ecx
or edx, eax
jmp 0x14015b710
mov eax, 0x80000000
or edx, eax
add r10d, 4
mov dword [rsp + 0x50], edx
cmp r13d, 9
jne 0x14015b731
cmp dword [r12 + 4], 1
jne case.default.0x140158e37
add edi, 2
mov dword [rbp + 0x70], edi
jmp 0x14015936e
cmp r13d, 0x19
jne case.default.0x140158e37
movzx r15d, byte [r12 + 8]
xor r11b, r11b
cmp r15, 1
jne 0x14015b758
mov eax, edx
shr eax, 5
test r15b, al
je 0x140159372
add edi, 0xfffffff0
mov dword [rbp + 0x70], edi
mov r11b, 1
jmp 0x140159372
test cl, cl
je 0x14015bc4f
and ecx, 0xf
lea rax, [0x140000000]
or edi, dword [rax + rcx*4 + 0x2cde80]
mov dword [rbp + 0x70], edi
cmp r13d, 0xa
jne 0x14015b79f
cmp dword [r12 + 4], 1
jne case.default.0x140158e37
add edi, 2
mov dword [rbp + 0x70], edi
jmp 0x14015905a
cmp r13d, 0x1a
jne case.default.0x140158e37
mov r8, r14
mov qword [rsp + 0x58], r14
movzx r15d, byte [r12 + 8]
xor al, al
mov dword [rbp + 0x78], eax
cmp r15, 1
jne 0x14015b7d7
lea edx, [r13 + 6]
mov ecx, dword [rsp + 0x50]
call fcn.140158a40
test al, al
je 0x140159062
add edi, 0xfffffff0
mov dword [rbp + 0x70], edi
mov al, 1
mov dword [rbp + 0x78], eax
jmp 0x140159062
cmp r13d, 1
jne case.0x140158e37.14
mov r10d, dword [r14 + 4]
mov eax, dword [r14]
jmp 0x140159bad
cmp r13d, 0xc9
jne 0x14015b83f
movzx eax, byte [r14 + 3]
and eax, 0xf
lea rcx, [0x140000000]
or edi, dword [rcx + rax*4 + 0x2cde40]
mov dword [rbp + 0x70], edi
mov esi, dword [r12 + 4]
mov r10d, dword [r14 + 4]
mov r15d, dword [r9 + 0xc]
shl r15, 0x20
mov eax, dword [r9 + 8]
or r15, rax
mov r11b, 1
jmp 0x140159372
cmp r13d, 0xca
jne 0x14015b880
movzx eax, byte [r12 + 3]
and eax, 0xf
lea rcx, [0x140000000]
or edi, dword [rcx + rax*4 + 0x2cde40]
mov dword [rbp + 0x70], edi
mov esi, dword [r12 + 4]
mov r15d, dword [r9 + 0xc]
shl r15, 0x20
mov eax, dword [r9 + 8]
or r15, rax
mov al, 1
mov dword [rbp + 0x78], eax
jmp 0x14015905a
inc edi
mov dword [rbp + 0x70], edi
cmp r13d, 0x49
jne 0x14015b8b9
cmp dword [r9 + 4], 1
jne case.default.0x140158e37
movzx eax, byte [r14 + 3]
and eax, 0xf
lea rcx, [0x140000000]
or edi, dword [rcx + rax*4 + 0x2cde40]
mov dword [rbp + 0x70], edi
mov esi, dword [r12 + 4]
jmp 0x14015936a
cmp r13d, 0x4a
jne case.default.0x140158e37
cmp dword [r9 + 4], 1
jne case.default.0x140158e37
movzx edx, byte [r12 + 3]
lea rcx, [rbp + 0x70]
call fcn.1401589d0
mov esi, dword [r12 + 4]
jmp 0x14015905a
cmp r13d, 0x11
jne case.default.0x140158e37
mov rsi, r12
cmp dword [r12 + 0xc], 0
jne case.default.0x140158e37
mov eax, dword [r14]
mov edx, eax
shr edx, 0x18
and eax, 0xf07
cmp eax, 1
sete cl
cmp dword [r14 + 4], 0
sete al
test al, cl
je case.default.0x140158e37
movzx eax, byte [r12 + 3]
test al, al
je 0x14015b935
cmp al, dl
jne 0x14015bcba
and edx, 0xf
lea rax, [0x140000000]
or edi, dword [rax + rdx*4 + 0x2cde80]
mov dword [rbp + 0x70], edi
jmp 0x14015ba1d
cmp r13d, 0xa
jne case.default.0x140158e37
mov rsi, r14
cmp dword [r14 + 0xc], 0
jne case.default.0x140158e37
mov eax, dword [r12]
mov edx, eax
shr edx, 0x18
and eax, 0xf07
cmp eax, 1
sete cl
cmp dword [r12 + 4], 0
sete al
test al, cl
je case.default.0x140158e37
movzx eax, byte [r14 + 3]
test al, al
je 0x14015b99c
cmp al, dl
jne 0x14015bcba
and edx, 0xf
lea rax, [0x140000000]
or edi, dword [rax + rdx*4 + 0x2cde80]
mov dword [rbp + 0x70], edi
mov edx, dword [r14]
jmp 0x14015ba21
cmp r13d, 0x12
jne case.default.0x140158e37
mov ecx, dword [r14]
mov r8d, ecx
shr r8d, 3
mov edx, dword [r12]
mov eax, edx
shr eax, 3
xor eax, r8d
test eax, 0x3ff
jne case.default.0x140158e37
mov rsi, r12
test r8b, 0x1f
mov eax, 0
cmove eax, dword [r14 + 4]
or eax, dword [r14 + 0xc]
jne case.default.0x140158e37
shr edx, 0x18
test edx, edx
je 0x14015bc4f
shr ecx, 0x18
cmp ecx, edx
jne 0x14015bcba
lea rcx, [rbp + 0x70]
call fcn.140158990
mov edi, dword [rbp + 0x70]
mov edx, dword [r12]
mov ecx, edx
mov eax, ecx
shr rax, 3
and eax, 0x3ff
lea r9, [0x140000000]
movzx r8d, byte [rax + r9 + 0x2cd7a0]
shr ecx, 3
test cl, 0x1f
mov eax, 0
cmove eax, dword [rsi + 4]
or eax, dword [rsi + 0xc]
jne case.default.0x140158e37
test r8b, 2
jne case.default.0x140158e37
shr edi, 0x15
and edi, 7
mov eax, edi
lea rdi, [0x140000000]
movzx eax, byte [rax + rdi + 0x2cd750]
mov byte [rbx], al
mov eax, 0
setne al
add rax, rbx
mov edx, dword [rbp + 0x70]
or edx, dword [rsp + 0x50]
shr edx, 0x18
cmp edx, 0x80
ja 0x140159128
and edx, 0x7f
movzx ecx, dl
or cl, 0x40
mov byte [rax], cl
xor ecx, ecx
test edx, edx
setne cl
add rcx, rax
mov edx, dword [rsi]
shr rdx, 0x12
and edx, 7
movzx edx, byte [rdx + rdi + 0x2cd758]
mov byte [rcx], dl
xor eax, eax
test dl, dl
setne al
add rax, rcx
mov rsi, qword [rbp + 0x60]
mov ecx, dword [rsi + 0x28]
mov byte [rax], 0x67
test r8d, ecx
mov ecx, 0
setne cl
add rcx, rax
mov r9d, dword [rbp + 0x70]
mov eax, r9d
shr rax, 8
and eax, 0x1f
lea r8, [rdi + 0x2cd710]
lea r8, [r8 + rax*4]
movzx edx, byte [r8]
movzx eax, byte [r8 + 1]
mov byte [rcx], al
xor eax, eax
test dl, dl
setne al
add rax, rcx
movzx edx, byte [r8]
movzx ecx, byte [r8 + 2]
mov byte [rax], cl
xor ebx, ebx
cmp dl, 1
seta bl
add rbx, rax
mov byte [rbx], r9b
inc rbx
mov r11d, dword [rbp + 0x78]
jmp 0x14015a500
cmp r13d, 9
je 0x140159aa6
cmp r13d, 0xa
je 0x140159677
mov rax, qword [rsp + 0x68]
lea r10, [0x140000000]
movzx eax, byte [r10 + rax*8 + 0x2d0737]
mov edi, dword [r10 + rax*4 + 0x2d6360]
mov dword [rbp + 0x70], edi
mov esi, edi
shr esi, 0x12
and esi, 7
cmp r13d, 0x19
jne 0x14015bc3c
movzx ecx, byte [r14 + 3]
mov eax, ecx
and eax, 0xf
or edi, dword [r10 + rax*4 + 0x2cde80]
mov dword [rbp + 0x70], edi
mov r10d, dword [r14 + 4]
cmp cl, 1
jne 0x14015bbe6
mov eax, dword [r14]
and eax, 0xff000fff
cmp eax, 0x1000021
je 0x14015bbcc
xor eax, eax
cmp r10d, 4
mov r8d, 0x40000000
cmovae eax, r8d
or edx, eax
mov dword [rsp + 0x50], edx
movzx r15d, byte [r12 + 8]
movzx r11d, cl
jmp 0x14015bc07
mov eax, 0x80000000
or edx, eax
add r10d, 4
mov dword [rsp + 0x50], edx
movzx r15d, byte [r12 + 8]
mov r11b, 1
jmp 0x14015bc07
mov r15d, dword [r12 + 0xc]
shl r15, 0x20
mov eax, dword [r12 + 8]
or r15, rax
mov r11d, ecx
cmp ecx, 4
mov r9d, 4
cmova r11d, r9d
test r10d, r10d
jne 0x140159372
mov eax, edx
shr eax, 5
test al, 1
jne 0x140159372
xor eax, eax
cmp cl, 1
setne al
add eax, 0xa8
and edi, 0x8200000
or eax, edi
mov edi, eax
mov dword [rbp + 0x70], eax
jmp 0x14015a0f1
cmp r13d, 0x1a
jne case.default.0x140158e37
movzx eax, byte [r14 + 3]
test al, al
jne 0x14015bc59
mov eax, 0x34
jmp 0x140158ec2
mov edx, eax
lea rcx, [rbp + 0x70]
call fcn.140158990
mov qword [rsp + 0x58], r14
mov rcx, r12
call fcn.14015f1b0
mov r15, rax
movzx eax, byte [r14 + 3]
mov dword [rsp + 0x60], eax
jmp 0x14015b186
cmp r13d, 0x11
jne case.0x140158e37.61
movzx ecx, byte [r14 + 3]
mov eax, ecx
and eax, 0xf
jmp 0x140159610
cmp r13d, 9
jne 0x140159b43
mov r10d, dword [r14 + 4]
mov esi, dword [r12 + 4]
movzx r8d, byte [r14 + 3]
movzx eax, byte [r12 + 3]
cmp r8d, eax
je 0x14015bcc4
mov eax, 0x35
jmp 0x140158ec2
cmp r8d, 1
je 0x140159adf
cmp dword [rsp + 0x68], 0x6a3
jne 0x14015be4b
test esi, esi
je 0x14015bce9
test r10d, r10d
jne 0x14015be4b
movzx eax, byte [r11 + 0x48]
not al
test al, 1
je 0x14015bd0f
cmp esi, r10d
jne 0x14015bd0f
cmp r8d, 4
jb 0x14015bd0f
cmp r8d, 8
jne 0x14015be4b
and edi, dword [rsp + 0x54]
jmp 0x14015bd41
mov edx, 0x20
mov ecx, dword [rsp + 0x50]
call fcn.140158a40
test al, al
jne 0x14015be4b
add esi, r10d
mov edx, r8d
lea rcx, [rbp + 0x70]
call fcn.140158990
mov edi, dword [rbp + 0x70]
and edi, 0x8200000
mov edx, dword [rsp + 0x50]
or edi, 0x90
mov dword [rbp + 0x70], edi
mov r11d, dword [rbp + 0x78]
shr edi, 0x15
and edi, 7
mov eax, edi
lea rdi, [0x140000000]
movzx eax, byte [rax + rdi + 0x2cd750]
mov byte [rbx], al
mov eax, 0
setne al
add rax, rbx
mov r8d, dword [rbp + 0x70]
or r8d, edx
shr r8d, 0x15
or r8d, esi
shr r8d, 3
cmp r8d, 0x80
ja 0x140159128
and r8d, 0x7f
movzx ecx, r8b
or cl, 0x40
mov byte [rax], cl
xor ecx, ecx
test r8d, r8d
setne cl
add rcx, rax
and esi, 7
mov edx, dword [rbp + 0x70]
add edx, esi
mov r9d, edx
mov dword [rbp + 0x70], edx
mov eax, r9d
shr rax, 8
and eax, 0x1f
lea r8, [rdi + 0x2cd710]
lea r8, [r8 + rax*4]
movzx edx, byte [r8]
movzx eax, byte [r8 + 1]
mov byte [rcx], al
xor eax, eax
test dl, dl
setne al
add rax, rcx
movzx edx, byte [r8]
movzx ecx, byte [r8 + 2]
mov byte [rax], cl
xor ebx, ebx
cmp dl, 1
seta bl
add rbx, rax
mov byte [rbx], r9b
inc rbx
cmp r11b, 4
movzx eax, r11b
jb 0x14015be16
mov dword [rbx], r15d
add rbx, 4
shr r15, 0x20
lea eax, [r11 - 4]
test al, al
je 0x14015a4fc
mov byte [rbx], r15b
inc rbx
shr r15, 8
add al, 0xff
je 0x14015a4fc
mov byte [rbx], r15b
inc rbx
shr r15, 8
add al, 0xff
je 0x14015a4fc
mov rsi, qword [rbp + 0x60]
jmp 0x14015a1d8
mov eax, r8d
and eax, 0xf
lea rcx, [0x140000000]
or edi, dword [rcx + rax*4 + 0x2cde80]
mov dword [rbp + 0x70], edi
mov edx, dword [rsp + 0x50]
jmp 0x14015936e
xor r10d, r10d
jmp 0x14015936e
cmp r13d, 9
jne 0x14015bebc
mov esi, dword [r14 + 4]
mov r10d, dword [r12 + 4]
mov eax, edx
shr eax, 8
test al, 1
je 0x14015936e
mov rax, qword [rsp + 0x68]
lea r11, [0x140000000]
movzx edi, byte [r11 + rax*8 + 0x2d0737]
mov edi, dword [r11 + rdi*4 + 0x2d6360]
mov dword [rbp + 0x70], edi
mov eax, esi
mov esi, r10d
mov r10d, eax
jmp 0x14015936e
cmp r13d, 0x11
jne 0x14015bed3
mov esi, dword [r14 + 4]
mov r8, r12
mov qword [rsp + 0x58], r12
jmp 0x140159062
cmp r13d, 0xa
jne case.default.0x140158e37
mov rax, qword [rsp + 0x68]
lea rcx, [0x140000000]
movzx eax, byte [rcx + rax*8 + 0x2d0737]
mov eax, dword [rcx + rax*4 + 0x2d6360]
mov dword [rbp + 0x70], eax
mov esi, dword [r12 + 4]
jmp 0x14015905a
cmp r13d, 9
jne 0x14015bf36
mov ecx, dword [r14 + 4]
mov eax, dword [r12 + 4]
mov qword [rsp + 0x58], rax
test ecx, ecx
je 0x14015bf55
test eax, eax
jne case.default.0x140158e37
movzx edi, dil
add edi, 0x37000
add edi, ecx
jmp 0x14015c15f
cmp r13d, 2
je 0x14015bf78
jmp case.default.0x140158e37
test r13d, r13d
je 0x14015bf55
cmp r13d, 1
jne 0x14015bf6e
mov eax, dword [r14 + 4]
mov qword [rsp + 0x58], rax
shr edi, 0xa
movzx eax, dil
mov rdi, qword [rsp + 0x58]
add edi, 0x36000
add edi, eax
jmp 0x14015c15f
cmp r13d, 2
jne case.default.0x140158e37
mov eax, 0xdc
mov ecx, 0xd8
cmp byte [r14 + 3], 4
cmove eax, ecx
mov dword [rbp + 0x70], eax
jmp 0x14015905a
cmp r13d, 2
jne 0x14015c022
mov qword [rsp + 0x58], r14
movzx eax, byte [r14 + 3]
cmp al, 4
jne 0x14015bfc0
mov rax, qword [rbp - 0x78]
mov eax, dword [rax]
shr eax, 0xc
test al, 1
jne 0x14015905f
jmp case.default.0x140158e37
cmp al, 8
jne 0x14015bfe0
mov rax, qword [rbp - 0x78]
mov eax, dword [rax]
shr eax, 0xd
test al, 1
je case.default.0x140158e37
add edi, 4
mov dword [rbp + 0x70], edi
jmp 0x14015905f
cmp al, 0xa
jne case.default.0x140158e37
mov rax, qword [rbp - 0x78]
mov eax, dword [rax]
shr eax, 0xb
test al, 1
je case.default.0x140158e37
mov rax, qword [rsp + 0x68]
lea rcx, [0x140000000]
movzx eax, byte [rcx + rax*8 + 0x2d0737]
mov esi, dword [rcx + rax*4 + 0x2d6360]
mov dword [rbp + 0x70], esi
shr esi, 0x12
and esi, 7
jmp 0x14015905f
cmp r13d, 1
jne case.default.0x140158e37
mov rsi, qword [rsp + 0x68]
cmp esi, 0xe2
jne 0x14015c048
mov edi, dword [r14 + 4]
add edi, 0x364c0
jmp 0x14015c15f
cmp esi, 0x100
jne 0x14015c05f
mov edi, dword [r14 + 4]
add edi, 0x374d0
jmp 0x14015c15f
cmp esi, 0x103
jne case.default.0x140158e37
mov edi, dword [r14 + 4]
add edi, 0x374d8
jmp 0x14015c15f
cmp r13d, 2
jne case.default.0x140158e37
and edi, 0xffff1fff
mov dword [rbp + 0x70], edi
mov qword [rsp + 0x58], r14
movzx ecx, byte [r14 + 3]
cmp cl, r13b
jne 0x14015c0b8
mov rax, qword [rbp - 0x78]
mov eax, dword [rax]
shr eax, 0xb
test al, 1
je case.default.0x140158e37
add edi, 4
mov dword [rbp + 0x70], edi
jmp 0x14015905f
mov rdx, qword [rbp - 0x78]
cmp cl, 4
jne 0x14015c0ce
mov eax, dword [rdx]
shr eax, 0xc
test al, 1
jne 0x14015905f
cmp cl, 8
jne case.default.0x140158e37
mov eax, dword [rdx]
shr eax, 0xd
test al, 1
je case.default.0x140158e37
mov rax, qword [rsp + 0x68]
lea rcx, [0x140000000]
movzx eax, byte [rcx + rax*8 + 0x2d0737]
mov esi, dword [rcx + rax*4 + 0x2d6360]
and esi, 0xffff1fff
mov dword [rbp + 0x70], esi
shr esi, 0x12
and esi, 7
jmp 0x14015905f
test r13d, r13d
jne case.0x140158e37.70
inc edi
jmp 0x14015c15f
cmp r13d, 1
jne case.default.0x140158e37
add edi, dword [r14 + 4]
jmp 0x14015c15f
cmp r13d, 1
jne 0x14015c198
cmp dword [r14 + 4], 0
jne case.default.0x140158e37
mov rax, qword [rsp + 0x68]
lea rcx, [0x140000000]
movzx edi, byte [rcx + rax*8 + 0x2d0737]
lea rax, [0x140000000]
mov edi, dword [rax + rdi*4 + 0x2d6360]
mov dword [rbp + 0x70], edi
shr edi, 0x15
and edi, 7
lea rcx, [0x140000000]
movzx eax, byte [rdi + rcx + 0x2cd750]
mov byte [rbx], al
mov eax, 0
setne al
add rbx, rax
mov eax, dword [rbp + 0x70]
shr eax, 0xa
mov byte [rbx], al
movzx eax, byte [rbp + 0x70]
mov byte [rbx + 1], al
jmp 0x14015a4f4
cmp r13d, 2
jne case.default.0x140158e37
and edi, 0xffff1fff
mov dword [rbp + 0x70], edi
jmp 0x14015905a
cmp r13d, 0xc9
jne 0x14015c1fa
mov eax, dword [r12]
and eax, 0xff000fff
xor ecx, ecx
mov r11d, 0x200000
cmp eax, 0x10000161
cmove ecx, r11d
or ecx, edi
mov edi, ecx
mov dword [rbp + 0x70], ecx
mov r15d, dword [r9 + 0xc]
shl r15, 0x20
mov eax, dword [r9 + 8]
or r15, rax
mov r11b, 1
mov esi, dword [r14 + 4]
mov r10d, dword [r12 + 4]
jmp 0x140159372
cmp r13d, 0xca
jne case.default.0x140158e37
mov rax, qword [rsp + 0x68]
lea r8, [0x140000000]
movzx edx, byte [r8 + rax*8 + 0x2d0737]
mov eax, dword [r12]
and eax, 0xff000fff
xor ecx, ecx
mov r11d, 0x200000
cmp eax, 0x10000161
cmove ecx, r11d
or ecx, dword [r8 + rdx*4 + 0x2d6360]
mov dword [rbp + 0x70], ecx
mov r15d, dword [r9 + 0xc]
shl r15, 0x20
mov eax, dword [r9 + 8]
or r15, rax
mov al, 1
mov dword [rbp + 0x78], eax
mov esi, dword [r12 + 4]
jmp 0x14015905a
cmp r13d, 0xc9
jne 0x14015c2a9
mov eax, dword [r12]
and eax, 0xff000fff
xor ecx, ecx
mov r11d, 0x200000
cmp eax, 0x10000161
cmove ecx, r11d
or ecx, edi
mov edi, ecx
mov dword [rbp + 0x70], ecx
mov r15d, dword [r9 + 0xc]
shl r15, 0x20
mov eax, dword [r9 + 8]
or r15, rax
mov r11b, 1
mov esi, dword [r12 + 4]
mov r10d, dword [r14 + 4]
jmp 0x140159372
cmp r13d, 0xca
jne case.default.0x140158e37
mov eax, dword [r12]
and eax, 0xff000fff
xor ecx, ecx
mov r11d, 0x200000
cmp eax, 0x10000161
cmove ecx, r11d
or ecx, edi
mov dword [rbp + 0x70], ecx
mov r15d, dword [r9 + 0xc]
shl r15, 0x20
mov eax, dword [r9 + 8]
or r15, rax
mov al, 1
mov dword [rbp + 0x78], eax
mov esi, dword [r12 + 4]
jmp 0x14015905a
cmp r13d, 9
jne 0x14015c344
mov esi, dword [r14 + 4]
mov r10d, dword [r12 + 4]
mov eax, edx
shr eax, 8
test al, 1
je 0x14015936e
mov rax, qword [rsp + 0x68]
lea r11, [0x140000000]
movzx eax, byte [r11 + rax*8 + 0x2d0737]
test al, al
je 0x14015936e
mov edi, dword [r11 + rax*4 + 0x2d6360]
mov dword [rbp + 0x70], edi
mov eax, esi
mov esi, r10d
mov r10d, eax
jmp 0x14015936e
cmp r13d, 0x11
jne 0x14015c35b
mov esi, dword [r14 + 4]
mov r8, r12
mov qword [rsp + 0x58], r12
jmp 0x140159062
mov rax, qword [rsp + 0x68]
lea rcx, [0x140000000]
movzx eax, byte [rcx + rax*8 + 0x2d0737]
mov eax, dword [rcx + rax*4 + 0x2d6360]
mov dword [rbp + 0x70], eax
cmp r13d, 0xa
jne case.default.0x140158e37
mov esi, dword [r12 + 4]
jmp 0x14015905a
cmp r13d, 0x11
jne 0x14015c3c5
movzx eax, byte [r14 + 3]
cmp al, 1
je case.default.0x140158e37
and eax, 0xf
lea rcx, [0x140000000]
or edi, dword [rcx + rax*4 + 0x2cde40]
mov dword [rbp + 0x70], edi
mov esi, dword [r14 + 4]
mov r8, r12
mov qword [rsp + 0x58], r12
jmp 0x140159062
mov rax, qword [rsp + 0x68]
lea rdx, [0x140000000]
movzx eax, byte [rdx + rax*8 + 0x2d0737]
mov ecx, dword [rdx + rax*4 + 0x2d6360]
mov dword [rbp + 0x70], ecx
cmp r13d, 0xa
jne case.default.0x140158e37
movzx eax, byte [r12 + 3]
cmp al, 1
je case.default.0x140158e37
and eax, 0xf
or ecx, dword [rdx + rax*4 + 0x2cde40]
mov dword [rbp + 0x70], ecx
mov esi, dword [r12 + 4]
jmp 0x14015905a
cmp r13d, 9
jne 0x14015c4c3
mov esi, dword [r14 + 4]
mov r10d, dword [r12 + 4]
mov eax, dword [r14]
and eax, 0xff000fff
cmp eax, 0x8000391
jne 0x14015c476
mov eax, dword [r12]
and eax, 0xff000fff
cmp eax, 0x8000391
jne 0x14015c545
mov edi, 0x16f
mov dword [rbp + 0x70], edi
mov eax, edx
shr eax, 8
mov r11d, dword [rbp + 0x78]
test al, 1
je 0x140159372
mov edi, 0x17f
mov dword [rbp + 0x70], edi
mov eax, esi
mov esi, r10d
mov r10d, eax
jmp 0x140159372
cmp eax, 0x10000161
jne 0x14015c545
mov eax, dword [r12]
and eax, 0xff000fff
cmp eax, 0x10000161
jne 0x14015c545
mov edi, 0x40017e
mov dword [rbp + 0x70], edi
mov eax, edx
shr eax, 8
mov r11d, dword [rbp + 0x78]
test al, 1
je 0x140159372
mov edi, 0x2001d6
mov dword [rbp + 0x70], edi
mov eax, esi
mov esi, r10d
mov r10d, eax
jmp 0x140159372
cmp r13d, 0x11
jne 0x14015c503
mov esi, dword [r14 + 4]
mov r8, r12
mov qword [rsp + 0x58], r12
mov eax, dword [r14]
and eax, 0xff000fff
cmp eax, 0x8000391
jne 0x14015c4f0
mov dword [rbp + 0x70], 0x16f
jmp 0x140159062
cmp eax, 0x10000161
jne 0x14015c545
mov dword [rbp + 0x70], 0x40017e
jmp 0x140159062
cmp r13d, 0xa
jne 0x14015c545
mov esi, dword [r12 + 4]
mov r8, r14
mov qword [rsp + 0x58], r14
mov eax, dword [r12]
and eax, 0xff000fff
cmp eax, 0x8000391
jne 0x14015c532
mov dword [rbp + 0x70], 0x17f
jmp 0x140159062
cmp eax, 0x10000161
jne 0x14015c545
mov dword [rbp + 0x70], 0x2001d6
jmp 0x140159062
or edi, dword [rsp + 0x54]
mov esi, dword [r14 + 4]
mov r10d, esi
mov r9d, dword [r14]
mov eax, r9d
and eax, 0xff000fff
xor r8d, r8d
mov r11d, 0x200000
cmp eax, 0x10000161
cmove r8d, r11d
or r8d, edi
mov edi, r8d
mov dword [rbp + 0x70], r8d
cmp r13d, 9
jne 0x14015c595
mov eax, dword [r12]
and eax, 0xf07
cmp eax, 1
jne 0x14015c5a8
mov r10d, dword [r12 + 4]
jmp 0x14015936e
cmp r13d, 0x11
jne 0x14015c5a8
mov r8, r12
mov qword [rsp + 0x58], r12
jmp 0x140159062
mov esi, dword [r12 + 4]
mov rax, qword [rsp + 0x68]
lea rcx, [0x140000000]
movzx ecx, byte [rcx + rax*8 + 0x2d0737]
mov eax, dword [r12]
and eax, 0xff000fff
xor edi, edi
cmp eax, 0x10000161
cmove edi, r11d
lea rax, [0x140000000]
or edi, dword [rax + rcx*4 + 0x2d6360]
and r8d, dword [rsp + 0x54]
or edi, r8d
mov dword [rbp + 0x70], edi
cmp r13d, 9
jne 0x1401591b1
and r9d, 0xf07
cmp r9d, 1
jne case.default.0x140158e37
jmp 0x14015936e
mov eax, dword [r9]
test eax, eax
je 0x14015c632
and eax, 0xff000fff
cmp eax, 0x10000161
sete cl
cmp dword [r9 + 4], 0
sete al
test al, cl
je case.default.0x140158e37
and r13d, 0x3f
jmp case.0x140158e37.22
mov ecx, dword [r9]
test ecx, ecx
je 0x14015c632
mov eax, ecx
and al, 7
cmp al, 2
jne case.default.0x140158e37
mov r8d, dword [r9 + 4]
cmp r8d, 7
jne case.default.0x140158e37
shr ecx, 3
test cl, 0x1f
mov eax, 0
cmove eax, r8d
or eax, dword [r9 + 0xc]
jne case.default.0x140158e37
and r13d, 0x3f
jmp case.0x140158e37.22
xor eax, eax
cmp byte [r12 + 3], 8
cmove eax, dword [rsp + 0x54]
or edi, eax
mov eax, dword [r14]
and eax, 0xff000fff
xor ecx, ecx
cmp eax, 0x8000039
cmove ecx, dword [rsp + 0x54]
or ecx, edi
mov edi, ecx
mov dword [rbp + 0x70], ecx
jmp case.0x140158e37.22
cmp r13d, 9
jne 0x14015c6fb
mov eax, dword [r14]
and eax, 0xff000fff
xor edx, edx
mov r11d, 0x200000
cmp eax, 0x10000161
cmove edx, r11d
mov eax, dword [r12]
and eax, 0xff000fff
xor ecx, ecx
cmp eax, 0x10000161
cmove ecx, r11d
or edx, ecx
or edx, edi
mov edi, edx
mov dword [rbp + 0x70], edx
mov esi, dword [r14 + 4]
mov r10d, dword [r12 + 4]
mov edx, dword [rsp + 0x50]
jmp 0x14015936e
cmp r13d, 0x11
jne case.default.0x140158e37
mov eax, dword [r14]
and eax, 0xff000fff
xor ecx, ecx
mov r11d, 0x200000
cmp eax, 0x10000161
cmove ecx, r11d
or ecx, edi
mov dword [rbp + 0x70], ecx
mov esi, dword [r14 + 4]
mov r8, r12
mov qword [rsp + 0x58], r12
jmp 0x140159062
cmp r13d, 9
je 0x14015946f
cmp r13d, 0x11
jne 0x14015c755
mov esi, dword [r14 + 4]
mov r8, r12
mov qword [rsp + 0x58], r12
jmp 0x140159062
mov rax, qword [rsp + 0x68]
lea r10, [0x140000000]
movzx eax, byte [r10 + rax*8 + 0x2d0737]
mov esi, dword [r10 + rax*4 + 0x2d6360]
mov edi, esi
mov dword [rbp + 0x70], esi
shr esi, 0x12
and esi, 7
cmp r13d, 0x19
jne case.default.0x140158e37
mov r15d, dword [r12 + 0xc]
shl r15, 0x20
mov eax, dword [r12 + 8]
or r15, rax
mov r11b, 1
mov r10d, dword [r14 + 4]
jmp 0x140159372
cmp r13d, 9
je 0x14015c6b3
cmp r13d, 0x11
je 0x14015c705
mov rax, qword [rsp + 0x68]
lea rcx, [0x140000000]
movzx eax, byte [rcx + rax*8 + 0x2d0737]
mov ecx, dword [rcx + rax*4 + 0x2d6360]
mov dword [rbp + 0x70], ecx
mov esi, ecx
shr esi, 0x12
and esi, 7
cmp r13d, 0x19
jne case.default.0x140158e37
mov eax, dword [r14]
and eax, 0xff000fff
xor edi, edi
mov r11d, 0x200000
cmp eax, 0x10000161
cmove edi, r11d
or edi, ecx
mov dword [rbp + 0x70], edi
mov r15d, dword [r12 + 0xc]
shl r15, 0x20
mov eax, dword [r12 + 8]
or r15, rax
mov r11b, 1
mov r10d, dword [r14 + 4]
jmp 0x140159372
mov r15d, dword [r9 + 0xc]
shl r15, 0x20
mov eax, dword [r9 + 8]
or r15, rax
mov r11b, 1
mov dword [rbp + 0x78], r11d
cmp r13d, 0xc9
jne 0x14015c850
mov esi, dword [r14 + 4]
mov r10d, dword [r12 + 4]
jmp 0x140159372
cmp r13d, 0xd1
jmp 0x140159481
mov r15d, dword [r9 + 0xc]
shl r15, 0x20
mov eax, dword [r9 + 8]
or r15, rax
mov al, 1
mov dword [rbp + 0x78], eax
cmp r13d, 0xc9
je 0x14015c6b3
cmp r13d, 0xd1
jne case.default.0x140158e37
mov eax, dword [r14]
and eax, 0xff000fff
xor ecx, ecx
mov r11d, 0x200000
cmp eax, 0x10000161
cmove ecx, r11d
or ecx, edi
mov dword [rbp + 0x70], ecx
mov esi, dword [r14 + 4]
mov r8, r12
mov qword [rsp + 0x58], r12
jmp 0x140159062
mov esi, dword [r14 + 4]
mov r10d, dword [r12 + 4]
cmp r13d, 9
je 0x14015936e
cmp r13d, 0xd9
jne case.default.0x140158e37
mov rax, qword [rsp + 0x68]
lea rcx, [0x140000000]
movzx eax, byte [rcx + rax*8 + 0x2d0737]
mov ecx, dword [rcx + rax*4 + 0x2d6360]
mov edi, ecx
mov dword [rbp + 0x70], ecx
mov r10d, esi
mov esi, ecx
shr esi, 0x12
and esi, 7
mov r15d, dword [r9 + 0xc]
shl r15, 0x20
movzx eax, byte [r9 + 8]
or r15, rax
shl r15, 8
movzx eax, byte [r12 + 8]
add r15, rax
mov r15d, r15d
mov r11b, 2
jmp 0x140159372
mov r8, qword [rbp + 0x88]
mov eax, dword [r8]
and eax, 7
shl eax, 9
add eax, r13d
mov esi, dword [r14 + 4]
mov r10d, dword [r12 + 4]
cmp eax, 9
je 0x14015936e
cmp eax, 0x6c9
jne case.default.0x140158e37
mov rax, qword [rsp + 0x68]
lea r11, [0x140000000]
movzx edi, byte [r11 + rax*8 + 0x2d0737]
mov edi, dword [r11 + rdi*4 + 0x2d6360]
mov dword [rbp + 0x70], edi
movzx r15d, byte [r8 + 8]
shl r15, 8
movzx eax, byte [r9 + 8]
add r15, rax
mov r11b, 2
jmp 0x140159372
movzx r15d, dil
mov r11b, 1
mov dword [rbp + 0x78], r11d
mov edi, 0x10f
mov dword [rbp + 0x70], edi
mov esi, dword [r14 + 4]
cmp r13d, 9
jne 0x14015c9bc
mov r10d, dword [r12 + 4]
jmp 0x140159372
cmp r13d, 0x11
jne case.default.0x140158e37
mov r8, r12
mov qword [rsp + 0x58], r12
jmp 0x140159062
and r8d, 0x7f
movzx eax, r8b
or al, 0x40
mov byte [rdx], al
xor ecx, ecx
test r8d, r8d
setne cl
add rcx, rdx
and esi, 7
mov r9d, dword [rbp + 0x70]
mov eax, r9d
shr rax, 8
and eax, 0x1f
lea rdx, [0x140000000]
lea r8, [rdx + 0x2cd710]
lea r8, [r8 + rax*4]
movzx edx, byte [r8]
movzx eax, byte [r8 + 1]
mov byte [rcx], al
xor eax, eax
test dl, dl
setne al
add rax, rcx
movzx edx, byte [r8]
movzx ecx, byte [r8 + 2]
mov byte [rax], cl
xor ebx, ebx
cmp dl, 1
seta bl
add rbx, rax
mov byte [rbx], r9b
inc rbx
mov r8, qword [rsp + 0x58]
mov rcx, qword [rbp - 0x78]
jmp 0x14015dfd8
mov ecx, edi
shr ecx, 6
and ecx, 0x1800000
mov eax, edi
and eax, 0x600000
or ecx, eax
shr ecx, 5
mov eax, edi
and eax, 0x1f00
or ecx, eax
shr ecx, 8
mov eax, edx
shr eax, 0xa
mov r11d, dword [rbp + 0x78]
mov rsi, qword [rbp + 0x60]
test al, 1
je 0x14015ca99
shl edi, 0x18
or edi, 0x78e0c4
shl ecx, 8
xor edi, ecx
mov dword [rbx], edi
add rbx, 4
jmp 0x14015a500
mov byte [rbx], 0xc5
mov eax, ecx
shr eax, 8
xor al, cl
xor al, 0xf9
mov byte [rbx + 1], al
movzx eax, byte [rbp + 0x70]
mov byte [rbx + 2], al
add rbx, 3
jmp 0x14015a500
cmp r13d, 9
jne 0x14015cb4d
mov esi, dword [r14 + 4]
mov r8d, dword [r12 + 4]
mov eax, dword [r12]
and eax, 0xf07
cmp eax, 1
jne 0x14015cafc
mov rax, qword [rsp + 0x68]
lea rcx, [0x140000000]
movzx edi, byte [rcx + rax*8 + 0x2d0737]
mov edi, dword [rcx + rdi*4 + 0x2d6360]
mov dword [rbp + 0x70], edi
jmp 0x14015e985
mov eax, dword [r14]
and eax, 0xf07
cmp eax, 1
jne 0x14015cb2e
mov rax, qword [rsp + 0x68]
lea rcx, [0x140000000]
movzx edi, byte [rcx + rax*8 + 0x2d0737]
mov edi, dword [rcx + rdi*4 + 0x2d6360]
inc edi
mov dword [rbp + 0x70], edi
jmp 0x14015e985
mov eax, edx
shr eax, 8
test al, 1
je 0x14015e985
inc edi
mov dword [rbp + 0x70], edi
mov eax, esi
mov esi, r8d
mov r8d, eax
jmp 0x14015e985
cmp r13d, 0x11
jne 0x14015cb64
mov esi, dword [r14 + 4]
mov r8, r12
mov qword [rsp + 0x58], r12
jmp 0x14015d5cc
cmp r13d, 0xa
jne case.default.0x140158e37
inc edi
mov dword [rbp + 0x70], edi
jmp 0x14015d5bf
cmp r13d, 1
jne case.default.0x140158e37
mov r8d, dword [r14 + 4]
mov eax, dword [r14]
and eax, 0xff000fff
xor ecx, ecx
cmp eax, 0x8000039
mov r13d, dword [rsp + 0x54]
cmove ecx, r13d
or ecx, edi
mov edi, ecx
mov dword [rbp + 0x70], ecx
jmp 0x14015e98a
cmp r13d, 2
jne case.default.0x140158e37
jmp 0x14015d5c4
movzx ecx, byte [r14 + 3]
movzx eax, byte [r12 + 3]
or rcx, rax
shr rcx, 4
lea r10, [0x140000000]
or edi, dword [r10 + rcx*4 + 0x2cdbe0]
mov dword [rbp + 0x70], edi
cmp r13d, 9
jne case.0x140158e37.160
mov esi, dword [r12 + 4]
mov r8d, dword [r14 + 4]
mov r13d, dword [rsp + 0x54]
jmp 0x14015e991
cmp r13d, 0xa
jne case.default.0x140158e37
movzx eax, byte [r12 + 3]
shr rax, 4
lea r8, [0x140000000]
mov ecx, dword [r8 + rax*4 + 0x2cdbe0]
mov eax, dword [r14]
shr eax, 8
and eax, 0x1f
mov eax, dword [r8 + rax*4 + 0x2cdc20]
cmp eax, ecx
cmovae ecx, eax
or ecx, edi
mov dword [rbp + 0x70], ecx
jmp 0x14015d5bf
cmp r13d, 0xc9
jne 0x14015cc7e
mov edi, 0x2001c5
mov dword [rbp + 0x70], edi
mov esi, dword [r14 + 4]
mov r8d, dword [r12 + 4]
mov r15d, dword [r9 + 0xc]
shl r15, 0x20
mov eax, dword [r9 + 8]
or r15, rax
mov r11b, 1
mov dword [rbp + 0x78], r11d
lea r10, [0x140000000]
mov r13d, dword [rsp + 0x54]
jmp 0x14015e995
mov r15d, dword [r9 + 0xc]
shl r15, 0x20
mov eax, dword [r9 + 8]
or r15, rax
mov al, 1
mov dword [rbp + 0x78], eax
cmp r13d, 0xca
jmp 0x14015d5b9
cmp r13d, 0x4a
jne case.default.0x140158e37
mov eax, dword [r12]
and eax, 0xff000fff
xor ecx, ecx
cmp eax, 0x8000039
cmove ecx, dword [rsp + 0x54]
or ecx, edi
mov dword [rbp + 0x70], ecx
mov esi, dword [r9 + 4]
shl esi, 7
add esi, dword [r12 + 4]
jmp 0x14015d5c4
movzx ecx, byte [r14 + 3]
movzx eax, byte [r12 + 3]
or rcx, rax
shr rcx, 4
lea r10, [0x140000000]
or edi, dword [r10 + rcx*4 + 0x2cdbe0]
mov dword [rbp + 0x70], edi
jmp 0x14015cd00
lea r10, [0x140000000]
mov r15d, dword [r9 + 0xc]
shl r15, 0x20
mov eax, dword [r9 + 8]
or r15, rax
mov r11b, 1
mov dword [rbp + 0x78], r11d
cmp r13d, 0xc9
jne 0x14015cc92
mov esi, dword [r12 + 4]
mov r8d, dword [r14 + 4]
mov r13d, dword [rsp + 0x54]
jmp 0x14015e995
mov ecx, dword [r9]
test ecx, ecx
je 0x14015cd6e
mov eax, ecx
and al, 7
cmp al, 2
jne case.default.0x140158e37
mov edx, dword [r9 + 4]
cmp edx, 7
jne case.default.0x140158e37
shr ecx, 3
test cl, 0x1f
mov eax, 0
cmove eax, edx
or eax, dword [r9 + 0xc]
jne case.default.0x140158e37
and r13d, 0x3f
lea r10, [0x140000000]
cmp r13d, 9
jne case.0x140158e37.159
mov esi, dword [r14 + 4]
mov r8d, dword [r12 + 4]
mov r13d, dword [rsp + 0x54]
jmp 0x14015e991
mov eax, dword [r14]
and eax, 0xff000fff
xor edx, edx
cmp eax, 0x8000039
cmove edx, dword [rsp + 0x54]
mov eax, dword [r12]
and eax, 0xff000fff
xor ecx, ecx
cmp eax, 0x8000039
cmove ecx, dword [rsp + 0x54]
or edx, ecx
or edx, edi
mov edi, edx
mov dword [rbp + 0x70], edx
jmp case.0x140158e37.104
movzx eax, byte [r12 + 3]
lea r10, [0x140000000]
test al, al
je 0x14015cdec
shr rax, 4
or edi, dword [r10 + rax*4 + 0x2cdbe0]
mov dword [rbp + 0x70], edi
jmp 0x14015cd79
cmp byte [r14 + 3], 0x20
jne 0x14015cd79
bts edi, 0x1e
mov dword [rbp + 0x70], edi
jmp 0x14015cd79
cmp r13d, 9
jne case.0x140158e37.107
mov eax, dword [r12]
mov ecx, eax
shr ecx, 0x18
and eax, 0xf07
cmp eax, 1
jne case.0x140158e37.107
movzx edi, byte [r14 + 3]
movzx eax, cl
or rdi, rax
shr rdi, 4
mov rax, qword [rsp + 0x68]
lea rcx, [0x140000000]
movzx eax, byte [rcx + rax*8 + 0x2d0737]
mov edi, dword [rcx + rdi*4 + 0x2cdbe0]
or edi, dword [rcx + rax*4 + 0x2d6360]
mov dword [rbp + 0x70], edi
mov esi, dword [r14 + 4]
jmp 0x14015e980
movzx ecx, byte [r14 + 3]
movzx eax, byte [r12 + 3]
or rcx, rax
shr rcx, 4
lea r10, [0x140000000]
or edi, dword [r10 + rcx*4 + 0x2cdbe0]
mov dword [rbp + 0x70], edi
jmp 0x14015cd79
cmp r13d, 0x11
jne case.default.0x140158e37
mov esi, dword [r14 + 4]
mov r8, r12
mov qword [rsp + 0x58], r12
jmp 0x14015d5cc
cmp r13d, 0x11
jne case.default.0x140158e37
movzx eax, byte [r14 + 3]
shr rax, 4
lea r8, [0x140000000]
mov ecx, dword [r8 + rax*4 + 0x2cdbe0]
mov eax, dword [r12]
shr eax, 8
and eax, 0x1f
mov eax, dword [r8 + rax*4 + 0x2cdc20]
cmp eax, ecx
cmovae ecx, eax
or ecx, edi
mov dword [rbp + 0x70], ecx
mov esi, dword [r14 + 4]
mov r8, r12
mov qword [rsp + 0x58], r12
jmp 0x14015d5cc
mov r10, qword [rbp + 0x88]
lea rcx, [r10 + 0x20]
mov qword [rsp + 0x58], rcx
mov eax, dword [r14]
and eax, 0xf07
cmp eax, 0x101
jne case.default.0x140158e37
mov eax, dword [r12]
and eax, 0xf07
cmp eax, 0x101
jne case.default.0x140158e37
mov eax, dword [r9]
and eax, 0xf07
cmp eax, 0x101
jne case.default.0x140158e37
mov eax, dword [r10]
and eax, 0xf07
cmp eax, 0x101
jne case.default.0x140158e37
mov eax, dword [r10 + 0x10]
and eax, 0xf07
cmp eax, 0x101
jne case.default.0x140158e37
call fcn.14015f0b0
test al, al
je case.default.0x140158e37
mov esi, dword [r12 + 4]
test sil, 3
jne 0x14015cfaa
lea eax, [rsi + 1]
mov rcx, qword [rbp + 0x80]
cmp dword [rcx + 4], eax
jne 0x14015cfaa
lea eax, [rsi + 2]
mov r10, qword [rbp + 0x88]
cmp dword [r10 + 4], eax
jne 0x14015cfaa
lea eax, [rsi + 3]
cmp dword [r10 + 0x14], eax
jne 0x14015cfaa
shl esi, 7
add esi, dword [r14 + 4]
mov r8, qword [rsp + 0x58]
jmp 0x14015d5cc
mov eax, 0x3c
jmp 0x140158ec2
mov eax, dword [r14]
and eax, 0xff000fff
xor edx, edx
cmp eax, 0x8000039
cmove edx, dword [rsp + 0x54]
mov eax, dword [r12]
and eax, 0xff000fff
xor ecx, ecx
cmp eax, 0x8000039
cmove ecx, dword [rsp + 0x54]
or edx, ecx
or edx, edi
mov edi, edx
mov dword [rbp + 0x70], edx
lea r10, [0x140000000]
mov r15d, dword [r9 + 0xc]
shl r15, 0x20
mov eax, dword [r9 + 8]
or r15, rax
mov r11b, 1
mov dword [rbp + 0x78], r11d
cmp r13d, 0xc9
jne 0x14015d045
mov esi, dword [r14 + 4]
mov r8d, dword [r12 + 4]
mov r13d, dword [rsp + 0x54]
jmp 0x14015e995
movzx ecx, byte [r14 + 3]
movzx eax, byte [r12 + 3]
or rcx, rax
shr rcx, 4
lea r10, [0x140000000]
or edi, dword [r10 + rcx*4 + 0x2cdbe0]
mov dword [rbp + 0x70], edi
jmp 0x14015cfed
cmp r13d, 0xd1
jmp 0x14015ce82
mov r10, qword [rbp + 0x88]
mov eax, dword [r10]
test eax, eax
je case.0x140158e37.116
and eax, 0xf07
cmp eax, 1
sete cl
cmp dword [r10 + 4], 2
sete al
test al, cl
je case.default.0x140158e37
mov eax, dword [r14]
and eax, 0xff000fff
xor ecx, ecx
cmp eax, 0x8000039
cmove ecx, dword [rsp + 0x54]
xor eax, eax
cmp byte [r9 + 3], 8
cmove eax, dword [rsp + 0x54]
or ecx, eax
or ecx, edi
mov edi, ecx
mov dword [rbp + 0x70], ecx
jmp case.0x140158e37.115
mov eax, dword [r14]
and eax, 0xff000fff
xor ecx, ecx
cmp eax, 0x289
cmove ecx, dword [rsp + 0x7c]
or edi, ecx
movzx ecx, byte [r14 + 3]
movzx eax, byte [r12 + 3]
or rcx, rax
shr rcx, 4
lea rax, [0x140000000]
or edi, dword [rax + rcx*4 + 0x2cdbe0]
mov dword [rbp + 0x70], edi
cmp r13d, 0x49
je 0x14015d7b1
cmp r13d, 0x89
jne case.default.0x140158e37
mov esi, dword [r12 + 4]
shl esi, 7
add esi, dword [r14 + 4]
mov r8, r9
mov qword [rsp + 0x58], r9
jmp 0x14015d5cc
cmp r13d, 0x49
jne case.default.0x140158e37
mov ecx, dword [r14 + 4]
test cl, 1
jne 0x14015d17f
lea eax, [rcx + 1]
cmp eax, dword [r12 + 4]
jne 0x14015d17f
movzx eax, byte [r9 + 3]
shr rax, 4
lea rdx, [0x140000000]
or edi, dword [rdx + rax*4 + 0x2cdbe0]
mov dword [rbp + 0x70], edi
mov esi, dword [r9 + 4]
shl esi, 7
add esi, ecx
mov r10, qword [rbp + 0x88]
mov eax, dword [r10]
and eax, 7
cmp eax, 1
jne 0x14015d169
mov r8d, dword [r10 + 4]
jmp 0x14015e985
cmp eax, 2
jne case.default.0x140158e37
mov r8, r10
mov qword [rsp + 0x58], r10
jmp 0x14015d5cc
mov eax, 0x1d
jmp 0x140158ec2
movzx ecx, byte [r14 + 3]
movzx eax, byte [r12 + 3]
or rcx, rax
shr rcx, 4
lea r10, [0x140000000]
or edi, dword [r10 + rcx*4 + 0x2cdbe0]
mov dword [rbp + 0x70], edi
jmp 0x14015d1b6
lea r10, [0x140000000]
mov rax, qword [rbp + 0x88]
mov ecx, dword [rax]
and ecx, 7
shl ecx, 9
add ecx, r13d
mov r15d, dword [rax + 4]
shl r15d, 4
mov r11b, 1
mov dword [rbp + 0x78], r11d
cmp ecx, 0x249
jne 0x14015d1f9
mov esi, dword [r12 + 4]
shl esi, 7
add esi, dword [r14 + 4]
mov r8d, dword [r9 + 4]
mov r13d, dword [rsp + 0x54]
jmp 0x14015e995
cmp ecx, 0x289
jmp 0x14015d0ef
mov eax, dword [r14]
and eax, 0xff000fff
xor ecx, ecx
cmp eax, 0x289
cmove ecx, dword [rsp + 0x7c]
or ecx, edi
mov edi, ecx
mov dword [rbp + 0x70], ecx
jmp case.0x140158e37.123
mov eax, dword [r14]
and eax, 0xff000fff
xor ecx, ecx
cmp eax, 0x289
cmove ecx, dword [rsp + 0x7c]
or edi, ecx
movzx ecx, byte [r14 + 3]
movzx eax, byte [r12 + 3]
or rcx, rax
shr rcx, 4
lea rax, [0x140000000]
or edi, dword [rax + rcx*4 + 0x2cdbe0]
mov dword [rbp + 0x70], edi
mov r10, qword [rbp + 0x88]
mov ecx, dword [r10]
and ecx, 7
shl ecx, 9
add ecx, r13d
mov r15d, dword [r10 + 0xc]
shl r15, 0x20
mov eax, dword [r10 + 8]
or r15, rax
mov r11b, 1
mov dword [rbp + 0x78], r11d
cmp ecx, 0x649
jne 0x14015d2ac
mov esi, dword [r12 + 4]
shl esi, 7
add esi, dword [r14 + 4]
mov r8d, dword [r9 + 4]
lea r10, [0x140000000]
mov r13d, dword [rsp + 0x54]
jmp 0x14015e995
cmp ecx, 0x689
jmp 0x14015d0ef
mov eax, dword [r14]
and eax, 0xff000fff
xor edx, edx
cmp eax, 0x8000039
cmove edx, dword [rsp + 0x54]
mov eax, dword [r9]
and eax, 0xff000fff
xor ecx, ecx
cmp eax, 0x8000039
cmove ecx, dword [rsp + 0x54]
or edx, ecx
or edx, edi
mov edi, edx
mov dword [rbp + 0x70], edx
cmp r13d, 0x49
je 0x14015e975
cmp r13d, 0x51
jne case.default.0x140158e37
mov esi, dword [r9 + 4]
shl esi, 7
add esi, dword [r14 + 4]
mov r8, r12
mov qword [rsp + 0x58], r12
jmp 0x14015d5cc
cmp r13d, 0x11
jne case.0x140158e37.129
movzx eax, byte [r14 + 3]
shr rax, 4
lea r8, [0x140000000]
mov ecx, dword [r8 + rax*4 + 0x2cdbe0]
mov eax, dword [r12]
shr eax, 8
and eax, 0x1f
mov eax, dword [r8 + rax*4 + 0x2cdc20]
cmp eax, ecx
cmovae ecx, eax
mov rax, qword [rsp + 0x68]
movzx eax, byte [r8 + rax*8 + 0x2d0737]
or ecx, dword [r8 + rax*4 + 0x2d6360]
mov dword [rbp + 0x70], ecx
mov esi, dword [r14 + 4]
mov r8, r12
mov qword [rsp + 0x58], r12
jmp 0x14015d5cc
cmp r13d, 0x51
jne case.default.0x140158e37
movzx ecx, byte [r14 + 3]
movzx eax, byte [r9 + 3]
or rcx, rax
shr rcx, 4
lea r8, [0x140000000]
mov edx, dword [r8 + rcx*4 + 0x2cdbe0]
mov eax, dword [r12]
shr eax, 8
and eax, 0x1f
mov eax, dword [r8 + rax*4 + 0x2cdc20]
cmp eax, edx
cmovae edx, eax
or edx, edi
mov dword [rbp + 0x70], edx
mov esi, dword [r9 + 4]
shl esi, 7
add esi, dword [r14 + 4]
mov r8, r12
mov qword [rsp + 0x58], r12
jmp 0x14015d5cc
mov r8, qword [rbp + 0x88]
mov ecx, dword [r8]
and ecx, 7
shl ecx, 9
add ecx, r13d
mov r15d, dword [r8 + 0xc]
shl r15, 0x20
mov eax, dword [r8 + 8]
or r15, rax
mov r11b, 1
mov dword [rbp + 0x78], r11d
cmp ecx, 0x649
jne 0x14015d423
mov esi, dword [r9 + 4]
shl esi, 7
add esi, dword [r14 + 4]
mov r8d, dword [r12 + 4]
lea r10, [0x140000000]
mov r13d, dword [rsp + 0x54]
jmp 0x14015e995
cmp ecx, 0x651
jmp 0x14015d2f6
cmp r13d, 9
jne 0x14015d4d8
mov eax, dword [r14]
mov ecx, eax
shr ecx, 0x18
and eax, 0xf07
cmp eax, 1
jne 0x14015d484
mov rax, qword [rsp + 0x68]
lea rdx, [0x140000000]
movzx eax, byte [rdx + rax*8 + 0x2d0737]
xor edi, edi
cmp cl, 8
mov r13d, dword [rsp + 0x54]
cmove edi, r13d
or edi, dword [rdx + rax*4 + 0x2d6360]
mov dword [rbp + 0x70], edi
mov esi, dword [r12 + 4]
mov r8d, dword [r14 + 4]
jmp 0x14015e98a
mov eax, dword [r12]
mov ecx, eax
shr ecx, 0x18
and eax, 0xf07
cmp eax, 1
jne 0x14015d4ba
xor eax, eax
cmp cl, 8
mov r13d, dword [rsp + 0x54]
cmove eax, r13d
or eax, edi
mov edi, eax
mov dword [rbp + 0x70], eax
mov esi, dword [r14 + 4]
mov r8d, dword [r12 + 4]
jmp 0x14015e98a
bt edi, 0x1c
jae 0x14015d508
and edi, 0xffdfe17e
or edi, 0x40017e
mov dword [rbp + 0x70], edi
mov esi, dword [r14 + 4]
jmp 0x14015e980
cmp r13d, 0x11
jne 0x14015d508
bt edi, 0x1c
jae 0x14015ce88
and edi, 0xffdfe17e
or edi, 0x40017e
mov dword [rbp + 0x70], edi
mov esi, dword [r14 + 4]
mov r8, r12
mov qword [rsp + 0x58], r12
jmp 0x14015d5cc
mov rax, qword [rsp + 0x68]
lea rcx, [0x140000000]
movzx eax, byte [rcx + rax*8 + 0x2d0737]
mov ecx, dword [rcx + rax*4 + 0x2d6360]
mov dword [rbp + 0x70], ecx
cmp r13d, 0xa
jne case.default.0x140158e37
bt ecx, 0x1c
jae 0x14015d5bf
and ecx, 0xffbfe1d6
or ecx, 0x2001d6
mov dword [rbp + 0x70], ecx
jmp 0x14015d5bf
movzx ecx, byte [r14 + 3]
movzx eax, byte [r12 + 3]
or rcx, rax
shr rcx, 4
lea rsi, [0x140000000]
or r8d, dword [rsi + rcx*4 + 0x2cdbe0]
mov edi, r8d
mov dword [rbp + 0x70], r8d
jmp 0x14015d57c
lea rsi, [0x140000000]
cmp r13d, 9
jne 0x14015d58b
mov esi, dword [r14 + 4]
jmp 0x14015e980
cmp r13d, 0x11
je 0x14015ce88
mov rax, qword [rsp + 0x68]
movzx eax, byte [rsi + rax*8 + 0x2d0737]
and r8d, 0x60000000
or r8d, dword [rsi + rax*4 + 0x2d6360]
mov dword [rbp + 0x70], r8d
cmp r13d, 0xa
jne case.default.0x140158e37
mov esi, dword [r12 + 4]
mov qword [rsp + 0x58], r14
mov r8, r14
mov ecx, dword [r8]
mov eax, ecx
shr rax, 3
and eax, 0x3ff
lea rdi, [0x140000000]
movzx r11d, byte [rax + rdi + 0x2cd7a0]
mov dword [rsp + 0x60], r11d
shr rcx, 0x12
and ecx, 7
movzx eax, byte [rcx + rdi + 0x2cd758]
mov byte [rbx], al
xor ecx, ecx
test al, al
setne cl
lea rdi, [rcx + rbx]
mov rcx, qword [rbp + 0x60]
mov eax, dword [rcx + 0x28]
mov byte [rdi], 0x67
test r11d, eax
mov ebx, 0
setne bl
add rbx, rdi
mov edx, dword [r8]
mov eax, edx
and eax, 0xf8
cmp eax, 8
jbe 0x14015dd41
mov r10d, dword [r8 + 4]
jmp 0x14015dd44
cmp r13d, 0x49
jne 0x14015d68d
mov esi, dword [r9 + 4]
mov r9d, esi
mov ecx, dword [r14 + 4]
shl esi, 7
add esi, ecx
mov r8d, dword [r12 + 4]
mov eax, edx
shr eax, 8
mov r13d, dword [rsp + 0x54]
mov r11d, dword [rbp + 0x78]
lea r10, [0x140000000]
test al, 1
je 0x14015e995
or edi, r13d
mov dword [rbp + 0x70], edi
mov esi, r8d
shl esi, 7
add esi, ecx
mov r8d, r9d
jmp 0x14015e995
cmp r13d, 0x51
je 0x14015d2fc
cmp r13d, 0x89
jne case.default.0x140158e37
or edi, dword [rsp + 0x54]
mov dword [rbp + 0x70], edi
jmp 0x14015d0f5
movzx ecx, byte [r14 + 3]
movzx eax, byte [r12 + 3]
or rcx, rax
shr rcx, 4
mov edx, edi
lea r10, [0x140000000]
or edx, dword [r10 + rcx*4 + 0x2cdbe0]
mov edi, edx
mov dword [rbp + 0x70], edx
jmp 0x14015d6e3
mov edx, edi
lea r10, [0x140000000]
cmp r13d, 0x49
jne 0x14015d703
mov esi, dword [r12 + 4]
shl esi, 7
add esi, dword [r14 + 4]
mov r8d, dword [r9 + 4]
mov r13d, dword [rsp + 0x54]
jmp 0x14015e991
cmp r13d, 0x89
je 0x14015d0f5
mov rax, qword [rsp + 0x68]
lea rcx, [0x140000000]
movzx eax, byte [rcx + rax*8 + 0x2d0737]
and edx, 0x60000000
or edx, dword [rcx + rax*4 + 0x2d6360]
mov edi, edx
mov dword [rbp + 0x70], edx
mov r15d, dword [r9 + 0xc]
shl r15, 0x20
mov eax, dword [r9 + 8]
or r15, rax
mov r11b, 1
mov dword [rbp + 0x78], r11d
cmp r13d, 0xc9
jne 0x14015d045
mov esi, dword [r14 + 4]
jmp 0x14015d40d
cmp r13d, 0x49
je 0x14015d645
cmp r13d, 0x51
je 0x14015d2fc
cmp r13d, 0x89
jne 0x14015d78b
or edi, dword [rsp + 0x54]
mov dword [rbp + 0x70], edi
jmp 0x14015d0f5
mov rax, qword [rsp + 0x68]
lea rcx, [0x140000000]
movzx edi, byte [rcx + rax*8 + 0x2d0737]
mov edi, dword [rcx + rdi*4 + 0x2d6360]
mov dword [rbp + 0x70], edi
jmp 0x14015d736
cmp r13d, 0x49
jne 0x14015d7c6
mov esi, dword [r12 + 4]
shl esi, 7
add esi, dword [r14 + 4]
mov r8d, dword [r9 + 4]
jmp 0x14015e985
cmp r13d, 0x89
je 0x14015d0f5
mov rax, qword [rsp + 0x68]
lea rcx, [0x140000000]
movzx edi, byte [rcx + rax*8 + 0x2d0737]
mov edi, dword [rcx + rdi*4 + 0x2d6360]
mov dword [rbp + 0x70], edi
cmp r13d, 9
jne case.0x140158e37.160
mov esi, dword [r12 + 4]
mov r8d, dword [r14 + 4]
jmp 0x14015e985
movzx ecx, byte [r14 + 3]
movzx eax, byte [r12 + 3]
or rcx, rax
shr rcx, 4
lea r8, [0x140000000]
or r10d, dword [r8 + rcx*4 + 0x2cdbe0]
mov edi, r10d
mov dword [rbp + 0x70], r10d
jmp 0x14015d83a
lea r8, [0x140000000]
cmp r13d, 0x49
je 0x14015d7b1
cmp r13d, 0x89
je 0x14015d0f5
mov rax, qword [rsp + 0x68]
movzx eax, byte [r8 + rax*8 + 0x2d0737]
and r10d, 0x60000000
or r10d, dword [r8 + rax*4 + 0x2d6360]
mov dword [rbp + 0x70], r10d
cmp r13d, 0x4a
jne case.default.0x140158e37
mov esi, dword [r12 + 4]
shl esi, 7
add esi, dword [r9 + 4]
jmp 0x14015d5c4
mov eax, dword [r12]
and al, 7
xor ecx, ecx
cmp al, 2
cmove ecx, dword [rsp + 0x7c]
or edi, ecx
movzx ecx, byte [r14 + 3]
movzx eax, byte [r12 + 3]
or rcx, rax
shr rcx, 4
mov edx, edi
lea r8, [0x140000000]
or edx, dword [r8 + rcx*4 + 0x2cdbe0]
mov edi, edx
mov dword [rbp + 0x70], edx
jmp 0x14015d8d1
mov edx, edi
lea r8, [0x140000000]
cmp r13d, 0x49
je 0x14015d7b1
cmp r13d, 0x89
je 0x14015d0f5
mov rax, qword [rsp + 0x68]
movzx eax, byte [r8 + rax*8 + 0x2d0737]
mov esi, edx
and esi, 0x60001000
or esi, dword [r8 + rax*4 + 0x2d6360]
mov edi, esi
mov dword [rbp + 0x70], esi
shr esi, 0x12
and esi, 7
mov r15d, dword [r9 + 0xc]
shl r15, 0x20
mov eax, dword [r9 + 8]
or r15, rax
mov r11b, 1
mov dword [rbp + 0x78], r11d
cmp r13d, 0xc9
jne 0x14015d93e
mov eax, dword [r14 + 4]
shl eax, 7
add esi, eax
jmp 0x14015d40d
cmp r13d, 0xd1
jne case.default.0x140158e37
mov eax, dword [r14 + 4]
shl eax, 7
add esi, eax
mov r8, r12
mov qword [rsp + 0x58], r12
jmp 0x14015d5cc
mov eax, dword [r14]
and eax, 0xff000fff
xor edx, edx
cmp eax, 0x8000039
cmove edx, dword [rsp + 0x54]
mov eax, dword [r12]
and eax, 0xff000fff
xor ecx, ecx
cmp eax, 0x8000039
cmove ecx, dword [rsp + 0x54]
or edx, ecx
or edx, edi
mov edi, edx
mov dword [rbp + 0x70], edx
cmp r13d, 9
jne 0x14015d9a7
mov eax, dword [r14 + 4]
shl eax, 7
add esi, eax
jmp 0x14015e980
cmp r13d, 0x11
jne case.default.0x140158e37
mov eax, dword [r14 + 4]
shl eax, 7
add esi, eax
mov r8, r12
mov qword [rsp + 0x58], r12
jmp 0x14015d5cc
mov edx, edi
cmp r13d, 0xd1
jne 0x14015d9da
or edx, dword [rsp + 0x7c]
jmp 0x14015d9da
mov edx, edi
movzx ecx, byte [r14 + 3]
movzx eax, byte [r12 + 3]
or rcx, rax
shr rcx, 4
lea rax, [0x140000000]
or edx, dword [rax + rcx*4 + 0x2cdbe0]
mov edi, edx
mov dword [rbp + 0x70], edx
mov r11b, 1
jmp 0x14015da2b
mov eax, dword [r14]
and eax, 0xff000fff
cmp eax, 0x8000039
je 0x14015da1f
cmp byte [r12 + 3], 8
je 0x14015da1f
xor eax, eax
jmp 0x14015da23
mov eax, dword [rsp + 0x54]
or edi, eax
mov dword [rbp + 0x70], edi
mov r11b, 4
mov r15d, dword [r9 + 0xc]
mov eax, dword [r9 + 8]
shl r15, 0x20
mov dword [rbp + 0x78], r11d
or r15, rax
cmp r13d, 0xc9
jne 0x14015d93e
mov eax, dword [r14 + 4]
shl eax, 7
add esi, eax
jmp 0x14015d40d
movzx ecx, byte [r14 + 3]
movzx eax, byte [r12 + 3]
or rcx, rax
shr rcx, 4
mov edx, edi
lea rax, [0x140000000]
or edx, dword [rax + rcx*4 + 0x2cdbe0]
mov edi, edx
mov dword [rbp + 0x70], edx
jmp 0x14015da84
mov edx, edi
mov r10, qword [rbp + 0x88]
mov eax, dword [r10]
and eax, 7
shl eax, 9
add eax, r13d
cmp eax, 0x249
jne 0x14015dabb
mov esi, dword [r12 + 4]
shl esi, 7
add esi, dword [r14 + 4]
mov r8d, dword [r9 + 4]
mov r15d, dword [r10 + 4]
shl r15d, 4
jmp 0x14015cc66
cmp eax, 0x449
jne 0x14015daf1
or edx, dword [rsp + 0x54]
mov dword [rbp + 0x70], edx
mov r8, r10
mov qword [rsp + 0x58], r10
mov eax, dword [r9 + 4]
mov esi, dword [r12 + 4]
shl esi, 7
add esi, dword [r14 + 4]
shl eax, 4
mov r15d, eax
mov al, 1
mov dword [rbp + 0x78], eax
jmp 0x14015d5cc
cmp eax, 0x289
jne case.default.0x140158e37
mov esi, dword [r12 + 4]
shl esi, 7
add esi, dword [r14 + 4]
mov r8, r9
mov qword [rsp + 0x58], r9
mov eax, dword [r10 + 4]
shl eax, 4
mov r15d, eax
mov al, 1
mov dword [rbp + 0x78], eax
jmp 0x14015d5cc
mov r10, qword [rbp + 0x88]
mov eax, dword [r10 + 0x10]
and eax, 7
cmp al, 3
jne case.default.0x140158e37
mov edx, dword [r10]
mov r8d, edx
and r8d, 7
shl r8d, 9
add r8d, r13d
movzx ecx, byte [r14 + 3]
movzx eax, byte [r12 + 3]
or rcx, rax
movzx eax, byte [r9 + 3]
or rcx, rax
shr rcx, 4
shr rdx, 0x1c
or rcx, rdx
lea rax, [0x140000000]
or edi, dword [rax + rcx*4 + 0x2cdbe0]
mov eax, edi
mov dword [rbp + 0x70], edi
movzx r15d, byte [r10 + 0x18]
and r15d, 0xf
mov r11b, 1
mov dword [rbp + 0x78], r11d
cmp r8d, 0x249
jne 0x14015dbc3
mov esi, dword [r12 + 4]
shl esi, 7
add esi, dword [r14 + 4]
mov r8d, dword [r9 + 4]
mov eax, dword [r10 + 4]
shl eax, 4
or r15, rax
lea r10, [0x140000000]
mov r13d, dword [rsp + 0x54]
jmp 0x14015e995
cmp r8d, 0x449
jne 0x14015dbf6
or eax, dword [rsp + 0x54]
mov dword [rbp + 0x70], eax
mov esi, dword [r12 + 4]
shl esi, 7
add esi, dword [r14 + 4]
mov r8, r10
mov qword [rsp + 0x58], r10
mov eax, dword [r9 + 4]
shl eax, 4
or r15, rax
jmp 0x14015d5cc
cmp r8d, 0x289
jne case.default.0x140158e37
mov esi, dword [r12 + 4]
shl esi, 7
add esi, dword [r14 + 4]
mov r8, r9
mov qword [rsp + 0x58], r9
mov eax, dword [r10 + 4]
shl eax, 4
or r15, rax
jmp 0x14015d5cc
cmp r13d, 0x49
je 0x14015d7b1
cmp r13d, 0x11
je 0x14015ce88
cmp r13d, 0xa
jne case.default.0x140158e37
mov rax, qword [rsp + 0x68]
lea rcx, [0x140000000]
movzx eax, byte [rcx + rax*8 + 0x2d0737]
mov eax, dword [rcx + rax*4 + 0x2d6360]
mov dword [rbp + 0x70], eax
jmp 0x14015d5bf
movzx ecx, byte [r14 + 3]
movzx eax, byte [r12 + 3]
or rcx, rax
shr rcx, 4
lea rax, [0x140000000]
or edi, dword [rax + rcx*4 + 0x2cdbe0]
mov dword [rbp + 0x70], edi
mov r10, qword [rbp + 0x88]
mov eax, dword [r10]
and eax, 7
shl eax, 9
add eax, r13d
cmp eax, 0x249
jne 0x14015dcfc
mov esi, dword [r12 + 4]
shl esi, 7
add esi, dword [r14 + 4]
mov eax, edx
shr eax, 8
mov r13d, dword [rsp + 0x54]
mov r11b, 1
mov dword [rbp + 0x78], r11d
test r11b, al
jne 0x14015dce4
or edi, r13d
mov dword [rbp + 0x70], edi
mov r8d, dword [r10 + 4]
mov r15d, dword [r9 + 4]
shl r15d, 4
lea r10, [0x140000000]
jmp 0x14015e995
mov r8d, dword [r9 + 4]
mov r15d, dword [r10 + 4]
shl r15d, 4
lea r10, [0x140000000]
jmp 0x14015e995
cmp eax, 0x449
jne 0x14015dd0f
or edi, dword [rsp + 0x54]
mov dword [rbp + 0x70], edi
jmp 0x14015dac9
cmp eax, 0x289
jne case.default.0x140158e37
mov r8, r9
mov qword [rsp + 0x58], r9
mov eax, dword [r10 + 4]
jmp 0x14015dad5
cmp r13d, 1
jne case.default.0x140158e37
mov esi, dword [r14 + 4]
xor r8d, r8d
jmp 0x14015e985
xor r10d, r10d
mov eax, edx
and eax, 0x1f00
cmp eax, 0x100
jbe 0x14015dd58
mov r13d, dword [r8 + 8]
jmp 0x14015dd5b
xor r13d, r13d
mov dword [rsp + 0x78], r13d
mov eax, edx
and eax, 0xe00000
neg eax
sbb edx, edx
and edx, 0x10
or edx, dword [rcx + 0x5c]
add edx, edx
mov eax, r13d
and eax, 0x10
or edx, eax
shl edx, 0xb
mov eax, esi
and eax, 0xf98
or edx, eax
add edx, edx
mov eax, r13d
and eax, 8
or edx, eax
add edx, edx
mov eax, r10d
and eax, 8
or edx, eax
shl edx, 2
mov r9d, dword [rsp + 0x50]
mov ecx, r9d
and ecx, dword [rsp + 0x7c]
mov eax, dword [rbp + 0x70]
or ecx, eax
shr ecx, 8
and ecx, 0x60001f
or edx, ecx
and esi, 7
mov rcx, qword [rbp - 0x78]
mov ecx, dword [rcx]
not ecx
and ecx, 0xffc00000
shl ecx, 9
or edx, ecx
test r9d, 0x8c0000
je 0x14015ddf1
test r9d, 0xc0000
jne 0x14015ea30
mov ecx, r9d
and ecx, 0x800000
or edx, ecx
mov r11, qword [rbp - 0x78]
mov ecx, dword [r11]
shr ecx, 0x18
test cl, 1
mov r11d, dword [rsp + 0x60]
je 0x14015de19
test edx, 0x80df8110
jne 0x14015de25
test r9d, 0xc00
jne 0x14015de19
or edx, 0x10
test edx, 0x80df8110
je 0x14015df26
mov r9d, edx
and r9d, 0x8000
shl r9d, 4
or r9d, edx
and r9d, 0xffff78ef
shl r9d, 4
and edx, 0x100
or r9d, edx
shl r9d, 4
mov edx, eax
shr edx, 1
and edx, 0x8300000
mov ecx, eax
and ecx, 0x8000000
or edx, ecx
shr edx, 4
or r9d, edx
xor r9d, 0x87cf062
bt r9d, 0x1c
jae 0x14015dee5
mov rcx, qword [rbp - 0x78]
mov edx, dword [rcx + 4]
shr edx, 3
and edx, 0xe
mov dword [rbp - 0x70], edx
je 0x14015dedb
mov ecx, r9d
and ecx, 0x60000000
mov dword [rbp - 0x80], ecx
mov ecx, dword [r8]
shr ecx, 0x15
and ecx, 7
shl edx, cl
bsf ecx, edx
cmp ecx, 4
jae 0x14015deab
xor ecx, ecx
jmp 0x14015deb9
add ecx, 0xfffffffc
shl ecx, 0x1d
cmp ecx, 0x40000000
ja 0x14015dedb
mov edx, dword [rbp - 0x80]
cmp edx, ecx
cmovb edx, ecx
and r9d, 0x9fffffff
or r9d, edx
bsf ecx, dword [rbp - 0x70]
and eax, 0xffff1fff
shl ecx, 0xd
or eax, ecx
jmp 0x14015df10
mov eax, 0x29
jmp 0x140158ec2
mov edx, r9d
shr edx, 0x1d
and edx, 3
mov ecx, eax
shr ecx, 0xd
and ecx, 0x18
add edx, ecx
mov ecx, eax
shr ecx, 0x19
and ecx, 4
add ecx, edx
lea rdx, [0x140000000]
add eax, dword [rdx + rcx*4 + 0x2cdc60]
mov dword [rbp + 0x70], eax
mov dword [rbx], r9d
movzx eax, byte [rbp + 0x70]
mov byte [rbx + 4], al
add rbx, 5
jmp 0x14015dfc2
mov r13d, eax
shr r13d, 1
and r13d, 0x300000
mov ecx, eax
and ecx, dword [rsp + 0x54]
or r13d, ecx
shr r13d, 1
mov ecx, edx
mov r11d, 0x200000
and ecx, r11d
or r13d, ecx
shr r13d, 0xb
mov ecx, r9d
and ecx, 0xfffffc00
shl ecx, 0x15
or r13d, ecx
or r13d, edx
and eax, 0xffff1fff
mov dword [rbp + 0x70], eax
mov r11d, dword [rsp + 0x60]
test r13d, 0x8000807e
je 0x14015dfa1
mov ecx, r13d
and ecx, 0xf
shl eax, 0x18
lea rdx, [0x140000000]
or eax, dword [rdx + rcx*4 + 0x2cdba0]
movzx ecx, r13w
shl ecx, 8
xor eax, ecx
mov dword [rbx], eax
add rbx, 4
jmp 0x14015dfbd
mov byte [rbx], 0xc5
mov eax, r13d
shr eax, 8
xor al, r13b
xor al, 0xf9
mov byte [rbx + 1], al
movzx eax, byte [rbp + 0x70]
mov byte [rbx + 2], al
add rbx, 3
mov r13d, dword [rsp + 0x78]
mov rcx, qword [rbp - 0x78]
mov eax, dword [rcx]
shr eax, 0x14
test al, 1
jne 0x14015e5ce
mov r13d, dword [rsp + 0x50]
test r11b, 0x42
jne 0x14015e4cb
test r11b, 1
je 0x14015e11d
and r10d, 7
mov r9d, dword [r8 + 0xc]
lea edx, [r10 + rsi*8]
cmp r10d, 4
je 0x14015e083
mov eax, dword [rcx]
shr eax, 0x15
test al, 1
jne 0x14015e083
cmp r10d, 5
je 0x14015e028
test r9d, r9d
jne 0x14015e028
mov byte [rbx], dl
inc rbx
mov r11d, dword [rbp + 0x78]
mov rsi, qword [rbp + 0x60]
jmp 0x14015a193
mov ecx, dword [rbp + 0x70]
shr ecx, 0xd
and ecx, 7
mov r8d, r9d
sar r8d, cl
lea eax, [r8 + 0x80]
cmp eax, 0xff
ja 0x14015e069
mov eax, r8d
shl eax, cl
cmp r9d, eax
jne 0x14015e069
add dl, 0x40
mov byte [rbx], dl
mov byte [rbx + 1], r8b
add rbx, 2
mov r11d, dword [rbp + 0x78]
mov rsi, qword [rbp + 0x60]
jmp 0x14015a193
add dl, 0x80
mov byte [rbx], dl
mov dword [rbx + 1], r9d
add rbx, 5
mov r11d, dword [rbp + 0x78]
mov rsi, qword [rbp + 0x60]
jmp 0x14015a193
and edx, 0xf8
or edx, 4
cmp r10d, 5
je 0x14015e0b2
test r9d, r9d
jne 0x14015e0b2
mov byte [rbx], dl
add r10b, 0x20
mov byte [rbx + 1], r10b
add rbx, 2
mov r11d, dword [rbp + 0x78]
mov rsi, qword [rbp + 0x60]
jmp 0x14015a193
mov ecx, dword [rbp + 0x70]
shr ecx, 0xd
and ecx, 7
mov r8d, r9d
sar r8d, cl
lea eax, [r8 + 0x80]
cmp eax, 0xff
ja 0x14015e0fb
mov eax, r8d
shl eax, cl
cmp r9d, eax
jne 0x14015e0fb
add dl, 0x40
mov byte [rbx], dl
add r10b, 0x20
mov byte [rbx + 1], r10b
mov byte [rbx + 2], r8b
add rbx, 3
mov r11d, dword [rbp + 0x78]
mov rsi, qword [rbp + 0x60]
jmp 0x14015a193
add dl, 0x80
mov byte [rbx], dl
add r10b, 0x20
mov byte [rbx + 1], r10b
mov dword [rbx + 2], r9d
add rbx, 6
mov r11d, dword [rbp + 0x78]
mov rsi, qword [rbp + 0x60]
jmp 0x14015a193
test r11b, 0x30
jne 0x14015e430
mov edx, dword [r8]
mov eax, dword [r8 + 0xc]
mov dword [rbp - 0x70], eax
mov r11d, edx
and r11d, 0xc000
mov rcx, qword [rbp + 0x60]
test byte [rcx + 0x48], 1
je 0x14015e172
cmp r11d, 0x8000
je 0x14015b203
shl sil, 3
add sil, 5
mov byte [rbx], sil
inc rbx
mov dword [rbx], eax
mov r11d, dword [rbp + 0x78]
mov rsi, rcx
add rbx, 4
jmp 0x14015a193
sar eax, 0x1f
mov dword [rsp + 0x60], eax
mov r10d, dword [r8 + 4]
mov dword [rbp - 0x80], r10d
lea r9, [rcx + 0x30]
mov rax, qword [r9]
mov rax, qword [rax + 0x28]
mov qword [rbp - 0x78], rax
test r11d, r11d
jne 0x14015e2a4
cmp rax, 0xffffffffffffffff
jne 0x14015e264
cmp r10d, dword [rsp + 0x60]
je 0x14015e353
test r10d, r10d
je 0x14015e353
mov r8d, 4
lea rdx, [rsp + 0x70]
mov rcx, qword [r9]
call fcn.140160680
test eax, eax
jne 0x140158ec2
shl sil, 3
add sil, 5
mov byte [rbx], sil
inc rbx
mov rsi, qword [rbp + 0x60]
mov rax, qword [rsi + 0x90]
mov ecx, dword [rax]
mov rax, qword [rsp + 0x70]
mov dword [rax + 0x10], ecx
mov rcx, qword [rsi + 0xa8]
sub rcx, qword [rsi + 0x98]
mov rax, qword [rsp + 0x70]
mov qword [rax + 0x18], rcx
mov rax, qword [rsp + 0x70]
mov dword [rax + 8], 0x4040000
mov dword [rax + 0xc], 0x2000
mov rdx, qword [rsp + 0x70]
movzx ecx, bl
sub cl, byte [rsi + 0xa8]
movzx eax, cl
add al, byte [rdx + 0xb]
mov r11d, dword [rbp + 0x78]
add al, r11b
mov byte [rdx + 0xa], al
mov byte [rdx + 0xc], cl
mov rcx, qword [rsp + 0x58]
mov eax, dword [rcx]
shr eax, 3
test al, 0x1f
jne 0x14015e372
mov edx, dword [rcx + 4]
shl rdx, 0x20
mov eax, dword [rcx + 0xc]
or rdx, rax
jmp 0x14015e376
and edx, 0x1c0000
mov r9, qword [rsp + 0x68]
cmp r9d, 0x193
jne 0x14015e288
cmp r10d, dword [rsp + 0x60]
je 0x14015e284
test r10d, r10d
jne 0x14015e288
mov al, 1
jmp 0x14015e28a
xor al, al
cmp edx, 0x140000
jae 0x14015e358
test al, al
jne 0x14015e358
lea r9, [rcx + 0x30]
jmp 0x14015e2c0
and edx, 0xc000
cmp edx, 0x8000
jne 0x14015e353
cmp rax, 0xffffffffffffffff
je 0x14015e1b7
mov rax, qword [rcx + 0x90]
cmp dword [rax], 0
jne 0x14015e1b7
mov rax, qword [rax + 0x10]
sub rax, qword [rcx + 0x98]
mov r11d, dword [rbp + 0x78]
movzx ecx, r11b
mov rdx, qword [rbp - 0x78]
add rdx, rax
add rcx, 5
add rdx, rcx
add rdx, rbx
mov eax, dword [r8]
shr eax, 3
test al, 0x1f
jne 0x14015e30f
mov ecx, dword [r8 + 4]
shl rcx, 0x20
mov eax, dword [r8 + 0xc]
or rcx, rax
jmp 0x14015e313
movsxd rcx, dword [r8 + 0xc]
sub rcx, rdx
mov eax, 0x80000000
add rax, rcx
mov edx, 0xffffffff
cmp rax, rdx
ja 0x14015e33f
shl sil, 3
add sil, 5
mov byte [rbx], sil
mov dword [rbx + 1], ecx
add rbx, 5
jmp 0x14015bdfd
mov rcx, r8
call fcn.14015f0c0
test al, al
jne 0x14015b203
mov r10d, dword [rbp - 0x80]
mov r9, qword [rsp + 0x68]
cmp r10d, dword [rsp + 0x60]
je 0x14015e407
test r10d, r10d
je 0x14015e38e
mov eax, 0x2e
jmp 0x140158ec2
movsxd rdx, dword [rcx + 0xc]
mov rax, qword [rsp + 0x70]
mov qword [rax + 0x20], rdx
mov dword [rbx], 0
add rbx, 4
jmp 0x14015a193
movzx eax, byte [rdi]
cmp al, 0x67
je 0x14015e407
cmp r9d, 0x193
jne 0x14015e3e3
test al, 0x40
je 0x14015e407
and eax, 0xf7
mov byte [rdi], al
cmp eax, 0x40
jne 0x14015e407
mov edx, 0x40000000
mov ecx, r13d
call fcn.140158a40
test al, al
jne 0x14015e407
inc rdi
cmp rdi, rbx
je 0x14015e3de
nop word [rax + rax]
movzx eax, byte [rdi]
mov byte [rdi - 1], al
inc rdi
cmp rdi, rbx
jne 0x14015e3d0
dec rbx
jmp 0x14015e407
mov rdx, rbx
cmp rbx, rdi
je 0x14015e401
nop dword [rax + rax]
lea rcx, [rdx - 1]
movzx eax, byte [rcx]
mov byte [rdx], al
mov rdx, rcx
cmp rcx, rdi
jne 0x14015e3f0
mov byte [rdx], 0x67
inc rbx
shl sil, 3
add sil, 4
mov byte [rbx], sil
mov byte [rbx + 1], 0x25
add rbx, 2
mov eax, dword [rbp - 0x70]
mov dword [rbx], eax
mov r11d, dword [rbp + 0x78]
mov rsi, qword [rbp + 0x60]
add rbx, 4
jmp 0x14015a193
shl sil, 3
add sil, 5
mov byte [rbx], sil
inc rbx
mov rsi, qword [rbp + 0x60]
test byte [rsi + 0x48], 1
jne 0x14015e6f5
mov edx, dword [r8 + 0xc]
test r11b, 0x10
je 0x14015e4bc
mov rax, qword [rsi + 0x30]
mov ecx, dword [r8 + 4]
cmp ecx, dword [rax + 0xf8]
jae 0x14015e8b9
mov rax, qword [rax + 0xf0]
mov rdi, qword [rax + rcx*8]
test rdi, rdi
je 0x14015e8b9
mov r11d, dword [rbp + 0x78]
movzx eax, r11b
mov ecx, 0xfffffffc
sub ecx, eax
add edx, ecx
lea r13, [rsi + 0x90]
mov rax, qword [r13]
cmp qword [rdi + 0x20], rax
jne 0x14015e829
mov eax, dword [rdi + 0x18]
add eax, dword [rsi + 0x98]
sub eax, ebx
add eax, edx
mov dword [rbx], eax
add rbx, 4
jmp 0x14015a193
mov dword [rbx], edx
mov r11d, dword [rbp + 0x78]
add rbx, 4
jmp 0x14015a193
test r11b, 0x40
jne 0x14015e4e9
mov r13d, dword [rsp + 0x78]
cmp r13d, 4
jne 0x14015e5d8
lea eax, [r13 + 0x28]
jmp 0x140158ec2
movsx r9d, word [r8 + 0xc]
mov edx, r9d
mov eax, r11d
and eax, 3
je 0x14015e5a7
cmp eax, 3
jne 0x14015e52f
test dword [r8], 0x30000
jne 0x14015b203
and r10d, 7
mov eax, dword [rsp + 0x78]
and eax, 7
lea ecx, [rax + r10*8]
lea rax, [0x140000000]
movzx eax, byte [rcx + rax + 0x2cdcf0]
jmp 0x14015e54d
test r11b, 2
mov eax, dword [rsp + 0x78]
cmove eax, r10d
and eax, 7
lea rcx, [0x140000000]
movzx eax, byte [rax + rcx + 0x2cdce0]
movzx eax, al
cmp eax, 0xff
je 0x14015b203
lea ecx, [rax + rsi*8]
test edx, edx
jne 0x14015e579
cmp ecx, 6
je 0x14015e58e
mov byte [rbx], cl
inc rbx
mov r11d, dword [rbp + 0x78]
mov rsi, qword [rbp + 0x60]
jmp 0x14015a193
lea eax, [r9 + 0x80]
cmp eax, 0xff
jbe 0x14015e58e
add cl, 0x80
mov byte [rbx], cl
jmp 0x14015e5b8
add cl, 0x40
mov byte [rbx], cl
mov byte [rbx + 1], dl
add rbx, 2
mov r11d, dword [rbp + 0x78]
mov rsi, qword [rbp + 0x60]
jmp 0x14015a193
test r11b, 0x30
jne 0x14015b203
or sil, 6
mov byte [rbx], sil
mov word [rbx + 1], r9w
add rbx, 3
mov r11d, dword [rbp + 0x78]
mov rsi, qword [rbp + 0x60]
jmp 0x14015a193
test r11b, 2
je case.default.0x140158e37
and r13d, 7
test r11b, 1
je 0x14015e681
and r10d, 7
mov r9d, dword [r8 + 0xc]
lea esi, [rsi*8 + 4]
movzx eax, word [r8 + 2]
and eax, 3
lea eax, [rax*8]
add eax, r13d
lea r8d, [r10 + rax*8]
test r9d, r9d
jne 0x14015e62e
cmp r10d, 5
je 0x14015e62e
mov byte [rbx], sil
mov byte [rbx + 1], r8b
add rbx, 2
mov r11d, dword [rbp + 0x78]
mov rsi, qword [rbp + 0x60]
jmp 0x14015a193
mov ecx, dword [rbp + 0x70]
shr ecx, 0xd
and ecx, 7
mov edx, r9d
sar edx, cl
lea eax, [rdx + 0x80]
cmp eax, 0xff
ja 0x14015e671
mov eax, edx
shl eax, cl
cmp r9d, eax
jne 0x14015e671
add sil, 0x40
mov byte [rbx], sil
mov byte [rbx + 1], r8b
mov byte [rbx + 2], dl
add rbx, 3
mov r11d, dword [rbp + 0x78]
mov rsi, qword [rbp + 0x60]
jmp 0x14015a193
add sil, 0x80
mov byte [rbx], sil
mov byte [rbx + 1], r8b
jmp 0x14015e108
test r11b, 0x30
jne 0x14015e6bf
shl sil, 3
add sil, 4
mov byte [rbx], sil
movzx eax, byte [r8 + 2]
and al, 3
shl al, 3
add al, r13b
shl al, 3
add al, 5
mov byte [rbx + 1], al
mov eax, dword [r8 + 0xc]
mov dword [rbx + 2], eax
add rbx, 6
mov r11d, dword [rbp + 0x78]
mov rsi, qword [rbp + 0x60]
jmp 0x14015a193
mov rax, qword [rbp + 0x60]
test byte [rax + 0x48], 1
je 0x14015b203
shl sil, 3
add sil, 4
mov byte [rbx], sil
movzx eax, byte [r8 + 2]
and al, 3
shl al, 3
add al, r13b
shl al, 3
add al, 5
mov byte [rbx + 1], al
add rbx, 2
mov rsi, qword [rbp + 0x60]
mov rdx, qword [rsi + 0x30]
lea rcx, [rdx + 0x100]
mov eax, dword [rcx + 0xc]
sub eax, dword [rcx + 8]
cmp eax, 1
jae 0x14015e72b
add rdx, 0x60
mov r9d, 1
lea r8d, [r9 + 7]
call fcn.1401646a0
test eax, eax
jne 0x14015e887
mov r11d, dword [rsp + 0x60]
mov rax, qword [rsp + 0x58]
movsxd rdi, dword [rax + 0xc]
mov dword [rbp - 0x80], edi
mov rcx, qword [rsi + 0x30]
test r11b, 0x10
je 0x14015e8c3
mov edx, dword [rax + 4]
cmp edx, dword [rcx + 0xf8]
jae 0x14015e8b9
mov rax, qword [rcx + 0xf0]
mov rdi, qword [rax + rdx*8]
test rdi, rdi
je 0x14015e8b9
mov r8d, 3
lea rdx, [rsp + 0x70]
call fcn.140160680
test eax, eax
jne 0x140158ec2
lea r13, [rsi + 0x90]
mov rax, qword [r13]
mov ecx, dword [rax]
mov rax, qword [rsp + 0x70]
mov dword [rax + 0x10], ecx
mov rcx, qword [rsi + 0xa8]
sub rcx, qword [rsi + 0x98]
mov rax, qword [rsp + 0x70]
mov qword [rax + 0x18], rcx
mov rax, qword [rsp + 0x70]
mov dword [rax + 8], 0x4040001
mov dword [rax + 0xc], 0x2000
mov rdx, qword [rsp + 0x70]
movzx ecx, bl
sub cl, byte [rsi + 0xa8]
movzx eax, cl
add al, byte [rdx + 0xb]
mov r11d, dword [rbp + 0x78]
add al, r11b
mov byte [rdx + 0xa], al
mov byte [rdx + 0xc], cl
movsxd rcx, dword [rbp - 0x80]
mov rax, qword [rsp + 0x70]
mov qword [rax + 0x20], rcx
cmp qword [rdi + 0x20], 0
je 0x14015e81e
mov rcx, qword [rsp + 0x70]
mov rax, qword [rdi + 0x18]
add qword [rcx + 0x20], rax
mov rax, qword [rdi + 0x20]
mov ecx, dword [rax]
mov rax, qword [rsp + 0x70]
mov dword [rax + 0x14], ecx
mov dword [rbx], 0
add rbx, 4
jmp 0x14015a193
movzx eax, r11b
mov edx, 0xfffffffc
sub edx, eax
mov r11, qword [rbp + 0x60]
mov al, 4
mov byte [rbp + 0x68], al
mov r9, rbx
sub r9, qword [r11 + 0x98]
movzx esi, al
mov word [rbp - 0x68], 0
mov byte [rbp - 0x66], al
mov byte [rbp - 0x65], al
mov byte [rbp - 0x64], 0
shl al, 3
mov byte [rbp - 0x63], al
mov word [rbp - 0x62], 0
mov rax, qword [r13]
mov r8d, dword [rax]
movsxd rax, edx
lea rcx, [rbp - 0x68]
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], rax
mov rdx, rdi
mov rcx, qword [r11 + 0x30]
call fcn.140160310
mov rcx, rax
test rax, rax
jne 0x14015e891
mov eax, 1
jmp 0x140158ec2
mov rax, qword [rsp + 0x70]
test rax, rax
je 0x14015e8a0
mov eax, dword [rax]
mov dword [rcx + 0xc], eax
mov r8, rsi
xor edx, edx
mov rcx, rbx
call sub.VCRUNTIME140.dll_memset
add rbx, rsi
mov r11d, dword [rbp + 0x78]
jmp 0x14015bdfd
mov eax, recv
jmp 0x140158ec2
mov r8d, 3
lea rdx, [rsp + 0x70]
call fcn.140160680
test eax, eax
jne 0x140158ec2
mov rax, qword [rsi + 0x90]
mov ecx, dword [rax]
mov rax, qword [rsp + 0x70]
mov dword [rax + 0x10], ecx
mov rax, qword [rsi + 0x90]
mov ecx, dword [rax]
mov rax, qword [rsp + 0x70]
mov dword [rax + 0x14], ecx
mov rax, qword [rsp + 0x70]
mov dword [rax + 8], 0x4040001
mov dword [rax + 0xc], 0x2000
mov rdx, qword [rsp + 0x70]
movzx ecx, bl
sub cl, byte [rsi + 0xa8]
movzx eax, cl
add al, byte [rdx + 0xb]
mov r11d, dword [rbp + 0x78]
add al, r11b
mov byte [rdx + 0xa], al
mov byte [rdx + 0xc], cl
mov rdx, qword [rsi + 0xa8]
sub rdx, qword [rsi + 0x98]
mov rax, qword [rsp + 0x70]
mov qword [rax + 0x18], rdx
mov r8, qword [rsp + 0x70]
movzx ecx, byte [r8 + 0xa]
add rcx, rdx
add rcx, rdi
mov qword [r8 + 0x20], rcx
mov dword [rbx], 0
add rbx, 4
jmp 0x14015a193
cmp r13d, 0x49
jne case.default.0x140158e37
mov esi, dword [r9 + 4]
shl esi, 7
add esi, dword [r14 + 4]
mov r8d, dword [r12 + 4]
mov r13d, dword [rsp + 0x54]
lea r10, [0x140000000]
mov r11d, dword [rbp + 0x78]
mov rax, qword [rbp + 0x60]
mov edx, dword [rax + 0x5c]
shl edx, 0xc
mov eax, esi
and eax, 0xf98
or edx, eax
shl edx, 2
mov eax, r8d
and eax, 0x18
or edx, eax
shl edx, 2
mov r9d, dword [rsp + 0x50]
mov eax, r9d
and eax, dword [rsp + 0x7c]
or eax, edi
shr eax, 8
and eax, 0x60001f
or edx, eax
and esi, 7
test r9d, 0x8c0000
je 0x14015ea44
mov eax, r9d
and eax, 0x800000
or edx, eax
test r9d, 0xc0000
je 0x14015ea44
mov eax, edx
and eax, 0x600000
cmp eax, 0x400000
mov rax, qword [rbp - 0x78]
je 0x14015ea05
test byte [rax + 4], 0x70
jne 0x14015ea30
mov ecx, dword [rax + 4]
mov eax, r9d
shr eax, 0x12
test al, 1
je 0x14015ea28
shr ecx, 2
test cl, 1
je 0x14015ea30
mov eax, edx
xor eax, r9d
and eax, 0x600000
xor edx, eax
jmp 0x14015ea40
shr ecx, 3
test cl, 1
jne 0x14015ea3a
mov eax, 0x2a
jmp 0x140158ec2
and edx, 0xff9fffff
bts edx, 0x14
mov rax, qword [rbp - 0x78]
test byte [rax + 3], 1
je 0x14015ea62
test edx, 0xd78150
jne 0x14015ea6e
test r9d, 0xc00
jne 0x14015ea62
or edx, 0x10
test edx, 0xd78150
je 0x14015eb09
mov ecx, edx
and ecx, 0x8000
shl ecx, 4
or ecx, edx
and ecx, 0xffff78ef
shl ecx, 4
and edx, 0x100
or ecx, edx
shl ecx, 4
mov eax, edi
shr eax, 1
and eax, 0x8300000
and edi, r13d
or eax, edi
shr eax, 4
or ecx, eax
xor ecx, 0x87cf062
mov dword [rbx], ecx
movzx eax, byte [rbp + 0x70]
mov byte [rbx + 4], al
shl sil, 3
and r8b, 7
sub sil, 0x40
add sil, r8b
mov byte [rbx + 5], sil
add rbx, 6
test r11b, r11b
je 0x14015a4fc
mov byte [rbx], r15b
lea rax, [rbx + 1]
mov rbx, rax
mov rsi, qword [rbp + 0x60]
cmp r11b, 1
je 0x14015a500
shr r15, 8
mov byte [rax], r15b
shr r15, 8
mov byte [rax + 1], r15b
shr r15, 8
mov byte [rax + 2], r15b
lea rbx, [rax + 3]
jmp 0x14015a500
mov ecx, edi
shr ecx, 1
and ecx, 0x300000
mov eax, edi
and eax, r13d
or ecx, eax
shr ecx, 1
mov eax, edx
mov r11d, 0x200000
and eax, r11d
or ecx, eax
shr ecx, 0xb
mov eax, r9d
and eax, 0xfffffc00
shl eax, 0x15
or ecx, eax
or ecx, edx
and r8b, 7
mov eax, ecx
shl sil, 3
mov r11d, dword [rbp + 0x78]
sub sil, 0x40
add sil, r8b
test ecx, 0x8000803e
je 0x14015eb7d
and eax, 0xf
shl edi, 0x18
or edi, dword [r10 + rax*4 + 0x2cdba0]
movzx eax, cx
shl eax, 8
xor edi, eax
mov dword [rbx], edi
mov byte [rbx + 4], sil
add rbx, 5
jmp 0x14015eac8
mov byte [rbx], 0xc5
shr eax, 8
xor al, cl
xor al, 0xf9
mov byte [rbx + 1], al
movzx eax, byte [rbp + 0x70]
mov byte [rbx + 2], al
mov byte [rbx + 3], sil
add rbx, 4
jmp 0x14015eac8