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

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x218
movaps xmmword [rsp + 0x200], xmm7
movaps xmmword [rsp + 0x1f0], xmm6
mov r12, r8
mov r13, rdx
mov rbx, rcx
mov rax, qword [0x1404fe040]
xor rax, rsp
mov qword [rsp + 0x1e8], rax
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x1a0], rax
mov dword [rsp + 0x1a8], 0xaaaaaaaa
mov r15, qword [rcx]
mov rdx, qword [rcx + 0x10]
test rdx, rdx
jne 0x1401b64e7
cmp qword [rbx + 0xa0], 0
jne 0x1401b64dc
test byte [r15 + 0x60], 8
jne 0x1401b64dc
mov byte [rbx + 0x23], 1
mov rcx, rbx
call fcn.140199050
mov rdx, rax
test r13, r13
je 0x1401b8231
cmp dword [rbx + 0x30], 0
jne 0x1401b8231
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x1f0]
test rax, rax
mov qword [rsp + 0x60], r15
mov qword [rsp + 0x58], rdx
mov qword [rsp + 0x70], r12
mov qword [rsp + 0x48], rbx
jne 0x1401b8e98
cmp byte [r12], 6
jbe 0x1401b7dfa
mov rcx, rbx
mov rdx, r13
xor r8d, r8d
call fcn.1401cb0c0
cmp dword [rbx + 0x30], 0
jne 0x1401b8231
movaps xmm6, xmmword [0x140470090]
movaps xmmword [rsp + 0x190], xmm6
movaps xmmword [rsp + 0x180], xmm6
movaps xmmword [rsp + 0x170], xmm6
mov r11d, dword [r13 + 4]
bt r11d, 0x17
jb 0x1401b8e01
cmp byte [r12], 9
jne 0x1401b6588
mov rcx, rbx
mov rdx, r13
call fcn.14028d7d0
mov r11d, dword [r13 + 4]
mov r14, qword [r13 + 0x28]
xorps xmm0, xmm0
movups xmmword [rsp + 0x188], xmm0
movups xmmword [rsp + 0x178], xmm0
mov qword [rsp + 0x198], 0
mov rax, qword [r13 + 0x48]
mov qword [rsp + 0x170], rax
cmp qword [r13 + 0x50], 0
jne 0x1401b6c1d
shr r11d, 3
lea rax, [r13 + 0x48]
mov qword [rsp + 0x80], rax
xor ebp, ebp
mov dword [rsp + 0x50], r11d
cmp ebp, dword [r14]
jge 0x1401b665c
movsxd rax, ebp
imul r9, rax, 0x68
lea rdi, [r14 + r9]
add rdi, 8
mov r12, qword [rdi + 0x20]
mov rsi, qword [rdi + 0x28]
movzx r8d, byte [rdi + 0x3c]
test r8b, 0x48
jne 0x1401b6620
test rsi, rsi
jne 0x1401b8f69
mov eax, ebp
inc eax
cmp qword [r13 + 0x50], 0
mov ebp, eax
mov r12, qword [rsp + 0x70]
je 0x1401b65d9
jmp 0x1401b6c1d
and r8d, 0x40
mov edx, dword [rdi + 0x44]
mov rcx, qword [r13 + 0x30]
mov qword [rsp + 0x90], r9
call fcn.1401c6db0
mov r9, qword [rsp + 0x90]
mov r11d, dword [rsp + 0x50]
test eax, eax
je 0x1401b6600
jmp 0x1401b9a73
mov eax, dword [r10 + 0x90]
dec eax
jmp 0x1401b68ff
mov rax, qword [r13 + 0x30]
test rax, rax
je 0x1401b6790
cmp byte [rax], 0x2a
jne 0x1401b6790
test byte [r15 + 0x61], 0x80
jne 0x1401b6790
lea rsi, [rsp + 0x1b0]
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsi + 0x18], rax
lea rdi, [rsp + 0x130]
movaps xmmword [rdi + 0x20], xmm6
movaps xmmword [rdi + 0x10], xmm6
movaps xmmword [rdi], xmm6
mov qword [rsi], rbx
mov rax, qword [rbx]
add rax, 0x67
mov qword [rsi + 8], rax
xor r12d, r12d
lea rbp, [0x1401ce360]
lea r15, [fcn.1402d2ac0]
xorps xmm7, xmm7
mov qword [rsp + 0x1c0], r12
mov qword [rsp + 0x1d0], r12
mov dword [rsp + 0x1c8], 0
mov rax, qword [r13 + 0x28]
test rax, rax
je 0x1401b66fb
cmp dword [rax], 0
jle 0x1401b66fb
test byte [rax + 0x44], 0x40
jne 0x1401b8dde
mov eax, 1
mov dword [rsp + 0x1cc], eax
mov rdx, qword [r13 + 0x30]
mov rcx, rsi
call fcn.140293fa0
cmp dword [rsp + 0x1c0], 0
je 0x1401b6773
mov qword [rsp + 0x130], rbx
mov qword [rsp + 0x138], rbp
mov qword [rsp + 0x140], r15
movups xmmword [rsp + 0x148], xmm7
mov qword [rsp + 0x158], rsi
mov rdx, qword [r13 + 0x30]
test rdx, rdx
je 0x1401b6756
mov rcx, rdi
call fcn.1402884b0
mov rdx, qword [rsp + 0x1d0]
test rdx, rdx
je 0x1401b6773
mov rax, qword [rsp + 0x1b0]
mov rcx, qword [rax]
call fcn.14026a0e0
cmp dword [rsp + 0x1c4], 0
mov r11d, dword [rsp + 0x50]
jne 0x1401b66c8
mov r15, qword [rsp + 0x60]
mov r12, qword [rsp + 0x70]
movzx eax, word [r15 + 0x60]
test eax, 0x201
jne 0x1401b67a7
test byte [r13 + 4], 8
jne 0x1401b7bd2
cmp dword [r14], 0
jle 0x1401b67fc
lea rbp, [r14 + 0x68]
xor esi, esi
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x150], rax
movaps xmmword [rsp + 0x140], xmm6
movaps xmmword [rsp + 0x130], xmm6
cmp qword [rbp - 0x10], 0
je 0x1401b7ffb
mov rdi, qword [rbp - 0x38]
test rdi, rdi
jne 0x1401b9b6f
inc rsi
movsxd rax, dword [r14]
add rbp, 0x68
cmp rsi, rax
jl 0x1401b67b3
mov rdi, qword [r13 + 0x20]
mov rbp, qword [r13 + 0x30]
mov r10, qword [r13 + 0x38]
mov rax, qword [r13 + 0x40]
mov qword [rsp + 0x90], rax
mov eax, dword [r13 + 4]
mov ecx, eax
and cl, 1
mov byte [rsp + 0x1a0], cl
mov ecx, eax
and ecx, 9
cmp ecx, 1
mov qword [rsp + 0x80], rdi
je 0x1401b7e55
mov rdx, qword [rsp + 0x170]
mov esi, 0xffffffff
test rdx, rdx
je 0x1401b693a
mov rbx, r14
mov r14, rbp
mov rbp, r10
mov r9d, dword [rdi]
mov rsi, qword [rsp + 0x48]
mov rcx, rsi
xor r8d, r8d
call fcn.1401cbe20
mov r12, rax
mov r8d, dword [rsi + 0x34]
lea eax, [r8 + 1]
mov dword [rsi + 0x34], eax
mov dword [rsp + 0x17c], r8d
mov rax, qword [rsp + 0x170]
mov eax, dword [rax]
mov ecx, dword [rdi]
lea r9d, [rax + rcx]
inc r9d
mov r10, qword [rsp + 0x58]
mov esi, dword [r10 + 0x90]
cmp dword [r10 + 0x94], esi
jle 0x1401b6be5
movsxd rax, esi
lea ecx, [rax + 1]
mov dword [r10 + 0x90], ecx
mov rcx, qword [r10 + 0x88]
lea rax, [rax + rax*2]
mov dword [rcx + rax*8], 0x76
mov dword [rcx + rax*8 + 4], r8d
mov dword [rcx + rax*8 + 8], r9d
mov dword [rcx + rax*8 + 0xc], 0
mov qword [rcx + rax*8 + 0x10], 0
mov rcx, qword [r10]
cmp byte [rcx + 0x67], 0
jne 0x1401b8e60
mov eax, esi
test esi, esi
js 0x1401b664e
mov rcx, qword [r10 + 0x88]
cdqe
lea rax, [rax + rax*2]
lea rdx, [rcx + rax*8]
cmp byte [rdx + 1], 0
jne 0x1401b6ba9
test r12, r12
je 0x1401b6927
mov qword [rdx + 0x10], r12
mov byte [rdx + 1], 0xf8
mov r12, qword [rsp + 0x70]
mov r11d, dword [rsp + 0x50]
mov r10, rbp
mov rbp, r14
mov r14, rbx
mov dword [rsp + 0x188], esi
cmp byte [r12], 0xc
je 0x1401b8ca6
mov rbx, qword [rsp + 0x48]
mov esi, dword [rbx + 0x44]
lea r8d, [rsi - 1]
mov dword [rbx + 0x44], r8d
test byte [r13 + 5], 0x40
mov r9, qword [rsp + 0x58]
jne 0x1401b696f
mov word [r13 + 2], 0x140
cmp qword [r13 + 0x60], 0
jne 0x1401b7e1e
cmp dword [r13 + 8], 0
sete cl
mov eax, dword [rsp + 0x188]
test eax, eax
setns dl
and dl, cl
cmp dl, 1
jne 0x1401b69be
mov rcx, qword [r9]
cmp byte [rcx + 0x67], 0
jne 0x1401b8df5
mov eax, eax
lea rax, [rax + rax*2]
shl rax, 3
add rax, qword [r9 + 0x88]
mov byte [rax], 0x77
or byte [rsp + 0x194], 1
test byte [r13 + 4], 1
jne 0x1401b7ed4
xor eax, eax
mov byte [rsp + 0x1a1], al
test r11b, 1
jne 0x1401b720f
test r10, r10
jne 0x1401b720f
xor eax, eax
cmp byte [rsp + 0x1a0], 0
setne al
shl eax, 8
mov ecx, 0x4000
and ecx, dword [r13 + 4]
or ecx, eax
movsx eax, word [r13 + 2]
mov rdx, qword [r13 + 0x20]
mov r9, qword [rsp + 0x170]
mov dword [rsp + 0x38], eax
mov qword [rsp + 0x28], r13
mov qword [rsp + 0x20], rdx
mov word [rsp + 0x30], cx
mov rcx, rbx
mov rdx, r14
mov r8, rbp
call fcn.14028dcb0
mov r9, qword [rsp + 0x58]
mov ebp, 1
test rax, rax
je 0x1401b6b8f
mov rdi, rax
movzx eax, word [rax + 0x48]
cmp ax, word [r13 + 2]
jge 0x1401b6a58
mov word [r13 + 2], ax
cmp byte [rsp + 0x1a0], 0
jne 0x1401b6c06
mov rax, qword [rsp + 0x170]
test rax, rax
je 0x1401b6ab2
movzx ecx, byte [rdi + 0x41]
xor edx, edx
test cl, cl
cmovg edx, ecx
movzx ecx, dl
mov dword [rsp + 0x178], ecx
test byte [rdi + 0x44], 4
jne 0x1401b8e72
mov rdx, rdi
add rdx, 0x30
mov edx, dword [rdx]
mov dword [rsp + 0x190], edx
cmp dword [rax], ecx
jne 0x1401b6af8
mov qword [rsp + 0x170], 0
movsxd rax, dword [rsp + 0x188]
test rax, rax
js 0x1401b6af8
mov rcx, qword [r9]
cmp byte [rcx + 0x67], 0
jne 0x1401b6af8
mov r14, qword [r9 + 0x88]
lea r15, [rax + rax*2]
mov r8, qword [r14 + r15*8 + 0x10]
movsx edx, byte [r14 + r15*8 + 1]
call fcn.1401a6950
mov qword [r14 + r15*8 + 0x10], 0
mov word [r14 + r15*8], ILCreateFromPathW
mov r15, qword [rsp + 0x60]
mov eax, dword [rdi + 0x30]
mov ecx, dword [rdi + 0x34]
mov dword [rsp + 0x38], ecx
mov dword [rsp + 0x30], eax
mov qword [rsp + 0x28], r12
lea rax, [rsp + 0x1a0]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x170]
mov rcx, rbx
mov rdx, r13
mov r8d, 0xffffffff
call fcn.1401cc3e0
mov rcx, rdi
call fcn.140292fb0
mov rdx, qword [rsp + 0x58]
xor r14d, r14d
mov rdi, qword [rsp + 0x80]
mov rax, qword [rsp + 0x170]
test rax, rax
jne 0x1401b6c32
mov rcx, qword [rdx + 0x18]
neg esi
mov eax, dword [rcx + 0x44]
add eax, dword [rcx + 0x48]
js 0x1401b8de8
mov eax, dword [rdx + 0x90]
mov rcx, qword [rcx + 0x50]
movsxd rdx, esi
mov dword [rcx + rdx*4], eax
xor ebp, ebp
cmp dword [rbx + 0x30], 0
setg bpl
test r14, r14
jne 0x1401b7ea2
mov rcx, qword [rsp + 0x1e8]
xor rcx, rsp
cmp rcx, qword [0x1404fe040]
je 0x1401b6bbf
call fcn.140297b50
int3
mov rcx, r10
mov r8, r12
mov r9d, 0xfffffff8
call fcn.140284f20
jmp 0x1401b6927
mov eax, ebp
movaps xmm6, xmmword [rsp + 0x1f0]
movaps xmm7, xmmword [rsp + 0x200]
add rsp, 0x218
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov dword [rsp + 0x20], 0
mov rcx, r10
mov edx, 0x76
call fcn.1401b1310
mov r10, qword [rsp + 0x58]
mov esi, eax
jmp 0x1401b68e8
mov al, byte [rdi + 0x43]
test al, al
je 0x1401b6a66
mov byte [rsp + 0x1a1], al
jmp 0x1401b6a66
mov rcx, rbx
mov rdx, r13
mov r8, r12
call fcn.14040a350
mov ebp, eax
jmp 0x1401b6b8f
mov ecx, dword [rdi]
mov qword [rsp + 0x80], rcx
mov r11, qword [rbx + 0x10]
mov r10d, dword [rsp + 0x18c]
mov ecx, dword [rbx + 0x44]
mov qword [rsp + 0x78], rcx
lea ebp, [rcx - 1]
mov dword [rbx + 0x44], ebp
movzx r8d, byte [r12]
mov ecx, dword [r12 + 4]
mov dword [rsp + 0xa0], ecx
mov r12, qword [r13 + 0x20]
mov r15d, dword [rax]
sub r15d, dword [rsp + 0x178]
mov r9d, dword [rsp + 0x184]
test r9d, r9d
mov qword [rsp + 0x68], r14
mov qword [rsp + 0xa8], r8
jne 0x1401ba1ce
mov r9d, dword [rsp + 0x17c]
cmp r8d, 9
mov dword [rsp + 0x90], r9d
jne 0x1401b823b
mov rax, qword [rsp + 0x70]
mov eax, dword [rax + 0xc]
mov qword [rsp + 0x88], rax
mov dword [rsp + 0x98], 0
test byte [rsp + 0x194], 1
je 0x1401b810f
mov eax, dword [rbx + 0x34]
mov edi, dword [rbx + 0x38]
inc edi
mov dword [rbx + 0x38], edi
mov qword [rsp + 0x50], rax
inc eax
mov dword [rbx + 0x34], eax
xor ebp, ebp
cmp dword [rsp + 0x184], 0
jne 0x1401ba28c
mov rax, qword [rsp + 0x80]
add eax, r15d
inc eax
movsxd rcx, dword [r11 + 0x90]
cmp dword [r11 + 0x94], ecx
jle 0x1401b838e
lea r8d, [rcx + 1]
mov dword [r11 + 0x90], r8d
mov r8, qword [r11 + 0x88]
lea rcx, [rcx + rcx*2]
mov dword [r8 + rcx*8], 0x79
mov r14, qword [rsp + 0x50]
mov dword [r8 + rcx*8 + 4], r14d
mov dword [r8 + rcx*8 + 8], edi
mov dword [r8 + rcx*8 + 0xc], eax
mov qword [r8 + rcx*8 + 0x10], 0
test ebp, ebp
jne 0x1401b9fbd
mov eax, dword [r11 + 0x90]
cmp dword [r11 + 0x94], eax
jle 0x1401b8323
movsxd r8, eax
lea ecx, [r8 + 1]
mov dword [r11 + 0x90], ecx
mov rcx, qword [r11 + 0x88]
lea r8, [r8 + r8*2]
mov dword [rcx + r8*8], 0x22
mov dword [rcx + r8*8 + 4], r9d
mov dword [rcx + r8*8 + 8], r10d
mov dword [rcx + r8*8 + 0xc], 0
mov qword [rcx + r8*8 + 0x10], 0
movsxd r8, dword [r11 + 0x90]
cmp dword [r11 + 0x94], r8d
mov dword [rsp + 0xb8], eax
jle 0x1401b835c
lea ecx, [r8 + 1]
mov dword [r11 + 0x90], ecx
mov rcx, qword [r11 + 0x88]
lea rax, [r8 + r8*2]
mov dword [rcx + rax*8], 0x85
mov dword [rcx + rax*8 + 4], r9d
mov dword [rcx + rax*8 + 8], edi
mov r8, qword [rsp + 0x50]
mov dword [rcx + rax*8 + 0xc], r8d
mov qword [rcx + rax*8 + 0x10], 0
xor ecx, ecx
add ecx, r15d
mov qword [rsp + 0xb0], rcx
cmp dword [rsp + 0x80], 0
jle 0x1401b6edc
mov rax, qword [rsp + 0xb0]
lea r15d, [rax - 1]
mov ebp, dword [rsp + 0x80]
mov rax, rbp
shl rax, 5
xor ecx, ecx
cmp word [r12 + rcx + 0x20], 1
adc r15d, 0
add rcx, 0x20
cmp rax, rcx
jne 0x1401b6e3c
mov rcx, qword [rsp + 0x88]
lea edi, [rcx - 1]
add r12, rax
movzx eax, word [r12]
lea r9d, [rax - 1]
xor r13d, r13d
test eax, eax
cmove r9d, r15d
sete r14b
movsxd rax, dword [r11 + 0x90]
cmp dword [r11 + 0x94], eax
jle 0x1401b81ee
lea ecx, [rax + 1]
mov dword [r11 + 0x90], ecx
mov rcx, qword [r11 + 0x88]
lea rax, [rax + rax*2]
mov dword [rcx + rax*8], 0x69
mov r8, qword [rsp + 0x50]
mov dword [rcx + rax*8 + 4], r8d
mov dword [rcx + rax*8 + 8], r9d
lea r8d, [rdi + rbp]
mov dword [rcx + rax*8 + 0xc], r8d
mov qword [rcx + rax*8 + 0x10], 0
dec rbp
mov r13b, r14b
sub r15d, r13d
lea rax, [rbp + 1]
add r12, 0xffffffffffffffe0
cmp rax, 1
ja 0x1401b6e5e
mov rcx, qword [rsp + 0xa8]
cmp ecx, 9
jne 0x1401b828f
mov rax, qword [rsp + 0x70]
mov r8d, dword [rax + 0xc]
movsxd rax, dword [r11 + 0x90]
cmp dword [r11 + 0x94], eax
mov r15, qword [rsp + 0x60]
mov r13d, dword [rsp + 0x98]
jle 0x1401b82f0
lea ecx, [rax + 1]
mov dword [r11 + 0x90], ecx
mov rcx, qword [r11 + 0x88]
lea rax, [rax + rax*2]
mov dword [rcx + rax*8], 0x54
mov dword [rcx + rax*8 + 4], r8d
mov r8, qword [rsp + 0x80]
mov dword [rcx + rax*8 + 8], r8d
mov dword [rcx + rax*8 + 0xc], 0
mov qword [rcx + rax*8 + 0x10], 0
mov r14, qword [rsp + 0x68]
test r13d, r13d
jne 0x1401b9edf
mov rcx, qword [r11 + 0x18]
mov r8, qword [rsp + 0x78]
neg r8d
mov eax, dword [rcx + 0x44]
add eax, dword [rcx + 0x48]
js 0x1401ba15e
mov eax, dword [r11 + 0x90]
mov rcx, qword [rcx + 0x50]
movsxd r8, r8d
mov dword [rcx + r8*4], eax
mov r9d, dword [rsp + 0xb8]
inc r9d
test byte [rsp + 0x194], 1
mov ecx, dword [r11 + 0x94]
je 0x1401b8182
cmp ecx, eax
jle 0x1401b81bb
lea ecx, [rax + 1]
mov dword [r11 + 0x90], ecx
mov rcx, qword [r11 + 0x88]
cdqe
lea rax, [rax + rax*2]
mov dword [rcx + rax*8], 0x25
mov r8d, dword [rsp + 0x90]
mov dword [rcx + rax*8 + 4], r8d
mov dword [rcx + rax*8 + 8], r9d
mov dword [rcx + rax*8 + 0xc], 0
mov qword [rcx + rax*8 + 0x10], 0
mov r8d, dword [rsp + 0x180]
test r8d, r8d
jne 0x1401ba184
mov rcx, qword [r11 + 0x18]
not r10d
mov eax, dword [rcx + 0x44]
add eax, dword [rcx + 0x48]
js 0x1401b9eca
mov rax, qword [rsp + 0x78]
movzx eax, word [rax]
jmp 0x1401b7361
test byte [rax + 6], 0x20
jne 0x1401bab16
mov rcx, qword [rax + 0x40]
test rcx, rcx
je 0x1401bab16
movsx rax, word [rax + 0x30]
test rax, rax
mov r15, qword [rsp + 0x60]
mov rbx, qword [rsp + 0x48]
js 0x1401b708a
mov r8, qword [rcx + 8]
test r8, r8
je 0x1401b708a
cmp ax, word [rcx + 0x36]
jge 0x1401b708a
lea rax, [rax + rax*2]
mov eax, dword [r8 + rax*8 + 8]
test al, 0xf
je 0x1401b71b5
xor r12d, r12d
jmp 0x1401b71b5
mov rax, qword [r13 + 0x20]
mov ecx, dword [rax]
test ecx, ecx
jle 0x1401b70b2
add rax, 0x22
inc ecx
mov word [rax], 0
add rax, 0x20
dec ecx
cmp ecx, 1
ja 0x1401b70a2
mov eax, dword [r10]
test eax, eax
jle 0x1401b70cf
lea rcx, [r10 + 0x22]
inc eax
mov word [rcx], 0
add rcx, 0x20
dec eax
cmp eax, 1
ja 0x1401b70bf
cmp word [r13 + 2], 0x43
jl 0x1401b70de
mov word [r13 + 2], 0x42
mov rdx, qword [rsp + 0x170]
mov r12b, 1
test rdx, rdx
je 0x1401b724c
mov eax, dword [r10]
cmp eax, dword [rdx]
jne 0x1401b724c
test eax, eax
jle 0x1401b712c
shl rax, 5
xor ecx, ecx
mov rdx, qword [rsp + 0x170]
mov dl, byte [rdx + rcx + 0x18]
and dl, 1
mov byte [r10 + rcx + 0x18], dl
add rcx, 0x20
cmp rax, rcx
jne 0x1401b7107
mov rdx, qword [rsp + 0x170]
mov rcx, r10
mov r8d, 0xffffffff
mov r12, r10
call fcn.1401c66c0
mov r10, r12
test eax, eax
setne r12b
jmp 0x1401b724c
lea rax, [rdx + 8]
mov rax, qword [rax]
movzx ecx, byte [rax]
cmp ecx, 0xa3
je 0x1401ba2c7
mov r8d, ecx
add r8d, 0xffffff60
cmp r8d, 1
jbe 0x1401ba2cf
mov r12b, 2
mov r8b, 1
mov qword [rsp + 0x98], r8
cmp cl, 0x9a
je 0x1401b703f
movzx eax, cl
lea ecx, [rax - 0x8f]
cmp ecx, 3
jb 0x1401b708a
cmp eax, 0x6b
jne 0x1401b71b5
jmp 0x1401b708a
mov r12b, 1
mov al, 2
mov qword [rsp + 0x98], rax
mov rcx, r15
xor r8d, r8d
call fcn.1401c8b80
test rax, rax
je 0x1401ba150
mov byte [rax + 0x18], r12b
mov qword [rsp + 0x68], rax
jmp 0x1401b7595
test r10, r10
je 0x1401b71a8
inc r8
jmp 0x1401b755f
mov qword [rsp + 0x68], 0
mov qword [rsp + 0x98], 0
jmp 0x1401b759a
test r10, r10
je 0x1401b714b
inc r8
jmp 0x1401b7534
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x160], rax
movaps xmmword [rsp + 0x150], xmm6
movaps xmmword [rsp + 0x140], xmm6
movaps xmmword [rsp + 0x130], xmm6
test r10, r10
jne 0x1401b7092
mov word [r13 + 2], 0
mov r12b, 1
mov eax, dword [rbx + 0x44]
mov qword [rsp + 0xa8], rax
dec eax
mov dword [rsp + 0xb8], eax
mov dword [rbx + 0x44], eax
test r15, r15
mov qword [rsp + 0x78], r10
je 0x1401b9e72
cmp byte [r15 + 0x67], 0
jne 0x1401b99b7
mov edx, 0x38
mov rcx, r15
call fcn.14026a520
mov r10, rax
test rax, rax
mov qword [rsp + 0x50], rax
je 0x1401b730d
xorps xmm0, xmm0
movups xmmword [r10 + 0x20], xmm0
movups xmmword [r10 + 0x10], xmm0
movups xmmword [r10], xmm0
mov qword [r10 + 0x30], 0
mov rax, qword [0x14050f398]
test rax, rax
jne 0x1401b9e90
mov rcx, qword [rbx]
test rcx, rcx
je 0x1401b9e81
cmp byte [rcx + 0x67], 0
jne 0x1401b9eb5
mov edx, 0x18
call fcn.14026a520
test rax, rax
mov r10, qword [rsp + 0x50]
je 0x1401b9eb5
mov rcx, qword [rbx + 0xb8]
mov qword [rax], rcx
mov qword [rbx + 0xb8], rax
mov qword [rax + 8], r10
lea rcx, [fcn.1401cd240]
mov qword [rax + 0x10], rcx
cmp byte [r15 + 0x67], 0
jne 0x1401b99b7
mov eax, dword [r13 + 0x10]
mov dword [r10 + 0x34], eax
xorps xmm0, xmm0
movups xmmword [rsp + 0x158], xmm0
movups xmmword [rsp + 0x148], xmm0
mov qword [rsp + 0x130], rbx
mov qword [rsp + 0x138], r14
mov qword [rsp + 0x140], r10
cmp qword [rsp + 0x78], 0
mov byte [rsp + 0xa0], r12b
jne 0x1401b7032
xor eax, eax
mov word [r10 + 2], ax
mov rax, qword [rsp + 0x78]
mov qword [r10 + 0x10], rax
test rdi, rdi
je 0x1401b740d
cmp dword [rdi], 0
jle 0x1401b740d
lea r15, [rdi + 8]
xor r12d, r12d
mov rdx, qword [r15]
movabs rax, 0xaaaaaaaa00000000
mov qword [rsp + 0x1d0], rax
lea rax, [0x1401d63c0]
mov qword [rsp + 0x1b8], rax
lea rax, [0x1404101f0]
mov qword [rsp + 0x1c0], rax
lea rax, [0x140410200]
mov qword [rsp + 0x1c8], rax
lea rax, [rsp + 0x130]
mov qword [rsp + 0x1d8], rax
mov qword [rsp + 0x1b0], 0
test rdx, rdx
je 0x1401b73f8
lea rcx, [rsp + 0x1b0]
call fcn.1402884b0
inc r12d
add r15, 0x20
cmp r12d, dword [rdi]
mov r10, qword [rsp + 0x50]
jl 0x1401b7388
mov rdi, qword [rsp + 0x170]
test rdi, rdi
je 0x1401b74b4
cmp dword [rdi], 0
jle 0x1401b74b4
lea r12, [rdi + 8]
xor r15d, r15d
mov rdx, qword [r12]
movabs rax, 0xaaaaaaaa00000000
mov qword [rsp + 0x1d0], rax
lea rax, [0x1401d63c0]
mov qword [rsp + 0x1b8], rax
lea rax, [0x1404101f0]
mov qword [rsp + 0x1c0], rax
lea rax, [0x140410200]
mov qword [rsp + 0x1c8], rax
lea rax, [rsp + 0x130]
mov qword [rsp + 0x1d8], rax
mov qword [rsp + 0x1b0], 0
test rdx, rdx
je 0x1401b749f
lea rcx, [rsp + 0x1b0]
call fcn.1402884b0
inc r15d
add r12, 0x20
cmp r15d, dword [rdi]
mov r10, qword [rsp + 0x50]
jl 0x1401b742e
cmp qword [rsp + 0x90], 0
jne 0x1401ba035
mov r15, qword [rsp + 0x60]
mov eax, dword [r10 + 0x20]
mov dword [r10 + 0x24], eax
cmp qword [r13 + 0x38], 0
jne 0x1401b71e4
cmp qword [r13 + 0x40], 0
jne 0x1401b71e4
cmp dword [r10 + 0x30], 1
jne 0x1401b71e4
mov rax, qword [r10 + 0x28]
mov rax, qword [rax]
mov rdx, qword [rax + 0x20]
test rdx, rdx
je 0x1401b71e4
cmp dword [rdx], 1
jne 0x1401b71e4
test byte [rax + 7], 1
jne 0x1401b71e4
test byte [r15 + 0x62], 1
jne 0x1401b7580
mov rax, qword [rax + 8]
xor r8d, r8d
lea r9, [0x14047f51d]
lea rcx, [0x1404dccc0]
movzx r10d, byte [rax + r8]
movzx r11d, byte [r8 + r9]
cmp r10b, r11b
je 0x1401b71fe
mov r10b, byte [r10 + rcx]
cmp r10b, byte [r11 + rcx]
je 0x1401b7207
xor r8d, r8d
lea r9, [0x14047f521]
movzx r10d, byte [rax + r8]
movzx r11d, byte [r8 + r9]
cmp r10b, r11b
je 0x1401b71d7
mov r10b, byte [r10 + rcx]
cmp r10b, byte [r11 + rcx]
je 0x1401b71dc
mov qword [rsp + 0x68], 0
mov qword [rsp + 0x98], 0
mov r10, qword [rsp + 0x50]
mov ecx, 0x20000
or ecx, dword [rsp + 0x158]
mov dword [rsp + 0x158], ecx
mov eax, dword [r10 + 0x30]
test eax, eax
jle 0x1401b76c9
xor r15d, r15d
lea r8, [0x1401d63c0]
lea r9, [0x1404101f0]
lea r11, [0x140410200]
mov rax, qword [r10 + 0x28]
mov rcx, r15
shl rcx, 5
mov rax, qword [rax + rcx]
mov rcx, qword [rax + 0x20]
test rcx, rcx
je 0x1401b76a0
cmp dword [rcx], 0
jle 0x1401b76a0
lea r12, [rcx + 8]
xor edi, edi
mov qword [rsp + 0x88], rax
mov qword [rsp + 0xb0], rcx
mov rdx, qword [r12]
movabs rax, 0xaaaaaaaa00000000
mov qword [rsp + 0x1d0], rax
mov qword [rsp + 0x1b8], r8
mov qword [rsp + 0x1c0], r9
mov qword [rsp + 0x1c8], r11
lea rax, [rsp + 0x130]
mov qword [rsp + 0x1d8], rax
mov qword [rsp + 0x1b0], 0
test rdx, rdx
je 0x1401b7668
lea rcx, [rsp + 0x1b0]
call fcn.1402884b0
inc edi
add r12, 0x20
mov rcx, qword [rsp + 0xb0]
cmp edi, dword [rcx]
mov r10, qword [rsp + 0x50]
lea r8, [0x1401d63c0]
lea r9, [0x1404101f0]
lea r11, [0x140410200]
mov rax, qword [rsp + 0x88]
jl 0x1401b760c
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x1401ba0fd
inc r15
movsxd rax, dword [r10 + 0x30]
cmp r15, rax
jl 0x1401b75d1
mov ecx, dword [rsp + 0x158]
mov r15, qword [rsp + 0x60]
and ecx, 0xfffdffff
mov dword [rsp + 0x158], ecx
cmp byte [r15 + 0x67], 0
jne 0x1401b99c0
mov rcx, qword [rsp + 0x78]
test rcx, rcx
jne 0x1401b8401
cmp qword [r13 + 0x30], 0
jne 0x1401b7749
mov rcx, qword [r13 + 0x20]
cmp dword [rcx], 1
jne 0x1401b7749
mov rdx, qword [r13 + 0x28]
cmp dword [rdx], 1
jne 0x1401b7749
cmp eax, 1
jne 0x1401b7749
cmp qword [rdx + 0x30], 0
jne 0x1401b7749
cmp qword [r13 + 0x40], 0
jne 0x1401b7749
mov r12, qword [rdx + 0x28]
cmp byte [r12 + 0x3f], 0
jne 0x1401b7749
mov rdx, qword [rcx + 8]
cmp byte [rdx], 0x9b
jne 0x1401b7749
cmp qword [rdx + 0x38], r10
jne 0x1401b7749
mov rcx, qword [r10 + 0x28]
mov r8, qword [rcx + 8]
test byte [r8 + 5], 1
jne 0x1401b7978
cmp dword [r10 + 0x24], 0
jne 0x1401b99d4
cmp eax, 1
jne 0x1401b776c
mov rcx, qword [r10 + 0x28]
mov eax, 1
cmp dword [rcx + 0x10], 0
jns 0x1401ba12b
mov qword [rsp + 0x78], 0
xor r15d, r15d
xor r12d, r12d
mov ecx, dword [rbx + 0x38]
inc ecx
mov dword [r10 + 0xc], ecx
add eax, dword [r10 + 0x20]
add dword [rbx + 0x38], eax
mov rcx, rbx
mov rdx, r10
mov rdi, r10
call fcn.1401cde00
movzx eax, byte [rsp + 0x98]
movzx ecx, r12w
or ecx, eax
mov word [rsp + 0x30], cx
mov qword [rsp + 0x28], r13
mov qword [rsp + 0x20], r15
mov dword [rsp + 0x38], 0
mov rcx, rbx
mov rdx, r14
mov r8, rbp
mov r9, qword [rsp + 0x68]
call fcn.14028dcb0
test rax, rax
je 0x1401b99c0
mov qword [rsp + 0x88], rax
movzx ebp, byte [rax + 0x43]
mov rcx, rbx
mov r14, qword [rsp + 0x78]
mov edx, r14d
mov r8, rdi
mov r9d, ebp
call fcn.1401cd280
test ebp, ebp
mov r15, qword [rsp + 0x60]
mov r12, qword [rsp + 0x70]
jne 0x1401b9f5b
test r14d, r14d
jne 0x1401b9f84
cmp byte [rsp + 0x98], 0
mov r14, qword [rsp + 0x88]
jne 0x1401b78e0
mov rcx, r14
call fcn.140292fb0
mov rcx, rbx
mov rdx, qword [rsp + 0x50]
call fcn.1401cda30
mov r14, qword [rsp + 0x68]
xor edi, edi
mov qword [rsp + 0x170], rdi
mov rcx, rbx
mov rdx, qword [rsp + 0x90]
mov ebp, dword [rsp + 0xb8]
mov r8d, ebp
mov r9d, 0x10
call fcn.1401c5b30
mov dword [rsp + 0x38], ebp
mov dword [rsp + 0x30], ebp
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x20], rdi
mov rcx, rbx
mov rdx, r13
mov r8d, 0xffffffff
xor r9d, r9d
call fcn.1401cc3e0
mov rdx, qword [rsp + 0x58]
mov rcx, qword [rdx + 0x18]
mov r8, qword [rsp + 0xa8]
neg r8d
mov eax, dword [rcx + 0x44]
add eax, dword [rcx + 0x48]
mov rdi, qword [rsp + 0x80]
js 0x1401b78d1
mov eax, dword [rdx + 0x90]
mov rcx, qword [rcx + 0x50]
movsxd r8, r8d
mov dword [rcx + r8*4], eax
jmp 0x1401b6b49
call fcn.1401c9160
mov rdx, qword [rsp + 0x58]
jmp 0x1401b6b49
test byte [r14 + 0x44], 4
je 0x1401b782d
cmp byte [r14 + 0x41], 0
je 0x1401b782d
movzx eax, byte [r14 + 0x40]
imul rcx, rax, 0x68
lea r8, [rcx + r14]
add r8, 0x370
inc rax
mov rcx, qword [rsp + 0x58]
dec rax
jle 0x1401b792a
mov rdx, qword [r8 - 0x20]
add r8, 0xffffffffffffff98
test byte [rdx + 0x38], 4
je 0x1401b7912
jmp 0x1401ba26f
mov r9d, dword [r14 + 0x34]
movsxd rax, dword [rcx + 0x90]
cmp dword [rcx + 0x94], eax
jle 0x1401b7bb8
lea edx, [rax + 1]
mov dword [rcx + 0x90], edx
mov rcx, qword [rcx + 0x88]
lea rax, [rax + rax*2]
mov qword [rcx + rax*8], 9
mov dword [rcx + rax*8 + 8], r9d
mov dword [rcx + rax*8 + 0xc], 0
mov qword [rcx + rax*8 + 0x10], 0
jmp 0x1401b782d
test dword [rdx + 4], 0x1000004
jne 0x1401b7749
test r12, r12
je 0x1401b99aa
mov rax, qword [r12 + 0x60]
test rax, rax
je 0x1401ba2d8
mov rcx, qword [rbx]
mov rcx, qword [rcx + 0x20]
add rcx, 0x18
mov ebp, 0xffffffff
inc ebp
lea rdx, [rcx + 0x20]
cmp qword [rcx], rax
mov rcx, rdx
jne 0x1401b79ac
mov edi, dword [rbx + 0x34]
lea eax, [rdi + 1]
mov dword [rbx + 0x34], eax
mov rax, qword [rbx + 0xa0]
test rax, rax
cmove rax, rbx
mov r14d, dword [r12 + 0x28]
mov edx, dword [rax + 0x84]
mov r8d, 1
mov ecx, ebp
shl r8d, cl
bt edx, ebp
jb 0x1401b79fe
or edx, r8d
mov dword [rax + 0x84], edx
cmp ebp, 1
je 0x1401ba314
test byte [r12 + 0x30], 0x80
jne 0x1401b9ff4
xor edx, edx
mov rax, qword [r13 + 0x28]
test byte [rax + 0x48], 1
jne 0x1401b7a4b
mov rax, qword [r12 + 0x10]
test rax, rax
je 0x1401b7a4b
test byte [rax + 0x64], 4
jne 0x1401b7a45
movzx ecx, word [rax + 0x5c]
cmp cx, word [r12 + 0x3c]
jge 0x1401b7a45
cmp qword [rax + 0x48], 0
jne 0x1401b7a45
test rdx, rdx
jne 0x1401ba321
mov rdx, rax
mov rax, qword [rax + 0x28]
jmp 0x1401b7a1b
test rdx, rdx
je 0x1401ba2e2
mov r14d, dword [rdx + 0x58]
mov rcx, rbx
call fcn.1401c3520
mov r12, rax
mov rcx, qword [rsp + 0x58]
movsxd rax, dword [rcx + 0x90]
cmp dword [rcx + 0x94], eax
mov r8, qword [rsp + 0x50]
jle 0x1401b8ba9
lea edx, [rax + 1]
mov dword [rcx + 0x90], edx
mov rdx, qword [rcx + 0x88]
lea rax, [rax + rax*2]
mov dword [rdx + rax*8], 0xfd72
mov dword [rdx + rax*8 + 4], edi
mov dword [rdx + rax*8 + 8], r14d
mov dword [rdx + rax*8 + 0xc], ebp
mov dword [rdx + rax*8 + 0x10], 1
test r12, r12
mov r14, qword [rsp + 0x68]
je 0x1401b7aef
mov rax, qword [rcx]
cmp byte [rax + 0x67], 0
jne 0x1401ba2ea
movsxd rax, dword [rcx + 0x90]
mov rdx, qword [rcx + 0x88]
lea rax, [rax + rax*2]
lea rdx, [rdx + rax*8]
cmp byte [rdx - 0x17], 0
jne 0x1401b7b97
mov qword [rdx - 8], r12
mov byte [rdx - 0x17], 0xf8
mov eax, dword [rbx + 0x38]
inc eax
mov dword [r8 + 0xc], eax
mov eax, dword [r8 + 0x30]
add eax, dword [r8 + 0x20]
add dword [rbx + 0x38], eax
mov r9d, dword [r8 + 0x20]
add r9d, dword [r8 + 0xc]
movsxd rax, dword [rcx + 0x90]
cmp dword [rcx + 0x94], eax
jle 0x1401b83c5
lea edx, [rax + 1]
mov dword [rcx + 0x90], edx
mov rdx, qword [rcx + 0x88]
lea rax, [rax + rax*2]
mov dword [rdx + rax*8], 0x6e
mov dword [rdx + rax*8 + 4], edi
mov dword [rdx + rax*8 + 8], r9d
mov dword [rdx + rax*8 + 0xc], 0
mov qword [rdx + rax*8 + 0x10], 0
mov r12, qword [rsp + 0x70]
movsxd rax, dword [rcx + 0x90]
cmp dword [rcx + 0x94], eax
jle 0x1401b83e4
lea edx, [rax + 1]
mov dword [rcx + 0x90], edx
mov rcx, qword [rcx + 0x88]
lea rax, [rax + rax*2]
mov dword [rcx + rax*8], 0x7a
mov dword [rcx + rax*8 + 4], edi
xorps xmm0, xmm0
movups xmmword [rcx + rax*8 + 8], xmm0
jmp 0x1401b7847
add rdx, 0xffffffffffffffe8
mov r8, r12
mov r9d, 0xfffffff8
call fcn.140284f20
mov r8, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x58]
jmp 0x1401b7aef
mov dword [rsp + 0x20], 0
mov edx, 9
xor r8d, r8d
call fcn.1401b1310
jmp 0x1401b782d
mov rax, qword [r13 + 0x20]
cmp dword [rax], 1
jne 0x1401b67a7
cmp qword [r13 + 0x30], 0
jne 0x1401b67a7
cmp qword [r13 + 0x40], 0
jne 0x1401b67a7
cmp qword [r13 + 0x38], 0
jne 0x1401b67a7
mov rcx, qword [rsp + 0x80]
cmp qword [rcx], 0
jne 0x1401b67a7
mov rsi, qword [rax + 8]
cmp byte [rsi], 0x9b
jne 0x1401b67a7
mov rax, qword [rsi + 8]
test rax, rax
je 0x1401b67a7
xor ecx, ecx
lea rdx, str.count
lea r8, [0x1404dccc0]
jmp 0x1401b7c4f
mov r9b, byte [r9 + r8]
cmp r9b, byte [r10 + r8]
jne 0x1401b67a7
inc rcx
movzx r9d, byte [rax + rcx]
movzx r10d, byte [rcx + rdx]
cmp r9b, r10b
jne 0x1401b7c3e
test r9, r9
jne 0x1401b7c4c
cmp qword [rsi + 0x20], 0
jne 0x1401b67a7
mov rax, qword [r13 + 0x28]
cmp dword [rax], 1
jne 0x1401b67a7
test byte [rsi + 7], 1
jne 0x1401b67a7
mov rdi, qword [rax + 0x30]
test rdi, rdi
je 0x1401b67a7
cmp qword [rdi + 0x50], 0
je 0x1401b7ccd
test byte [rdi + 7], 4
jne 0x1401b7ccd
mov rcx, rdi
jmp 0x1401b7cc1
cmp qword [rcx + 0x30], 0
jne 0x1401b7ccd
cmp qword [rcx + 0x60], 0
jne 0x1401b7ccd
test byte [rcx + 4], 8
jne 0x1401b7ccd
mov rcx, qword [rcx + 0x50]
test rcx, rcx
je 0x1401b7ce1
cmp byte [rcx], 0x7d
je 0x1401b7ca4
cmp qword [rcx + 0x50], 0
je 0x1401b7ca4
mov r15, qword [rsp + 0x60]
mov r12, qword [rsp + 0x70]
mov r11d, dword [rsp + 0x50]
jmp 0x1401b67a7
mov rbx, qword [rsp + 0x48]
mov r15, qword [rbx]
mov qword [rax + 0x30], 0
mov rdx, qword [r13 + 0x28]
mov rcx, r15
call fcn.140279b90
mov rcx, qword [rbx]
mov edx, 0x70
call fcn.1403f2b10
mov qword [r13 + 0x28], rax
xor ebp, ebp
xorps xmm7, xmm7
mov rbx, qword [rsp + 0x48]
jmp 0x1401b7d5c
mov rax, qword [r13 + 0x20]
mov qword [rax + 8], rbp
and byte [r13 + 4], 0xf7
mov rax, qword [rsp + 0x60]
cmp byte [rax + 0x67], 0
jne 0x1401b8231
mov r14, qword [r13 + 0x28]
jmp 0x1401b7ccd
mov rcx, qword [rsp + 0x48]
mov edx, 0x60
mov r8, r12
mov r9, rbp
call fcn.1401b25c0
mov rbp, rax
mov rdi, r14
test r14, r14
je 0x1401b7d1a
mov r8, qword [rdi + 0x20]
mov r14, qword [rdi + 0x50]
movups xmmword [rdi + 0x50], xmm7
mov eax, dword [rdi + 4]
mov ecx, 0xfffffef7
and eax, ecx
or eax, 8
mov dword [rdi + 4], eax
mov word [rdi + 2], 0
mov rcx, qword [rsp + 0x48]
lea rdx, [0x14040a1c0]
call fcn.140406570
test r14, r14
mov edx, 0
cmove rdx, rsi
test rsi, rsi
je 0x1401b7db9
test r14, r14
je 0x1401b7db9
mov rcx, r15
mov rdx, rsi
xor r8d, r8d
xor r9d, r9d
call fcn.140288970
mov rdx, rax
mov rcx, qword [rbx]
call fcn.1402963c0
mov qword [rdi + 0x20], rax
mov rcx, rbx
mov edx, 0x80
xor r8d, r8d
xor r9d, r9d
call fcn.1401b25c0
mov r12, rax
mov rcx, rbx
mov rdx, rax
mov r8, rdi
call fcn.140402800
test rbp, rbp
jne 0x1401b7d3c
mov rbp, r12
jmp 0x1401b7d54
mov r8, qword [r13 + 0x48]
test r8, r8
jne 0x1401ba1b2
mov eax, 0xffbffffe
and eax, dword [r13 + 4]
or eax, 0x400000
mov dword [r13 + 4], eax
jmp 0x1401b652c
mov rcx, rbx
mov rdx, r13
mov rbx, r14
mov r14, r15
mov r15, rbp
mov rbp, r10
call fcn.1401cbf30
mov r10, rbp
mov rbp, r15
mov r15, r14
mov r14, rbx
mov rbx, qword [rsp + 0x48]
mov r11d, dword [rsp + 0x50]
mov r9, qword [rsp + 0x58]
jmp 0x1401b697a
mov rsi, qword [rsp + 0x170]
mov rcx, rdi
or rcx, rsi
jne 0x1401b8bd4
mov rdx, r15
and eax, 0xfffffffe
mov dword [r13 + 4], eax
mov r15, rdx
mov rcx, rdx
mov rdx, rdi
xor r8d, r8d
call fcn.1401c8b80
mov r10, rax
mov qword [r13 + 0x38], rax
or byte [r13 + 4], 8
mov byte [rsp + 0x1a0], 2
mov r11d, dword [rsp + 0x50]
jmp 0x1401b683a
mov rcx, r15
mov rdx, r14
call fcn.14027b390
jmp 0x1401b6b8f
mov dword [rsp + 0x20], 0
mov rcx, r9
mov edx, 0x76
xor r9d, r9d
call fcn.1401b1310
mov r9, qword [rsp + 0x58]
mov r12d, eax
jmp 0x1401b7f4d
mov qword [rsp + 0x68], r14
mov r15, rbp
mov rbp, r10
mov eax, dword [rbx + 0x34]
lea ecx, [rax + 1]
mov dword [rbx + 0x34], ecx
mov dword [rsp + 0x1a4], eax
mov rdx, qword [r13 + 0x20]
mov rcx, rbx
xor r8d, r8d
xor r9d, r9d
call fcn.1401cbe20
mov r9, qword [rsp + 0x58]
mov r14, rax
mov r8d, dword [rsp + 0x1a4]
mov r12d, dword [r9 + 0x90]
cmp dword [r9 + 0x94], r12d
jle 0x1401b7eb2
movsxd rax, r12d
lea ecx, [rax + 1]
mov dword [r9 + 0x90], ecx
mov rcx, qword [r9 + 0x88]
lea rax, [rax + rax*2]
mov dword [rcx + rax*8], 0x76
mov dword [rcx + rax*8 + 4], r8d
xorps xmm0, xmm0
movups xmmword [rcx + rax*8 + 8], xmm0
mov rcx, qword [r9]
cmp byte [rcx + 0x67], 0
mov r11d, dword [rsp + 0x50]
jne 0x1401ba25d
mov r10, rbp
mov eax, r12d
test r12d, r12d
js 0x1401b7fcd
mov rcx, qword [r9 + 0x88]
cdqe
lea rax, [rax + rax*2]
lea rdx, [rcx + rax*8]
cmp byte [rdx + 1], 0
jne 0x1401b7fd8
test r14, r14
mov rbp, r15
je 0x1401b7f91
mov qword [rdx + 0x10], r14
mov byte [rdx + 1], 0xf8
mov dword [rsp + 0x1a8], r12d
movsxd rcx, dword [r9 + 0x90]
mov al, 3
test rcx, rcx
mov r15, qword [rsp + 0x60]
jle 0x1401b7fbe
mov rdx, qword [r9 + 0x88]
lea rcx, [rcx + rcx*2]
mov word [rdx + rcx*8 - 0x16], 8
mov r12, qword [rsp + 0x70]
mov r14, qword [rsp + 0x68]
jmp 0x1401b69cb
mov eax, dword [r9 + 0x90]
dec eax
jmp 0x1401b7f6a
mov rcx, r9
mov r8, r14
mov r9d, 0xfffffff8
call fcn.140284f20
mov r10, rbp
mov r11d, dword [rsp + 0x50]
mov r9, qword [rsp + 0x58]
mov rbp, r15
jmp 0x1401b7f91
mov r8, qword [rbp - 0x50]
test r8, r8
je 0x1401b67e0
mov rax, qword [rsp + 0x48]
mov rcx, qword [rax]
mov rax, qword [rcx + 0x1f0]
test rax, rax
je 0x1401b67e0
cmp byte [rcx + 0xc5], 0
jne 0x1401b67e0
mov rdx, qword [rsp + 0x48]
cmp byte [rdx + 0x124], 0
jne 0x1401b67e0
mov rbx, r14
mov rdx, qword [rbp - 0x58]
mov r9, qword [rsp + 0x48]
mov r9, qword [r9 + 0x160]
mov rcx, qword [rcx + 0x1f8]
mov qword [rsp + 0x28], r9
mov qword [rsp + 0x20], rdx
lea r9, [0x140479cb1]
mov edx, 0x14
call qword [case.0x1403053b8.0]
cmp eax, 1
je 0x1401b80a5
test eax, 0xfffffffd
mov r15, qword [rsp + 0x60]
mov r12, qword [rsp + 0x70]
mov r11d, dword [rsp + 0x50]
mov r14, rbx
je 0x1401b67e0
mov edi, 1
lea rdx, str.authorizer_malfunction
jmp 0x1401b80b1
mov edi, 0x17
lea rdx, str.not_authorized
mov r14, qword [rsp + 0x48]
mov rcx, r14
call fcn.140198de0
mov dword [r14 + 0x18], edi
mov r15, qword [rsp + 0x60]
mov r12, qword [rsp + 0x70]
mov r11d, dword [rsp + 0x50]
mov r14, rbx
jmp 0x1401b67e0
mov dword [rsp + 0x20], 0
mov rcx, r11
mov edx, 0x23
mov r8d, r9d
mov r9d, r10d
mov edi, r10d
mov r14, r11
call fcn.1401b1310
mov r11, r14
mov r9d, dword [rsp + 0x90]
mov r10d, edi
mov rdx, qword [rsp + 0x58]
jmp 0x1401b815c
mov eax, dword [r11 + 0x90]
cmp dword [r11 + 0x94], eax
jle 0x1401b80d9
movsxd r8, eax
lea ecx, [r8 + 1]
mov dword [r11 + 0x90], ecx
mov rcx, qword [r11 + 0x88]
lea r8, [r8 + r8*2]
mov dword [rcx + r8*8], 0x23
mov dword [rcx + r8*8 + 4], r9d
mov dword [rcx + r8*8 + 8], r10d
mov dword [rcx + r8*8 + 0xc], 0
mov qword [rcx + r8*8 + 0x10], 0
mov r8d, dword [r13 + 0xc]
mov ecx, 1
test r8d, r8d
mov dword [rsp + 0xb8], eax
jg 0x1401ba330
mov eax, r9d
mov qword [rsp + 0x50], rax
jmp 0x1401b6e07
cmp ecx, eax
jle 0x1401b81a9
lea ecx, [rax + 1]
mov dword [r11 + 0x90], ecx
mov rcx, qword [r11 + 0x88]
cdqe
lea rax, [rax + rax*2]
mov dword [rcx + rax*8], 0x27
jmp 0x1401b6fd4
mov dword [rsp + 0x20], 0
mov rcx, r11
mov edx, 0x27
jmp 0x1401b81cb
mov dword [rsp + 0x20], 0
mov rcx, r11
mov edx, 0x25
mov r8d, dword [rsp + 0x90]
mov edi, r10d
mov r12, r11
call fcn.1401b1310
mov r11, r12
mov r10d, edi
mov rdx, qword [rsp + 0x58]
jmp 0x1401b6ff7
lea eax, [rdi + rbp]
mov dword [rsp + 0x20], eax
mov rcx, r11
mov edx, 0x69
mov r8, qword [rsp + 0x50]
mov dword [rsp + 0xc0], r10d
mov qword [rsp + 0xe8], r11
call fcn.1401b1310
mov r11, qword [rsp + 0xe8]
mov r10d, dword [rsp + 0xc0]
mov rdx, qword [rsp + 0x58]
jmp 0x1401b6ec5
mov ebp, 1
jmp 0x1401b6b8f
cmp r8d, 0xa
jne 0x1401ba543
cmp dword [r13 + 0xc], 0
je 0x1401b6cae
mov rax, qword [rsp + 0x70]
mov r9d, dword [rax + 0xc]
mov dword [rsp + 0x20], 0
mov rcx, r11
mov edx, 0x4b
xor r8d, r8d
mov edi, r10d
mov r14, r11
call fcn.1404006f0
mov r11, r14
mov r9d, dword [rsp + 0x90]
mov r10d, edi
mov rdx, qword [rsp + 0x58]
jmp 0x1401b6cae
add ecx, 0xfffffff6
cmp ecx, 5
mov r15, qword [rsp + 0x60]
mov r14, qword [rsp + 0x68]
mov r13d, dword [rsp + 0x98]
ja case.0x1401b82b7.13
lea rax, [0x1404e6538]
movsxd rcx, dword [rax + rcx*4]
add rcx, rax
jmp rcx
mov rax, qword [rsp + 0x70]
mov r8d, dword [rax + 4]
mov dword [rsp + 0x20], 0
mov rcx, r11
mov edx, ntohl
xor r9d, r9d
mov edi, r10d
mov r12, r11
call fcn.1404006f0
mov r11, r12
mov r10d, edi
mov rdx, qword [rsp + 0x58]
jmp case.0x1401b82b7.10
mov dword [rsp + 0x20], 0
mov rcx, r11
mov edx, 0x54
mov r9, qword [rsp + 0x80]
mov edi, r10d
mov r14, r11
call fcn.1401b1310
mov r11, r14
mov r10d, edi
mov rdx, qword [rsp + 0x58]
jmp 0x1401b6f56
mov dword [rsp + 0x20], 0
mov rcx, r11
mov edx, 0x22
mov r8d, r9d
mov r9d, r10d
mov ebp, r10d
mov r14, r11
call fcn.1401b1310
mov r11, r14
mov r9d, dword [rsp + 0x90]
mov r10d, ebp
mov rdx, qword [rsp + 0x58]
jmp 0x1401b6db1
mov rax, qword [rsp + 0x50]
mov dword [rsp + 0x20], eax
mov rcx, r11
mov edx, 0x85
mov r8d, r9d
mov r9d, edi
mov edi, r10d
mov r14, r11
call fcn.1401b1310
mov r11, r14
mov r10d, edi
mov rdx, qword [rsp + 0x58]
jmp 0x1401b6e05
mov dword [rsp + 0x20], eax
mov rcx, r11
mov edx, 0x79
mov r8, qword [rsp + 0x50]
mov r9d, edi
mov r14d, r10d
mov r13, r11
call fcn.1401b1310
mov r11, r13
mov r10d, r14d
mov r9d, dword [rsp + 0x90]
mov rdx, qword [rsp + 0x58]
jmp 0x1401b6d58
mov dword [rsp + 0x20], 0
mov edx, 0x6e
mov r8d, edi
call fcn.1401b1310
mov rcx, qword [rsp + 0x58]
jmp 0x1401b7b53
mov dword [rsp + 0x20], 0
mov edx, 0x7a
mov r8d, edi
xor r9d, r9d
call fcn.1401b1310
jmp 0x1401b7847
xor r12d, r12d
cmp eax, 1
je 0x1401bad5a
mov qword [rsp + 0xd0], 0
mov qword [rsp + 0xc0], 0
mov eax, dword [rbx + 0x34]
lea ecx, [rax + 1]
mov dword [rbx + 0x34], ecx
mov dword [r10 + 4], eax
mov r9d, dword [r10 + 0x20]
mov rcx, rbx
mov rdx, qword [rsp + 0x78]
xor r8d, r8d
mov rdi, r10
call fcn.1401cbe20
mov r15, rax
movzx r9d, word [rdi + 2]
mov r8d, dword [rdi + 4]
mov dword [rsp + 0x20], r12d
mov rdi, qword [rsp + 0x58]
mov rcx, rdi
mov edx, 0x77
call fcn.1404006f0
mov rcx, rdi
mov dword [rsp + 0x124], eax
mov edx, eax
mov qword [rsp + 0x128], r15
mov r8, r15
mov r9d, 0xfffffff8
call fcn.1401c3300
mov eax, dword [rbx + 0x38]
mov ecx, dword [rbx + 0x44]
lea r9d, [rax + 2]
lea r15d, [rax + 4]
mov dword [rbx + 0x38], r15d
mov qword [rsp + 0x88], rcx
xor r8d, r8d
add ecx, 0xfffffffe
mov dword [rsp + 0x10c], ecx
mov dword [rbx + 0x44], ecx
lea ecx, [rax + 5]
mov dword [rsp + 0x108], ecx
mov r12, qword [rsp + 0x78]
mov ecx, dword [r12]
mov qword [rsp + 0x98], rax
mov qword [rsp + 0xf8], rcx
add eax, ecx
add eax, 4
mov dword [rbx + 0x38], eax
add eax, dword [r12]
mov dword [rbx + 0x38], eax
mov dword [rsp + 0x20], r8d
mov rcx, rdi
mov edx, 0x47
xor r8d, r8d
mov dword [rsp + 0xe0], r9d
call fcn.1404006f0
mov eax, dword [r12]
add eax, r15d
mov dword [rsp + 0x20], eax
mov rcx, rdi
mov edx, 0x4b
xor r8d, r8d
mov r9d, dword [rsp + 0x108]
call fcn.1404006f0
xor r12d, r12d
mov dword [rsp + 0x20], r12d
mov rcx, rdi
mov edx, 0xa
mov dword [rsp + 0xe8], r15d
mov r8d, r15d
mov r9d, dword [rsp + 0x10c]
call fcn.1404006f0
xor eax, eax
cmp byte [rsp + 0x1a0], 2
sete al
shl eax, 6
mov cl, byte [rsp + 0xa0]
xor cl, 1
movzx ecx, cl
shl ecx, 9
or ecx, eax
mov rax, qword [rsp + 0xc0]
add eax, ecx
add eax, 0x40
mov dword [rsp + 0x38], r12d
mov qword [rsp + 0x28], r13
mov rcx, qword [rsp + 0xd0]
mov qword [rsp + 0x20], rcx
mov word [rsp + 0x30], ax
mov rcx, rbx
mov rdx, r14
mov r8, rbp
mov r9, qword [rsp + 0x78]
call fcn.14028dcb0
test rax, rax
je 0x1401bab25
mov r15, rax
cmp qword [rbx + 0x60], 0
mov rdi, qword [rsp + 0x60]
jne 0x1401bac3f
mov eax, dword [rbx + 0x38]
inc eax
mov r8, qword [rsp + 0x50]
mov dword [r8 + 0xc], eax
mov eax, dword [r8 + 0x30]
add eax, dword [r8 + 0x20]
add dword [rbx + 0x38], eax
movzx eax, byte [r15 + 0x43]
mov dword [rsp + 0xf4], eax
movzx eax, byte [r15 + 0x41]
xor edx, edx
test al, al
mov ecx, 0
mov qword [rsp + 0x110], rcx
cmovle eax, edx
movzx ebp, al
mov r10, qword [rsp + 0x78]
mov r12d, dword [r10]
mov r14d, 0
cmp r12d, ebp
mov rdx, qword [rsp + 0x58]
mov al, byte [rsp + 0xa0]
mov qword [rsp + 0x118], r15
mov dword [rsp + 0xdc], ebp
mov dword [rsp + 0xcc], r12d
jne 0x1401ba7b2
cmp qword [rbx + 0x60], 0
jne 0x1401ba3b8
test al, al
jne 0x1401b86c3
test byte [rdi + 0x60], 4
jne 0x1401b86c3
cmp r12d, ebp
jne 0x1401b866c
test byte [r15 + 0x44], 8
je 0x1401bac59
mov qword [rsp + 0x170], 0
mov rcx, qword [rdx]
cmp byte [rcx + 0x67], 0
jne 0x1401b86c3
movsxd rax, dword [rsp + 0x188]
mov rdi, qword [rdx + 0x88]
lea r15, [rax + rax*2]
mov r8, qword [rdi + r15*8 + 0x10]
movsx edx, byte [rdi + r15*8 + 1]
call fcn.1401a6950
mov r10, qword [rsp + 0x78]
mov r8, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x58]
mov qword [rdi + r15*8 + 0x10], 0
mov word [rdi + r15*8], ILCreateFromPathW
lea rax, [rdx + 0x90]
mov qword [rsp + 0xb0], rax
mov eax, dword [rdx + 0x90]
cmp r12d, ebp
mov dword [rsp + 0x104], eax
jne 0x1401bae45
mov rdi, qword [rsp + 0x98]
mov rax, qword [rsp + 0xf8]
lea r14d, [rax + rdi]
add r14d, 5
mov eax, dword [r10]
test eax, eax
jle 0x1401b8756
lea r15, [r10 + 8]
mov ebp, r14d
xor r12d, r12d
mov eax, dword [rsp + 0xcc]
cmp eax, dword [rsp + 0xdc]
jne 0x1401bad33
mov byte [r8], 1
mov rdx, qword [r15]
lea r8d, [r12 + rbp]
mov rcx, rbx
call fcn.140405690
inc r12
mov r10, qword [rsp + 0x78]
movsxd rax, dword [r10]
add r15, 0x20
cmp r12, rax
mov rdx, qword [rsp + 0x58]
mov r8, qword [rsp + 0x50]
jl 0x1401b8711
lea ecx, [rdi + 3]
mov dword [rsp + 0xa0], ecx
mov rcx, qword [rsp + 0x88]
dec ecx
mov dword [rsp + 0xf8], ecx
mov r15, qword [rsp + 0x128]
test r15, r15
je 0x1401b8784
inc dword [r15]
mov eax, dword [r10]
inc edi
mov qword [rsp + 0x98], rdi
mov dword [rsp + 0x20], eax
mov rcx, rdx
mov edx, 0x5a
mov ebp, dword [rsp + 0x108]
mov r8d, ebp
mov r9d, r14d
mov rdi, r10
call fcn.1404006f0
mov rcx, qword [rsp + 0x58]
mov edx, eax
mov r8, r15
mov r9d, 0xfffffff8
call fcn.1401c3300
mov rax, qword [rsp + 0x58]
movsxd r12, dword [rax + 0x90]
lea r8d, [r12 + 1]
mov dword [rsp + 0x20], r8d
xor r15d, r15d
mov rcx, qword [rsp + 0x58]
mov edx, reloc.WS2_32.dll_ntohl
xor r9d, r9d
call fcn.1404006f0
mov eax, dword [rdi]
mov rcx, qword [rbx + 0x10]
mov dword [rsp + 0x20], eax
mov edx, 0x4f
mov r8d, r14d
mov r9d, ebp
call fcn.1404006f0
mov dword [rsp + 0x20], r15d
mov rcx, qword [rsp + 0x58]
mov edx, 0xa
mov r8d, dword [rsp + 0xa0]
mov r9d, dword [rsp + 0xf8]
call fcn.1404006f0
mov dword [rsp + 0x20], r15d
mov rcx, qword [rsp + 0x58]
mov edx, 0x3b
mov r8d, dword [rsp + 0xe0]
mov r9d, dword [rsp + 0xb8]
call fcn.1404006f0
mov dword [rsp + 0x20], r15d
mov rcx, qword [rsp + 0x58]
mov edx, 0xa
mov r8d, dword [rsp + 0xe8]
mov r9d, dword [rsp + 0x10c]
call fcn.1404006f0
mov rdi, qword [rsp + 0x58]
mov eax, dword [rdi + 0x90]
mov rcx, qword [rdi]
cmp byte [rcx + 0x67], 0
jne 0x1401baa41
lea rcx, [r12 + r12*2]
shl rcx, 3
add rcx, qword [rdi + 0x88]
mov r8, qword [rsp + 0x50]
mov ebp, dword [rsp + 0xdc]
mov dword [rcx + 8], eax
mov rcx, rbx
mov r14, qword [rsp + 0x98]
mov edx, r14d
mov r9d, dword [rsp + 0xf4]
call fcn.1401cd280
mov dword [rsp + 0x20], 0
mov rcx, rdi
mov edx, 0x47
mov r8d, 1
mov r9d, r14d
call fcn.1404006f0
cmp dword [rsp + 0xcc], ebp
mov r12, qword [rsp + 0x70]
jne 0x1401bae0f
mov rcx, qword [rsp + 0x118]
call fcn.140292fb0
mov rcx, qword [rdi]
cmp byte [rcx + 0x67], 0
mov rax, rdi
mov r15, qword [rsp + 0xb0]
jne 0x1401b894f
mov rdi, qword [rax + 0x88]
movsxd rax, dword [rsp + 0x124]
lea r14, [rax + rax*2]
mov r8, qword [rdi + r14*8 + 0x10]
movsx edx, byte [rdi + r14*8 + 1]
call fcn.1401a6950
mov rax, qword [rsp + 0x58]
mov qword [rdi + r14*8 + 0x10], 0
mov word [rdi + r14*8], ILCreateFromPathW
mov rdx, qword [rsp + 0xd0]
test rdx, rdx
jne 0x1401bab4b
xor edi, edi
mov dword [rsp + 0x20], edi
mov rcx, rax
mov edx, 0xa
mov ebp, dword [rsp + 0xa0]
mov r8d, ebp
mov r9d, dword [rsp + 0xf8]
call fcn.1404006f0
mov dword [rsp + 0x20], edi
mov rcx, qword [rsp + 0x58]
mov edx, 9
xor r8d, r8d
mov r9d, dword [rsp + 0xb8]
call fcn.1404006f0
mov rax, qword [rsp + 0x58]
mov r14d, dword [rax + 0x90]
mov dword [rsp + 0x20], edi
mov rcx, qword [rsp + 0x58]
mov edx, 0x47
mov r8d, 1
mov r9d, dword [rsp + 0xe0]
call fcn.1404006f0
mov dword [rsp + 0x20], edi
mov rcx, qword [rsp + 0x58]
mov edx, 0x43
mov r8d, ebp
xor r9d, r9d
call fcn.1404006f0
mov rdx, qword [rsp + 0x58]
mov rcx, qword [rdx + 0x18]
mov rax, qword [rsp + 0x88]
mov r8d, eax
neg r8d
mov eax, dword [rcx + 0x44]
add eax, dword [rcx + 0x48]
mov qword [rsp + 0xb0], r15
js 0x1401bab5f
mov edi, dword [r15]
mov rax, qword [rcx + 0x50]
movsxd rcx, r8d
mov dword [rax + rcx*4], edi
lea r9d, [rdi + 2]
xor r15d, r15d
mov dword [rsp + 0x20], r15d
mov rcx, rdx
mov edx, 0x3b
mov r8, qword [rsp + 0x98]
call fcn.1404006f0
mov dword [rsp + 0x20], r15d
mov rcx, qword [rsp + 0x58]
mov edx, 0x43
mov ebp, dword [rsp + 0xa0]
mov r8d, ebp
xor r9d, r9d
call fcn.1404006f0
mov rcx, rbx
mov rdx, qword [rsp + 0x50]
call fcn.1401cda30
inc edi
mov rcx, rbx
mov rdx, qword [rsp + 0x90]
mov r8d, edi
mov r9d, 0x10
call fcn.1401c5b30
mov dword [rsp + 0x38], r14d
mov dword [rsp + 0x30], edi
mov qword [rsp + 0x28], r12
lea rax, [rsp + 0x1a0]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x170]
mov rcx, rbx
mov rdx, r13
mov r8d, 0xffffffff
call fcn.1401cc3e0
mov dword [rsp + 0x20], r15d
mov rcx, qword [rsp + 0x58]
mov edx, 0x43
mov r8d, ebp
xor r9d, r9d
call fcn.1404006f0
mov rdx, qword [rsp + 0x58]
mov rcx, qword [rdx + 0x18]
mov r8d, 1
sub r8d, dword [rsp + 0x88]
mov eax, dword [rcx + 0x44]
add eax, dword [rcx + 0x48]
js 0x1401baa4d
mov rax, qword [rsp + 0xb0]
mov eax, dword [rax]
mov rcx, qword [rcx + 0x50]
movsxd rdx, r8d
mov dword [rcx + rdx*4], eax
mov r15, qword [rsp + 0x60]
mov rbp, qword [rsp + 0xc0]
mov rcx, rbx
mov rdx, qword [rsp + 0x50]
call fcn.1401cde00
xor edi, edi
mov dword [rsp + 0x20], edi
mov r14, qword [rsp + 0x58]
mov rcx, r14
mov edx, 0x47
xor r8d, r8d
mov r9, qword [rsp + 0x98]
call fcn.1404006f0
mov dword [rsp + 0x20], edi
mov rcx, r14
mov edx, 0x43
mov r8d, dword [rsp + 0xe8]
xor r9d, r9d
call fcn.1404006f0
test ebp, ebp
mov r14, qword [rsp + 0x68]
je 0x1401b7897
cmp byte [rsp + 0xf4], 0
je 0x1401b7897
mov rax, qword [rsp + 0x50]
mov rax, qword [rax + 0x28]
mov r8d, dword [rax + 0x10]
mov r9d, dword [rax + 0x14]
mov rcx, rbx
mov edx, dword [rsp + 0xf4]
call fcn.1401cdfe0
jmp 0x1401b7897
mov dword [rsp + 0x20], ebp
mov dword [rsp + 0x28], 1
mov edx, 0x72
mov r8d, edi
mov r9d, r14d
call fcn.1401b14c0
mov r8, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x58]
jmp 0x1401b7ab0
mov rbx, r14
mov r15, r10
test rdi, rdi
sete cl
test rsi, rsi
sete dl
or dl, cl
je 0x1401b8c0f
mov rax, qword [rsp + 0x60]
mov r12, qword [rsp + 0x70]
mov rdi, qword [rsp + 0x80]
mov r11d, dword [rsp + 0x50]
mov r10, r15
mov r15, rax
mov r14, rbx
jmp 0x1401b683a
mov ecx, dword [rsi]
mov rdx, qword [rsp + 0x80]
cmp ecx, dword [rdx]
jne 0x1401b8bea
test ecx, ecx
mov rdx, qword [rsp + 0x60]
mov r12, qword [rsp + 0x70]
mov rdi, qword [rsp + 0x80]
mov r14, rbx
jle 0x1401b7e6c
mov edi, 0x18
xor r12d, r12d
mov al, byte [rsi + rdi]
mov rcx, qword [rsp + 0x80]
cmp al, byte [rcx + rdi]
jne 0x1401b8bea
mov rax, qword [rsp + 0x80]
mov r8, qword [rax + rdi - 0x10]
mov rdx, qword [rsi + rdi - 0x10]
xor ecx, ecx
mov r9d, 0xffffffff
call fcn.140287ef0
test eax, eax
jne 0x1401b8bea
inc r12
movsxd rax, dword [rsi]
add rdi, 0x20
cmp r12, rax
jl 0x1401b8c42
mov eax, dword [r13 + 4]
mov rdx, qword [rsp + 0x60]
mov r12, qword [rsp + 0x70]
mov rdi, qword [rsp + 0x80]
mov r14, rbx
jmp 0x1401b7e6c
mov r9d, dword [rdi]
mov r8d, dword [r12 + 4]
mov dword [rsp + 0x20], 0
mov rcx, qword [rsp + 0x58]
mov edx, 0x76
mov qword [rsp + 0x78], r10
call fcn.1404006f0
mov r10, qword [rsp + 0x78]
mov r11d, dword [rsp + 0x50]
test byte [r13 + 5], 8
je 0x1401b694c
mov rbx, r14
mov qword [rsp + 0x68], rbp
movsxd rax, dword [rdi]
lea rsi, [rdi + 8]
cmp rax, 2
jl 0x1401b8d5f
mov rcx, rax
shl rcx, 5
test byte [rcx + rsi - 0xc], 0x40
jne 0x1401b8d8b
lea r15, [rcx + rsi]
add r15, 0xffffffffffffffe0
inc rax
mov r12, rax
jmp 0x1401b8d42
mov rcx, qword [rsp + 0x60]
call fcn.14026a0e0
mov rcx, qword [rsp + 0x80]
mov eax, dword [rcx]
dec eax
mov dword [rcx], eax
dec r12
cmp r12, 2
jbe 0x1401b8d5f
test byte [r15 - 0xc], 0x40
lea r15, [r15 - 0x20]
jne 0x1401b8d5f
mov rdx, qword [r15]
test rdx, rdx
je 0x1401b8d54
mov rcx, qword [rsp + 0x60]
call fcn.1402797f0
mov rdx, qword [r15 + 8]
test rdx, rdx
jne 0x1401b8d16
jmp 0x1401b8d20
test eax, eax
mov r15, qword [rsp + 0x60]
mov r12, qword [rsp + 0x70]
mov rdi, qword [rsp + 0x80]
mov r11d, dword [rsp + 0x50]
mov r10, qword [rsp + 0x78]
mov rbp, qword [rsp + 0x68]
mov r14, rbx
jle 0x1401b694c
xor ecx, ecx
mov r15, qword [rsp + 0x60]
mov r12, qword [rsp + 0x70]
mov rdi, qword [rsp + 0x80]
mov r11d, dword [rsp + 0x50]
mov r10, qword [rsp + 0x78]
mov rbp, qword [rsp + 0x68]
jmp 0x1401b8dd6
mov rax, qword [rsi]
mov byte [rax], 0x6f
mov rax, qword [rsp + 0x80]
mov eax, dword [rax]
inc rcx
movsxd rdx, eax
add rsi, 0x20
cmp rcx, rdx
mov r14, rbx
jge 0x1401b694c
test byte [rsi + 0x14], 0x40
jne 0x1401b8dc0
jmp 0x1401b8db0
mov eax, 3
jmp 0x1401b6700
mov r8d, esi
call fcn.1401c9160
jmp 0x1401b6b7c
lea rax, [0x140521a10]
jmp 0x1401b69b3
mov edi, r11d
mov rsi, qword [r13 + 0x28]
lea rcx, [rsi + 8]
mov rdx, rsi
call fcn.14040a1d0
test eax, eax
je 0x1401b8e3e
mov r8, qword [rsi + 0x20]
test r8, r8
jne 0x1401b8e28
mov rax, qword [rsi + 0x28]
mov r8, qword [rax]
lea rdx, str.target_object_alias_may_not_appear_in_FROM_clause:__s
mov rcx, qword [rsp + 0x48]
call fcn.140198de0
jmp 0x1401b8231
mov r11d, edi
and r11d, 0xff7fffff
mov dword [r13 + 4], r11d
mov r15, qword [rsp + 0x60]
mov r12, qword [rsp + 0x70]
mov rbx, qword [rsp + 0x48]
jmp 0x1401b6572
mov edx, 0xfffffff8
mov r8, r12
call fcn.1401a6950
jmp 0x1401b6927
movzx edx, byte [rdi + 0x40]
imul rdx, rdx, 0x68
cmp qword [rdx + rdi + 0x328], 0
lea r8, [rdi + 0x30]
lea rdx, [rdx + rdi + 0x308]
cmovne rdx, r8
jmp 0x1401b6a99
cmp byte [rcx + 0xc5], 0
jne 0x1401b6521
cmp byte [rbx + 0x124], 0
jne 0x1401b6521
mov rdx, qword [rbx + 0x160]
mov rcx, qword [rcx + 0x1f8]
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x20], 0
mov edx, 0x15
xor r8d, r8d
xor r9d, r9d
call qword [case.0x1403053b8.0]
cmp eax, 1
je 0x1401b8ef9
test eax, 0xfffffffd
je 0x1401b8f1a
mov esi, 1
lea rdx, str.authorizer_malfunction
jmp 0x1401b8f05
mov esi, 0x17
lea rdx, str.not_authorized
mov rdi, qword [rsp + 0x48]
mov rcx, rdi
call fcn.140198de0
mov dword [rdi + 0x18], esi
jmp 0x1401b8231
mov ebp, 1
test eax, eax
mov r15, qword [rsp + 0x60]
mov r12, qword [rsp + 0x70]
mov rbx, qword [rsp + 0x48]
je 0x1401b6521
jmp 0x1401b6b8f
bt r10d, 0xd
jb 0x1401b9073
jmp 0x1401b91a0
mov r9, qword [r12]
mov dword [rsp + 0x20], eax
lea rdx, str.expected__d_columns_for__s_but_got__d
mov rcx, qword [rsp + 0x48]
call fcn.140198de0
jmp 0x1401b8231
mov qword [rsp + 0x90], r9
movsx r8d, word [r12 + 0x36]
mov rax, qword [rsi + 0x20]
mov eax, dword [rax]
cmp eax, r8d
jne 0x1401b8f4b
test byte [rdi + 0x41], 1
je 0x1401b8f96
mov rax, qword [rdi + 0x60]
cmp byte [rax + 0x12], 0
je 0x1401b90a3
mov eax, dword [rsi + 4]
test al, 8
jne 0x1401b90a3
mov r8, qword [rsi + 0x48]
test r8, r8
mov rbx, qword [rsp + 0x48]
je 0x1401b900d
mov rcx, qword [rsp + 0x80]
cmp qword [rcx], 0
je 0x1401b8ffa
bt eax, 0x1b
jb 0x1401b9000
cmp qword [rsi + 0x60], 0
jne 0x1401b9000
test byte [r13 + 7], 8
jne 0x1401b9000
mov rax, qword [rsp + 0x60]
test byte [rax + 0x62], 4
jne 0x1401b9000
lea rdx, [0x14040a1c0]
mov rbx, qword [rsp + 0x48]
mov rcx, rbx
call fcn.140406570
mov qword [rsi + 0x48], 0
jmp 0x1401b900d
cmp dword [r14], 2
jge 0x1401b8fbd
test ebp, ebp
mov rbx, qword [rsp + 0x48]
je 0x1401b90b9
mov rax, qword [rbx]
mov rdi, qword [rbx + 0x160]
movaps xmmword [rsp + 0x1d0], xmm6
movaps xmmword [rsp + 0x1c0], xmm6
movaps xmmword [rsp + 0x1b0], xmm6
mov qword [rsp + 0x68], rax
test byte [rax + 0x60], 1
jne 0x1401b9073
mov rdx, qword [r13 + 0x28]
mov rax, qword [rsp + 0x90]
mov ecx, dword [rdx + rax + 0x4c]
mov dword [rsp + 0x98], ecx
mov qword [rsp + 0x78], rdx
mov rsi, qword [rdx + rax + 0x30]
mov rdx, qword [rsi + 0x28]
mov r9, qword [rsi + 0x60]
test r9, r9
je 0x1401b9109
cmp qword [r13 + 0x60], 0
je 0x1401b90ee
mov rax, qword [rsp + 0x60]
cmp byte [rax + 0x67], 0
jne 0x1401b8231
mov r14, qword [r13 + 0x28]
mov rax, qword [rsp + 0x70]
cmp byte [rax], 9
jb 0x1401b90a3
mov rax, qword [rsp + 0x80]
mov rax, qword [rax]
mov qword [rsp + 0x170], rax
mov eax, ebp
mov r15, qword [rsp + 0x60]
mov r11d, dword [rsp + 0x50]
mov rbx, qword [rsp + 0x48]
jmp 0x1401b660b
test byte [r13 + 6], 4
je 0x1401b900d
xor eax, eax
cmp dword [r14], 1
je 0x1401b90a5
test byte [r14 + 0xac], 0x22
mov r15, qword [rsp + 0x60]
mov r11d, dword [rsp + 0x50]
mov rbx, qword [rsp + 0x48]
jne 0x1401b660b
jmp 0x1401b900d
cmp qword [r9 + 0x18], 0
jne 0x1401b9073
mov eax, dword [r13 + 4]
bt eax, 8
jb 0x1401b9073
jmp 0x1401b910d
mov eax, dword [r13 + 4]
mov r8d, dword [rdx]
test r8d, r8d
je 0x1401b9073
mov r10d, dword [rsi + 4]
test r10b, 1
jne 0x1401b9073
test r9, r9
je 0x1401b9145
test byte [rsp + 0x50], 1
jne 0x1401b9073
mov rcx, qword [rsp + 0x78]
cmp dword [rcx], 1
jg 0x1401b9073
mov rcx, qword [rsp + 0x80]
mov rcx, qword [rcx]
test rcx, rcx
je 0x1401b9160
cmp qword [rsi + 0x48], 0
jne 0x1401b9073
test byte [rsp + 0x50], 1
je 0x1401b9172
cmp qword [rsi + 0x48], 0
jne 0x1401b9073
test r9, r9
je 0x1401b8f3b
cmp qword [r13 + 0x30], 0
jne 0x1401b9073
mov r9d, eax
and r9d, 1
and r10d, 0x2000
or r10d, r9d
test r10d, r10d
jne 0x1401b9073
mov r9, qword [rsp + 0x90]
mov r10, qword [rsp + 0x78]
add r9, r10
add r9, 8
mov qword [rsp + 0xa0], r9
movzx r9d, byte [r9 + 0x3c]
mov r10d, r9d
and r10d, 0x60
mov dword [rsp + 0xc0], r10d
je 0x1401b920c
cmp r8d, 1
jg 0x1401b9073
mov r8, qword [rdx + 0x28]
cmp byte [r8 + 0x3f], 1
je 0x1401b9073
mov r8d, eax
and r8d, 1
and r9d, 0x10
or r9d, r8d
jne 0x1401b9073
mov dword [rsp + 0xd0], 1
jmp 0x1401b9217
mov dword [rsp + 0xd0], 0
test ebp, ebp
jle 0x1401b9225
test byte [rdx + 0x44], 0x40
jne 0x1401b9073
cmp qword [rsi + 0x50], 0
je 0x1401b92aa
test byte [rsp + 0x50], 1
jne 0x1401b9073
cmp qword [rsi + 0x48], 0
jne 0x1401b9073
mov edx, eax
and edx, 1
or edx, dword [rsp + 0xc0]
jne 0x1401b9073
test rsi, rsi
je 0x1401bac7a
mov r8, rsi
jmp 0x1401b926e
mov r8, rdx
test rdx, rdx
je 0x1401bac7a
test byte [r8 + 4], 9
jne 0x1401b9073
mov rdx, qword [r8 + 0x50]
test rdx, rdx
je 0x1401b928c
cmp byte [r8], 0x7d
jne 0x1401b9073
mov r8, qword [r8 + 0x28]
cmp dword [r8], 0
jle 0x1401b9073
test ebp, ebp
jle 0x1401b9262
test byte [r8 + 0x44], 0x40
je 0x1401b9262
jmp 0x1401b9073
mov qword [rsp + 0xa8], 0
mov r15, qword [rsp + 0xa0]
mov rax, qword [r15 + 0x10]
mov r14, qword [rsp + 0x48]
mov qword [r14 + 0x160], rax
mov qword [rsp + 0x20], 0
mov rcx, r14
mov edx, 0x15
xor r8d, r8d
xor r9d, r9d
call fcn.140406850
mov qword [r14 + 0x160], rdi
mov rdx, qword [r15 + 8]
mov rax, qword [r15 + 0x28]
mov qword [rsp + 0xe0], rax
test rdx, rdx
je 0x1401b9310
mov rcx, qword [rsp + 0x68]
call fcn.14026a0e0
mov rax, qword [rsp + 0xa0]
mov rdx, qword [rax + 0x10]
test rdx, rdx
je 0x1401b932b
mov rcx, qword [rsp + 0x68]
call fcn.14026a0e0
mov rax, qword [rsp + 0xa0]
mov rdx, qword [rax + 0x18]
test rdx, rdx
je 0x1401b9346
mov rcx, qword [rsp + 0x68]
call fcn.14026a0e0
mov rdx, qword [rsp + 0xa0]
lea rax, [rdx + 8]
xor ecx, ecx
mov qword [rdx + 0x28], rcx
mov qword [rax + 0x10], rcx
xorps xmm7, xmm7
movups xmmword [rax], xmm7
mov rdi, qword [rsi + 0x50]
test rdi, rdi
je 0x1401b9459
mov rax, qword [r13 + 0x50]
mov qword [rsp + 0xb8], rax
jmp 0x1401b93fc
mov rcx, qword [rsp + 0x48]
mov rdx, rsi
mov r8d, ebp
mov r9, qword [rsp + 0xa8]
call fcn.14040c590
jmp 0x1401b93c6
mov rsi, rax
mov rcx, qword [rsp + 0x48]
mov eax, dword [rcx + 0x94]
inc eax
mov dword [rcx + 0x94], eax
mov dword [rsi + 0x10], eax
cmp qword [rsp + 0xa8], 0
je 0x1401b93c6
mov rax, qword [rsp + 0x68]
cmp byte [rax + 0x67], 0
je 0x1401b937d
mov rax, qword [rsp + 0xb8]
mov qword [rsi + 0x50], rax
test rax, rax
je 0x1401b93e3
mov rax, qword [rsp + 0xb8]
mov qword [rax + 0x58], rsi
mov qword [rsi + 0x58], r13
mov qword [rsp + 0xb8], rsi
mov qword [r13 + 0x50], rsi
mov rdi, qword [rdi + 0x50]
test rdi, rdi
je 0x1401b9459
mov rbx, qword [r13 + 0x48]
mov r14, qword [r13 + 0x60]
mov r15, qword [rsp + 0xa0]
mov r12, qword [r15 + 0x20]
xor eax, eax
mov qword [r15 + 0x20], rax
mov qword [r13 + 0x60], rax
mov rax, qword [rsp + 0x80]
movups xmmword [rax], xmm7
mov rcx, qword [rsp + 0x68]
mov rdx, r13
xor r8d, r8d
call fcn.1401c89d0
mov qword [r13 + 0x60], r14
mov qword [r13 + 0x48], rbx
mov byte [r13], 0x7d
mov qword [r15 + 0x20], r12
test rax, rax
jne 0x1401b9397
mov rsi, qword [rsp + 0xb8]
jmp 0x1401b93ef
cmp qword [rsp + 0xa8], 0
je 0x1401b9476
mov rcx, qword [rsp + 0x68]
mov rdx, qword [rsp + 0xa8]
call fcn.14026a0e0
mov rax, qword [rsp + 0x68]
cmp byte [rax + 0x67], 0
je 0x1401b9520
mov rax, qword [rsp + 0xa0]
mov rcx, qword [rsp + 0xe0]
mov qword [rax + 0x28], rcx
mov ebp, 0xffffffff
mov rax, qword [rsp + 0x48]
cmp dword [rax + 0x30], 0
je 0x1401b9073
jmp 0x1401b8231
xorps xmm0, xmm0
lea rax, [rsp + 0x1c8]
movups xmmword [rax], xmm0
mov qword [rax + 0x10], 0
lea rcx, [rsp + 0x1b0]
mov rax, qword [rsp + 0x48]
mov qword [rcx], rax
lea rax, [0x14040cc00]
mov qword [rcx + 8], rax
lea rax, [fcn.1402d2ac0]
mov qword [rcx + 0x10], rax
mov rsi, qword [rsp + 0xe0]
mov rdx, rsi
call fcn.1402886f0
test rsi, rsi
je 0x1401b9499
mov rcx, qword [rsp + 0x68]
mov rdx, qword [rsp + 0xe0]
mov r8d, 1
call fcn.1401ac940
jmp 0x1401b9499
mov rax, qword [rsp + 0xa0]
mov r8, qword [rax + 0x20]
test r8, r8
je 0x1401b9571
mov eax, dword [r8 + 0x2c]
cmp eax, 1
je 0x1401b9542
dec eax
mov dword [r8 + 0x2c], eax
jmp 0x1401b9561
mov rax, qword [rsp + 0x48]
mov rcx, qword [rax + 0xa0]
test rcx, rcx
cmove rcx, rax
lea rdx, [0x14040c620]
call fcn.140406570
mov rax, qword [rsp + 0xa0]
mov qword [rax + 0x20], 0
inc ebp
mov esi, 0xffffffff
xorps xmm7, xmm7
mov qword [rsp + 0x88], r13
mov rax, qword [rsp + 0xe0]
mov qword [rsp + 0xb0], rax
jmp 0x1401b98bb
movabs rax, 0xaaaaaaaaaaaaaaaa
lea rcx, [rsp + 0x140]
mov qword [rcx + 0x10], rax
movups xmmword [rcx], xmm6
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0x130], rax
mov eax, dword [rsp + 0x98]
mov dword [rsp + 0x138], eax
mov dword [rsp + 0x13c], esi
mov eax, dword [rsp + 0xd0]
mov dword [rsp + 0x140], eax
mov rcx, qword [rsp + 0xb0]
mov rax, qword [rcx + 0x20]
mov qword [rsp + 0x148], rax
mov rax, rcx
mov rcx, qword [rcx + 0x50]
test rcx, rcx
jne 0x1401b95f5
mov rax, qword [rax + 0x20]
mov qword [rsp + 0x150], rax
lea rcx, [rsp + 0x130]
mov rdx, qword [rsp + 0x88]
xor r8d, r8d
call fcn.14040c640
jmp 0x1401b9799
mov rdx, qword [rbx + r14]
mov rcx, qword [rsp + 0x68]
call fcn.1403fbff0
lea rax, [rbx + r14]
lea rdi, [rbx + r14]
add rdi, 0xffffffffffffffb8
lea rsi, [r12 + r14]
mov ecx, ntohl
rep movsq qword [rdi], qword [rsi]
mov cl, byte [rsp + 0xb8]
or byte [rax - 0xc], cl
mov esi, dword [r12 + r14 + 0x44]
movups xmmword [r12 + r14], xmm7
movups xmmword [r12 + r14 + 0x10], xmm7
movups xmmword [r12 + r14 + 0x20], xmm7
movups xmmword [r12 + r14 + 0x30], xmm7
movups xmmword [r12 + r14 + 0x50], xmm7
movups xmmword [r12 + r14 + 0x40], xmm7
mov qword [r12 + r14 + 0x60], 0
add r14, 0x68
dec r15
je 0x1401b969e
test byte [rbx + r14 - 7], 4
je 0x1401b9638
jmp 0x1401b962a
mov r14b, 1
mov rcx, qword [rsp + 0x90]
mov rdx, qword [rsp + 0x78]
mov al, byte [rdx + rcx + 0x44]
and al, 0x40
mov r8d, dword [rsp + 0xe8]
or r8b, byte [rsp + 0xb8]
or r8b, al
mov byte [rdx + rcx + 0x44], r8b
mov rax, qword [rsp + 0xb0]
mov rax, qword [rax + 0x48]
test rax, rax
je 0x1401b9725
mov rcx, qword [rsp + 0x88]
test byte [rcx + 6], 0x40
jne 0x1401b9725
movsxd rcx, dword [rax]
test rcx, rcx
jle 0x1401b9709
shl rcx, 5
xor edx, edx
mov word [rax + rdx + 0x20], 0
add rdx, 0x20
cmp rcx, rdx
jne 0x1401b96f9
mov rcx, qword [rsp + 0x88]
mov qword [rcx + 0x48], rax
mov rax, qword [rsp + 0xb0]
mov qword [rax + 0x48], 0
mov rax, qword [rsp + 0xb0]
mov rdi, qword [rax + 0x30]
mov qword [rax + 0x30], 0
cmp dword [rsp + 0xc0], 0
je 0x1401b9753
mov rcx, rdi
mov edx, esi
mov r8d, 1
call fcn.1401cb2c0
test rdi, rdi
je 0x1401b978a
mov rax, qword [rsp + 0x88]
mov r9, qword [rax + 0x30]
test r9, r9
je 0x1401b977e
mov rcx, qword [rsp + 0x48]
mov edx, 0x2a
mov r8, rdi
call fcn.1401b25c0
mov rdi, rax
mov rax, qword [rsp + 0x88]
mov qword [rax + 0x30], rdi
mov rax, qword [rsp + 0x68]
cmp byte [rax + 0x67], 0
je 0x1401b9598
mov rdx, qword [rsp + 0xb0]
mov eax, dword [rdx + 4]
mov ecx, 0x100
and eax, ecx
mov rcx, qword [rsp + 0x88]
or dword [rcx + 4], eax
mov rax, qword [rdx + 0x60]
test rax, rax
je 0x1401b97db
mov rcx, qword [rsp + 0x88]
mov qword [rcx + 0x60], rax
mov rax, qword [rsp + 0xb0]
mov qword [rax + 0x60], 0
test r14b, r14b
je 0x1401b988a
mov rax, qword [rsp + 0x90]
mov rcx, qword [rsp + 0x78]
lea rdi, [rcx + rax]
add rdi, 0x58
jmp 0x1401b9865
lea rax, [rdi - 0x50]
movaps xmmword [rsp + 0x130], xmm7
movaps xmmword [rsp + 0x140], xmm7
xor edx, edx
mov qword [rsp + 0x150], rdx
lea rcx, [0x14040cbc0]
mov qword [rsp + 0x138], rcx
lea rcx, [fcn.1402d2ac0]
mov qword [rsp + 0x140], rcx
mov qword [rsp + 0x158], rax
mov qword [rdi], rdx
lea rcx, [rsp + 0x130]
mov rdx, qword [rsp + 0x88]
call fcn.1402886f0
add rdi, 0x68
dec qword [rsp + 0xa8]
je 0x1401b988a
movaps xmmword [rsp + 0x150], xmm6
movaps xmmword [rsp + 0x140], xmm6
movaps xmmword [rsp + 0x130], xmm6
cmp qword [rdi - 0x30], 0
jne 0x1401b97fb
jmp 0x1401b9857
mov rax, qword [rsp + 0x88]
mov rax, qword [rax + 0x50]
mov rcx, qword [rsp + 0xb0]
mov rcx, qword [rcx + 0x50]
mov qword [rsp + 0xb0], rcx
mov qword [rsp + 0x88], rax
test rax, rax
je 0x1401b94b2
mov rax, qword [rsp + 0x90]
mov rcx, qword [rsp + 0x78]
mov al, byte [rcx + rax + 0x44]
mov byte [rsp + 0xb8], al
mov rax, qword [rsp + 0xb0]
mov r12, qword [rax + 0x28]
mov eax, dword [r12]
mov qword [rsp + 0xa8], rax
mov rcx, qword [rsp + 0x88]
mov rax, qword [rcx + 0x28]
mov qword [rsp + 0x78], rax
cmp rcx, r13
je 0x1401b9930
mov dword [rsp + 0xe8], 0
and byte [rsp + 0xb8], 0x40
cmp dword [rsp + 0xa8], 2
jge 0x1401b9944
cmp dword [rsp + 0xa8], 1
je 0x1401b9981
xor r14d, r14d
jmp 0x1401b96a1
mov rax, qword [rsp + 0xa0]
mov al, byte [rax + 0x3c]
mov dword [rsp + 0xe8], eax
jmp 0x1401b990c
mov rax, qword [rsp + 0xa8]
lea r8d, [rax - 1]
mov rcx, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x78]
mov r9d, ebp
call fcn.1401ce170
mov qword [rsp + 0x78], rax
test rax, rax
je 0x1401b94b2
mov rax, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x88]
mov qword [rcx + 0x28], rax
add r12, 8
mov rax, qword [rsp + 0x90]
mov rcx, qword [rsp + 0x78]
lea rbx, [rcx + rax]
add rbx, 0x50
xor r14d, r14d
mov r15, qword [rsp + 0xa8]
jmp 0x1401b9694
cmp dword [r10 + 0x24], 0
je 0x1401b775d
jmp 0x1401b99e1
mov qword [rsp + 0x68], 0
mov ebp, 1
mov r15, qword [rsp + 0x60]
mov r14, qword [rsp + 0x68]
jmp 0x1401b6b86
test eax, eax
jle 0x1401b9a0f
mov rcx, qword [rsp + 0x50]
mov rcx, qword [rcx + 0x28]
mov r8d, eax
add rcx, 8
xor edx, edx
jmp 0x1401b99f8
inc rdx
add rcx, 0x20
cmp r8, rdx
je 0x1401b9a33
mov r9, qword [rcx - 8]
test byte [r9 + 7], 1
jne 0x1401b99ec
mov r9, qword [rcx]
test byte [r9 + 4], 0x20
je 0x1401b99ec
jmp 0x1401b9a11
xor edx, edx
cmp edx, eax
je 0x1401b9a33
mov qword [rsp + 0x78], 0
xor r15d, r15d
xor r12d, r12d
mov r10, qword [rsp + 0x50]
mov rbx, qword [rsp + 0x48]
jmp 0x1401b777b
mov rbx, qword [rsp + 0x48]
mov r9d, dword [rbx + 0x38]
inc r9d
mov dword [rbx + 0x38], r9d
mov dword [rsp + 0x20], 0
xor r15d, r15d
mov rcx, qword [rsp + 0x58]
mov edx, 0x47
xor r8d, r8d
mov qword [rsp + 0x78], r9
call fcn.1404006f0
mov r10, qword [rsp + 0x50]
mov eax, dword [r10 + 0x30]
jmp 0x1401b7778
test byte [r15 + 0x61], 0x20
jne 0x1401b6600
mov qword [rsp + 0x68], r14
mov al, byte [rdi + 0x3c]
test al, 8
je 0x1401b9a97
test al, 0x10
je 0x1401baafa
and al, 0xf7
mov byte [rdi + 0x3c], al
test al, 0x40
mov r15, qword [rsp + 0x60]
mov r11d, dword [rsp + 0x50]
mov r14, qword [rsp + 0x68]
mov rbx, qword [rsp + 0x48]
mov r9, qword [rsp + 0x90]
je 0x1401b6600
lea ecx, [rbp + 1]
mov eax, dword [r14]
cmp ecx, eax
jge 0x1401b9b20
movsxd rbx, ecx
imul rcx, rbx, 0x68
mov rdx, qword [rsp + 0x68]
lea r15, [rdx + rcx]
add r15, 0x44
jmp 0x1401b9af0
and cl, 0xef
mov byte [r15], cl
inc rbx
movsxd rcx, eax
add r15, 0x68
cmp rbx, rcx
jge 0x1401b9b20
movzx ecx, byte [r15]
test cl, 0x10
je 0x1401b9ae1
test cl, 8
jne 0x1401b9adb
and cl, 0xc7
mov byte [r15], cl
mov edx, dword [r15 + 8]
mov rcx, qword [r13 + 0x30]
mov r8d, 1
call fcn.14040a290
mov rax, qword [rsp + 0x68]
mov eax, dword [rax]
jmp 0x1401b9ae1
mov ecx, eax
imul rcx, rcx, 0x68
mov r14, qword [rsp + 0x68]
add rcx, r14
add rcx, 0xffffffffffffffdc
inc eax
mov r15, qword [rsp + 0x60]
mov r11d, dword [rsp + 0x50]
mov rbx, qword [rsp + 0x48]
mov r9, qword [rsp + 0x90]
dec eax
test eax, eax
jle 0x1401b6600
mov dl, byte [rcx]
mov r8d, edx
and r8b, 0xbf
mov byte [rcx], r8b
add rcx, 0xffffffffffffff98
test dl, 0x10
je 0x1401b9b4b
jmp 0x1401b6600
cmp dword [rbp - 0x30], 0
jne 0x1401b67ed
mov qword [rsp + 0x68], r14
lea r12, [rsp + 0x1b0]
mov dword [r12], 0
mov rcx, r13
mov rdx, r12
call fcn.1401ce850
mov eax, dword [r12]
mov rcx, qword [rsp + 0x48]
add dword [rcx + 0x12c], eax
mov eax, dword [r15 + 0x60]
bt eax, 0xc
jb 0x1401b9be9
test byte [rbp - 0x1f], 1
je 0x1401b9bc7
mov rcx, qword [rbp]
cmp byte [rcx + 0x12], 0
je 0x1401b9be9
cmp dword [rcx], 1
jg 0x1401b9be9
mov r8, qword [r13 + 0x30]
mov dword [rsp + 0x20], esi
mov rcx, qword [rsp + 0x48]
mov rdx, rdi
mov r9, qword [rsp + 0x68]
call fcn.14040be40
mov rax, qword [rsp + 0x60]
mov eax, dword [rax + 0x60]
lea r12, [rbp - 0x60]
bt eax, 0x1a
jb 0x1401b9bfb
mov rcx, r12
call fcn.14040c0a0
mov rcx, qword [rsp + 0x48]
mov rax, qword [rcx + 0x160]
mov qword [rsp + 0x80], rax
mov rax, qword [rbp - 0x50]
mov qword [rcx + 0x160], rax
mov r9d, dword [r13 + 4]
mov rdx, qword [rsp + 0x68]
mov r8d, esi
call fcn.14040c1b0
test eax, eax
je 0x1401b9da0
mov r15, qword [rsp + 0x58]
movsxd rax, dword [r15 + 0x90]
mov qword [rsp + 0x90], rax
lea r12d, [rax + 1]
mov rbx, qword [rsp + 0x48]
mov r8d, dword [rbx + 0x38]
inc r8d
mov dword [rbx + 0x38], r8d
mov dword [rbp - 0x2c], r8d
mov dword [rsp + 0x20], r12d
mov rcx, r15
mov edx, ntohl
xor r9d, r9d
call fcn.1404006f0
mov dword [rbp - 0x30], r12d
mov eax, dword [rbp - 0x2c]
lea r12, [rsp + 0x130]
mov byte [r12], ntohl
mov dword [r12 + 4], eax
xor eax, eax
mov dword [r12 + 8], eax
mov qword [r12 + 0x18], rax
mov qword [r12 + 0xc], rax
xor r14d, r14d
mov rcx, rbx
mov rdx, rdi
mov r8, r12
call fcn.1401b6460
movzx eax, word [rdi + 2]
mov rcx, qword [rbp - 0x40]
mov word [rcx + 0x3a], ax
or byte [rbp - 0x20], 0x20
mov eax, dword [r12 + 0xc]
mov dword [rbp - 0x28], eax
mov r8d, dword [rbp - 0x2c]
mov dword [rsp + 0x20], r14d
mov rcx, r15
mov edx, 0x44
xor r9d, r9d
call fcn.1404006f0
mov rax, qword [r15 + 0x18]
mov byte [rax + 0x1f], 0
mov rax, qword [r15 + 0x18]
mov dword [rax + 0x28], r14d
mov rax, qword [r15]
cmp byte [rax + 0x67], 0
je 0x1401b9d7f
lea rax, [0x140521a10]
mov rcx, qword [rsp + 0x58]
mov ecx, dword [rcx + 0x90]
mov dword [rax + 8], ecx
mov rax, qword [rsp + 0x48]
mov byte [rax + 0x1f], 0
mov dword [rax + 0x28], 0
mov rax, qword [rsp + 0x60]
cmp byte [rax + 0x67], 0
jne 0x1401b8231
lea rdi, [rsp + 0x1b0]
mov dword [rdi], 0
mov rcx, r13
mov rdx, rdi
call fcn.1401ce850
mov eax, dword [rdi]
mov rcx, qword [rsp + 0x48]
sub dword [rcx + 0x12c], eax
mov rax, qword [rsp + 0x80]
mov qword [rcx + 0x160], rax
mov r15, qword [rsp + 0x60]
mov r12, qword [rsp + 0x70]
mov r11d, dword [rsp + 0x50]
mov r14, qword [rsp + 0x68]
jmp 0x1401b67ed
mov rax, qword [rsp + 0x90]
lea rax, [rax + rax*2]
shl rax, 3
mov rcx, qword [rsp + 0x58]
add rax, qword [rcx + 0x88]
jmp 0x1401b9d04
test byte [rbp - 0x1f], 1
je 0x1401b9e00
mov r15, qword [rbp]
mov r9d, dword [r15 + 4]
test r9d, r9d
jle 0x1401b9e00
mov r8d, dword [r15 + 8]
mov dword [rsp + 0x20], 0
mov rcx, qword [rsp + 0x58]
mov edx, 0xa
call fcn.1404006f0
mov r8d, dword [rbp - 0x1c]
mov r9d, dword [r15 + 0xc]
cmp r8d, r9d
je 0x1401b9df2
mov dword [rsp + 0x20], 0
mov rcx, qword [rsp + 0x58]
mov edx, 0x74
call fcn.1404006f0
movzx eax, word [r15 + 0x10]
mov word [rdi + 2], ax
jmp 0x1401b9d22
xor r15d, r15d
mov rcx, qword [rsp + 0x68]
mov rdx, r12
xor r8d, r8d
mov r9d, esi
call fcn.14040c290
test rax, rax
je 0x1401ba62c
mov r12, rax
mov r9d, dword [rax + 0x30]
test r9d, r9d
je 0x1401b9e47
mov r8d, dword [r12 + 0x34]
mov dword [rsp + 0x20], 0
mov rcx, qword [rsp + 0x58]
mov edx, 0xa
call fcn.1404006f0
mov r9d, dword [r12 + 0x44]
mov r8d, dword [rbp - 0x1c]
mov dword [rsp + 0x20], 0
mov rcx, qword [rsp + 0x58]
mov edx, 0x74
call fcn.1404006f0
mov rax, qword [r12 + 0x28]
movzx eax, word [rax + 2]
jmp 0x1401b9df7
mov ecx, 0x38
call fcn.14025dca0
jmp 0x1401b7289
mov ecx, 0x18
call fcn.14025dca0
jmp 0x1401b72df
mov ecx, 0x12c
call qword [case.0x1403053b8.0]
mov r10, qword [rsp + 0x50]
test eax, eax
je 0x1401b72bf
mov rcx, qword [rbx]
call fcn.1403f2a80
mov r10, qword [rsp + 0x50]
mov rcx, qword [rbx]
mov rdx, r10
call fcn.1401cd240
mov r10, qword [rsp + 0x50]
jmp 0x1401b730d
mov r12, r11
mov ebp, r10d
cmp dword [rsp + 0x88], 0
je 0x1401b9f18
mov rax, qword [rsp + 0x48]
movzx eax, byte [rax + 0x1f]
cmp rax, 7
ja 0x1401b9f18
lea ecx, [rax + 1]
mov rdx, qword [rsp + 0x48]
mov byte [rdx + 0x1f], cl
mov rcx, qword [rsp + 0x88]
mov dword [rdx + rax*4 + 0xd8], ecx
mov rbx, qword [rsp + 0x48]
movzx eax, byte [rbx + 0x1f]
cmp rax, 7
mov r15, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x58]
mov r14, qword [rsp + 0x68]
mov r10d, ebp
mov r11, r12
mov r8d, dword [rsp + 0x98]
ja 0x1401b6f64
lea ecx, [rax + 1]
mov byte [rbx + 0x1f], cl
mov dword [rbx + rax*4 + 0xd8], r8d
jmp 0x1401b6f64
mov rax, qword [rsp + 0x50]
mov rax, qword [rax + 0x28]
test rax, rax
je 0x1401b780e
mov r8d, dword [rax + 0x10]
mov r9d, dword [rax + 0x14]
mov rcx, rbx
mov edx, ebp
call fcn.1401cdfe0
jmp 0x1401b780e
mov dword [rsp + 0x20], 0
mov rcx, qword [rsp + 0x58]
mov edx, 0x47
mov r8d, 1
mov r9d, r14d
call fcn.1404006f0
jmp 0x1401b7817
movsxd rcx, ebp
lea rcx, [rcx + rcx*2]
shl rcx, 3
add rcx, qword [r8 + 0x88]
jmp 0x1401b9fd7
mov eax, dword [r11 + 0x90]
mov r8, r11
mov rcx, qword [r11]
cmp byte [rcx + 0x67], 0
je 0x1401b9fa9
lea rcx, [0x140521a10]
mov dword [rcx + 8], eax
mov rdx, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x48]
mov r11, r8
mov r9d, dword [rsp + 0x90]
jmp 0x1401b6d60
mov rax, qword [r12 + 0x10]
xor edx, edx
test rax, rax
je 0x1401ba026
mov r15, qword [rsp + 0x60]
mov rbx, qword [rsp + 0x48]
mov ecx, dword [rax + 0x64]
and ecx, 3
cmp ecx, 2
je 0x1401ba023
mov rax, qword [rax + 0x28]
test rax, rax
jne 0x1401ba00a
jmp 0x1401b7a0c
mov rdx, rax
mov r15, qword [rsp + 0x60]
mov rbx, qword [rsp + 0x48]
jmp 0x1401b7a0c
cmp qword [rsp + 0x78], 0
je 0x1401ba092
xorps xmm0, xmm0
movups xmmword [rsp + 0x1c0], xmm0
mov qword [rsp + 0x1d0], 0
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0x1b0], rax
lea rax, [0x14040ffc0]
mov qword [rsp + 0x1b8], rax
mov qword [rsp + 0x1d8], r13
mov rdx, qword [r13 + 0x40]
test rdx, rdx
je 0x1401ba08e
lea rcx, [rsp + 0x1b0]
call fcn.1402884b0
mov rbp, qword [r13 + 0x30]
lea rcx, [rsp + 0x1b0]
movabs rax, 0xaaaaaaaa00000000
mov qword [rcx + 0x20], rax
lea rax, [0x1401d63c0]
mov qword [rcx + 8], rax
lea rax, [0x1404101f0]
mov qword [rcx + 0x10], rax
lea rax, [0x140410200]
mov qword [rcx + 0x18], rax
lea rax, [rsp + 0x130]
mov qword [rcx + 0x28], rax
mov qword [rcx], 0
mov rdx, qword [rsp + 0x90]
call fcn.1402884b0
mov r15, qword [rsp + 0x60]
mov r10, qword [rsp + 0x50]
mov rbx, qword [rsp + 0x48]
jmp 0x1401b74c8
mov rdx, qword [rax + 0x20]
lea rcx, [rsp + 0x130]
mov rdi, r8
mov r12, r11
call fcn.14040c360
mov r11, r12
lea r9, [0x1404101f0]
mov r8, rdi
mov r10, qword [rsp + 0x50]
jmp 0x1401b76ad
mov rcx, qword [rcx]
mov r15, qword [rcx + 0x20]
xor edx, edx
test r15, r15
mov r12d, 0x500
mov ecx, 0
mov qword [rsp + 0x78], rcx
cmove r12d, edx
jmp 0x1401b777b
mov qword [rsp + 0x68], 0
jmp 0x1401b7595
mov rdx, r11
mov edi, r10d
mov r12, r11
call fcn.1401c9160
mov r11, r12
mov r10d, edi
mov rdx, qword [rsp + 0x58]
mov eax, dword [r12 + 0x90]
jmp 0x1401b6f8e
mov dword [rsp + 0x20], 0
mov rcx, r11
mov edx, 0x43
xor r9d, r9d
mov edi, r10d
mov r12, r11
call fcn.1404006f0
mov r11, r12
mov r10d, edi
mov rdx, qword [rsp + 0x58]
jmp 0x1401b7008
lea rdx, [0x14040a1c0]
mov rcx, rbx
call fcn.140406570
mov qword [r13 + 0x48], 0
jmp 0x1401b7e07
mov r8d, dword [rsp + 0x180]
xor edi, edi
mov dword [rsp + 0x20], edi
mov rcx, r11
mov edx, 0xa
mov ebx, r10d
mov r14, r11
call fcn.1404006f0
mov dword [rsp + 0x20], edi
mov rcx, r14
mov edx, 9
xor r8d, r8d
mov edi, ebx
mov r9d, ebx
call fcn.1404006f0
mov r8d, dword [rsp + 0x184]
mov r11, r14
mov rcx, qword [r14 + 0x18]
not r8d
mov eax, dword [rcx + 0x44]
add eax, dword [rcx + 0x48]
js 0x1401ba24d
mov eax, dword [r11 + 0x90]
mov rcx, qword [rcx + 0x50]
movsxd rdx, r8d
mov dword [rcx + rdx*4], eax
mov rdx, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x48]
mov r10d, edi
mov r8, qword [rsp + 0xa8]
jmp 0x1401b6c94
mov rbx, r11
mov rdx, r11
call fcn.1401c9160
mov r11, rbx
jmp 0x1401ba233
mov edx, 0xfffffff8
mov r8, r14
call fcn.1401a6950
jmp 0x1401b7fe9
mov r9d, dword [r8]
mov dword [rsp + 0x20], 0
mov edx, 9
xor r8d, r8d
call fcn.1404006f0
jmp 0x1401b782d
mov dword [rsp + 0x20], 0
mov rcx, r11
mov edx, 0xf
xor r8d, r8d
xor r9d, r9d
mov ebp, r10d
mov r14, r11
call fcn.1404006f0
mov r11, r14
mov r9d, dword [rsp + 0x90]
mov r10d, ebp
mov rdx, qword [rsp + 0x58]
mov ebp, eax
jmp 0x1401b6cfc
mov cl, byte [rax + 2]
jmp 0x1401b7175
add rax, 0x10
jmp 0x1401b714f
mov ebp, 0xffff8000
jmp 0x1401b79ba
xor r12d, r12d
jmp 0x1401b7a63
cmp qword [rax + 0x2e8], 0
jne 0x1401b7aef
dec dword [r12]
jne 0x1401b7aef
mov rcx, qword [r12 + 0x10]
mov rdx, r12
call fcn.14026ba30
jmp 0x1401b7ba9
mov rcx, rax
call fcn.1403f4cc0
jmp 0x1401b79fe
cmp cx, word [rdx + 0x5c]
jl 0x1401b7a42
jmp 0x1401b7a45
mov edi, r10d
mov dword [rsp + 0x20], 1
mov r14, r11
mov rcx, r11
mov edx, 0x3b
mov r9d, ebp
call fcn.1404006f0
cmp dword [r13 + 0xc], 0
jg 0x1401ba373
mov eax, dword [rsp + 0x90]
mov qword [rsp + 0x50], rax
mov rdx, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x48]
mov r10d, edi
mov r11, r14
jmp 0x1401ba3ae
mov r8d, dword [r13 + 8]
mov dword [rsp + 0x20], 0
mov rcx, r14
mov edx, 0x56
mov r9d, 0xffffffff
call fcn.1404006f0
mov r11, r14
mov eax, dword [rsp + 0x90]
mov qword [rsp + 0x50], rax
mov rdx, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x48]
mov r10d, edi
mov ecx, 1
jmp 0x1401b6e07
xorps xmm0, xmm0
movaps xmmword [rsp + 0x1b0], xmm0
movaps xmmword [rsp + 0x1d0], xmm0
movaps xmmword [rsp + 0x1c0], xmm0
lea rax, [0x140410210]
mov qword [rsp + 0x1b8], rax
mov eax, dword [r8 + 0x30]
test eax, eax
jle 0x1401ba42b
xor ebp, ebp
lea r15, [rsp + 0x1b0]
xor edi, edi
jmp 0x1401ba417
mov rcx, r15
call fcn.1402884b0
mov rax, qword [rsp + 0x50]
mov eax, dword [rax + 0x30]
inc rdi
movsxd rcx, eax
add rbp, 0x20
cmp rdi, rcx
jge 0x1401ba42b
mov rcx, qword [rsp + 0x50]
mov rcx, qword [rcx + 0x28]
mov rdx, qword [rcx + rbp]
test rdx, rdx
jne 0x1401ba3f8
jmp 0x1401ba408
mov rdi, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x58]
mov r8, qword [rsp + 0x50]
mov r10, qword [rsp + 0x78]
mov rbx, qword [rsp + 0x48]
mov al, byte [rsp + 0xa0]
mov r15, qword [rsp + 0x118]
mov ebp, dword [rsp + 0xdc]
mov r12d, dword [rsp + 0xcc]
jmp 0x1401b8652
mov rax, qword [rsp + 0x48]
mov edi, dword [rax + 0x38]
inc edi
mov dword [rax + 0x38], edi
jmp 0x1401ba49f
mov r14, r11
mov r12d, r10d
mov rax, qword [rsp + 0x70]
mov ebp, dword [rax + 8]
mov al, byte [rbx + 0x1f]
test al, al
je 0x1401ba467
dec al
mov rcx, qword [rsp + 0x48]
mov byte [rcx + 0x1f], al
movzx eax, al
mov edi, dword [rcx + rax*4 + 0xd8]
mov r8d, ebp
shr r8d, 0x1f
mov r9, qword [rsp + 0x80]
sub r9d, r8d
add r8d, dword [rsp + 0x88]
mov dword [rsp + 0x20], edi
mov rcx, r14
mov edx, 0x6d
call fcn.1404006f0
test ebp, ebp
js 0x1401ba51d
mov dword [rsp + 0x28], ebp
mov rax, qword [rsp + 0x88]
mov dword [rsp + 0x20], eax
mov rcx, r14
mov edx, 0x8a
mov r8d, dword [rsp + 0xa0]
mov r9d, edi
call fcn.1403f2c60
mov r11, r14
mov r15, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x58]
mov r14, qword [rsp + 0x68]
mov rbx, qword [rsp + 0x48]
mov r10d, r12d
mov r13d, dword [rsp + 0x98]
jmp case.0x1401b82b7.10
mov rax, qword [rsp + 0x88]
mov dword [rsp + 0x20], eax
mov rcx, r14
mov edx, 0x80
mov r8d, dword [rsp + 0xa0]
mov r9d, edi
call fcn.1404006f0
jmp 0x1401ba4f6
cmp r8d, 0xd
je 0x1401b6cae
mov r14, r11
mov edi, r10d
mov al, byte [rbx + 0x1f]
test al, al
je 0x1401ba5aa
lea ecx, [rax - 1]
mov r8, qword [rsp + 0x48]
mov byte [r8 + 0x1f], cl
movzx edx, cl
mov edx, dword [r8 + rdx*4 + 0xd8]
mov dword [rsp + 0x98], edx
mov rdx, qword [rsp + 0xa8]
and dl, 0xfd
cmp dl, 0xc
jne 0x1401ba5cf
test cl, cl
je 0x1401ba5ee
add al, 0xfe
mov rbx, qword [rsp + 0x48]
mov byte [rbx + 0x1f], al
movzx eax, al
mov eax, dword [rbx + rax*4 + 0xd8]
mov qword [rsp + 0x88], rax
jmp 0x1401ba608
mov rax, qword [rsp + 0x48]
mov ecx, dword [rax + 0x38]
inc ecx
mov dword [rax + 0x38], ecx
mov rax, qword [rsp + 0xa8]
and al, 0xfd
mov rdx, rcx
mov dword [rsp + 0x98], ecx
cmp al, 0xc
je 0x1401ba5f6
mov rbx, qword [rsp + 0x48]
mov rcx, rbx
mov rdx, qword [rsp + 0x80]
call fcn.140405e90
mov qword [rsp + 0x88], rax
jmp 0x1401ba614
mov rax, qword [rsp + 0x48]
mov edx, dword [rax + 0x38]
inc edx
mov rbx, qword [rsp + 0x48]
mov qword [rsp + 0x88], rdx
mov dword [rbx + 0x38], edx
mov qword [rsp + 0x80], 0
mov rdx, qword [rsp + 0x58]
mov r10d, edi
mov r11, r14
mov r9d, dword [rsp + 0x90]
jmp 0x1401b6cc9
mov rcx, qword [rsp + 0x48]
mov eax, dword [rcx + 0x38]
inc eax
mov dword [rcx + 0x38], eax
mov dword [rbp - 0x2c], eax
mov dword [rsp + 0x20], 0
mov rcx, qword [rsp + 0x58]
mov edx, 9
xor r8d, r8d
xor r9d, r9d
call fcn.1404006f0
mov ebx, eax
lea r12d, [rbx + 1]
mov dword [rbp - 0x30], r12d
mov eax, dword [rbp - 0x20]
mov ecx, eax
or ecx, 0x10
mov dword [rbp - 0x20], ecx
test al, 8
jne 0x1401ba692
mov dword [rsp + 0x20], 0
mov rcx, qword [rsp + 0x58]
mov edx, 0xf
xor r8d, r8d
xor r9d, r9d
call fcn.1404006f0
mov r15d, eax
mov eax, dword [rbp - 0x1c]
lea r8, [rsp + 0x130]
mov byte [r8], ntohl
mov dword [r8 + 4], eax
mov dword [r8 + 8], 0
xor eax, eax
mov qword [r8 + 0x18], rax
mov qword [r8 + 0xc], rax
mov rcx, qword [rsp + 0x48]
mov rdx, rdi
call fcn.1401b6460
movzx eax, word [rdi + 2]
mov rcx, qword [rbp - 0x40]
mov word [rcx + 0x3a], ax
test r15d, r15d
je 0x1401ba6fc
mov rax, qword [rsp + 0x58]
mov rax, qword [rax]
cmp byte [rax + 0x67], 0
je 0x1401ba796
lea rax, [0x140521a10]
mov rcx, qword [rsp + 0x58]
mov ecx, dword [rcx + 0x90]
mov dword [rax + 8], ecx
mov r8d, dword [rbp - 0x2c]
mov dword [rsp + 0x20], 0
mov r15, qword [rsp + 0x58]
mov rcx, r15
mov edx, 0x43
mov r9d, r12d
call fcn.1404006f0
mov eax, dword [r15 + 0x90]
mov rcx, qword [r15]
cmp byte [rcx + 0x67], 0
je 0x1401ba77d
lea rcx, [0x140521a10]
mov dword [rcx + 8], eax
mov rax, qword [rsp + 0x48]
mov byte [rax + 0x1f], 0
mov dword [rax + 0x28], 0
mov eax, 0x108
and eax, dword [rbp - 0x20]
cmp eax, 0x100
jne 0x1401b9d22
mov rax, qword [rbp]
mov ecx, dword [rbp - 0x30]
mov dword [rax + 4], ecx
mov ecx, dword [rbp - 0x2c]
mov dword [rax + 8], ecx
mov ecx, dword [rbp - 0x1c]
mov dword [rax + 0xc], ecx
movzx ecx, word [rdi + 2]
mov word [rax + 0x10], cx
jmp 0x1401b9d22
movsxd rcx, ebx
lea rcx, [rcx + rcx*2]
shl rcx, 3
mov rdx, qword [rsp + 0x58]
add rcx, qword [rdx + 0x88]
jmp 0x1401ba734
movsxd rax, r15d
lea rax, [rax + rax*2]
shl rax, 3
mov rcx, qword [rsp + 0x58]
add rax, qword [rcx + 0x88]
jmp 0x1401ba6ee
movsxd rcx, dword [r8 + 0x20]
mov ebx, r12d
test rcx, rcx
jle 0x1401ba7fa
mov rax, qword [rsp + 0x50]
mov rax, qword [rax + 0x18]
shl rcx, 3
lea rcx, [rcx + rcx*2]
xor edx, edx
mov ebx, dword [rsp + 0xcc]
mov r8d, ebx
movsx r9d, word [rax + rdx + 0x16]
xor r10d, r10d
cmp r8d, r9d
setle r10b
add ebx, r10d
add r8d, r10d
add rdx, 0x18
cmp rcx, rdx
jne 0x1401ba7db
mov rdi, qword [rsp + 0x48]
mov rcx, rdi
mov edx, ebx
call fcn.140405e90
mov r12d, eax
mov byte [rsp + 0x20], 0
mov rcx, rdi
mov rdx, qword [rsp + 0x78]
mov r8d, eax
xor r9d, r9d
call fcn.140287c50
mov rax, qword [rsp + 0x50]
mov byte [rax], 1
mov eax, dword [rax + 0x20]
test eax, eax
jle 0x1401ba896
mov r15d, 0x16
xor ebp, ebp
mov r14d, dword [rsp + 0xcc]
jmp 0x1401ba872
lea r8d, [r14 + r12]
mov rdx, qword [rcx + r15 - 0xe]
mov rcx, qword [rsp + 0x48]
call fcn.140405690
inc r14d
mov rax, qword [rsp + 0x50]
mov eax, dword [rax + 0x20]
inc rbp
movsxd rcx, eax
add r15, 0x18
cmp rbp, rcx
jge 0x1401ba896
mov rcx, qword [rsp + 0x50]
mov rcx, qword [rcx + 0x18]
movsx edx, word [rcx + r15]
cmp r14d, edx
jg 0x1401ba863
jmp 0x1401ba845
mov rax, qword [rsp + 0x48]
mov ebp, dword [rax + 0x38]
inc ebp
mov dword [rax + 0x38], ebp
jmp 0x1401ba8be
mov rax, qword [rsp + 0x50]
mov byte [rax], 0
mov rax, qword [rsp + 0x48]
mov al, byte [rax + 0x1f]
test al, al
je 0x1401ba887
dec al
mov rcx, qword [rsp + 0x48]
mov byte [rcx + 0x1f], al
movzx eax, al
mov ebp, dword [rcx + rax*4 + 0xd8]
mov dword [rsp + 0x20], ebp
mov rdi, qword [rsp + 0x58]
mov rcx, rdi
mov edx, 0x6d
mov r8d, r12d
mov r9d, ebx
call fcn.1404006f0
mov rax, qword [rsp + 0x50]
mov r8d, dword [rax + 4]
mov dword [rsp + 0x20], 0
mov rcx, rdi
mov edx, 0x8b
mov r9d, ebp
call fcn.1404006f0
test ebp, ebp
je 0x1401ba920
mov rax, qword [rsp + 0x48]
movzx eax, byte [rax + 0x1f]
cmp rax, 7
ja 0x1401ba920
lea ecx, [rax + 1]
mov rdx, qword [rsp + 0x48]
mov byte [rdx + 0x1f], cl
mov dword [rdx + rax*4 + 0xd8], ebp
cmp ebx, 1
jne 0x1401ba960
test r12d, r12d
je 0x1401ba976
mov rax, qword [rsp + 0x48]
movzx eax, byte [rax + 0x1f]
cmp rax, 7
ja 0x1401ba976
lea ecx, [rax + 1]
mov rdx, qword [rsp + 0x48]
mov byte [rdx + 0x1f], cl
mov dword [rdx + rax*4 + 0xd8], r12d
jmp 0x1401ba976
mov rax, qword [rsp + 0x48]
mov r14d, dword [rax + 0x38]
inc r14d
mov dword [rax + 0x38], r14d
jmp 0x1401ba9bd
mov rax, qword [rsp + 0x48]
cmp ebx, dword [rax + 0x28]
jle 0x1401ba976
mov rax, qword [rsp + 0x48]
mov dword [rax + 0x28], ebx
mov dword [rax + 0x2c], r12d
mov rcx, qword [rsp + 0x118]
call fcn.140292fb0
mov rcx, qword [rsp + 0x48]
mov edx, dword [rcx + 0x34]
lea eax, [rdx + 1]
mov dword [rcx + 0x34], eax
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x110], rdx
mov dword [rax + 8], edx
mov al, byte [rcx + 0x1f]
test al, al
je 0x1401ba94e
dec al
mov rcx, qword [rsp + 0x48]
mov byte [rcx + 0x1f], al
movzx eax, al
mov r14d, dword [rcx + rax*4 + 0xd8]
mov dword [rsp + 0x20], ebx
mov rdi, qword [rsp + 0x58]
mov rcx, rdi
mov edx, 0x79
mov r8, qword [rsp + 0x110]
mov r9d, r14d
call fcn.1404006f0
mov r15, qword [rsp + 0x50]
mov r8d, dword [r15 + 4]
mov dword [rsp + 0x20], 0
mov rcx, rdi
mov edx, 0x22
mov r9d, dword [rsp + 0xb8]
call fcn.1404006f0
mov r8, r15
mov rdx, rdi
mov byte [r15 + 1], 1
mov rdi, qword [rsp + 0x60]
mov r10, qword [rsp + 0x78]
mov rbx, qword [rsp + 0x48]
mov al, byte [rsp + 0xa0]
mov r15, qword [rsp + 0x118]
mov ebp, dword [rsp + 0xdc]
mov r12d, dword [rsp + 0xcc]
jmp 0x1401b8647
lea rcx, [0x140521a10]
jmp 0x1401b889c
call fcn.1401c9160
jmp 0x1401b8b10
mov rdi, qword [rsp + 0x88]
mov dword [rsp + 0x20], edi
mov rcx, r11
mov edx, 0x69
mov r8, qword [rsp + 0x50]
mov r9, qword [rsp + 0xb0]
mov dword [rsp + 0xc0], r10d
mov r12, r11
call fcn.1404006f0
mov dword [rsp + 0x20], 0
mov rcx, r12
mov edx, 0x7f
mov ebp, dword [rsp + 0xa0]
mov r8d, ebp
mov r9d, r13d
call fcn.1404006f0
mov dword [rsp + 0x20], r13d
mov rcx, r12
mov edx, 0x80
mov r8d, ebp
mov r9d, edi
call fcn.1404006f0
mov r11, r12
mov r10d, dword [rsp + 0xc0]
mov rdx, qword [rsp + 0x58]
movsxd rax, dword [r12 + 0x90]
test rax, rax
jle case.0x1401b82b7.10
mov rcx, qword [r11 + 0x88]
lea rax, [rax + rax*2]
mov word [rcx + rax*8 - 0x16], 8
jmp case.0x1401b82b7.10
and al, 0xc7
mov byte [rdi + 0x3c], al
mov edx, dword [rdi + 0x44]
mov rcx, qword [r13 + 0x30]
xor r8d, r8d
call fcn.14040a290
mov al, byte [rdi + 0x3c]
jmp 0x1401b9a97
mov r15, qword [rsp + 0x60]
mov rbx, qword [rsp + 0x48]
jmp 0x1401b71b5
cmp qword [rsp + 0xd0], 0
je 0x1401b99c0
mov rcx, qword [rsp + 0x60]
mov rdx, qword [rsp + 0xd0]
call fcn.14027b390
jmp 0x1401b99c0
mov rcx, qword [rsp + 0x60]
call fcn.14027b390
mov rax, qword [rsp + 0x58]
jmp 0x1401b8960
call fcn.1401c9160
mov rdx, qword [rsp + 0x58]
mov edi, dword [rdx + 0x90]
jmp 0x1401b8a21
mov rax, qword [rsp + 0x70]
mov rax, qword [rax + 0x18]
mov qword [rsp + 0x70], rax
mov dword [rsp + 0x20], r13d
mov rcx, r11
mov edx, 0x6d
mov r8, qword [rsp + 0x88]
mov rdi, qword [rsp + 0x80]
mov r9d, edi
mov ebp, r10d
mov r12, r11
call fcn.1404006f0
mov rcx, r12
mov edx, eax
mov r8, qword [rsp + 0x70]
mov r9d, edi
call fcn.1401c3300
mov dword [rsp + 0x28], edi
mov rax, qword [rsp + 0x88]
mov dword [rsp + 0x20], eax
mov rcx, r12
mov edx, 0x8a
mov r8d, dword [rsp + 0xa0]
mov r9d, r13d
call fcn.1403f2c60
mov r11, r12
mov r10d, ebp
mov rdx, qword [rsp + 0x58]
test r13d, r13d
je 0x1401b6f64
cmp dword [rsp + 0x80], 1
je 0x1401b9ee5
mov rax, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x80]
cmp ecx, dword [rax + 0x28]
jle 0x1401b9f18
mov rax, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x80]
mov dword [rax + 0x28], ecx
mov rcx, qword [rsp + 0x88]
mov dword [rax + 0x2c], ecx
jmp 0x1401b9f18
lea r8, [rsp + 0x130]
mov rcx, r13
mov rdx, qword [rsp + 0x50]
call fcn.14040c4b0
jmp 0x1401b85cc
lea rax, [rdx + 0x90]
mov qword [rsp + 0xb0], rax
mov eax, dword [rdx + 0x90]
mov dword [rsp + 0x104], eax
jmp 0x1401b86e8
test rcx, rcx
je 0x1401baca4
movsxd rdx, dword [rcx]
test rdx, rdx
jle 0x1401baca4
shl rdx, 5
xor r8d, r8d
cmp word [rcx + r8 + 0x20], 0
je 0x1401b9073
add r8, 0x20
cmp rdx, r8
jne 0x1401bac8e
bt eax, 0xd
jb 0x1401b9073
mov rcx, rsi
call fcn.14040c510
test eax, eax
jne 0x1401b9073
mov rax, qword [rsp + 0x78]
cmp dword [rax], 2
jl 0x1401b92aa
mov rax, qword [rsp + 0x48]
cmp dword [rax + 0x94], 0x1f4
jg 0x1401b9073
mov rax, qword [rsp + 0x68]
test byte [rax + 0x62], 0x80
jne 0x1401b9073
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 0x34]
lea rdx, [rax*4 + 4]
mov rcx, qword [rsp + 0x68]
call fcn.1403f2b10
mov qword [rsp + 0xa8], rax
test rax, rax
je 0x1401b92aa
mov rax, qword [rsp + 0x48]
mov eax, dword [rax + 0x34]
mov rcx, qword [rsp + 0xa8]
mov dword [rcx], eax
jmp 0x1401b92b6
lea eax, [r12 + rbp]
mov dword [rsp + 0x20], eax
mov rcx, qword [rsp + 0x58]
mov edx, 0x69
mov r8, qword [rsp + 0x110]
mov r9d, r12d
call fcn.1404006f0
jmp 0x1401b8738
mov rax, qword [r10 + 0x28]
cmp dword [rax + 0x10], 0
js 0x1401bad72
mov rax, qword [rax]
test rax, rax
je 0x1401bad72
test byte [rax + 5], 0x10
je 0x1401bada1
mov qword [rsp + 0xd0], 0
mov qword [rsp + 0xc0], 0
mov r10, qword [rsp + 0x50]
mov rbx, qword [rsp + 0x48]
xor r12d, r12d
jmp 0x1401b8425
xor r12d, r12d
jmp 0x1401badc8
mov rax, qword [rax + 0x20]
test rax, rax
je 0x1401bad72
mov rdx, qword [rax + 8]
xor edi, edi
test rdx, rdx
je 0x1401bad9c
mov rcx, qword [rsp + 0x60]
xor r8d, r8d
xor r9d, r9d
call fcn.140288970
mov r12, rax
mov rcx, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x78]
xor r8d, r8d
call fcn.1401c8b80
mov rbx, qword [rsp + 0x48]
mov rcx, rbx
mov rdx, rax
mov r8, r12
call fcn.1401bb450
mov qword [rsp + 0xd0], rax
test rax, rax
mov eax, 0x500
cmove eax, edi
mov qword [rsp + 0xc0], rax
mov r10, qword [rsp + 0x50]
jmp 0x1401bad94
mov rax, qword [rsp + 0x50]
mov r8d, dword [rax + 4]
mov dword [rsp + 0x20], 0
mov rcx, rdi
mov edx, 0x25
mov r9d, dword [rsp + 0x104]
call fcn.1404006f0
mov rax, rdi
mov r15, qword [rsp + 0xb0]
jmp 0x1401b894f
mov r8d, dword [r8 + 4]
mov rax, qword [rsp + 0x110]
mov dword [rsp + 0x20], eax
mov rcx, rdx
mov edx, 0x85
mov r9d, r14d
call fcn.1404006f0
mov r10, qword [rsp + 0x78]
mov r8, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x58]
jmp 0x1401b86e8