Function at 0x1401559d0
Capabilities:
Encode data using xor
Encrypt data using speck
Reference sql statements

Disassembly:
mov r11, rsp
push rbp
push r14
push r15
lea rbp, [r11 - 0x348]
sub rsp, 0x430
mov rax, qword [0x14023f780]
xor rax, rsp
mov qword [rbp + 0x2e8], rax
mov r9, qword [rcx + 0x88]
mov r14, rcx
mov qword [r11 + 0x18], rsi
xor al, al
mov qword [r11 + 0x20], rdi
mov qword [r11 - 0x20], r12
mov qword [r11 - 0x28], r13
mov r13, qword [r14]
mov r11, qword [r14 + 0x68]
mov qword [rsp + 0x78], rcx
xor ecx, ecx
mov r15d, ecx
mov qword [rsp + 0x58], r9
mov r10d, ecx
movzx esi, byte [r13 + 0x64]
mov edi, ecx
mov byte [rsp + 0x40], sil
mov qword [rsp + 0x48], r9
mov dword [rsp + 0x44], ecx
mov qword [rsp + 0x70], r13
mov byte [rbp - 0x64], al
mov dword [rsp + 0x50], ecx
mov qword [rbp - 0x80], rcx
mov qword [rsp + 0x60], r11
mov dword [rbp - 0x58], ecx
cmp dword [r14 + 0xd0], ecx
je 0x140155a77
mov rcx, r14
call fcn.1401558e0
mov r11, qword [rsp + 0x60]
mov r10d, edi
mov r9, qword [rsp + 0x58]
cmp qword [r13 + 0x210], rdi
je 0x140155a99
mov ecx, dword [r13 + 0x220]
xor edx, edx
mov eax, dword [r14 + 0xe4]
div ecx
sub ecx, edx
mov r12d, ecx
jmp 0x140155aa0
mov r12, 0xffffffffffffffff
cmp dword [r14 + 0x34], 7
mov qword [rsp + 0x458], rbx
movaps xmmword [rsp + 0x410], xmm6
movaps xmmword [rsp + 0x400], xmm7
movaps xmmword [rsp + 0x3f0], xmm8
mov qword [rsp + 0x68], r12
je 0x140157c78
xor edx, edx
mov dword [r14 + 0x34], edx
mov qword [r14 + 0x48], rdx
mov dword [r13 + 0x298], edx
mov eax, dword [r13 + 0x198]
test eax, eax
jne 0x14015da96
movsxd rax, dword [r14 + 0x30]
xorps xmm8, xmm8
lea rcx, [rax + rax*2]
lea r12, [r9 + rcx*8]
movzx ebx, byte [r12]
inc rdi
mov r8d, dword [0x14023f7d0]
mov qword [rsp + 0x48], r12
mov qword [rbp - 0x80], rdi
cmp ebx, 0xb5
ja case.0x140155b40.89
movsxd rax, ebx
lea rcx, [0x140000000]
mov ecx, dword [rcx + rax*4 + 0x15dfec]
lea rax, [0x140000000]
add rcx, rax
jmp rcx
mov rcx, qword [rsp + 0x48]
movsxd rax, dword [rcx + 4]
sub rcx, r9
imul r8, rax, 0x38
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
mov word [r8 + r11 + 0x14], 4
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rax, rdx
cdqe
mov qword [r8 + r11], rax
jmp case.0x140155b40.9
movsxd rax, dword [r12 + 4]
imul rax, rax, 0x38
test byte [rax + r11 + 0x14], 4
je case.0x140155b40.89
mov rax, qword [rax + r11]
lea rcx, [rax + rax*2]
lea r12, [r9 + rcx*8]
mov r13, qword [rsp + 0x70]
add r12, 0x18
mov rdi, qword [rbp - 0x80]
jmp 0x140155b01
movsxd rax, dword [r12 + 4]
imul rcx, rax, 0x38
mov eax, dword [r12 + 0xc]
dec eax
cdqe
mov qword [rcx + r11], rax
mov word [rcx + r11 + 0x14], 4
cmp dword [r12 + 8], 0
jne 0x1401574bd
mov r13, qword [rsp + 0x70]
add r12, 0x18
mov rdi, qword [rbp - 0x80]
jmp 0x140155b01
movsxd rax, dword [r12 + 4]
xor r8d, r8d
imul rdx, rax, 0x38
mov rax, qword [rdx + r11]
lea rcx, [rax + rax*2]
mov eax, dword [r9 + rcx*8 + 8]
dec eax
mov word [rdx + r11 + 0x14], r8w
cdqe
xor edx, edx
lea rcx, [rax + rax*2]
lea r12, [r9 + rcx*8]
mov r13, qword [rsp + 0x70]
add r12, 0x18
mov rdi, qword [rbp - 0x80]
jmp 0x140155b01
mov rbx, qword [rsp + 0x48]
movsxd rax, dword [rbx + 4]
sub rbx, r9
imul r8, rax, 0x38
movabs rax, 0x2aaaaaaaaaaaaaab
imul rbx
mov word [r8 + r11 + 0x14], 4
movsxd rcx, dword [r8 + r11]
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rax, rdx
lea rcx, [rcx + rcx*2]
cdqe
lea r12, [r9 + rcx*8]
mov qword [r8 + r11], rax
xor edx, edx
mov r13, qword [rsp + 0x70]
add r12, 0x18
mov rdi, qword [rbp - 0x80]
jmp 0x140155b01
movsxd rax, dword [r12 + 0xc]
imul rcx, rax, 0x38
test byte [rcx + r11 + 0x14], 1
je case.0x140155b40.89
mov rcx, qword [r14 + 0x108]
test rcx, rcx
je 0x14015d4e2
cmp dword [r12 + 4], 0
jne 0x14015d4e2
mov rax, qword [rcx + 8]
mov qword [r14 + 0x108], rax
dec dword [r14 + 0x118]
mov rax, qword [r14 + 0x38]
mov qword [r13 + 0x78], rax
add qword [r13 + 0x80], rax
call fcn.14015ea70
cmp dword [r12 + 8], 4
jne 0x140155cf9
cdqe
lea rcx, [rax + rax*2]
mov rax, qword [r14 + 0x88]
mov eax, dword [rax + rcx*8 + 8]
dec eax
mov r9, qword [r14 + 0x88]
mov r11, qword [r14 + 0x68]
cdqe
mov qword [rsp + 0x58], r9
mov qword [rsp + 0x60], r11
lea rcx, [rax + rax*2]
lea r12, [r9 + rcx*8]
mov r10d, dword [rsp + 0x50]
xor edx, edx
mov r13, qword [rsp + 0x70]
add r12, 0x18
mov rdi, qword [rbp - 0x80]
jmp 0x140155b01
movsxd rax, dword [r12 + 8]
imul rcx, rax, 0x38
mov eax, 0x9000
add rcx, qword [r14 + 0x68]
test word [rcx + 0x14], ax
je 0x140155d5a
call fcn.140107260
mov r9, qword [rsp + 0x58]
mov rcx, rax
xor edx, edx
jmp 0x140155d60
mov word [rcx + 0x14], 4
movsxd rax, dword [r12 + 4]
mov qword [rcx], rax
mov r11, qword [rsp + 0x60]
mov r10d, dword [rsp + 0x50]
mov r13, qword [rsp + 0x70]
add r12, 0x18
mov rdi, qword [rbp - 0x80]
jmp 0x140155b01
movsxd rax, dword [r12 + 8]
imul rdx, rax, 0x38
mov eax, 0x9000
add rdx, qword [r14 + 0x68]
test word [rdx + 0x14], ax
je 0x140155dc1
mov rcx, rdx
call fcn.140107260
mov r9, qword [rsp + 0x58]
mov rdx, rax
mov rax, qword [r12 + 0x10]
mov r11, qword [rsp + 0x60]
mov rcx, qword [rax]
mov qword [rdx], rcx
jmp 0x140155d18
mov r11, qword [rsp + 0x60]
mov word [rdx + 0x14], 4
mov rax, qword [r12 + 0x10]
mov rcx, qword [rax]
mov qword [rdx], rcx
jmp 0x140155d18
movsxd rax, dword [r12 + 8]
imul rdx, rax, 0x38
mov eax, 0x9000
add rdx, qword [r14 + 0x68]
test word [rdx + 0x14], ax
je 0x140155e04
mov rcx, rdx
call fcn.140107260
mov r9, qword [rsp + 0x58]
mov rdx, rax
mov r11, qword [rsp + 0x60]
mov word [rdx + 0x14], 8
mov rax, qword [r12 + 0x10]
mov rcx, qword [rax]
mov qword [rdx], rcx
jmp 0x140155d18
movsxd rax, dword [r12 + 8]
imul rbx, rax, 0x38
mov eax, 0x9000
add rbx, qword [r14 + 0x68]
test word [rbx + 0x14], ax
je 0x140155e44
mov rcx, rbx
call fcn.140107260
mov rbx, rax
jmp 0x140155e4a
mov word [rbx + 0x14], 4
mov rdx, qword [r12 + 0x10]
test rdx, rdx
jne 0x140155e5a
xor ecx, ecx
mov eax, ecx
jmp 0x140155e71
mov rax, 0xffffffffffffffff
inc rax
cmp byte [rdx + rax], 0
jne 0x140155e61
and eax, 0x3fffffff
xor ecx, ecx
mov dword [r12 + 4], eax
cmp sil, 1
je 0x140155f17
mov qword [rsp + 0x20], rcx
mov r9b, 1
mov rcx, rbx
mov r8, 0xffffffffffffffff
call fcn.140160550
mov dword [rsp + 0x44], eax
mov r15d, eax
test eax, eax
jne 0x14015d947
test byte [rbx + 0x14], 2
jne 0x140155eb2
mov byte [rbx + 0x16], sil
jmp 0x140155ecc
cmp byte [rbx + 0x16], sil
je 0x140155ecc
movzx edx, sil
mov rcx, rbx
call fcn.140160950
test eax, eax
jne 0x140157c73
xor r8d, r8d
mov eax, 0x2000
mov dword [rbx + 0x20], r8d
or word [rbx + 0x14], ax
mov rax, qword [rsp + 0x48]
cmp byte [rax + 1], 0xfa
jne 0x140155efd
mov rdx, qword [rax + 0x10]
test rdx, rdx
je 0x140155efd
mov rcx, r13
call fcn.140125160
mov rax, qword [rsp + 0x48]
mov r12, qword [rsp + 0x48]
mov byte [rax + 1], 0xfa
mov rax, qword [rbx + 8]
mov qword [r12 + 0x10], rax
mov eax, dword [rbx + 0x10]
mov dword [r12 + 4], eax
cmp eax, dword [r13 + 0x88]
jg 0x14015d947
mov byte [r12], 0x49
movsxd rax, dword [r12 + 8]
imul rdx, rax, 0x38
mov eax, 0x9000
add rdx, qword [r14 + 0x68]
test word [rdx + 0x14], ax
je 0x140155f4c
mov rcx, rdx
call fcn.140107260
mov rdx, rax
mov r11, qword [rsp + 0x60]
mov word [rdx + 0x14], 0x2202
mov rax, qword [r12 + 0x10]
mov qword [rdx + 8], rax
mov eax, dword [r12 + 4]
mov dword [rdx + 0x10], eax
mov byte [rdx + 0x16], sil
movsxd rax, dword [r12 + 0xc]
test eax, eax
jle 0x14015a3f5
imul rcx, rax, 0x38
movzx eax, word [r12 + 2]
cmp qword [rcx + r11], rax
jne 0x14015a3f5
mov r10d, dword [rsp + 0x50]
mov word [rdx + 0x14], 0x2210
mov r9, qword [rsp + 0x58]
xor edx, edx
mov r13, qword [rsp + 0x70]
add r12, 0x18
mov rdi, qword [rbp - 0x80]
jmp 0x140155b01
mov rbx, qword [rsp + 0x48]
mov r13d, 0x9000
movsxd rax, dword [rbx + 8]
imul rcx, rax, 0x38
add rcx, qword [r14 + 0x68]
test word [rcx + 0x14], r13w
je 0x140155fdb
call fcn.140107260
mov rcx, rax
xor edx, edx
jmp 0x140155fe1
mov word [rcx + 0x14], 4
cmp dword [rbx + 4], 0
mov esi, 1
mov edi, dword [rbx + 0xc]
mov r8d, 0x101
mov eax, dword [rbx + 8]
cmovne si, r8w
sub edi, eax
mov word [rcx + 0x14], si
mov dword [rcx + 0x10], edx
lea rbx, [rcx + 0x14]
test edi, edi
jle 0x140156032
nop dword [rax]
test word [rbx + 0x38], r13w
lea rbx, [rbx + 0x38]
je 0x140156026
lea rcx, [rbx - 0x14]
call fcn.140174d90
xor edx, edx
dec edi
mov word [rbx], si
mov dword [rbx - 4], edx
test edi, edi
jg 0x140156010
mov r12, qword [rsp + 0x48]
mov r11, qword [rsp + 0x60]
movzx esi, byte [rsp + 0x40]
mov r10d, dword [rsp + 0x50]
mov r9, qword [rsp + 0x58]
mov r13, qword [rsp + 0x70]
add r12, 0x18
mov rdi, qword [rbp - 0x80]
jmp 0x140155b01
movsxd rax, dword [r12 + 4]
mov r8d, 0xffc1
imul rcx, rax, 0x38
movzx eax, word [rcx + r11 + 0x14]
and ax, r8w
or ax, 1
mov word [rcx + r11 + 0x14], ax
mov r13, qword [rsp + 0x70]
add r12, 0x18
mov rdi, qword [rbp - 0x80]
jmp 0x140155b01
movsxd rax, dword [r12 + 8]
mov ecx, 0x9000
imul rbx, rax, 0x38
add rbx, qword [r14 + 0x68]
test word [rbx + 0x14], cx
je 0x1401560bc
mov rcx, rbx
call fcn.140107260
mov rbx, rax
mov ecx, 0x9000
jmp 0x1401560c2
mov word [rbx + 0x14], 4
mov rax, qword [rsp + 0x48]
mov rdx, qword [rax + 0x10]
movsxd rdi, dword [rax + 4]
test rdx, rdx
jne 0x140156113
test word [rbx + 0x14], cx
jne 0x1401560df
cmp dword [rbx + 0x20], edx
je 0x1401560e7
mov rcx, rbx
call fcn.140174d40
xor eax, eax
mov word [rbx + 0x14], 0x410
mov dword [rbx + 0x10], eax
test edi, edi
mov rcx, rbx
cmovs edi, eax
mov dword [rbx], edi
mov byte [rbx + 0x16], 1
mov qword [rbx + 8], rax
call fcn.14015fd50
test eax, eax
jne 0x140157c6f
jmp 0x140156128
xor eax, eax
mov r8, rdi
xor r9d, r9d
mov qword [rsp + 0x20], rax
mov rcx, rbx
call fcn.140160550
mov byte [rbx + 0x16], sil
mov r12, qword [rsp + 0x48]
mov r11, qword [rsp + 0x60]
mov r10d, dword [rsp + 0x50]
mov r9, qword [rsp + 0x58]
xor edx, edx
mov r13, qword [rsp + 0x70]
add r12, 0x18
mov rdi, qword [rbp - 0x80]
jmp 0x140155b01
mov rbx, qword [rsp + 0x48]
mov rsi, qword [r14 + 0x80]
movsxd rax, dword [rbx + 4]
imul rdi, rax, 0x38
movzx eax, word [rdi + rsi - 0x24]
test al, 0x12
je 0x140156191
bt ax, 0xa
mov ecx, dword [rdi + rsi - 0x28]
jae 0x140156180
add ecx, dword [rdi + rsi - 0x38]
mov rax, qword [rdi + rsi - 0x20]
cmp ecx, dword [rax + 0x88]
jg 0x14015d940
movsxd rax, dword [rbx + 8]
imul rbx, rax, 0x38
mov eax, 0x9000
add rbx, r11
test word [rbx + 0x14], ax
je 0x1401561bb
mov rcx, rbx
call fcn.140174d90
mov r11, qword [rsp + 0x60]
xor edx, edx
mov r9, qword [rsp + 0x58]
movups xmm0, xmmword [rdi + rsi - 0x38]
mov r12, qword [rsp + 0x48]
mov ecx, 0xafff
mov r10d, dword [rsp + 0x50]
movups xmmword [rbx], xmm0
movsd xmm1, qword [rdi + rsi - 0x28]
movzx esi, byte [rsp + 0x40]
movsd qword [rbx + 0x10], xmm1
movzx eax, word [rbx + 0x14]
and ax, cx
mov ecx, 0x2040
or ax, cx
mov word [rbx + 0x14], ax
mov r13, qword [rsp + 0x70]
add r12, 0x18
mov rdi, qword [rbp - 0x80]
jmp 0x140155b01
mov rcx, qword [rsp + 0x48]
movsxd rax, dword [rcx + 4]
mov esi, dword [rcx + 0xc]
imul rdi, rax, 0x38
movsxd rax, dword [rcx + 8]
imul rbx, rax, 0x38
add rdi, r11
add rbx, r11
mov eax, 0x9000
test word [rbx + 0x14], ax
jne 0x140156236
cmp dword [rbx + 0x20], 0
je 0x140156240
mov rcx, rbx
call fcn.140174d40
xor edx, edx
movups xmm0, xmmword [rdi]
movups xmmword [rbx], xmm0
movups xmm1, xmmword [rdi + 0x10]
movups xmmword [rbx + 0x10], xmm1
movups xmm0, xmmword [rdi + 0x20]
movups xmmword [rbx + 0x20], xmm0
movsd xmm1, qword [rdi + 0x30]
movsd qword [rbx + 0x30], xmm1
mov word [rdi + 0x14], 1
mov dword [rdi + 0x20], edx
movzx eax, word [rbx + 0x14]
bt ax, 0xe
jae 0x1401562ba
test al, 0x12
je 0x1401562af
bt ax, 0xa
jae 0x14015628f
mov rcx, rbx
call fcn.14015fd50
test eax, eax
jne 0x140157c6f
cmp dword [rbx + 0x20], 0
je 0x14015629f
mov rax, qword [rbx + 0x28]
cmp qword [rbx + 8], rax
je 0x1401562af
mov rcx, rbx
call fcn.140174ce0
test eax, eax
jne 0x140157c6f
mov ecx, 0xbfff
and word [rbx + 0x14], cx
xor edx, edx
add rdi, 0x38
add rbx, 0x38
sub esi, 1
jne 0x140156225
mov r12, qword [rsp + 0x48]
mov r11, qword [rsp + 0x60]
movzx esi, byte [rsp + 0x40]
mov r10d, dword [rsp + 0x50]
mov r9, qword [rsp + 0x58]
mov r13, qword [rsp + 0x70]
add r12, 0x18
mov rdi, qword [rbp - 0x80]
jmp 0x140155b01
mov rbx, qword [rsp + 0x48]
mov r12, qword [rsp + 0x48]
movsxd rax, dword [rbx + 4]
mov esi, dword [rbx + 0xc]
imul rdi, rax, 0x38
movsxd rax, dword [rbx + 8]
imul rbx, rax, 0x38
add rdi, r11
add rbx, r11
nop dword [rax]
mov eax, 0x9000
test word [rbx + 0x14], ax
je 0x14015633e
mov r8d, 0x4000
mov rdx, rdi
mov rcx, rbx
call fcn.140173c80
jmp 0x14015636b
movups xmm0, xmmword [rdi]
mov eax, 0x2000
movups xmmword [rbx], xmm0
movsd xmm1, qword [rdi + 0x10]
movsd qword [rbx + 0x10], xmm1
test word [rdi + 0x14], ax
jne 0x14015636b
mov eax, 0xcfff
and word [rbx + 0x14], ax
mov eax, 0x4000
or word [rbx + 0x14], ax
movzx eax, word [rbx + 0x14]
bt ax, 0xe
jae 0x1401563be
test al, 0x12
je 0x1401563b1
bt ax, 0xa
jae 0x140156391
mov rcx, rbx
call fcn.14015fd50
test eax, eax
jne 0x140157c6f
cmp dword [rbx + 0x20], 0
je 0x1401563a1
mov rax, qword [rbx + 0x28]
cmp qword [rbx + 8], rax
je 0x1401563b1
mov rcx, rbx
call fcn.140174ce0
test eax, eax
jne 0x140157c6f
mov eax, 0xbfff
and ax, word [rbx + 0x14]
mov word [rbx + 0x14], ax
bt ax, 0xb
jae 0x1401563d9
test byte [r12 + 2], 2
je 0x1401563d9
mov ecx, 0xf7ff
and ax, cx
mov word [rbx + 0x14], ax
mov eax, esi
dec esi
test eax, eax
je 0x1401563ee
add rbx, 0x38
add rdi, 0x38
jmp 0x140156320
mov r11, qword [rsp + 0x60]
movzx esi, byte [rsp + 0x40]
mov r9, qword [rsp + 0x58]
jmp 0x140155d18
mov rcx, qword [rsp + 0x48]
mov r8d, 0x9000
movsxd rax, dword [rcx + 4]
imul rdx, rax, 0x38
movsxd rax, dword [rcx + 8]
imul rcx, rax, 0x38
add rdx, r11
add rcx, r11
test word [rcx + 0x14], r8w
je 0x14015643a
mov r8d, 0x4000
call fcn.140173c80
jmp 0x14015612c
movups xmm0, xmmword [rdx]
mov r12, qword [rsp + 0x48]
mov r8d, 0x2000
movups xmmword [rcx], xmm0
movsd xmm1, qword [rdx + 0x10]
movsd qword [rcx + 0x10], xmm1
test word [rdx + 0x14], r8w
jne 0x140155d1d
mov eax, 0xcfff
and word [rcx + 0x14], ax
mov eax, 0x4000
or word [rcx + 0x14], ax
xor edx, edx
mov r13, qword [rsp + 0x70]
add r12, 0x18
mov rdi, qword [rbp - 0x80]
jmp 0x140155b01
mov rcx, qword [rsp + 0x48]
movsxd rax, dword [rcx + 8]
imul r8, rax, 0x38
movsxd rax, dword [rcx + 4]
imul rcx, rax, 0x38
add r8, r11
mov rax, qword [rcx + r11]
mov ecx, 0x9000
test word [r8 + 0x14], cx
je 0x1401564be
mov rdx, rax
mov rcx, r8
call fcn.140176020
jmp 0x14015612c
mov qword [r8], rax
mov word [r8 + 0x14], 4
mov r12, qword [rsp + 0x48]
mov r13, qword [rsp + 0x70]
add r12, 0x18
mov rdi, qword [rbp - 0x80]
jmp 0x140155b01
cmp qword [r14 + 0x50], 0
jg 0x14015d5ed
mov r15d, edx
mov dword [rsp + 0x44], edx
mov r13, qword [rsp + 0x70]
add r12, 0x18
mov rdi, qword [rbp - 0x80]
jmp 0x140155b01
mov rbx, qword [rsp + 0x48]
movsxd rax, dword [rbx + 4]
imul r14, rax, 0x38
movsxd rax, dword [rbx + 8]
imul rdi, rax, 0x38
movsxd rax, dword [rbx + 0xc]
add r14, r11
imul rbx, rax, 0x38
movzx r15d, word [r14 + 0x14]
add rdi, r11
movzx eax, r15b
add rbx, r11
or al, byte [rdi + 0x14]
test al, 1
je 0x140156582
mov eax, 0x9000
test word [rbx + 0x14], ax
je 0x14015655b
mov rcx, rbx
call fcn.140174d90
mov r15d, dword [rsp + 0x44]
mov r14, qword [rsp + 0x78]
jmp 0x14015612c
mov r15d, dword [rsp + 0x44]
mov r12, qword [rsp + 0x48]
mov r14, qword [rsp + 0x78]
mov word [rbx + 0x14], 1
mov r13, qword [rsp + 0x70]
add r12, 0x18
mov rdi, qword [rbp - 0x80]
jmp 0x140155b01
test r15b, 0x12
jne 0x1401565b5
xor r8d, r8d
movzx edx, sil
mov rcx, r14
call fcn.140160890
test eax, eax
jne 0x140157c6a
movzx r15d, word [r14 + 0x14]
mov r12d, 0xfffd
and r15w, r12w
mov eax, 0x400
jmp 0x1401565d0
mov eax, 0x400
test ax, r15w
je 0x1401565ca
mov rcx, r14
call fcn.14015fd50
jmp 0x140156597
mov r12d, 0xfffd
movzx esi, word [rdi + 0x14]
test sil, 0x12
jne 0x1401565ec
movzx edx, byte [rsp + 0x40]
xor r8d, r8d
mov rcx, rdi
call fcn.140160890
jmp 0x1401565f9
test ax, si
je 0x140156609
mov rcx, rdi
call fcn.14015fd50
test eax, eax
jne 0x140157c6a
movzx esi, word [rdi + 0x14]
and si, r12w
mov edx, dword [rdi + 0x10]
add edx, dword [r14 + 0x10]
movsxd rax, dword [r13 + 0x88]
movsxd r12, edx
cmp r12, rax
jg 0x14015d939
xor eax, eax
mov rcx, rbx
mov r8d, eax
cmp rbx, rdi
sete r8b
add edx, 2
call fcn.14015fff0
test eax, eax
jne 0x140157c6a
movzx eax, word [rbx + 0x14]
mov ecx, 0xf242
and ax, cx
or ax, 2
mov word [rbx + 0x14], ax
cmp rbx, rdi
je 0x140156670
movsxd r8, dword [rdi + 0x10]
mov rdx, qword [rdi + 8]
mov rcx, qword [rbx + 8]
call fcn.1401b9820
mov word [rdi + 0x14], si
movsxd rcx, dword [rdi + 0x10]
add rcx, qword [rbx + 8]
movsxd r8, dword [r14 + 0x10]
mov rdx, qword [r14 + 8]
call fcn.1401b9820
movzx esi, byte [rsp + 0x40]
mov word [r14 + 0x14], r15w
cmp sil, 1
jbe 0x140156699
and r12, 0xfffffffffffffffe
mov rax, qword [rbx + 8]
mov r15d, dword [rsp + 0x44]
mov r14, qword [rsp + 0x78]
mov byte [r12 + rax], 0
mov rax, qword [rbx + 8]
mov byte [rax + r12 + 1], 0
mov eax, 0x200
or word [rbx + 0x14], ax
mov dword [rbx + 0x10], r12d
jmp 0x140156128
mov rcx, qword [rsp + 0x48]
mov r12, qword [rsp + 0x48]
movsxd rax, dword [rcx + 4]
imul rsi, rax, 0x38
movsxd rax, dword [rcx + 8]
imul rdi, rax, 0x38
movsxd rax, dword [r12 + 0xc]
add rsi, r11
imul r14, rax, 0x38
movzx ebx, word [rsi + 0x14]
add rdi, r11
add r14, r11
movzx ecx, word [rdi + 0x14]
movzx eax, cl
and al, bl
test al, 4
jne 0x14015673f
or cl, bl
test cl, 1
jne 0x140156a24
and bx, 0x2d
jne 0x140156721
mov rcx, rsi
call fcn.1400e9730
movzx ebx, ax
movzx eax, word [rdi + 0x14]
and ax, 0x2d
jne 0x140156733
mov rcx, rdi
call fcn.1400e9730
and al, bl
test al, 4
je 0x140156928
xor edx, edx
movzx ecx, byte [r12]
mov r9, qword [rsi]
mov r8, qword [rdi]
sub ecx, 0x6a
je 0x1401568c6
sub ecx, 1
je 0x140156859
sub ecx, 1
je 0x1401567be
cmp ecx, 1
je 0x14015678c
test r9, r9
je 0x140156a1f
cmp r9, 0xffffffffffffffff
mov eax, 1
cmove r9, rax
mov rax, r8
cqo
idiv r9
mov r8, rdx
jmp 0x1401568e5
test r9, r9
je 0x140156a1f
cmp r9, 0xffffffffffffffff
jne 0x1401567ae
movabs rcx, 0x8000000000000000
cmp r8, rcx
je 0x140156928
mov rax, r8
cqo
idiv r9
mov r8, rax
jmp 0x1401568e5
test r9, r9
jle 0x1401567f4
movabs rax, 0x7fffffffffffffff
cqo
idiv r9
cmp r8, rax
jg 0x140156928
movabs rax, 0x8000000000000000
cqo
idiv r9
cmp r8, rax
jge 0x140156850
jmp 0x140156928
jns 0x140156850
test r8, r8
jle 0x140156814
movabs rax, 0x8000000000000000
cqo
idiv r8
cmp r9, rax
jge 0x140156850
jmp 0x140156928
jns 0x140156850
movabs rcx, 0x8000000000000000
cmp r9, rcx
je 0x140156928
cmp r8, rcx
je 0x140156928
movabs rax, 0x8000000000000001
mov rcx, r8
cqo
neg rcx
idiv r9
cmp rcx, rax
jg 0x140156928
imul r8, r9
jmp 0x1401568e5
movabs rcx, 0x8000000000000000
cmp r9, rcx
jne 0x140156876
test r8, r8
jns 0x140156928
sub r8, rcx
jmp 0x1401568e5
neg r9
js 0x140156899
test r8, r8
jle 0x1401568bb
movabs rax, 0x7fffffffffffffff
sub rax, r8
cmp rax, r9
jge 0x1401568bb
mov eax, 1
jmp 0x1401568c0
test r8, r8
jns 0x1401568bb
movabs rax, 0x8000000000000001
lea rcx, [r9 + 1]
sub rax, r8
cmp rax, rcx
jle 0x1401568bb
mov eax, 1
jmp 0x1401568c0
add r8, r9
mov eax, edx
test eax, eax
jne 0x140156928
jmp 0x1401568e5
test r9, r9
js 0x14015690d
test r8, r8
jle 0x1401568e2
movabs rax, 0x7fffffffffffffff
sub rax, r8
cmp rax, r9
jl 0x140156928
add r8, r9
movzx esi, byte [rsp + 0x40]
mov ecx, 0xf244
mov qword [r14], r8
movzx eax, word [r14 + 0x14]
and ax, cx
or ax, 4
mov word [r14 + 0x14], ax
mov r14, qword [rsp + 0x78]
jmp 0x140156131
test r8, r8
jns 0x1401568e2
movabs rax, 0x8000000000000001
lea rcx, [r9 + 1]
sub rax, r8
cmp rax, rcx
jle 0x1401568e2
movzx eax, word [rsi + 0x14]
test al, 8
je 0x140156936
movsd xmm6, qword [rsi]
jmp 0x140156959
test al, 0x24
je 0x140156944
xorps xmm6, xmm6
cvtsi2sd xmm6, qword [rsi]
jmp 0x140156959
test al, 0x12
je 0x140156955
mov rcx, rsi
call fcn.140103420
movaps xmm6, xmm0
jmp 0x140156959
movaps xmm6, xmm8
movzx eax, word [rdi + 0x14]
test al, 8
je 0x140156967
movsd xmm0, qword [rdi]
jmp 0x140156987
test al, 0x24
je 0x140156975
xorps xmm0, xmm0
cvtsi2sd xmm0, qword [rdi]
jmp 0x140156987
test al, 0x12
je 0x140156983
mov rcx, rdi
call fcn.140103420
jmp 0x140156987
movaps xmm0, xmm8
movzx ecx, byte [r12]
sub ecx, 0x6a
je 0x1401569ef
sub ecx, 1
je 0x1401569e9
sub ecx, 1
je 0x1401569e3
cmp ecx, 1
je 0x1401569d4
mov rcx, rsi
call fcn.1400be730
mov rcx, rdi
mov rbx, rax
call fcn.1400be730
test rbx, rbx
je 0x140156a1f
cmp rbx, 0xffffffffffffffff
mov ecx, 1
cqo
xorps xmm0, xmm0
cmove rbx, rcx
idiv rbx
cvtsi2sd xmm0, rdx
jmp 0x1401569f3
ucomisd xmm6, xmm8
jp 0x1401569dd
je 0x140156a1f
divsd xmm0, xmm6
jmp 0x1401569f3
mulsd xmm0, xmm6
jmp 0x1401569f3
subsd xmm0, xmm6
jmp 0x1401569f3
addsd xmm0, xmm6
movq rax, xmm0
movabs rcx, 0xfffffffffffff
test rcx, rax
movabs rdx, 0x7ff0000000000000
setne cl
and rax, rdx
cmp rax, rdx
sete al
test al, cl
je 0x140156a62
mov r9, qword [rsp + 0x58]
mov eax, 0x9000
test word [r14 + 0x14], ax
je 0x140156a47
mov rcx, r14
call fcn.140174d90
mov r14, qword [rsp + 0x78]
movzx esi, byte [rsp + 0x40]
jmp 0x140156131
mov r11, qword [rsp + 0x60]
movzx esi, byte [rsp + 0x40]
mov word [r14 + 0x14], 1
mov r14, qword [rsp + 0x78]
jmp 0x140155d18
movzx esi, byte [rsp + 0x40]
mov ecx, 0xf248
movsd qword [r14], xmm0
movzx eax, word [r14 + 0x14]
and ax, cx
or ax, 8
mov word [r14 + 0x14], ax
mov r14, qword [rsp + 0x78]
jmp 0x140156131
movsxd rax, dword [r12 + 4]
test eax, eax
je case.0x140155b40.89
imul rcx, rax, 0x38
mov eax, 0x9000
add rcx, r11
test word [rcx + 0x14], ax
je 0x140156ab7
xor edx, edx
call fcn.140176020
jmp 0x140156131
mov qword [rcx], rdx
mov word [rcx + 0x14], 4
mov r13, qword [rsp + 0x70]
add r12, 0x18
mov rdi, qword [rbp - 0x80]
jmp 0x140155b01
mov rcx, qword [rsp + 0x48]
mov r12, qword [rsp + 0x48]
movsxd rax, dword [rcx + 4]
imul rdi, rax, 0x38
movsxd rax, dword [rcx + 8]
imul rcx, rax, 0x38
movsxd rax, dword [r12 + 0xc]
add rdi, r11
imul rsi, rax, 0x38
add rcx, r11
add rsi, r11
movzx eax, byte [rcx + 0x14]
or al, byte [rdi + 0x14]
test al, 1
je 0x140156b43
mov eax, 0x9000
test word [rsi + 0x14], ax
je 0x140156b26
mov rcx, rsi
call fcn.140174d90
movzx esi, byte [rsp + 0x40]
jmp 0x140156131
mov word [rsi + 0x14], 1
movzx esi, byte [rsp + 0x40]
mov r13, qword [rsp + 0x70]
add r12, 0x18
mov rdi, qword [rbp - 0x80]
jmp 0x140155b01
call fcn.1400be730
mov rcx, rdi
mov rbx, rax
call fcn.1400be730
movzx ecx, byte [r12]
mov rdx, rax
cmp cl, 0x66
jne 0x140156b65
and rbx, rax
jmp 0x140156bda
cmp cl, 0x67
jne 0x140156b6f
or rbx, rdx
jmp 0x140156bda
test rdx, rdx
je 0x140156bda
jns 0x140156b89
mov eax, 0xd1
sub al, cl
movzx ecx, al
cmp rdx, 0xffffffffffffffc0
jle 0x140156b8f
neg rdx
cmp rdx, 0x40
jl 0x140156ba8
test rbx, rbx
jns 0x140156ba2
cmp cl, 0x68
je 0x140156ba2
mov rbx, 0xffffffffffffffff
jmp 0x140156bda
xor eax, eax
mov ebx, eax
jmp 0x140156bda
cmp cl, 0x68
mov rcx, rdx
jne 0x140156bb8
shl rbx, cl
mov r8, rbx
jmp 0x140156bd7
mov r8, rbx
shr r8, cl
test rbx, rbx
jns 0x140156bd7
mov ecx, 0x40
mov rax, 0xffffffffffffffff
sub cl, dl
shl rax, cl
or r8, rax
mov rbx, r8
mov qword [rsi], rbx
mov ecx, 0xf244
movzx eax, word [rsi + 0x14]
and ax, cx
or ax, 4
mov word [rsi + 0x14], ax
movzx esi, byte [rsp + 0x40]
jmp 0x140156131
movsxd rax, dword [r12 + 4]
imul rbx, rax, 0x38
add rbx, r11
mov rcx, rbx
call fcn.140160170
movsxd rax, dword [r12 + 8]
add qword [rbx], rax
jmp 0x140156131
movsxd rax, dword [r12 + 4]
imul rbx, rax, 0x38
add rbx, r11
movzx ecx, word [rbx + 0x14]
test cl, 4
jne 0x140156c85
test cl, 0x28
jne 0x140156c54
test cl, 2
je 0x140156c5e
mov edx, 1
mov rcx, rbx
call fcn.1400decb0
mov r11, qword [rsp + 0x60]
mov r9, qword [rsp + 0x58]
jmp 0x140156c5c
mov rcx, rbx
call fcn.14015f2f0
xor edx, edx
movzx eax, word [rbx + 0x14]
movzx ecx, ax
test al, 4
jne 0x140156c85
cmp dword [r12 + 8], 0
jne 0x1401574bd
mov r13, qword [rsp + 0x48]
mov r15d, socket
jmp 0x14015d24b
mov r10d, dword [rsp + 0x50]
mov eax, 0xf244
and cx, ax
or cx, 4
mov word [rbx + 0x14], cx
mov r13, qword [rsp + 0x70]
add r12, 0x18
mov rdi, qword [rbp - 0x80]
jmp 0x140155b01
movsxd rax, dword [r12 + 4]
imul rcx, rax, 0x38
add rcx, r11
movzx eax, word [rcx + 0x14]
test al, 0x24
je case.0x140155b40.89
test al, 8
je 0x140156cce
movsd xmm0, qword [rcx]
jmp 0x140156cd6
xorps xmm0, xmm0
cvtsi2sd xmm0, qword [rcx]
mov r8d, 0xf248
movsd qword [rcx], xmm0
and ax, r8w
or ax, 8
mov word [rcx + 0x14], ax
mov r13, qword [rsp + 0x70]
add r12, 0x18
mov rdi, qword [rbp - 0x80]
jmp 0x140155b01
movsxd rax, dword [r12 + 4]
imul rbx, rax, 0x38
mov eax, 0x400
add rbx, r11
test word [rbx + 0x14], ax
je 0x140156d28
mov rcx, rbx
call fcn.14015fd50
mov r15d, eax
test eax, eax
jne 0x14015d61f
movzx edx, byte [r12 + 8]
movzx r8d, sil
mov rcx, rbx
call fcn.14015fb20
mov dword [rsp + 0x44], eax
mov r15d, eax
test eax, eax
jne 0x14015d61f
jmp 0x140156131
mov rcx, qword [rsp + 0x48]
mov r12, qword [rsp + 0x48]
movsxd rax, dword [rcx + 4]
imul r15, rax, 0x38
movsxd rax, dword [rcx + 0xc]
imul r14, rax, 0x38
add r15, r11
add r14, r11
movzx esi, word [r15 + 0x14]
movzx edi, word [r14 + 0x14]
movzx ecx, di
and cx, si
test cl, 4
je 0x140156e15
mov rax, qword [r14]
cmp rax, qword [r15]
jle 0x140156da0
mov rax, qword [str.8.__]
xor edx, edx
cmp byte [rbx + rax], dl
jmp 0x140156e73
mov r15d, dword [rsp + 0x44]
jge 0x140156de0
mov rax, qword [str._.__]
xor edx, edx
cmp byte [rbx + rax], dl
jne 0x1401574bd
mov r14, qword [rsp + 0x78]
mov r10d, 0xffffffff
movzx esi, byte [rsp + 0x40]
mov dword [rsp + 0x50], r10d
mov r13, qword [rsp + 0x70]
add r12, 0x18
mov rdi, qword [rbp - 0x80]
jmp 0x140155b01
mov rax, qword [str.2.__]
xor edx, edx
cmp byte [rbx + rax], dl
jne 0x1401574bd
mov r14, qword [rsp + 0x78]
mov r10d, edx
movzx esi, byte [rsp + 0x40]
mov dword [rsp + 0x50], edx
mov r13, qword [rsp + 0x70]
add r12, 0x18
mov rdi, qword [rbp - 0x80]
jmp 0x140155b01
movzx eax, di
or ax, si
test al, 1
je 0x140156ea6
movzx eax, word [r12 + 2]
test al, al
jns 0x140156e71
test cl, 1
je 0x140156e56
mov eax, 0x100
test ax, di
jne 0x140156e56
mov rax, qword [str.2.__]
mov dword [rsp + 0x50], edx
mov r10d, dword [rsp + 0x50]
movzx edx, byte [r12]
jmp 0x140156fc1
movzx eax, di
not ax
and eax, 1
lea r10d, [rax*2 - 1]
mov dword [rsp + 0x50], r10d
jmp 0x140156f83
test al, 0x10
mov r15d, dword [rsp + 0x44]
jne 0x1401574bd
mov eax, 1
mov r10d, eax
mov dword [rsp + 0x50], eax
mov r14, qword [rsp + 0x78]
movzx esi, byte [rsp + 0x40]
mov r13, qword [rsp + 0x70]
add r12, 0x18
mov rdi, qword [rbp - 0x80]
jmp 0x140155b01
movzx ecx, byte [r12 + 2]
and cl, 0x47
cmp cl, 0x43
jb 0x140156eef
test al, 2
je 0x140156f67
movzx eax, sil
and al, 0x2e
cmp al, 2
jne 0x140156ed5
xor edx, edx
mov rcx, r15
call fcn.1400decb0
movzx edi, word [r14 + 0x14]
movzx eax, dil
and al, 0x2e
cmp al, 2
jne 0x140156f67
xor edx, edx
mov rcx, r14
call fcn.1400decb0
jmp 0x140156f67
cmp cl, 0x42
jne 0x140156f67
test al, 2
je 0x140156f67
movzx ebx, byte [rsp + 0x40]
test sil, 2
jne 0x140156f39
test sil, 0x2c
je 0x140156f39
mov r8b, 1
movzx edx, bl
mov rcx, r15
call fcn.140160890
xor si, word [r15 + 0x14]
mov r13d, 0xdbf
and si, r13w
xor si, word [r15 + 0x14]
cmp r15, r14
jne 0x140156f3f
movzx edi, si
or di, 2
jmp 0x140156f3f
mov r13d, 0xdbf
test dil, 2
jne 0x140156f67
test dil, 0x2c
je 0x140156f67
mov r8b, 1
movzx edx, bl
mov rcx, r14
call fcn.140160890
xor di, word [r14 + 0x14]
and di, r13w
xor di, word [r14 + 0x14]
mov r8, qword [r12 + 0x10]
mov rdx, r15
mov rcx, r14
call fcn.14013bf00
mov r11, qword [rsp + 0x60]
mov r10d, eax
mov dword [rsp + 0x50], eax
mov ecx, r10d
test r10d, r10d
jns 0x140156f9d
movzx ecx, byte [r12]
mov rax, qword [str._.__]
movzx edx, byte [rcx + rax]
jmp 0x140156fc5
movzx edx, byte [r12]
mov dword [rsp + 0x50], ecx
test ecx, ecx
jne 0x140156fb6
mov rax, qword [str.2.__]
mov r10d, ecx
jmp 0x140156fc1
mov rax, qword [str.8.__]
mov dword [rsp + 0x50], ecx
movzx edx, byte [rdx + rax]
mov r9, qword [rsp + 0x58]
mov word [r14 + 0x14], di
mov word [r15 + 0x14], si
mov r15d, dword [rsp + 0x44]
test dl, dl
jne 0x1401574bb
mov r14, qword [rsp + 0x78]
xor edx, edx
movzx esi, byte [rsp + 0x40]
mov r13, qword [rsp + 0x70]
add r12, 0x18
mov rdi, qword [rbp - 0x80]
jmp 0x140155b01
test r10d, r10d
je 0x1401574bd
mov r13, qword [rsp + 0x70]
add r12, 0x18
mov rdi, qword [rbp - 0x80]
jmp 0x140155b01
mov rax, qword [rsp + 0x48]
test byte [rax + 2], 1
jne 0x14015702a
mov r13, rdx
jmp 0x140157032
mov r13, qword [rax - 8]
add r13, 4
mov rcx, qword [rax + 0x10]
mov esi, edx
mov r8d, dword [rax + 4]
mov rbx, rdx
mov r9d, dword [rax + 8]
movsxd rax, dword [rax + 0xc]
mov qword [rbp - 0x60], rcx
mov dword [rbp - 0x70], r8d
mov dword [rbp - 0x78], r9d
mov qword [rbp - 0x50], rax
test rax, rax
jle 0x14015d4d3
lea r14, [rcx + 0x20]
test r13, r13
je 0x140157070
mov edx, dword [r13 + rbx*4]
jmp 0x140157072
mov edx, esi
mov rax, qword [rcx + 0x18]
lea ecx, [rdx + r9]
imul r12, rcx, 0x38
movzx edi, byte [rax + rbx]
lea ecx, [rdx + r8]
mov r8, qword [r14]
add r12, r11
imul r15, rcx, 0x38
mov rdx, r12
and edi, 1
add r15, r11
mov rcx, r15
call fcn.14013bf00
mov dword [rsp + 0x50], eax
mov r10d, eax
test eax, eax
jne 0x1401570e5
mov rcx, qword [rbp - 0x60]
inc esi
mov r8d, dword [rbp - 0x70]
inc rbx
mov r9d, dword [rbp - 0x78]
add r14, 8
mov r11, qword [rsp + 0x60]
cmp rbx, qword [rbp - 0x50]
jl 0x140157064
mov r15d, dword [rsp + 0x44]
mov r12, qword [rsp + 0x48]
mov r14, qword [rsp + 0x78]
movzx esi, byte [rsp + 0x40]
jmp 0x14015613b
mov rax, qword [rbp - 0x60]
mov rax, qword [rax + 0x18]
test byte [rbx + rax], 2
je 0x14015710a
test byte [r15 + 0x14], 1
jne 0x140157102
test byte [r12 + 0x14], 1
je 0x14015710a
neg r10d
mov dword [rsp + 0x50], r10d
mov r15d, dword [rsp + 0x44]
mov r12, qword [rsp + 0x48]
mov r14, qword [rsp + 0x78]
mov r11, qword [rsp + 0x60]
movzx esi, byte [rsp + 0x40]
mov r9, qword [rsp + 0x58]
test edi, edi
je 0x140155d1d
neg r10d
mov dword [rsp + 0x50], r10d
xor edx, edx
mov r13, qword [rsp + 0x70]
add r12, 0x18
mov rdi, qword [rbp - 0x80]
jmp 0x140155b01
test r10d, r10d
jns 0x140157174
mov eax, dword [r12 + 4]
dec eax
cdqe
lea rcx, [rax + rax*2]
lea r12, [r9 + rcx*8]
mov r13, qword [rsp + 0x70]
add r12, 0x18
mov rdi, qword [rbp - 0x80]
jmp 0x140155b01
jne 0x140157199
mov eax, dword [r12 + 8]
dec eax
cdqe
lea rcx, [rax + rax*2]
lea r12, [r9 + rcx*8]
mov r13, qword [rsp + 0x70]
add r12, 0x18
mov rdi, qword [rbp - 0x80]
jmp 0x140155b01
mov eax, dword [r12 + 0xc]
dec eax
cdqe
lea rcx, [rax + rax*2]
lea r12, [r9 + rcx*8]
mov r13, qword [rsp + 0x70]
add r12, 0x18
mov rdi, qword [rbp - 0x80]
jmp 0x140155b01
mov r13, qword [rsp + 0x48]
mov edi, 2
mov edx, edi
movsxd rax, dword [r13 + 4]
imul rcx, rax, 0x38
add rcx, r11
call fcn.140154f10
movsxd rcx, dword [r13 + 8]
mov edx, edi
imul rcx, rcx, 0x38
mov ebx, eax
add rcx, qword [rsp + 0x60]
call fcn.140154f10
lea rcx, [0x140000000]
lea eax, [rax + rbx*2]
add eax, ebx
movsxd rdx, eax
mov rax, r13
cmp byte [rax], 0x2c
jne 0x14015720f
movzx edx, byte [rdx + rcx + 0x204868]
jmp 0x140157217
movzx edx, byte [rdx + rcx + 0x204878]
movsxd rax, dword [rax + 0xc]
mov r11, qword [rsp + 0x60]
imul rcx, rax, 0x38
add rcx, r11
cmp dl, dil
jne 0x140157248
movzx eax, word [rcx + 0x14]
mov edx, 0xf241
and ax, dx
mov r12, r13
or ax, 1
mov word [rcx + 0x14], ax
jmp 0x140156136
movzx eax, dl
mov r12, r13
mov qword [rcx], rax
mov edx, 0xf244
movzx eax, word [rcx + 0x14]
and ax, dx
or ax, 4
mov word [rcx + 0x14], ax
jmp 0x140156136
mov rbx, qword [rsp + 0x48]
movsxd rax, dword [rbx + 4]
mov edx, dword [rbx + 0xc]
imul rcx, rax, 0x38
add rcx, r11
call fcn.140154f10
movsxd rdx, dword [rbx + 0x10]
mov r11, qword [rsp + 0x60]
movsxd rcx, eax
mov rax, rbx
movsxd rax, dword [rbx + 8]
xor rdx, rcx
imul rcx, rax, 0x38
mov eax, 0x9000
add rcx, r11
test word [rcx + 0x14], ax
je 0x1401572b7
call fcn.140176020
mov r12, rbx
jmp 0x140156131
mov qword [rcx], rdx
mov r12, rbx
mov word [rcx + 0x14], 4
jmp 0x140156136
mov rbx, qword [rsp + 0x48]
movsxd rax, dword [rbx + 4]
imul rcx, rax, 0x38
movsxd rax, dword [rbx + 8]
imul rbx, rax, 0x38
add rcx, r11
add rbx, r11
movzx eax, word [rcx + 0x14]
test al, 1
jne 0x14015cb9f
test al, 0x24
je 0x1401572ff
cmp qword [rcx], 0
mov rax, rdx
sete al
jmp 0x140157331
test al, 8
je 0x140157309
movsd xmm0, qword [rcx]
jmp 0x14015731e
test al, 0x12
je 0x14015732c
call fcn.140103420
mov r11, qword [rsp + 0x60]
xor edx, edx
mov r9, qword [rsp + 0x58]
ucomisd xmm0, xmm8
jp 0x140157327
je 0x14015732c
mov rax, rdx
jmp 0x140157331
mov eax, 1
mov ecx, 0x9000
test word [rbx + 0x14], cx
je 0x14015734c
mov rdx, rax
mov rcx, rbx
call fcn.140176020
jmp 0x14015612c
mov qword [rbx], rax
mov word [rbx + 0x14], 4
mov r12, qword [rsp + 0x48]
mov r10d, dword [rsp + 0x50]
mov r13, qword [rsp + 0x70]
add r12, 0x18
mov rdi, qword [rbp - 0x80]
jmp 0x140155b01
mov r12, qword [rsp + 0x48]
mov word [rbx + 0x14], 1
mov r13, qword [rsp + 0x70]
add r12, 0x18
mov rdi, qword [rbp - 0x80]
jmp 0x140155b01
mov rbx, qword [rsp + 0x48]
movsxd rax, dword [rbx + 4]
imul rdi, rax, 0x38
movsxd rax, dword [rbx + 8]
imul rbx, rax, 0x38
add rdi, r11
mov eax, 0x9000
add rbx, r11
test word [rbx + 0x14], ax
je 0x1401573ca
mov rcx, rbx
call fcn.140174d90
mov r11, qword [rsp + 0x60]
xor edx, edx
mov r9, qword [rsp + 0x58]
jmp 0x1401573d0
mov word [rbx + 0x14], 1
test byte [rdi + 0x14], 1
jne 0x140157355
mov rcx, rdi
mov word [rbx + 0x14], 4
call fcn.1400be730
not rax
mov qword [rbx], rax
jmp 0x14015612c
mov r8, qword [r14 + 0x108]
test r8, r8
je 0x14015746a
mov r9, qword [r8 + 0x28]
mov rcx, r12
sub rcx, qword [r14 + 0x88]
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov ecx, edx
and edx, 7
shr rcx, 3
movzx eax, byte [rcx + r9]
bt eax, edx
jb 0x1401574b6
bts eax, edx
mov byte [rcx + r9], al
xor edx, edx
mov rax, qword [r14 + 0x88]
mov r9, qword [rsp + 0x58]
mov ecx, dword [rax + 4]
mov dword [r12 + 4], ecx
mov r13, qword [rsp + 0x70]
add r12, 0x18
mov rdi, qword [rbp - 0x80]
jmp 0x140155b01
mov rcx, qword [r14 + 0x88]
mov eax, dword [r12 + 4]
cmp dword [rcx + 4], eax
je 0x1401574bd
mov rax, rcx
mov ecx, dword [rcx + 4]
mov dword [r12 + 4], ecx
mov r13, qword [rsp + 0x70]
add r12, 0x18
mov rdi, qword [rbp - 0x80]
jmp 0x140155b01
movsxd rax, dword [r12 + 4]
mov edx, dword [r12 + 0xc]
imul rcx, rax, 0x38
add rcx, r11
call fcn.140154f10
test eax, eax
je 0x140156131
mov r9, qword [rsp + 0x58]
xor edx, edx
mov eax, dword [r12 + 8]
mov r14, qword [rsp + 0x78]
dec eax
mov r11, qword [rsp + 0x60]
movzx esi, byte [rsp + 0x40]
mov r10d, dword [rsp + 0x50]
cdqe
lea rcx, [rax + rax*2]
lea r12, [r9 + rcx*8]
mov r13, qword [rsp + 0x70]
add r12, 0x18
mov rdi, qword [rbp - 0x80]
jmp 0x140155b01
mov rax, qword [rsp + 0x48]
cmp dword [rax + 0xc], 0
movsxd rax, dword [rax + 4]
sete dl
imul rcx, rax, 0x38
add rcx, r11
call fcn.140154f10
mov r12, qword [rsp + 0x48]
test eax, eax
jne 0x140156131
jmp 0x1401574b6
movsxd rax, dword [r12 + 4]
imul rcx, rax, 0x38
test byte [rcx + r11 + 0x14], 1
jne 0x1401574bd
mov r13, qword [rsp + 0x70]
add r12, 0x18
mov rdi, qword [rbp - 0x80]
jmp 0x140155b01
mov rcx, qword [rsp + 0x48]
mov r12, rcx
movsxd rax, dword [rcx + 4]
test eax, eax
js 0x1401575b1
movsxd rdx, dword [r12 + 0xc]
mov rcx, rax
mov rax, qword [r14 + 0x78]
mov rcx, qword [rax + rcx*8]
movzx eax, word [rcx + 0x4a]
cmp edx, eax
jge 0x14015759e
mov ecx, dword [rcx + rdx*4 + 0x78]
cmp ecx, 0xc
jb 0x140157588
test cl, 1
mov eax, 4
mov ecx, 8
cmove ax, cx
xor edx, edx
jmp 0x1401575db
mov rax, rcx
xor edx, edx
lea rcx, [0x140000000]
movzx eax, byte [rax + rcx + 0x204888]
jmp 0x1401575db
mov ecx, dword [r12 + 0x10]
mov eax, 1
dec ecx
shl ax, cl
xor edx, edx
jmp 0x1401575db
movsxd rax, dword [rcx + 0xc]
imul rcx, rax, 0x38
movzx eax, word [rcx + r11 + 0x14]
lea rcx, [0x140000000]
and eax, 0x3f
movzx ecx, byte [rax + rcx + 0x2032a0]
mov eax, 1
dec ecx
shl ax, cl
test word [r12 + 2], ax
jne 0x1401574bd
mov r13, qword [rsp + 0x70]
add r12, 0x18
mov rdi, qword [rbp - 0x80]
jmp 0x140155b01
movsxd rax, dword [r12 + 4]
imul rcx, rax, 0x38
test byte [rcx + r11 + 0x14], 1
jne 0x140157625
movsxd rax, dword [r12 + 0xc]
imul rcx, rax, 0x38
test byte [rcx + r11 + 0x14], 1
jne 0x140157625
movsxd rax, dword [r12 + 8]
jmp 0x140156a99
movsxd rax, dword [r12 + 8]
imul rcx, rax, 0x38
mov eax, 0x9000
add rcx, r11
test word [rcx + 0x14], ax
je 0x140157646
call fcn.140174d90
jmp 0x140156131
mov word [rcx + 0x14], 1
mov r13, qword [rsp + 0x70]
add r12, 0x18
mov rdi, qword [rbp - 0x80]
jmp 0x140155b01
movsxd rax, dword [r12 + 4]
imul rcx, rax, 0x38
test byte [rcx + r11 + 0x14], 1
je 0x1401574bd
mov r13, qword [rsp + 0x70]
add r12, 0x18
mov rdi, qword [rbp - 0x80]
jmp 0x140155b01
movsxd rcx, dword [r12 + 4]
mov rax, qword [r14 + 0x78]
mov rdx, qword [rax + rcx*8]
test rdx, rdx
je 0x140155d1d
cmp byte [rdx + 2], 0
je 0x140155d1d
movsxd rax, dword [r12 + 0xc]
imul rcx, rax, 0x38
mov eax, 0x9000
add rcx, r11
test word [rcx + 0x14], ax
je 0x1401576c6
call fcn.140174d90
jmp 0x1401574b6
mov word [rcx + 0x14], 1
jmp 0x1401574bb
movsxd rcx, dword [r12 + 4]
mov rax, qword [r14 + 0x78]
mov r12, qword [rsp + 0x78]
mov rbx, qword [rax + rcx*8]
mov rcx, qword [rsp + 0x48]
mov r14d, dword [rcx + 8]
mov dword [rbp - 0x78], r14d
mov r13, qword [rbx + 0x58]
mov eax, dword [r12 + 0x2c]
mov qword [rbp - 0x50], r13
cmp dword [rbx + 0x20], eax
je 0x14015773b
cmp byte [rbx + 2], 0
jne 0x1401577b3
cmp byte [rbx + 3], 0
mov rdi, qword [rbx + 0x30]
je 0x140157734
mov rdx, qword [rbx + 0x10]
test rdx, rdx
je 0x140157768
lea eax, [r14 + 1]
mov eax, dword [rdx + rax*4]
test eax, eax
je 0x140157768
mov rbx, qword [rbx + 0x28]
lea r14d, [rax - 1]
jmp 0x1401576ec
cmp byte [rdi], 0
je 0x14015777b
jmp 0x140157748
mov rax, qword [rbx + 0x30]
cmp byte [rax], 0
je 0x140157891
mov rcx, rbx
call fcn.14015f080
mov dword [rsp + 0x44], eax
mov r15d, eax
test eax, eax
je 0x1401576f0
mov r13, qword [rsp + 0x48]
mov r14, r12
jmp 0x14015d247
mov rcx, rbx
call fcn.14015e9e0
mov dword [rsp + 0x44], eax
mov r15d, eax
test eax, eax
jne 0x14015775b
mov rcx, rdi
call fcn.1400f9810
mov eax, dword [rdi + 0x40]
mov dword [rbx + 0x68], eax
mov rax, qword [rdi + 0x88]
movzx ecx, word [rdi + 0x44]
mov edx, dword [rax + 0x58]
sub edx, dword [rdi + 0x38]
cmp ecx, edx
jle 0x1401577aa
test edx, edx
mov ecx, edx
mov eax, 0
cmovs ecx, eax
mov dword [rbx + 0x6c], ecx
mov rcx, qword [rdi + 0x38]
jmp 0x1401577de
cmp byte [rbx], 3
jne 0x140157851
movsxd rax, dword [rbx + 0x24]
test eax, eax
jle 0x140157851
imul rcx, rax, 0x38
add rcx, qword [rsp + 0x60]
mov eax, dword [rcx + 0x10]
mov dword [rbx + 0x6c], eax
mov dword [rbx + 0x68], eax
mov rcx, qword [rcx + 8]
mov qword [rbx + 0x60], rcx
mov eax, dword [r12 + 0x2c]
mov dword [rbx + 0x20], eax
movzx eax, byte [rcx]
mov dword [r13], eax
cmp eax, 0x80
jae 0x1401577ff
mov eax, 1
jmp 0x14015780e
mov rcx, qword [rbx + 0x60]
mov rdx, r13
call fcn.140136d30
movzx eax, al
mov edx, 0x40
mov rcx, rbx
mov dword [rdx + rbx], eax
xor edx, edx
mov word [rbx + 0x4a], dx
mov eax, dword [r13]
cmp dword [rbx + 0x6c], eax
jae 0x140157848
mov qword [rbx + 0x60], rdx
mov dword [rbx + 0x6c], edx
mov eax, dword [r13]
cmp eax, 0x18003
ja 0x140157af4
cmp eax, dword [rbx + 0x68]
jbe 0x140157893
jmp 0x140157af4
mov rax, qword [rbx + 0x60]
jmp 0x140157945
mov r12, qword [rsp + 0x48]
mov r11, qword [rsp + 0x60]
movsxd rax, dword [r12 + 0xc]
imul rcx, rax, 0x38
mov eax, 0x9000
add rcx, r11
test word [rcx + 0x14], ax
je 0x140157881
call fcn.140174d90
mov r14, qword [rsp + 0x78]
jmp 0x140156131
mov r14, qword [rsp + 0x78]
mov word [rcx + 0x14], 1
jmp 0x140156136
xor edx, edx
movzx eax, word [rbx + 0x4a]
cmp eax, r14d
ja 0x140157bb1
mov eax, dword [r13]
cmp dword [rbx + 0x40], eax
jae 0x140157b42
mov rax, qword [rbx + 0x60]
mov qword [rbp - 0x60], rax
test rax, rax
jne 0x140157949
mov qword [rbp + 0x30], rax
xorps xmm0, xmm0
movups xmmword [rbp], xmm0
movups xmmword [rbp + 0x10], xmm0
movups xmmword [rbp + 0x20], xmm0
mov r10, qword [rbx + 0x30]
mov r8d, dword [r13]
mov rax, qword [r10 + 0x88]
movzx ecx, word [r10 + 0x44]
mov edx, dword [rax + 0x58]
sub edx, dword [r10 + 0x38]
cmp ecx, edx
jle 0x1401578fe
mov ecx, edx
test edx, edx
mov edx, 0
cmovs ecx, edx
jmp 0x140157900
xor edx, edx
mov rax, qword [r10 + 0x38]
mov qword [rbp - 0x60], rax
mov qword [rbp + 8], rax
cmp r8d, ecx
ja 0x140157924
mov ecx, 0x4010
mov dword [rbp + 0x10], r8d
mov word [rbp + 0x14], cx
mov dword [rsp + 0x44], edx
jmp 0x140157949
lea r9, [rbp]
xor edx, edx
mov rcx, r10
call fcn.14015fe80
mov dword [rsp + 0x44], eax
mov r15d, eax
test eax, eax
jne 0x14015775b
mov rax, qword [rbp + 8]
mov qword [rbp - 0x60], rax
movzx r12d, word [rbx + 0x4a]
mov esi, dword [rbx + 0x40]
mov r14d, r12d
mov rcx, qword [rbp - 0x50]
add rsi, rax
mov r15d, dword [r13 + r12*4]
mov r13d, dword [r13]
add r13, rax
nop word [rax + rax]
movzx edi, byte [rsi]
mov dword [rbp - 0x70], edi
mov dword [rbx + r14*4 + 0x78], edi
cmp edi, 0x80
jae 0x140157997
lea rdx, [0x140000000]
inc rsi
movzx eax, byte [rdi + rdx + 0x2030e0]
jmp 0x1401579d3
lea rdx, [rbp - 0x70]
mov rcx, rsi
call fcn.140136d30
mov edi, dword [rbp - 0x70]
movzx eax, al
add rsi, rax
mov dword [rbx + r14*4 + 0x78], edi
cmp edi, 0x80
jb 0x1401579c0
lea eax, [rdi - 0xc]
shr eax, 1
jmp 0x1401579cf
lea rcx, [0x140000000]
movzx eax, byte [rdi + rcx + 0x2030e0]
mov rcx, qword [rbp - 0x50]
inc r12d
add r15, rax
movsxd r14, r12d
mov dword [rcx + r14*4], r15d
cmp r12d, dword [rbp - 0x78]
ja 0x1401579ed
cmp rsi, r13
jb 0x140157970
jmp 0x1401579f6
cmp rsi, r13
jb 0x140157aae
cmp rsi, r13
ja 0x140157aba
mov eax, dword [rbx + 0x68]
cmp r15, rax
jne 0x140157aba
xor edx, edx
sub esi, dword [rbp - 0x60]
mov r8d, 0x9000
mov word [rbx + 0x4a], r12w
mov dword [rbx + 0x40], esi
cmp qword [rbx + 0x60], 0
jne 0x140157a43
test word [rbp + 0x14], r8w
jne 0x140157a32
cmp dword [rbp + 0x20], 0
je 0x140157a43
lea rcx, [rbp]
call fcn.140174d40
xor edx, edx
mov r8d, 0x9000
mov r13, qword [rbp - 0x50]
mov r14d, dword [rbp - 0x78]
mov r12, qword [rsp + 0x78]
movzx esi, byte [rsp + 0x40]
movzx eax, word [rbx + 0x4a]
cmp eax, r14d
ja 0x140157bb8
mov r15, qword [rsp + 0x48]
mov r11, qword [rsp + 0x60]
movsxd rax, dword [r15 + 0xc]
imul rcx, rax, 0x38
add rcx, r11
cmp byte [r15 + 1], 0xf6
jne 0x140157b8c
test word [rcx + 0x14], r8w
mov r8d, 0x2000
mov rax, qword [r15 + 0x10]
je 0x140157b4f
mov rdx, rax
call fcn.140173c80
mov r15d, dword [rsp + 0x44]
mov r14, qword [rsp + 0x78]
jmp 0x14015612c
mov eax, dword [rbx + 0x68]
cmp r15, rax
jbe 0x140157a0b
cmp dword [rcx], 0
jne 0x140157acc
xor edx, edx
mov rsi, r13
mov r12d, edx
jmp 0x140157a0d
cmp qword [rbx + 0x60], 0
jne 0x140157aed
mov eax, 0x9000
test word [rbp + 0x14], ax
jne 0x140157ae4
cmp dword [rbp + 0x20], 0
je 0x140157aed
lea rcx, [rbp]
call fcn.140174d40
movzx esi, byte [rsp + 0x40]
xor edx, edx
mov r9, qword [rsp + 0x58]
mov eax, dword [r9 + 0xc]
test eax, eax
jle 0x14015d629
mov r14, qword [rsp + 0x78]
dec eax
mov r11, qword [rsp + 0x60]
mov r10d, dword [rsp + 0x50]
movsxd rcx, eax
lea rax, [rcx + rcx*2]
lea r15, [r9 + rax*8]
mov qword [rsp + 0x48], r15
mov r12, qword [rsp + 0x48]
mov r15d, dword [rsp + 0x44]
mov r13, qword [rsp + 0x70]
add r12, 0x18
mov rdi, qword [rbp - 0x80]
jmp 0x140155b01
mov edi, edx
mov r8d, 0x9000
jmp 0x140157a55
movups xmm0, xmmword [rax]
mov r15d, dword [rsp + 0x44]
mov r12, qword [rsp + 0x48]
mov r14, qword [rsp + 0x78]
movups xmmword [rcx], xmm0
movsd xmm1, qword [rax + 0x10]
movsd qword [rcx + 0x10], xmm1
test word [rax + 0x14], r8w
jne 0x14015603c
mov eax, 0xafff
and word [rcx + 0x14], ax
or word [rcx + 0x14], r8w
jmp 0x140156041
test word [rcx + 0x14], r8w
jne 0x140156547
mov r15d, dword [rsp + 0x44]
mov r12, qword [rsp + 0x48]
mov r14, qword [rsp + 0x78]
mov word [rcx + 0x14], 1
jmp 0x140156041
mov eax, r14d
mov edi, dword [rbx + rax*4 + 0x78]
mov rdx, qword [rsp + 0x48]
movsxd rax, dword [rdx + 0xc]
imul rsi, rax, 0x38
mov eax, 0x9000
add rsi, qword [rsp + 0x60]
test word [rsi + 0x14], ax
je 0x140157be2
mov rcx, rsi
call fcn.140174d90
mov rdx, qword [rsp + 0x48]
lea eax, [r14 + 1]
mov eax, dword [r13 + rax*4]
cmp dword [rbx + 0x6c], eax
jb 0x140157cfc
mov eax, r14d
mov r14d, dword [r13 + rax*4]
add r14, qword [rbx + 0x60]
cmp edi, 0xc
jae 0x140157c2b
mov rcx, r14
mov edx, edi
mov r8, rsi
call fcn.1401621f0
mov r15d, dword [rsp + 0x44]
mov r12, qword [rsp + 0x48]
mov r14, qword [rsp + 0x78]
movzx esi, byte [rsp + 0x40]
jmp 0x140156131
movzx eax, byte [rsp + 0x40]
lea ebx, [rdi - 0xc]
shr ebx, 1
mov dword [rsi + 0x10], ebx
mov byte [rsi + 0x16], al
lea edx, [rbx + 2]
cmp dword [rsi + 0x20], edx
jge 0x140157ca8
mov r13, qword [rsp + 0x70]
cmp ebx, dword [r13 + 0x88]
jg 0x14015d90e
xor r8d, r8d
mov word [rsi + 0x14], 1
mov rcx, rsi
call fcn.14015fff0
test eax, eax
je 0x140157cb0
mov r14, qword [rsp + 0x78]
mov rdi, qword [rbp - 0x80]
mov r12, qword [rsp + 0x68]
mov rcx, r13
call fcn.14013c540
lea rdx, str.out_of_memory
mov rcx, r14
call fcn.140155980
mov r13, qword [rsp + 0x48]
mov r15d, 7
mov rsi, qword [rsp + 0x70]
lea eax, [r15 + 4]
jmp 0x14015d25a
mov rax, qword [rsi + 0x28]
mov qword [rsi + 8], rax
mov rcx, qword [rsi + 8]
mov r8, rbx
mov rdx, r14
call fcn.1401b9820
mov rax, qword [rsi + 8]
lea rcx, [0x140000000]
mov r15d, dword [rsp + 0x44]
mov byte [rbx + rax], 0
mov rax, qword [rsi + 8]
mov byte [rbx + rax + 1], 0
mov eax, edi
and eax, 1
movzx eax, word [rcx + rax*2 + 0x204894]
mov word [rsi + 0x14], ax
mov r14, qword [rsp + 0x78]
movzx esi, byte [rsp + 0x40]
jmp 0x14015612c
movzx eax, byte [rsp + 0x40]
mov byte [rsi + 0x16], al
movzx eax, byte [rdx + 2]
and al, 0xc0
je 0x140157d1f
cmp al, 0x80
je 0x140157d43
cmp edi, 0xc
jb 0x140157d1f
test dil, 1
je 0x140157d43
cmp al, 0xc0
je 0x140157d43
cmp edi, 0x80
jb 0x140157d2e
lea eax, [rdi - 0xc]
shr eax, 1
jmp 0x140157d3f
mov eax, edi
lea rcx, [0x140000000]
movzx eax, byte [rax + rcx + 0x2030e0]
test eax, eax
jne 0x140157d4f
lea rcx, [0x140202e80]
jmp 0x140157c08
mov eax, r14d
mov r8d, edi
mov qword [rsp + 0x30], rsi
mov edx, r14d
mov rcx, rbx
mov r9d, dword [r13 + rax*4]
mov eax, dword [rbp - 0x58]
mov dword [rsp + 0x28], eax
mov eax, dword [r12 + 0x2c]
mov dword [rsp + 0x20], eax
call fcn.140173cc0
mov dword [rsp + 0x44], eax
mov r15d, eax
test eax, eax
je 0x140157c17
mov r14, qword [rsp + 0x78]
mov rdi, qword [rbp - 0x80]
cmp eax, 7
je 0x14015dca1
mov rsi, qword [rsp + 0x70]
cmp eax, 0x12
je 0x14015d91a
mov r13, qword [rsp + 0x48]
jmp 0x14015d250
mov rax, qword [rsp + 0x48]
mov esi, edx
mov r12, qword [rsp + 0x48]
mov r14, qword [rax + 0x10]
movsxd rax, dword [rax + 4]
imul rbx, rax, 0x38
mov r15, qword [r14 + 8]
add rbx, r11
cmp dx, word [r14 + 0x36]
jge 0x14015d4c9
lea rdi, [r15 + 0xc]
movzx eax, word [rdi + 6]
test al, 0x60
je 0x140157dfd
test al, 0x20
jne 0x140157f7d
cmp dword [r12 + 0xc], 0
jne 0x140157f79
movzx ecx, byte [rdi]
cmp cl, 0x43
jl 0x140157e33
movzx eax, word [rbx + 0x14]
test al, 4
jne 0x140157e6e
test al, 0x28
jne 0x140157e24
test al, 2
je 0x140157e6e
mov edx, 1
mov rcx, rbx
call fcn.1400decb0
jmp 0x140157e6e
cmp cl, 0x45
jg 0x140157e6e
mov rcx, rbx
call fcn.14015f2f0
jmp 0x140157e6e
cmp cl, 0x42
jne 0x140157e6e
movzx ecx, word [rbx + 0x14]
test cl, 2
jne 0x140157e63
test cl, 0x2c
je 0x140157e63
cmp dword [rbx + 0x20], 0x20
jge 0x140157eb8
xor r8d, r8d
mov rcx, rbx
lea edx, [r8 + 0x20]
call fcn.14015fff0
test eax, eax
je 0x140157ec8
mov byte [rbx + 0x16], 0
mov r13d, 0xffd3
and word [rbx + 0x14], r13w
movzx ecx, word [rbx + 0x14]
movzx edx, cx
test cl, 1
jne 0x140157f79
mov eax, dword [rdi - 4]
shr eax, 4
and eax, 0xf
sub eax, 2
je 0x140157f70
sub eax, 1
je 0x140157f6b
sub eax, 1
je 0x140157f6b
sub eax, 1
je 0x140157f14
cmp eax, 1
jne 0x140157f79
test cl, 2
jmp 0x140157f73
mov rax, qword [rbx + 0x28]
and cx, 0x2d
mov qword [rbx + 8], rax
mov word [rbx + 0x14], cx
mov rdx, qword [rbx + 8]
mov r8, rbx
mov ecx, 0x20
call fcn.140174dd0
mov byte [rbx + 0x16], 1
mov r13d, 0xffd3
movzx eax, word [rbx + 0x14]
mov ecx, 0x202
and ax, r13w
or ax, cx
mov word [rbx + 0x14], ax
movzx eax, byte [rsp + 0x40]
cmp al, 1
je 0x140157e69
movzx edx, al
mov rcx, rbx
call fcn.140160950
jmp 0x140157e69
test cl, 4
je 0x140157f66
mov rdx, qword [rbx]
movabs rax, 0x800000000000
add rax, rdx
movabs r8, 0xffffffffffff
cmp rax, r8
mov rax, rbx
ja 0x140157f41
or cx, 0x20
jmp 0x140157f51
xorps xmm0, xmm0
or cx, 8
cvtsi2sd xmm0, rdx
movsd qword [rbx], xmm0
mov edx, socket
mov r8d, 0xfffb
and cx, r8w
mov word [rdx + rax], cx
jmp 0x140157f79
test cl, 0x28
jmp 0x140157f73
test cl, 4
jmp 0x140157f73
test cl, 0x10
je 0x14015d645
add rbx, 0x38
movsx eax, word [r14 + 0x36]
inc esi
add rdi, 0x18
cmp esi, eax
jl 0x140157de1
mov r15d, dword [rsp + 0x44]
mov r14, qword [rsp + 0x78]
movzx esi, byte [rsp + 0x40]
jmp 0x140156131
mov rax, qword [rsp + 0x48]
mov rsi, qword [rax + 0x10]
movsxd rax, dword [rax + 4]
imul rbx, rax, 0x38
movzx eax, byte [rsi]
add rbx, r11
nop dword [rax + rax]
cmp al, 0x43
jl 0x140158006
movzx ecx, word [rbx + 0x14]
test cl, 4
jne 0x14015809d
test cl, 0x28
jne 0x140157ff1
test cl, 2
je 0x14015809d
mov edx, 1
mov rcx, rbx
call fcn.1400decb0
jmp 0x14015809d
cmp al, 0x45
jg 0x14015809d
mov rcx, rbx
call fcn.14015f2f0
jmp 0x14015809d
cmp al, 0x42
jne 0x14015809d
movzx ecx, word [rbx + 0x14]
test cl, 2
jne 0x140158094
test cl, 0x2c
je 0x140158094
cmp dword [rbx + 0x20], 0x20
jge 0x14015803f
xor r8d, r8d
mov rcx, rbx
lea edx, [r8 + 0x20]
call fcn.14015fff0
lea rdx, [rbx + 8]
test eax, eax
je 0x140158053
mov byte [rbx + 0x16], 0
jmp 0x140158094
mov rax, qword [rbx + 0x28]
lea rdx, [rbx + 8]
and cx, 0x2d
mov qword [rbx + 8], rax
mov word [rbx + 0x14], cx
mov rdx, qword [rdx]
mov r8, rbx
mov ecx, 0x20
call fcn.140174dd0
mov byte [rbx + 0x16], 1
mov ecx, 0xffd3
movzx eax, word [rbx + 0x14]
and ax, cx
mov ecx, 0x202
or ax, cx
mov word [rbx + 0x14], ax
movzx eax, byte [rsp + 0x40]
cmp byte [rbx + 0x16], al
je 0x140158094
movzx edx, al
mov rcx, rbx
call fcn.140160950
mov edi, 0xffd3
and word [rbx + 0x14], di
cmp byte [rsi], 0x45
jne 0x1401580f4
movzx ecx, word [rbx + 0x14]
test cl, 4
je 0x1401580f4
mov rdx, qword [rbx]
movabs rax, 0x800000000000
add rax, rdx
movabs r8, 0xffffffffffff
cmp rax, r8
ja 0x1401580d8
mov eax, 0xfffb
and cx, ax
or cx, 0x20
jmp 0x1401580f0
xorps xmm0, xmm0
mov eax, 0xfff9
cvtsi2sd xmm0, rdx
and cx, ax
or cx, 8
movsd qword [rbx], xmm0
mov word [rbx + 0x14], cx
movzx eax, byte [rsi + 1]
inc rsi
test al, al
je 0x14015a1e2
add rbx, 0x38
jmp 0x140157fc0
mov rcx, qword [rsp + 0x48]
mov r14, rdx
mov r12d, edx
mov r13, rdx
movsxd rax, dword [rcx + 4]
mov rdi, qword [rcx + 0x10]
imul rsi, rax, 0x38
mov eax, dword [rcx + 8]
dec eax
add rsi, r11
cdqe
imul r15, rax, 0x38
movsxd rax, dword [rcx + 0xc]
imul rcx, rax, 0x38
add r15, rsi
mov qword [rbp - 0x60], rsi
add rcx, r11
mov qword [rbp - 0x50], r15
mov qword [rbp - 0x70], rcx
test rdi, rdi
je 0x1401581ab
lea rbx, [rsi + 0x14]
mov r15d, 0xfffb
movzx esi, byte [rsp + 0x40]
nop dword [rax]
nop word [rax + rax]
movzx edx, byte [rdi]
lea rcx, [rbx - 0x14]
movzx r8d, sil
call fcn.1400dec40
cmp byte [rdi], 0x45
jne 0x140158197
movzx eax, word [rbx]
test al, 4
je 0x140158197
and ax, r15w
or ax, 0x20
mov word [rbx], ax
inc rdi
add rbx, 0x38
cmp byte [rdi], 0
jne 0x140158170
mov rsi, qword [rbp - 0x60]
mov r15, qword [rbp - 0x50]
lea rdi, [r15 + 0x24]
nop
movzx eax, word [rdi - 0x10]
movzx edx, ax
test al, 1
je 0x1401581d9
inc r12d
mov eax, 0x400
and dx, ax
mov r15d, 1
neg dx
sbb ebx, ebx
and ebx, 0xa
jmp 0x14015836e
test dl, 0x24
je 0x1401582e5
mov r8, qword [rdi - 0x24]
mov rcx, r8
test r8, r8
jns 0x1401581f1
not rcx
inc r12d
cmp rcx, 0x7f
ja 0x140158231
mov rax, r8
and eax, 1
cmp rax, r8
jne 0x140158221
mov rax, qword [rsp + 0x78]
cmp byte [rax + 0xc5], 4
jb 0x140158221
lea ebx, [rcx + 8]
mov r15d, 1
jmp 0x14015836e
mov ebx, 1
inc r14
mov r15d, ebx
jmp 0x14015836e
cmp rcx, 0x7fff
ja 0x14015824c
mov ebx, 2
add r14, 2
lea r15d, [rbx - 1]
jmp 0x14015836e
cmp rcx, 0x7fffff
ja 0x140158267
mov ebx, 3
add r14, 3
lea r15d, [rbx - 2]
jmp 0x14015836e
cmp rcx, 0x7fffffff
ja 0x140158282
mov ebx, 4
add r14, 4
lea r15d, [rbx - 3]
jmp 0x14015836e
movabs r9, 0x7fffffffffff
cmp rcx, r9
ja 0x1401582a3
mov ebx, 5
add r14, 6
lea r15d, [rbx - 4]
jmp 0x14015836e
add r14, 8
test dl, 0x20
je 0x1401582d7
xorps xmm0, xmm0
mov ecx, 0xffdf
cvtsi2sd xmm0, r8
mov ebx, 7
and ax, cx
or ax, 8
lea r15d, [rbx - 6]
movsd qword [rdi - 0x24], xmm0
mov word [rdi - 0x10], ax
jmp 0x14015836e
mov ebx, 6
lea r15d, [rbx - 5]
jmp 0x14015836e
test dl, 8
je 0x1401582fc
mov ebx, 7
inc r12d
add r14, 8
lea r15d, [rbx - 6]
jmp 0x14015836e
mov r15d, dword [rdi - 0x14]
mov eax, edx
shr eax, 1
and eax, 1
bt dx, 0xa
lea ebx, [r15 + 6]
lea ebx, [rax + rbx*2]
jae 0x14015833f
movsxd rax, dword [rdi - 0x24]
lea ebx, [rbx + rax*2]
test r14, r14
je 0x140158338
lea rcx, [rdi - 0x24]
call fcn.14015fd50
test eax, eax
jne 0x14015dc97
add r15d, dword [rdi - 0x24]
jmp 0x14015833b
add r13, rax
mov rsi, qword [rbp - 0x60]
mov eax, r15d
mov r15d, 1
add r14, rax
mov ecx, r15d
mov eax, ebx
shr rax, 7
test rax, rax
je 0x14015836b
nop dword [rax]
inc ecx
shr rax, 7
test rax, rax
jne 0x140158360
add r12d, ecx
mov rax, rdi
mov dword [rax], ebx
lea rax, [rdi - 0x24]
cmp rax, rsi
je 0x140158385
sub rdi, 0x38
jmp 0x1401581b0
cmp r12d, 0x7e
jle 0x1401583cf
movsxd rax, r12d
mov edx, r15d
shr rax, 7
test rax, rax
je 0x1401583ab
nop word [rax + rax]
inc edx
shr rax, 7
test rax, rax
jne 0x1401583a0
add r12d, edx
mov ecx, r15d
movsxd rax, r12d
shr rax, 7
test rax, rax
je 0x1401583cb
nop dword [rax]
inc ecx
shr rax, 7
test rax, rax
jne 0x1401583c0
cmp edx, ecx
jge 0x1401583d2
inc r12d
mov rdi, qword [rbp - 0x70]
movsxd rbx, r12d
add rbx, r14
movsxd rdx, dword [rdi + 0x20]
lea rcx, [rbx + r13]
cmp rcx, rdx
jle 0x14015841b
mov rsi, qword [rsp + 0x70]
movsxd rax, dword [rsi + 0x88]
cmp rcx, rax
jg 0x14015d911
cmp edx, ebx
jge 0x14015841b
xor r8d, r8d
mov edx, ebx
mov rcx, rdi
call fcn.14015fff0
test eax, eax
je 0x140158423
mov r13, rsi
jmp 0x140157c6a
mov rax, qword [rdi + 0x28]
mov qword [rdi + 8], rax
mov dword [rdi + 0x10], ebx
mov word [rdi + 0x14], reloc.WS2_32.dll_recv
test r13, r13
je 0x14015843a
mov dword [rdi], r13d
mov word [rdi + 0x14], 0x410
mov rbx, qword [rdi + 8]
movsxd rsi, r12d
add rsi, rbx
cmp r12d, 0x80
jge 0x140158455
mov byte [rbx], r12b
inc rbx
jmp 0x140158496
movsxd rdx, r12d
cmp rdx, 0x7f
ja 0x140158468
and dl, 0x7f
mov eax, r15d
mov byte [rbx], dl
jmp 0x140158491
cmp rdx, 0x3fff
ja 0x140158489
mov rax, rdx
shr rax, 7
or al, 0x80
mov byte [rbx], al
and dl, 0x7f
mov byte [rbx + 1], dl
mov eax, 2
jmp 0x140158491
mov rcx, rbx
call fcn.14010d890
cdqe
add rbx, rax
mov rdi, qword [rbp - 0x60]
mov r14, qword [rbp - 0x50]
add rdi, 0x10
mov eax, dword [rdi + 0x14]
cmp eax, 7
ja 0x1401584f5
mov byte [rbx], al
inc rbx
test eax, eax
je 0x140158569
mov rdx, qword [rdi - 0x10]
lea rcx, [0x140000000]
movzx ecx, byte [rax + rcx + 0x2030e0]
mov r10d, 0xffffffff
mov r9d, ecx
add ecx, r10d
lea r8, [rcx + rsi]
mov byte [r8], dl
je 0x1401584f0
nop
shr rdx, 8
lea r8, [r8 - 1]
mov byte [r8], dl
add ecx, r10d
jne 0x1401584e0
add rsi, r9
jmp 0x140158569
cmp eax, 0x80
jae 0x14015850f
mov byte [rbx], al
inc rbx
cmp eax, 0xe
jb 0x140158569
movsxd rax, dword [rdi]
test eax, eax
jle 0x140158569
jmp 0x140158554
mov rdx, rax
cmp rax, 0x7f
ja 0x140158522
and dl, 0x7f
mov eax, r15d
mov byte [rbx], dl
jmp 0x140158548
cmp rdx, 0x3fff
ja 0x140158540
shr rax, 7
or al, 0x80
mov byte [rbx], al
and dl, 0x7f
mov byte [rbx + 1], dl
mov eax, 2
jmp 0x140158548
mov rcx, rbx
call fcn.14010d890
cdqe
add rbx, rax
movsxd rax, dword [rdi]
test eax, eax
je 0x140158569
mov rdx, qword [rdi - 8]
mov r8, rax
mov rcx, rsi
call fcn.1401b9820
movsxd rax, dword [rdi]
add rsi, rax
lea rax, [rdi - 0x10]
cmp rax, r14
je 0x14015a1cc
add rdi, 0x38
jmp 0x1401584a2
mov rbx, qword [rsp + 0x48]
mov rax, qword [r14 + 0x78]
cmp dword [rbx + 0xc], 0
movsxd rcx, dword [rbx + 4]
mov rcx, qword [rax + rcx*8]
mov rdx, qword [rcx + 0x30]
je 0x1401585a7
mov rcx, rdx
call fcn.14011e960
mov rbx, rax
jmp 0x1401585cc
xor ebx, ebx
lea r8, [rbp - 0x60]
mov rcx, r13
mov qword [rbp - 0x60], rbx
call fcn.14011c2d0
mov dword [rsp + 0x44], eax
mov r15d, eax
test eax, eax
jne 0x140159e11
mov rbx, qword [rbp - 0x60]
mov r12, qword [rsp + 0x48]
mov ecx, 0x9000
movsxd rax, dword [r12 + 8]
imul rax, rax, 0x38
add rax, qword [r14 + 0x68]
test word [rax + 0x14], cx
je 0x1401585f9
mov rcx, rax
call fcn.140107260
mov qword [rax], rbx
jmp 0x14015a797
mov word [rax + 0x14], 4
mov qword [rax], rbx
jmp 0x14015a797
mov rax, qword [rsp + 0x48]
mov r10d, dword [rax + 4]
mov rsi, qword [rax + 0x10]
mov dword [rbp - 0x78], r10d
test r10d, r10d
jne 0x1401586eb
cmp dword [r13 + 0xe0], r10d
jg 0x14015d6af
test rsi, rsi
jne 0x140158637
mov ebx, edx
jmp 0x14015864f
mov rbx, 0xffffffffffffffff
nop
inc rbx
cmp byte [rsi + rbx], 0
jne 0x140158640
and ebx, 0x3fffffff
mov r8d, dword [r13 + 0x2f4]
xor edx, edx
add r8d, dword [r13 + 0x2f0]
mov rcx, r13
call fcn.140163c80
mov dword [rsp + 0x44], eax
mov r15d, eax
test eax, eax
jne 0x14015d61f
mov edx, ebx
mov rcx, r13
add rdx, 0x21
call fcn.1401252f0
mov rdi, rax
test rax, rax
je 0x1401589e5
lea r9, [rax + 0x20]
mov rdx, rsi
mov rcx, r9
mov qword [rax], r9
lea r8d, [rbx + 1]
call fcn.1401b9820
cmp byte [r13 + 0x65], r15b
je 0x1401586b7
mov byte [r13 + 0x65], r15b
mov byte [r13 + 0x6d], 1
jmp 0x1401586be
inc dword [r13 + 0x2f0]
mov rax, qword [r13 + 0x2e0]
mov qword [rdi + 0x18], rax
mov qword [r13 + 0x2e0], rdi
mov rax, qword [r13 + 0x2f8]
mov qword [rdi + 8], rax
mov rax, qword [r13 + 0x300]
mov qword [rdi + 0x10], rax
jmp 0x1401589e5
mov r11, qword [rsp + 0x70]
mov r13d, edx
mov r12, qword [r11 + 0x2e0]
test r12, r12
je 0x1401587f4
lea rbx, [0x140000000]
nop word [rax + rax]
mov r8, qword [r12]
mov r9, rsi
sub r9, r8
nop word [rax + rax]
movzx edx, byte [r8]
movzx eax, byte [r9 + r8]
cmp edx, eax
jne 0x1401587c7
test edx, edx
jne 0x1401587db
cmp dword [r11 + 0xe0], edx
jle 0x14015874c
cmp r10d, 1
je 0x14015d6ce
cmp qword [r12 + 0x18], 0
jne 0x140158816
cmp byte [r11 + 0x6d], 0
je 0x140158816
mov esi, 1
mov r15d, esi
cmp r10d, esi
jne 0x14015881d
mov edx, esi
mov rcx, r14
call fcn.1401550b0
mov r15d, eax
test eax, eax
jne 0x14015dc15
mov rsi, qword [rsp + 0x70]
mov rcx, r14
mov byte [rsi + 0x65], 1
call fcn.14015ecd0
cmp eax, 5
je 0x14015d6e5
mov r15d, dword [r14 + 0x34]
mov dword [rsp + 0x44], r15d
test r15d, r15d
jne 0x14015d6d7
mov byte [rsi + 0x6d], r15b
mov r11, rsi
mov r15d, 1
jmp 0x140158932
movzx ecx, byte [rax + rbx + 0x202d60]
movzx eax, byte [rdx + rbx + 0x202d60]
cmp eax, ecx
jne 0x1401587e3
inc r8
jmp 0x140158720
mov r12, qword [r12 + 0x18]
inc r13d
test r12, r12
jne 0x140158710
mov r8, rsi
lea rdx, str.no_such_savepoint:__s
mov rcx, r14
call fcn.140155980
mov r13, qword [rsp + 0x48]
mov r15d, 1
jmp 0x14015d24b
xor ebx, ebx
mov r15d, ebx
jmp 0x14015881f
xor ebx, ebx
mov eax, dword [r11 + 0x2f0]
sub eax, r13d
lea r13d, [rax - 1]
cmp r10d, 2
jne 0x14015888b
mov r14d, dword [r11 + 0x2c]
mov edi, ebx
and r14d, 1
cmp dword [r11 + 0x28], 0
jle 0x14015888e
mov esi, r14d
xor esi, 1
nop word [rax + rax]
mov rcx, qword [r11 + 0x20]
mov r8d, esi
mov edx, 0x204
mov rcx, qword [rbx + rcx + 8]
call fcn.14011f7e0
mov dword [rsp + 0x44], eax
test eax, eax
jne 0x14015dcb3
mov r11, qword [rsp + 0x70]
inc edi
add rbx, 0x20
cmp edi, dword [r11 + 0x28]
jl 0x140158850
mov r10d, dword [rbp - 0x78]
xor ebx, ebx
jmp 0x140158892
mov r14d, ebx
mov eax, dword [rsp + 0x44]
cmp dword [r11 + 0x28], 0
mov edi, ebx
jle 0x1401588d7
nop dword [rax + rax]
mov rcx, qword [r11 + 0x20]
mov r8d, r13d
mov edx, r10d
mov rcx, qword [rbx + rcx + 8]
call fcn.14011e9c0
mov dword [rsp + 0x44], eax
test eax, eax
jne 0x14015dcb3
mov r11, qword [rsp + 0x70]
inc edi
mov r10d, dword [rbp - 0x78]
add rbx, 0x20
cmp edi, dword [r11 + 0x28]
jl 0x1401588a0
xor ebx, ebx
test r14d, r14d
je 0x140158921
mov rcx, qword [r11 + 8]
test rcx, rcx
je 0x14015890b
nop word [rax + rax]
mov eax, dword [rcx + 0xc8]
and eax, 0xfffffffd
or eax, 1
mov dword [rcx + 0xc8], eax
mov rcx, qword [rcx + 0x10]
test rcx, rcx
jne 0x1401588f0
mov rcx, r11
call fcn.140147750
mov r11, qword [rsp + 0x70]
mov eax, dword [rsp + 0x44]
or dword [r11 + 0x2c], 1
mov r14, qword [rsp + 0x78]
mov rdi, qword [rbp - 0x80]
test eax, eax
jne 0x14015dd05
mov rcx, qword [r11 + 0x2e0]
cmp rcx, r12
je 0x14015896e
nop
mov rax, qword [rcx + 0x18]
mov rdx, rcx
mov rcx, r11
mov qword [r11 + 0x2e0], rax
call fcn.140125160
mov r11, qword [rsp + 0x70]
dec dword [r11 + 0x2f0]
mov rcx, qword [r11 + 0x2e0]
cmp rcx, r12
jne 0x140158940
mov ebx, dword [rbp - 0x78]
cmp ebx, 1
jne 0x1401589a0
mov rax, qword [r12 + 0x18]
mov rdx, r12
mov rcx, r11
mov qword [r11 + 0x2e0], rax
call fcn.140125160
test r15d, r15d
jne 0x1401589e0
mov r11, qword [rsp + 0x70]
dec dword [r11 + 0x2f0]
jmp 0x1401589c2
mov rax, qword [r12 + 8]
mov qword [r11 + 0x2f8], rax
mov rax, qword [r12 + 0x10]
mov qword [r11 + 0x300], rax
test r15d, r15d
je 0x1401589c2
cmp ebx, 2
jne 0x1401589e0
mov r8d, r13d
mov edx, ebx
mov rcx, r11
call fcn.140163c80
mov dword [rsp + 0x44], eax
mov r15d, eax
test eax, eax
jne 0x14015d61f
jmp 0x1401589e5
mov r15d, dword [rsp + 0x44]
cmp byte [r14 + 0xc7], 3
je 0x14015d72c
mov r12, qword [rsp + 0x48]
movzx esi, byte [rsp + 0x40]
jmp 0x140156131
mov rcx, qword [rsp + 0x48]
mov dword [rbp - 0x44], edx
mov edx, dword [rcx + 8]
test edx, edx
je 0x140158a28
mov rax, qword [r13 + 0x30]
movabs r8, 0x200100000
test r8, rax
jne 0x14015d746
movsxd r14, dword [rcx + 4]
shl r14, 5
add r14, qword [r13 + 0x20]
mov rbx, qword [r14 + 8]
test rbx, rbx
je 0x140158baf
cmp byte [rbx + 0x11], 0
jne 0x140158a9f
movzx eax, byte [rbx + 0x10]
test al, al
je 0x140158a9f
cmp al, 1
jne 0x140158a57
test edx, edx
jne 0x140158a9f
mov r8, qword [rbx + 8]
mov rax, qword [r8 + 0x18]
mov rcx, qword [rax + 0x50]
mov eax, dword [rcx + 0x28]
bswap eax
mov dword [rbp - 0x44], eax
test edx, edx
je 0x140158a94
mov rax, qword [rbx]
mov rcx, qword [r8]
mov edx, dword [rax + 0x2f0]
cmp edx, dword [rcx + 0x80]
jle 0x140158a90
cmp byte [rcx + 0xa], 0
je 0x140158a90
call fcn.140107a70
jmp 0x140158aab
xor eax, eax
jmp 0x140158aab
xor eax, eax
mov r15d, eax
mov dword [rsp + 0x44], eax
jmp 0x140158abf
lea r8, [rbp - 0x44]
mov rcx, rbx
call fcn.1400e1b90
mov dword [rsp + 0x44], eax
mov r15d, eax
test eax, eax
jne 0x14015d767
mov r9, qword [rsp + 0x58]
mov rdi, qword [rsp + 0x78]
mov r12, qword [rsp + 0x48]
test byte [rdi + 0xc8], 0x20
je 0x140158bbb
cmp dword [r12 + 8], 0
je 0x140158bbb
cmp byte [r13 + 0x65], 0
je 0x140158af7
cmp dword [r13 + 0xdc], 1
jle 0x140158bbb
mov r8d, dword [rdi + 0x40]
test r8d, r8d
jne 0x140158b19
inc dword [r13 + 0x2f4]
mov r8d, dword [r13 + 0x2f4]
add r8d, dword [r13 + 0x2f0]
mov dword [rdi + 0x40], r8d
dec r8d
xor edx, edx
mov rcx, r13
call fcn.140163c80
mov dword [rsp + 0x44], eax
mov r15d, eax
test eax, eax
jne 0x140158b8e
mov edi, dword [rdi + 0x40]
mov rsi, qword [rbx + 8]
cmp byte [rbx + 0x11], al
je 0x140158b4d
inc dword [rbx + 0x14]
cmp byte [rbx + 0x12], al
jne 0x140158b4d
mov rcx, rbx
call fcn.1400e2ed0
mov rcx, qword [rsi]
cmp edi, dword [rcx + 0x80]
jle 0x140158b67
cmp byte [rcx + 0xa], 0
je 0x140158b67
mov edx, edi
call fcn.140107a70
jmp 0x140158b69
xor eax, eax
cmp byte [rbx + 0x11], 0
mov r15d, eax
mov dword [rsp + 0x44], eax
je 0x140158b84
sub dword [rbx + 0x14], 1
jne 0x140158b84
mov rcx, rbx
call fcn.1401716f0
mov rdi, qword [rsp + 0x78]
movzx esi, byte [rsp + 0x40]
mov rax, qword [r13 + 0x2f8]
mov r9, qword [rsp + 0x58]
mov qword [rdi + 0x58], rax
mov rax, qword [r13 + 0x300]
mov qword [rdi + 0x60], rax
mov rdi, qword [rbp - 0x80]
jmp 0x140158bb2
mov r12, rcx
test r15d, r15d
jne 0x14015dcf6
cmp word [r12 + 2], 0
je 0x140158be4
mov eax, dword [r12 + 0xc]
cmp dword [rbp - 0x44], eax
jne 0x14015d7b5
mov rcx, qword [r14 + 0x18]
mov eax, dword [r12 + 0x10]
cmp dword [rcx + 4], eax
jne 0x14015d7b5
mov r14, qword [rsp + 0x78]
mov r11, qword [rsp + 0x60]
jmp 0x140155d18
movsxd rax, dword [r12 + 4]
lea r8, [rbp - 0x30]
mov rcx, qword [r13 + 0x20]
mov edx, dword [r12 + 0xc]
shl rax, 5
mov rcx, qword [rax + rcx + 8]
call fcn.14011cb80
movsxd rax, dword [r12 + 8]
imul rcx, rax, 0x38
mov eax, 0x9000
add rcx, qword [r14 + 0x68]
test word [rcx + 0x14], ax
je 0x140158c3f
call fcn.140107260
mov rcx, rax
movsxd rax, dword [rbp - 0x30]
mov qword [rcx], rax
jmp 0x140156131
movsxd rax, dword [rbp - 0x30]
mov word [rcx + 0x14], 4
mov qword [rcx], rax
jmp 0x140156131
mov rax, qword [rsp + 0x48]
movsxd rbx, dword [rax + 4]
mov r8d, dword [rax + 0xc]
mov edx, dword [rax + 8]
shl rbx, 5
add rbx, qword [r13 + 0x20]
mov rcx, qword [rbx + 8]
call fcn.14011f8f0
mov r12, qword [rsp + 0x48]
mov r15d, eax
mov dword [rsp + 0x44], eax
mov eax, dword [r12 + 8]
cmp eax, 1
jne 0x140158d54
movzx eax, word [r12 + 2]
mov ecx, dword [r12 + 0xc]
sub ecx, eax
mov rax, qword [rbx + 0x18]
mov dword [rax], ecx
or dword [r13 + 0x2c], 1
movsxd rcx, dword [r12 + 4]
mov rax, qword [r13 + 0x20]
shl rcx, 5
mov rcx, qword [rcx + rax + 0x18]
mov rdi, qword [rcx + 0x10]
test rdi, rdi
je 0x140158d0a
xor esi, esi
mov rbx, qword [rdi + 0x10]
cmp byte [rbx + 0x3f], sil
jne 0x140158cfd
mov rbx, qword [rbx + 0x48]
test rbx, rbx
je 0x140158cfd
mov rdx, qword [rbx + 0x30]
mov rcx, r13
call fcn.1400f6450
mov qword [rbx + 0x30], rsi
mov rcx, r13
mov rdx, qword [rbx + 0x38]
call fcn.1400f6450
mov qword [rbx + 0x38], rsi
mov rbx, qword [rbx + 8]
test rbx, rbx
jne 0x140158cd4
mov rdi, qword [rdi]
test rdi, rdi
jne 0x140158cc1
movzx esi, byte [rsp + 0x40]
mov rdi, qword [rbp - 0x80]
cmp dword [r12 + 4], 1
jne 0x140158d43
mov rcx, qword [r13 + 8]
test rcx, rcx
je 0x140158d3b
nop
mov eax, dword [rcx + 0xc8]
and eax, 0xfffffffd
or eax, 1
mov dword [rcx + 0xc8], eax
mov rcx, qword [rcx + 0x10]
test rcx, rcx
jne 0x140158d20
and dword [r14 + 0xc8], 0xfffffffc
test r15d, r15d
je 0x140156131
mov r13, r12
jmp 0x14015d24b
cmp eax, 2
jne 0x140158d0e
mov rcx, qword [rbx + 0x18]
movzx eax, byte [r12 + 0xc]
mov byte [rcx + 0x70], al
jmp 0x140158d0e
movsxd rcx, dword [r12 + 4]
mov rax, qword [r14 + 0x78]
mov rdi, qword [rax + rcx*8]
mov rcx, qword [rsp + 0x48]
test rdi, rdi
je 0x140158da1
mov eax, dword [rcx + 8]
cmp dword [rdi + 0x44], eax
jne 0x140158da1
mov rcx, qword [rdi + 0x30]
call fcn.14011b8d0
mov r12, qword [rsp + 0x48]
jmp 0x140158eab
mov rcx, qword [rsp + 0x48]
jmp 0x140158da5
mov rdi, qword [rbp - 0x80]
mov eax, dword [r14 + 0xc8]
and al, 3
cmp al, 1
je 0x14015d853
movsxd r12, dword [rcx + 0xc]
mov edi, edx
mov r15d, dword [rcx + 8]
mov rax, r12
shl rax, 5
mov r14, rdx
add rax, qword [r13 + 0x20]
mov r13, qword [rax + 8]
cmp bl, 0x71
jne 0x140158e31
mov rax, qword [rax + 0x18]
movzx esi, word [rcx + 2]
and esi, 8
or esi, 4
movzx ecx, byte [rax + 0x70]
mov rax, qword [rsp + 0x78]
cmp cl, byte [rax + 0xc5]
jae 0x140158dfc
mov byte [rax + 0xc5], cl
mov rcx, qword [rsp + 0x48]
test byte [rcx + 2], 0x10
je 0x140158e1e
imul rbx, r15, 0x38
add rbx, r11
mov rcx, rbx
call fcn.140160170
mov rcx, qword [rsp + 0x48]
mov r15d, dword [rbx]
movzx eax, byte [rcx + 1]
cmp al, 0xf8
jne 0x140158e35
mov r14, qword [rcx + 0x10]
movzx edi, word [r14 + 8]
jmp 0x140158e3c
mov esi, edx
jmp 0x140158e01
cmp al, 0xfd
jne 0x140158e3c
mov edi, dword [rcx + 0x10]
mov edx, dword [rcx + 4]
xor r9d, r9d
mov rcx, qword [rsp + 0x78]
mov r8d, edi
call fcn.1400dcc60
mov rdi, rax
test rax, rax
je 0x14015dc97
mov byte [rax + 1], r12b
mov r9, r14
mov byte [rax + 2], 1
mov r8d, esi
or dword [rax + 8], 4
mov edx, r15d
mov dword [rax + 0x44], r15d
mov rcx, qword [rax + 0x30]
mov qword [rsp + 0x20], rcx
mov rcx, r13
call fcn.14011c4f0
mov r12, qword [rsp + 0x48]
mov r15d, eax
movzx esi, byte [rsp + 0x40]
mov qword [rdi + 0x38], r14
mov r14, qword [rsp + 0x78]
cmp byte [r12 + 1], 0xf8
mov dword [rsp + 0x44], eax
setne al
mov byte [rdi + 4], al
movzx ecx, byte [r12 + 2]
mov rax, qword [rdi + 0x30]
and cl, 3
mov byte [rax + 3], cl
test r15d, r15d
jne 0x14015d849
jmp 0x140156131
mov r15, qword [rsp + 0x48]
xor r9d, r9d
mov rax, qword [r14 + 0x78]
movsxd rcx, dword [r15 + 8]
mov edx, dword [r15 + 4]
mov rbx, qword [rax + rcx*8]
mov rcx, r14
movsx r8d, word [rbx + 0x48]
call fcn.1400dcc60
mov r10, rax
test rax, rax
je 0x140157c73
mov byte [rax + 2], 1
mov r8d, 4
mov edx, dword [rax + 8]
or edx, 1
mov dword [rax + 8], edx
mov rcx, qword [rbx + 0x38]
mov qword [rax + 0x38], rcx
mov ecx, edx
movzx eax, byte [rbx + 4]
mov byte [r10 + 4], al
mov eax, dword [rbx + 0x44]
mov dword [r10 + 0x44], eax
xor ecx, dword [rbx + 8]
and ecx, 4
xor ecx, edx
mov dword [r10 + 8], ecx
or ecx, 8
mov rax, qword [rbx + 0x10]
mov qword [r10 + 0x10], rax
mov dword [r10 + 8], ecx
or dword [rbx + 8], 8
mov rax, qword [r10 + 0x30]
mov r9, qword [r10 + 0x38]
mov edx, dword [r10 + 0x44]
mov rcx, qword [r10 + 0x10]
mov qword [rsp + 0x20], rax
call fcn.14011c4f0
mov r15d, eax
mov dword [rsp + 0x44], eax
jmp 0x14015612c
mov r15, qword [rsp + 0x48]
movsxd rax, dword [r15 + 0xc]
test eax, eax
jle 0x140158f95
imul rcx, rax, 0x38
mov dword [rcx + r11 + 0x10], edx
movsxd rax, dword [r15 + 0xc]
imul rcx, rax, 0x38
lea rax, [0x140217320]
mov qword [rcx + r11 + 8], rax
movsxd rdx, dword [r15 + 4]
mov rax, qword [r14 + 0x78]
mov rbx, qword [rax + rdx*8]
test rbx, rbx
je 0x140158fec
test byte [rbx + 8], 8
jne 0x140158fec
movsx eax, word [rbx + 0x48]
cmp dword [r15 + 8], eax
jg 0x140158fec
xor eax, eax
xor r8d, r8d
mov qword [rbx + 0x18], rax
mov dword [rbx + 0x20], eax
mov edx, dword [rbx + 0x44]
mov rcx, qword [rbx + 0x10]
call fcn.14011b990
mov dword [rsp + 0x44], eax
mov r15d, eax
mov dword [rbp - 0x70], eax
test eax, eax
jne 0x14015d61f
mov r12, qword [rsp + 0x48]
xor edx, edx
jmp 0x140159154
mov r8d, dword [r15 + 8]
xor r9d, r9d
mov rcx, r14
call fcn.1400dcc60
mov rbx, rax
test rax, rax
je 0x140157c73
or dword [rax + 8], 1
lea r9, [rax + 0x10]
movzx ecx, word [r15 + 2]
mov r8, r13
or ecx, 5
mov dword [rsp + 0x28], 0x41e
mov dword [rsp + 0x20], ecx
xor edx, edx
mov rcx, qword [r13]
call fcn.14011ddf0
mov r15d, eax
test eax, eax
jne 0x14015d849
mov rcx, qword [rbx + 0x10]
cmp byte [rcx + 0x11], al
jne 0x14015907c
cmp byte [rcx + 0x10], 2
jb 0x14015907c
mov rax, qword [rcx]
mov edx, dword [rax + 0x2f0]
mov rax, qword [rcx + 8]
mov rcx, qword [rax]
cmp edx, dword [rcx + 0x80]
jle 0x140159074
cmp byte [rcx + 0xa], r15b
je 0x140159074
call fcn.140107a70
lea r12d, [r15 + 1]
jmp 0x14015908d
xor eax, eax
lea r12d, [rax + 1]
jmp 0x14015908d
mov r12d, 1
xor r8d, r8d
mov edx, r12d
call fcn.1400e1b90
mov dword [rsp + 0x44], eax
mov r15d, eax
test eax, eax
jne 0x140159128
mov rax, qword [rsp + 0x48]
mov rsi, qword [rax + 0x10]
mov qword [rbx + 0x38], rsi
test rsi, rsi
je 0x1401590f8
movzx r8d, word [rax + 2]
lea rdx, [rbx + 0x44]
mov rcx, qword [rbx + 0x10]
or r8d, 2
call fcn.14011c480
mov dword [rsp + 0x44], eax
mov r15d, eax
test eax, eax
jne 0x1401590f2
mov rax, qword [rbx + 0x30]
lea r8d, [r15 + 4]
mov edx, dword [rbx + 0x44]
mov r9, rsi
mov rcx, qword [rbx + 0x10]
mov qword [rsp + 0x20], rax
call fcn.14011c4f0
mov r15d, eax
mov dword [rsp + 0x44], eax
mov byte [rbx + 4], 0
jmp 0x140159123
mov dword [rbx + 0x44], r12d
xor r9d, r9d
mov rax, qword [rbx + 0x30]
mov edx, r12d
mov rcx, qword [rbx + 0x10]
mov qword [rsp + 0x20], rax
lea r8d, [r9 + 4]
call fcn.14011c4f0
mov r15d, eax
mov dword [rsp + 0x44], eax
mov byte [rbx + 4], 1
movzx esi, byte [rsp + 0x40]
mov r12, qword [rsp + 0x48]
xor edx, edx
mov eax, 4
mov ecx, edx
cmp word [r12 + 2], 8
cmovne ecx, eax
mov eax, dword [rbx + 8]
and eax, 0xfffffffb
or ecx, eax
mov dword [rbx + 8], ecx
test r15d, r15d
jne 0x14015d863
mov r11, qword [rsp + 0x60]
mov r10d, dword [rsp + 0x50]
mov r9, qword [rsp + 0x58]
mov byte [rbx + 2], 1
mov r13, qword [rsp + 0x70]
add r12, 0x18
mov rdi, qword [rbp - 0x80]
jmp 0x140155b01
mov r15, qword [rsp + 0x48]
mov r9b, 1
mov rcx, r14
mov r8d, dword [r15 + 8]
mov edx, dword [r15 + 4]
call fcn.1400dcc60
test rax, rax
je 0x140157c73
mov rcx, qword [r15 + 0x10]
mov r8, rax
mov qword [rax + 0x38], rcx
mov rcx, r13
mov edx, dword [r15 + 0xc]
call fcn.140162590
mov dword [rsp + 0x44], eax
mov r15d, eax
test eax, eax
jne 0x14015d61f
jmp 0x14015612c
movsxd rcx, dword [r12 + 4]
mov rax, qword [r14 + 0x78]
mov rdx, qword [rax + rcx*8]
mov rcx, qword [rdx + 0x18]
lea rax, [rcx + 1]
mov qword [rdx + 0x18], rax
test rcx, rcx
jne 0x140155d1d
jmp 0x1401574bb
mov rax, qword [rsp + 0x48]
mov r9b, 3
mov rcx, r14
mov r8d, dword [rax + 0xc]
mov edx, dword [rax + 4]
call fcn.1400dcc60
test rax, rax
je 0x140157c73
mov r12, qword [rsp + 0x48]
mov byte [rax + 2], 1
mov ecx, dword [r12 + 8]
mov dword [rax + 0x24], ecx
lea rcx, [0x140243764]
mov byte [rax + 4], 1
mov qword [rax + 0x30], rcx
jmp 0x140156131
movsxd rcx, dword [r12 + 4]
mov rax, qword [r14 + 0x78]
mov rdx, qword [rax + rcx*8]
test rdx, rdx
je 0x140159250
mov rcx, r14
call fcn.14015eb50
mov r9, qword [rsp + 0x58]
movsxd rcx, dword [r12 + 4]
xor edx, edx
mov rax, qword [r14 + 0x78]
mov r11, qword [rsp + 0x60]
mov r10d, dword [rsp + 0x50]
mov qword [rax + rcx*8], rdx
mov r13, qword [rsp + 0x70]
add r12, 0x18
mov rdi, qword [rbp - 0x80]
jmp 0x140155b01
mov rax, qword [r14 + 0x78]
mov r12d, edx
mov r15, qword [rsp + 0x48]
movsxd rcx, dword [r15 + 4]
mov rsi, qword [rax + rcx*8]
mov byte [rsi + 2], 0
mov byte [rsi + 3], 0
mov dword [rsi + 0x20], edx
cmp byte [rsi + 4], 0
je 0x14015939f
movsxd rax, dword [r15 + 0xc]
imul rdi, rax, 0x38
add rdi, r11
movzx r14d, word [rdi + 0x14]
movzx eax, r14b
and al, 0x2e
cmp al, 2
jne 0x1401592c8
xor edx, edx
mov rcx, rdi
call fcn.1400decb0
mov rcx, rdi
call fcn.1400be730
movzx ecx, word [rdi + 0x14]
mov r15, rax
mov word [rdi + 0x14], r14w
test cl, 0x24
jne 0x14015936c
test cl, 8
jne 0x14015934a
test cl, 1
jne 0x14015cb67
cmp ebx, 0x17
jae 0x14015cb67
mov rcx, qword [rsi + 0x30]
cmp byte [rcx], 0
jne 0x140159321
test byte [rcx + 1], 8
je 0x140159321
mov r14, qword [rsp + 0x78]
xor edx, edx
mov dword [rbp - 0x68], edx
mov r15d, edx
mov dword [rsp + 0x44], edx
jmp 0x140156032
lea rdx, [rbp - 0x68]
call fcn.1400e2e00
mov dword [rsp + 0x44], eax
mov r15d, eax
test eax, eax
jne 0x14015d636
xor edx, edx
cmp dword [rbp - 0x68], 0
jne 0x1401596fb
jmp 0x1401594f8
movsd xmm1, qword [rdi]
mov rcx, r15
call fcn.140139be0
test eax, eax
jle 0x140159363
test bl, 1
jne 0x14015936c
dec ebx
jmp 0x14015936c
jns 0x14015936c
test bl, 1
je 0x14015936c
inc ebx
mov rcx, qword [rsi + 0x30]
lea rdi, [rsi + 0x30]
lea r9, [rbp - 0x68]
xor r8d, r8d
mov rdx, r15
call fcn.14011efb0
mov qword [rsi + 0x50], r15
mov r15d, eax
mov dword [rsp + 0x44], eax
test eax, eax
jne 0x14015d636
lea r13d, [rax + 1]
jmp 0x140159432
mov rax, qword [rsi + 0x30]
lea rdi, [rsi + 0x30]
mov ecx, dword [r15 + 0x10]
lea r8, [rbp - 0x68]
mov r13d, 1
lea rdx, [rbp + 0x198]
movzx r14d, byte [rax + 3]
mov rax, qword [rsi + 0x38]
and r14b, 2
mov qword [rbp + 0x198], rax
lea eax, [rbx - 1]
mov word [rbp + 0x1b4], cx
setne r12b
test al, 1
mov ecx, 0xffffffff
mov eax, r13d
cmovne eax, ecx
mov byte [rbp + 0x1b6], al
movsxd rax, dword [r15 + 0xc]
imul rcx, rax, 0x38
mov byte [rbp + 0x1ba], 0
add rcx, r11
mov qword [rbp + 0x1a0], rcx
mov rcx, qword [rdi]
call fcn.14011cc70
mov dword [rsp + 0x44], eax
mov r15d, eax
test eax, eax
jne 0x14015d636
test r14b, r14b
je 0x140159432
cmp byte [rbp + 0x1ba], al
je 0x140159339
mov eax, dword [rbp - 0x68]
cmp ebx, 0x17
jl 0x140159492
test eax, eax
js 0x14015944f
jne 0x140159445
cmp ebx, 0x18
je 0x14015944f
xor edx, edx
mov dword [rbp - 0x68], edx
jmp 0x1401594f8
mov rcx, qword [rdi]
xor ebx, ebx
xor edx, edx
mov dword [rbp - 0x68], ebx
call fcn.14011dd70
mov dword [rsp + 0x44], eax
mov r15d, eax
test eax, eax
je 0x1401594f6
cmp eax, 0x65
jne 0x14015dcd4
mov r12, qword [rsp + 0x48]
xor edx, edx
mov dword [rsp + 0x44], edx
mov r15d, edx
mov dword [rbp - 0x68], r13d
mov r9, qword [rsp + 0x58]
jmp 0x1401574bd
test eax, eax
jg 0x1401594b1
jne 0x14015949d
cmp ebx, 0x15
je 0x1401594b1
mov rax, qword [rdi]
xor edx, edx
mov ecx, edx
cmp byte [rax], cl
setne cl
mov dword [rbp - 0x68], ecx
jmp 0x14015933b
mov rcx, qword [rdi]
xor ebx, ebx
mov dword [rbp - 0x68], ebx
and byte [rcx + 1], 0xf1
mov word [rcx + 0x46], bx
cmp byte [rcx], bl
jne 0x1401594ec
movzx edx, word [rcx + 0x56]
test dx, dx
je 0x1401594ec
mov rax, qword [rcx + 0x88]
cmp byte [rax + 8], bl
je 0x1401594ec
dec dx
mov word [rcx + 0x56], dx
xor edx, edx
mov r15d, edx
mov dword [rsp + 0x44], edx
jmp 0x1401594f8
call fcn.1400e3910
jmp 0x14015945e
xor edx, edx
mov r14, qword [rsp + 0x78]
test r12d, r12d
mov r12, qword [rsp + 0x48]
mov r11, qword [rsp + 0x60]
je 0x14015603c
movzx esi, byte [rsp + 0x40]
add r12, 0x18
mov r10d, dword [rsp + 0x50]
mov r9, qword [rsp + 0x58]
mov r13, qword [rsp + 0x70]
add r12, 0x18
mov rdi, qword [rbp - 0x80]
jmp 0x140155b01
mov rax, qword [r14 + 0x78]
movsxd rcx, dword [r12 + 0x1c]
mov rdi, qword [rax + rcx*8]
mov rax, qword [rdi + 0x30]
cmp byte [rax], 0
jne case.0x140155b40.89
mov rcx, qword [rsp + 0x48]
mov rax, qword [rdi + 0x38]
mov r12, qword [rsp + 0x48]
mov qword [rbp + 0x230], rax
movzx eax, word [rcx + 0x28]
mov esi, dword [rcx + 4]
mov word [rbp + 0x24c], ax
movsxd rax, dword [rcx + 0x24]
imul rcx, rax, 0x38
mov byte [rbp + 0x24e], 0
add rcx, r11
mov qword [rbp + 0x238], rcx
nop dword [rax + rax]
mov rbx, qword [rdi + 0x30]
mov rcx, rbx
call fcn.1400f9810
mov ecx, dword [rbx + 0x40]
lea rax, [rcx - 1]
cmp rax, 0x7ffffffe
ja 0x14015d871
mov qword [rbp + 0xd8], r13
xor r9d, r9d
mov word [rbp + 0xd4], r9w
mov dword [rbp + 0xe0], r9d
mov rax, qword [rbx + 0x88]
movzx edx, word [rbx + 0x44]
mov r8d, dword [rax + 0x58]
sub r8d, dword [rbx + 0x38]
cmp edx, r8d
jle 0x1401595ea
test r8d, r8d
mov edx, r8d
cmovs edx, r9d
mov rax, qword [rbx + 0x38]
mov qword [rbp + 0xc8], rax
cmp ecx, edx
ja 0x14015960d
mov edx, 0x4010
mov dword [rbp + 0xd0], ecx
mov word [rbp + 0xd4], dx
jmp 0x140159639
mov r8d, ecx
lea r9, [rbp + 0xc0]
mov rcx, rbx
xor edx, edx
call fcn.14015fe80
mov r15d, eax
test eax, eax
jne 0x14015d244
mov ecx, dword [rbp + 0xd0]
mov rax, qword [rbp + 0xc8]
xor r9d, r9d
lea r8, [rbp + 0x230]
mov rdx, rax
call fcn.140161400
cmp dword [rbp + 0xe0], 0
mov ebx, eax
je 0x140159662
lea rcx, [rbp + 0xc0]
call fcn.140174d40
xor edx, edx
mov dword [rsp + 0x44], edx
mov r15d, edx
test ebx, ebx
jle 0x140159679
cmp word [r12 + 2], dx
je 0x1401596ee
test ebx, ebx
jns 0x140159488
test esi, esi
jle 0x140156037
mov dword [rdi + 0x20], edx
dec esi
mov rcx, qword [rdi + 0x30]
mov word [rcx + 0x46], dx
and byte [rcx + 1], 0xf9
cmp byte [rcx], dl
je 0x1401596a3
call fcn.1400e30a0
jmp 0x1401596d8
movzx r8d, word [rcx + 0x56]
mov rdx, qword [rcx + 0x88]
lea eax, [r8 + 1]
mov word [rcx + 0x56], ax
cmp ax, word [rdx + 0x18]
jb 0x1401596c9
mov word [rcx + 0x56], r8w
call fcn.1400e30a0
jmp 0x1401596d8
cmp byte [rdx + 8], r15b
jne 0x140159590
call fcn.140103940
mov r15d, eax
test eax, eax
je 0x140159590
cmp eax, 0x65
jne 0x14015d244
xor edx, edx
add qword [rsp + 0x48], 0x18
mov r15d, edx
mov dword [rsp + 0x44], edx
mov r12, qword [rsp + 0x48]
mov r9, qword [rsp + 0x58]
jmp 0x1401574bd
movsxd rcx, dword [r12 + 4]
mov rax, qword [r14 + 0x78]
mov rdx, qword [rax + rcx*8]
mov eax, dword [r12 + 8]
movzx ecx, word [rdx + 0xc]
cmp ecx, eax
jge 0x14015973c
mov word [rdx + 0xc], ax
xor edx, edx
mov r13, qword [rsp + 0x70]
add r12, 0x18
mov rdi, qword [rbp - 0x80]
jmp 0x140155b01
mov eax, dword [r12 + 0xc]
cmp ecx, eax
jle 0x140155d1d
mov word [rdx + 0xc], ax
xor edx, edx
mov r13, qword [rsp + 0x70]
add r12, 0x18
mov rdi, qword [rbp - 0x80]
jmp 0x140155b01
movsxd rcx, dword [r12 + 4]
mov rax, qword [r14 + 0x78]
mov rdx, qword [rax + rcx*8]
test rdx, rdx
je case.0x140155b40.9
cmp byte [rdx + 2], 0
je 0x140155d1d
jmp case.0x140155b40.9
mov rax, qword [r14 + 0x78]
movsxd rcx, dword [r12 + 4]
mov rcx, qword [rax + rcx*8]
movzx eax, word [rcx + 0xc]
cmp eax, dword [r12 + 0x10]
jge case.0x140155b40.89
mov rax, qword [r14 + 0x78]
mov r15, qword [rsp + 0x48]
movsxd rcx, dword [r15 + 4]
mov rbx, qword [rax + rcx*8]
movsxd rax, dword [r15 + 0xc]
imul rcx, rax, 0x38
add rcx, r11
mov qword [rbp + 0xa0], rcx
movzx eax, word [r15 + 0x10]
mov word [rbp + 0xb4], ax
test ax, ax
je 0x140159808
mov rax, qword [rbx + 0x38]
lea rsi, [rbx + 0x24]
mov qword [rbp + 0x98], rax
lea rdx, [rbp + 0x98]
mov byte [rbp + 0xb6], 0
mov r8, rsi
mov rcx, qword [rbx + 0x30]
call fcn.14011cc70
mov r15d, eax
mov dword [rsp + 0x44], eax
jmp 0x14015987c
mov eax, 0x400
test word [rcx + 0x14], ax
je 0x140159820
call fcn.14015fd50
test eax, eax
jne 0x140157c73
mov rcx, qword [rbx + 0x38]
call fcn.140154e70
mov rdi, rax
test rax, rax
je 0x140157c6f
mov rdx, qword [rbp + 0xa0]
mov r9, rax
mov rcx, qword [rbx + 0x38]
mov r8, qword [rdx + 8]
mov edx, dword [rdx + 0x10]
call fcn.140161cf0
mov byte [rdi + 0x1e], 0
lea rsi, [rbx + 0x24]
mov rcx, qword [rbx + 0x30]
mov r8, rsi
mov rdx, rdi
call fcn.14011cc70
mov rdx, rdi
mov dword [rsp + 0x44], eax
mov rcx, r13
mov r15d, eax
call fcn.140125160
mov rdi, qword [rbp - 0x80]
test r15d, r15d
jne 0x14015d61f
mov ecx, dword [rsi]
test ecx, ecx
mov r12, qword [rsp + 0x48]
setne al
xor edx, edx
mov byte [rbx + 2], al
mov byte [rbx + 3], r15b
mov dword [rbx + 0x20], edx
movzx eax, byte [r12]
cmp al, 0x1d
jne 0x1401598b3
test ecx, ecx
je 0x140159700
jmp 0x140156037
test ecx, ecx
jne 0x140159700
cmp al, 0x1b
jne 0x1401598ff
mov rcx, rdx
movzx edx, word [rbp + 0xb4]
test rdx, rdx
je 0x14015a1db
mov rax, qword [rbp + 0xa0]
add rax, 0x14
nop dword [rax]
test byte [rax], 1
jne 0x14015cb71
inc rcx
add rax, 0x38
cmp rcx, rdx
jl 0x1401598e0
movzx esi, byte [rsp + 0x40]
jmp 0x140156131
mov r11, qword [rsp + 0x60]
cmp al, 0x1a
jne 0x14015603c
movzx eax, word [r12 + 0x10]
movzx esi, byte [rsp + 0x40]
mov r10d, dword [rsp + 0x50]
mov r9, qword [rsp + 0x58]
mov word [rbx + 0xc], ax
mov r13, qword [rsp + 0x70]
add r12, 0x18
mov rdi, qword [rbp - 0x80]
jmp 0x140155b01
movsxd rax, dword [r12 + 0xc]
imul rcx, rax, 0x38
add rcx, r11
test byte [rcx + 0x14], 0x24
jne case.0x140155b40.31
movups xmm0, xmmword [rcx]
movups xmmword [rbp + 0x1f8], xmm0
movups xmm2, xmmword [rcx + 0x10]
movups xmmword [rbp + 0x208], xmm2
movups xmm0, xmmword [rcx + 0x20]
movq rax, xmm2
movups xmmword [rbp + 0x218], xmm0
shr rax, 0x20
movsd xmm1, qword [rcx + 0x30]
movsd qword [rbp + 0x228], xmm1
test al, 4
jne 0x1401599b5
test al, 0x28
jne 0x1401599a7
test al, 2
je 0x1401599b5
mov edx, 1
lea rcx, [rbp + 0x1f8]
call fcn.1400decb0
mov r9, qword [rsp + 0x58]
jmp 0x1401599b3
lea rcx, [rbp + 0x1f8]
call fcn.14015f2f0
xor edx, edx
test byte [rbp + 0x20c], 4
je 0x1401574bd
mov rdi, qword [rbp + 0x1f8]
jmp 0x1401599d8
movsxd rax, dword [r12 + 0xc]
imul rcx, rax, 0x38
mov rdi, qword [rcx + r11]
movsxd rcx, dword [r12 + 4]
lea r9, [rbp - 0x70]
mov rax, qword [r14 + 0x78]
xor r8d, r8d
mov dword [rbp - 0x70], edx
mov rdx, rdi
mov rbx, qword [rax + rcx*8]
mov rcx, qword [rbx + 0x30]
call fcn.14011efb0
mov qword [rbx + 0x50], rdi
xor edx, edx
mov byte [rbx + 2], 0
mov r15d, eax
mov dword [rbx + 0x20], edx
mov dword [rsp + 0x44], eax
mov eax, dword [rbp - 0x70]
mov byte [rbx + 3], dl
mov dword [rbx + 0x24], eax
test eax, eax
je 0x140159a31
cmp dword [r12 + 8], edx
je 0x14015d8b4
mov r9, qword [rsp + 0x58]
jmp 0x1401574bd
test r15d, r15d
jne 0x14015d849
mov r11, qword [rsp + 0x60]
mov r10d, dword [rsp + 0x50]
mov r9, qword [rsp + 0x58]
mov r13, qword [rsp + 0x70]
add r12, 0x18
mov rdi, qword [rbp - 0x80]
jmp 0x140155b01
movsxd rax, dword [r12 + 8]
imul rdx, rax, 0x38
mov eax, 0x9000
add rdx, qword [r14 + 0x68]
test word [rdx + 0x14], ax
je 0x140159a85
mov rcx, rdx
call fcn.140107260
mov r9, qword [rsp + 0x58]
mov rdx, rax
jmp 0x140159a8b
mov word [rdx + 0x14], 4
mov rax, qword [r14 + 0x78]
movsxd rcx, dword [r12 + 4]
mov r11, qword [rsp + 0x60]
mov rcx, qword [rax + rcx*8]
mov rax, qword [rcx + 0x18]
mov qword [rdx], rax
movsxd rcx, dword [r12 + 4]
mov rax, qword [r14 + 0x78]
mov rdx, qword [rax + rcx*8]
inc qword [rdx + 0x18]
jmp 0x140155d18
movsxd rax, dword [r12 + 8]
mov rbx, rdx
mov rdi, qword [rsp + 0x78]
imul r14, rax, 0x38
mov eax, 0x9000
mov qword [rbp - 0x70], rdx
add r14, qword [rdi + 0x68]
mov dword [rbp - 0x78], edx
test word [r14 + 0x14], ax
je 0x140159af1
mov rcx, r14
call fcn.140107260
mov r14, rax
xor edx, edx
jmp 0x140159af8
mov word [r14 + 0x14], 4
movsxd rcx, dword [r12 + 4]
mov rax, qword [rdi + 0x78]
mov rsi, qword [rax + rcx*8]
test byte [rsi + 8], 2
jne 0x140159b72
mov rcx, qword [rsi + 0x30]
cmp byte [rcx], 0
jne 0x140159b4a
test byte [rcx + 1], 8
je 0x140159b4a
mov r15d, edx
mov dword [rsp + 0x44], edx
mov rbx, qword [rsi + 0x30]
mov rcx, rbx
call fcn.1400f9810
mov rbx, qword [rbx + 0x30]
movabs r13, 0x7fffffffffffffff
mov qword [rbp - 0x70], rbx
cmp rbx, r13
jl 0x140159bbb
or dword [rsi + 8], 2
jmp 0x140159b7c
lea rdx, [rbp - 0x78]
call fcn.1400e2e00
mov dword [rsp + 0x44], eax
mov r15d, eax
test eax, eax
jne 0x14015dcc7
cmp dword [rbp - 0x78], eax
je 0x140159b21
mov eax, 1
mov ebx, eax
mov qword [rbp - 0x70], rax
movabs r13, 0x7fffffffffffffff
movsxd rax, dword [r12 + 0xc]
test eax, eax
je 0x140159bf4
mov rcx, qword [rdi + 0x108]
test rcx, rcx
je 0x140159bc4
mov rax, qword [rcx + 8]
test rax, rax
je 0x140159bac
nop word [rax + rax]
mov rcx, rax
mov rax, qword [rax + 8]
test rax, rax
jne 0x140159ba0
movsxd rax, dword [r12 + 0xc]
imul rdi, rax, 0x38
add rdi, qword [rcx + 0x18]
jmp 0x140159bcd
inc rbx
mov qword [rbp - 0x70], rbx
jmp 0x140159b7c
imul rdi, rax, 0x38
add rdi, qword [rsp + 0x60]
mov rcx, rdi
call fcn.140160170
mov rax, qword [rdi]
cmp rax, r13
je 0x140159c54
test byte [rsi + 8], 2
jne 0x140159c54
inc rax
cmp rbx, rax
cmovl rbx, rax
mov qword [rbp - 0x70], rbx
mov qword [rdi], rbx
test byte [rsi + 8], 2
je 0x140159c69
xor eax, eax
mov edi, eax
nop
lea rdx, [rbp - 0x70]
mov ecx, 8
call fcn.1400d89e0
mov rbx, qword [rbp - 0x70]
lea r9, [rbp - 0x78]
mov rcx, qword [rsi + 0x30]
movabs rax, 0x3fffffffffffffff
and rbx, rax
xor r8d, r8d
inc rbx
mov rdx, rbx
mov qword [rbp - 0x70], rbx
call fcn.14011efb0
mov dword [rsp + 0x44], eax
mov r15d, eax
test eax, eax
jne 0x14015d636
cmp dword [rbp - 0x78], eax
jne 0x140159c69
inc edi
cmp edi, 0x64
jl 0x140159c00
mov r13, qword [rsp + 0x48]
mov r15d, recv
mov r14, qword [rsp + 0x78]
jmp 0x14015d247
mov byte [rsi + 3], 0
xor edx, edx
mov dword [rsi + 0x20], edx
mov qword [r14], rbx
mov r14, qword [rsp + 0x78]
jmp 0x140156037
mov r15, qword [rsp + 0x48]
movsxd rax, dword [r15 + 8]
movsxd rcx, dword [r15 + 4]
imul rdx, rax, 0x38
mov rax, qword [r14 + 0x78]
add rdx, r11
mov rbx, qword [rax + rcx*8]
movsxd rax, dword [r15 + 0xc]
imul rcx, rax, 0x38
mov rax, qword [rcx + r11]
mov qword [rbp + 0x138], rax
cmp byte [r15 + 1], 0xfb
jne 0x140159cd8
cmp qword [r13 + 0x140], 0
je 0x140159cd8
movsx rcx, byte [rbx + 1]
mov rax, qword [r13 + 0x20]
mov rdi, qword [r15 + 0x10]
shl rcx, 5
mov rsi, qword [rcx + rax]
xor ecx, ecx
jmp 0x140159cde
xor ecx, ecx
mov edi, ecx
mov esi, ecx
test byte [r15 + 2], 1
je 0x140159cfb
inc qword [r14 + 0x38]
test byte [r15 + 2], 0x20
je 0x140159cfb
mov rax, qword [rbp + 0x138]
mov qword [r13 + 0x38], rax
mov rax, qword [rdx + 8]
mov qword [rbp + 0x140], rax
mov eax, dword [rdx + 0x10]
mov dword [rbp + 0x154], eax
test byte [r15 + 2], 0x10
je 0x140159d1c
mov r9d, dword [rbx + 0x24]
jmp 0x140159d1f
mov r9d, ecx
mov eax, 0x400
test word [rdx + 0x14], ax
je 0x140159d34
mov eax, dword [rdx]
mov dword [rbp + 0x158], eax
jmp 0x140159d3a
mov dword [rbp + 0x158], ecx
mov qword [rbp + 0x130], rcx
lea rdx, [rbp + 0x130]
movzx r8d, word [r15 + 2]
mov rcx, qword [rbx + 0x30]
and r8d, 0x8a
call fcn.14011d250
inc dword [rbp - 0x58]
xor edx, edx
mov byte [rbx + 3], 0
mov r15d, eax
mov dword [rsp + 0x44], eax
mov dword [rbx + 0x20], edx
test eax, eax
jne 0x14015d849
mov r12, qword [rsp + 0x48]
test rdi, rdi
je 0x140156037
test byte [r12 + 2], 4
mov edx, send
mov r9, qword [rdi]
mov eax, reloc.WS2_32.dll_socket
mov rcx, qword [r13 + 0x138]
cmovne edx, eax
mov rax, qword [rbp + 0x138]
mov r8, rsi
mov qword [rsp + 0x20], rax
call qword [r13 + 0x140]
movzx esi, byte [rsp + 0x40]
jmp 0x140156131
mov r15, qword [rsp + 0x48]
mov rcx, qword [r14 + 0x78]
movsxd rax, dword [r15 + 4]
mov r9, qword [rcx + rax*8]
movsxd rax, dword [r15 + 8]
mov rdx, qword [rcx + rax*8]
movsxd rax, dword [r15 + 0xc]
test eax, eax
je 0x140159df0
imul rcx, rax, 0x38
xor ebx, ebx
mov r8, qword [rcx + r11]
jmp 0x140159df5
xor ebx, ebx
mov r8d, ebx
mov rdx, qword [rdx + 0x30]
mov rcx, qword [r9 + 0x30]
call fcn.14011f230
mov dword [rsp + 0x44], eax
mov r15d, eax
test eax, eax
je 0x14015612c
mov rsi, qword [rsp + 0x70]
mov eax, 0xb
mov r13, qword [rsp + 0x48]
mov r12, qword [rsp + 0x68]
jmp 0x14015d25c
mov rax, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x48]
movsxd rcx, dword [rax + 4]
cmp byte [rdx + 1], 0xfb
mov r15d, dword [rax + 8]
mov rax, qword [r14 + 0x78]
mov rdi, qword [rax + rcx*8]
jne 0x140159e90
cmp qword [r13 + 0x140], 0
je 0x140159e90
movsx rcx, byte [rdi + 1]
mov rax, qword [r13 + 0x20]
mov rsi, qword [rdx + 0x10]
shl rcx, 5
test byte [rdx + 2], 2
mov r14, qword [rcx + rax]
je 0x140159e97
cmp byte [rdi + 4], 0
je 0x140159e97
mov rbx, qword [rdi + 0x30]
mov rcx, rbx
call fcn.1400f9810
mov rax, qword [rbx + 0x30]
mov rdx, qword [rsp + 0x48]
mov qword [rdi + 0x50], rax
jmp 0x140159e97
xor eax, eax
mov r14d, eax
mov esi, eax
movzx edx, byte [rdx + 2]
mov rcx, qword [rdi + 0x30]
call fcn.14011c580
inc dword [rbp - 0x58]
xor edx, edx
mov dword [rdi + 0x20], edx
mov dword [rdi + 0x24], edx
mov dword [rsp + 0x44], eax
test eax, eax
jne 0x14015dcb3
test r15b, 1
je 0x14015a1b0
mov rax, qword [rsp + 0x78]
inc qword [rax + 0x38]
mov r10, qword [r13 + 0x140]
test r10, r10
je 0x14015a1bf
test rsi, rsi
je 0x14015a1bf
test byte [rsi + 0x30], 0x80
jne 0x14015a1bf
mov rax, qword [rdi + 0x50]
mov r8, r14
mov r9, qword [rsi]
mov edx, 9
mov rcx, qword [r13 + 0x138]
mov qword [rsp + 0x20], rax
call r10
jmp 0x140157c12
mov rax, qword [r14 + 0x38]
mov qword [r13 + 0x78], rax
add qword [r13 + 0x80], rax
mov qword [r14 + 0x38], rdx
mov r13, qword [rsp + 0x70]
add r12, 0x18
mov rdi, qword [rbp - 0x80]
jmp 0x140155b01
mov rbx, qword [rsp + 0x48]
mov rax, qword [r14 + 0x78]
movsxd rcx, dword [rbx + 4]
mov rdx, qword [rax + rcx*8]
movsxd rax, dword [rbx + 0xc]
mov ebx, dword [rbx + 0x10]
imul r15, rax, 0x38
mov rdi, qword [rdx + 0x30]
mov rsi, qword [rdx + 0x38]
add r15, r11
mov r14, qword [rdi + 0x30]
test r14, r14
jne 0x140159f85
mov rcx, rsi
call fcn.140154e70
mov qword [rdi + 0x30], rax
mov r14, rax
test rax, rax
je 0x14015d8f9
mov word [rax + 0x1c], bx
cmp byte [rdi + 0x58], 0
je 0x140159fc1
cmp byte [rdi + 0x59], 0
je 0x140159f9f
mov rax, qword [rdi + 0x10]
mov r8, qword [rax + 0x28]
lea rdx, [rax + 0x14]
jmp 0x140159fc9
mov rdx, qword [rdi + 0x18]
mov rax, qword [rdx + 0x10]
movsxd rcx, dword [rax + 4]
lea rax, [rcx + rcx*4]
shl rax, 4
add rax, qword [rdx + 0x18]
mov r8, qword [rax + 0x28]
lea rdx, [rax + 0x14]
jmp 0x140159fc9
mov rdx, qword [rdi + 0x38]
lea r8, [rdx + 0x10]
mov edx, dword [rdx]
mov r9, r14
mov rcx, rsi
call fcn.140161cf0
xor edx, edx
mov ecx, edx
test ebx, ebx
jle 0x140159ff9
mov rax, qword [r14 + 8]
add rax, 0x14
test byte [rax], 1
jne 0x1401596f4
inc ecx
add rax, 0x38
cmp ecx, ebx
jl 0x140159fe6
mov rdx, qword [r15 + 8]
xor r9d, r9d
mov ecx, dword [r15 + 0x10]
mov r8, r14
call fcn.140161400
mov r12, qword [rsp + 0x48]
xor edx, edx
mov dword [rsp + 0x44], edx
mov r15d, edx
test eax, eax
jne 0x140159700
mov r14, qword [rsp + 0x78]
mov dword [rsp + 0x44], edx
jmp 0x140156037
mov rcx, qword [rsp + 0x48]
movsxd rax, dword [rcx + 8]
movsxd rcx, dword [rcx + 4]
imul rbx, rax, 0x38
mov rax, qword [r14 + 0x78]
add rbx, r11
mov rcx, qword [rax + rcx*8]
mov rax, qword [rcx + 0x30]
cmp byte [rax + 0x58], 0
je 0x14015a08c
cmp byte [rax + 0x59], 0
je 0x14015a06a
mov rax, qword [rax + 0x10]
mov rsi, qword [rax + 0x28]
lea rdi, [rax + 0x14]
jmp 0x14015a094
mov rdx, qword [rax + 0x18]
mov rax, qword [rdx + 0x10]
movsxd rcx, dword [rax + 4]
lea rax, [rcx + rcx*4]
shl rax, 4
add rax, qword [rdx + 0x18]
mov rsi, qword [rax + 0x28]
lea rdi, [rax + 0x14]
jmp 0x14015a094
mov rdi, qword [rax + 0x38]
lea rsi, [rdi + 0x10]
movsxd rdi, dword [rdi]
cmp dword [rbx + 0x20], edi
jge 0x14015a0bd
xor r8d, r8d
mov edx, edi
mov rcx, rbx
call fcn.14015fff0
test eax, eax
je 0x14015a0ca
mov r13, qword [rsp + 0x48]
mov r15d, 7
jmp 0x14015d247
mov rax, qword [rbx + 0x28]
mov qword [rbx + 8], rax
and word [rbx + 0x14], 0x2d
mov dword [rbx + 0x10], edi
mov ecx, 0xf250
movzx eax, word [rbx + 0x14]
mov r8, rdi
and ax, cx
mov rdx, rsi
or ax, 0x10
mov word [rbx + 0x14], ax
mov rcx, qword [rbx + 8]
call fcn.1401b9820
mov rax, qword [r14 + 0x78]
xor edx, edx
mov r12, qword [rsp + 0x48]
mov r15d, edx
mov dword [rsp + 0x44], edx
movsxd rcx, dword [r12 + 0xc]
mov rcx, qword [rax + rcx*8]
mov dword [rcx + 0x20], edx
jmp 0x140156037
mov r15, qword [rsp + 0x48]
movsxd rax, dword [r15 + 8]
imul rbx, rax, 0x38
mov eax, 0x9000
add rbx, qword [r14 + 0x68]
test word [rbx + 0x14], ax
je 0x14015a13c
mov rcx, rbx
call fcn.140107260
mov rbx, rax
jmp 0x14015a142
mov word [rbx + 0x14], 4
movsxd rcx, dword [r15 + 4]
mov rax, qword [r14 + 0x78]
mov rcx, qword [rax + rcx*8]
mov rdi, qword [rcx + 0x30]
mov rcx, rdi
call fcn.1400f9810
mov edx, dword [rdi + 0x40]
cmp edx, dword [r13 + 0x88]
ja 0x14015d940
mov r8, rbx
mov rcx, rdi
call fcn.14015ff90
mov dword [rsp + 0x44], eax
mov r15d, eax
test eax, eax
jne 0x14015d849
mov r12, qword [rsp + 0x48]
cmp dword [r12 + 0xc], eax
jne 0x14015a1db
mov eax, 0x4000
test word [rbx + 0x14], ax
je 0x14015a1db
mov rcx, rbx
call fcn.140160200
test eax, eax
jne 0x140157c6f
jmp 0x140156131
mov r15d, dword [rsp + 0x44]
mov r14, qword [rsp + 0x78]
jmp 0x140156032
mov r15d, dword [rsp + 0x44]
mov r14, rax
jmp 0x140156032
mov r15d, dword [rsp + 0x44]
mov r12, qword [rsp + 0x48]
mov r14, qword [rsp + 0x78]
xor edx, edx
jmp 0x140156037
xor edx, edx
jmp 0x140156032
mov rbx, qword [rsp + 0x48]
movsxd rax, dword [rbx + 8]
imul rdi, rax, 0x38
mov eax, 0x9000
add rdi, qword [r14 + 0x68]
test word [rdi + 0x14], ax
je 0x14015a219
mov rcx, rdi
call fcn.140107260
mov r9, qword [rsp + 0x58]
mov rdi, rax
xor edx, edx
jmp 0x14015a21f
mov word [rdi + 0x14], 4
movsxd rcx, dword [rbx + 4]
mov rax, qword [r14 + 0x78]
mov rbx, qword [rax + rcx*8]
cmp byte [rbx + 2], 0
je 0x14015a258
mov r12, qword [rsp + 0x48]
mov r11, qword [rsp + 0x60]
mov r10d, dword [rsp + 0x50]
mov word [rdi + 0x14], 1
mov r13, qword [rsp + 0x70]
add r12, 0x18
mov rdi, qword [rbp - 0x80]
jmp 0x140155b01
cmp byte [rbx + 3], 0
je 0x14015a26e
mov rax, qword [rbx + 0x50]
mov qword [rbp - 0x20], rax
mov qword [rdi], rax
jmp 0x14015612c
cmp byte [rbx], 2
mov rcx, qword [rbx + 0x30]
jne 0x14015a2ab
mov rbx, qword [rcx]
lea rdx, [rbp - 0x20]
mov rax, qword [rbx]
call qword [rax + 0x60]
mov rdx, rbx
mov rcx, r14
mov r15d, eax
mov dword [rsp + 0x44], eax
call fcn.140163920
test r15d, r15d
jne 0x14015d849
mov rax, qword [rbp - 0x20]
mov qword [rdi], rax
jmp 0x14015612c
cmp byte [rcx], 0
je 0x14015a2cb
mov rcx, rbx
call fcn.14015f080
mov dword [rsp + 0x44], eax
mov r15d, eax
test eax, eax
jne 0x14015d849
xor edx, edx
jmp 0x14015a2d2
mov r15d, edx
mov dword [rsp + 0x44], edx
cmp byte [rbx + 2], 0
je 0x14015a2ed
mov r12, qword [rsp + 0x48]
mov r11, qword [rsp + 0x60]
mov word [rdi + 0x14], 1
jmp 0x140156041
mov rbx, qword [rbx + 0x30]
mov rcx, rbx
call fcn.1400f9810
mov rax, qword [rbx + 0x30]
mov qword [rbp - 0x20], rax
mov qword [rdi], rax
jmp 0x14015612c
movsxd rdx, dword [r12 + 4]
mov rax, qword [r14 + 0x78]
mov rax, qword [rax + rdx*8]
test rax, rax
jne 0x14015a34d
mov r9b, 3
lea r8d, [rax + 1]
mov rcx, r14
call fcn.1400dcc60
test rax, rax
je 0x140157c73
xor edx, edx
lea rcx, [0x140243764]
mov dword [rax + 0x24], edx
mov byte [rax + 4], 1
or dword [rax + 8], 8
mov qword [rax + 0x30], rcx
jmp 0x14015a34f
xor edx, edx
mov byte [rax + 2], 1
mov dword [rax + 0x20], edx
cmp byte [rax], 0
jne 0x14015a5a7
mov rcx, qword [rax + 0x30]
call fcn.14011b8d0
jmp 0x140156131
movsxd rcx, dword [r12 + 4]
mov rax, qword [r14 + 0x78]
mov dword [rbp - 0x70], edx
mov rdi, qword [rax + rcx*8]
mov eax, edx
mov rcx, qword [rdi + 0x30]
cmp bl, 0x89
jne 0x14015a3fc
mov dword [rdi + 0x24], 0xffffffff
cmp byte [rcx], 0
je 0x140156041
lea rdx, [rbp - 0x70]
call fcn.1400e2e00
mov r15d, eax
mov dword [rsp + 0x44], eax
mov eax, dword [rbp - 0x70]
xor edx, edx
mov byte [rdi + 2], al
mov byte [rdi + 3], 0
mov dword [rdi + 0x20], edx
test r15d, r15d
jne 0x14015d849
mov r9, qword [rsp + 0x58]
cmp dword [r12 + 8], 0
jle 0x14015a5a7
test eax, eax
jne 0x1401574b6
mov r11, qword [rsp + 0x60]
mov r10d, dword [rsp + 0x50]
mov r13, qword [rsp + 0x70]
add r12, 0x18
mov rdi, qword [rbp - 0x80]
jmp 0x140155b01
xor edx, edx
jmp 0x140156041
cmp byte [rcx], 0
jne 0x14015a398
test byte [rcx + 1], 8
je 0x14015a398
mov byte [rdi + 2], dl
mov r15d, edx
mov byte [rdi + 3], 0
mov dword [rdi + 0x20], edx
mov dword [rsp + 0x44], edx
jmp 0x14015a3c5
movsxd rcx, dword [r12 + 4]
mov rax, qword [r14 + 0x78]
mov rcx, qword [rax + rcx*8]
mov rbx, qword [rcx + 0x30]
mov rcx, rbx
call fcn.140103d50
mov r15d, eax
test eax, eax
jne 0x14015a44c
xor eax, eax
mov rcx, rbx
mov r13d, eax
call fcn.140103940
mov r15d, eax
jmp 0x14015a46f
cmp eax, 0x10
jne 0x14015a46b
mov r9, qword [rsp + 0x58]
xor edx, edx
mov dword [rsp + 0x44], edx
mov r15d, edx
mov dword [rbp - 0x48], 1
jmp 0x1401574bd
mov r13d, dword [rbp - 0x48]
mov dword [rbp - 0x48], r13d
test r15d, r15d
jne 0x14015d61f
mov dword [rsp + 0x44], r15d
test r13d, r13d
jne 0x14015cb71
mov rcx, rbx
call fcn.14011e960
test rax, rax
js 0x14015a4ba
mov rcx, rax
call fcn.14013b5f0
movsx ecx, ax
cmp ecx, dword [r12 + 0xc]
jge 0x14015a4ba
mov dword [rbp - 0x48], 1
mov dword [rsp + 0x44], r15d
jmp 0x1401574b6
mov dword [rbp - 0x48], r13d
mov dword [rsp + 0x44], r15d
jmp 0x140156131
inc dword [r14 + 0xdc]
movsxd rcx, dword [r12 + 4]
mov r13d, 1
mov rax, qword [r14 + 0x78]
mov edi, r13d
mov rsi, qword [rax + rcx*8]
mov rbx, qword [rsi + 0x30]
cmp byte [rsi], dil
jne 0x14015a546
cmp byte [rbx + 0x58], 0
mov dword [rsp + 0x44], edx
jne 0x14015a518
cmp qword [rbx + 0x38], 0
lea rdx, [rbx + 0x38]
je 0x14015a514
xor eax, eax
lea rcx, [rbx + 0x60]
mov edi, eax
call fcn.1401777e0
mov dword [rsp + 0x44], eax
xor edx, edx
jmp 0x14015a56f
mov rcx, rbx
call fcn.140176810
mov edx, eax
mov rcx, rbx
call fcn.140176980
mov dword [rsp + 0x44], eax
test eax, eax
jne 0x14015a542
mov rcx, rbx
call fcn.140177510
mov dword [rsp + 0x44], eax
xor eax, eax
mov edi, eax
xor edx, edx
jmp 0x14015a56f
mov rcx, rbx
call fcn.140103d50
mov dword [rsp + 0x44], eax
test eax, eax
jne 0x14015a595
xor eax, eax
mov rcx, rbx
mov edi, eax
call fcn.140103940
mov dword [rsp + 0x44], eax
xor edx, edx
mov byte [rsi + 3], 0
mov dword [rsi + 0x20], edx
mov r15d, dword [rsp + 0x44]
test r15d, r15d
jne 0x14015d849
mov byte [rsi + 2], dil
cmp dword [r12 + 8], r15d
jle 0x14015a5a2
test edi, edi
je 0x140156037
jmp 0x1401574b6
cmp eax, 0x10
jne 0x14015a566
xor edx, edx
mov dword [rsp + 0x44], edx
jmp 0x14015a568
movzx esi, byte [rsp + 0x40]
mov r11, qword [rsp + 0x60]
jmp 0x140156041
movsxd rcx, dword [r12 + 4]
mov rax, qword [r14 + 0x78]
mov rsi, qword [rax + rcx*8]
mov rdi, qword [rsi + 0x30]
cmp byte [rdi + 0x58], 0
je 0x14015a643
cmp byte [rdi + 0x59], 0
je 0x14015a60c
mov rcx, qword [rdi + 0x10]
call fcn.140175a60
mov dword [rsp + 0x44], eax
test eax, eax
jne 0x14015a685
mov rax, qword [rdi + 0x10]
cmp qword [rax + 0x18], 0
jne 0x14015a685
mov rbx, qword [rsp + 0x48]
mov ecx, 0x65
mov rdi, qword [rbp - 0x80]
mov r15d, ecx
mov dword [rsp + 0x44], ecx
jmp 0x14015a75e
mov rcx, qword [rdi + 0x18]
mov dword [rbp - 0x70], edx
lea rdx, [rbp - 0x70]
call fcn.140175400
mov dword [rsp + 0x44], eax
test eax, eax
jne 0x14015a685
cmp dword [rbp - 0x70], eax
je 0x14015a685
mov rbx, qword [rsp + 0x48]
mov ecx, 0x65
mov rdi, qword [rbp - 0x80]
mov r15d, ecx
mov dword [rsp + 0x44], ecx
jmp 0x14015a75e
mov rdx, qword [rdi + 0x38]
xor r15d, r15d
mov rax, qword [rdx + 8]
mov qword [rdi + 0x38], rax
mov qword [rdx + 8], r15
cmp qword [rdi + 0x40], r15
jne 0x14015a674
nop dword [rax]
mov rbx, qword [rdx + 8]
mov rcx, r13
call fcn.140125160
mov rdx, rbx
test rbx, rbx
jne 0x14015a660
cmp qword [rdi + 0x38], r15
mov ecx, 0x65
cmovne ecx, r15d
mov dword [rsp + 0x44], ecx
mov r15d, dword [rsp + 0x44]
mov rbx, qword [rsp + 0x48]
mov rdi, qword [rbp - 0x80]
jmp 0x14015a75e
mov rax, qword [r14 + 0x78]
mov rbx, qword [rsp + 0x48]
movsxd rcx, dword [rbx + 4]
mov rsi, qword [rax + rcx*8]
mov rcx, qword [rsi + 0x30]
and byte [rcx + 1], 0xf1
mov word [rcx + 0x46], dx
cmp byte [rcx], 0
jne 0x14015a6e8
movzx edx, word [rcx + 0x56]
test dx, dx
je 0x14015a6e8
mov rax, qword [rcx + 0x88]
cmp byte [rax + 8], 0
je 0x14015a6e8
dec dx
xor eax, eax
mov word [rcx + 0x56], dx
mov r15d, eax
mov dword [rsp + 0x44], eax
mov dword [rsi + 0x20], eax
jmp 0x14015a768
call fcn.1400e3910
jmp 0x14015a757
mov rax, qword [r14 + 0x78]
mov rbx, qword [rsp + 0x48]
movsxd rcx, dword [rbx + 4]
mov rsi, qword [rax + rcx*8]
mov rcx, qword [rsi + 0x30]
mov word [rcx + 0x46], dx
and byte [rcx + 1], 0xf9
cmp byte [rcx], 0
je 0x14015a718
call fcn.1400e30a0
jmp 0x14015a757
movzx r8d, word [rcx + 0x56]
mov rdx, qword [rcx + 0x88]
lea eax, [r8 + 1]
mov word [rcx + 0x56], ax
cmp ax, word [rdx + 0x18]
jb 0x14015a73e
mov word [rcx + 0x56], r8w
call fcn.1400e30a0
jmp 0x14015a757
cmp byte [rdx + 8], 0
je 0x14015a752
xor eax, eax
mov r15d, eax
mov dword [rsp + 0x44], eax
mov dword [rsi + 0x20], eax
jmp 0x14015a768
call fcn.140103940
mov dword [rsp + 0x44], eax
mov r15d, eax
xor edx, edx
mov dword [rsi + 0x20], edx
test r15d, r15d
jne 0x14015a77d
mov byte [rsi + 2], 0
movzx eax, word [rbx + 2]
inc dword [r14 + rax*4 + 0xd4]
jmp case.0x140155b40.9
cmp r15d, 0x65
jne 0x14015d61f
mov r15d, edx
mov dword [rsp + 0x44], edx
mov byte [rsi + 2], 1
mov r12, qword [rsp + 0x48]
mov eax, dword [r13 + 0x198]
mov rdi, qword [rbp - 0x80]
test eax, eax
jne 0x14015dc8d
mov rbx, qword [rsp + 0x68]
cmp rdi, rbx
jb 0x140156a3d
nop dword [rax + rax]
mov rdx, qword [r13 + 0x210]
test rdx, rdx
je 0x140156a3d
mov eax, dword [r13 + 0x220]
mov rcx, qword [r13 + 0x218]
add rbx, rax
mov qword [rsp + 0x68], rbx
call rdx
test eax, eax
jne 0x14015da8f
cmp rdi, rbx
jae 0x14015a7c0
movzx esi, byte [rsp + 0x40]
jmp 0x140156131
mov r15, qword [rsp + 0x48]
mov rax, qword [r14 + 0x78]
movsxd rcx, dword [r15 + 4]
mov rdi, qword [rax + rcx*8]
movsxd rax, dword [r15 + 8]
imul rbx, rax, 0x38
add rbx, r11
test byte [r15 + 2], 1
je 0x14015a826
inc qword [r14 + 0x38]
mov eax, 0x400
test word [rbx + 0x14], ax
je 0x14015a850
mov rcx, rbx
call fcn.14015fd50
mov r15d, eax
test eax, eax
jne 0x14015d849
mov r15, qword [rsp + 0x48]
xor edx, edx
mov r11, qword [rsp + 0x60]
movsxd rax, dword [rbx + 0x10]
mov qword [rbp + 0x2b0], rax
mov rax, qword [rbx + 8]
mov qword [rbp + 0x2a8], rax
movsxd rax, dword [r15 + 0xc]
imul rcx, rax, 0x38
add rcx, r11
mov qword [rbp + 0x2c0], rcx
movzx eax, word [r15 + 0x10]
mov word [rbp + 0x2c8], ax
movzx r8d, word [r15 + 2]
test r8b, 0x10
je 0x14015a895
mov r9d, dword [rdi + 0x24]
jmp 0x14015a898
mov r9d, edx
mov rcx, qword [rdi + 0x30]
lea rdx, [rbp + 0x2a8]
and r8d, 0x8a
call fcn.14011d250
xor edx, edx
mov dword [rsp + 0x44], eax
mov dword [rdi + 0x20], edx
mov r15d, eax
test eax, eax
jne 0x14015d849
mov r12, qword [rsp + 0x48]
mov r11, qword [rsp + 0x60]
jmp 0x140156041
mov rbx, qword [rsp + 0x48]
mov rax, qword [r14 + 0x78]
movsxd rcx, dword [rbx + 4]
mov rdi, qword [rax + rcx*8]
movsxd rax, dword [rbx + 8]
imul rbx, rax, 0x38
mov eax, 0x400
add rbx, r11
test word [rbx + 0x14], ax
je 0x14015a90c
mov rcx, rbx
call fcn.14015fd50
mov r15d, eax
test eax, eax
jne 0x14015d849
mov rdx, rbx
mov rcx, rdi
call fcn.140162a10
mov dword [rsp + 0x44], eax
mov r15d, eax
test eax, eax
jne 0x14015d849
jmp 0x14015612c
mov rax, qword [r14 + 0x78]
lea r8, [rbp - 0x2c]
mov r15, qword [rsp + 0x48]
lea rdx, [rbp + 0x280]
movsxd rcx, dword [r15 + 4]
mov rbx, qword [rax + rcx*8]
mov rax, qword [rbx + 0x38]
mov rdi, qword [rbx + 0x30]
mov qword [rbp + 0x280], rax
movzx eax, word [r15 + 0xc]
mov word [rbp + 0x29c], ax
mov byte [rbp + 0x29e], 0
movsxd rax, dword [r15 + 8]
imul rcx, rax, 0x38
add rcx, r11
mov qword [rbp + 0x288], rcx
mov rcx, rdi
call fcn.14011cc70
mov dword [rsp + 0x44], eax
mov r15d, eax
test eax, eax
jne 0x14015d849
cmp dword [rbp - 0x2c], eax
jne 0x14015a9c7
mov dl, 4
mov rcx, rdi
call fcn.14011c580
mov dword [rsp + 0x44], eax
mov r15d, eax
test eax, eax
jne 0x14015d849
mov r12, qword [rsp + 0x48]
xor edx, edx
mov r11, qword [rsp + 0x60]
mov dword [rbx + 0x20], edx
mov dword [rbx + 0x24], edx
jmp 0x140156041
mov r12, qword [rsp + 0x48]
cmp word [r12 + 2], 0
je 0x14015a9e8
mov eax, dword [r13 + 0x30]
and eax, 0x10000001
cmp rax, 1
jne 0x14015d94e
mov r11, qword [rsp + 0x60]
xor edx, edx
mov dword [rbx + 0x20], edx
mov dword [rbx + 0x24], edx
jmp 0x140156041
mov rax, qword [r14 + 0x78]
movsxd rcx, dword [r12 + 4]
mov rbx, qword [rax + rcx*8]
mov rax, qword [rbx + 0x30]
cmp byte [rax], 0
je 0x14015aa30
mov rcx, rbx
call fcn.14015f080
mov dword [rsp + 0x44], eax
mov r15d, eax
test eax, eax
jne 0x14015d61f
mov r9, qword [rsp + 0x58]
xor edx, edx
jmp 0x14015aa37
mov r15d, edx
mov dword [rsp + 0x44], edx
cmp byte [rbx + 2], 0
jne 0x14015aae3
mov qword [rbp - 0x60], rdx
lea r8, [rbp - 0x60]
mov rdx, qword [rbx + 0x30]
mov rcx, r13
call fcn.14015f0e0
mov dword [rsp + 0x44], eax
mov r15d, eax
test eax, eax
jne 0x14015d61f
mov rax, qword [rsp + 0x48]
cmp byte [rax], 0x8d
jne 0x14015aaa6
movsxd rcx, dword [rax + 0xc]
mov rax, qword [r14 + 0x78]
mov r12, qword [rsp + 0x48]
mov rdx, qword [rax + rcx*8]
mov rax, qword [rbp - 0x60]
mov byte [rdx + 2], r15b
mov qword [rdx + 0x50], rax
xor eax, eax
mov byte [rdx + 3], 1
mov dword [rdx + 0x20], eax
mov rax, qword [r12 + 0x10]
mov qword [rdx + 0x10], rax
mov qword [rdx + 0x28], rbx
jmp 0x140156131
movsxd rax, dword [rax + 8]
imul rcx, rax, 0x38
mov eax, 0x9000
add rcx, qword [r14 + 0x68]
test word [rcx + 0x14], ax
je 0x14015aad1
call fcn.140107260
mov rcx, rax
mov rax, qword [rbp - 0x60]
mov qword [rcx], rax
jmp 0x14015612c
mov rax, qword [rbp - 0x60]
mov word [rcx + 0x14], 4
mov qword [rcx], rax
jmp 0x14015612c
movsxd rax, dword [r12 + 8]
mov r11, qword [rsp + 0x60]
imul rcx, rax, 0x38
mov eax, 0x9000
add rcx, r11
test word [rcx + 0x14], ax
je 0x14015ab09
call fcn.140174d90
jmp 0x140156131
mov r10d, dword [rsp + 0x50]
mov word [rcx + 0x14], 1
mov r13, qword [rsp + 0x70]
add r12, 0x18
mov rdi, qword [rbp - 0x80]
jmp 0x140155b01
movsxd rcx, dword [r12 + 4]
mov rax, qword [r14 + 0x78]
mov rcx, qword [rax + rcx*8]
cmp byte [rcx + 3], 0
je case.0x140155b40.89
call fcn.14015e9e0
mov dword [rsp + 0x44], eax
mov r15d, eax
test eax, eax
jne 0x14015d61f
jmp 0x140156131
mov r15, qword [rsp + 0x48]
cmp bl, 0x2a
mov rax, qword [r14 + 0x78]
movsxd rcx, dword [r15 + 4]
mov rdx, qword [rax + rcx*8]
mov rax, qword [rdx + 0x38]
mov rbx, qword [rdx + 0x30]
mov qword [rbp + 0x258], rax
movzx eax, word [r15 + 0x10]
mov word [rbp + 0x274], ax
sbb al, al
mov byte [rbp + 0x276], al
movsxd rax, dword [r15 + 0xc]
imul rcx, rax, 0x38
add rcx, r11
mov qword [rbp + 0x260], rcx
mov rcx, rbx
call fcn.1400f9810
mov ecx, dword [rbx + 0x40]
lea eax, [rcx - 1]
cmp eax, 0x7ffffffe
ja 0x14015d981
mov qword [rbp + 0x110], r13
xor r9d, r9d
mov word [rbp + 0x10c], r9w
mov dword [rbp + 0x118], r9d
mov rax, qword [rbx + 0x88]
movzx edx, word [rbx + 0x44]
mov r8d, dword [rax + 0x58]
sub r8d, dword [rbx + 0x38]
cmp edx, r8d
jle 0x14015abf3
test r8d, r8d
mov edx, r8d
cmovs edx, r9d
mov rax, qword [rbx + 0x38]
mov qword [rbp + 0x100], rax
cmp ecx, edx
ja 0x14015ac1e
mov edx, 0x4010
mov dword [rbp + 0x108], ecx
mov word [rbp + 0x10c], dx
mov r15d, r9d
mov dword [rsp + 0x44], r9d
jmp 0x14015ac4e
mov r8d, ecx
lea r9, [rbp + 0xf8]
mov rcx, rbx
xor edx, edx
call fcn.14015fe80
mov dword [rsp + 0x44], eax
mov r15d, eax
test eax, eax
jne 0x14015d61f
mov ecx, dword [rbp + 0x108]
mov rax, qword [rbp + 0x100]
xor r9d, r9d
lea r8, [rbp + 0x258]
mov rdx, rax
call fcn.140161400
cmp dword [rbp + 0x118], 0
mov ebx, eax
je 0x14015ac77
lea rcx, [rbp + 0xf8]
call fcn.140174d40
mov r12, qword [rsp + 0x48]
test byte [r12], 1
jne 0x14015ac87
neg ebx
jmp 0x14015ac89
inc ebx
xor edx, edx
test ebx, ebx
jg 0x140159488
mov r11, qword [rsp + 0x60]
jmp 0x140156041
mov rcx, qword [rsp + 0x48]
movsxd rax, dword [rcx + 8]
imul rdi, rax, 0x38
mov eax, 0x9000
add rdi, qword [r14 + 0x68]
test word [rdi + 0x14], ax
je 0x14015accb
mov rcx, rdi
call fcn.140107260
mov rcx, qword [rsp + 0x48]
mov rdi, rax
xor edx, edx
mov word [rdi + 0x14], 1
mov eax, dword [r13 + 0xe8]
inc eax
cmp dword [r13 + 0xdc], eax
jg 0x14015d998
movsxd r14, dword [rcx + 0xc]
mov esi, dword [rcx + 4]
mov rcx, r14
mov rax, qword [r13 + 0x20]
shl rcx, 5
mov dword [rbp - 0x70], edx
mov rbx, qword [rcx + rax + 8]
cmp byte [rbx + 0x11], 0
je 0x14015ad18
inc dword [rbx + 0x14]
cmp byte [rbx + 0x12], 0
jne 0x14015ad18
mov rcx, rbx
call fcn.1400e2ed0
lea r8, [rbp - 0x70]
mov edx, esi
mov rcx, rbx
call fcn.1400e2630
cmp byte [rbx + 0x11], 0
mov r15d, eax
mov dword [rsp + 0x44], eax
je 0x14015ad41
sub dword [rbx + 0x14], 1
jne 0x14015ad41
mov rcx, rbx
call fcn.1401716f0
movsxd rdx, dword [rbp - 0x70]
mov word [rdi + 0x14], 4
mov qword [rdi], rdx
test r15d, r15d
jne 0x14015d636
test edx, edx
je 0x140157ced
mov r12, qword [rsp + 0x48]
mov r9, r14
shl r9, 5
add r9, qword [r13 + 0x20]
mov r8d, dword [r12 + 4]
mov rax, qword [r9 + 0x18]
mov rcx, qword [rax + 0x10]
test rcx, rcx
je 0x14015ad96
mov rax, qword [rcx + 0x10]
cmp dword [rax + 0x28], edx
jne 0x14015ad8e
mov dword [rax + 0x28], r8d
mov rcx, qword [rcx]
test rcx, rcx
jne 0x14015ad81
mov rax, qword [r9 + 0x18]
mov rcx, qword [rax + 0x28]
test rcx, rcx
je 0x14015adb8
mov rax, qword [rcx + 0x10]
cmp dword [rax + 0x58], edx
jne 0x14015adb0
mov dword [rax + 0x58], r8d
mov rcx, qword [rcx]
test rcx, rcx
jne 0x14015ada3
movzx esi, byte [rsp + 0x40]
lea eax, [r14 + 1]
mov r14, qword [rsp + 0x78]
mov byte [rbp - 0x64], al
jmp 0x140156131
mov r15, qword [rsp + 0x48]
lea r8, [rbp - 0x18]
mov qword [rbp - 0x18], rdx
mov rcx, qword [r13 + 0x20]
movsxd rax, dword [r15 + 8]
mov edx, dword [r15 + 4]
shl rax, 5
mov rcx, qword [rax + rcx + 8]
call fcn.14011b990
mov r12, qword [rsp + 0x48]
mov r15d, eax
mov r11, qword [rsp + 0x60]
mov dword [rsp + 0x44], eax
cmp dword [r12 + 0xc], 0
je 0x14015ae2b
mov rax, qword [rbp - 0x18]
add qword [r14 + 0x38], rax
movsxd rax, dword [r12 + 0xc]
test eax, eax
jle 0x14015ae2b
imul rcx, rax, 0x38
mov rax, qword [rbp - 0x18]
add qword [rcx + r11], rax
test r15d, r15d
jne 0x140158d4c
jmp 0x140156136
movsxd rcx, dword [r12 + 4]
mov rax, qword [r14 + 0x78]
mov rcx, qword [rax + rcx*8]
cmp byte [rcx], 1
jne 0x14015ae5c
mov rdx, qword [rcx + 0x30]
mov rcx, r13
call fcn.140162780
jmp 0x140156131
mov rcx, qword [rcx + 0x30]
xor r8d, r8d
mov edx, dword [rcx + 0x50]
mov rcx, qword [rcx + 8]
call fcn.14011b990
mov dword [rsp + 0x44], eax
mov r15d, eax
test eax, eax
jne 0x14015d61f
jmp 0x140156131
mov rbx, qword [rsp + 0x48]
movsxd rax, dword [rbx + 8]
imul rdi, rax, 0x38
mov eax, 0x9000
add rdi, qword [r14 + 0x68]
test word [rdi + 0x14], ax
je 0x14015aeae
mov rcx, rdi
call fcn.140107260
mov rdi, rax
xor edx, edx
jmp 0x14015aeb4
mov word [rdi + 0x14], 4
movsxd rcx, dword [rbx + 4]
mov rax, qword [r13 + 0x20]
mov esi, dword [rbx + 0xc]
shl rcx, 5
mov dword [rbp - 0x70], edx
mov rbx, qword [rcx + rax + 8]
cmp byte [rbx + 0x11], 0
je 0x14015aee2
inc dword [rbx + 0x14]
cmp byte [rbx + 0x12], 0
jne 0x14015aee2
mov rcx, rbx
call fcn.1400e2ed0
mov r8d, esi
lea rdx, [rbp - 0x70]
mov rcx, rbx
call fcn.1400e2130
cmp byte [rbx + 0x11], 0
mov r15d, eax
mov dword [rsp + 0x44], eax
je 0x14015af0c
sub dword [rbx + 0x14], 1
jne 0x14015af0c
mov rcx, rbx
call fcn.1401716f0
test r15d, r15d
jne 0x14015d849
mov eax, dword [rbp - 0x70]
mov r12, qword [rsp + 0x48]
movzx esi, byte [rsp + 0x40]
mov qword [rdi], rax
jmp 0x140156131
inc byte [r13 + 0x70]
xor r9d, r9d
mov qword [rsp + 0x20], rdx
xor r8d, r8d
mov rdx, qword [r12 + 0x10]
mov rcx, r13
call fcn.1400d6450
dec byte [r13 + 0x70]
mov r15d, eax
mov dword [rsp + 0x44], eax
test eax, eax
jne 0x14015d61f
jmp 0x140156131
mov r15, qword [rsp + 0x48]
cmp qword [r15 + 0x10], 0
movsxd rbx, dword [r15 + 4]
jne 0x14015afb7
mov rcx, qword [r13 + 0x20]
mov rax, rbx
shl rax, 5
mov rcx, qword [rax + rcx + 0x18]
call fcn.140149300
and dword [r13 + 0x2c], 0xffffffef
lea r8, [r14 + 0xa8]
movzx r9d, word [r15 + 2]
mov edx, ebx
mov rcx, r13
call fcn.140137e00
or dword [r13 + 0x2c], 1
mov r15d, eax
and dword [r14 + 0xc8], 0xfffffffc
mov dword [rsp + 0x44], eax
jmp 0x14015b0a9
mov dword [rbp + 0x50], edx
lea rax, [r14 + 0xa8]
mov qword [rbp + 0x40], rax
lea r9, str.sqlite_master
mov qword [rbp + 0x38], r13
mov rdx, rbx
mov dword [rbp + 0x48], ebx
mov rax, qword [r13 + 0x20]
shl rdx, 5
mov rcx, qword [rdx + rax + 8]
mov rax, qword [rcx + 8]
mov ecx, dword [rax + 0x40]
mov dword [rbp + 0x58], ecx
mov rcx, r13
mov r8, qword [r13 + 0x20]
mov rax, qword [r15 + 0x10]
mov qword [rsp + 0x20], rax
mov r8, qword [rdx + r8]
lea rdx, str.SELECTFROM__w_._s_WHERE__s_ORDER_BY_rowid
call fcn.14013b8c0
mov rbx, rax
mov rcx, r13
test rax, rax
je 0x14015d9b0
xor eax, eax
mov byte [r13 + 0xc5], 1
lea r9, [rbp + 0x38]
mov dword [rbp + 0x4c], eax
lea r8, [fcn.140137b00]
mov dword [rbp + 0x54], eax
mov rdx, rbx
mov qword [rsp + 0x20], rax
call fcn.1400d6450
mov dword [rsp + 0x44], eax
mov r15d, eax
test eax, eax
jne 0x14015b096
mov r15d, dword [rbp + 0x4c]
mov dword [rsp + 0x44], r15d
test r15d, r15d
jne 0x14015b096
cmp dword [rbp + 0x54], r15d
jne 0x14015b096
lea rax, [0x14020c1e4]
mov r15d, recv
mov ecx, r15d
mov qword [rsp + 0x20], rax
mov r9d, 0x181b4
lea r8, str.database_corruption
lea rdx, str._s_at_line__d_of___.10s_
call fcn.1400c5dd0
mov dword [rsp + 0x44], r15d
mov rdx, rbx
mov rcx, r13
call fcn.140125160
mov byte [r13 + 0xc5], 0
test r15d, r15d
je 0x14015612c
mov rcx, r13
call fcn.140147750
mov r12, qword [rsp + 0x68]
cmp r15d, 7
je 0x140157c78
mov rsi, qword [rsp + 0x70]
mov eax, 0xb
mov r13, qword [rsp + 0x48]
jmp 0x14015d25a
mov edx, dword [r12 + 4]
mov rcx, r13
call fcn.140118f20
mov dword [rsp + 0x44], eax
mov r15d, eax
test eax, eax
jne 0x14015d61f
jmp 0x140156131
mov rax, qword [rsp + 0x48]
xor r8d, r8d
movsxd rcx, dword [rax + 4]
mov rdx, qword [rax + 0x10]
shl rcx, 5
add rcx, qword [r13 + 0x20]
mov rcx, qword [rcx + 0x18]
add rcx, 8
call fcn.140137020
test rax, rax
je 0x14015b147
cmp qword [r13 + 0x308], 0
jne 0x14015b13c
mov ecx, 0xffffffff
add dword [rax + 0x2c], ecx
jne 0x14015b147
mov rdx, rax
mov rcx, r13
call fcn.1400ec990
or dword [r13 + 0x2c], 1
jmp 0x14015612c
movsxd rcx, dword [r12 + 4]
xor r8d, r8d
mov rax, qword [r13 + 0x20]
mov rdx, qword [r12 + 0x10]
shl rcx, 5
mov rcx, qword [rcx + rax + 0x18]
add rcx, 0x20
call fcn.140137020
mov r8, rax
test rax, rax
je 0x14015b1c6
mov rax, qword [rax + 0x18]
mov rcx, qword [rax + 0x10]
cmp rcx, r8
jne 0x14015b193
mov rcx, qword [r8 + 0x28]
mov qword [rax + 0x10], rcx
jmp 0x14015b1bb
test rcx, rcx
je 0x14015b1bb
nop dword [rax + rax]
lea rdx, [rcx + 0x28]
mov rcx, qword [rcx + 0x28]
cmp rcx, r8
je 0x14015b1b4
test rcx, rcx
jne 0x14015b1a0
jmp 0x14015b1bb
mov rax, qword [r8 + 0x28]
mov qword [rdx], rax
mov rdx, r8
mov rcx, r13
call fcn.140132710
or dword [r13 + 0x2c], 1
jmp 0x140156131
mov rbx, qword [rsp + 0x48]
xor r8d, r8d
mov rax, qword [r13 + 0x20]
movsxd rcx, dword [rbx + 4]
mov rdx, qword [rbx + 0x10]
shl rcx, 5
mov rcx, qword [rcx + rax + 0x18]
add rcx, 0x38
call fcn.140137020
mov rbx, rax
test rax, rax
je 0x14015612c
mov rcx, qword [rax + 0x30]
cmp qword [rax + 0x28], rcx
jne 0x14015b24d
mov rdx, qword [rax + 8]
add rcx, 8
xor r8d, r8d
call fcn.1400f2ea0
mov rdx, qword [rax + 0x10]
test rdx, rdx
je 0x14015b24d
mov rax, qword [rdx + 0x58]
add rdx, 0x58
test rax, rax
je 0x14015b24d
cmp rax, rbx
je 0x14015b246
lea rdx, [rax + 0x40]
mov rax, qword [rax + 0x40]
test rax, rax
jne 0x14015b232
jmp 0x14015b24d
mov rax, qword [rax + 0x40]
mov qword [rdx], rax
mov rdx, rbx
mov rcx, r13
call fcn.140126740
or dword [r13 + 0x2c], 1
jmp 0x14015612c
mov r15, qword [rsp + 0x48]
lea r9, [rbp - 8]
mov rdx, qword [r13 + 0x20]
mov qword [rsp + 0x30], r9
lea r9, [rbp - 0x28]
mov qword [rsp + 0x28], r9
movsxd rax, dword [r15 + 0xc]
mov r8, qword [r15 + 0x10]
mov r9d, dword [r15 + 8]
add r8, 4
imul rdi, rax, 0x38
movsxd rax, dword [r15 + 4]
imul rbx, rax, 0x38
movzx eax, word [r15 + 2]
add rdi, r11
shl rax, 5
add rbx, r11
mov ecx, dword [rdi]
mov rdx, qword [rax + rdx + 8]
inc ecx
mov dword [rsp + 0x20], ecx
mov rcx, r13
call fcn.14011d790
mov r15d, eax
mov dword [rsp + 0x44], eax
mov eax, 0x9000
test word [rbx + 0x14], ax
je 0x14015b2d9
mov rcx, rbx
call fcn.140174d90
jmp 0x14015b2df
mov word [rbx + 0x14], 1
mov eax, dword [rbp - 0x28]
test eax, eax
je 0x14015b319
test r15d, r15d
jne 0x14015d9ba
mov rdx, qword [rbp - 8]
dec eax
movsxd rcx, eax
mov r9b, 1
sub qword [rdi], rcx
lea rax, [fcn.1400d87d0]
mov rcx, rbx
mov qword [rsp + 0x20], rax
mov r8, 0xffffffffffffffff
call fcn.140160550
test byte [rbx + 0x14], 2
jne 0x14015b328
mov byte [rbx + 0x16], sil
jmp 0x14015a792
cmp byte [rbx + 0x16], sil
je 0x14015a792
movzx edx, sil
mov rcx, rbx
call fcn.140160950
jmp 0x14015a792
mov rcx, qword [rsp + 0x48]
movsxd rax, dword [rcx + 4]
imul rbx, rax, 0x38
movsxd rax, dword [rcx + 8]
imul rdi, rax, 0x38
add rbx, r11
add rdi, r11
test byte [rbx + 0x14], 0x10
jne 0x14015b374
mov rcx, rbx
call fcn.140160450
test eax, eax
jne 0x140157c6f
mov rdx, qword [rdi]
mov rcx, qword [rbx + 8]
call fcn.1401481a0
jmp 0x14015612c
movsxd rax, dword [r12 + 4]
imul rdi, rax, 0x38
add rdi, r11
test byte [rdi + 0x14], 0x10
je 0x14015b40e
mov rbx, qword [rdi + 8]
movzx eax, word [rbx + 0x32]
test al, 2
jne 0x14015b3b9
test al, 1
jne 0x14015b3b4
mov rcx, qword [rbx + 0x10]
call fcn.140112da0
mov qword [rbx + 0x10], rax
or word [rbx + 0x32], 3
mov rax, qword [rbx + 0x10]
test rax, rax
je 0x14015b40e
mov rdi, qword [rax]
mov rax, qword [rax + 8]
mov qword [rbx + 0x10], rax
test rax, rax
jne 0x14015b3da
mov rcx, rbx
call fcn.1401480d0
movsxd rax, dword [r12 + 0xc]
imul rcx, rax, 0x38
mov eax, 0x9000
add rcx, qword [rsp + 0x60]
test word [rcx + 0x14], ax
je 0x14015b400
mov rdx, rdi
call fcn.140176020
jmp 0x14015a797
mov qword [rcx], rdi
mov word [rcx + 0x14], 4
jmp 0x14015a797
mov eax, 0x9000
test word [rdi + 0x14], ax
je 0x14015b426
mov rcx, rdi
call fcn.140174d90
jmp case.0x140155b40.9
mov word [rdi + 0x14], 1
jmp case.0x140155b40.9
mov rcx, qword [rsp + 0x48]
movsxd rax, dword [rcx + 4]
mov esi, dword [rcx + 0x10]
imul rbx, rax, 0x38
movsxd rax, dword [rcx + 0xc]
imul rdi, rax, 0x38
add rbx, r11
add rdi, r11
test byte [rbx + 0x14], 0x10
jne 0x14015b465
mov rcx, rbx
call fcn.140160450
test eax, eax
jne 0x140157c6f
test esi, esi
je 0x14015b481
mov r8, qword [rdi]
mov edx, esi
mov rcx, qword [rbx + 8]
call fcn.140148210
test eax, eax
jne 0x14015cb6c
test esi, esi
js 0x1401589f3
mov rdx, qword [rdi]
mov rcx, qword [rbx + 8]
call fcn.1401481a0
mov r12, qword [rsp + 0x48]
movzx esi, byte [rsp + 0x40]
jmp 0x140156131
mov rcx, qword [rsp + 0x48]
movsxd rax, dword [rcx + 0xc]
mov r12, qword [rcx + 0x10]
imul r15, rax, 0x38
add r15, r11
cmp word [rcx + 2], 0
je 0x14015b4e3
mov rax, qword [r14 + 0x108]
mov rcx, qword [r12 + 0x20]
test rax, rax
je 0x14015b4e3
nop
cmp qword [rax + 0x30], rcx
je 0x14015d4ad
mov rax, qword [rax + 8]
test rax, rax
jne 0x14015b4d0
mov eax, dword [r13 + 0xb0]
cmp dword [r14 + 0x118], eax
jge 0x14015d9cd
test byte [r15 + 0x14], 0x10
jne 0x14015b633
mov edx, dword [r12 + 0x10]
mov ecx, dword [r12 + 0xc]
add ecx, edx
test edx, edx
lea edi, [rcx + 1]
cmovne edi, ecx
lea eax, [rdi + 2]
imul ecx, eax, 7
mov eax, dword [r12 + 8]
add ecx, edx
add eax, 7
jns 0x14015b52b
add eax, 7
sar eax, 3
lea r14d, [rax + rcx*8]
mov rcx, r13
movsxd rsi, r14d
mov rdx, rsi
call fcn.1401252f0
mov rbx, rax
test rax, rax
je 0x140157c6a
mov r8, rsi
xor edx, edx
mov rcx, rax
call fcn.1401b9ec0
mov eax, 0x9000
test word [r15 + 0x14], ax
jne 0x14015b56c
cmp dword [r15 + 0x20], 0
je 0x14015b574
mov rcx, r15
call fcn.140174d40
mov rcx, qword [rsp + 0x48]
lea rax, [0x14015ea50]
sub rcx, qword [rsp + 0x58]
mov word [r15 + 0x14], 0x1010
mov qword [r15 + 8], rbx
mov dword [r15 + 0x10], r14d
mov r14, qword [rsp + 0x78]
mov qword [r15 + 0x30], rax
mov qword [rbx], r14
mov dword [rbx + 0x58], edi
mov eax, dword [r12 + 0x10]
mov dword [rbx + 0x5c], eax
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov dword [rbx + 0x4c], edx
xor edx, edx
mov rax, qword [r14 + 0x68]
mov qword [rbx + 0x18], rax
mov eax, dword [r14 + 0x24]
mov dword [rbx + 0x54], eax
mov rax, qword [r14 + 0x78]
mov qword [rbx + 0x20], rax
mov eax, dword [r14 + 0x28]
mov dword [rbx + 0x48], eax
mov rax, qword [r14 + 0x88]
mov qword [rbx + 0x10], rax
mov eax, dword [r14 + 0x90]
mov dword [rbx + 0x50], eax
mov rax, qword [r12 + 0x20]
mov qword [rbx + 0x30], rax
movsxd rax, edi
add rax, 2
imul rcx, rax, 0x38
lea rax, [rbx + 0x70]
add rcx, rbx
cmp rax, rcx
je 0x14015b637
nop
mov word [rax + 0x14], dx
mov qword [rax + 0x18], r13
add rax, 0x38
cmp rax, rcx
jne 0x14015b620
jmp 0x14015b637
mov rbx, qword [r15 + 8]
inc dword [r14 + 0x118]
mov rax, qword [r14 + 0x108]
mov qword [rbx + 8], rax
mov rax, qword [r13 + 0x38]
mov qword [rbx + 0x38], rax
mov rax, qword [r14 + 0x38]
mov qword [rbx + 0x60], rax
mov rax, qword [r14]
mov rcx, qword [rax + 0x78]
mov qword [rbx + 0x68], rcx
mov rax, qword [r14 + 0x128]
mov qword [rbx + 0x40], rax
mov qword [r14 + 0x128], rdx
mov qword [r14 + 0x38], rdx
lea rdx, [rbx + 0x70]
mov qword [r14 + 0x108], rbx
mov qword [r14 + 0x68], rdx
movsxd rcx, dword [rbx + 0x58]
mov dword [r14 + 0x24], ecx
movzx eax, word [rbx + 0x5c]
mov dword [r14 + 0x28], eax
mov qword [rsp + 0x60], rdx
imul rcx, rcx, 0x38
add rdx, rcx
mov qword [r14 + 0x78], rdx
movsxd rax, dword [r12 + 0x10]
lea rcx, [rdx + rax*8]
mov qword [rbx + 0x28], rcx
mov eax, dword [r12 + 8]
add eax, 7
cdq
and edx, 7
add eax, edx
xor edx, edx
sar eax, 3
movsxd r8, eax
call fcn.1401b9ec0
mov rcx, qword [r12]
mov r15d, dword [rsp + 0x44]
mov qword [r14 + 0x88], rcx
mov eax, dword [r12 + 8]
mov qword [rsp + 0x58], rcx
add rcx, 0xffffffffffffffe8
mov qword [rsp + 0x48], rcx
mov r12, rcx
mov dword [r14 + 0x90], eax
jmp 0x14015a797
movsxd rax, dword [r12 + 8]
mov r13d, 0x9000
imul r9, rax, 0x38
add r9, qword [r14 + 0x68]
test word [r9 + 0x14], r13w
je 0x14015b72a
mov rcx, r9
call fcn.140107260
mov r9, rax
jmp 0x14015b731
mov word [r9 + 0x14], 4
mov r8, qword [r14 + 0x108]
movsxd rax, dword [r8 + 0x4c]
lea rcx, [rax + rax*2]
mov rax, qword [r8 + 0x10]
mov eax, dword [rax + rcx*8 + 4]
add eax, dword [r12 + 4]
cdqe
imul rcx, rax, 0x38
add rcx, qword [r8 + 0x18]
test word [r9 + 0x14], r13w
je 0x14015b774
mov rdx, rcx
mov r8d, 0x4000
mov rcx, r9
call fcn.140173c80
jmp 0x140156131
movups xmm0, xmmword [rcx]
mov r11, qword [rsp + 0x60]
mov eax, 0x2000
mov r10d, dword [rsp + 0x50]
movups xmmword [r9], xmm0
movsd xmm1, qword [rcx + 0x10]
movsd qword [r9 + 0x10], xmm1
test word [rcx + 0x14], ax
jne 0x140155f98
mov eax, 0xcfff
and word [r9 + 0x14], ax
mov eax, 0x4000
or word [r9 + 0x14], ax
jmp 0x14015613b
mov eax, dword [r13 + 0x30]
bt rax, 0x13
jae 0x14015b7e1
movsxd rax, dword [r12 + 8]
add qword [r13 + 0x300], rax
mov r13, qword [rsp + 0x70]
add r12, 0x18
mov rdi, qword [rbp - 0x80]
jmp 0x140155b01
mov rax, qword [rsp + 0x48]
mov r12, rax
cmp dword [rax + 4], 0
movsxd rax, dword [rax + 8]
je 0x14015b80c
add qword [r13 + 0x2f8], rax
mov r13, qword [rsp + 0x70]
add r12, 0x18
mov rdi, qword [rbp - 0x80]
jmp 0x140155b01
add qword [r14 + 0x50], rax
mov r13, qword [rsp + 0x70]
add r12, 0x18
mov rdi, qword [rbp - 0x80]
jmp 0x140155b01
cmp dword [r12 + 4], 0
je 0x14015b858
cmp qword [r13 + 0x2f8], 0
jne case.0x140155b40.89
cmp qword [r13 + 0x300], 0
je 0x1401574bd
mov r13, qword [rsp + 0x70]
add r12, 0x18
mov rdi, qword [rbp - 0x80]
jmp 0x140155b01
cmp qword [r14 + 0x50], 0
jne case.0x140155b40.89
cmp qword [r13 + 0x300], 0
je 0x1401574bd
mov r13, qword [rsp + 0x70]
add r12, 0x18
mov rdi, qword [rbp - 0x80]
jmp 0x140155b01
mov rcx, qword [r14 + 0x108]
test rcx, rcx
je 0x14015b8bb
mov rax, qword [rcx + 8]
test rax, rax
je 0x14015b8ac
nop dword [rax + rax]
mov rcx, rax
mov rax, qword [rax + 8]
test rax, rax
jne 0x14015b8a0
movsxd rax, dword [r12 + 4]
imul rdi, rax, 0x38
add rdi, qword [rcx + 0x18]
jmp 0x14015b8c7
movsxd rax, dword [r12 + 4]
imul rdi, rax, 0x38
add rdi, r11
mov rcx, rdi
call fcn.140160170
movsxd rax, dword [r12 + 8]
imul rbx, rax, 0x38
add rbx, qword [rsp + 0x60]
mov rcx, rbx
call fcn.140160170
mov rax, qword [rbx]
cmp qword [rdi], rax
jge 0x140156131
mov qword [rdi], rax
jmp 0x140156131
movsxd rax, dword [r12 + 4]
imul rcx, rax, 0x38
mov rdx, qword [rcx + r11]
test rdx, rdx
jle 0x140155d1d
movsxd rax, dword [r12 + 0xc]
sub rdx, rax
mov qword [rcx + r11], rdx
jmp 0x1401574bb
mov rcx, qword [rsp + 0x48]
movsxd rax, dword [rcx + 4]
imul rbx, rax, 0x38
movsxd rax, dword [rcx + 0xc]
imul rdi, rax, 0x38
movsxd rax, dword [rcx + 8]
add rbx, r11
imul r8, rax, 0x38
add rdi, r11
mov eax, 0x9000
add r8, qword [r14 + 0x68]
test word [r8 + 0x14], ax
je 0x14015b96a
mov rcx, r8
call fcn.140107260
mov r11, qword [rsp + 0x60]
mov r8, rax
mov r9, qword [rsp + 0x58]
jmp 0x14015b971
mov word [r8 + 0x14], 4
mov rdx, qword [rbx]
test rdx, rdx
jle 0x14015b9af
mov rcx, qword [rdi]
mov eax, 0
test rcx, rcx
cmovle rcx, rax
test rcx, rcx
js 0x14015b99f
movabs rax, 0x7fffffffffffffff
sub rax, rdx
cmp rax, rcx
jl 0x14015b9af
mov r12, qword [rsp + 0x48]
add rdx, rcx
mov qword [r8], rdx
jmp 0x140155d18
mov r12, qword [rsp + 0x48]
mov rdx, 0xffffffffffffffff
mov qword [r8], rdx
jmp 0x140155d18
movsxd rax, dword [r12 + 4]
imul rcx, rax, 0x38
mov rax, qword [rcx + r11]
test rax, rax
je case.0x140155b40.89
jle 0x1401574bd
dec rax
mov qword [rcx + r11], rax
jmp 0x1401574bd
movsxd rax, dword [r12 + 4]
movabs r8, 0x8000000000000000
imul rcx, rax, 0x38
mov rax, qword [rcx + r11]
cmp rax, r8
jle 0x14015ba0e
dec rax
mov qword [rcx + r11], rax
test rax, rax
je 0x1401574bd
mov r13, qword [rsp + 0x70]
add r12, 0x18
mov rdi, qword [rbp - 0x80]
jmp 0x140155b01
movzx ebx, word [r12 + 2]
mov rcx, r13
lea rdx, [rbx*8 + 0x68]
call fcn.1401252f0
mov r8, rax
test rax, rax
je 0x140157c6f
xor eax, eax
lea rcx, [rbx + 6]
mov qword [r8 + 0x10], rax
lea rcx, [r8 + rcx*8]
mov rax, qword [rsp + 0x48]
mov qword [r8], rcx
mov word [rcx + 0x14], 1
mov qword [rcx + 0x18], r13
xor r13d, r13d
mov dword [rcx + 0x20], r13d
mov rcx, qword [rax + 0x10]
mov qword [r8 + 8], rcx
mov rcx, rax
sub rcx, qword [rsp + 0x58]
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov rax, qword [rsp + 0x48]
mov dword [r8 + 0x20], edx
mov qword [r8 + 0x18], r14
mov byte [r8 + 0x29], r13b
mov dword [r8 + 0x24], r13d
mov byte [r8 + 0x28], sil
mov byte [r8 + 0x2a], bl
mov byte [rax + 1], 0xf1
mov qword [rax + 0x10], r8
mov byte [rax], 0xa3
jmp 0x14015bacf
mov rax, qword [rsp + 0x48]
xor r13d, r13d
mov rbx, qword [rax + 0x10]
movsxd rax, dword [rax + 0xc]
mov rdi, qword [rsp + 0x60]
imul r10, rax, 0x38
add r10, rdi
mov qword [rbp - 0x60], r10
cmp qword [rbx + 0x10], r10
je 0x14015bb35
mov qword [rbx + 0x10], r10
movzx eax, byte [rbx + 0x2a]
mov edx, eax
sub rdx, 1
lea r9d, [rax - 1]
js 0x14015bb35
mov r10, qword [rsp + 0x48]
lea r8, [rdx + 6]
lea r8, [rbx + r8*8]
nop
mov eax, dword [r10 + 8]
lea r8, [r8 - 8]
add eax, r9d
dec r9d
cdqe
imul rcx, rax, 0x38
add rcx, rdi
sub rdx, 1
mov qword [r8 + 8], rcx
jns 0x14015bb10
mov r10, qword [rbp - 0x60]
inc dword [r10 + 0x10]
lea r8, [rbx + 0x30]
mov r12, qword [rsp + 0x48]
mov rcx, rbx
mov rax, qword [rbx + 8]
movzx edx, byte [rbx + 0x2a]
cmp dword [r12 + 4], 0
je 0x14015bb5a
call qword [rax + 0x30]
jmp 0x14015bb5d
call qword [rax + 0x18]
mov eax, dword [rbx + 0x24]
test eax, eax
je 0x140156131
jle 0x14015bbc6
mov rcx, qword [rbx]
test rcx, rcx
jne 0x14015bb77
mov rax, r13
jmp 0x14015bbab
movzx edx, word [rcx + 0x14]
mov r8d, 0x202
movzx eax, dx
and ax, r8w
cmp ax, r8w
jne 0x14015bb9a
cmp byte [rcx + 0x16], 1
jne 0x14015bb9a
mov rax, qword [rcx + 8]
jmp 0x14015bbab
test dl, 1
je 0x14015bba4
mov rax, r13
jmp 0x14015bbab
mov dl, 1
call fcn.140173820
mov r8, rax
lea rdx, [0x140207368]
mov rcx, r14
call fcn.140155980
mov r15d, dword [rbx + 0x24]
mov dword [rsp + 0x44], r15d
cmp byte [rbx + 0x29], 0
je 0x14015bc05
movsxd rax, dword [r12 - 0x14]
test eax, eax
je 0x14015bc01
imul rcx, rax, 0x38
mov eax, 0x9000
add rcx, rdi
test word [rcx + 0x14], ax
je 0x14015bbf3
mov edx, 1
call fcn.140176020
jmp 0x14015bc01
mov eax, 1
mov qword [rcx], rax
mov word [rcx + 0x14], 4
mov byte [rbx + 0x29], 0
mov rcx, qword [rbx]
mov eax, 0x9000
test word [rcx + 0x14], ax
jne 0x14015bc19
cmp dword [rcx + 0x20], 0
je 0x14015bc1e
call fcn.140174d40
mov rax, qword [rbx]
xor edx, edx
mov word [rax + 0x14], 1
mov dword [rbx + 0x24], edx
test r15d, r15d
jne 0x14015d244
mov r11, rdi
jmp 0x140156041
mov rcx, qword [rsp + 0x48]
movsxd rax, dword [rcx + 4]
mov rsi, qword [rcx + 0x10]
imul rbx, rax, 0x38
movsxd rax, dword [rcx + 0xc]
add rbx, r11
test eax, eax
je 0x14015bcf5
imul rdi, rax, 0x38
xorps xmm0, xmm0
movups xmmword [rbp + 0x160], xmm0
movups xmmword [rbp + 0x170], xmm0
xor eax, eax
mov qword [rbp + 0x190], rax
add rdi, r11
mov eax, 0x9000
movups xmmword [rbp + 0x180], xmm0
test word [rdi + 0x14], ax
je 0x14015bc9a
mov rcx, rdi
call fcn.140174d90
jmp 0x14015bca0
mov word [rdi + 0x14], 1
mov qword [rbp + 0x160], rdi
mov qword [rbp + 0x170], rbx
mov qword [rbp + 0x168], rsi
mov rax, qword [rbx + 0x18]
movzx ecx, byte [rax + 0x64]
mov byte [rbp + 0x188], cl
lea rcx, [rbp + 0x160]
call qword [rsi + 0x28]
mov r12, qword [rsp + 0x48]
mov r11, qword [rsp + 0x60]
mov r15d, dword [rbp + 0x184]
mov rdi, qword [rbp - 0x80]
movsxd rax, dword [r12 + 0xc]
imul rbx, rax, 0x38
mov dword [rsp + 0x44], r15d
add rbx, r11
jmp 0x14015bd11
mov rdx, rsi
mov rcx, rbx
call fcn.14015fdc0
mov r11, qword [rsp + 0x60]
mov r15d, eax
mov r12, qword [rsp + 0x48]
mov dword [rsp + 0x44], eax
test r15d, r15d
jne 0x14015d9ec
test byte [rbx + 0x14], 2
movzx esi, byte [rsp + 0x40]
jne 0x14015bd2e
mov byte [rbx + 0x16], sil
jmp 0x140156136
cmp byte [rbx + 0x16], sil
je 0x140156131
movzx edx, sil
mov rcx, rbx
call fcn.140160950
jmp 0x140156131
mov rbx, qword [rsp + 0x48]
lea rax, [rbp + 0x2e0]
mov dword [rbp + 0x2d8], edx
lea r9, [rbp + 0x2dc]
mov rcx, r13
mov dword [rbp + 0x2e0], 0xffffffff
mov dword [rbp + 0x2dc], 0xffffffff
mov r8d, dword [rbx + 8]
mov edx, dword [rbx + 4]
mov qword [rsp + 0x20], rax
call fcn.14011fca0
mov dword [rsp + 0x44], eax
mov r15d, eax
test eax, eax
je 0x14015bdac
cmp eax, 5
jne 0x14015dcab
xor eax, eax
mov r15d, eax
mov dword [rsp + 0x44], eax
lea ecx, [rax + 1]
jmp 0x14015bdb2
mov ecx, dword [rbp + 0x2d8]
movsxd rax, dword [rbx + 0xc]
mov r13d, 0x9000
imul rbx, rax, 0x38
movsxd rax, ecx
add rbx, qword [rsp + 0x60]
test word [rbx + 0x14], r13w
je 0x14015bde1
mov rdx, rax
mov rcx, rbx
call fcn.140176020
mov edx, 4
jmp 0x14015bded
mov edx, 4
mov qword [rbx], rax
mov word [rbx + 0x14], dx
lea rcx, [rbx + 0x38]
movsxd rax, dword [rbp + 0x2dc]
test word [rbx + 0x4c], r13w
je 0x14015be0e
mov rdx, rax
call fcn.140176020
mov edx, 4
jmp 0x14015be15
mov qword [rcx], rax
mov word [rbx + 0x4c], dx
lea rcx, [rbx + 0x70]
movsxd rax, dword [rbp + 0x2e0]
test word [rbx + 0x84], r13w
je 0x14015be37
mov rdx, rax
call fcn.140176020
jmp 0x14015612c
mov qword [rcx], rax
mov word [rbx + 0x84], dx
jmp 0x14015612c
mov rbx, qword [rsp + 0x48]
movsxd rax, dword [rbx + 8]
imul r15, rax, 0x38
mov eax, 0x9000
add r15, qword [r14 + 0x68]
test word [r15 + 0x14], ax
je 0x14015be70
mov rcx, r15
call fcn.140107260
mov r15, rax
jmp 0x14015be77
mov word [r15 + 0x14], 4
mov edx, dword [rbx + 0xc]
movsxd rcx, dword [rbx + 4]
mov rax, qword [r13 + 0x20]
shl rcx, 5
cmp edx, 0xffffffff
mov r13, qword [rcx + rax + 8]
mov rax, qword [r13 + 8]
mov rbx, qword [rax]
movzx r14d, byte [rbx + 9]
mov esi, r14d
cmovne esi, edx
cmp byte [rbx + 0x15], 3
jae 0x14015beb7
mov rax, qword [rbx + 0x50]
cmp qword [rax], 0
je 0x14015beba
cmp qword [rbx + 0x60], 0
jle 0x14015beba
mov esi, r14d
cmp byte [rbx + 0x13], 0
jne 0x14015bed5
lea rax, [0x14023d3a0]
cmp qword [rbx], rax
je 0x14015bed5
mov rcx, qword [rbx + 0xd8]
jmp 0x14015bedc
lea rcx, [0x140203294]
cmp esi, 5
jne 0x14015bf54
test rcx, rcx
je 0x14015bf1f
mov rax, 0xffffffffffffffff
nop dword [rax]
inc rax
cmp byte [rcx + rax], 0
jne 0x14015bef0
test eax, 0x3fffffff
je 0x14015bf1f
cmp byte [rbx + 0x11], 0
mov rax, qword [rbx + 0x48]
mov rcx, qword [rax]
jne 0x14015bf1f
cmp byte [rbx + 8], 0
jne 0x14015bf54
cmp dword [rcx], 2
jl 0x14015bf1f
cmp qword [rcx + 0x68], 0
jne 0x14015bf54
mov esi, r14d
mov ecx, dword [rsp + 0x44]
test ecx, ecx
je 0x14015bf2d
mov esi, r14d
mov edx, esi
mov rcx, rbx
call fcn.14013e550
mov word [r15 + 0x14], 0x2202
cmp eax, 6
jne 0x14015c0d1
xor ebx, ebx
mov qword [r15 + 8], rbx
mov eax, ebx
jmp 0x14015c110
cmp esi, r14d
je 0x14015bf22
cmp r14d, 5
je 0x14015bf64
cmp esi, 5
jne 0x14015bf22
mov r12, qword [rsp + 0x70]
cmp byte [r12 + 0x65], 0
je 0x14015da10
cmp dword [r12 + 0xdc], 1
jg 0x14015da10
cmp r14d, 5
jne 0x14015c095
xor ecx, ecx
mov edi, ecx
cmp qword [rbx + 0x128], rcx
jne 0x14015c00b
mov dword [rbp - 0x40], ecx
movzx eax, byte [rbx + 0x16]
cmp al, 1
jb 0x14015bfab
cmp al, r14b
jne 0x14015bfcf
cmp byte [rbx + 0x11], cl
jne 0x14015bfc5
mov rcx, qword [rbx + 0x48]
mov edx, 1
mov rax, qword [rcx]
call qword [rax + 0x38]
mov edi, eax
test eax, eax
jne 0x14015bfcf
cmp byte [rbx + 0x16], 5
je 0x14015bfcf
mov byte [rbx + 0x16], 1
test edi, edi
jne 0x14015c07d
mov rax, qword [rbx]
lea r9, [rbp - 0x40]
mov rdx, qword [rbx + 0x130]
xor r8d, r8d
mov rcx, rax
call qword [rax + 0x38]
mov edi, eax
test eax, eax
jne 0x14015c07d
cmp dword [rbp - 0x40], eax
je 0x14015c00b
mov rcx, rbx
call fcn.140107bc0
mov edi, eax
test eax, eax
jne 0x14015c07d
cmp qword [rbx + 0x128], 0
je 0x14015c07d
mov rcx, rbx
call fcn.1401078c0
mov edi, eax
test eax, eax
jne 0x14015c07d
mov rax, qword [rbx + 0x118]
mov rdx, r12
movzx r8d, byte [rbx + 0xf]
mov r9d, dword [rbx + 0xc8]
mov rcx, qword [rbx + 0x128]
mov qword [rsp + 0x20], rax
call fcn.140164120
mov edi, eax
mov dword [rsp + 0x44], eax
xor eax, eax
mov rcx, rbx
mov qword [rbx + 0x128], rax
call fcn.140107950
test edi, edi
je 0x14015c07d
cmp byte [rbx + 8], 0
jne 0x14015c07d
mov edx, 1
mov rcx, rbx
call fcn.140108470
jmp 0x14015bf2a
mov dword [rsp + 0x44], edi
test edi, edi
jne 0x14015bf2a
mov edx, esi
mov rcx, rbx
call fcn.14013e550
jmp 0x14015c0b2
cmp r14d, 4
jne 0x14015c0a7
lea edx, [r14 - 2]
mov rcx, rbx
call fcn.14013e550
cmp dword [rsp + 0x44], 0
jne 0x14015bf2a
xor eax, eax
mov rcx, r13
mov edx, eax
cmp esi, 5
sete dl
inc edx
call fcn.14011eeb0
mov ecx, eax
mov dword [rsp + 0x44], eax
jmp 0x14015bf26
cdqe
lea rcx, [0x140000000]
mov rcx, qword [rcx + rax*8 + 0x204440]
mov qword [r15 + 8], rcx
test rcx, rcx
jne 0x14015c0f1
xor ebx, ebx
mov eax, ebx
jmp 0x14015c110
mov rax, 0xffffffffffffffff
nop dword [rax + rax]
inc rax
cmp byte [rcx + rax], 0
jne 0x14015c100
and eax, 0x3fffffff
xor ebx, ebx
movzx esi, byte [rsp + 0x40]
mov dword [r15 + 0x10], eax
mov byte [r15 + 0x16], 1
cmp sil, 1
je 0x14015c130
movzx edx, sil
mov rcx, r15
call fcn.140160950
mov r15d, dword [rsp + 0x44]
mov r14, qword [rsp + 0x78]
test r15d, r15d
je 0x14015612c
mov rsi, qword [rsp + 0x70]
mov eax, 0xb
mov r13, qword [rsp + 0x48]
mov r12, qword [rsp + 0x68]
mov rdi, qword [rbp - 0x80]
jmp 0x14015d25c
mov r15, qword [rsp + 0x48]
movsxd rax, dword [r15 + 8]
test eax, eax
je 0x14015c176
imul r9, rax, 0x38
add r9, r11
jmp 0x14015c179
mov r9, rdx
mov r8d, dword [r15 + 4]
lea rcx, [r14 + 0xa8]
mov rdx, r13
call fcn.140148a90
mov dword [rsp + 0x44], eax
mov r15d, eax
test eax, eax
jne 0x14015d61f
jmp 0x14015612c
movsxd rcx, dword [r12 + 4]
mov rax, qword [r13 + 0x20]
shl rcx, 5
mov rsi, qword [rcx + rax + 8]
cmp byte [rsi + 0x11], 0
mov rdi, qword [rsi + 8]
je 0x14015c1cd
inc dword [rsi + 0x14]
cmp byte [rsi + 0x12], 0
jne 0x14015c1cd
mov rcx, rsi
call fcn.1400e2ed0
cmp byte [rdi + 0x21], 0
jne 0x14015c1e3
mov r15d, 0x65
mov dword [rsp + 0x44], r15d
jmp 0x14015c2db
mov rax, qword [rdi + 0x18]
mov r14d, dword [rdi + 0x40]
mov edx, r14d
mov rcx, qword [rax + 0x50]
mov ebx, dword [rcx + 0x24]
mov rcx, rdi
bswap ebx
mov r8d, ebx
call fcn.1400f29e0
mov r15d, eax
cmp r14d, eax
jb 0x14015c2a3
cmp ebx, r14d
jae 0x14015c2a3
test ebx, ebx
je 0x14015c296
mov rcx, qword [rdi + 0x10]
test rcx, rcx
je 0x14015c236
xor r8d, r8d
xor edx, edx
call fcn.1401133b0
mov dword [rsp + 0x44], eax
test eax, eax
jne 0x14015c28f
mov rax, qword [rdi + 0x10]
test rax, rax
je 0x14015c24d
nop
and byte [rax + 1], 0xfb
mov rax, qword [rax + 0x28]
test rax, rax
jne 0x14015c240
xor r9d, r9d
mov r8d, r14d
mov edx, r15d
mov rcx, rdi
call fcn.1400fabf0
mov dword [rsp + 0x44], eax
mov r15d, eax
test eax, eax
jne 0x14015c2d6
mov rcx, qword [rdi + 0x18]
mov rcx, qword [rcx + 0x70]
call fcn.14013ec80
mov edx, dword [rdi + 0x40]
mov r15d, eax
mov dword [rsp + 0x44], eax
mov rax, qword [rdi + 0x18]
bswap edx
mov rcx, qword [rax + 0x50]
mov dword [rcx + 0x1c], edx
jmp 0x14015c2d6
mov r15d, dword [rsp + 0x44]
jmp 0x14015c2d6
mov r15d, 0x65
mov dword [rsp + 0x44], r15d
jmp 0x14015c2d6
lea rax, [0x14020c1e4]
mov ebx, 0xb
mov ecx, ebx
mov qword [rsp + 0x20], rax
mov r9d, 0x11f92
lea r8, str.database_corruption
lea rdx, str._s_at_line__d_of___.10s_
call fcn.1400c5dd0
mov r15d, ebx
mov dword [rsp + 0x44], ebx
mov r14, qword [rsp + 0x78]
cmp byte [rsi + 0x11], 0
je 0x14015c2ef
sub dword [rsi + 0x14], 1
jne 0x14015c2ef
mov rcx, rsi
call fcn.1401716f0
test r15d, r15d
je 0x140156a3d
cmp r15d, 0x65
jne 0x14015d849
mov r9, qword [rsp + 0x58]
xor edx, edx
mov r15d, edx
mov dword [rsp + 0x44], edx
jmp 0x1401574bd
cmp dword [r12 + 4], 0
jne 0x14015c362
mov rdx, qword [r13 + 8]
mov r8d, dword [r12 + 8]
test rdx, rdx
je 0x140155d1d
nop
mov eax, dword [rdx + 0xc8]
lea ecx, [r8 + 1]
xor ecx, eax
and ecx, 3
xor ecx, eax
mov dword [rdx + 0xc8], ecx
mov rdx, qword [rdx + 0x10]
test rdx, rdx
jne 0x14015c330
mov r13, qword [rsp + 0x70]
add r12, 0x18
mov rdi, qword [rbp - 0x80]
jmp 0x140155b01
mov eax, dword [r14 + 0xc8]
mov ecx, dword [r12 + 8]
inc ecx
xor ecx, eax
and ecx, 3
xor ecx, eax
mov dword [r14 + 0xc8], ecx
mov r13, qword [rsp + 0x70]
add r12, 0x18
mov rdi, qword [rbp - 0x80]
jmp 0x140155b01
mov rax, qword [r14 + 0x78]
movsxd rcx, dword [r12 + 4]
mov rcx, qword [rax + rcx*8]
mov rax, qword [rcx + 0x30]
or byte [rax + 1], 0x40
mov r13, qword [rsp + 0x70]
add r12, 0x18
mov rdi, qword [rbp - 0x80]
jmp 0x140155b01
mov rax, qword [r14 + 0x78]
movsxd rcx, dword [r12 + 4]
mov rcx, qword [rax + rcx*8]
mov rax, qword [rcx + 0x30]
and byte [rax + 1], 0xbf
mov r13, qword [rsp + 0x70]
add r12, 0x18
mov rdi, qword [rbp - 0x80]
jmp 0x140155b01
movzx esi, byte [r12 + 0xc]
test sil, sil
jne 0x14015c3fd
movabs rax, 0x400000000
test qword [r13 + 0x30], rax
jne 0x140156b2c
mov r15, qword [rsp + 0x48]
mov rax, qword [r13 + 0x20]
mov dword [rsp + 0x44], edx
movsxd rcx, dword [r15 + 4]
mov edi, dword [r15 + 8]
mov r15d, edx
shl rcx, 5
mov rbx, qword [rcx + rax + 8]
cmp byte [rbx + 0x11], 0
je 0x14015c4ea
inc dword [rbx + 0x14]
inc sil
cmp byte [rbx + 0x12], 0
jne 0x14015c43c
mov rcx, rbx
call fcn.1400e2ed0
movzx r8d, sil
mov edx, edi
mov rcx, rbx
call fcn.14010d9a0
mov dword [rsp + 0x44], eax
mov r15d, eax
test eax, eax
jne 0x14015c4cd
mov r14, qword [rbx + 8]
mov rax, qword [r14 + 0x78]
test rax, rax
je 0x14015c475
cmp dword [rax + 8], edi
jne 0x14015c46c
cmp qword [rax], rbx
je 0x14015c4b7
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x14015c462
mov ecx, 0x18
call fcn.14013b8f0
xor edx, edx
test rax, rax
je 0x14015c4bb
mov qword [rax + 0xc], rdx
mov dword [rax + 0x14], edx
mov dword [rax + 8], edi
mov qword [rax], rbx
mov rcx, qword [r14 + 0x78]
mov qword [rax + 0x10], rcx
mov qword [r14 + 0x78], rax
cmp sil, byte [rax + 0xc]
jbe 0x14015c4a9
mov byte [rax + 0xc], sil
mov r14, qword [rsp + 0x78]
mov r15d, edx
mov dword [rsp + 0x44], edx
jmp 0x14015c4cf
xor edx, edx
jmp 0x14015c49f
mov r14, qword [rsp + 0x78]
mov r15d, 7
mov dword [rsp + 0x44], r15d
jmp 0x14015c4cf
xor edx, edx
cmp byte [rbx + 0x11], 0
je 0x14015c4e5
sub dword [rbx + 0x14], 1
jne 0x14015c4e5
mov rcx, rbx
call fcn.1401716f0
xor edx, edx
mov r9, qword [rsp + 0x58]
test r15d, r15d
jne 0x14015da4c
mov r12, qword [rsp + 0x48]
mov r11, qword [rsp + 0x60]
movzx esi, byte [rsp + 0x40]
mov r10d, dword [rsp + 0x50]
mov r13, qword [rsp + 0x70]
add r12, 0x18
mov rdi, qword [rbp - 0x80]
jmp 0x140155b01
mov rbx, qword [r12 + 0x10]
mov dword [rsp + 0x44], edx
movsxd rdx, dword [r13 + 0x224]
test edx, edx
jle 0x14015c557
cmp qword [r13 + 0x248], 0
jne 0x14015c557
mov dword [rbp - 0x70], 6
mov r15d, 6
mov dword [rsp + 0x44], r15d
test rbx, rbx
je 0x14015d61f
jmp 0x14015c628
test rbx, rbx
jne 0x14015c577
xor edx, edx
mov r15d, edx
mov dword [rsp + 0x44], edx
mov r13, qword [rsp + 0x70]
add r12, 0x18
mov rdi, qword [rbp - 0x80]
jmp 0x140155b01
mov rax, qword [rbx + 0x10]
mov rdi, qword [rax]
cmp qword [rdi + 0x70], 0
je 0x14015c61f
xor r8d, r8d
mov ecx, r8d
test edx, edx
jle 0x14015c5b5
mov rax, qword [r13 + 0x248]
nop word [rax + rax]
cmp qword [rax], rbx
je 0x14015c642
inc rcx
add rax, 8
cmp rcx, rdx
jl 0x14015c5a0
mov rcx, r13
call fcn.1400fa2e0
mov dword [rsp + 0x44], eax
test eax, eax
jne 0x14015c61f
mov rcx, qword [rbx + 0x10]
call qword [rdi + 0x70]
mov dword [rsp + 0x44], eax
test eax, eax
jne 0x14015c61f
mov edx, dword [r13 + 0x2f4]
add edx, dword [r13 + 0x2f0]
movsxd rcx, dword [r13 + 0x224]
mov rax, qword [r13 + 0x248]
mov qword [rax + rcx*8], rbx
inc dword [r13 + 0x224]
inc dword [rbx + 0x18]
test edx, edx
je 0x14015c61f
cmp qword [rdi + 0xa0], 0
je 0x14015c61f
mov dword [rbx + 0x20], edx
dec edx
mov rcx, qword [rbx + 0x10]
call qword [rdi + 0xa0]
mov dword [rsp + 0x44], eax
mov r15d, dword [rsp + 0x44]
mov rdi, qword [rbp - 0x80]
mov rdx, qword [rbx + 0x10]
mov rcx, r14
call fcn.140163920
test r15d, r15d
jne 0x14015d61f
jmp 0x140156131
mov r15d, r8d
mov dword [rsp + 0x44], r8d
jmp 0x14015c624
mov qword [rbp + 0x60], rdx
lea rcx, [rbp + 0x60]
mov qword [rbp + 0x90], rdx
xorps xmm0, xmm0
xorps xmm1, xmm1
mov qword [rbp + 0x78], r13
movdqu xmmword [rbp + 0x68], xmm0
movdqu xmmword [rbp + 0x80], xmm1
movsxd rax, dword [r12 + 8]
imul rdx, rax, 0x38
add rdx, r11
call fcn.14015fcb0
movzx ecx, word [rbp + 0x74]
mov r15d, eax
mov dword [rsp + 0x44], eax
mov edx, 0x202
movzx eax, cx
and ax, dx
cmp ax, dx
jne 0x14015c6aa
cmp byte [rbp + 0x76], 1
jne 0x14015c6aa
mov rax, qword [rbp + 0x68]
jmp 0x14015c6c2
test cl, 1
jne 0x14015c7ea
mov dl, 1
lea rcx, [rbp + 0x60]
call fcn.140173820
movzx ecx, word [rbp + 0x74]
test rax, rax
je 0x14015c7ea
movsxd rcx, dword [r12 + 4]
lea rbx, [r14 + 0xa8]
mov r8, qword [r13 + 0x20]
mov rdx, rax
shl rcx, 5
mov r8, qword [rcx + r8]
mov rcx, r13
call fcn.14012f9f0
xor r8d, r8d
mov rsi, rax
mov rcx, qword [rax + 0x48]
mov rdi, qword [rcx]
lea rcx, [r13 + 0x228]
mov rdx, rdi
call fcn.1400f2ea0
mov r8, qword [rax + 0x10]
test r8, r8
je 0x14015c7bc
mov rcx, qword [r8]
mov r9, qword [rcx + 8]
test r9, r9
je 0x14015c7bc
cmp qword [rcx + 0x28], 0
je 0x14015c7bc
mov rdx, rsi
mov qword [rsp + 0x20], rbx
mov rcx, r13
call fcn.140178140
mov dword [rsp + 0x44], eax
mov r15d, eax
test eax, eax
jne 0x14015c7dd
mov rax, qword [rsi + 0x50]
test rax, rax
je 0x14015c7dd
nop
cmp qword [rax], r13
je 0x14015c770
mov rax, qword [rax + 0x28]
test rax, rax
jne 0x14015c760
jmp 0x14015c7dd
mov rcx, r13
call fcn.1400fa2e0
mov dword [rsp + 0x44], eax
mov r15d, eax
test eax, eax
jne 0x14015c7dd
mov rdx, qword [rsi + 0x50]
test rdx, rdx
je 0x14015c79e
nop dword [rax]
cmp qword [rdx], r13
je 0x14015c79e
mov rdx, qword [rdx + 0x28]
test rdx, rdx
jne 0x14015c790
movsxd rcx, dword [r13 + 0x224]
mov rax, qword [r13 + 0x248]
mov qword [rax + rcx*8], rdx
inc dword [r13 + 0x224]
inc dword [rdx + 0x18]
jmp 0x14015c7dd
mov r8, rdi
lea rdx, str.no_such_module:__s
mov rcx, r13
call fcn.14013b8c0
mov qword [rbx], rax
mov eax, 1
mov r15d, eax
mov dword [rsp + 0x44], eax
movzx ecx, word [rbp + 0x74]
movzx esi, byte [rsp + 0x40]
mov rdi, qword [rbp - 0x80]
mov eax, 0x9000
test ax, cx
jne 0x14015c7fd
cmp dword [rbp + 0x80], 0
je 0x14015c806
lea rcx, [rbp + 0x60]
call fcn.140174d40
test r15d, r15d
jne 0x14015d61f
jmp 0x140156131
mov rax, qword [rsp + 0x48]
mov rcx, r13
inc dword [r13 + 0xe8]
mov r8, qword [rax + 0x10]
mov edx, dword [rax + 4]
call fcn.140162eb0
dec dword [r13 + 0xe8]
mov r15d, eax
mov dword [rsp + 0x44], eax
test eax, eax
jne 0x14015d61f
jmp 0x14015612c
mov qword [rbp - 0x38], rdx
mov rax, qword [r12 + 0x10]
mov rbx, qword [rax + 0x10]
test rbx, rbx
je 0x14015da7f
mov rdi, qword [rbx]
test rdi, rdi
je 0x14015da7b
lea rdx, [rbp - 0x38]
mov rcx, rbx
call qword [rdi + 0x30]
mov rdx, rbx
mov rcx, r14
mov r15d, eax
mov dword [rsp + 0x44], eax
call fcn.140163920
test r15d, r15d
jne 0x14015d849
mov rax, qword [rbp - 0x38]
mov r9b, 2
xor r8d, r8d
mov rcx, r14
mov qword [rax], rbx
mov edx, dword [r12 + 4]
call fcn.1400dcc60
mov rcx, qword [rbp - 0x38]
test rax, rax
je 0x14015da73
mov qword [rax + 0x30], rcx
inc dword [rbx + 8]
jmp 0x140156131
movsxd rcx, dword [r12 + 4]
mov rax, qword [r14 + 0x78]
mov rbx, qword [rax + rcx*8]
call fcn.14016f850
test eax, eax
jne 0x140157c73
lea ecx, [rax + 0x10]
call fcn.14013b8f0
mov rdi, rax
test rax, rax
je 0x140157c6f
mov rcx, qword [rbx + 0x30]
mov qword [rax], rcx
mov rax, qword [rsp + 0x48]
movsxd rcx, dword [rax + 0xc]
imul rdx, rcx, 0x38
add rdx, qword [rsp + 0x60]
mov qword [rdi + 8], rdx
movsxd rcx, dword [rax + 8]
mov eax, 0x9000
imul rbx, rcx, 0x38
add rbx, qword [r14 + 0x68]
test word [rbx + 0x14], ax
je 0x14015c931
mov rcx, rbx
call fcn.140107260
mov rbx, rax
mov rcx, rbx
mov word [rbx + 0x14], 1
call fcn.140174d40
lea rax, str.ValueList
mov qword [rbx], rax
lea rax, [0x140162dd0]
mov qword [rbx + 8], rdi
mov word [rbx + 0x14], 0x1a01
mov byte [rbx + 0x17], WSAStartup
mov qword [rbx + 0x30], rax
jmp 0x14015612c
mov rcx, qword [rsp + 0x48]
movsxd rax, dword [rcx + 0xc]
movsxd rcx, dword [rcx + 4]
imul rdx, rax, 0x38
mov rax, qword [r14 + 0x78]
add rdx, r11
movsxd rdi, dword [rdx + 0x38]
lea r11, [rdx + 0x38]
movq xmm4, r11
mov r13, qword [rax + rcx*8]
mov rax, qword [rsp + 0x78]
mov r12d, dword [rdx]
punpcklqdq xmm4, xmm4
mov rsi, qword [r13 + 0x30]
mov rbx, qword [rax + 0x70]
xor eax, eax
mov r9d, eax
mov edx, eax
mov r15, qword [rsi]
mov r14, qword [r15]
test edi, edi
jle 0x14015cadb
cmp edi, 8
jb 0x14015cadb
cmp r8d, 6
jl 0x14015cadb
movdqa xmm7, xmmword [0x14020c400]
mov eax, edi
and eax, 0x80000007
jge 0x14015c9e4
dec eax
or eax, 0xfffffff8
inc eax
movdqa xmm5, xmmword [0x14020c3e0]
lea rcx, [rbx + 0x20]
movdqa xmm6, xmmword [0x14020c3f0]
mov r10d, edi
sub r10d, eax
mov r8d, 4
nop dword [rax]
nop dword [rax + rax]
movq xmm3, xmm7
movd xmm1, r9d
pshufd xmm1, xmm1, 0
lea eax, [r8 - 2]
paddd xmm1, xmm3
movd xmm2, eax
pshufd xmm2, xmm2, 0
lea eax, [r8 + 2]
paddd xmm2, xmm3
lea rcx, [rcx + 0x40]
movq xmm0, xmm6
add r9d, 8
paddd xmm1, xmm0
add rdx, 8
pmovsxdq xmm0, xmm1
vpmullq xmm1, xmm0, xmm5
paddq xmm1, xmm4
movq xmm0, xmm6
paddd xmm2, xmm0
pmovsxdq xmm0, xmm2
movdqu xmmword [rcx - 0x60], xmm1
vpmullq xmm1, xmm0, xmm5
paddq xmm1, xmm4
movd xmm2, r8d
movdqu xmmword [rcx - 0x50], xmm1
add r8d, 8
pshufd xmm2, xmm2, 0
movq xmm0, xmm6
paddd xmm2, xmm3
paddd xmm2, xmm0
pmovsxdq xmm0, xmm2
movd xmm2, eax
pshufd xmm2, xmm2, 0
paddd xmm2, xmm3
vpmullq xmm1, xmm0, xmm5
paddq xmm1, xmm4
movq xmm0, xmm6
paddd xmm2, xmm0
movdqu xmmword [rcx - 0x40], xmm1
pmovsxdq xmm0, xmm2
vpmullq xmm1, xmm0, xmm5
paddq xmm1, xmm4
movdqu xmmword [rcx - 0x30], xmm1
cmp r9d, r10d
jl 0x14015ca10
cmp rdx, rdi
jge 0x14015cb09
lea r8d, [r9 + 1]
nop dword [rax]
nop dword [rax + rax]
movsxd rax, r8d
inc r8d
imul rcx, rax, 0x38
add rcx, r11
mov qword [rbx + rdx*8], rcx
inc rdx
cmp rdx, rdi
jl 0x14015caf0
mov rax, qword [rsp + 0x48]
mov r9d, edi
mov edx, r12d
mov qword [rsp + 0x20], rbx
mov rcx, rsi
mov r8, qword [rax + 0x10]
call qword [r14 + 0x40]
mov rcx, qword [rsp + 0x78]
mov rdx, r15
mov dword [rsp + 0x44], eax
call fcn.140163920
mov r15d, dword [rsp + 0x44]
test r15d, r15d
jne 0x14015d636
mov rcx, rsi
call qword [r14 + 0x50]
mov byte [r13 + 2], r15b
test eax, eax
je 0x140157c17
mov r12, qword [rsp + 0x48]
xor edx, edx
mov r9, qword [rsp + 0x58]
jmp 0x1401574bd
mov r15d, dword [rsp + 0x44]
mov r12, qword [rsp + 0x48]
mov r9, qword [rsp + 0x58]
xor edx, edx
jmp 0x1401574bd
mov rbx, qword [rsp + 0x48]
mov rax, qword [r14 + 0x78]
movsxd rcx, dword [rbx + 4]
mov rdi, qword [rax + rcx*8]
movsxd rax, dword [rbx + 0xc]
imul rbx, rax, 0x38
add rbx, r11
cmp byte [rdi + 2], 0
je 0x14015cbbb
mov eax, 0x9000
test word [rbx + 0x14], ax
je 0x140157371
mov rcx, rbx
call fcn.140174d90
jmp 0x14015612c
mov rax, qword [rdi + 0x30]
xorps xmm0, xmm0
mov rcx, qword [rsp + 0x48]
mov rsi, qword [rax]
xor eax, eax
mov r14, qword [rsi]
mov qword [rbp + 0x1f0], rax
movzx eax, byte [rsp + 0x40]
movups xmmword [rbp + 0x1c0], xmm0
mov qword [rbp + 0x1c0], rbx
movups xmmword [rbp + 0x1e0], xmm0
mov byte [rbp + 0x1e8], al
movups xmmword [rbp + 0x1d0], xmm0
test byte [rcx + 2], 1
je 0x14015cc27
mov eax, 0x9000
test word [rbx + 0x14], ax
je 0x14015cc1d
mov rcx, rbx
call fcn.140174d90
mov rcx, qword [rsp + 0x48]
xor edx, edx
mov word [rbx + 0x14], 0x401
mov dword [rbx], edx
jmp 0x14015cc3b
movzx eax, word [rbx + 0x14]
mov edx, 0xf241
and ax, dx
or ax, 1
mov word [rbx + 0x14], ax
mov r8d, dword [rcx + 8]
lea rdx, [rbp + 0x1c0]
mov rcx, qword [rdi + 0x30]
call qword [r14 + 0x58]
mov r14, qword [rsp + 0x78]
mov rdx, rsi
mov rcx, r14
mov dword [rsp + 0x44], eax
mov r15d, eax
call fcn.140163920
cmp dword [rbp + 0x1e4], 0
jle 0x14015ccbf
movzx ecx, word [rbx + 0x14]
mov edx, 0x202
movzx eax, cx
and ax, dx
cmp ax, dx
jne 0x14015cc8e
cmp byte [rbx + 0x16], 1
jne 0x14015cc8e
mov rax, qword [rbx + 8]
jmp 0x14015cca1
test cl, 1
je 0x14015cc97
xor eax, eax
jmp 0x14015cca1
mov dl, 1
mov rcx, rbx
call fcn.140173820
mov r8, rax
lea rdx, [0x140207368]
mov rcx, r14
call fcn.140155980
mov r15d, dword [rbp + 0x1e4]
mov dword [rsp + 0x44], r15d
test byte [rbx + 0x14], 2
movzx esi, byte [rsp + 0x40]
jne 0x14015ccd0
mov byte [rbx + 0x16], sil
jmp 0x14015cce2
cmp byte [rbx + 0x16], sil
je 0x14015cce2
movzx edx, sil
mov rcx, rbx
call fcn.140160950
test r15d, r15d
jne 0x14015d849
jmp 0x14015612c
mov rax, qword [rsp + 0x48]
movsxd rcx, dword [rax + 4]
mov rax, qword [r14 + 0x78]
mov rdi, qword [rax + rcx*8]
cmp byte [rdi + 2], 0
jne 0x1401564c8
mov rcx, qword [rdi + 0x30]
mov rbx, qword [rcx]
mov rsi, qword [rbx]
call qword [rsi + 0x48]
mov rdx, rbx
mov rcx, r14
mov r15d, eax
mov dword [rsp + 0x44], eax
call fcn.140163920
test r15d, r15d
jne 0x14015d849
mov rcx, qword [rdi + 0x30]
call qword [rsi + 0x50]
test eax, eax
jne 0x14015a792
mov rax, qword [rsp + 0x48]
mov eax, dword [rax + 8]
dec eax
cdqe
lea rcx, [rax + rax*2]
mov rax, qword [rsp + 0x58]
lea rax, [rax + rcx*8]
mov qword [rsp + 0x48], rax
mov r12, rax
jmp 0x14015a797
mov rcx, qword [rsp + 0x48]
mov edi, dword [r13 + 0x30]
or qword [r13 + 0x30], 0x4000000
and edi, 0x4000000
mov rax, qword [rcx + 0x10]
mov rsi, qword [rax + 0x10]
movsxd rax, dword [rcx + 4]
imul rbx, rax, 0x38
add rbx, r11
test byte [rbx + 0x14], 2
jne 0x14015cd9e
mov byte [rbx + 0x16], 1
jmp 0x14015cdb9
cmp byte [rbx + 0x16], 1
je 0x14015cdb9
mov dl, 1
mov rcx, rbx
call fcn.140160950
mov r15d, eax
test eax, eax
jne 0x14015d849
mov rax, qword [rsi]
mov rcx, rsi
mov rdx, qword [rbx + 8]
call qword [rax + 0x98]
mov dword [rsp + 0x44], eax
mov r15d, eax
test edi, edi
jne 0x14015cddc
and qword [r13 + 0x30], 0xfffffffffbffffff
mov rdx, rsi
mov rcx, r14
call fcn.140163920
and dword [r14 + 0xc8], 0xfffffffc
test r15d, r15d
jne 0x14015d849
mov r12, qword [rsp + 0x48]
movzx esi, byte [rsp + 0x40]
jmp 0x140156131
mov qword [rbp - 0x10], rdx
cmp byte [r13 + 0x67], 0
jne 0x140157c73
mov rax, qword [rsp + 0x48]
mov rax, qword [rax + 0x10]
mov rbx, qword [rax + 0x10]
test rbx, rbx
je 0x14015da7f
mov r10, qword [rbx]
test r10, r10
je 0x14015da7f
cmp qword [r10 + 0x68], 0
mov r12, qword [rsp + 0x48]
movsxd rdx, dword [r12 + 8]
je 0x140155d18
movsxd rax, dword [r12 + 0xc]
mov r15, r12
movzx edi, byte [r13 + 0x6c]
mov r8, qword [r14 + 0x70]
imul rcx, rax, 0x38
xor eax, eax
add rcx, r11
test edx, edx
jle 0x14015ce80
nop dword [rax + rax]
mov qword [r8 + rax*8], rcx
add rcx, 0x38
inc rax
cmp rax, rdx
jl 0x14015ce70
movzx eax, byte [r15 + 2]
lea r9, [rbp - 0x10]
mov rcx, rbx
mov byte [r13 + 0x6c], al
call qword [r10 + 0x68]
mov rdx, rbx
mov byte [r13 + 0x6c], dil
mov rcx, r14
mov dword [rsp + 0x44], eax
mov r15d, eax
call fcn.140163920
test r15d, r15d
jne 0x14015cec0
cmp dword [r12 + 4], r15d
je 0x14015cef5
mov rax, qword [rbp - 0x10]
mov qword [r13 + 0x38], rax
jmp 0x14015cef5
cmp r15b, 0x13
jne 0x14015cef5
mov rax, r12
mov rax, qword [rax + 0x10]
cmp byte [rax + 0x1c], 0
je 0x14015cef5
movzx ecx, word [r12 + 2]
cmp ecx, 4
jne 0x14015dab0
mov r11, qword [rsp + 0x60]
xor edx, edx
mov r15d, edx
mov dword [rsp + 0x44], edx
jmp 0x140156041
inc qword [r14 + 0x38]
test r15d, r15d
jne 0x14015d849
jmp 0x140156131
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 8]
imul rdx, rax, 0x38
mov eax, 0x9000
add rdx, qword [r14 + 0x68]
test word [rdx + 0x14], ax
je 0x14015cf35
mov rcx, rdx
call fcn.140107260
mov r9, qword [rsp + 0x58]
mov rdx, rax
jmp 0x14015cf3b
mov word [rdx + 0x14], 4
mov rax, qword [rsp + 0x48]
mov r12, qword [rsp + 0x48]
mov r11, qword [rsp + 0x60]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x20]
shl rcx, 5
mov rcx, qword [rcx + rax + 8]
mov rax, qword [rcx + 8]
mov ecx, dword [rax + 0x40]
mov qword [rdx], rcx
jmp 0x140155d18
mov rbx, qword [rsp + 0x48]
movsxd rax, dword [rbx + 8]
imul rsi, rax, 0x38
mov eax, 0x9000
add rsi, qword [r14 + 0x68]
test word [rsi + 0x14], ax
je 0x14015cf95
mov rcx, rsi
call fcn.140107260
mov rsi, rax
xor edx, edx
jmp 0x14015cf9b
mov word [rsi + 0x14], 4
movsxd rcx, dword [rbx + 4]
mov edi, edx
mov rax, qword [r13 + 0x20]
shl rcx, 5
mov rbx, qword [rcx + rax + 8]
mov rax, qword [rsp + 0x48]
mov ecx, dword [rax + 0xc]
test ecx, ecx
je 0x14015cfc6
mov rax, qword [rbx + 8]
mov edi, dword [rax + 0x40]
cmp edi, ecx
cmovb edi, ecx
cmp byte [rbx + 0x11], 0
je 0x14015cfdd
inc dword [rbx + 0x14]
cmp byte [rbx + 0x12], 0
jne 0x14015cfdd
mov rcx, rbx
call fcn.1400e2ed0
mov rax, qword [rbx + 8]
mov rcx, qword [rax]
test edi, edi
je 0x14015cfee
mov dword [rcx + 0xbc], edi
cmp byte [rbx + 0x11], 0
mov edi, dword [rcx + 0xbc]
je 0x14015d008
sub dword [rbx + 0x14], 1
jne 0x14015d008
mov rcx, rbx
call fcn.1401716f0
mov r12, qword [rsp + 0x48]
mov qword [rsi], rdi
movzx esi, byte [rsp + 0x40]
jmp 0x140156131
mov rax, qword [rsp + 0x48]
mov r15, qword [rax + 0x10]
movsxd rax, dword [rax + 0xc]
imul rbx, rax, 0x38
add rbx, r11
cmp qword [r15], rbx
je 0x14015d086
mov qword [r15 + 0x18], r14
mov qword [r15], rbx
mov byte [r15 + 0x28], sil
movzx eax, byte [r15 + 0x2a]
mov edx, eax
sub rdx, 1
lea r9d, [rax - 1]
js 0x14015d086
mov r13, qword [rsp + 0x48]
lea r8, [r15 + 0x30]
lea r8, [r8 + rdx*8]
nop dword [rax]
mov eax, dword [r13 + 8]
lea r8, [r8 - 8]
add eax, r9d
dec r9d
cdqe
imul rcx, rax, 0x38
add rcx, r11
sub rdx, 1
mov qword [r8 + 8], rcx
jns 0x14015d060
mov r13, qword [rsp + 0x70]
movzx eax, word [rbx + 0x14]
lea r8, [r15 + 0x30]
mov ecx, 0xf241
and ax, cx
mov rcx, r15
or ax, 1
mov word [rbx + 0x14], ax
mov rax, qword [r15 + 8]
movzx edx, byte [r15 + 0x2a]
call qword [rax + 0x18]
mov eax, dword [r15 + 0x24]
test eax, eax
je 0x14015d271
jle 0x14015d108
movzx ecx, word [rbx + 0x14]
mov edx, 0x202
movzx eax, cx
and ax, dx
cmp ax, dx
jne 0x14015d0db
cmp byte [rbx + 0x16], 1
jne 0x14015d0db
mov rax, qword [rbx + 8]
jmp 0x14015d0ee
test cl, 1
je 0x14015d0e4
xor eax, eax
jmp 0x14015d0ee
mov dl, 1
mov rcx, rbx
call fcn.140173820
mov r8, rax
lea rdx, [0x140207368]
mov rcx, r14
call fcn.140155980
mov ecx, dword [r15 + 0x24]
mov dword [rsp + 0x44], ecx
mov rdi, qword [rsp + 0x78]
mov r12, qword [rsp + 0x48]
add rdi, 0x128
mov esi, dword [r15 + 0x20]
mov rbx, qword [rdi]
mov r14d, dword [r12 + 4]
test rbx, rbx
je 0x14015d22b
nop
test esi, esi
js 0x14015d153
cmp dword [rbx], esi
jne 0x14015d14a
mov eax, dword [rbx + 4]
test eax, eax
js 0x14015d14a
cmp eax, 0x1f
jg 0x14015d153
bt r14d, eax
jae 0x14015d153
lea rdi, [rbx + 0x18]
jmp 0x14015d21f
mov rax, qword [rbx + 0x10]
test rax, rax
je 0x14015d162
mov rcx, qword [rbx + 8]
call rax
mov rax, qword [rbx + 0x18]
mov qword [rdi], rax
cmp rbx, qword [r13 + 0x1f0]
jae 0x14015d1ad
cmp rbx, qword [r13 + 0x1e0]
jb 0x14015d191
mov rax, qword [r13 + 0x1d8]
mov qword [rbx], rax
mov qword [r13 + 0x1d8], rbx
jmp 0x14015d21f
cmp rbx, qword [r13 + 0x1e8]
jb 0x14015d1ad
mov rax, qword [r13 + 0x1c8]
mov qword [rbx], rax
mov qword [r13 + 0x1c8], rbx
jmp 0x14015d21f
cmp qword [r13 + 0x308], 0
je 0x14015d1c4
mov rdx, rbx
mov rcx, r13
call fcn.140103380
jmp 0x14015d21f
cmp dword [0x14023c040], 0
je 0x14015d216
mov rcx, qword [0x1402438f0]
test rcx, rcx
je 0x14015d1df
call qword [0x14023c0c0]
mov rcx, rbx
call qword [0x14023c078]
dec qword [0x140243878]
movsxd rcx, eax
sub qword [0x140243830], rcx
mov rcx, rbx
call qword [0x14023c068]
mov rcx, qword [0x1402438f0]
test rcx, rcx
je 0x14015d21f
call qword [0x14023c0d0]
jmp 0x14015d21f
mov rcx, rbx
call qword [0x14023c068]
mov rbx, qword [rdi]
test rbx, rbx
jne 0x14015d130
mov r14, qword [rsp + 0x78]
xor edx, edx
mov dword [r15 + 0x24], edx
mov r15d, dword [rsp + 0x44]
test r15d, r15d
je 0x140156037
mov r13, r12
mov rdi, qword [rbp - 0x80]
mov rsi, qword [rsp + 0x70]
mov eax, 0xb
mov r12, qword [rsp + 0x68]
xor ebx, ebx
cmp byte [rsi + 0x67], 0
je 0x14015dd23
mov r15d, 7
jmp 0x14015dd59
mov r15d, dword [rsp + 0x44]
jmp 0x14015612c
mov rax, qword [rsp + 0x48]
mov r12, qword [rsp + 0x48]
movsxd rax, dword [rax + 4]
imul rcx, rax, 0x38
mov eax, 0xf7ff
and word [rcx + r11 + 0x14], ax
mov r13, qword [rsp + 0x70]
add r12, 0x18
mov rdi, qword [rbp - 0x80]
jmp 0x140155b01
mov rcx, qword [rsp + 0x48]
mov rdx, rcx
movsxd rax, dword [rcx + 4]
mov rcx, r11
imul rbx, rax, 0x38
add rbx, r11
call fcn.1400f2600
mov ecx, dword [rbx + 0x10]
xor edx, edx
shl ecx, 3
movsxd r8, ecx
mov rcx, qword [rbx + 8]
div r8
mov r8, rdx
and edx, 7
shr r8, 3
movsx eax, byte [r8 + rcx]
bts eax, edx
mov byte [r8 + rcx], al
jmp 0x14015612c
mov rcx, qword [rsp + 0x48]
mov rdx, rcx
movsxd rax, dword [rcx + 4]
mov rcx, r11
imul rbx, rax, 0x38
add rbx, r11
call fcn.1400f2600
mov ecx, dword [rbx + 0x10]
xor edx, edx
mov r12, qword [rsp + 0x48]
mov r9, qword [rsp + 0x58]
shl ecx, 3
movsxd r8, ecx
div r8
mov rax, qword [rbx + 8]
mov rcx, rdx
shr rcx, 3
movsx r8d, byte [rcx + rax]
movzx eax, dl
and al, 7
movzx eax, al
bt r8d, eax
jb 0x14015d34f
inc dword [r14 + 0xf4]
jmp 0x1401574bb
inc dword [r14 + 0xf0]
mov r11, qword [rsp + 0x60]
jmp 0x140155d18
movzx eax, byte [r13 + 0x6e]
test al, 0x41
je 0x14015d3bf
cmp byte [r14 + 0xc5], 0xfe
je 0x14015d3bf
mov r9, qword [r12 + 0x10]
test r9, r9
jne 0x14015d389
mov r9, qword [r14 + 0xf8]
test r9, r9
je 0x14015d3ba
test al, 0x40
je 0x14015d438
mov rdx, r9
mov rcx, r14
call fcn.14015e2d0
mov rcx, qword [r13 + 0x100]
mov rdx, rax
mov rbx, rax
call qword [r13 + 0xf8]
mov rcx, rbx
call fcn.1400d87d0
xor edx, edx
mov r9, qword [rsp + 0x58]
mov ebx, 1
mov rax, qword [rsp + 0x48]
mov r12, qword [rsp + 0x48]
mov eax, dword [rax + 4]
cmp eax, dword [0x14023c1e8]
jl 0x14015d425
cmp byte [r12], 0xb5
je 0x140155d68
cmp dword [r14 + 0x90], 1
mov edx, ebx
jle 0x14015d421
mov eax, 0x18
xor r8d, r8d
nop dword [rax + rax]
mov rcx, qword [r14 + 0x88]
cmp byte [rcx + rax], 0xf
jne 0x14015d412
mov dword [rcx + rax + 4], r8d
inc edx
add rax, 0x18
cmp edx, dword [r14 + 0x90]
jl 0x14015d400
xor edx, edx
mov eax, edx
inc eax
mov dword [r12 + 4], eax
inc dword [r14 + 0xec]
jmp 0x1401574bd
cmp dword [r13 + 0xe4], 1
jle 0x14015d489
mov r8, r9
lea rdx, str.____s
mov rcx, r13
call fcn.14013b8c0
mov rdx, qword [r13 + 0x100]
mov r9, rax
mov r8, r14
mov ecx, 1
mov rbx, rax
call qword [r13 + 0xf8]
test rbx, rbx
je 0x14015d3b8
mov rdx, rbx
mov rcx, r13
call fcn.140125160
jmp 0x14015d3b8
mov rdx, qword [r13 + 0x100]
mov ebx, 1
mov ecx, ebx
mov r8, r14
call qword [r13 + 0xf8]
mov r9, qword [rsp + 0x58]
xor edx, edx
jmp 0x14015d3c4
mov r15d, dword [rsp + 0x44]
mov r12, qword [rsp + 0x48]
mov r13, qword [rsp + 0x70]
add r12, 0x18
mov rdi, qword [rbp - 0x80]
jmp 0x140155b01
mov r15d, dword [rsp + 0x44]
jmp 0x140156e8a
mov r12, qword [rsp + 0x48]
movzx esi, byte [rsp + 0x40]
jmp 0x140156046
mov r15, qword [rsp + 0x48]
mov ecx, dword [r15 + 4]
mov dword [r14 + 0x34], ecx
movzx eax, byte [r15 + 8]
mov byte [r14 + 0xc4], al
test ecx, ecx
je 0x14015d5ac
movzx eax, word [r15 + 2]
mov rcx, r14
test ax, ax
je 0x14015d556
mov r8d, eax
lea rdx, str._s_constraint_failed
lea rax, [0x140000000]
mov r8, qword [rax + r8*8 + 0x204840]
call fcn.140155980
mov r9, qword [r15 + 0x10]
test r9, r9
je 0x14015d566
mov r8, qword [r14 + 0xa8]
lea rdx, str._z:__s
mov rcx, r13
call fcn.14013b8c0
mov qword [r14 + 0xa8], rax
jmp 0x14015d566
mov r8, qword [r15 + 0x10]
lea rdx, [0x140207368]
call fcn.140155980
mov r9, qword [r14 + 0xf8]
mov rcx, r15
sub rcx, qword [rsp + 0x58]
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
mov rax, qword [r14 + 0xa8]
mov ecx, dword [r15 + 4]
sar rdx, 2
mov r8, rdx
mov qword [rsp + 0x20], rax
shr r8, 0x3f
add r8, rdx
lea rdx, str.abort_at__d_in___s_:__s
call fcn.1400c5dd0
mov rcx, r14
call fcn.14015ecd0
mov r8, qword [rsp + 0x70]
mov r15d, eax
mov r13, qword [rsp + 0x48]
mov r12, qword [rsp + 0x68]
cmp eax, 5
jne 0x14015d5d4
mov dword [r14 + 0x34], eax
jmp 0x14015df00
cmp dword [r14 + 0x34], 0
mov r15d, 0x65
mov eax, 1
cmovne r15d, eax
jmp 0x14015df00
mov r15d, 0x313
lea rdx, str.FOREIGN_KEY_constraint_failed
mov dword [r14 + 0x34], r15d
mov rcx, r14
mov byte [r14 + 0xc4], 2
call fcn.140155980
cmp byte [r14 + 0xc6], 0
mov eax, 1
cmovge r15d, eax
mov r13, qword [rsp + 0x48]
jmp 0x14015d24b
mov ecx, 0x172f2
call fcn.1401232b0
mov r15d, eax
mov r13, qword [rsp + 0x48]
mov r14, qword [rsp + 0x78]
jmp 0x14015d247
lea r10, [0x140000000]
movsxd rax, esi
and edx, 0x3f
lea rcx, [rax + rax*2]
mov r9d, dword [r15 + rcx*8 + 8]
mov rax, qword [r15 + rcx*8]
movzx r8d, byte [rdx + r10 + 0x2032a0]
lea rdx, str.cannot_store__s_value_in__s_column__s._s
shr r9d, 4
and r9d, 0xf
mov qword [rsp + 0x28], rax
mov rax, qword [r14]
dec r9d
mov r14, qword [rsp + 0x78]
mov r8, qword [r10 + r8*8 + 0x23d440]
mov rcx, r14
mov qword [rsp + 0x20], rax
mov r9, qword [r10 + r9*8 + 0x23c3a0]
call fcn.140155980
mov r15d, 0xc13
jmp 0x14015d244
lea rdx, str.cannot_open_savepoint___SQL_statements_in_progress
mov rcx, r14
call fcn.140155980
mov r13, qword [rsp + 0x48]
mov r15d, 5
jmp 0x14015d24b
lea rdx, str.cannot_release_savepoint___SQL_statements_in_progress
jmp 0x14015d6b6
mov r13, qword [rsp + 0x48]
mov byte [rsi + 0x65], 0
jmp 0x14015d250
mov r13, qword [rsp + 0x48]
movabs rax, 0x2aaaaaaaaaaaaaab
mov r12, qword [rsp + 0x68]
mov rcx, r13
sub rcx, qword [rsp + 0x58]
mov r15d, 5
imul rcx
mov r8, rsi
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov dword [r14 + 0x30], edx
mov byte [rsi + 0x65], 0
mov dword [r14 + 0x34], r15d
jmp 0x14015df00
mov r8, qword [rsp + 0x70]
mov r15d, 0x65
mov r13, qword [rsp + 0x48]
mov r12, qword [rsp + 0x68]
jmp 0x14015def5
mov rsi, qword [rsp + 0x70]
bt rax, 0x14
mov eax, 0xb
mov r15d, 8
cmovae r15d, eax
mov r13, rcx
jmp 0x14015d255
mov r13, qword [rsp + 0x48]
mov r14, qword [rsp + 0x78]
mov r12, qword [rsp + 0x68]
cmp r15b, 5
jne 0x14015daa1
mov r8, qword [rsp + 0x70]
mov rcx, r13
sub rcx, qword [rsp + 0x58]
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov dword [r14 + 0x30], edx
mov dword [r14 + 0x34], r15d
jmp 0x14015df00
mov r14, qword [rsp + 0x78]
mov rdx, qword [r14 + 0xa8]
test rdx, rdx
je 0x14015d7ce
mov rcx, r13
call fcn.140125160
mov edx, 0x1c
mov rcx, r13
call fcn.1401252f0
test rax, rax
je 0x14015d800
movups xmm0, xmmword [str.database_schema_has_changed]
movups xmmword [rax], xmm0
movsd xmm0, qword [0x140206820]
movsd qword [rax + 0x10], xmm0
mov ecx, dword [0x140206828]
mov dword [rax + 0x18], ecx
mov qword [r14 + 0xa8], rax
mov rax, qword [rsp + 0x48]
movsxd rdx, dword [rax + 4]
mov rax, qword [r13 + 0x20]
mov rcx, rdx
shl rcx, 5
mov rcx, qword [rcx + rax + 0x18]
mov eax, dword [rbp - 0x44]
cmp dword [rcx], eax
je 0x14015d82f
mov rcx, r13
call fcn.1401477f0
mov eax, dword [r14 + 0xc8]
mov r15d, send
and eax, 0xffffffed
or eax, 1
mov dword [r14 + 0xc8], eax
mov r13, qword [rsp + 0x48]
jmp 0x14015d247
mov r13, qword [rsp + 0x48]
mov r15d, 0x204
jmp 0x14015d24b
mov rcx, qword [rbx + 0x10]
call fcn.14011ba70
jmp 0x14015d244
lea rax, [0x14020c1e4]
mov r9d, 0x15b52
lea r8, str.database_corruption
mov qword [rsp + 0x20], rax
lea rdx, str._s_at_line__d_of___.10s_
mov ecx, 0xb
call fcn.1400c5dd0
mov rsi, qword [rsp + 0x70]
mov eax, 0xb
mov rdi, qword [rbp - 0x80]
mov r15d, eax
mov r13, r12
jmp 0x14015d255
lea rax, [0x14020c1e4]
mov r9d, 0x17bb6
lea r8, str.database_corruption
mov qword [rsp + 0x20], rax
lea rdx, str._s_at_line__d_of___.10s_
mov ecx, 0xb
call fcn.1400c5dd0
mov rsi, qword [rsp + 0x70]
mov eax, 0xb
mov r13, qword [rsp + 0x48]
mov r15d, eax
mov rdi, qword [rbp - 0x80]
jmp 0x14015d255
mov r13, qword [rsp + 0x48]
mov r15d, 7
mov r14, qword [rsp + 0x78]
jmp 0x14015d247
mov rsi, r13
mov r14, qword [rsp + 0x78]
mov rdi, qword [rbp - 0x80]
lea rdx, str.string_or_blob_too_big
mov rcx, r14
call fcn.140155980
mov r13, qword [rsp + 0x48]
mov r15d, send
jmp 0x14015d250
mov rsi, qword [rsp + 0x70]
jmp 0x14015d911
mov rsi, qword [rsp + 0x70]
jmp 0x14015d916
mov rsi, qword [rsp + 0x70]
jmp 0x14015d91a
lea rax, [0x14020c1e4]
mov r15d, 0x30b
mov ecx, r15d
mov qword [rsp + 0x20], rax
mov r9d, 0x17feb
lea r8, str.index_corruption
lea rdx, str._s_at_line__d_of___.10s_
call fcn.1400c5dd0
jmp 0x14015d244
mov ecx, 0x180b8
call fcn.1401232b0
mov r13, qword [rsp + 0x48]
mov r15d, eax
jmp 0x14015d24b
mov r13, qword [rsp + 0x48]
mov r15d, 6
mov byte [r14 + 0xc4], 2
jmp 0x14015d247
call fcn.140147750
jmp 0x140157c73
mov rcx, qword [rbp - 8]
call fcn.1400d87d0
mov r13, qword [rsp + 0x48]
jmp 0x14015d247
lea rdx, str.too_many_levels_of_trigger_recursion
mov rcx, r14
mov r15d, 1
call fcn.140155980
mov r13, qword [rsp + 0x48]
jmp 0x14015d24b
mov rcx, rbx
call fcn.1400be7e0
mov r8, rax
lea rdx, [0x140207368]
mov rcx, r14
call fcn.140155980
mov r13, qword [rsp + 0x48]
jmp 0x14015d24b
mov r14, qword [rsp + 0x78]
lea rax, str.into
cmp esi, 5
lea r8, str.out_of
lea rdx, str.cannot_change__s_wal_mode_from_within_a_transaction
mov rcx, r14
cmove r8, rax
mov r15d, 1
call fcn.140155980
mov r13, qword [rsp + 0x48]
mov rsi, r12
jmp 0x14015d250
mov r13, qword [rsp + 0x48]
cmp r15b, 6
jne 0x14015d247
mov r8, qword [r13 + 0x10]
lea rdx, str.database_table_is_locked:__s
mov rcx, r14
call fcn.140155980
jmp 0x14015d247
call qword [rdi + 0x38]
jmp 0x140157c6f
mov rdi, qword [rbp - 0x80]
mov r13, qword [rsp + 0x48]
mov r15d, 6
jmp 0x14015d24b
mov r12, 0xffffffffffffffff
mov r13, qword [rsp + 0x48]
mov r15d, 9
mov rsi, qword [rsp + 0x70]
mov eax, 0xb
jmp 0x14015d25a
movzx eax, cl
cmp ecx, 5
mov ecx, 2
cmove eax, ecx
mov byte [r14 + 0xc4], al
jmp 0x14015d244
mov eax, dword [r14 + 0x2c]
add eax, 2
or eax, 1
mov dword [r14 + 0x2c], eax
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 4]
imul rcx, rax, 0x38
add rcx, r11
mov qword [r14 + 0xa0], rcx
cmp byte [r13 + 0x67], 0
jne 0x140157c73
test byte [r13 + 0x6e], 4
je 0x14015db1e
mov rdx, qword [r13 + 0x100]
xor r9d, r9d
mov r8, r14
lea ecx, [r9 + 4]
call qword [r13 + 0xf8]
mov r9, qword [rsp + 0x58]
mov r13, qword [rsp + 0x48]
movabs rax, 0x2aaaaaaaaaaaaaab
mov r8, qword [rsp + 0x70]
mov rcx, r13
mov r12, qword [rsp + 0x68]
sub rcx, r9
imul rcx
mov r15d, 0x64
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
inc edx
mov dword [r14 + 0x30], edx
jmp 0x14015df00
mov r15, qword [rsp + 0x48]
movzx eax, byte [r13 + 0x65]
mov ebx, dword [r15 + 4]
mov ecx, dword [r15 + 8]
cmp ebx, eax
je 0x14015dc54
test ecx, ecx
je 0x14015db93
mov edx, 0x204
mov rcx, r13
call fcn.140147f60
mov al, 1
mov esi, 1
jmp 0x14015dbcb
test ebx, ebx
je 0x14015dbad
cmp dword [r13 + 0xe0], 0
jle 0x14015dbad
lea rdx, str.cannot_commit_transaction___SQL_statements_in_progress
jmp 0x14015d6b6
mov esi, 1
mov rcx, r14
mov edx, esi
call fcn.1401550b0
mov r15d, eax
test eax, eax
jne 0x14015dc15
mov r15, qword [rsp + 0x48]
movzx eax, bl
mov rcx, r14
mov byte [r13 + 0x65], al
call fcn.14015ecd0
cmp eax, 5
jne 0x14015dc29
mov rcx, r15
movabs rax, 0x2aaaaaaaaaaaaaab
sub rcx, qword [rsp + 0x58]
mov r15d, 5
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov eax, esi
mov dword [r14 + 0x30], edx
sub al, bl
mov byte [r13 + 0x65], al
mov dword [r14 + 0x34], r15d
mov r8, qword [rsp + 0x70]
mov r13, qword [rsp + 0x48]
mov r12, qword [rsp + 0x68]
jmp 0x14015df00
mov rcx, r13
call fcn.140120100
cmp dword [r14 + 0x34], 0
mov r15d, 0x65
mov r8, qword [rsp + 0x70]
mov r13, qword [rsp + 0x48]
cmovne r15d, esi
mov r12, qword [rsp + 0x68]
jmp 0x14015df00
test ebx, ebx
jne 0x14015dc61
lea rdx, str.cannot_start_a_transaction_within_a_transaction
jmp 0x14015dc75
test ecx, ecx
lea rax, str.cannot_rollback___no_transaction_is_active
lea rdx, str.cannot_commit___no_transaction_is_active
cmovne rdx, rax
mov rcx, r14
call fcn.140155980
mov r13, qword [rsp + 0x48]
mov r15d, 1
jmp 0x14015d24b
mov r12, qword [rsp + 0x68]
jmp 0x14015da96
mov r13, qword [rsp + 0x70]
jmp 0x140157c6a
mov r13, qword [rsp + 0x70]
jmp 0x140157c73
mov r13, rbx
jmp 0x14015d24b
mov r15d, dword [rsp + 0x44]
mov r13, qword [rsp + 0x48]
mov r14, qword [rsp + 0x78]
jmp 0x14015d247
mov r13, qword [rsp + 0x48]
mov r14, rdi
jmp 0x14015d247
mov rsi, qword [rsp + 0x70]
mov eax, 0xb
mov r13, qword [rsp + 0x48]
mov r14, qword [rsp + 0x78]
mov r12, qword [rsp + 0x68]
mov rdi, qword [rbp - 0x80]
jmp 0x14015d25c
mov r13, qword [rsp + 0x48]
mov r14, qword [rsp + 0x78]
jmp 0x14015d24b
mov rsi, qword [rsp + 0x70]
mov eax, 0xb
mov r15d, dword [rsp + 0x44]
mov r13, qword [rsp + 0x48]
mov r12, qword [rsp + 0x68]
jmp 0x14015d25c
cmp r15d, 0x210a
jne 0x14015dd59
lea rcx, [0x14020c1e4]
mov r9d, 0x1894a
mov qword [rsp + 0x20], rcx
lea r8, str.database_corruption
mov ecx, eax
lea rdx, str._s_at_line__d_of___.10s_
call fcn.1400c5dd0
mov r15d, recv
cmp qword [r14 + 0xa8], 0
jne 0x14015ddd8
cmp r15d, 0xc0a
je 0x14015ddd8
mov ecx, r15d
lea r8, [0x1401f07d8]
sub ecx, 0x64
je 0x14015ddbc
sub ecx, 1
je 0x14015ddb3
cmp ecx, 0x19f
je 0x14015ddaa
movzx eax, r15b
cmp eax, 0x1d
jae 0x14015ddc3
lea rcx, [0x140000000]
mov rcx, qword [rcx + rax*8 + 0x202660]
test rcx, rcx
je 0x14015ddc3
mov r8, rcx
jmp 0x14015ddc3
lea r8, str.abort_due_to_ROLLBACK
jmp 0x14015ddc3
lea r8, str.no_more_rows_available
jmp 0x14015ddc3
lea r8, str.another_row_available
lea rdx, [0x140207368]
mov rcx, r14
call fcn.140155980
mov dword [r14 + 0x34], r15d
jmp 0x14015dde5
mov dword [r14 + 0x34], r15d
cmp r15d, 0xc0a
je 0x14015de10
movzx eax, r15b
sub eax, 0xa
test eax, 0xfffffffb
jne 0x14015de10
mov rcx, qword [rsi]
mov rax, qword [rcx + 0x80]
test rax, rax
je 0x14015de0b
xor r8d, r8d
xor edx, edx
call rax
jmp 0x14015de0d
mov eax, ebx
mov dword [rsi + 0x5c], eax
mov r9, qword [r14 + 0xf8]
mov rcx, r13
sub rcx, qword [rsp + 0x58]
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
mov rax, qword [r14 + 0xa8]
mov ecx, r15d
sar rdx, 2
mov r8, rdx
mov qword [rsp + 0x20], rax
shr r8, 0x3f
add r8, rdx
lea rdx, str.statement_aborts_at__d:___s___s
call fcn.1400c5dd0
cmp byte [r14 + 0xc7], 2
jne 0x14015de67
mov rcx, r14
call fcn.14015ecd0
cmp r15d, 0xc0a
jne 0x14015df46
mov rcx, rsi
call fcn.14013c540
mov r8, qword [rsp + 0x70]
movzx eax, byte [rbp - 0x64]
mov r15d, 1
test al, al
je 0x14015df00
cmp eax, r15d
jb 0x14015deba
mov ecx, eax
mov rax, qword [r8 + 0x20]
shl rcx, 5
mov rcx, qword [rcx + rax - 8]
or word [rcx + 0x72], 8
mov rax, qword [r8 + 0x20]
mov rcx, qword [rax + 0x38]
or word [rcx + 0x72], 8
and dword [r8 + 0x2c], 0xffffffef
cmp dword [r8 + 0x48], 0
jne 0x14015df00
cmp dword [r8 + 0x28], 0
mov edi, ebx
jle 0x14015def5
nop word [rax + rax]
mov rax, qword [r8 + 0x20]
mov rcx, qword [rax + rbx + 0x18]
test byte [rcx + 0x72], 8
je 0x14015dee9
call fcn.140149300
mov r8, qword [rsp + 0x70]
inc edi
add rbx, 0x20
cmp edi, dword [r8 + 0x28]
jl 0x14015ded0
mov rdi, qword [rbp - 0x80]
nop dword [rax]
cmp rdi, r12
jb 0x14015df73
mov rdx, qword [r8 + 0x210]
test rdx, rdx
je 0x14015df73
mov eax, dword [r8 + 0x220]
mov rcx, qword [r8 + 0x218]
add r12, rax
call rdx
mov r8, qword [rsp + 0x70]
test eax, eax
je 0x14015df00
mov r12, 0xffffffffffffffff
mov rsi, r8
lea r15d, [r12 + 0xa]
lea eax, [r12 + 0xc]
jmp 0x14015d25a
cmp r15d, 0xb
jne 0x14015de7c
mov r8, qword [rsp + 0x70]
cmp byte [r8 + 0x65], 0
jne 0x14015de81
movabs rax, 0x200000000
or qword [r8 + 0x30], rax
jmp 0x14015de81
add dword [r14 + 0xe4], edi
cmp dword [r14 + 0xd0], 0
movaps xmm8, xmmword [rsp + 0x3f0]
movaps xmm7, xmmword [rsp + 0x400]
movaps xmm6, xmmword [rsp + 0x410]
mov r13, qword [rsp + 0x420]
mov r12, qword [rsp + 0x428]
mov rdi, qword [rsp + 0x468]
mov rsi, qword [rsp + 0x460]
mov rbx, qword [rsp + 0x458]
je 0x14015dfcd
mov rcx, r14
call fcn.140174c50
mov eax, r15d
mov rcx, qword [rbp + 0x2e8]
xor rcx, rsp
call fcn.14018eb60
add rsp, 0x430
pop r15
pop r14
pop rbp
ret