Function at 0x1401d2620
Capabilities:
Encrypt data using speck
Reference sql statements
Resolve function by parsing pe exports

Disassembly:
mov r11, rsp
push rbp
push rdi
push r13
lea rbp, [r11 - 0x308]
sub rsp, 0x3f0
mov rax, qword [0x1403ceac0]
xor rax, rsp
mov qword [rbp + 0x2c0], rax
mov rax, qword [rcx + 0x88]
mov r13, rcx
mov qword [r11 + 0x10], rbx
mov qword [r11 + 0x18], rsi
mov qword [rsp + 0x50], rax
mov rsi, qword [r13]
mov qword [rsp + 0x38], rax
xor al, al
mov qword [rsp + 0x68], rcx
xor ecx, ecx
mov qword [r11 - 0x20], r14
mov edi, ecx
mov r14, qword [r13 + 0x68]
mov qword [r11 - 0x28], r15
mov r15d, ecx
mov byte [rsp + 0x70], al
movzx eax, byte [rsi + 0x60]
mov dword [rsp + 0x30], ecx
mov dword [rsp + 0x78], ecx
mov qword [rbp - 0x18], rcx
mov rcx, r13
mov byte [rsp + 0x48], al
mov qword [rsp + 0x40], rsi
mov qword [rsp + 0x60], r14
call fcn.1401d2530
cmp qword [rsi + 0x1e8], rdi
je 0x1401d26ca
mov ecx, dword [rsi + 0x1f8]
xor edx, edx
mov eax, dword [r13 + 0xe4]
div ecx
sub ecx, edx
mov ebx, ecx
jmp 0x1401d26d1
mov rbx, 0xffffffffffffffff
cmp dword [r13 + 0x38], 7
mov r10d, 1
mov qword [rsp + 0x428], r12
movaps xmmword [rsp + 0x3d0], xmm6
mov qword [rsp + 0x58], rbx
je 0x1401da544
xor r11d, r11d
mov dword [r13 + 0x38], r11d
mov qword [r13 + 0x48], r11
mov qword [r13 + 0xa0], r11
mov dword [rsi + 0x270], r11d
mov eax, dword [rsi + 0x178]
test eax, eax
jne 0x1401d9f5d
movsxd rax, dword [r13 + 0x34]
lea rdx, [0x140000000]
mov rbx, qword [rsp + 0x50]
mov r9d, 0x2400
mov r8d, 0x1000
xorps xmm6, xmm6
lea rcx, [rax + rax*2]
mov eax, dword [rbp - 0x28]
lea r12, [rbx + rcx*8]
mov dword [rbp - 0x60], eax
inc rdi
mov qword [rsp + 0x38], r12
mov qword [rbp - 0x18], rdi
movzx edi, byte [r12]
cmp edi, 0xae
ja case.0x1401d2775.86
movsxd rax, edi
mov ecx, dword [rdx + rax*4 + 0x1da788]
add rcx, rdx
jmp rcx
mov rcx, qword [rsp + 0x38]
movsxd rax, dword [rcx + 4]
sub rcx, rbx
imul r8, rax, 0x38
mov eax, 4
mov word [r8 + r14 + 8], ax
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rax, rdx
cdqe
mov qword [r8 + r14], rax
mov r12, qword [rsp + 0x38]
jmp 0x1401d614e
movsxd rax, dword [r12 + 4]
imul rdx, rax, 0x38
mov rax, qword [rdx + r14]
lea rcx, [rax + rax*2]
mov eax, 0x80
mov word [rdx + r14 + 8], ax
lea r12, [rbx + rcx*8]
jmp 0x1401d3409
movsxd rax, dword [r12 + 4]
imul rcx, rax, 0x38
mov eax, dword [r12 + 0xc]
dec eax
cdqe
mov qword [rcx + r14], rax
mov eax, 4
mov word [rcx + r14 + 8], ax
cmp dword [r12 + 8], 0
jne 0x1401d614e
jmp case.0x1401d2775.86
movsxd rax, dword [r12 + 4]
imul rdx, rax, 0x38
mov rax, qword [rdx + r14]
lea rcx, [rax + rax*2]
mov eax, dword [rbx + rcx*8 + 8]
dec eax
cdqe
jmp 0x1401d27ca
mov rdi, qword [rsp + 0x38]
movsxd rax, dword [rdi + 4]
sub rdi, rbx
imul r8, rax, 0x38
mov eax, 4
mov word [r8 + r14 + 8], ax
movabs rax, 0x2aaaaaaaaaaaaaab
movsxd rcx, dword [r8 + r14]
imul rdi
lea rcx, [rcx + rcx*2]
sar rdx, 2
lea r12, [rbx + rcx*8]
mov rax, rdx
shr rax, 0x3f
add rax, rdx
cdqe
mov qword [r8 + r14], rax
jmp 0x1401d3403
movsxd rax, dword [r12 + 0xc]
imul rcx, rax, 0x38
test byte [rcx + r14 + 8], 1
je case.0x1401d2775.86
mov rcx, r12
movabs rax, 0x2aaaaaaaaaaaaaab
sub rcx, rbx
imul rcx
mov rbx, rdx
mov rdx, qword [rsp + 0x38]
sar rbx, 2
mov rax, rbx
shr rax, 0x3f
mov ecx, dword [rdx + 4]
add rbx, rax
test ecx, ecx
jne 0x1401d9d65
mov rdx, qword [r13 + 0x100]
test rdx, rdx
je 0x1401d9d60
mov rax, qword [rdx + 8]
mov rcx, rdx
mov qword [r13 + 0x100], rax
dec dword [r13 + 0x110]
mov eax, dword [r13 + 0x3c]
mov dword [rsi + 0x78], eax
add dword [rsi + 0x7c], eax
call fcn.1401db510
mov r12, qword [rsp + 0x38]
mov rbx, qword [r13 + 0x88]
mov qword [rsp + 0x50], rbx
cmp dword [r12 + 8], 4
jne 0x1401d291e
cdqe
lea rcx, [rax + rax*2]
mov eax, dword [rbx + rcx*8 + 8]
dec eax
mov r14, qword [r13 + 0x68]
cdqe
mov qword [rsp + 0x60], r14
lea rcx, [rax + rax*2]
lea r12, [rbx + rcx*8]
jmp 0x1401d33f4
movsxd rax, dword [r12 + 8]
imul rcx, rax, 0x38
add rcx, qword [r13 + 0x68]
test word [rcx + 8], r9w
je 0x1401d2979
call fcn.140185e00
mov rcx, rax
lea rdx, [0x140000000]
movsxd rax, dword [r12 + 4]
xor r11d, r11d
mov r9d, 0x2400
mov r8d, 0x1000
mov qword [rcx], rax
lea r10d, [r11 + 1]
jmp case.0x1401d2775.86
mov eax, 4
mov word [rcx + 8], ax
movsxd rax, dword [r12 + 4]
mov qword [rcx], rax
jmp case.0x1401d2775.86
movsxd rax, dword [r12 + 8]
imul rdx, rax, 0x38
add rdx, qword [r13 + 0x68]
test word [rdx + 8], r9w
je 0x1401d29d1
mov rcx, rdx
call fcn.140185e00
mov rdx, rax
xor r11d, r11d
mov rax, qword [r12 + 0x10]
mov r9d, 0x2400
mov r8d, 0x1000
lea r10d, [r11 + 1]
mov rcx, qword [rax]
mov qword [rdx], rcx
jmp 0x1401d3409
mov eax, 4
mov word [rdx + 8], ax
mov rax, qword [r12 + 0x10]
mov rcx, qword [rax]
mov qword [rdx], rcx
jmp 0x1401d3409
movsxd rax, dword [r12 + 8]
imul rdx, rax, 0x38
add rdx, qword [r13 + 0x68]
test word [rdx + 8], r9w
je 0x1401d2a1c
mov rcx, rdx
call fcn.140185e00
xor r11d, r11d
mov rdx, rax
mov r9d, 0x2400
mov r8d, 0x1000
lea r10d, [r11 + 1]
mov eax, 8
mov word [rdx + 8], ax
mov rax, qword [r12 + 0x10]
mov rcx, qword [rax]
mov qword [rdx], rcx
jmp 0x1401d3409
mov rdi, qword [rsp + 0x38]
movsxd rax, dword [rdi + 8]
imul rsi, rax, 0x38
add rsi, qword [r13 + 0x68]
test word [rsi + 8], r9w
je 0x1401d2a67
mov rcx, rsi
call fcn.140185e00
xor r11d, r11d
mov rsi, rax
mov r9d, 0x2400
lea r10d, [r11 + 1]
jmp 0x1401d2a70
mov eax, 4
mov word [rsi + 8], ax
mov rdi, qword [rdi + 0x10]
test rdi, rdi
jne 0x1401d2a7e
mov eax, r11d
jmp 0x1401d2a93
mov rax, 0xffffffffffffffff
inc rax
cmp byte [rdi + rax], 0
jne 0x1401d2a85
and eax, 0x3fffffff
mov r12, qword [rsp + 0x38]
movzx r15d, byte [rsp + 0x48]
mov dword [r12 + 4], eax
cmp r15b, 1
je 0x1401d2bad
test rdi, rdi
jne 0x1401d2ad4
test word [rsi + 8], r9w
je 0x1401d2ac3
mov rcx, rsi
call fcn.1401f17a0
jmp 0x1401d2ac8
mov word [rsi + 8], r10w
test byte [rsi + 8], 2
je 0x1401d2b61
jmp 0x1401d2b47
mov rax, qword [rsi + 0x28]
test rax, rax
je 0x1401d2ae6
mov r14d, dword [rax + 0x80]
jmp 0x1401d2aec
mov r14d, 0x3b9aca00
mov rbx, 0xffffffffffffffff
inc rbx
cmp byte [rdi + rbx], 0
jne 0x1401d2af3
test word [rsi + 8], r9w
jne 0x1401d2b09
cmp dword [rsi + 0x20], 0
je 0x1401d2b11
mov rcx, rsi
call fcn.1401f1750
xor eax, eax
mov qword [rsi + 0x10], rdi
mov qword [rsi + 0x30], rax
mov eax, ebx
btr eax, 0x1f
mov dword [rsi + 0xc], eax
mov eax, 0xa02
mov word [rsi + 8], ax
movsxd rax, r14d
mov byte [rsi + 0xa], 1
cmp rbx, rax
jg 0x1401d9e45
mov r14, qword [rsp + 0x60]
mov rbx, qword [rsp + 0x50]
cmp byte [rsi + 0xa], r15b
je 0x1401d2b61
movzx edx, r15b
mov rcx, rsi
call fcn.1401dd810
test eax, eax
jne 0x1401da4f5
xor r11d, r11d
mov eax, 0x800
mov dword [rsi + 0x20], r11d
or word [rsi + 8], ax
mov rax, r12
cmp byte [rax + 1], 0xf9
jne 0x1401d2b93
mov rdx, qword [rax + 0x10]
test rdx, rdx
je 0x1401d2b93
mov rcx, qword [rsp + 0x40]
call fcn.1401a2e60
mov rax, r12
xor r11d, r11d
mov byte [rax + 1], 0xf9
mov rax, qword [rsi + 0x10]
mov dword [rsp + 0x30], r11d
mov qword [r12 + 0x10], rax
mov eax, dword [rsi + 0xc]
mov dword [r12 + 4], eax
mov rsi, qword [rsp + 0x40]
cmp eax, dword [rsi + 0x80]
jg 0x1401da2af
mov byte [r12], 0x47
mov r9d, 0x2400
jmp 0x1401d2bd1
movzx r15d, byte [rsp + 0x48]
movsxd rax, dword [r12 + 8]
imul rdx, rax, 0x38
add rdx, qword [r13 + 0x68]
test word [rdx + 8], r9w
je 0x1401d2bf6
mov rcx, rdx
call fcn.140185e00
mov rdx, rax
mov r9d, 0x2400
mov eax, 0xa02
mov r10d, 1
mov word [rdx + 8], ax
mov rax, qword [r12 + 0x10]
mov qword [rdx + 0x10], rax
mov eax, dword [r12 + 4]
mov dword [rdx + 0xc], eax
mov byte [rdx + 0xa], r15b
movsxd rax, dword [r12 + 0xc]
test eax, eax
jle 0x1401d6efb
imul rcx, rax, 0x38
movzx eax, word [r12 + 2]
cmp qword [rcx + r14], rax
jne 0x1401d6efb
mov eax, 0xa10
mov word [rdx + 8], ax
jmp 0x1401d3400
mov rsi, qword [rsp + 0x38]
movsxd rax, dword [rsi + 8]
imul rcx, rax, 0x38
add rcx, qword [r13 + 0x68]
test word [rcx + 8], r9w
je 0x1401d2c77
call fcn.140185e00
mov rcx, rax
mov r10d, 1
mov r9d, 0x2400
jmp 0x1401d2c80
mov eax, 4
mov word [rcx + 8], ax
mov edi, dword [rsi + 0xc]
lea rbx, [rcx + 8]
mov eax, dword [rsi + 8]
mov edx, 0x101
mov r12, qword [rsp + 0x38]
mov esi, r10d
cmp dword [r12 + 4], 0
cmovne si, dx
xor r15d, r15d
sub edi, eax
mov word [rbx], si
mov dword [rcx + 0xc], r15d
test edi, edi
jle 0x1401d6efb
test word [rbx + 0x38], r9w
lea rbx, [rbx + 0x38]
je 0x1401d2ccf
lea rcx, [rbx - 8]
call fcn.1401f17a0
mov r9d, 0x2400
dec edi
mov word [rbx], si
mov dword [rbx + 4], r15d
test edi, edi
jg 0x1401d2cb5
mov rsi, qword [rsp + 0x40]
mov rbx, qword [rsp + 0x50]
jmp 0x1401d33fa
movsxd rax, dword [r12 + 4]
imul rcx, rax, 0x38
mov eax, 0xff41
add rcx, r14
and word [rcx + 8], ax
or word [rcx + 8], 1
jmp case.0x1401d2775.86
mov rdi, qword [rsp + 0x38]
movsxd rax, dword [rdi + 8]
imul r14, rax, 0x38
add r14, qword [r13 + 0x68]
test word [r14 + 8], r9w
je 0x1401d2d3c
mov rcx, r14
call fcn.140185e00
xor r11d, r11d
mov r14, rax
mov r9d, 0x2400
lea r10d, [r11 + 1]
jmp 0x1401d2d46
mov eax, 4
mov word [r14 + 8], ax
mov r12, qword [rsp + 0x38]
mov rdi, qword [rdi + 0x10]
movsxd rbx, dword [r12 + 4]
test rdi, rdi
jne 0x1401d2d77
test word [r14 + 8], r9w
je 0x1401d2d6d
mov rcx, r14
call fcn.1401f17a0
jmp 0x1401d2e34
mov word [r14 + 8], r10w
jmp 0x1401d2e3a
mov rax, qword [r14 + 0x28]
test rax, rax
je 0x1401d2d89
mov r15d, dword [rax + 0x80]
jmp 0x1401d2d8f
mov r15d, 0x3b9aca00
mov esi, reloc.WS2_32.dll_recv
test rbx, rbx
jns 0x1401d2dbc
movsxd rcx, r15d
mov rbx, r11
test r15d, r15d
js 0x1401d2db7
movzx eax, byte [rbx + rdi + 1]
or al, byte [rbx + rdi]
je 0x1401d2db7
add rbx, 2
cmp rbx, rcx
jle 0x1401d2da4
mov esi, 0x210
test word [r14 + 8], r9w
jne 0x1401d2dca
cmp dword [r14 + 0x20], 0
je 0x1401d2dd2
mov rcx, r14
call fcn.1401f1750
xor eax, eax
mov qword [r14 + 0x10], rdi
mov qword [r14 + 0x30], rax
mov eax, 0x800
or si, ax
mov eax, ebx
btr eax, 0x1f
mov dword [r14 + 0xc], eax
mov word [r14 + 8], si
mov rcx, qword [r14 + 0x28]
movzx eax, byte [rcx + 0x60]
mov byte [r14 + 0xa], al
movsxd rax, r15d
cmp rbx, rax
jle 0x1401d2e2f
test rcx, rcx
je 0x1401d2e2f
mov rax, qword [rcx + 0x140]
mov r10d, 1
mov rsi, qword [rsp + 0x40]
test rax, rax
je 0x1401d2e3a
mov dword [rax + 0x18], reloc.WS2_32.dll_select
inc dword [rax + 0x30]
jmp 0x1401d2e3a
mov rsi, qword [rsp + 0x40]
mov r10d, 1
movzx edi, byte [rsp + 0x48]
mov r9d, 0x2400
mov rbx, qword [rsp + 0x50]
mov byte [r14 + 0xa], dil
mov r14, qword [rsp + 0x60]
jmp 0x1401d3400
movsxd rax, dword [r12 + 4]
mov rsi, qword [r13 + 0x80]
imul rdi, rax, 0x38
movzx eax, word [rdi + rsi - 0x30]
test al, 0x12
je 0x1401d2e91
bt ax, 0xe
mov ecx, dword [rdi + rsi - 0x2c]
jae 0x1401d2e80
add ecx, dword [rdi + rsi - 0x38]
mov rax, qword [rdi + rsi - 0x10]
cmp ecx, dword [rax + 0x80]
jg 0x1401da29b
movsxd rax, dword [r12 + 8]
imul rbx, rax, 0x38
add rbx, r14
test word [rbx + 8], r9w
je 0x1401d2ec6
mov rcx, rbx
call fcn.1401f17a0
xor r11d, r11d
lea rdx, [0x140000000]
mov r9d, 0x2400
mov r8d, 0x1000
lea r10d, [r11 + 1]
movups xmm0, xmmword [rdi + rsi - 0x38]
mov ecx, 0xebff
movups xmmword [rbx], xmm0
movsd xmm1, qword [rdi + rsi - 0x28]
mov rsi, qword [rsp + 0x40]
movsd qword [rbx + 0x10], xmm1
movzx eax, word [rbx + 8]
and ax, cx
mov ecx, 0x840
or ax, cx
mov word [rbx + 8], ax
mov rbx, qword [rsp + 0x50]
jmp case.0x1401d2775.86
mov rcx, qword [rsp + 0x38]
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, r14
add rbx, r14
xor r15d, r15d
test word [rbx + 8], r9w
jne 0x1401d2f2e
cmp dword [rbx + 0x20], r15d
je 0x1401d2f42
mov rcx, rbx
call fcn.1401f1750
mov r10d, 1
mov r8d, 0x1000
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 + 8], r10w
mov dword [rdi + 0x20], r15d
movzx eax, word [rbx + 8]
test r8w, ax
je 0x1401d2ffc
test al, 0x12
je 0x1401d2fe7
bt ax, 0xe
jae 0x1401d2fc7
mov edx, dword [rbx]
add edx, dword [rbx + 0xc]
test edx, edx
jg 0x1401d2f94
test al, 0x10
je 0x1401d2fc7
mov edx, r10d
mov r8d, r10d
mov rcx, rbx
call fcn.1401dce50
test eax, eax
jne 0x1401da532
movsxd rcx, dword [rbx + 0xc]
xor edx, edx
add rcx, qword [rbx + 0x10]
movsxd r8, dword [rbx]
call fcn.1402b60e0
mov eax, dword [rbx]
add dword [rbx + 0xc], eax
mov eax, 0xbdff
and word [rbx + 8], ax
cmp dword [rbx + 0x20], r15d
je 0x1401d2fd7
mov rax, qword [rbx + 0x18]
cmp qword [rbx + 0x10], rax
je 0x1401d2fe7
mov rcx, rbx
call fcn.1401f16f0
test eax, eax
jne 0x1401da532
mov eax, 0xefff
mov r10d, 1
and word [rbx + 8], ax
mov r8d, 0x1000
add rdi, 0x38
add rbx, 0x38
mov r9d, 0x2400
sub esi, 1
jne 0x1401d2f21
mov rsi, qword [rsp + 0x40]
xor r11d, r11d
mov r12, qword [rsp + 0x38]
mov rbx, qword [rsp + 0x50]
jmp 0x1401d3409
mov rcx, qword [rsp + 0x38]
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, r14
add rbx, r14
test word [rbx + 8], r9w
je 0x1401d3062
mov rdx, rdi
mov rcx, rbx
call fcn.1401f0240
mov r8d, 0x1000
jmp 0x1401d308b
movups xmm0, xmmword [rdi]
mov eax, 0x800
movups xmmword [rbx], xmm0
movsd xmm1, qword [rdi + 0x10]
movsd qword [rbx + 0x10], xmm1
test word [rdi + 8], ax
jne 0x1401d308b
mov eax, 0xf3ff
and word [rbx + 8], ax
or word [rbx + 8], r8w
movzx eax, word [rbx + 8]
test r8w, ax
je 0x1401d30df
test al, 0x12
je 0x1401d30d0
bt ax, 0xe
jae 0x1401d30b0
mov rcx, rbx
call fcn.1401dcbd0
test eax, eax
jne 0x1401da4f5
cmp dword [rbx + 0x20], 0
je 0x1401d30c0
mov rax, qword [rbx + 0x18]
cmp qword [rbx + 0x10], rax
je 0x1401d30d0
mov rcx, rbx
call fcn.1401f16f0
test eax, eax
jne 0x1401da4f5
mov eax, 0xefff
mov r8d, 0x1000
and word [rbx + 8], ax
mov eax, esi
mov r9d, 0x2400
dec esi
test eax, eax
je 0x1401d30fa
add rbx, 0x38
add rdi, 0x38
jmp 0x1401d3048
mov rsi, qword [rsp + 0x40]
mov r12, qword [rsp + 0x38]
xor r11d, r11d
mov rbx, qword [rsp + 0x50]
mov r10d, 1
jmp 0x1401d3409
mov rcx, qword [rsp + 0x38]
movsxd rax, dword [rcx + 4]
imul rdx, rax, 0x38
movsxd rax, dword [rcx + 8]
imul rcx, rax, 0x38
add rdx, r14
add rcx, r14
test word [rcx + 8], r9w
je 0x1401d3148
call fcn.1401f0240
mov r12, qword [rsp + 0x38]
jmp 0x1401d33f4
movups xmm0, xmmword [rdx]
mov r12, qword [rsp + 0x38]
mov eax, 0x800
movups xmmword [rcx], xmm0
movsd xmm1, qword [rdx + 0x10]
movsd qword [rcx + 0x10], xmm1
test word [rdx + 8], ax
lea rdx, [0x140000000]
jne case.0x1401d2775.86
mov eax, 0xf3ff
and word [rcx + 8], ax
or word [rcx + 8], r8w
jmp case.0x1401d2775.86
mov rcx, qword [rsp + 0x38]
movsxd rax, dword [rcx + 8]
imul r8, rax, 0x38
movsxd rax, dword [rcx + 4]
imul rcx, rax, 0x38
add r8, r14
mov rax, qword [rcx + r14]
test word [r8 + 8], r9w
je 0x1401d31be
mov rdx, rax
mov rcx, r8
call fcn.1401f2860
mov r12, qword [rsp + 0x38]
jmp 0x1401d33f4
mov r12, qword [rsp + 0x38]
mov qword [r8], rax
mov eax, 4
mov word [r8 + 8], ax
mov r8d, 0x1000
jmp case.0x1401d2775.86
mov rsi, qword [rsp + 0x38]
movsxd rax, dword [rsi + 4]
imul rdi, rax, 0x38
movsxd rax, dword [rsi + 8]
imul r15, rax, 0x38
movsxd rax, dword [rsi + 0xc]
add rdi, r14
add r15, r14
imul r14, rax, 0x38
movzx esi, word [rdi + 8]
add r14, qword [rsp + 0x60]
movzx eax, sil
or al, byte [r15 + 8]
test al, 1
je 0x1401d324f
test word [r14 + 8], r9w
je 0x1401d3236
mov rcx, r14
call fcn.1401f17a0
mov rsi, qword [rsp + 0x40]
mov r12, qword [rsp + 0x38]
mov r14, qword [rsp + 0x60]
jmp 0x1401d33f4
mov rsi, qword [rsp + 0x40]
mov r12, qword [rsp + 0x38]
mov word [r14 + 8], r10w
mov r14, qword [rsp + 0x60]
jmp 0x1401d3409
test sil, 0x12
jne 0x1401d3285
movzx r12d, byte [rsp + 0x48]
xor r8d, r8d
movzx edx, r12b
mov rcx, rdi
call fcn.1401dd6e0
test eax, eax
jne 0x1401da4f5
movzx esi, word [rdi + 8]
mov eax, 0xfffd
and si, ax
mov edx, 0x4000
jmp 0x1401d32eb
mov edx, 0x4000
test dx, si
je 0x1401d32e5
mov edx, dword [rdi + 0xc]
add edx, dword [rdi]
test edx, edx
jg 0x1401d32a1
test sil, 0x10
je 0x1401d32d8
mov edx, r10d
mov r8d, r10d
mov rcx, rdi
call fcn.1401dce50
test eax, eax
jne 0x1401da4f5
movsxd rcx, dword [rdi + 0xc]
xor edx, edx
add rcx, qword [rdi + 0x10]
movsxd r8, dword [rdi]
call fcn.1402b60e0
mov eax, dword [rdi]
add dword [rdi + 0xc], eax
mov eax, 0xbdff
and word [rdi + 8], ax
movzx esi, word [rdi + 8]
mov eax, 0xfffd
mov edx, 0x4000
and si, ax
movzx r12d, byte [rsp + 0x48]
movzx ebx, word [r15 + 8]
test bl, 0x12
jne 0x1401d3306
xor r8d, r8d
movzx edx, r12b
mov rcx, r15
call fcn.1401dd6e0
jmp 0x1401d3313
test dx, bx
je 0x1401d3328
mov rcx, r15
call fcn.1401dcbd0
test eax, eax
jne 0x1401da4f5
movzx ebx, word [r15 + 8]
mov eax, 0xfffd
and bx, ax
mov r9, qword [rsp + 0x40]
mov r13d, dword [r15 + 0xc]
add r13d, dword [rdi + 0xc]
movsxd r12, r13d
movsxd rax, dword [r9 + 0x80]
cmp r12, rax
jg 0x1401da2a2
xor eax, eax
lea edx, [r13 + 3]
mov r8d, eax
cmp r14, r15
mov rcx, r14
sete r8b
call fcn.1401dce50
test eax, eax
jne 0x1401da517
mov eax, 0x3e40
and word [r14 + 8], ax
or word [r14 + 8], 2
cmp r14, r15
je 0x1401d3393
movsxd r8, dword [r15 + 0xc]
mov rdx, qword [r15 + 0x10]
mov rcx, qword [r14 + 0x10]
call fcn.1402b53e0
mov word [r15 + 8], bx
movsxd rcx, dword [r15 + 0xc]
add rcx, qword [r14 + 0x10]
movsxd r8, dword [rdi + 0xc]
mov rdx, qword [rdi + 0x10]
call fcn.1402b53e0
mov word [rdi + 8], si
mov rax, qword [r14 + 0x10]
mov byte [r12 + rax], 0
mov rax, qword [r14 + 0x10]
mov byte [r12 + rax + 1], 0
mov rax, qword [r14 + 0x10]
mov byte [r12 + rax + 2], 0
mov eax, 0x200
or word [r14 + 8], ax
movzx eax, byte [rsp + 0x48]
mov dword [r14 + 0xc], r13d
mov byte [r14 + 0xa], al
mov rsi, qword [rsp + 0x40]
mov r12, qword [rsp + 0x38]
mov r14, qword [rsp + 0x60]
mov rbx, qword [rsp + 0x50]
mov r9d, 0x2400
mov r10d, 1
xor r11d, r11d
mov r8d, 0x1000
lea rdx, [0x140000000]
mov r13, qword [rsp + 0x68]
add r12, 0x18
mov r15d, dword [rsp + 0x78]
mov rdi, qword [rbp - 0x18]
jmp 0x1401d274b
mov rsi, qword [rsp + 0x38]
movsxd rax, dword [rsi + 4]
imul rdi, rax, 0x38
add rdi, r14
movzx ebx, word [rdi + 8]
test bl, 0x2c
je 0x1401d3445
xor r15d, r15d
jmp 0x1401d3460
test bl, 0x12
je 0x1401d345a
mov rcx, rdi
call fcn.14016f040
movzx ebx, ax
xor r15d, r15d
jmp 0x1401d3460
xor r15d, r15d
mov ebx, r15d
movsxd rax, dword [rsi + 8]
imul rsi, rax, 0x38
add rsi, r14
movzx edx, word [rsi + 8]
movzx r8d, dx
and r8w, 0x2c
jne 0x1401d3494
test dl, 0x12
je 0x1401d3491
mov rcx, rsi
call fcn.14016f040
movzx edx, word [rsi + 8]
movzx r8d, ax
jmp 0x1401d3494
mov r8d, r15d
mov r12, qword [rsp + 0x38]
and r8b, bl
movzx r10d, word [rdi + 8]
or dx, r10w
movsxd rax, dword [r12 + 0xc]
imul rcx, rax, 0x38
add r14, rcx
test r8b, 4
je 0x1401d3675
movzx ecx, byte [r12]
mov r9, qword [rdi]
mov r8, qword [rsi]
sub ecx, 0x6a
je 0x1401d3616
sub ecx, 1
je 0x1401d35d9
sub ecx, 1
je 0x1401d353b
cmp ecx, 1
je 0x1401d3509
test r9, r9
je 0x1401d380d
cmp r9, 0xffffffffffffffff
mov rax, r8
mov r13d, 1
cqo
cmove r9, r13
idiv r9
mov r8, rdx
jmp 0x1401d3652
test r9, r9
je 0x1401d380d
cmp r9, 0xffffffffffffffff
jne 0x1401d352b
movabs rax, 0x8000000000000000
cmp r8, rax
je 0x1401d367e
mov rax, r8
cqo
idiv r9
mov r8, rax
jmp 0x1401d3652
test r9, r9
jle 0x1401d3571
movabs rax, 0x7fffffffffffffff
cqo
idiv r9
cmp r8, rax
jg 0x1401d367e
movabs rax, 0x8000000000000000
cqo
idiv r9
cmp r8, rax
jge 0x1401d35d0
jmp 0x1401d367e
jns 0x1401d35d0
test r8, r8
jle 0x1401d3591
movabs rax, 0x8000000000000000
cqo
idiv r8
cmp r9, rax
jge 0x1401d35d0
jmp 0x1401d367e
jns 0x1401d35d0
movabs rax, 0x8000000000000000
cmp r9, rax
je 0x1401d367e
cmp r8, rax
je 0x1401d367e
movabs rax, 0x8000000000000001
cqo
idiv r9
mov rcx, rax
mov rax, r8
neg rax
cmp rax, rcx
jg 0x1401d367e
imul r8, r9
jmp 0x1401d3652
movabs rax, 0x8000000000000000
cmp r9, rax
jne 0x1401d35f6
test r8, r8
jns 0x1401d367e
sub r8, rax
jmp 0x1401d3652
neg r9
jns 0x1401d361b
test r8, r8
jns 0x1401d364f
movabs rcx, 0x8000000000000001
lea rax, [r9 + 1]
sub rcx, r8
cmp rcx, rax
jmp 0x1401d364d
test r9, r9
js 0x1401d3634
test r8, r8
jle 0x1401d364f
movabs rax, 0x7fffffffffffffff
sub rax, r8
cmp rax, r9
jge 0x1401d364f
jmp 0x1401d367e
test r8, r8
jns 0x1401d364f
movabs rax, 0x8000000000000001
lea rcx, [r9 + 1]
sub rax, r8
cmp rax, rcx
jg 0x1401d367e
add r8, r9
mov rsi, qword [rsp + 0x40]
mov ecx, 0x3e40
mov qword [r14], r8
movzx eax, word [r14 + 8]
and ax, cx
or ax, 4
mov word [r14 + 8], ax
jmp 0x1401d33ea
test dl, 1
jne 0x1401d380d
test r10b, 8
je 0x1401d368a
movsd xmm2, qword [rdi]
jmp 0x1401d36b0
test r10b, 0x24
je 0x1401d369a
xorps xmm2, xmm2
cvtsi2sd xmm2, qword [rdi]
jmp 0x1401d36b0
test r10b, 0x12
je 0x1401d36ad
mov rcx, rdi
call fcn.140182400
movaps xmm2, xmm0
jmp 0x1401d36b0
movaps xmm2, xmm6
movzx eax, word [rsi + 8]
test al, 8
je 0x1401d36be
movsd xmm0, qword [rsi]
jmp 0x1401d36dd
test al, 0x24
je 0x1401d36cc
xorps xmm0, xmm0
cvtsi2sd xmm0, qword [rsi]
jmp 0x1401d36dd
test al, 0x12
je 0x1401d36da
mov rcx, rsi
call fcn.140182400
jmp 0x1401d36dd
movaps xmm0, xmm6
movzx ecx, byte [r12]
sub ecx, 0x6a
je 0x1401d37b4
sub ecx, 1
je 0x1401d37ae
sub ecx, 1
je 0x1401d37a8
cmp ecx, 1
je 0x1401d379a
movzx eax, word [rdi + 8]
test al, 0x24
je 0x1401d3713
mov rbx, qword [rdi]
jmp 0x1401d3740
test al, 8
je 0x1401d3725
movsd xmm0, qword [rdi]
call fcn.1401725a0
mov rbx, rax
jmp 0x1401d3740
test al, 0x12
je 0x1401d373d
cmp qword [rdi + 0x10], 0
je 0x1401d373d
mov rcx, rdi
call fcn.1401823d0
mov rbx, rax
jmp 0x1401d3740
mov rbx, r15
movzx eax, word [rsi + 8]
test al, 0x24
je 0x1401d374d
mov rax, qword [rsi]
jmp 0x1401d3774
test al, 8
je 0x1401d375c
movsd xmm0, qword [rsi]
call fcn.1401725a0
jmp 0x1401d3774
test al, 0x12
je 0x1401d3771
cmp qword [rsi + 0x10], 0
je 0x1401d3771
mov rcx, rsi
call fcn.1401823d0
jmp 0x1401d3774
mov rax, r15
test rbx, rbx
je 0x1401d380d
cmp rbx, 0xffffffffffffffff
mov r13d, 1
cqo
xorps xmm0, xmm0
cmove rbx, r13
idiv rbx
cvtsi2sd xmm0, rdx
jmp 0x1401d37b8
ucomisd xmm2, xmm6
jp 0x1401d37a2
je 0x1401d380d
divsd xmm0, xmm2
jmp 0x1401d37b8
mulsd xmm0, xmm2
jmp 0x1401d37b8
subsd xmm0, xmm2
jmp 0x1401d37b8
addsd xmm0, xmm2
movabs rcx, 0xfffffffffffff
movsd qword [rbp - 0x78], xmm0
mov rax, qword [rbp - 0x78]
movabs rdx, 0x7ff0000000000000
test rcx, rax
setne cl
and rax, rdx
cmp rax, rdx
sete al
test al, cl
jne 0x1401d380d
mov rsi, qword [rsp + 0x40]
mov ecx, 0x3e40
movsd qword [r14], xmm0
movzx eax, word [r14 + 8]
and ax, cx
or ax, 8
mov word [r14 + 8], ax
jmp 0x1401d33ea
mov r9d, 0x2400
test word [r14 + 8], r9w
je 0x1401d382c
mov rcx, r14
call fcn.1401f17a0
mov rsi, qword [rsp + 0x40]
jmp 0x1401d33ea
mov rsi, qword [rsp + 0x40]
mov r10d, 1
mov rbx, qword [rsp + 0x50]
mov word [r14 + 8], r10w
mov r14, qword [rsp + 0x60]
jmp 0x1401d3400
movsxd rax, dword [r12 + 4]
test eax, eax
je case.0x1401d2775.86
imul rcx, rax, 0x38
add rcx, r14
test word [rcx + 8], r9w
je 0x1401d3872
xor edx, edx
call fcn.1401f2860
jmp 0x1401d33f4
mov eax, 4
mov qword [rcx], r11
mov word [rcx + 8], ax
jmp case.0x1401d2775.86
mov rsi, qword [rsp + 0x38]
movsxd rax, dword [rsi + 4]
imul rdi, rax, 0x38
movsxd rax, dword [rsi + 8]
imul rcx, rax, 0x38
movsxd rax, dword [rsi + 0xc]
add rdi, r14
imul rsi, rax, 0x38
movzx edx, word [rdi + 8]
add rcx, r14
add rsi, r14
movzx r8d, word [rcx + 8]
movzx eax, r8b
or al, dl
test al, 1
je 0x1401d38ee
test word [rsi + 8], r9w
je 0x1401d38da
mov rcx, rsi
call fcn.1401f17a0
mov rsi, qword [rsp + 0x40]
mov r12, qword [rsp + 0x38]
jmp 0x1401d33f4
mov r12, qword [rsp + 0x38]
mov word [rsi + 8], r10w
mov rsi, qword [rsp + 0x40]
jmp 0x1401d3403
mov eax, r8d
test r8b, 0x24
je 0x1401d38ff
mov rbx, qword [rcx]
xor r15d, r15d
jmp 0x1401d3936
test al, 8
je 0x1401d3914
movsd xmm0, qword [rcx]
call fcn.1401725a0
mov rbx, rax
xor r15d, r15d
jmp 0x1401d3936
test al, 0x12
je 0x1401d3930
cmp qword [rcx + 0x10], 0
je 0x1401d3930
call fcn.1401823d0
movzx edx, word [rdi + 8]
mov rbx, rax
xor r15d, r15d
jmp 0x1401d3936
xor r15d, r15d
mov ebx, r15d
movzx eax, dx
test al, 0x24
je 0x1401d3942
mov rcx, qword [rdi]
jmp 0x1401d396f
test al, 8
je 0x1401d3954
movsd xmm0, qword [rdi]
call fcn.1401725a0
mov rcx, rax
jmp 0x1401d396f
test al, 0x12
je 0x1401d396c
cmp qword [rdi + 0x10], 0
je 0x1401d396c
mov rcx, rdi
call fcn.1401823d0
mov rcx, rax
jmp 0x1401d396f
mov rcx, r15
mov r12, qword [rsp + 0x38]
movzx edx, byte [r12]
cmp dl, 0x66
jne 0x1401d3986
and rbx, rcx
jmp 0x1401d39fa
cmp dl, 0x67
jne 0x1401d3990
or rbx, rcx
jmp 0x1401d39fa
test rcx, rcx
je 0x1401d39fa
jns 0x1401d39aa
mov eax, 0xd1
sub al, dl
movzx edx, al
cmp rcx, 0xffffffffffffffc0
jle 0x1401d39b0
neg rcx
cmp rcx, 0x40
jl 0x1401d39c8
test rbx, rbx
jns 0x1401d39c3
cmp dl, 0x68
je 0x1401d39c3
mov rbx, 0xffffffffffffffff
jmp 0x1401d39fa
mov rbx, r15
jmp 0x1401d39fa
cmp dl, 0x68
jne 0x1401d39d5
shl rbx, cl
mov r8, rbx
jmp 0x1401d39f7
mov r8, rbx
shr r8, cl
test rbx, rbx
jns 0x1401d39f7
mov eax, 0x40
mov rdx, 0xffffffffffffffff
sub al, cl
movzx ecx, al
shl rdx, cl
or r8, rdx
mov rbx, r8
mov qword [rsi], rbx
mov eax, 0x3e40
and word [rsi + 8], ax
or word [rsi + 8], 4
mov rsi, qword [rsp + 0x40]
jmp 0x1401d33ef
movsxd rax, dword [r12 + 4]
imul rbx, rax, 0x38
add rbx, r14
mov rcx, rbx
call fcn.1401dcfe0
movsxd rax, dword [r12 + 8]
add qword [rbx], rax
jmp 0x1401d33ef
movsxd rax, dword [r12 + 4]
imul rbx, rax, 0x38
add rbx, r14
movzx eax, word [rbx + 8]
test al, 4
jne 0x1401d3acd
test al, 8
jne 0x1401d3a76
test al, 2
je 0x1401d3a85
mov edx, r10d
mov rcx, rbx
call fcn.140165400
xor r11d, r11d
mov r9d, 0x2400
mov r8d, 0x1000
lea r10d, [r11 + 1]
jmp 0x1401d3a7e
mov rcx, rbx
call fcn.1401dbf40
lea rdx, [0x140000000]
movzx eax, word [rbx + 8]
test al, 4
jne 0x1401d3acd
cmp dword [r12 + 8], 0
jne 0x1401d6149
mov r10d, reloc.WS2_32.dll_sendto
mov dword [rsp + 0x30], r10d
xor r15d, r15d
mov edi, 1
lea r14, [0x140324ce4]
mov rbx, qword [rsp + 0x58]
cmp byte [rsi + 0x63], 0
je 0x1401da5bc
mov r10d, 7
jmp 0x1401da5ee
mov ecx, 0x3e40
and ax, cx
or ax, 4
mov word [rbx + 8], ax
mov rbx, qword [rsp + 0x50]
jmp case.0x1401d2775.86
movsxd rax, dword [r12 + 4]
imul rcx, rax, 0x38
add rcx, r14
movzx eax, word [rcx + 8]
test al, 0x24
je case.0x1401d2775.86
test al, 8
je 0x1401d3b09
movsd xmm0, qword [rcx]
jmp 0x1401d3b11
xorps xmm0, xmm0
cvtsi2sd xmm0, qword [rcx]
mov edi, 0x3e40
movsd qword [rcx], xmm0
and ax, di
or ax, 8
mov word [rcx + 8], ax
jmp case.0x1401d2775.86
movsxd rax, dword [r12 + 4]
imul rbx, rax, 0x38
mov eax, 0x4000
add rbx, r14
test word [rbx + 8], ax
je 0x1401d3b58
mov rcx, rbx
call fcn.1401dcbd0
mov dword [rsp + 0x30], eax
mov r10d, eax
test eax, eax
jne 0x1401d3aa4
movzx r8d, byte [rsp + 0x48]
mov rcx, rbx
movzx edx, byte [r12 + 8]
call fcn.1401dc9e0
mov dword [rsp + 0x30], eax
mov r10d, eax
test eax, eax
je 0x1401d33ef
mov rbx, qword [rsp + 0x58]
xor r15d, r15d
lea r14, [0x140324ce4]
mov edi, 1
jmp 0x1401d3ab8
mov rcx, qword [rsp + 0x38]
movsxd rax, dword [rcx + 4]
imul r15, rax, 0x38
movsxd rax, dword [rcx + 0xc]
add r15, r14
imul r14, rax, 0x38
movzx esi, word [r15 + 8]
add r14, qword [rsp + 0x60]
movzx ebx, word [r14 + 8]
movzx edx, bx
and dx, si
test dl, 4
je 0x1401d3c1c
mov rax, qword [r14]
cmp rax, qword [r15]
jle 0x1401d3bfb
mov rax, qword [0x1403cbe48]
mov dword [rsp + 0x78], r10d
cmp byte [rdi + rax], 0
mov r12, rcx
mov rbx, qword [rsp + 0x50]
jne 0x1401d614e
mov rsi, qword [rsp + 0x40]
mov r14, qword [rsp + 0x60]
jmp 0x1401d3409
jge 0x1401d3c0e
mov rax, qword [0x1403cbe38]
mov dword [rsp + 0x78], 0xffffffff
jmp 0x1401d3bda
mov rax, qword [0x1403cbe40]
mov dword [rsp + 0x78], r11d
jmp 0x1401d3bda
mov r12, qword [rsp + 0x38]
movzx ecx, bx
or cx, si
test cl, 1
je 0x1401d3c97
movzx eax, word [r12 + 2]
test al, al
jns 0x1401d3c76
test dl, 1
je 0x1401d3c5b
mov eax, 0x100
test ax, bx
jne 0x1401d3c5b
movzx ecx, byte [r12]
mov rdx, qword [0x1403cbe40]
mov dword [rsp + 0x78], r11d
jmp 0x1401d3d9f
movzx eax, bx
not ax
and eax, 1
lea r8d, [rax*2 - 1]
mov dword [rsp + 0x78], r8d
jmp 0x1401d3d7a
mov dword [rsp + 0x78], r10d
test al, 0x10
jne 0x1401d6149
mov rsi, qword [rsp + 0x40]
mov r14, qword [rsp + 0x60]
mov rbx, qword [rsp + 0x50]
jmp 0x1401d3409
movzx eax, byte [r12 + 2]
and al, 0x47
cmp al, 0x43
jb 0x1401d3ce1
test cl, 2
je 0x1401d3d56
movzx eax, sil
and al, 0x2e
cmp al, 2
jne 0x1401d3cc5
xor edx, edx
mov rcx, r15
call fcn.140165400
movzx ebx, word [r14 + 8]
movzx eax, bl
and al, 0x2e
cmp al, 2
jne 0x1401d3d56
xor edx, edx
mov rcx, r14
call fcn.140165400
jmp 0x1401d3d56
cmp al, 0x42
jne 0x1401d3d56
movzx edi, byte [rsp + 0x48]
test sil, 2
jne 0x1401d3d28
test sil, 0x2c
je 0x1401d3d28
mov r8b, 1
movzx edx, dil
mov rcx, r15
call fcn.1401dd6e0
movzx eax, si
mov r13d, 0x3e40
xor ax, word [r15 + 8]
and ax, r13w
xor si, ax
cmp r15, r14
jne 0x1401d3d2e
movzx ebx, si
or bx, 2
jmp 0x1401d3d2e
mov r13d, 0x3e40
test bl, 2
jne 0x1401d3d56
test bl, 0x2c
je 0x1401d3d56
mov r8b, 1
movzx edx, dil
mov rcx, r14
call fcn.1401dd6e0
movzx eax, bx
xor ax, word [r14 + 8]
and ax, r13w
xor bx, ax
mov r8, qword [r12 + 0x10]
mov rdx, r15
mov rcx, r14
call fcn.1401b9560
xor r11d, r11d
mov dword [rsp + 0x78], eax
mov r8d, eax
mov r9d, 0x2400
lea r10d, [r11 + 1]
movzx ecx, byte [r12]
test r8d, r8d
jns 0x1401d3d8d
mov rdx, qword [0x1403cbe38]
jmp 0x1401d3d9f
jne 0x1401d3d98
mov rdx, qword [0x1403cbe40]
jmp 0x1401d3d9f
mov rdx, qword [0x1403cbe48]
add rdx, rcx
movzx eax, byte [rdx]
mov word [r14 + 8], bx
mov rbx, qword [rsp + 0x50]
mov word [r15 + 8], si
test al, al
jne 0x1401d614e
mov rsi, qword [rsp + 0x40]
mov r14, qword [rsp + 0x60]
jmp 0x1401d3403
test r15d, r15d
je 0x1401d614e
jmp case.0x1401d2775.86
mov rax, qword [rsp + 0x38]
test byte [rax + 2], 1
jne 0x1401d3dec
xor r15d, r15d
mov r13d, r15d
jmp 0x1401d3df7
mov r13, qword [rax - 8]
add r13, 4
xor r15d, r15d
mov rdx, qword [rax + 0x10]
mov esi, r15d
mov r8d, dword [rax + 4]
mov rbx, r15
mov r9d, dword [rax + 8]
movsxd rax, dword [rax + 0xc]
mov qword [rbp - 0x78], rdx
mov dword [rsp + 0x7c], r8d
mov dword [rbp - 0x68], r9d
mov qword [rbp - 0x70], rax
test rax, rax
jle 0x1401d9d46
lea r12, [rdx + 0x20]
nop dword [rax + rax]
test r13, r13
je 0x1401d3e3c
mov ecx, dword [r13 + rbx*4]
jmp 0x1401d3e3e
mov ecx, esi
mov rax, qword [rdx + 0x18]
lea r15d, [rcx + r9]
lea r14d, [rcx + r8]
mov r8, qword [r12]
imul rdx, r15, 0x38
imul rcx, r14, 0x38
movzx edi, byte [rbx + rax]
add rdx, qword [rsp + 0x60]
and edi, 1
add rcx, qword [rsp + 0x60]
call fcn.1401b9560
mov dword [rsp + 0x78], eax
mov ecx, eax
test eax, eax
jne 0x1401d3e97
mov rdx, qword [rbp - 0x78]
inc esi
mov r8d, dword [rsp + 0x7c]
inc rbx
mov r9d, dword [rbp - 0x68]
add r12, 8
cmp rbx, qword [rbp - 0x70]
jl 0x1401d3e30
jmp 0x1401d33e0
mov rax, qword [rbp - 0x78]
mov rax, qword [rax + 0x18]
test byte [rbx + rax], 2
je 0x1401d3eca
imul rax, r14, 0x38
mov r14, qword [rsp + 0x60]
test byte [rax + r14 + 8], 1
jne 0x1401d3ec2
imul rax, r15, 0x38
test byte [rax + r14 + 8], 1
je 0x1401d3ecf
neg ecx
mov dword [rsp + 0x78], ecx
jmp 0x1401d3ecf
mov r14, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x40]
mov r10d, 1
mov r12, qword [rsp + 0x38]
mov r9d, 0x2400
mov rbx, qword [rsp + 0x50]
lea rdx, [0x140000000]
mov r8d, 0x1000
test edi, edi
je 0x1401d3f01
neg ecx
mov dword [rsp + 0x78], ecx
xor r11d, r11d
jmp case.0x1401d2775.86
test r15d, r15d
jns 0x1401d3f24
mov eax, dword [r12 + 4]
dec eax
cdqe
lea rcx, [rax + rax*2]
lea r12, [rbx + rcx*8]
jmp case.0x1401d2775.86
jne 0x1401d3f3c
mov eax, dword [r12 + 8]
dec eax
cdqe
lea rcx, [rax + rax*2]
lea r12, [rbx + rcx*8]
jmp case.0x1401d2775.86
mov eax, dword [r12 + 0xc]
dec eax
cdqe
lea rcx, [rax + rax*2]
lea r12, [rbx + rcx*8]
jmp case.0x1401d2775.86
mov rdi, qword [rsp + 0x38]
mov r15d, 2
mov edx, r15d
movsxd rax, dword [rdi + 4]
imul rcx, rax, 0x38
add rcx, r14
call fcn.1401d1860
movsxd rcx, dword [rdi + 8]
mov edx, r15d
imul rcx, rcx, 0x38
mov ebx, eax
add rcx, r14
call fcn.1401d1860
lea rdx, [0x140000000]
lea eax, [rax + rbx*2]
add eax, ebx
movsxd rcx, eax
mov rax, rdi
cmp byte [rax], 0x2c
jne 0x1401d3fa6
movzx edx, byte [rcx + rdx + 0x31a940]
jmp 0x1401d3fae
movzx edx, byte [rcx + rdx + 0x31a950]
movsxd rax, dword [rax + 0xc]
imul rcx, rax, 0x38
add rcx, r14
cmp dl, r15b
jne 0x1401d3fda
movzx eax, word [rcx + 8]
mov edx, 0x3e40
and ax, dx
mov r12, rdi
or ax, 1
mov word [rcx + 8], ax
jmp 0x1401d33ef
movzx eax, dl
mov r12, rdi
mov qword [rcx], rax
mov edx, 0x3e40
movzx eax, word [rcx + 8]
and ax, dx
or ax, 4
mov word [rcx + 8], ax
jmp 0x1401d33ef
mov rdi, qword [rsp + 0x38]
movsxd rax, dword [rdi + 4]
mov edx, dword [rdi + 0xc]
imul rcx, rax, 0x38
add rcx, r14
call fcn.1401d1860
movsxd rcx, eax
mov r9d, 0x2400
mov rax, rdi
movsxd rdx, dword [rax + 0x10]
movsxd rax, dword [rax + 8]
xor rdx, rcx
imul rcx, rax, 0x38
add rcx, r14
test word [rcx + 8], r9w
je 0x1401d4046
call fcn.1401f2860
mov r12, rdi
jmp 0x1401d33f4
mov eax, 4
mov qword [rcx], rdx
mov word [rcx + 8], ax
mov r12, rdi
jmp 0x1401d33fa
movsxd rax, dword [r12 + 4]
imul rcx, rax, 0x38
movsxd rax, dword [r12 + 8]
imul rbx, rax, 0x38
add rcx, r14
add rbx, r14
movzx eax, word [rcx + 8]
test al, 1
jne 0x1401d40f4
test al, 0x24
je 0x1401d408a
cmp qword [rcx], 0
mov rax, r11
sete al
jmp 0x1401d40c7
test al, 8
je 0x1401d4094
movsd xmm0, qword [rcx]
jmp 0x1401d40b7
test al, 0x12
je 0x1401d40c4
call fcn.140182400
xor r11d, r11d
lea rdx, [0x140000000]
mov r9d, 0x2400
mov r8d, 0x1000
lea r10d, [r11 + 1]
ucomisd xmm0, xmm6
jp 0x1401d40bf
je 0x1401d40c4
mov rax, r11
jmp 0x1401d40c7
mov rax, r10
test word [rbx + 8], r9w
je 0x1401d40de
mov rdx, rax
mov rcx, rbx
call fcn.1401f2860
jmp 0x1401d33ef
mov qword [rbx], rax
mov eax, 4
mov word [rbx + 8], ax
mov rbx, qword [rsp + 0x50]
jmp case.0x1401d2775.86
test word [rbx + 8], r9w
je 0x1401d4108
mov rcx, rbx
call fcn.1401f17a0
jmp 0x1401d33ef
mov word [rbx + 8], r10w
mov rbx, qword [rsp + 0x50]
jmp case.0x1401d2775.86
mov rdi, qword [rsp + 0x38]
movsxd rax, dword [rdi + 4]
imul rbx, rax, 0x38
movsxd rax, dword [rdi + 8]
imul rdi, rax, 0x38
add rbx, r14
add rdi, r14
test word [rdi + 8], r9w
je 0x1401d414c
mov rcx, rdi
call fcn.1401f17a0
xor r11d, r11d
mov r9d, 0x2400
jmp 0x1401d4151
mov word [rdi + 8], r10w
test byte [rbx + 8], 1
jne 0x1401d48a4
mov eax, 4
mov word [rdi + 8], ax
movzx eax, word [rbx + 8]
test al, 0x24
je 0x1401d417f
mov rax, qword [rbx]
mov r12, qword [rsp + 0x38]
not rax
mov qword [rdi], rax
jmp 0x1401d33ef
test al, 8
je 0x1401d419c
movsd xmm0, qword [rbx]
call fcn.1401725a0
mov r12, qword [rsp + 0x38]
not rax
mov qword [rdi], rax
jmp 0x1401d33ef
test al, 0x12
je 0x1401d41bf
cmp qword [rbx + 0x10], 0
je 0x1401d41bf
mov rcx, rbx
call fcn.1401823d0
mov r12, qword [rsp + 0x38]
not rax
mov qword [rdi], rax
jmp 0x1401d33ef
mov rax, r11
not rax
mov qword [rdi], rax
mov r12, qword [rsp + 0x38]
jmp 0x1401d33ef
mov r8, qword [r13 + 0x100]
test r8, r8
je 0x1401d424c
mov r9, qword [r8 + 0x30]
mov rcx, r12
sub rcx, qword [r13 + 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 0x1401d614e
bts eax, edx
mov r8d, 0x1000
mov byte [rcx + r9], al
lea rdx, [0x140000000]
mov rcx, qword [r13 + 0x88]
mov r9d, 0x2400
mov eax, dword [rcx + 4]
mov dword [r12 + 4], eax
jmp case.0x1401d2775.86
mov rcx, qword [r13 + 0x88]
mov eax, dword [r12 + 4]
cmp dword [rcx + 4], eax
je 0x1401d614e
mov eax, dword [rcx + 4]
mov r8d, 0x1000
mov dword [r12 + 4], eax
jmp case.0x1401d2775.86
movsxd rax, dword [r12 + 4]
mov edx, dword [r12 + 0xc]
imul rcx, rax, 0x38
add rcx, r14
call fcn.1401d1860
test eax, eax
jne 0x1401d42bf
jmp 0x1401d33f4
mov rax, qword [rsp + 0x38]
mov edx, r11d
cmp dword [rax + 0xc], 0
movsxd rax, dword [rax + 4]
sete dl
imul rcx, rax, 0x38
add rcx, r14
call fcn.1401d1860
mov r12, qword [rsp + 0x38]
test eax, eax
jne 0x1401d33f4
xor r11d, r11d
lea r10d, [r11 + 1]
jmp 0x1401d614e
movsxd rax, dword [r12 + 4]
imul rcx, rax, 0x38
test byte [rcx + r14 + 8], 1
jne 0x1401d614e
jmp case.0x1401d2775.86
movsxd rax, dword [r12 + 4]
imul rcx, rax, 0x38
test byte [rcx + r14 + 8], 1
jne 0x1401d4311
movsxd rax, dword [r12 + 0xc]
imul rcx, rax, 0x38
test byte [rcx + r14 + 8], 1
jne 0x1401d4311
movsxd rax, dword [r12 + 8]
jmp 0x1401d3858
movsxd rax, dword [r12 + 8]
imul rcx, rax, 0x38
add rcx, r14
test word [rcx + 8], r9w
je 0x1401d432e
call fcn.1401f17a0
jmp 0x1401d33f4
mov word [rcx + 8], r10w
jmp case.0x1401d2775.86
movsxd rax, dword [r12 + 4]
imul rcx, rax, 0x38
test byte [rcx + r14 + 8], 1
je 0x1401d614e
jmp case.0x1401d2775.86
movsxd rcx, dword [r12 + 4]
mov rax, qword [r13 + 0x78]
mov rcx, qword [rax + rcx*8]
cmp byte [rcx + 2], 0
je case.0x1401d2775.86
movsxd rax, dword [r12 + 0xc]
imul rcx, rax, 0x38
add rcx, r14
test word [rcx + 8], r9w
je 0x1401d438d
call fcn.1401f17a0
xor r11d, r11d
lea r10d, [r11 + 1]
jmp 0x1401d614e
mov word [rcx + 8], r10w
jmp 0x1401d614e
movsxd rcx, dword [r12 + 4]
mov rax, qword [r13 + 0x78]
mov r15d, dword [r12 + 8]
mov dword [rsp + 0x7c], r15d
mov r13, qword [rax + rcx*8]
cmp byte [r13 + 3], 0
je 0x1401d446c
mov rdx, qword [r13 + 0x20]
test rdx, rdx
je 0x1401d4462
lea eax, [r15 + 1]
mov eax, dword [rdx + rax*4]
test eax, eax
je 0x1401d4462
cmp byte [r13 + 2], 0
jne 0x1401d4462
mov r13, qword [r13 + 0x30]
lea r15d, [rax - 1]
mov dword [rsp + 0x7c], r15d
lea rdx, [0x140000000]
mov dword [rsp + 0x30], r11d
mov rax, qword [rsp + 0x38]
mov r12, qword [rsp + 0x68]
mov rsi, qword [r13 + 0x60]
mov qword [rbp - 0x78], rsi
movsxd rax, dword [rax + 0xc]
imul rcx, rax, 0x38
mov eax, dword [r12 + 0x30]
add r14, rcx
mov qword [rbp + 0x18], r14
cmp dword [r13 + 0x28], eax
je 0x1401d45e8
cmp byte [r13 + 2], 0
je 0x1401d44eb
cmp byte [r13], 3
jne 0x1401d44af
movsxd rax, dword [r13 + 0x2c]
mov rdx, qword [rsp + 0x60]
imul rcx, rax, 0x38
mov eax, dword [rcx + rdx + 0xc]
mov dword [r13 + 0x74], eax
mov dword [r13 + 0x70], eax
mov rcx, qword [rcx + rdx + 0x10]
mov qword [r13 + 0x68], rcx
jmp 0x1401d453e
mov rcx, r13
call fcn.1401db250
jmp 0x1401d4481
mov rax, qword [r13 + 0x38]
cmp byte [rax], 0
je 0x1401d43f4
mov rcx, r13
call fcn.14017e890
mov dword [rsp + 0x30], eax
mov r10d, eax
test eax, eax
jne 0x1401d9e8c
xor r11d, r11d
lea r10d, [rax + 1]
mov r9d, 0x2400
lea rdx, [0x140000000]
mov r8d, 0x1000
jmp 0x1401d43f9
test word [r14 + 8], r9w
je 0x1401d44d2
mov rcx, r14
call fcn.1401f17a0
mov rsi, qword [rsp + 0x40]
mov r12, qword [rsp + 0x38]
mov r14, qword [rsp + 0x60]
jmp 0x1401d33f4
mov rsi, qword [rsp + 0x40]
mov r12, qword [rsp + 0x38]
mov word [r14 + 8], r10w
mov r14, qword [rsp + 0x60]
jmp case.0x1401d2775.86
mov rbx, qword [r13 + 0x38]
mov rcx, rbx
call fcn.14017dcc0
mov r8d, dword [rbx + 0x40]
mov dword [r13 + 0x70], r8d
mov rax, qword [rbx + 0x88]
movzx ecx, word [rbx + 0x44]
mov edx, dword [rax + 0x58]
sub edx, dword [rbx + 0x38]
cmp ecx, edx
jle 0x1401d4520
test edx, edx
mov ecx, edx
mov eax, 0
cmovs ecx, eax
mov r9, qword [rsp + 0x40]
mov dword [r13 + 0x74], ecx
mov rcx, qword [rbx + 0x38]
mov qword [r13 + 0x68], rcx
cmp r8d, dword [r9 + 0x80]
ja 0x1401da2a9
mov eax, dword [r12 + 0x30]
mov dword [r13 + 0x28], eax
movzx eax, byte [rcx]
cmp al, 0x80
jae 0x1401d4554
mov dword [rsi], eax
mov al, 1
jmp 0x1401d455c
mov rdx, rsi
call fcn.1401b3ea0
lea rbx, [r13 + 0x52]
movzx edx, al
mov dword [r13 + 0x48], edx
xor r11d, r11d
mov word [rbx], r11w
mov ecx, dword [rsi]
mov qword [rbp - 0x68], rbx
cmp dword [r13 + 0x74], ecx
jae 0x1401d45d7
mov qword [r13 + 0x68], r11
mov dword [r13 + 0x74], r11d
mov eax, dword [rsi]
cmp eax, 0x18003
ja 0x1401d4595
mov qword [rbp - 0x68], rbx
cmp eax, dword [r13 + 0x70]
jbe 0x1401d45f0
mov r9d, 0x2400
mov rbx, qword [rsp + 0x50]
mov eax, dword [rbx + 0xc]
test eax, eax
jle 0x1401d9e76
mov r14, qword [rsp + 0x60]
dec eax
movsxd rcx, eax
mov r10d, 1
lea rax, [rcx + rcx*2]
lea rsi, [rbx + rax*8]
mov qword [rsp + 0x38], rsi
mov r12, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x40]
jmp 0x1401d3403
mov r9, qword [r13 + 0x68]
movzx eax, r11w
mov qword [rbp - 0x70], r9
jmp 0x1401d46b8
lea rbx, [r13 + 0x52]
mov qword [rbp - 0x68], rbx
movzx eax, word [rbx]
cmp eax, r15d
ja 0x1401d48f6
mov edx, dword [r13 + 0x48]
mov ecx, dword [rsi]
cmp edx, ecx
jae 0x1401d4805
mov r9, qword [r13 + 0x68]
mov qword [rbp - 0x70], r9
test r9, r9
jne 0x1401d46b4
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp + 0x38], xmm0
mov qword [rbp + 0x68], rax
movups xmmword [rbp + 0x48], xmm0
movups xmmword [rbp + 0x58], xmm0
mov r10, qword [r13 + 0x38]
mov r8d, dword [rsi]
mov rax, qword [r10 + 0x88]
movzx ecx, word [r10 + 0x44]
mov edx, dword [rax + 0x58]
sub edx, dword [r10 + 0x38]
cmp ecx, edx
jle 0x1401d4656
test edx, edx
mov ecx, edx
cmovs ecx, r11d
mov r9, qword [r10 + 0x38]
mov qword [rbp - 0x70], r9
mov qword [rbp + 0x48], r9
cmp r8d, ecx
ja 0x1401d4684
mov dword [rbp + 0x44], r8d
mov eax, 0x1010
mov word [rbp + 0x40], ax
movzx eax, word [rbx]
mov ecx, dword [rsi]
mov edx, dword [r13 + 0x48]
mov dword [rsp + 0x30], r11d
jmp 0x1401d46b8
lea r9, [rbp + 0x38]
xor edx, edx
mov rcx, r10
call fcn.1401dcce0
mov dword [rsp + 0x30], eax
mov r10d, eax
test eax, eax
jne 0x1401da5a7
mov r9, qword [rbp + 0x48]
movzx eax, word [rbx]
mov ecx, dword [rsi]
mov edx, dword [r13 + 0x48]
mov qword [rbp - 0x70], r9
jmp 0x1401d46b8
mov qword [rbp - 0x68], rbx
movzx r15d, ax
mov r12d, ecx
mov ebx, r15d
mov rcx, qword [rbp - 0x78]
mov r14d, dword [rsi + r15*4]
mov esi, edx
add rsi, r9
add r12, r9
nop dword [rax]
nop word [rax + rax]
movzx edi, byte [rsi]
mov eax, 0x80
mov dword [rbp - 0x5c], edi
mov dword [r13 + rbx*4 + 0x78], edi
cmp edi, eax
jae 0x1401d4708
lea rdx, [0x140000000]
inc rsi
movzx eax, byte [rdi + rdx + 0x31a860]
jmp 0x1401d4745
lea rdx, [rbp - 0x5c]
mov rcx, rsi
call fcn.1401b3ea0
mov edi, dword [rbp - 0x5c]
movzx eax, al
add rsi, rax
mov dword [r13 + rbx*4 + 0x78], edi
mov eax, 0x80
cmp edi, eax
jb 0x1401d4732
lea eax, [rdi - 0xc]
shr eax, 1
jmp 0x1401d4741
lea rcx, [0x140000000]
movzx eax, byte [rdi + rcx + 0x31a860]
mov rcx, qword [rbp - 0x78]
inc r15d
add r14, rax
movsxd rbx, r15d
mov dword [rcx + rbx*4], r14d
cmp r15d, dword [rsp + 0x7c]
ja 0x1401d4760
cmp rsi, r12
jb 0x1401d46e0
jmp 0x1401d4765
cmp rsi, r12
jb 0x1401d47ba
cmp rsi, r12
ja 0x1401d47c3
mov eax, dword [r13 + 0x70]
cmp r14, rax
jne 0x1401d47c3
sub esi, dword [rbp - 0x70]
mov r12d, 0x2400
mov rbx, qword [rbp - 0x68]
mov word [rbx], r15w
mov dword [r13 + 0x48], esi
cmp qword [r13 + 0x68], 0
jne 0x1401d47a5
test word [rbp + 0x40], r12w
jne 0x1401d479c
cmp dword [rbp + 0x58], 0
je 0x1401d47a5
lea rcx, [rbp + 0x38]
call fcn.1401f1750
movzx eax, word [rbx]
xor r11d, r11d
mov rsi, qword [rbp - 0x78]
mov r14, qword [rbp + 0x18]
mov r15d, dword [rsp + 0x7c]
jmp 0x1401d4812
mov eax, dword [r13 + 0x70]
cmp r14, rax
jbe 0x1401d4773
cmp dword [rcx], 0
jne 0x1401d47d2
xor eax, eax
mov rsi, r12
mov r15d, eax
jmp 0x1401d4773
cmp qword [r13 + 0x68], 0
mov r9d, 0x2400
jne 0x1401d47fd
test word [rbp + 0x40], r9w
jne 0x1401d47ec
cmp dword [rbp + 0x58], 0
je 0x1401d47fd
lea rcx, [rbp + 0x38]
call fcn.1401f1750
xor r11d, r11d
jmp 0x1401d4595
xor r11d, r11d
jmp 0x1401d459b
mov edi, r11d
mov dword [rbp - 0x5c], r11d
mov r12d, 0x2400
movzx eax, ax
cmp eax, r15d
ja 0x1401d48f1
mov rsi, qword [rsp + 0x38]
mov r9d, 0x2400
cmp byte [rsi + 1], 0xf5
jne 0x1401d48b9
mov rax, qword [rsi + 0x10]
test word [r14 + 8], r9w
je 0x1401d4854
mov r8d, 0x800
mov rdx, rax
mov rcx, r14
call fcn.1401f0240
jmp 0x1401d33e0
movups xmm0, xmmword [rax]
mov rsi, qword [rsp + 0x40]
mov ecx, 0x800
movups xmmword [r14], xmm0
movsd xmm1, qword [rax + 0x10]
movsd qword [r14 + 0x10], xmm1
test word [rax + 8], cx
jne 0x1401d489f
mov r12, qword [rsp + 0x38]
mov eax, 0xebff
and word [r14 + 8], ax
mov r10d, 1
or word [r14 + 8], cx
mov r14, qword [rsp + 0x60]
mov rbx, qword [rsp + 0x50]
jmp 0x1401d3403
mov r14, qword [rsp + 0x60]
mov r12, qword [rsp + 0x38]
mov r10d, 1
mov rbx, qword [rsp + 0x50]
jmp 0x1401d3403
test word [r14 + 8], r9w
je 0x1401d48cd
mov rcx, r14
call fcn.1401f17a0
jmp 0x1401d33e0
mov rsi, qword [rsp + 0x40]
mov r10d, 1
mov r12, qword [rsp + 0x38]
mov rbx, qword [rsp + 0x50]
mov word [r14 + 8], r10w
mov r14, qword [rsp + 0x60]
jmp 0x1401d3403
mov ebx, r15d
jmp 0x1401d4907
mov ebx, r15d
mov r12d, 0x2400
mov edi, dword [r13 + rbx*4 + 0x78]
mov dword [rbp - 0x5c], edi
test word [r14 + 8], r12w
je 0x1401d4916
mov rcx, r14
call fcn.1401f17a0
lea eax, [r15 + 1]
mov eax, dword [rsi + rax*4]
cmp dword [r13 + 0x74], eax
jb 0x1401d49ed
mov esi, dword [rsi + rbx*4]
add rsi, qword [r13 + 0x68]
cmp edi, 0xc
jae 0x1401d4945
mov rcx, rsi
mov edx, edi
mov r8, r14
call fcn.1401def80
jmp 0x1401d33e0
movzx eax, byte [rsp + 0x48]
lea ebx, [rdi - 0xc]
shr ebx, 1
mov dword [r14 + 0xc], ebx
mov byte [r14 + 0xa], al
lea edx, [rbx + 2]
cmp dword [r14 + 0x20], edx
jge 0x1401d4984
mov r12d, 1
xor r8d, r8d
mov rcx, r14
mov word [r14 + 8], r12w
call fcn.1401dce50
test eax, eax
jne 0x1401da51e
mov rcx, qword [r14 + 0x10]
jmp 0x1401d498c
mov rcx, qword [r14 + 0x18]
mov qword [r14 + 0x10], rcx
mov r8, rbx
mov rdx, rsi
call fcn.1402b53e0
mov rax, qword [r14 + 0x10]
lea rdx, [0x140000000]
mov rsi, qword [rsp + 0x40]
mov r9d, 0x2400
mov r12, qword [rsp + 0x38]
mov r8d, 0x1000
mov byte [rbx + rax], 0
mov rax, qword [r14 + 0x10]
mov byte [rbx + rax + 1], 0
mov eax, edi
mov rbx, qword [rsp + 0x50]
and eax, 1
xor r11d, r11d
movzx eax, word [rdx + rax*2 + 0x31a114]
mov word [r14 + 8], ax
lea r10d, [r11 + 1]
mov r14, qword [rsp + 0x60]
jmp case.0x1401d2775.86
movzx eax, byte [rsp + 0x48]
mov byte [r14 + 0xa], al
mov rax, qword [rsp + 0x38]
movzx eax, word [rax + 2]
test al, 0xc0
je 0x1401d4a12
cmp edi, 0xc
jb 0x1401d4a0e
test dil, 1
je 0x1401d4a3b
test al, al
js 0x1401d4a3b
mov eax, 0x80
cmp edi, eax
jb 0x1401d4a24
lea r8d, [rdi - 0xc]
shr r8d, 1
jmp 0x1401d4a36
mov eax, edi
lea rcx, [0x140000000]
movzx r8d, byte [rax + rcx + 0x31a860]
test r8d, r8d
jne 0x1401d4a51
lea rcx, [0x140318840]
mov edx, edi
mov r8, r14
call fcn.1401def80
jmp 0x1401d33e0
mov edx, dword [rsi + rbx*4]
mov r9, r14
mov rcx, qword [r13 + 0x38]
call fcn.1401dcce0
mov dword [rsp + 0x30], eax
mov r10d, eax
test eax, eax
jne 0x1401d9e87
mov rcx, qword [r14 + 0x10]
mov r8, r14
mov edx, edi
call fcn.1401def80
mov eax, 0xefff
and word [r14 + 8], ax
jmp 0x1401d33e0
mov rax, qword [rsp + 0x38]
mov rdi, qword [rax + 0x10]
movsxd rax, dword [rax + 4]
imul rbx, rax, 0x38
movzx eax, byte [rdi]
add rbx, r14
cmp al, 0x43
jl 0x1401d4ace
movzx eax, word [rbx + 8]
test al, 4
jne 0x1401d4b03
test al, 8
jne 0x1401d4ac4
test al, 2
je 0x1401d4b03
mov edx, r10d
mov rcx, rbx
call fcn.140165400
jmp 0x1401d4b03
mov rcx, rbx
call fcn.1401dbf40
jmp 0x1401d4b03
cmp al, 0x42
jne 0x1401d4b03
movzx ecx, word [rbx + 8]
movzx eax, cx
test cl, 2
jne 0x1401d4af7
test cl, 0x2c
je 0x1401d4af7
movzx edx, byte [rsp + 0x48]
mov r8b, 1
mov rcx, rbx
call fcn.1401dd6e0
movzx eax, word [rbx + 8]
mov ecx, 0xffd3
and ax, cx
mov word [rbx + 8], ax
cmp byte [rdi], 0x45
jne 0x1401d4b55
movzx ecx, word [rbx + 8]
test cl, 4
je 0x1401d4b55
mov rdx, qword [rbx]
movabs rax, 0x800000000000
add rax, rdx
movabs r8, 0xffffffffffff
cmp rax, r8
mov eax, 0xfffb
ja 0x1401d4b3e
and cx, ax
or cx, 0x20
jmp 0x1401d4b51
xorps xmm0, xmm0
and cx, ax
cvtsi2sd xmm0, rdx
or cx, 8
movsd qword [rbx], xmm0
mov word [rbx + 8], cx
movzx eax, byte [rdi + 1]
inc rdi
test al, al
je 0x1401d7ffd
add rbx, 0x38
mov r10d, 1
jmp 0x1401d4aa3
mov rcx, qword [rsp + 0x38]
mov rdx, r11
movzx r13d, byte [r13 + 0xc3]
mov r15, r11
mov r12d, r11d
mov qword [rbp - 0x70], rdx
mov byte [rbp - 0x80], r13b
movsxd rax, dword [rcx + 4]
mov rdi, qword [rcx + 0x10]
imul r11, rax, 0x38
mov eax, dword [rcx + 8]
dec eax
add r11, r14
cdqe
imul rsi, rax, 0x38
movsxd rax, dword [rcx + 0xc]
imul rcx, rax, 0x38
add rsi, r11
mov qword [rbp - 0x78], r11
add rcx, r14
mov qword [rbp - 0x68], rsi
mov qword [rbp + 0x18], rcx
test rdi, rdi
je 0x1401d4c2d
movzx eax, byte [rdi]
lea rbx, [r11 + 8]
movzx esi, byte [rsp + 0x48]
mov r13d, 0xfffb
nop dword [rax]
lea rcx, [rbx - 8]
movzx r8d, sil
movzx edx, al
call fcn.140165380
cmp byte [rdi], 0x45
jne 0x1401d4c07
movzx eax, word [rbx]
test al, 4
je 0x1401d4c07
and ax, r13w
or ax, 0x20
mov word [rbx], ax
movzx eax, byte [rdi + 1]
inc rdi
add rbx, 0x38
test al, al
jne 0x1401d4be0
movzx r13d, byte [rbp - 0x80]
mov r10d, 1
mov rdx, qword [rbp - 0x70]
mov r11, qword [rbp - 0x78]
mov rsi, qword [rbp - 0x68]
lea r14, [rsi + 0x24]
movzx ecx, word [r14 - 0x1c]
test cl, 1
je 0x1401d4c56
mov eax, 0x4000
and cx, ax
neg cx
sbb eax, eax
and eax, 0xa
mov dword [r14], eax
inc r12d
jmp 0x1401d4dd5
test cl, 0x24
je 0x1401d4d51
mov r8, qword [r14 - 0x24]
mov rdx, r8
test r8, r8
jns 0x1401d4c6e
not rdx
inc r12d
cmp rdx, 0x7f
ja 0x1401d4ca1
mov rax, r8
and eax, 1
cmp rax, r8
jne 0x1401d4c93
cmp r13b, 4
jb 0x1401d4c93
lea eax, [rdx + 8]
mov dword [r14], eax
jmp 0x1401d4dd5
mov eax, r10d
inc r15
mov dword [r14], eax
jmp 0x1401d4dd5
cmp rdx, 0x7fff
ja 0x1401d4cbb
mov eax, 2
add r15, 2
mov dword [r14], eax
jmp 0x1401d4dd5
cmp rdx, 0x7fffff
ja 0x1401d4cd5
mov eax, 3
add r15, 3
mov dword [r14], eax
jmp 0x1401d4dd5
cmp rdx, 0x7fffffff
ja 0x1401d4cef
mov eax, 4
add r15, 4
mov dword [r14], eax
jmp 0x1401d4dd5
movabs rax, 0x7fffffffffff
cmp rdx, rax
ja 0x1401d4d0f
mov eax, 5
add r15, 6
mov dword [r14], eax
jmp 0x1401d4dd5
add r15, 8
test cl, 0x20
je 0x1401d4d44
mov eax, 0xffdf
xorps xmm0, xmm0
and cx, ax
mov eax, 7
cvtsi2sd xmm0, r8
or cx, 8
movsd qword [r14 - 0x24], xmm0
mov word [r14 - 0x1c], cx
mov dword [r14], eax
jmp 0x1401d4dd5
mov eax, 6
mov dword [r14], eax
jmp 0x1401d4dd5
test cl, 8
je 0x1401d4d66
inc r12d
mov dword [r14], 7
add r15, 8
jmp 0x1401d4dd5
mov edi, dword [r14 - 0x18]
mov eax, ecx
shr eax, 1
and eax, 1
bt cx, 0xe
lea esi, [rdi + 6]
lea esi, [rax + rsi*2]
jae 0x1401d4dac
movsxd rax, dword [r14 - 0x24]
lea esi, [rsi + rax*2]
test r15, r15
je 0x1401d4da5
lea rcx, [r14 - 0x24]
call fcn.1401dcbd0
test eax, eax
jne 0x1401da517
add edi, dword [r14 - 0x24]
lea r10d, [rax + 1]
jmp 0x1401d4dac
add rdx, rax
mov qword [rbp - 0x70], rdx
mov eax, edi
mov ecx, r10d
add r15, rax
mov eax, esi
shr rax, 7
test rax, rax
je 0x1401d4dcb
nop
inc ecx
shr rax, 7
test rax, rax
jne 0x1401d4dc0
mov r11, qword [rbp - 0x78]
add r12d, ecx
mov dword [r14], esi
lea rax, [r14 - 0x24]
cmp rax, r11
je 0x1401d4deb
mov rdx, qword [rbp - 0x70]
sub r14, 0x38
jmp 0x1401d4c31
cmp r12d, 0x7e
jle 0x1401d4e2f
movsxd rax, r12d
mov edx, r10d
shr rax, 7
test rax, rax
je 0x1401d4e0b
inc edx
shr rax, 7
test rax, rax
jne 0x1401d4e00
add r12d, edx
mov ecx, r10d
movsxd rax, r12d
shr rax, 7
test rax, rax
je 0x1401d4e2b
nop dword [rax]
inc ecx
shr rax, 7
test rax, rax
jne 0x1401d4e20
cmp edx, ecx
jge 0x1401d4e32
inc r12d
mov r14, qword [rbp + 0x18]
mov rsi, qword [rbp - 0x70]
movsxd rbx, r12d
movsxd rdx, dword [r14 + 0x20]
lea rdi, [r15 + rbx]
lea rcx, [rdi + rsi]
cmp rcx, rdx
jle 0x1401d4e86
mov r9, qword [rsp + 0x40]
movsxd rax, dword [r9 + 0x80]
cmp rcx, rax
jg 0x1401da2a2
cmp edx, edi
jge 0x1401d4e86
xor r8d, r8d
mov edx, edi
mov rcx, r14
call fcn.1401dce50
test eax, eax
jne 0x1401da517
mov r11, qword [rbp - 0x78]
lea r10d, [rax + 1]
jmp 0x1401d4e8e
mov rax, qword [r14 + 0x18]
mov qword [r14 + 0x10], rax
mov dword [r14 + 0xc], edi
mov eax, reloc.WS2_32.dll_recv
mov word [r14 + 8], ax
test rsi, rsi
je 0x1401d4eae
mov eax, 0x4010
mov dword [r14], esi
mov word [r14 + 8], ax
mov rsi, qword [r14 + 0x10]
mov ecx, 0x80
lea rdi, [rsi + rbx]
cmp r12d, ecx
jae 0x1401d4ec8
mov byte [rsi], r12b
mov eax, r10d
jmp 0x1401d4f0d
cmp rbx, 0x7f
ja 0x1401d4ed8
and bl, 0x7f
mov eax, r10d
mov byte [rsi], bl
jmp 0x1401d4f0d
cmp rbx, 0x3fff
ja 0x1401d4efd
mov rax, rbx
mov r8d, 2
shr rax, 7
or al, cl
mov byte [rsi], al
and bl, 0x7f
mov byte [rsi + 1], bl
mov eax, r8d
jmp 0x1401d4f13
mov rdx, rbx
mov rcx, rsi
call fcn.14018c0a0
mov ecx, 0x80
mov r8d, 2
mov r15, qword [rbp - 0x68]
lea r14, [r11 + 0xc]
movzx eax, al
mov r13d, 1
add rsi, rax
mov r11d, dword [r14 + 0x18]
cmp r11d, ecx
jae 0x1401d4f38
mov byte [rsi], r11b
mov eax, r13d
jmp 0x1401d4f72
mov rdx, r11
cmp r11, 0x7f
ja 0x1401d4f4b
and dl, 0x7f
mov eax, r13d
mov byte [rsi], dl
jmp 0x1401d4f72
cmp rdx, 0x3fff
ja 0x1401d4f6a
mov rax, rdx
shr rax, 7
or al, 0x80
mov byte [rsi], al
and dl, 0x7f
mov byte [rsi + 1], dl
mov eax, r8d
jmp 0x1401d4f72
mov rcx, rsi
call fcn.14018c0a0
movzx eax, al
add rsi, rax
lea eax, [r11 - 1]
cmp eax, 6
ja 0x1401d4fb4
mov rdx, qword [r14 - 0xc]
lea rcx, [0x140000000]
movzx ecx, byte [r11 + rcx + 0x31a860]
mov r13d, 0xffffffff
mov ebx, ecx
nop dword [rax]
add ecx, r13d
mov byte [rcx + rdi], dl
shr rdx, 8
test ecx, ecx
jne 0x1401d4fa0
lea r13d, [rcx + 1]
jmp 0x1401d4fd6
cmp r11d, 0xc
jb 0x1401d4fd2
mov ebx, dword [r14]
test ebx, ebx
je 0x1401d4fd6
mov rdx, qword [r14 + 4]
mov r8d, ebx
mov rcx, rdi
call fcn.1402b53e0
jmp 0x1401d4fd6
xor eax, eax
mov ebx, eax
add r14, 0x38
mov eax, ebx
add rdi, rax
mov ecx, 0x80
lea rax, [r14 - 0xc]
lea r8d, [rcx - 0x7e]
cmp rax, r15
jbe 0x1401d4f27
jmp 0x1401d33e0
mov rdi, qword [rsp + 0x38]
mov rax, qword [r13 + 0x78]
cmp dword [rdi + 0xc], 0
movsxd rcx, dword [rdi + 4]
mov rcx, qword [rax + rcx*8]
mov rdx, qword [rcx + 0x38]
je 0x1401d5026
mov rcx, rdx
call fcn.14019d0b0
mov rbx, rax
mov qword [rbp], rax
jmp 0x1401d504c
xor r15d, r15d
lea r8, [rbp]
mov rcx, rsi
mov qword [rbp], r15
call fcn.14019a9c0
mov dword [rsp + 0x30], eax
mov r10d, eax
test eax, eax
jne 0x1401d3aa7
mov rbx, qword [rbp]
mov rax, rdi
mov r12d, 0x2400
movsxd rax, dword [rax + 8]
imul rax, rax, 0x38
add rax, qword [r13 + 0x68]
test word [rax + 8], r12w
je 0x1401d5078
mov rcx, rax
call fcn.140185e00
mov qword [rax], rbx
jmp 0x1401d7e14
mov ecx, 4
mov word [rax + 8], cx
mov qword [rax], rbx
jmp 0x1401d7e14
mov rax, qword [rsp + 0x38]
mov r10d, dword [rax + 4]
mov rsi, qword [rax + 0x10]
mov dword [rsp + 0x7c], r10d
test r10d, r10d
jne 0x1401d5186
mov rdi, qword [rsp + 0x40]
cmp dword [rdi + 0xd8], r10d
jg 0x1401d9e96
test rsi, rsi
jne 0x1401d50c3
xor r15d, r15d
mov ebx, r15d
jmp 0x1401d50e2
mov rbx, 0xffffffffffffffff
nop word [rax + rax]
inc rbx
cmp byte [rsi + rbx], 0
jne 0x1401d50d0
and ebx, 0x3fffffff
xor r15d, r15d
mov r8d, dword [rdi + 0x2cc]
xor edx, edx
add r8d, dword [rdi + 0x2c8]
mov rcx, rdi
call fcn.1401e0c60
mov dword [rsp + 0x30], eax
mov r10d, eax
test eax, eax
jne 0x1401da5b4
mov edx, ebx
mov rcx, rdi
add rdx, 0x21
call fcn.1401a2ff0
mov rdi, rax
test rax, rax
je 0x1401d7ff8
lea r9, [rax + 0x20]
mov rdx, rsi
mov rcx, r9
mov qword [rax], r9
lea r8d, [rbx + 1]
call fcn.1402b53e0
mov rsi, qword [rsp + 0x40]
cmp byte [rsi + 0x61], 0
je 0x1401d514e
mov byte [rsi + 0x61], 0
mov byte [rsi + 0x69], 1
jmp 0x1401d5154
inc dword [rsi + 0x2c8]
mov rax, qword [rsi + 0x2b8]
mov r12, qword [rsp + 0x38]
mov qword [rdi + 0x18], rax
mov qword [rsi + 0x2b8], rdi
mov rax, qword [rsi + 0x2d0]
mov qword [rdi + 8], rax
mov rax, qword [rsi + 0x2d8]
mov qword [rdi + 0x10], rax
jmp 0x1401d33ef
mov r9, qword [rsp + 0x40]
xor r15d, r15d
mov r13d, r15d
mov r12, qword [r9 + 0x2b8]
test r12, r12
je 0x1401d5295
lea r11, [0x140000000]
nop dword [rax + rax]
mov r8, qword [r12]
mov r9, rsi
sub r9, r8
nop word [rax + rax]
movzx edx, byte [r8]
movzx eax, byte [r8 + r9]
cmp edx, eax
jne 0x1401d5266
test edx, edx
jne 0x1401d527c
mov rsi, qword [rsp + 0x40]
cmp dword [rsi + 0xd8], r15d
jle 0x1401d51f1
cmp r10d, 1
je 0x1401d9eb3
cmp qword [r12 + 0x18], r15
jne 0x1401d52c2
cmp byte [rsi + 0x69], r15b
je 0x1401d52c2
mov edi, 1
mov r15d, edi
cmp r10d, edi
jne 0x1401d52c2
mov rbx, qword [rsp + 0x68]
mov rax, qword [rbx]
mov rcx, qword [rax + 0x2d8]
add rcx, qword [rax + 0x2d0]
test rcx, rcx
jg 0x1401d9f7c
mov rcx, rbx
mov byte [rsi + 0x61], dil
call fcn.1401db830
cmp eax, 5
je 0x1401d9ee6
mov r10d, dword [rbx + 0x38]
mov dword [rsp + 0x30], r10d
test r10d, r10d
jne 0x1401d9ed7
mov byte [rsi + 0x69], r10b
jmp 0x1401d53c7
movzx ecx, byte [rax + r11 + 0x3186e0]
movzx eax, byte [rdx + r11 + 0x3186e0]
cmp eax, ecx
jne 0x1401d5284
inc r8
jmp 0x1401d51c0
mov r12, qword [r12 + 0x18]
inc r13d
test r12, r12
jne 0x1401d51b0
mov r13, qword [rsp + 0x68]
lea rdx, str.no_such_savepoint:__s
mov rcx, r13
mov r8, rsi
call fcn.1401d25d0
mov rsi, qword [rsp + 0x40]
mov edi, 1
mov r10d, edi
mov dword [rsp + 0x30], edi
jmp 0x1401d3aac
mov eax, dword [rsi + 0x2c8]
xor ecx, ecx
sub eax, r13d
lea r13d, [rax - 1]
mov eax, dword [rsi + 0x28]
cmp r10d, 2
jne 0x1401d533a
mov r14d, dword [rsi + 0x2c]
mov edi, ecx
and r14d, 1
test eax, eax
jle 0x1401d533d
mov esi, r14d
mov ebx, ecx
xor esi, 1
mov r9, qword [rsp + 0x40]
mov r8d, esi
mov edx, 0x204
mov rcx, qword [r9 + 0x20]
mov rcx, qword [rcx + rbx + 8]
call fcn.14019dcc0
mov dword [rsp + 0x30], eax
mov r10d, eax
test eax, eax
jne 0x1401d9e87
mov rax, qword [rsp + 0x40]
inc edi
add rbx, 0x20
mov eax, dword [rax + 0x28]
cmp edi, eax
jl 0x1401d52f0
mov r10d, dword [rsp + 0x7c]
xor ecx, ecx
mov rsi, qword [rsp + 0x40]
jmp 0x1401d533d
mov r14d, ecx
mov edi, ecx
test eax, eax
jle 0x1401d5383
mov rbx, rcx
nop word [rax + rax]
mov rcx, qword [rsi + 0x20]
mov r8d, r13d
mov edx, r10d
mov rcx, qword [rcx + rbx + 8]
call fcn.14019d110
mov dword [rsp + 0x30], eax
mov r10d, eax
test eax, eax
jne 0x1401d9e8c
mov r10d, dword [rsp + 0x7c]
inc edi
add rbx, 0x20
cmp edi, dword [rsi + 0x28]
jl 0x1401d5350
test r14d, r14d
je 0x1401d53b4
mov rax, qword [rsi + 8]
test rax, rax
je 0x1401d53a8
and dword [rax + 0xc8], 0xfffffffd
or dword [rax + 0xc8], 1
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x1401d5391
mov rcx, rsi
call fcn.1401c38c0
or dword [rsi + 0x2c], 1
mov r10d, dword [rsp + 0x30]
test r10d, r10d
jne 0x1401d9e8c
mov r14, qword [rsp + 0x60]
mov rcx, qword [rsi + 0x2b8]
cmp rcx, r12
je 0x1401d53fb
mov rax, qword [rcx + 0x18]
mov rdx, rcx
mov rcx, rsi
mov qword [rsi + 0x2b8], rax
call fcn.1401a2e60
dec dword [rsi + 0x2c8]
mov rcx, qword [rsi + 0x2b8]
cmp rcx, r12
jne 0x1401d53d3
mov ebx, dword [rsp + 0x7c]
cmp ebx, 1
jne 0x1401d542c
mov rax, qword [r12 + 0x18]
mov rdx, r12
mov rcx, rsi
mov qword [rsi + 0x2b8], rax
call fcn.1401a2e60
test r15d, r15d
jne 0x1401d7ffd
dec dword [rsi + 0x2c8]
jmp 0x1401d5452
mov rax, qword [r12 + 8]
mov qword [rsi + 0x2d0], rax
mov rax, qword [r12 + 0x10]
mov qword [rsi + 0x2d8], rax
test r15d, r15d
je 0x1401d5452
cmp ebx, 2
jne 0x1401d41c8
mov r8d, r13d
mov edx, ebx
mov rcx, rsi
call fcn.1401e0c60
mov dword [rsp + 0x30], eax
mov r10d, eax
test eax, eax
jne 0x1401d9e8c
mov r12, qword [rsp + 0x38]
jmp 0x1401d33ef
mov rcx, qword [rsp + 0x38]
xor r15d, r15d
mov dword [rbp - 0x50], r15d
mov edx, dword [rcx + 8]
test edx, edx
je 0x1401d5499
mov eax, dword [rsi + 0x30]
bt rax, 0x14
jb 0x1401d9f9e
movsxd rcx, dword [rcx + 4]
mov rax, qword [rsi + 0x20]
shl rcx, 5
mov rbx, qword [rcx + rax + 8]
test rbx, rbx
je 0x1401d560a
lea r8, [rbp - 0x50]
mov rcx, rbx
call fcn.140199c70
mov dword [rsp + 0x30], eax
mov r10d, eax
test eax, eax
jne 0x1401d9faf
test byte [r13 + 0xc8], 0x40
mov r12, qword [rsp + 0x38]
je 0x1401d55ae
cmp dword [r12 + 8], r15d
je 0x1401d55ae
cmp byte [rsi + 0x61], r15b
je 0x1401d54ff
cmp dword [rsi + 0xd4], 1
jle 0x1401d55ae
mov r8d, dword [r13 + 0x40]
test r8d, r8d
jne 0x1401d5520
inc dword [rsi + 0x2cc]
mov r8d, dword [rsi + 0x2c8]
add r8d, dword [rsi + 0x2cc]
mov dword [r13 + 0x40], r8d
dec r8d
xor edx, edx
mov rcx, rsi
call fcn.1401e0c60
mov dword [rsp + 0x30], eax
mov r10d, eax
test eax, eax
jne 0x1401d5598
mov edi, dword [r13 + 0x40]
mov rsi, qword [rbx + 8]
cmp byte [rbx + 0x11], r15b
je 0x1401d5557
inc dword [rbx + 0x14]
cmp byte [rbx + 0x12], r15b
jne 0x1401d5557
mov rcx, rbx
call fcn.1401692e0
mov rcx, qword [rsi]
cmp edi, dword [rcx + 0x80]
jle 0x1401d5575
cmp byte [rcx + 0xa], r15b
je 0x1401d5575
mov edx, edi
call fcn.1401867b0
mov dword [rsp + 0x30], eax
jmp 0x1401d557a
mov dword [rsp + 0x30], r15d
cmp byte [rbx + 0x11], r15b
je 0x1401d558e
sub dword [rbx + 0x14], 1
jne 0x1401d558e
mov rcx, rbx
call fcn.1401edd70
mov r10d, dword [rsp + 0x30]
mov rsi, qword [rsp + 0x40]
mov rax, qword [rsi + 0x2d0]
mov qword [r13 + 0x58], rax
mov rax, qword [rsi + 0x2d8]
mov qword [r13 + 0x60], rax
mov r8d, 0x1000
mov r9d, 0x2400
cmp word [r12 + 2], r15w
je 0x1401d55fc
mov eax, dword [r12 + 0xc]
cmp dword [rbp - 0x50], eax
jne 0x1401d9ff0
mov rax, qword [rsp + 0x38]
movsxd rcx, dword [rax + 4]
mov rax, qword [rsi + 0x20]
shl rcx, 5
mov rcx, qword [rcx + rax + 0x18]
mov rax, qword [rsp + 0x38]
mov eax, dword [rax + 0x10]
cmp dword [rcx + 4], eax
jne 0x1401d9ff0
mov r12, qword [rsp + 0x38]
test r10d, r10d
jne 0x1401d3aa7
jmp 0x1401d3104
mov r10d, dword [rsp + 0x30]
mov r12, qword [rsp + 0x38]
jmp 0x1401d55ba
mov rcx, qword [rsi + 0x20]
lea r8, [rbp - 0x10]
mov rax, qword [rsp + 0x38]
mov r12, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
mov edx, dword [r12 + 0xc]
shl rax, 5
mov rcx, qword [rax + rcx + 8]
call fcn.14019b1b0
movsxd rax, dword [r12 + 8]
mov r9d, 0x2400
imul rcx, rax, 0x38
add rcx, qword [r13 + 0x68]
test word [rcx + 8], r9w
je 0x1401d5673
call fcn.140185e00
mov rcx, rax
mov r9d, 0x2400
movsxd rax, dword [rbp - 0x10]
mov qword [rcx], rax
jmp 0x1401d33fa
mov eax, 4
mov word [rcx + 8], ax
movsxd rax, dword [rbp - 0x10]
mov qword [rcx], rax
jmp 0x1401d33fa
mov rax, qword [rsp + 0x38]
movsxd rbx, dword [rax + 4]
mov r8d, dword [rax + 0xc]
mov edx, dword [rax + 8]
shl rbx, 5
add rbx, qword [rsi + 0x20]
mov rcx, qword [rbx + 8]
call fcn.14019ddd0
mov r12, qword [rsp + 0x38]
mov r10d, eax
mov dword [rsp + 0x30], eax
mov rax, qword [rsp + 0x38]
mov eax, dword [rax + 8]
cmp eax, 1
jne 0x1401d56dc
mov ecx, dword [r12 + 0xc]
mov rax, r12
movzx eax, word [rax + 2]
sub ecx, eax
mov rax, qword [rbx + 0x18]
mov dword [rax], ecx
or dword [rsi + 0x2c], 1
jmp 0x1401d56f1
cmp eax, 2
jne 0x1401d56f1
mov rax, qword [rsp + 0x38]
mov rcx, qword [rbx + 0x18]
movzx eax, byte [rax + 0xc]
mov byte [rcx + 0x70], al
cmp dword [r12 + 4], 1
jne 0x1401d5721
mov rax, qword [rsi + 8]
test rax, rax
je 0x1401d5719
and dword [rax + 0xc8], 0xfffffffd
or dword [rax + 0xc8], 1
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x1401d5702
and dword [r13 + 0xc8], 0xfffffffc
test r10d, r10d
jne 0x1401d3aa4
jmp 0x1401d33ef
mov rax, qword [rsp + 0x38]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x78]
mov rbx, qword [rax + rcx*8]
test rbx, rbx
je case.0x1401d2775.98
mov rax, qword [rsp + 0x38]
mov eax, dword [rax + 8]
cmp dword [rbx + 0x4c], eax
je 0x1401d588b
mov eax, dword [r13 + 0xc8]
and al, 3
cmp al, 1
je 0x1401da085
mov rax, qword [rsp + 0x38]
mov esi, r11d
mov r9, qword [rsp + 0x40]
mov r14, r11
movsxd r12, dword [rax + 0xc]
mov r15d, dword [rax + 8]
mov rax, r12
shl rax, 5
add rax, qword [r9 + 0x20]
mov r9, qword [rsp + 0x38]
mov r13, qword [rax + 8]
cmp dil, 0x63
jne 0x1401d57c1
mov rax, qword [rax + 0x18]
movzx edi, word [r9 + 2]
and edi, 8
or edi, 4
movzx ecx, byte [rax + 0x70]
mov rax, qword [rsp + 0x68]
cmp cl, byte [rax + 0xc3]
jae 0x1401d57c4
mov byte [rax + 0xc3], cl
jmp 0x1401d57c4
mov edi, r11d
test byte [r9 + 2], 0x10
je 0x1401d57e4
imul rbx, r15, 0x38
add rbx, qword [rsp + 0x60]
mov rcx, rbx
call fcn.1401dcfe0
mov r9, qword [rsp + 0x38]
mov r15d, dword [rbx]
movzx eax, byte [r9 + 1]
cmp al, 0xf7
jne 0x1401d57f8
mov r14, qword [r9 + 0x10]
movzx esi, word [r14 + 8]
jmp 0x1401d5800
cmp al, 0xfd
jne 0x1401d5800
mov esi, dword [r9 + 0x10]
mov rcx, qword [rsp + 0x68]
mov r8d, esi
mov rsi, qword [rsp + 0x38]
mov r9d, r12d
mov byte [rsp + 0x20], 0
mov edx, dword [rsi + 4]
call fcn.140163730
mov rbx, rax
test rax, rax
je 0x1401da517
mov byte [rax + 2], 1
mov r9, r14
or dword [rax + 8], 4
mov r8d, edi
mov dword [rax + 0x4c], r15d
mov edx, r15d
mov rcx, qword [rax + 0x38]
mov qword [rsp + 0x20], rcx
mov rcx, r13
call fcn.14019abf0
mov r13, qword [rsp + 0x68]
lea rdx, [0x140000000]
mov qword [rbx + 0x40], r14
mov r10d, eax
cmp byte [rsi + 1], 0xf7
mov r9d, 0x2400
mov rsi, qword [rsp + 0x40]
mov r8d, 0x1000
mov r14, qword [rsp + 0x60]
mov dword [rsp + 0x30], eax
setne al
mov byte [rbx + 4], al
xor r11d, r11d
jmp 0x1401d5890
mov r10d, dword [rsp + 0x30]
mov rax, qword [rsp + 0x38]
movzx ecx, byte [rax + 2]
mov rax, qword [rbx + 0x38]
and cl, 3
mov byte [rax + 3], cl
test r10d, r10d
jne 0x1401d3aa4
mov r12, qword [rsp + 0x38]
mov r10d, 1
mov rbx, qword [rsp + 0x50]
jmp case.0x1401d2775.86
mov rax, qword [rsp + 0x38]
mov r9d, 0xffffffff
mov byte [rsp + 0x20], 0
movsxd rcx, dword [rax + 8]
mov rax, qword [r13 + 0x78]
mov rbx, qword [rax + rcx*8]
mov rcx, r13
mov rax, qword [rsp + 0x38]
movsx r8d, word [rbx + 0x50]
mov edx, dword [rax + 4]
call fcn.140163730
mov r10, rax
test rax, rax
je 0x1401da4fa
mov byte [rax + 2], 1
mov r8d, 4
or dword [rax + 8], 1
mov rcx, qword [rbx + 0x40]
mov qword [rax + 0x40], rcx
movzx ecx, byte [rbx + 4]
mov byte [rax + 4], cl
mov ecx, dword [rbx + 0x4c]
mov dword [rax + 0x4c], ecx
mov ecx, dword [rax + 8]
xor ecx, dword [rbx + 8]
and ecx, 4
xor ecx, dword [rax + 8]
mov dword [rax + 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 + 0x38]
mov r9, qword [r10 + 0x40]
mov edx, dword [r10 + 0x4c]
mov rcx, qword [r10 + 0x10]
mov qword [rsp + 0x20], rax
call fcn.14019abf0
mov r12, qword [rsp + 0x38]
mov dword [rsp + 0x30], eax
jmp 0x1401d33ef
mov rdi, qword [rsp + 0x38]
xor r15d, r15d
movsxd rax, dword [rdi + 0xc]
test eax, eax
jle 0x1401d5998
imul rcx, rax, 0x38
mov dword [rcx + r14 + 0xc], r15d
movsxd rax, dword [rdi + 0xc]
imul rcx, rax, 0x38
lea rax, [0x140348ec3]
mov qword [rcx + r14 + 0x10], rax
mov rax, rdi
movsxd rdx, dword [rax + 4]
mov rax, qword [r13 + 0x78]
mov rbx, qword [rax + rdx*8]
test rbx, rbx
je 0x1401d59e4
test byte [rbx + 8], 8
jne 0x1401d59e4
mov qword [rbx + 0x18], r15
xor r8d, r8d
mov dword [rbx + 0x28], r15d
mov edx, dword [rbx + 0x4c]
mov rcx, qword [rbx + 0x10]
call fcn.14019a0a0
mov dword [rsp + 0x30], eax
mov r10d, eax
test eax, eax
jne 0x1401d3aa7
mov byte [rbx + 2], 1
mov r12, rdi
jmp 0x1401d33ef
mov rax, rdi
mov byte [rsp + 0x20], 0
mov r9d, 0xffffffff
mov rcx, r13
mov r8d, dword [rax + 8]
call fcn.140163730
mov rbx, rax
test rax, rax
je 0x1401da256
or dword [rax + 8], 1
lea r9, [rbx + 0x10]
mov rax, rdi
mov dword [rsp + 0x28], 0x41e
mov r8, rsi
xor edx, edx
movzx ecx, word [rax + 2]
or ecx, 5
mov dword [rsp + 0x20], ecx
mov rcx, qword [rsi]
call fcn.14019c570
mov dword [rsp + 0x30], eax
mov r10d, eax
test eax, eax
jne 0x1401d3aa7
mov rcx, qword [rbx + 0x10]
mov r12d, 1
mov edx, r12d
xor r8d, r8d
call fcn.140199c70
mov dword [rsp + 0x30], eax
mov r10d, eax
test eax, eax
jne 0x1401d5af8
mov rax, rdi
mov r14, qword [rax + 0x10]
mov qword [rbx + 0x40], r14
test r14, r14
je 0x1401d5ac3
movzx r8d, word [rax + 2]
lea rdx, [rbx + 0x4c]
mov rcx, qword [rbx + 0x10]
or r8d, 2
call fcn.14019ab80
mov dword [rsp + 0x30], eax
mov r10d, eax
test eax, eax
jne 0x1401d5abd
mov rax, qword [rbx + 0x38]
lea r8d, [r12 + 3]
mov edx, dword [rbx + 0x4c]
mov r9, r14
mov rcx, qword [rbx + 0x10]
mov qword [rsp + 0x20], rax
call fcn.14019abf0
mov r10d, eax
mov dword [rsp + 0x30], eax
mov byte [rbx + 4], 0
jmp 0x1401d5aee
mov dword [rbx + 0x4c], r12d
xor r9d, r9d
mov rax, qword [rbx + 0x38]
mov edx, r12d
mov rcx, qword [rbx + 0x10]
mov qword [rsp + 0x20], rax
lea r8d, [r9 + 4]
call fcn.14019abf0
mov r10d, eax
mov dword [rsp + 0x30], eax
mov byte [rbx + 4], r12b
mov r14, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x40]
mov rax, rdi
mov ecx, r15d
cmp word [rax + 2], 8
mov eax, 4
cmovne ecx, eax
mov eax, dword [rbx + 8]
and eax, 0xfffffffb
or ecx, eax
mov dword [rbx + 8], ecx
test r10d, r10d
jne 0x1401da090
mov byte [rbx + 2], 1
mov r12, rdi
jmp 0x1401d33ef
mov rax, qword [rsp + 0x38]
mov r9d, 0xffffffff
mov rcx, r13
mov byte [rsp + 0x20], 1
mov r8d, dword [rax + 8]
mov edx, dword [rax + 4]
call fcn.140163730
test rax, rax
je 0x1401da4fa
mov rdx, qword [rsp + 0x38]
mov r8, rax
mov rcx, qword [rdx + 0x10]
mov qword [rax + 0x40], rcx
mov rcx, rsi
mov edx, dword [rdx + 0xc]
call fcn.1401df300
mov dword [rsp + 0x30], eax
mov r10d, eax
test eax, eax
jne 0x1401d3aa4
mov r12, qword [rsp + 0x38]
jmp 0x1401d33f4
mov rax, qword [rsp + 0x38]
mov r12, qword [rsp + 0x38]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 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 0x1401d3409
jmp 0x1401d614e
mov rax, qword [rsp + 0x38]
mov r9d, 0xffffffff
mov rcx, r13
mov byte [rsp + 0x20], 3
mov r8d, dword [rax + 0xc]
mov edx, dword [rax + 4]
call fcn.140163730
test rax, rax
je 0x1401da4fa
mov r12, qword [rsp + 0x38]
mov byte [rax + 2], 1
mov ecx, dword [r12 + 8]
mov dword [rax + 0x2c], ecx
lea rcx, [0x1403e0f63]
mov byte [rax + 4], 1
mov qword [rax + 0x38], rcx
jmp 0x1401d33f4
mov rdx, qword [r13 + 0x78]
mov rcx, r13
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
mov rdx, qword [rdx + rax*8]
call fcn.1401db6b0
mov rax, qword [rsp + 0x38]
xor r11d, r11d
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x78]
mov qword [rax + rcx*8], r11
mov r12, qword [rsp + 0x38]
mov r10d, 1
mov r9d, 0x2400
jmp 0x1401d3403
mov rax, qword [rsp + 0x38]
mov r12d, r11d
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x78]
mov r15, qword [rax + rcx*8]
mov byte [r15 + 2], 0
mov byte [r15 + 3], 0
mov dword [r15 + 0x28], r11d
cmp byte [r15 + 4], 0
je 0x1401d5da3
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 0xc]
imul rbx, rax, 0x38
add rbx, r14
movzx r14d, word [rbx + 8]
movzx eax, r14b
movzx ecx, r14w
and al, 0x2e
cmp al, 2
jne 0x1401d5ca8
xor edx, edx
mov rcx, rbx
call fcn.140165400
movzx ecx, word [rbx + 8]
xor r11d, r11d
movzx eax, cx
test al, 0x24
je 0x1401d5cb4
mov rsi, qword [rbx]
jmp 0x1401d5ce5
test al, 8
je 0x1401d5cc6
movsd xmm0, qword [rbx]
call fcn.1401725a0
mov rsi, rax
jmp 0x1401d5ce5
test al, 0x12
je 0x1401d5ce2
cmp qword [rbx + 0x10], 0
je 0x1401d5ce2
mov rcx, rbx
call fcn.1401823d0
movzx ecx, word [rbx + 8]
mov rsi, rax
jmp 0x1401d5ce5
mov rsi, r11
mov word [rbx + 8], r14w
test cl, 0x24
jne 0x1401d5d6b
test cl, 8
jne 0x1401d5d41
test cl, 1
jne 0x1401d957f
cmp edi, 0x18
jae 0x1401d957f
mov rcx, qword [r15 + 0x38]
lea rdx, [rsp + 0x74]
call fcn.14019bee0
mov dword [rsp + 0x30], eax
mov r10d, eax
test eax, eax
jne 0x1401d6bbf
xor r11d, r11d
cmp dword [rsp + 0x74], 0
je 0x1401d5f38
mov r12, qword [rsp + 0x38]
mov r10d, 1
jmp 0x1401d6149
movsd xmm0, qword [rbx]
xorps xmm1, xmm1
cvtsi2sd xmm1, rsi
comisd xmm1, xmm0
jbe 0x1401d5d5d
test dil, 1
je 0x1401d5d6b
dec edi
jmp 0x1401d5d6b
comisd xmm0, xmm1
jbe 0x1401d5d6b
test dil, 1
jne 0x1401d5d6b
inc edi
mov rcx, qword [r15 + 0x38]
lea rax, [rsp + 0x74]
xor r9d, r9d
mov qword [rsp + 0x20], rax
mov r8, rsi
xor edx, edx
call fcn.14019bf60
mov qword [r15 + 0x58], rsi
mov r10d, eax
mov rsi, qword [rsp + 0x40]
mov dword [rsp + 0x30], eax
test eax, eax
jne 0x1401d3aa4
jmp 0x1401d5e29
mov rax, qword [r15 + 0x38]
lea rdx, [rbp + 0x20]
movzx ebx, byte [rax + 3]
mov rax, qword [rsp + 0x38]
and bl, 2
setne r12b
test dil, 1
mov ecx, dword [rax + 0x10]
mov rax, qword [r15 + 0x40]
mov qword [rbp + 0x20], rax
mov eax, r10d
mov word [rbp + 0x30], cx
mov ecx, 0xffffffff
cmovne eax, ecx
xor r9d, r9d
mov byte [rbp + 0x32], al
xor r8d, r8d
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 0xc]
imul rcx, rax, 0x38
mov byte [rbp + 0x36], 0
lea rax, [rsp + 0x74]
add rcx, r14
mov qword [rsp + 0x20], rax
mov qword [rbp + 0x28], rcx
mov rcx, qword [r15 + 0x38]
call fcn.14019bf60
mov dword [rsp + 0x30], eax
mov r10d, eax
test eax, eax
jne 0x1401d3aa4
test bl, bl
je 0x1401d5e29
cmp byte [rbp + 0x36], al
je 0x1401d5d23
mov eax, dword [rsp + 0x74]
cmp edi, 0x18
jl 0x1401d5ed6
test eax, eax
js 0x1401d5e4e
jne 0x1401d5e41
cmp edi, 0x19
je 0x1401d5e4e
xor r11d, r11d
mov dword [rsp + 0x74], r11d
jmp 0x1401d5f38
mov rcx, qword [r15 + 0x38]
xor eax, eax
xor r15d, r15d
mov dword [rsp + 0x74], eax
mov word [rcx + 0x46], r15w
and byte [rcx + 1], 0xf9
cmp byte [rcx], al
je 0x1401d5e6f
call fcn.1401694a0
jmp 0x1401d5ea4
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 0x1401d5e95
mov word [rcx + 0x56], r8w
call fcn.1401694a0
jmp 0x1401d5ea4
cmp byte [rdx + 8], r15b
jne 0x1401d5f30
call fcn.140182700
mov dword [rsp + 0x30], eax
mov r10d, eax
test eax, eax
je 0x1401d5f35
cmp eax, 0x65
jne 0x1401d3aa7
mov r12, qword [rsp + 0x38]
mov r10d, 1
mov dword [rsp + 0x74], r10d
mov dword [rsp + 0x30], r15d
jmp 0x1401d6146
test eax, eax
jg 0x1401d5ef9
jne 0x1401d5ee1
cmp edi, 0x16
je 0x1401d5ef9
mov rax, qword [r15 + 0x38]
xor r11d, r11d
mov ecx, r11d
cmp byte [rax], cl
setne cl
mov dword [rsp + 0x74], ecx
jmp 0x1401d5d26
mov rcx, qword [r15 + 0x38]
xor eax, eax
xor r15d, r15d
mov dword [rsp + 0x74], eax
and byte [rcx + 1], 0xf1
mov word [rcx + 0x46], r15w
cmp byte [rcx], al
jne 0x1401d5f5b
movzx edx, word [rcx + 0x56]
test dx, dx
je 0x1401d5f5b
mov rax, qword [rcx + 0x88]
cmp byte [rax + 8], r15b
je 0x1401d5f5b
dec dx
mov word [rcx + 0x56], dx
mov dword [rsp + 0x30], r15d
xor r11d, r11d
mov rsi, qword [rsp + 0x40]
mov r14, qword [rsp + 0x60]
test r12d, r12d
je 0x1401d6c18
add qword [rsp + 0x38], 0x18
mov rbx, qword [rsp + 0x50]
jmp 0x1401d5c31
call fcn.140169c30
mov dword [rsp + 0x30], eax
mov r10d, eax
test eax, eax
je 0x1401d5f35
cmp eax, 0x65
jmp 0x1401d5eb6
mov rax, qword [rsp + 0x38]
movsxd rcx, dword [rax + 0x1c]
mov rax, qword [r13 + 0x78]
mov rsi, qword [rax + rcx*8]
mov rax, qword [rsi + 0x38]
cmp byte [rax], 0
jne 0x1401d9d37
mov rcx, qword [rsp + 0x38]
mov r12d, 0x2400
mov rax, qword [rsi + 0x40]
mov qword [rbp + 0x180], rax
mov byte [rbp + 0x192], 0
movzx eax, word [rcx + 0x28]
mov edi, dword [rcx + 4]
mov word [rbp + 0x190], ax
movsxd rax, dword [rcx + 0x24]
imul rcx, rax, 0x38
add rcx, r14
mov qword [rbp + 0x188], rcx
xor r15d, r15d
mov rbx, qword [rsi + 0x38]
mov rcx, rbx
call fcn.14017dcc0
mov ecx, dword [rbx + 0x40]
lea rax, [rcx - 1]
cmp rax, 0x7ffffffe
ja 0x1401da0a6
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x100], rax
mov word [rbp + 0xe0], r15w
mov dword [rbp + 0xf8], r15d
mov rax, qword [rbx + 0x88]
movzx edx, word [rbx + 0x44]
mov r8d, dword [rax + 0x58]
sub r8d, dword [rbx + 0x38]
cmp edx, r8d
jle 0x1401d602d
test r8d, r8d
mov edx, r8d
cmovs edx, r15d
mov rax, qword [rbx + 0x38]
mov qword [rbp + 0xe8], rax
cmp ecx, edx
ja 0x1401d6050
mov edx, 0x1010
mov dword [rbp + 0xe4], ecx
mov word [rbp + 0xe0], dx
jmp 0x1401d6080
mov r8d, ecx
lea r9, [rbp + 0xd8]
mov rcx, rbx
xor edx, edx
call fcn.1401dcce0
mov dword [rsp + 0x30], eax
mov r10d, eax
test eax, eax
jne 0x1401d6773
mov rax, qword [rbp + 0xe8]
mov ecx, dword [rbp + 0xe4]
xor r9d, r9d
lea r8, [rbp + 0x180]
mov rdx, rax
call fcn.1401de1d0
mov ebx, eax
test word [rbp + 0xe0], r12w
jne 0x1401d60a7
cmp dword [rbp + 0xf8], r15d
je 0x1401d60b3
lea rcx, [rbp + 0xd8]
call fcn.1401f1750
mov dword [rsp + 0x30], r15d
test ebx, ebx
jg 0x1401d6132
je 0x1401d957f
test edi, edi
jle 0x1401d6d2e
mov rcx, qword [rsi + 0x38]
dec edi
mov word [rcx + 0x46], r15w
and byte [rcx + 1], 0xf9
cmp byte [rcx], r15b
je 0x1401d60e5
call fcn.1401694a0
jmp 0x1401d611a
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 0x1401d610b
mov word [rcx + 0x56], r8w
call fcn.1401694a0
jmp 0x1401d611a
cmp byte [rdx + 8], r15b
jne 0x1401d5fd1
call fcn.140182700
mov dword [rsp + 0x30], eax
mov r10d, eax
test eax, eax
je 0x1401d5fd1
cmp eax, 0x65
jne 0x1401d6773
mov r12, qword [rsp + 0x38]
add r12, 0x18
mov dword [rsp + 0x30], r15d
mov r10d, 1
xor r11d, r11d
mov rbx, qword [rsp + 0x50]
mov eax, dword [r12 + 8]
mov r9d, 0x2400
mov r14, qword [rsp + 0x60]
dec eax
cdqe
lea rcx, [rax + rax*2]
lea rsi, [rbx + rcx*8]
mov qword [rsp + 0x38], rsi
mov r12, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x40]
jmp 0x1401d3403
mov rax, qword [rsp + 0x38]
mov r12, qword [rsp + 0x38]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x78]
mov rdx, qword [rax + rcx*8]
mov rax, qword [rsp + 0x38]
movzx ecx, word [rdx + 0xc]
mov eax, dword [rax + 8]
cmp ecx, eax
jge 0x1401d61ad
mov word [rdx + 0xc], ax
jmp 0x1401d3409
mov rax, qword [rsp + 0x38]
mov eax, dword [rax + 0xc]
cmp ecx, eax
jle 0x1401d3409
mov word [rdx + 0xc], ax
jmp 0x1401d3409
mov rax, qword [rsp + 0x38]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x78]
cmp qword [rax + rcx*8], 0
je case.0x1401d2775.11
mov r12, qword [rsp + 0x38]
jmp case.0x1401d2775.86
mov rax, qword [rsp + 0x38]
mov r12, qword [rsp + 0x38]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x78]
mov rcx, qword [rax + rcx*8]
movzx eax, word [rcx + 0xc]
cmp eax, dword [r12 + 0x10]
jge case.0x1401d2775.86
mov rax, qword [rsp + 0x38]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x78]
mov rsi, qword [rax + rcx*8]
mov rcx, qword [rsp + 0x38]
movsxd rax, dword [rcx + 0xc]
imul rbx, rax, 0x38
add rbx, r14
cmp dword [rcx + 0x10], 0
jle 0x1401d6260
mov rax, qword [rsi + 0x40]
lea rdi, [rbp + 0x1f8]
mov qword [rbp + 0x1f8], rax
xor r15d, r15d
movzx eax, word [rcx + 0x10]
mov r14d, r15d
mov word [rbp + 0x208], ax
mov qword [rbp + 0x200], rbx
jmp 0x1401d62b2
mov eax, 0x4000
test word [rbx + 8], ax
je 0x1401d627b
mov rcx, rbx
call fcn.1401dcbd0
test eax, eax
jne 0x1401da4f5
mov rcx, qword [rsi + 0x40]
call fcn.1401d17c0
mov rdi, rax
mov r14, rax
test rax, rax
je 0x1401da4f5
mov r8, qword [rbx + 0x10]
mov r9, rax
mov edx, dword [rbx + 0xc]
mov rcx, qword [rsi + 0x40]
call fcn.1401dea80
mov rcx, qword [rsp + 0x38]
xor r15d, r15d
lea r10d, [r15 + 1]
mov byte [rdi + 0x12], 0
mov ebx, r15d
cmp byte [rcx], 0x1c
jne 0x1401d62eb
movzx eax, word [rdi + 0x10]
mov rcx, r15
cmp r15w, ax
jae 0x1401d62eb
mov edx, eax
mov rax, qword [rdi + 8]
add rax, 8
test byte [rax], 1
jne 0x1401d62e8
inc rcx
add rax, 0x38
cmp rcx, rdx
jl 0x1401d62d5
jmp 0x1401d62eb
mov ebx, r10d
mov rcx, qword [rsi + 0x38]
lea rax, [rbp - 0xc]
xor r9d, r9d
mov qword [rsp + 0x20], rax
xor r8d, r8d
mov rdx, rdi
call fcn.14019bf60
mov dword [rsp + 0x30], eax
mov r10d, eax
test r14, r14
je 0x1401d6324
mov rcx, qword [rsp + 0x40]
mov rdx, r14
call fcn.1401a2e60
mov r10d, dword [rsp + 0x30]
test r10d, r10d
jne 0x1401d6773
mov eax, dword [rbp - 0xc]
mov ecx, r15d
test eax, eax
mov dword [rsi + 0x2c], eax
sete cl
test eax, eax
setne al
mov byte [rsi + 2], al
mov rax, qword [rsp + 0x38]
mov byte [rsi + 3], r10b
mov dword [rsi + 0x28], r15d
movzx eax, byte [rax]
cmp al, 0x1e
jne 0x1401d637b
xor r11d, r11d
test ecx, ecx
mov r12, qword [rsp + 0x38]
jne 0x1401d9587
mov rsi, qword [rsp + 0x40]
mov r14, qword [rsp + 0x60]
mov rbx, qword [rsp + 0x50]
jmp 0x1401d5c36
test ebx, ebx
jne 0x1401d957f
test ecx, ecx
je 0x1401d957f
mov r12, qword [rsp + 0x38]
xor r11d, r11d
mov r14, qword [rsp + 0x60]
cmp al, 0x1b
jne 0x1401d6d45
mov rbx, qword [rsp + 0x50]
mov rax, r12
movzx eax, word [rax + 0x10]
mov word [rsi + 0xc], ax
mov rsi, qword [rsp + 0x40]
jmp 0x1401d5c36
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 0xc]
imul rcx, rax, 0x38
add rcx, r14
test byte [rcx + 8], 0x24
jne case.0x1401d2775.32
movups xmm2, xmmword [rcx]
movups xmmword [rbp + 0x110], xmm2
movups xmm0, xmmword [rcx + 0x10]
psrldq xmm2, 8
movups xmmword [rbp + 0x120], xmm0
movups xmm1, xmmword [rcx + 0x20]
movd edx, xmm2
movups xmmword [rbp + 0x130], xmm1
movsd xmm0, qword [rcx + 0x30]
movsd qword [rbp + 0x140], xmm0
test dl, 4
jne 0x1401d6499
test dl, 8
jne 0x1401d6435
test dl, 2
je 0x1401d6490
mov edx, r10d
lea rcx, [rbp + 0x110]
call fcn.140165400
xor r11d, r11d
lea r10d, [r11 + 1]
jmp 0x1401d6489
movsd xmm3, qword [rbp + 0x110]
movaps xmm0, xmm3
call fcn.1401725a0
xorps xmm2, xmm2
cvtsi2sd xmm2, rax
ucomisd xmm3, xmm2
jp 0x1401d6490
jne 0x1401d6490
movabs rcx, 0x7fffffffffffffff
add rcx, rax
cmp rcx, 0xfffffffffffffffd
ja 0x1401d6490
mov qword [rbp + 0x110], rax
mov ecx, 0x3e40
movzx eax, word [rbp + 0x118]
and ax, cx
or ax, 4
mov word [rbp + 0x118], ax
movzx edx, byte [rbp + 0x118]
test dl, 4
je 0x1401d27b3
mov rdi, qword [rbp + 0x110]
jmp 0x1401d64b3
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 0xc]
imul rcx, rax, 0x38
mov rdi, qword [rcx + r14]
mov rax, qword [rsp + 0x38]
xor r15d, r15d
xor r9d, r9d
mov dword [rbp - 0x40], r15d
mov r8, rdi
xor edx, edx
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x78]
mov rbx, qword [rax + rcx*8]
lea rax, [rbp - 0x40]
mov qword [rsp + 0x20], rax
mov rcx, qword [rbx + 0x38]
call fcn.14019bf60
mov qword [rbx + 0x58], rdi
mov r10d, eax
mov byte [rbx + 2], r15b
mov dword [rbx + 0x28], r15d
mov dword [rsp + 0x30], eax
mov eax, dword [rbp - 0x40]
mov byte [rbx + 3], r15b
mov dword [rbx + 0x2c], eax
test eax, eax
je 0x1401d6553
mov r12, qword [rsp + 0x38]
cmp dword [r12 + 8], r15d
jne 0x1401d6140
lea r14, [0x140324ce4]
mov r9d, 0x16504
lea r8, str.database_corruption
mov qword [rsp + 0x20], r14
lea rdx, str._s_at_line__d_of___.10s_
lea ecx, [r15 + 0xb]
call fcn.140161330
mov r10d, recv
lea edi, [r15 + 1]
mov dword [rsp + 0x30], r10d
jmp 0x1401d3ab3
test r10d, r10d
jne 0x1401d3aa7
mov r12, qword [rsp + 0x38]
jmp 0x1401d33ef
mov rdi, qword [rsp + 0x38]
movsxd rax, dword [rdi + 8]
imul rdx, rax, 0x38
add rdx, qword [r13 + 0x68]
test word [rdx + 8], r9w
je 0x1401d659e
mov rcx, rdx
call fcn.140185e00
xor r11d, r11d
mov rdx, rax
mov r9d, 0x2400
mov r8d, 0x1000
lea r10d, [r11 + 1]
jmp 0x1401d65a7
mov eax, 4
mov word [rdx + 8], ax
mov rax, qword [r13 + 0x78]
mov r12, rdi
movsxd rcx, dword [rdi + 4]
mov rcx, qword [rax + rcx*8]
mov rax, qword [rcx + 0x18]
mov qword [rdx], rax
mov rax, rdi
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x78]
mov rdx, qword [rax + rcx*8]
inc qword [rdx + 0x18]
jmp 0x1401d3409
mov rsi, qword [rsp + 0x38]
xor r15d, r15d
mov ebx, r15d
mov dword [rbp - 0x58], r15d
mov qword [rbp - 0x48], rbx
movsxd rax, dword [rsi + 8]
imul r14, rax, 0x38
add r14, qword [r13 + 0x68]
test word [r14 + 8], r9w
je 0x1401d6608
mov rcx, r14
call fcn.140185e00
mov r14, rax
jmp 0x1401d6612
mov eax, 4
mov word [r14 + 8], ax
movsxd rcx, dword [rsi + 4]
mov rax, qword [r13 + 0x78]
mov rsi, qword [rax + rcx*8]
test byte [rsi + 8], 2
jne 0x1401d6650
mov rcx, qword [rsi + 0x38]
lea rdx, [rbp - 0x58]
call fcn.14019bee0
mov dword [rsp + 0x30], eax
mov r10d, eax
test eax, eax
jne 0x1401d6773
cmp dword [rbp - 0x58], ebx
je 0x1401d6696
mov eax, 1
mov ebx, eax
mov qword [rbp - 0x48], rax
movabs r12, 0x7fffffffffffffff
mov rax, qword [rsp + 0x38]
movsxd rdx, dword [rax + 0xc]
test edx, edx
je 0x1401d6700
mov rcx, qword [r13 + 0x100]
test rcx, rcx
je 0x1401d66c8
mov rax, qword [rcx + 8]
test rax, rax
je 0x1401d668c
mov rcx, rax
mov rax, qword [rax + 8]
test rax, rax
jne 0x1401d6680
imul rdi, rdx, 0x38
add rdi, qword [rcx + 0x20]
jmp 0x1401d66d1
mov rbx, qword [rsi + 0x38]
mov rcx, rbx
call fcn.14017dcc0
mov rbx, qword [rbx + 0x30]
movabs r12, 0x7fffffffffffffff
mov qword [rbp - 0x48], rbx
cmp rbx, r12
jl 0x1401d66bf
or dword [rsi + 8], 2
jmp 0x1401d665a
inc rbx
mov qword [rbp - 0x48], rbx
jmp 0x1401d665a
imul rdi, rdx, 0x38
add rdi, qword [rsp + 0x60]
mov rcx, rdi
call fcn.1401dcfe0
mov rax, qword [rdi]
cmp rax, r12
je 0x1401d6768
test byte [rsi + 8], 2
jne 0x1401d6768
inc rax
cmp rbx, rax
cmovl rbx, rax
mov qword [rbp - 0x48], rbx
mov qword [rdi], rbx
test byte [rsi + 8], 2
je 0x1401d677d
mov edi, r15d
nop dword [rax]
lea rdx, [rbp - 0x48]
mov ecx, 8
call fcn.140153be0
mov rbx, qword [rbp - 0x48]
movabs rax, 0x3fffffffffffffff
mov rcx, qword [rsi + 0x38]
and rbx, rax
inc rbx
lea rax, [rbp - 0x58]
mov r8, rbx
mov qword [rbp - 0x48], rbx
xor r9d, r9d
mov qword [rsp + 0x20], rax
xor edx, edx
call fcn.14019bf60
mov dword [rsp + 0x30], eax
mov r10d, eax
test eax, eax
jne 0x1401d6773
cmp dword [rbp - 0x58], r15d
jne 0x1401d677d
inc edi
cmp edi, 0x64
jl 0x1401d6710
mov r10d, reloc.WS2_32.dll_listen
mov dword [rsp + 0x30], r10d
mov rsi, qword [rsp + 0x40]
jmp 0x1401d3aa7
mov byte [rsi + 3], r15b
mov dword [rsi + 0x28], r15d
mov qword [r14], rbx
jmp 0x1401d33e0
mov rdi, qword [rsp + 0x38]
movsxd rax, dword [rdi + 8]
movsxd rcx, dword [rdi + 4]
imul rdx, rax, 0x38
mov rax, qword [r13 + 0x78]
add rdx, r14
mov rbx, qword [rax + rcx*8]
movsxd rax, dword [rdi + 0xc]
imul rcx, rax, 0x38
mov r8, qword [rcx + r14]
mov qword [rbp + 0x1d0], r8
cmp byte [rdi + 1], 0xfa
jne 0x1401d67e6
cmp qword [rsi + 0x138], 0
je 0x1401d67e6
movsx rcx, byte [rbx + 1]
mov rax, qword [rsi + 0x20]
mov rdi, qword [rdi + 0x10]
shl rcx, 5
xor r15d, r15d
mov rsi, qword [rcx + rax]
jmp 0x1401d67ef
xor r15d, r15d
mov edi, r15d
mov esi, r15d
mov rcx, qword [rsp + 0x38]
movzx eax, word [rcx + 2]
test al, 1
je 0x1401d680b
inc dword [r13 + 0x3c]
movzx eax, word [rcx + 2]
mov r8, qword [rbp + 0x1d0]
test al, 0x20
je 0x1401d6818
mov rax, qword [rsp + 0x40]
mov qword [rax + 0x38], r8
mov rax, qword [rdx + 0x10]
mov qword [rbp + 0x1d8], rax
mov eax, dword [rdx + 0xc]
mov dword [rbp + 0x1ec], eax
test byte [rcx + 2], 0x10
je 0x1401d6838
mov r9d, dword [rbx + 0x2c]
jmp 0x1401d683b
mov r9d, r15d
mov eax, 0x4000
test word [rdx + 8], ax
je 0x1401d6850
mov eax, dword [rdx]
mov dword [rbp + 0x1f0], eax
jmp 0x1401d6857
mov dword [rbp + 0x1f0], r15d
mov qword [rbp + 0x1c8], r15
lea rdx, [rbp + 0x1c8]
movzx r8d, word [rcx + 2]
mov rcx, qword [rbx + 0x38]
and r8d, 0x8a
call fcn.14019b2b0
mov byte [rbx + 3], 0
mov r10d, eax
mov dword [rsp + 0x30], eax
mov dword [rbx + 0x28], r15d
test eax, eax
jne 0x1401d6773
test rdi, rdi
je 0x1401d6d2e
mov rax, qword [rsp + 0x38]
mov r8, rsi
mov rsi, qword [rsp + 0x40]
mov edx, reloc.WS2_32.dll_select
mov r9, qword [rdi]
test byte [rax + 2], 4
mov eax, reloc.WS2_32.dll_socket
mov rcx, qword [rsi + 0x130]
cmovne edx, eax
mov rax, qword [rbp + 0x1d0]
mov qword [rsp + 0x20], rax
call qword [rsi + 0x138]
mov r12, qword [rsp + 0x38]
jmp 0x1401d33ef
mov rdi, qword [rsp + 0x38]
mov rcx, qword [r13 + 0x78]
movsxd rax, dword [rdi + 4]
mov r9, qword [rcx + rax*8]
movsxd rax, dword [rdi + 8]
mov rdx, qword [rcx + rax*8]
mov rax, rdi
movsxd rax, dword [rax + 0xc]
test eax, eax
je 0x1401d690f
imul rcx, rax, 0x38
xor r15d, r15d
mov r8, qword [rcx + r14]
jmp 0x1401d6915
xor r15d, r15d
mov r8d, r15d
mov rdx, qword [rdx + 0x38]
mov rcx, qword [r9 + 0x38]
call fcn.14019d730
mov dword [rsp + 0x30], eax
mov r10d, eax
test eax, eax
jne 0x1401d3aa7
mov r12, rdi
jmp 0x1401d33f4
mov rax, qword [rsp + 0x38]
mov rdx, qword [rsp + 0x38]
movsxd rcx, dword [rax + 4]
cmp byte [rdx + 1], 0xfa
mov r15d, dword [rax + 8]
mov rax, qword [r13 + 0x78]
mov rdi, qword [rax + rcx*8]
jne 0x1401d69a4
cmp qword [rsi + 0x138], 0
je 0x1401d69a4
mov rax, qword [rsi + 0x20]
movsx rcx, byte [rdi + 1]
mov rsi, qword [rdx + 0x10]
shl rcx, 5
test byte [rdx + 2], 2
mov r14, qword [rcx + rax]
je 0x1401d69aa
cmp byte [rdi + 4], 0
je 0x1401d69aa
mov rbx, qword [rdi + 0x38]
mov rcx, rbx
call fcn.14017dcc0
mov rax, qword [rbx + 0x30]
mov rdx, qword [rsp + 0x38]
mov rbx, qword [rsp + 0x50]
mov qword [rdi + 0x58], rax
jmp 0x1401d69aa
mov r14, r11
mov rsi, r11
movzx edx, byte [rdx + 2]
mov rcx, qword [rdi + 0x38]
call fcn.14019ac80
xor r11d, r11d
mov dword [rsp + 0x30], eax
mov dword [rdi + 0x28], r11d
mov r10d, eax
mov dword [rdi + 0x2c], r11d
test eax, eax
jne 0x1401d6bbf
test r15b, 1
je 0x1401d6cfe
inc dword [r13 + 0x3c]
mov rax, qword [rsp + 0x40]
mov r10, qword [rax + 0x138]
test r10, r10
je 0x1401d6d17
test byte [rsi + 0x40], 0x80
jne 0x1401d6d17
mov r9, qword [rsi]
lea edx, [r11 + 9]
mov rax, qword [rdi + 0x58]
mov r8, r14
mov rsi, qword [rsp + 0x40]
mov qword [rsp + 0x20], rax
mov rcx, qword [rsi + 0x130]
call r10
mov r12, qword [rsp + 0x38]
mov r14, qword [rsp + 0x60]
jmp 0x1401d33f4
mov eax, dword [r13 + 0x3c]
mov dword [rsi + 0x78], eax
add dword [rsi + 0x7c], eax
mov dword [r13 + 0x3c], r11d
jmp case.0x1401d2775.86
mov rdi, qword [rsp + 0x38]
mov rax, qword [r13 + 0x78]
movsxd rcx, dword [rdi + 4]
mov rdx, qword [rax + rcx*8]
movsxd rax, dword [rdi + 0xc]
mov edi, dword [rdi + 0x10]
imul r15, rax, 0x38
mov rbx, qword [rdx + 0x38]
mov rsi, qword [rdx + 0x40]
add r15, r14
mov r14, qword [rbx + 0x30]
test r14, r14
jne 0x1401d6a8e
mov rcx, rsi
call fcn.1401d17c0
mov qword [rbx + 0x30], rax
mov r14, rax
test rax, rax
je 0x1401d6bb4
mov word [rax + 0x10], di
cmp byte [rbx + 0x58], 0
je 0x1401d6aca
cmp byte [rbx + 0x59], 0
je 0x1401d6aa8
mov rax, qword [rbx + 0x10]
mov r8, qword [rax + 0x28]
add rax, 0x14
jmp 0x1401d6ad2
mov rdx, qword [rbx + 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]
add rax, 0x14
jmp 0x1401d6ad2
mov rax, qword [rbx + 0x38]
lea r8, [rax + 0x10]
mov edx, dword [rax]
mov r9, r14
mov rcx, rsi
call fcn.1401dea80
xor r11d, r11d
mov ecx, r11d
test edi, edi
jle 0x1401d6b00
mov rax, qword [r14 + 8]
add rax, 8
test byte [rax], 1
jne 0x1401d6b22
inc ecx
add rax, 0x38
cmp ecx, edi
jl 0x1401d6af1
mov rdx, qword [r15 + 0x10]
xor r9d, r9d
mov ecx, dword [r15 + 0xc]
mov r8, r14
call fcn.1401de1d0
xor r11d, r11d
mov dword [rsp + 0x30], r11d
test eax, eax
jmp 0x1401d635c
mov r12, qword [rsp + 0x38]
mov r10d, 1
mov dword [rsp + 0x30], r11d
jmp 0x1401d6149
mov rcx, qword [rsp + 0x38]
movsxd rax, dword [rcx + 8]
movsxd rcx, dword [rcx + 4]
imul rbx, rax, 0x38
mov rax, qword [r13 + 0x78]
add rbx, r14
mov rcx, qword [rax + rcx*8]
mov rax, qword [rcx + 0x38]
cmp byte [rax + 0x58], 0
je 0x1401d6b93
cmp byte [rax + 0x59], 0
je 0x1401d6b71
mov rax, qword [rax + 0x10]
mov rsi, qword [rax + 0x28]
add rax, 0x14
jmp 0x1401d6b9b
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]
add rax, 0x14
jmp 0x1401d6b9b
mov rax, qword [rax + 0x38]
lea rsi, [rax + 0x10]
movsxd rdi, dword [rax]
cmp dword [rbx + 0x20], edi
jge 0x1401d6bc9
xor r8d, r8d
mov edx, edi
mov rcx, rbx
call fcn.1401dce50
test eax, eax
je 0x1401d6bd6
mov r10d, 7
mov dword [rsp + 0x30], r10d
mov rsi, qword [rsp + 0x40]
jmp 0x1401d3aa4
mov rax, qword [rbx + 0x18]
mov qword [rbx + 0x10], rax
and word [rbx + 8], 0x2d
mov dword [rbx + 0xc], edi
mov eax, 0x3e40
and word [rbx + 8], ax
mov r8, rdi
or word [rbx + 8], 0x10
mov rdx, rsi
mov rcx, qword [rbx + 0x10]
call fcn.1402b53e0
mov rax, qword [rsp + 0x38]
xor r11d, r11d
mov rsi, qword [rsp + 0x40]
mov dword [rsp + 0x30], r11d
movsxd rcx, dword [rax + 0xc]
mov rax, qword [r13 + 0x78]
mov rcx, qword [rax + rcx*8]
mov dword [rcx + 0x28], r11d
mov r12, qword [rsp + 0x38]
mov rbx, qword [rsp + 0x50]
jmp 0x1401d5c36
mov rdi, qword [rsp + 0x38]
movsxd rax, dword [rdi + 8]
imul rbx, rax, 0x38
add rbx, qword [r13 + 0x68]
test word [rbx + 8], r9w
je 0x1401d6c4c
mov rcx, rbx
call fcn.140185e00
mov rbx, rax
jmp 0x1401d6c55
mov eax, 4
mov word [rbx + 8], ax
movsxd rcx, dword [rdi + 4]
mov rax, qword [r13 + 0x78]
mov rcx, qword [rax + rcx*8]
mov rdi, qword [rcx + 0x38]
mov rcx, rdi
call fcn.14017dcc0
mov edx, dword [rdi + 0x40]
cmp edx, dword [rsi + 0x80]
ja 0x1401da2af
mov r8, rbx
mov rcx, rdi
call fcn.1401dcdf0
mov dword [rsp + 0x30], eax
mov r10d, eax
test eax, eax
jne 0x1401d3aa4
mov r12, qword [rsp + 0x38]
cmp dword [r12 + 0xc], eax
jne 0x1401d6d38
movzx eax, word [rbx + 8]
bt ax, 0xc
jae 0x1401d6d38
test al, 0x12
je 0x1401d6cf0
bt ax, 0xe
jae 0x1401d6cd0
mov rcx, rbx
call fcn.1401dcbd0
test eax, eax
jne 0x1401da4fa
cmp dword [rbx + 0x20], 0
je 0x1401d6ce0
mov rax, qword [rbx + 0x18]
cmp qword [rbx + 0x10], rax
je 0x1401d6cf0
mov rcx, rbx
call fcn.1401f16f0
test eax, eax
jne 0x1401da4fa
mov eax, 0xefff
and word [rbx + 8], ax
jmp 0x1401d33ef
mov r12, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x40]
mov r14, qword [rsp + 0x60]
mov rbx, qword [rsp + 0x50]
jmp 0x1401d5c36
mov r12, qword [rsp + 0x38]
mov rsi, rax
mov r14, qword [rsp + 0x60]
mov rbx, qword [rsp + 0x50]
jmp 0x1401d5c36
mov rsi, qword [rsp + 0x40]
mov r12, qword [rsp + 0x38]
mov rbx, qword [rsp + 0x50]
xor r11d, r11d
jmp 0x1401d5c36
mov rsi, qword [rsp + 0x40]
mov rbx, qword [rsp + 0x50]
jmp 0x1401d5c36
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 8]
imul rdi, rax, 0x38
add rdi, qword [r13 + 0x68]
test word [rdi + 8], r9w
je 0x1401d6d93
mov rcx, rdi
call fcn.140185e00
xor r11d, r11d
lea rdx, [0x140000000]
mov rdi, rax
mov r9d, 0x2400
mov r8d, 0x1000
lea r10d, [r11 + 1]
jmp 0x1401d6d9c
mov eax, 4
mov word [rdi + 8], ax
mov rax, qword [rsp + 0x38]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x78]
mov rbx, qword [rax + rcx*8]
cmp byte [rbx + 2], 0
je 0x1401d6dc7
mov r12, qword [rsp + 0x38]
mov rbx, qword [rsp + 0x50]
mov word [rdi + 8], r10w
jmp case.0x1401d2775.86
cmp byte [rbx + 3], 0
je 0x1401d6de2
mov rax, qword [rbx + 0x58]
mov r12, qword [rsp + 0x38]
mov qword [rbp + 8], rax
mov qword [rdi], rax
jmp 0x1401d33ef
cmp byte [rbx], 2
mov rcx, qword [rbx + 0x38]
jne 0x1401d6e26
mov rbx, qword [rcx]
lea rdx, [rbp + 8]
mov rax, qword [rbx]
call qword [rax + 0x60]
mov rdx, rbx
mov rcx, r13
mov dword [rsp + 0x30], eax
call fcn.1401e08a0
mov r10d, dword [rsp + 0x30]
test r10d, r10d
jne 0x1401d3aa4
mov rax, qword [rbp + 8]
mov r12, qword [rsp + 0x38]
mov qword [rdi], rax
jmp 0x1401d33ef
cmp byte [rcx], 0
je 0x1401d6e47
mov rcx, rbx
call fcn.14017e890
mov dword [rsp + 0x30], eax
mov r10d, eax
test eax, eax
jne 0x1401d3aa4
xor r11d, r11d
jmp 0x1401d6e4c
mov dword [rsp + 0x30], r11d
cmp byte [rbx + 2], 0
je 0x1401d6e72
mov r12, qword [rsp + 0x38]
mov r10d, 1
mov rbx, qword [rsp + 0x50]
mov r9d, 0x2400
mov word [rdi + 8], r10w
jmp 0x1401d3403
mov rbx, qword [rbx + 0x38]
mov rcx, rbx
call fcn.14017dcc0
mov rax, qword [rbx + 0x30]
mov r12, qword [rsp + 0x38]
mov qword [rbp + 8], rax
mov qword [rdi], rax
jmp 0x1401d33ef
mov rax, qword [rsp + 0x38]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x78]
mov rcx, qword [rax + rcx*8]
mov byte [rcx + 2], 1
mov dword [rcx + 0x28], r11d
cmp byte [rcx], 0
jne 0x1401d61de
mov rcx, qword [rcx + 0x38]
call fcn.140199fe0
mov r12, qword [rsp + 0x38]
jmp 0x1401d33f4
mov rax, qword [rsp + 0x38]
xor r15d, r15d
mov dword [rbp - 0x3c], r15d
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x78]
mov rbx, qword [rax + rcx*8]
mov rcx, qword [rbx + 0x38]
cmp dil, 0x85
jne 0x1401d6f0a
mov dword [rbx + 0x2c], 0xffffffff
cmp byte [rcx], r15b
jne 0x1401d6f0a
mov r12, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x40]
mov rbx, qword [rsp + 0x50]
jmp 0x1401d3400
lea rdx, [rbp - 0x3c]
call fcn.14019bee0
mov r10d, eax
mov dword [rsp + 0x30], eax
mov eax, dword [rbp - 0x3c]
mov byte [rbx + 2], al
mov byte [rbx + 3], r15b
mov dword [rbx + 0x28], r15d
test r10d, r10d
jne 0x1401d3aa7
mov r12, qword [rsp + 0x38]
cmp dword [r12 + 8], r15d
jle 0x1401d33ef
test eax, eax
je 0x1401d33ef
xor r11d, r11d
lea r10d, [r11 + 1]
jmp 0x1401d6149
mov rax, qword [rsp + 0x38]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x78]
mov rcx, qword [rax + rcx*8]
mov rbx, qword [rcx + 0x38]
mov rcx, rbx
call fcn.140182990
mov dword [rsp + 0x30], eax
mov r10d, eax
test eax, eax
jne 0x1401d6f94
xor r15d, r15d
mov rcx, rbx
mov edi, r15d
call fcn.140182700
mov r10d, eax
mov dword [rsp + 0x30], eax
jmp 0x1401d6fbb
cmp eax, 0x10
jne 0x1401d6fb5
mov r12, qword [rsp + 0x38]
mov r10d, 1
xor r11d, r11d
mov dword [rbp - 0x60], r10d
mov dword [rsp + 0x30], r11d
jmp 0x1401d6149
mov edi, dword [rbp - 0x60]
xor r15d, r15d
mov dword [rbp - 0x60], edi
mov r11d, r10d
test r10d, r10d
jne 0x1401d3aa7
mov dword [rsp + 0x30], r10d
test edi, edi
jne 0x1401d957f
mov rcx, rbx
call fcn.14019d0b0
test rax, rax
js 0x1401d700f
mov rcx, rax
call fcn.1401b8d80
mov r12, qword [rsp + 0x38]
movsx ecx, ax
cmp ecx, dword [r12 + 0xc]
jge 0x1401d7014
mov r10d, 1
mov dword [rsp + 0x30], r11d
mov dword [rbp - 0x60], r10d
jmp 0x1401d6146
mov r12, qword [rsp + 0x38]
mov dword [rbp - 0x60], edi
mov dword [rsp + 0x30], r11d
jmp 0x1401d33ef
inc dword [r13 + 0xdc]
mov rax, qword [rsp + 0x38]
mov edi, r10d
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x78]
mov rsi, qword [rax + rcx*8]
cmp byte [rsi], 1
mov rbx, qword [rsi + 0x38]
jne 0x1401d709a
xor r15d, r15d
mov dword [rsp + 0x30], r15d
cmp byte [rbx + 0x58], r15b
jne 0x1401d706f
cmp qword [rbx + 0x38], r15
lea rdx, [rbx + 0x38]
je 0x1401d70d3
lea rcx, [rbx + 0x60]
mov edi, r15d
call fcn.1401f41a0
mov dword [rsp + 0x30], eax
jmp 0x1401d70d3
mov rcx, rbx
call fcn.1401f30e0
mov edx, eax
mov rcx, rbx
call fcn.1401f3250
mov dword [rsp + 0x30], eax
test eax, eax
jne 0x1401d70d3
mov rcx, rbx
call fcn.1401f3ed0
mov dword [rsp + 0x30], eax
mov edi, r15d
jmp 0x1401d70d3
mov rcx, rbx
call fcn.140182990
xor r15d, r15d
mov dword [rsp + 0x30], eax
test eax, eax
jne 0x1401d70be
mov rcx, rbx
mov edi, r15d
call fcn.140182700
mov dword [rsp + 0x30], eax
jmp 0x1401d70cb
cmp eax, 0x10
jne 0x1401d70cb
lea edi, [rax - 0xf]
mov dword [rsp + 0x30], r15d
mov byte [rsi + 3], 0
mov dword [rsi + 0x28], r15d
mov r10d, dword [rsp + 0x30]
test r10d, r10d
jne 0x1401d6773
mov r12, qword [rsp + 0x38]
xor r11d, r11d
mov rbx, qword [rsp + 0x50]
mov byte [rsi + 2], dil
lea r10d, [r11 + 1]
test edi, edi
jne 0x1401d614e
mov rsi, qword [rsp + 0x40]
mov r9d, 0x2400
jmp 0x1401d3403
mov rax, qword [rsp + 0x38]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x78]
mov rdi, qword [rax + rcx*8]
mov rbx, qword [rdi + 0x38]
cmp byte [rbx + 0x58], 0
je 0x1401d719a
cmp byte [rbx + 0x59], 0
je 0x1401d7167
mov rcx, qword [rbx + 0x10]
call fcn.1401f22b0
mov dword [rsp + 0x30], eax
mov r10d, eax
test eax, eax
jne 0x1401d71d0
mov rax, qword [rbx + 0x10]
cmp qword [rax + 0x18], 0
jne 0x1401d71d0
mov rbx, qword [rsp + 0x50]
mov r10d, 0x65
mov dword [rsp + 0x30], r10d
jmp 0x1401d71fe
mov rcx, qword [rbx + 0x18]
lea rdx, [rbp - 0x38]
mov dword [rbp - 0x38], r11d
call fcn.1401f1c40
mov dword [rsp + 0x30], eax
mov r10d, eax
test eax, eax
jne 0x1401d71d0
cmp dword [rbp - 0x38], eax
je 0x1401d71d0
mov rbx, qword [rsp + 0x50]
mov r10d, 0x65
mov dword [rsp + 0x30], r10d
jmp 0x1401d71fe
mov rdx, qword [rbx + 0x38]
mov rax, qword [rdx + 8]
mov qword [rbx + 0x38], rax
mov qword [rdx + 8], r11
cmp qword [rbx + 0x40], 0
jne 0x1401d71bc
mov rcx, rsi
call fcn.1401f3dd0
xor r11d, r11d
cmp qword [rbx + 0x38], 0
mov r10d, 0x65
cmovne r10d, r11d
mov dword [rsp + 0x30], r10d
mov rbx, qword [rsp + 0x50]
jmp 0x1401d71fe
mov rax, qword [rsp + 0x38]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x78]
mov rdi, qword [rax + rcx*8]
mov rax, qword [rsp + 0x38]
mov rcx, qword [rdi + 0x38]
mov edx, dword [rax + 0xc]
call qword [rax + reloc.WS2_32.dll_recv]
mov r10d, eax
mov dword [rsp + 0x30], eax
xor r15d, r15d
mov dword [rdi + 0x28], r15d
test r10d, r10d
jne 0x1401d7224
mov rax, qword [rsp + 0x38]
mov byte [rdi + 2], r15b
movzx eax, word [rax + 2]
inc dword [r13 + rax*4 + 0xd4]
jmp case.0x1401d2775.11
cmp r10d, 0x65
jne 0x1401d3aa7
mov dword [rsp + 0x30], r15d
mov byte [rdi + 2], 1
jmp 0x1401d7e19
mov rax, qword [rsp + 0x38]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x78]
mov rdi, qword [rax + rcx*8]
mov rcx, qword [rsp + 0x38]
movsxd rax, dword [rcx + 8]
imul rbx, rax, 0x38
add rbx, r14
test byte [rcx + 2], 1
je 0x1401d7267
inc dword [r13 + 0x3c]
mov eax, 0x4000
test word [rbx + 8], ax
je 0x1401d728e
mov rcx, rbx
call fcn.1401dcbd0
mov dword [rsp + 0x30], eax
mov r10d, eax
test eax, eax
jne 0x1401d3aa4
mov rcx, qword [rsp + 0x38]
movsxd rax, dword [rbx + 0xc]
xor r15d, r15d
mov qword [rbp + 0x288], rax
mov rax, qword [rbx + 0x10]
mov qword [rbp + 0x280], rax
movsxd rax, dword [rcx + 0xc]
imul rcx, rax, 0x38
add rcx, r14
mov qword [rbp + 0x298], rcx
mov rcx, qword [rsp + 0x38]
movzx eax, word [rcx + 0x10]
mov word [rbp + 0x2a0], ax
movzx r8d, word [rcx + 2]
test r8b, 0x10
je 0x1401d72da
mov r9d, dword [rdi + 0x2c]
jmp 0x1401d72dd
mov r9d, r15d
mov rcx, qword [rdi + 0x38]
lea rdx, [rbp + 0x280]
and r8d, 0x8a
call fcn.14019b2b0
mov dword [rsp + 0x30], eax
mov r10d, eax
mov dword [rdi + 0x28], r15d
test eax, eax
jne 0x1401d3aa7
mov r12, qword [rsp + 0x38]
jmp 0x1401d33ef
mov rax, qword [rsp + 0x38]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x78]
mov rdi, qword [rax + rcx*8]
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 8]
imul rbx, rax, 0x38
mov eax, 0x4000
add rbx, r14
test word [rbx + 8], ax
je 0x1401d7354
mov rcx, rbx
call fcn.1401dcbd0
mov dword [rsp + 0x30], eax
mov r10d, eax
test eax, eax
jne 0x1401d3aa4
mov rdx, rbx
mov rcx, rdi
call fcn.1401df930
mov dword [rsp + 0x30], eax
mov r10d, eax
test eax, eax
jne 0x1401d3aa4
mov r12, qword [rsp + 0x38]
jmp 0x1401d33ef
mov rax, qword [rsp + 0x38]
lea rdx, [rbp + 0x1b0]
xor r9d, r9d
xor r8d, r8d
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x78]
mov rbx, qword [rax + rcx*8]
mov rcx, qword [rsp + 0x38]
mov rax, qword [rbx + 0x40]
mov rdi, qword [rbx + 0x38]
mov qword [rbp + 0x1b0], rax
movzx eax, word [rcx + 0xc]
mov word [rbp + 0x1c0], ax
mov byte [rbp + 0x1c2], 0
movsxd rax, dword [rcx + 8]
imul rcx, rax, 0x38
lea rax, [rbp - 8]
add rcx, r14
mov qword [rsp + 0x20], rax
mov qword [rbp + 0x1b8], rcx
mov rcx, rdi
call fcn.14019bf60
mov dword [rsp + 0x30], eax
mov r10d, eax
test eax, eax
jne 0x1401d3aa4
cmp dword [rbp - 8], eax
jne 0x1401d7426
mov dl, 4
mov rcx, rdi
call fcn.14019ac80
mov dword [rsp + 0x30], eax
mov r10d, eax
test eax, eax
jne 0x1401d3aa4
mov r12, qword [rsp + 0x38]
xor r11d, r11d
mov dword [rbx + 0x28], r11d
mov dword [rbx + 0x2c], r11d
mov rbx, qword [rsp + 0x50]
jmp 0x1401d5c36
mov r12, qword [rsp + 0x38]
cmp word [r12 + 2], 0
jne 0x1401da0e9
xor r11d, r11d
mov dword [rbx + 0x28], r11d
mov dword [rbx + 0x2c], r11d
mov rbx, qword [rsp + 0x50]
jmp 0x1401d5c36
mov rax, qword [rsp + 0x38]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x78]
mov rbx, qword [rax + rcx*8]
mov rax, qword [rbx + 0x38]
cmp byte [rax], 0
je 0x1401d749a
mov rcx, rbx
call fcn.14017e890
xor r15d, r15d
mov dword [rsp + 0x30], eax
mov r10d, eax
test eax, eax
jne 0x1401d3aa7
lea r10d, [rax + 1]
mov r9d, 0x2400
lea rdx, [0x140000000]
mov r8d, 0x1000
jmp 0x1401d74a2
xor r15d, r15d
mov dword [rsp + 0x30], r15d
cmp byte [rbx + 2], 0
jne 0x1401d7571
mov rdx, qword [rbx + 0x38]
lea r8, [rbp + 0x10]
mov rcx, rsi
mov qword [rbp + 0x10], r15
call fcn.1401dbd10
mov dword [rsp + 0x30], eax
mov r10d, eax
test eax, eax
jne 0x1401d3aa7
mov rax, qword [rsp + 0x38]
mov r9d, 0x2400
cmp byte [rax], 0x89
jne 0x1401d751b
movsxd rcx, dword [rax + 0xc]
mov rax, qword [r13 + 0x78]
mov r12, qword [rsp + 0x38]
mov rdx, qword [rax + rcx*8]
mov rax, qword [rbp + 0x10]
mov byte [rdx + 2], r10b
mov qword [rdx + 0x58], rax
mov rax, qword [rsp + 0x38]
mov byte [rdx + 3], 1
mov rax, qword [rax + 0x10]
mov qword [rdx + 0x20], rax
mov qword [rdx + 0x30], rbx
mov rbx, qword [rsp + 0x50]
jmp 0x1401d33fa
movsxd rax, dword [rax + 8]
imul rcx, rax, 0x38
add rcx, qword [r13 + 0x68]
test word [rcx + 8], r9w
je 0x1401d7552
call fcn.140185e00
mov r12, qword [rsp + 0x38]
mov rcx, rax
mov rax, qword [rbp + 0x10]
mov r9d, 0x2400
mov rbx, qword [rsp + 0x50]
mov qword [rcx], rax
jmp 0x1401d33fa
mov r12, qword [rsp + 0x38]
mov eax, 4
mov rbx, qword [rsp + 0x50]
mov word [rcx + 8], ax
mov rax, qword [rbp + 0x10]
mov qword [rcx], rax
jmp 0x1401d33fa
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 8]
imul rcx, rax, 0x38
add rcx, r14
test word [rcx + 8], r9w
je 0x1401d7597
call fcn.1401f17a0
mov r12, qword [rsp + 0x38]
jmp 0x1401d33ef
mov r12, qword [rsp + 0x38]
xor r11d, r11d
mov rbx, qword [rsp + 0x50]
mov word [rcx + 8], r10w
jmp case.0x1401d2775.86
mov rax, qword [rsp + 0x38]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x78]
mov rcx, qword [rax + rcx*8]
cmp byte [rcx + 3], 0
je 0x1401d61de
call fcn.1401db250
jmp 0x1401d5b6e
mov rax, qword [rsp + 0x38]
cmp dil, 0x28
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x78]
mov rdx, qword [rax + rcx*8]
mov rcx, qword [rsp + 0x38]
mov rax, qword [rdx + 0x40]
mov rbx, qword [rdx + 0x38]
mov qword [rbp + 0x198], rax
movzx eax, word [rcx + 0x10]
mov word [rbp + 0x1a8], ax
sbb al, al
mov byte [rbp + 0x1aa], al
movsxd rax, dword [rcx + 0xc]
imul rcx, rax, 0x38
add rcx, r14
mov qword [rbp + 0x1a0], rcx
mov rcx, rbx
call fcn.14017dcc0
mov r10d, dword [rbx + 0x40]
lea eax, [r10 - 1]
cmp eax, 0x7ffffffe
ja 0x1401da12b
mov qword [rbp + 0x170], rsi
xor r15d, r15d
mov word [rbp + 0x150], r15w
mov dword [rbp + 0x168], r15d
mov rax, qword [rbx + 0x88]
movzx ecx, word [rbx + 0x44]
mov edx, dword [rax + 0x58]
sub edx, dword [rbx + 0x38]
cmp ecx, edx
jle 0x1401d7672
test edx, edx
mov ecx, edx
cmovs ecx, r15d
mov rdx, qword [rbx + 0x38]
mov qword [rbp + 0x158], rdx
cmp r10d, ecx
ja 0x1401d769c
mov eax, 0x1010
mov dword [rbp + 0x154], r10d
mov word [rbp + 0x150], ax
mov dword [rsp + 0x30], r15d
jmp 0x1401d76cd
lea r9, [rbp + 0x148]
mov r8d, r10d
xor edx, edx
mov rcx, rbx
call fcn.1401dcce0
mov dword [rsp + 0x30], eax
mov r10d, eax
test eax, eax
jne 0x1401d3aa7
mov rdx, qword [rbp + 0x158]
mov r10d, dword [rbp + 0x154]
xor r9d, r9d
lea r8, [rbp + 0x198]
mov ecx, r10d
call fcn.1401de1d0
mov r9d, 0x2400
mov ebx, eax
test word [rbp + 0x150], r9w
jne 0x1401d76fa
cmp dword [rbp + 0x168], r15d
je 0x1401d770c
lea rcx, [rbp + 0x148]
call fcn.1401f1750
mov r9d, 0x2400
mov r12, qword [rsp + 0x38]
test byte [r12], 1
jne 0x1401d771c
neg ebx
jmp 0x1401d771e
inc ebx
test ebx, ebx
jg 0x1401d9584
mov rbx, qword [rsp + 0x50]
jmp 0x1401d33fa
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 8]
imul rdi, rax, 0x38
add rdi, qword [r13 + 0x68]
test word [rdi + 8], r9w
je 0x1401d775c
mov rcx, rdi
call fcn.140185e00
mov rdi, rax
xor r11d, r11d
mov r10d, 1
mov word [rdi + 8], r10w
mov eax, dword [rsi + 0xe0]
inc eax
cmp dword [rsi + 0xd4], eax
jg 0x1401da141
mov rax, qword [rsp + 0x38]
mov dword [rbp - 0x34], r11d
movsxd r15, dword [rax + 0xc]
mov esi, dword [rax + 4]
mov r14, r15
mov rax, qword [rsp + 0x40]
shl r14, 5
mov rax, qword [rax + 0x20]
mov rbx, qword [r14 + rax + 8]
cmp byte [rbx + 0x11], 0
je 0x1401d77b1
inc dword [rbx + 0x14]
cmp byte [rbx + 0x12], 0
jne 0x1401d77b1
mov rcx, rbx
call fcn.1401692e0
lea r8, [rbp - 0x34]
mov edx, esi
mov rcx, rbx
call fcn.140168a50
cmp byte [rbx + 0x11], 0
mov r10d, eax
mov dword [rsp + 0x30], eax
je 0x1401d77df
sub dword [rbx + 0x14], 1
jne 0x1401d77df
mov rcx, rbx
call fcn.1401edd70
mov r10d, dword [rsp + 0x30]
movsxd rdx, dword [rbp - 0x34]
mov eax, 4
mov word [rdi + 8], ax
mov qword [rdi], rdx
test r10d, r10d
jne 0x1401d6bbf
mov rsi, qword [rsp + 0x40]
test edx, edx
je 0x1401d8007
mov rax, qword [rsp + 0x38]
mov r9, qword [rsi + 0x20]
mov r8d, dword [rax + 4]
mov rcx, qword [r14 + r9 + 0x18]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x1401d783a
mov rcx, qword [rax + 0x10]
cmp dword [rcx + 0x38], edx
jne 0x1401d782d
mov dword [rcx + 0x38], r8d
mov rax, qword [rax]
test rax, rax
jne 0x1401d7820
mov rcx, qword [r14 + r9 + 0x18]
mov rax, qword [rcx + 0x28]
test rax, rax
je 0x1401d7858
mov rcx, qword [rax + 0x10]
cmp dword [rcx + 0x58], edx
jne 0x1401d7850
mov dword [rcx + 0x58], r8d
mov rax, qword [rax]
test rax, rax
jne 0x1401d7843
lea eax, [r15 + 1]
mov byte [rsp + 0x70], al
jmp 0x1401d33e5
mov rax, qword [rsp + 0x38]
lea r8, [rbp - 0x54]
mov r12, qword [rsp + 0x38]
xor r15d, r15d
mov dword [rbp - 0x54], r15d
mov rcx, qword [rsi + 0x20]
movsxd rax, dword [rax + 8]
mov edx, dword [r12 + 4]
shl rax, 5
mov rcx, qword [rax + rcx + 8]
call fcn.14019a0a0
mov r10d, eax
mov dword [rsp + 0x30], eax
cmp dword [r12 + 0xc], r15d
je 0x1401d78c1
mov eax, dword [rbp - 0x54]
add dword [r13 + 0x3c], eax
mov rax, r12
movsxd rax, dword [rax + 0xc]
test eax, eax
jle 0x1401d78c1
imul rcx, rax, 0x38
movsxd rax, dword [rbp - 0x54]
add qword [rcx + r14], rax
test r10d, r10d
jne 0x1401d3aa7
jmp 0x1401d33f4
mov rax, qword [rsp + 0x38]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x78]
mov rcx, qword [rax + rcx*8]
cmp byte [rcx], 1
jne 0x1401d78fb
mov rdx, qword [rcx + 0x38]
mov rcx, rsi
call fcn.1401df4f0
mov r12, qword [rsp + 0x38]
jmp 0x1401d33f4
mov rcx, qword [rcx + 0x38]
xor r8d, r8d
mov edx, dword [rcx + 0x50]
mov rcx, qword [rcx + 8]
call fcn.14019a0a0
jmp 0x1401d5b6e
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 8]
imul rdi, rax, 0x38
add rdi, qword [r13 + 0x68]
test word [rdi + 8], r9w
je 0x1401d7938
mov rcx, rdi
call fcn.140185e00
mov rdi, rax
jmp 0x1401d7941
mov eax, 4
mov word [rdi + 8], ax
mov rax, qword [rsp + 0x38]
xor r15d, r15d
mov dword [rbp - 0x30], r15d
movsxd rcx, dword [rax + 4]
mov esi, dword [rax + 0xc]
mov rax, qword [rsp + 0x40]
shl rcx, 5
mov rax, qword [rax + 0x20]
mov rbx, qword [rcx + rax + 8]
cmp byte [rbx + 0x11], r15b
je 0x1401d797d
inc dword [rbx + 0x14]
cmp byte [rbx + 0x12], r15b
jne 0x1401d797d
mov rcx, rbx
call fcn.1401692e0
mov r8d, esi
lea rdx, [rbp - 0x30]
mov rcx, rbx
call fcn.140168540
mov r10d, eax
mov dword [rsp + 0x30], eax
cmp byte [rbx + 0x11], r15b
je 0x1401d79ac
sub dword [rbx + 0x14], 1
jne 0x1401d79ac
mov rcx, rbx
call fcn.1401edd70
mov r10d, dword [rsp + 0x30]
mov rsi, qword [rsp + 0x40]
test r10d, r10d
jne 0x1401d3aa7
mov eax, dword [rbp - 0x30]
mov r12, qword [rsp + 0x38]
mov qword [rdi], rax
jmp 0x1401d33ef
mov rax, qword [rsp + 0x38]
xor r15d, r15d
inc byte [rsi + 0x6c]
xor r9d, r9d
xor r8d, r8d
mov qword [rsp + 0x20], r15
mov rcx, rsi
mov rdx, qword [rax + 0x10]
call fcn.140151480
dec byte [rsi + 0x6c]
mov r10d, eax
mov dword [rsp + 0x30], eax
test eax, eax
jne 0x1401d3aa7
mov r12, qword [rsp + 0x38]
jmp 0x1401d33f4
mov rax, qword [rsp + 0x38]
cmp qword [rax + 0x10], 0
movsxd rbx, dword [rax + 4]
jne 0x1401d7a67
mov rcx, qword [rsi + 0x20]
mov rax, rbx
shl rax, 5
mov rcx, qword [rax + rcx + 0x18]
call fcn.1401c5570
mov rax, qword [rsp + 0x38]
lea r8, [r13 + 0xa8]
and dword [rsi + 0x2c], 0xffffffef
mov edx, ebx
mov rcx, rsi
movzx r9d, word [rax + 2]
call fcn.1401b4f90
or dword [rsi + 0x2c], 1
mov r10d, eax
and dword [r13 + 0xc8], 0xfffffffc
xor r15d, r15d
mov dword [rsp + 0x30], eax
jmp 0x1401d7b75
mov qword [rbp + 0x78], rsi
lea rax, [r13 + 0xa8]
mov qword [rbp + 0x80], rax
lea r9, str.sqlite_master
mov dword [rbp + 0x88], ebx
xor r15d, r15d
mov dword [rbp + 0x90], r15d
mov rdx, rbx
mov rax, qword [rsi + 0x20]
shl rdx, 5
mov rcx, qword [rdx + rax + 8]
mov rax, qword [rcx + 8]
mov ecx, dword [rax + 0x40]
mov rax, qword [rsp + 0x38]
mov dword [rbp + 0x98], ecx
mov rcx, rsi
mov r8, qword [rsi + 0x20]
mov rax, qword [rax + 0x10]
mov qword [rsp + 0x20], rax
mov r8, qword [rdx + r8]
lea rdx, str.SELECTFROM__w_._s_WHERE__s_ORDER_BY_rowid
call fcn.1401b8f50
mov rbx, rax
mov rcx, rsi
test rax, rax
je 0x1401da175
mov byte [rsi + 0xbd], 1
lea r9, [rbp + 0x78]
lea r8, [fcn.1401b4bc0]
mov dword [rbp + 0x8c], r15d
mov rdx, rax
mov dword [rbp + 0x94], r15d
mov qword [rsp + 0x20], r15
call fcn.140151480
mov dword [rsp + 0x30], eax
test eax, eax
jne 0x1401d7b5e
mov eax, dword [rbp + 0x8c]
mov dword [rsp + 0x30], eax
test eax, eax
jne 0x1401d7b5e
cmp dword [rbp + 0x94], r15d
jne 0x1401d7b5e
lea rax, [0x140324ce4]
mov r9d, 0x16ae6
lea r8, str.database_corruption
mov qword [rsp + 0x20], rax
lea rdx, str._s_at_line__d_of___.10s_
lea ecx, [r15 + 0xb]
call fcn.140161330
mov dword [rsp + 0x30], select
mov rdx, rbx
mov rcx, rsi
call fcn.1401a2e60
mov r10d, dword [rsp + 0x30]
mov byte [rsi + 0xbd], r15b
test r10d, r10d
jne 0x1401da154
mov r12, qword [rsp + 0x38]
jmp 0x1401d33ef
mov rax, qword [rsp + 0x38]
mov rcx, rsi
mov edx, dword [rax + 4]
call fcn.1401976e0
jmp 0x1401d5b6e
mov rax, qword [rsp + 0x38]
xor r8d, r8d
movsxd rcx, dword [rax + 4]
mov rdx, qword [rax + 0x10]
shl rcx, 5
add rcx, qword [rsi + 0x20]
mov rcx, qword [rcx + 0x18]
add rcx, 8
call fcn.1401b4190
test rax, rax
je 0x1401d7be6
cmp qword [rsi + 0x2e0], 0
jne 0x1401d7bdb
mov ecx, 0xffffffff
add dword [rax + 0x3c], ecx
jne 0x1401d7be6
mov rdx, rax
mov rcx, rsi
call fcn.140171cb0
or dword [rsi + 0x2c], 1
mov r12, qword [rsp + 0x38]
jmp 0x1401d33f4
mov rax, qword [rsp + 0x38]
xor r8d, r8d
movsxd rcx, dword [rax + 4]
mov rax, qword [rsi + 0x20]
shl rcx, 5
mov rcx, qword [rcx + rax + 0x18]
mov rax, qword [rsp + 0x38]
add rcx, 0x20
mov rdx, qword [rax + 0x10]
call fcn.1401b4190
mov rdx, rax
test rax, rax
je 0x1401d7be6
mov rax, qword [rax + 0x18]
mov rcx, qword [rax + 0x10]
cmp rcx, rdx
jne 0x1401d7c52
mov rcx, qword [rdx + 0x28]
mov qword [rax + 0x10], rcx
mov rcx, rsi
call fcn.1401af500
or dword [rsi + 0x2c], 1
mov r12, qword [rsp + 0x38]
jmp 0x1401d33f4
test rcx, rcx
je 0x1401d7c86
mov rax, qword [rcx + 0x28]
cmp rax, rdx
je 0x1401d7c7e
mov rcx, rax
test rax, rax
jne 0x1401d7c57
mov rcx, rsi
call fcn.1401af500
or dword [rsi + 0x2c], 1
mov r12, qword [rsp + 0x38]
jmp 0x1401d33f4
mov rax, qword [rdx + 0x28]
mov qword [rcx + 0x28], rax
mov rcx, rsi
call fcn.1401af500
or dword [rsi + 0x2c], 1
mov r12, qword [rsp + 0x38]
jmp 0x1401d33f4
mov rax, qword [rsp + 0x38]
xor r8d, r8d
movsxd rcx, dword [rax + 4]
mov rax, qword [rsi + 0x20]
shl rcx, 5
mov rcx, qword [rcx + rax + 0x18]
mov rax, qword [rsp + 0x38]
add rcx, 0x38
mov rdx, qword [rax + 0x10]
call fcn.1401b4190
mov rbx, rax
test rax, rax
je 0x1401d7ffd
mov rcx, qword [rax + 0x30]
cmp qword [rax + 0x28], rcx
jne 0x1401d7d1e
mov rdx, qword [rax + 8]
add rcx, 8
xor r8d, r8d
call fcn.140177ba0
mov rdx, qword [rax + 0x10]
test rdx, rdx
je 0x1401d7d1e
mov rax, qword [rdx + 0x68]
add rdx, 0x68
test rax, rax
je 0x1401d7d1e
cmp rax, rbx
je 0x1401d7d17
lea rdx, [rax + 0x40]
mov rax, qword [rax + 0x40]
test rax, rax
jne 0x1401d7d03
jmp 0x1401d7d1e
mov rax, qword [rax + 0x40]
mov qword [rdx], rax
mov rdx, rbx
mov rcx, rsi
call fcn.1401a43c0
or dword [rsi + 0x2c], 1
mov r12, qword [rsp + 0x38]
jmp 0x1401d33ef
mov rcx, qword [rsp + 0x38]
lea r10, [rbp - 0x28]
mov r9, qword [rsp + 0x38]
mov rdx, qword [rsi + 0x20]
mov qword [rsp + 0x28], r10
movsxd rax, dword [rcx + 0xc]
mov r8, qword [rcx + 0x10]
imul rdi, rax, 0x38
movsxd rax, dword [rcx + 4]
add r8, 4
imul rbx, rax, 0x38
movzx eax, word [r9 + 2]
mov ecx, dword [rdi + r14]
add rbx, r14
mov r9d, dword [r9 + 8]
inc ecx
shl rax, 5
mov dword [rsp + 0x20], ecx
mov rcx, rsi
mov rdx, qword [rax + rdx + 8]
call fcn.14019b7c0
mov r12d, 0x2400
mov rsi, rax
test word [rbx + 8], r12w
je 0x1401d7dad
mov rcx, rbx
call fcn.1401f17a0
mov r12d, 1
jmp 0x1401d7db8
mov r12d, 1
mov word [rbx + 8], r12w
mov eax, dword [rbp - 0x28]
test eax, eax
je 0x1401d7df2
test rsi, rsi
je 0x1401da508
dec eax
mov r9b, 1
movsxd rcx, eax
mov r8, 0xffffffffffffffff
sub qword [rdi + r14], rcx
lea rax, [fcn.140153a90]
mov rcx, rbx
mov qword [rsp + 0x20], rax
mov rdx, rsi
call fcn.1401dd370
test byte [rbx + 8], 2
je 0x1401d7e0f
movzx edi, byte [rsp + 0x48]
cmp byte [rbx + 0xa], dil
je 0x1401d7e0f
movzx edx, dil
mov rcx, rbx
call fcn.1401dd810
mov rsi, qword [rsp + 0x40]
mov rbx, qword [rsp + 0x50]
mov eax, dword [rsi + 0x178]
test eax, eax
jne 0x1401da4eb
mov r14, qword [rsp + 0x58]
mov r15, qword [rbp - 0x18]
cmp r15, r14
jb 0x1401d9bd2
nop dword [rax]
mov rdx, qword [rsi + 0x1e8]
test rdx, rdx
je 0x1401d9bd2
mov eax, dword [rsi + 0x1f8]
mov rcx, qword [rsi + 0x1f0]
add r14, rax
mov qword [rsp + 0x58], r14
call rdx
test eax, eax
jne 0x1401d9f56
cmp r15, r14
jae 0x1401d7e40
mov r12, qword [rsp + 0x38]
mov r14, qword [rsp + 0x60]
jmp 0x1401d33f4
mov rcx, qword [rsp + 0x38]
movsxd rax, dword [rcx + 4]
imul rbx, rax, 0x38
movsxd rax, dword [rcx + 8]
add rbx, r14
imul rdi, rax, 0x38
test byte [rbx + 8], 0x10
jne 0x1401d7eb1
mov rcx, rbx
call fcn.1401dd260
test eax, eax
jne 0x1401da4fa
mov rdx, qword [rdi + r14]
mov rcx, qword [rbx + 0x10]
call fcn.1401c44e0
mov r12, qword [rsp + 0x38]
jmp 0x1401d33ef
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
imul rdi, rax, 0x38
add rdi, r14
movzx eax, word [rdi + 8]
test al, 0x10
je 0x1401d7f7e
mov rbx, qword [rdi + 0x10]
movzx eax, word [rbx + 0x32]
test al, 2
jne 0x1401d7f19
test al, 1
jne 0x1401d7f11
mov rcx, qword [rbx + 0x10]
call fcn.1401918c0
mov qword [rbx + 0x10], rax
mov r10d, 1
movzx eax, word [rbx + 0x32]
mov r9d, 0x2400
or ax, 3
mov word [rbx + 0x32], ax
mov rax, qword [rbx + 0x10]
test rax, rax
je 0x1401d7f75
mov rdi, qword [rax]
mov rax, qword [rax + 8]
mov qword [rbx + 0x10], rax
test rax, rax
jne 0x1401d7f3a
mov rcx, rbx
call fcn.1401c4390
mov rax, qword [rsp + 0x38]
mov r12d, 0x2400
movsxd rax, dword [rax + 0xc]
imul rcx, rax, 0x38
add rcx, r14
test word [rcx + 8], r12w
je 0x1401d7f64
mov rdx, rdi
call fcn.1401f2860
jmp 0x1401d7e14
mov eax, 4
mov qword [rcx], rdi
mov word [rcx + 8], ax
jmp 0x1401d7e14
movzx eax, word [rdi + 8]
mov rbx, qword [rsp + 0x50]
test r9w, ax
je 0x1401d7f91
mov rcx, rdi
call fcn.1401f17a0
jmp case.0x1401d2775.11
mov word [rdi + 8], r10w
jmp case.0x1401d2775.11
mov rcx, qword [rsp + 0x38]
movsxd rax, dword [rcx + 4]
mov edi, dword [rcx + 0x10]
imul rbx, rax, 0x38
movsxd rax, dword [rcx + 0xc]
add rbx, r14
imul rsi, rax, 0x38
test byte [rbx + 8], 0x10
jne 0x1401d7fcc
mov rcx, rbx
call fcn.1401dd260
test eax, eax
jne 0x1401da4f5
test edi, edi
je 0x1401d7feb
mov r8, qword [rsi + r14]
mov edx, edi
mov rcx, qword [rbx + 0x10]
call fcn.1401c4550
test eax, eax
jne 0x1401d957f
test edi, edi
js 0x1401d7ff8
mov rdx, qword [rsi + r14]
mov rcx, qword [rbx + 0x10]
call fcn.1401c44e0
mov rsi, qword [rsp + 0x40]
mov r12, qword [rsp + 0x38]
jmp 0x1401d33ef
mov r14, qword [rsp + 0x60]
mov r12, qword [rsp + 0x38]
jmp 0x1401d33ef
mov rcx, qword [rsp + 0x38]
movsxd rax, dword [rcx + 0xc]
mov r12, qword [rcx + 0x10]
imul r15, rax, 0x38
add r15, r14
cmp word [rcx + 2], 0
je 0x1401d8055
mov rax, qword [r13 + 0x100]
mov rcx, qword [r12 + 0x20]
test rax, rax
je 0x1401d8055
cmp qword [rax + 0x38], rcx
je 0x1401d61de
mov rax, qword [rax + 8]
test rax, rax
jne 0x1401d8042
mov eax, dword [r13 + 0x110]
cmp eax, dword [rsi + 0xa8]
jge 0x1401da18a
test byte [r15 + 8], 0x10
jne 0x1401d81bd
mov edx, dword [r12 + 0x10]
mov ecx, dword [r12 + 0xc]
add ecx, edx
test edx, edx
lea esi, [rcx + 1]
cmovne esi, ecx
lea eax, [rsi + 2]
imul ecx, eax, 7
mov eax, dword [r12 + 8]
add ecx, edx
add eax, 7
jns 0x1401d809c
add eax, 7
sar eax, 3
lea edi, [rax + rcx*8]
mov rcx, qword [rsp + 0x40]
movsxd rbx, edi
mov rdx, rbx
call fcn.1401a2ff0
mov r14, rax
test rax, rax
je 0x1401da4f5
mov r8, rbx
xor edx, edx
mov rcx, rax
call fcn.1402b60e0
mov eax, 0x2400
test word [r15 + 8], ax
jne 0x1401d80de
cmp dword [r15 + 0x20], 0
je 0x1401d80e6
mov rcx, r15
call fcn.1401f1750
mov rcx, qword [rsp + 0x38]
mov eax, 0x410
sub rcx, qword [rsp + 0x50]
mov word [r15 + 8], ax
lea rax, [0x1401db4f0]
mov qword [r15 + 0x10], r14
mov dword [r15 + 0xc], edi
mov qword [r15 + 0x30], rax
mov qword [r14], r13
mov dword [r14 + 0x60], esi
mov eax, dword [r12 + 0x10]
mov dword [r14 + 0x64], eax
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov dword [r14 + 0x54], edx
mov rax, qword [r13 + 0x68]
mov qword [r14 + 0x20], rax
mov eax, dword [r13 + 0x28]
mov dword [r14 + 0x5c], eax
mov rax, qword [r13 + 0x78]
mov qword [r14 + 0x28], rax
mov eax, dword [r13 + 0x2c]
mov dword [r14 + 0x50], eax
mov rax, qword [r13 + 0x88]
mov qword [r14 + 0x10], rax
mov eax, dword [r13 + 0x90]
mov dword [r14 + 0x58], eax
mov rax, qword [r12 + 0x20]
mov qword [r14 + 0x38], rax
movsxd rax, esi
mov rsi, qword [rsp + 0x40]
add rax, 2
imul rcx, rax, 0x38
lea rax, [r14 + 0x70]
add rcx, r14
cmp rax, rcx
je 0x1401d81b1
mov edx, 0x80
nop dword [rax]
mov word [rax + 8], dx
mov qword [rax + 0x28], rsi
add rax, 0x38
cmp rax, rcx
jne 0x1401d81a0
mov eax, dword [r13 + 0x110]
xor r11d, r11d
jmp 0x1401d81c1
mov r14, qword [r15 + 0x10]
inc eax
lea rdx, [r14 + 0x70]
mov dword [r13 + 0x110], eax
mov rax, qword [r13 + 0x100]
mov qword [r14 + 8], rax
mov rax, qword [rsi + 0x38]
mov qword [r14 + 0x40], rax
mov eax, dword [r13 + 0x3c]
mov dword [r14 + 0x68], eax
mov rax, qword [r13]
mov qword [rsp + 0x60], rdx
mov ecx, dword [rax + 0x78]
mov dword [r14 + 0x6c], ecx
mov rax, qword [r13 + 0x120]
mov qword [r14 + 0x48], rax
mov qword [r13 + 0x120], r11
mov dword [r13 + 0x3c], r11d
mov qword [r13 + 0x100], r14
mov qword [r13 + 0x68], rdx
movsxd rcx, dword [r14 + 0x60]
mov dword [r13 + 0x28], ecx
movzx eax, word [r14 + 0x64]
mov dword [r13 + 0x2c], eax
imul rcx, rcx, 0x38
add rdx, rcx
mov qword [r13 + 0x78], rdx
movsxd rax, dword [r12 + 0x10]
lea rcx, [rdx + rax*8]
mov qword [r14 + 0x30], 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.1402b60e0
mov rbx, qword [r12]
mov qword [r13 + 0x88], rbx
mov eax, dword [r12 + 8]
mov qword [rsp + 0x50], rbx
lea rcx, [rbx - 0x18]
mov dword [r13 + 0x90], eax
mov qword [rsp + 0x38], rcx
jmp 0x1401d7e19
mov rax, qword [rsp + 0x38]
mov edi, 0x2400
movsxd rax, dword [rax + 8]
imul r9, rax, 0x38
add r9, qword [r13 + 0x68]
test word [r9 + 8], di
je 0x1401d82b9
mov rcx, r9
call fcn.140185e00
xor r11d, r11d
mov r9, rax
lea r10d, [r11 + 1]
jmp 0x1401d82c3
mov eax, 4
mov word [r9 + 8], ax
mov r8, qword [r13 + 0x100]
movsxd rax, dword [r8 + 0x54]
lea rcx, [rax + rax*2]
mov rax, qword [r8 + 0x10]
mov edx, dword [rax + rcx*8 + 4]
mov rax, qword [rsp + 0x38]
add edx, dword [rax + 4]
movsxd rax, edx
imul rcx, rax, 0x38
add rcx, qword [r8 + 0x20]
mov r8d, 0x1000
test word [r9 + 8], di
je 0x1401d8312
mov rdx, rcx
mov rcx, r9
call fcn.1401f0240
mov r12, qword [rsp + 0x38]
mov r9d, edi
jmp 0x1401d33fa
movups xmm0, xmmword [rcx]
mov r12, qword [rsp + 0x38]
lea rdx, [0x140000000]
mov eax, 0x800
movups xmmword [r9], xmm0
movsd xmm1, qword [rcx + 0x10]
movsd qword [r9 + 0x10], xmm1
test word [rcx + 8], ax
jne 0x1401d834a
mov eax, 0xf3ff
and word [r9 + 8], ax
or word [r9 + 8], r8w
mov r9d, edi
jmp case.0x1401d2775.86
mov eax, dword [rsi + 0x30]
bt rax, 0x13
mov rax, qword [rsp + 0x38]
mov r12, rax
jae 0x1401d8374
movsxd rax, dword [rax + 8]
add qword [rsi + 0x2d8], rax
jmp case.0x1401d2775.86
cmp dword [rax + 4], 0
movsxd rax, dword [rax + 8]
je 0x1401d838a
add qword [rsi + 0x2d0], rax
jmp case.0x1401d2775.86
add qword [r13 + 0x50], rax
jmp case.0x1401d2775.86
cmp dword [r12 + 4], 0
je 0x1401d83bc
cmp qword [rsi + 0x2d0], 0
jne case.0x1401d2775.86
cmp qword [rsi + 0x2d8], 0
je 0x1401d614e
jmp case.0x1401d2775.86
cmp qword [r13 + 0x50], 0
jne case.0x1401d2775.86
cmp qword [rsi + 0x2d8], 0
je 0x1401d614e
jmp case.0x1401d2775.86
mov rcx, qword [r13 + 0x100]
test rcx, rcx
je 0x1401d840f
mov rax, qword [rcx + 8]
test rax, rax
je 0x1401d83fc
nop
mov rcx, rax
mov rax, qword [rax + 8]
test rax, rax
jne 0x1401d83f0
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
imul rdi, rax, 0x38
add rdi, qword [rcx + 0x20]
jmp 0x1401d841f
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
imul rdi, rax, 0x38
add rdi, r14
mov rcx, rdi
call fcn.1401dcfe0
mov r12, qword [rsp + 0x38]
movsxd rax, dword [r12 + 8]
imul rbx, rax, 0x38
add rbx, r14
mov rcx, rbx
call fcn.1401dcfe0
mov rax, qword [rbx]
cmp qword [rdi], rax
jge 0x1401d33ef
mov qword [rdi], rax
jmp 0x1401d33ef
mov rax, qword [rsp + 0x38]
mov r12, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
imul rcx, rax, 0x38
mov rdx, qword [rcx + r14]
test rdx, rdx
jle 0x1401d3409
mov rax, r12
movsxd rax, dword [rax + 0xc]
sub rdx, rax
mov qword [rcx + r14], rdx
jmp 0x1401d614e
mov rcx, qword [rsp + 0x38]
movsxd rax, dword [rcx + 4]
imul rbx, rax, 0x38
movsxd rax, dword [rcx + 0xc]
imul rdi, rax, 0x38
movsxd rax, dword [rcx + 8]
imul rdx, rax, 0x38
add rdx, qword [r13 + 0x68]
test word [rdx + 8], r9w
je 0x1401d84c8
mov rcx, rdx
call fcn.140185e00
xor r11d, r11d
mov rdx, rax
mov r9d, 0x2400
lea r10d, [r11 + 1]
jmp 0x1401d84d1
mov eax, 4
mov word [rdx + 8], ax
mov r8, qword [rbx + r14]
test r8, r8
jle 0x1401d8512
mov rcx, qword [rdi + r14]
test rcx, rcx
cmovle rcx, r11
test rcx, rcx
js 0x1401d84fc
movabs rax, 0x7fffffffffffffff
sub rax, r8
cmp rax, rcx
jl 0x1401d8512
mov r12, qword [rsp + 0x38]
lea rax, [rcx + r8]
mov rbx, qword [rsp + 0x50]
mov qword [rdx], rax
jmp 0x1401d3403
mov r12, qword [rsp + 0x38]
mov rax, 0xffffffffffffffff
mov rbx, qword [rsp + 0x50]
mov qword [rdx], rax
jmp 0x1401d3403
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
imul rcx, rax, 0x38
mov rax, qword [rcx + r14]
test rax, rax
je 0x1401d61de
mov r12, qword [rsp + 0x38]
jle 0x1401d614e
dec rax
mov qword [rcx + r14], rax
jmp 0x1401d614e
mov rax, qword [rsp + 0x38]
movabs rdi, 0x8000000000000000
movsxd rax, dword [rax + 4]
imul rcx, rax, 0x38
mov rax, qword [rcx + r14]
cmp rax, rdi
jle 0x1401d8583
dec rax
mov qword [rcx + r14], rax
mov r12, qword [rsp + 0x38]
test rax, rax
je 0x1401d614e
jmp case.0x1401d2775.86
mov rax, qword [rsp + 0x38]
mov rcx, rsi
movzx ebx, word [rax + 2]
mov edi, ebx
lea rdx, [rbx*8 + 0x68]
call fcn.1401a2ff0
xor r15d, r15d
mov r8, rax
test rax, rax
je 0x1401da256
mov qword [rax + 0x10], r15
add rdi, 6
lea rcx, [rax + rdi*8]
mov edi, 1
mov qword [rax], rcx
mov rax, qword [rsp + 0x38]
mov word [rcx + 8], di
mov qword [rcx + 0x28], rsi
mov dword [rcx + 0x20], r15d
mov rcx, qword [rax + 0x10]
mov qword [r8 + 8], rcx
mov rcx, rax
sub rcx, qword [rsp + 0x50]
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov rax, qword [rsp + 0x38]
mov dword [r8 + 0x20], edx
mov qword [r8 + 0x18], r13
mov byte [r8 + 0x28], r15b
mov dword [r8 + 0x24], r15d
mov byte [r8 + 0x29], bl
mov byte [rax + 1], 0xf0
mov qword [rax + 0x10], r8
mov byte [rax], LoadRegTypeLib
jmp 0x1401d8642
mov rax, qword [rsp + 0x38]
xor r15d, r15d
lea edi, [r15 + 1]
mov rbx, qword [rax + 0x10]
movsxd rax, dword [rax + 0xc]
imul r10, rax, 0x38
add r10, r14
cmp qword [rbx + 0x10], r10
je 0x1401d86a5
mov qword [rbx + 0x10], r10
movzx eax, byte [rbx + 0x29]
mov edx, eax
sub rdx, 1
lea r9d, [rax - 1]
js 0x1401d86a5
mov rsi, qword [rsp + 0x38]
lea r8, [rdx + 6]
lea r8, [rbx + r8*8]
nop dword [rax + rax]
mov eax, dword [rsi + 8]
lea r8, [r8 - 8]
add eax, r9d
dec r9d
cdqe
imul rcx, rax, 0x38
add rcx, r14
sub rdx, 1
mov qword [r8 + 8], rcx
jns 0x1401d8680
mov rsi, qword [rsp + 0x40]
inc dword [r10 + 0xc]
lea r8, [rbx + 0x30]
mov r12, qword [rsp + 0x38]
mov rcx, rbx
mov rax, qword [rbx + 8]
movzx edx, byte [rbx + 0x29]
cmp dword [r12 + 4], 0
je 0x1401d86ca
call qword [rax + 0x30]
jmp 0x1401d86cd
call qword [rax + 0x18]
mov eax, dword [rbx + 0x24]
test eax, eax
je 0x1401d33ef
jle 0x1401d8734
mov rcx, qword [rbx]
test rcx, rcx
jne 0x1401d86e7
mov rax, r15
jmp 0x1401d871b
movzx edx, word [rcx + 8]
mov r8d, 0x202
movzx eax, dx
and ax, r8w
cmp ax, r8w
jne 0x1401d870a
cmp byte [rcx + 0xa], 1
jne 0x1401d870a
mov rax, qword [rcx + 0x10]
jmp 0x1401d871b
test dl, 1
je 0x1401d8714
mov rax, r15
jmp 0x1401d871b
mov dl, 1
call fcn.1401efe30
mov r8, rax
lea rdx, [0x14031f590]
mov rcx, r13
call fcn.1401d25d0
mov eax, dword [rbx + 0x24]
mov dword [rsp + 0x30], eax
cmp byte [rbx + 0x28], 0
je 0x1401d8771
mov rax, r12
movsxd rax, dword [rax - 0x14]
test eax, eax
je 0x1401d876d
imul rcx, rax, 0x38
mov eax, 0x2400
add rcx, r14
test word [rcx + 8], ax
je 0x1401d8761
mov rdx, rdi
call fcn.1401f2860
jmp 0x1401d876d
mov eax, 4
mov qword [rcx], rdi
mov word [rcx + 8], ax
mov byte [rbx + 0x28], 0
mov rax, qword [rbx]
mov r9d, 0x2400
test word [rax + 8], r9w
jne 0x1401d8787
cmp dword [rax + 0x20], 0
je 0x1401d8798
mov rcx, rax
call fcn.1401f1750
mov rax, qword [rbx]
mov r9d, 0x2400
mov r10d, dword [rsp + 0x30]
mov word [rax + 8], di
mov dword [rbx + 0x24], r15d
test r10d, r10d
jne 0x1401d3aac
mov rbx, qword [rsp + 0x50]
jmp 0x1401d33fa
mov rcx, qword [rsp + 0x38]
movsxd rax, dword [rcx + 4]
mov rsi, qword [rcx + 0x10]
imul rbx, rax, 0x38
movsxd rax, dword [rcx + 0xc]
add rbx, r14
test eax, eax
je 0x1401d884f
imul rdi, rax, 0x38
xorps xmm0, xmm0
movups xmmword [rbp + 0x210], xmm0
movups xmmword [rbp + 0x220], xmm0
xor eax, eax
add rdi, r14
mov qword [rbp + 0x240], rax
movups xmmword [rbp + 0x230], xmm0
test word [rdi + 8], r9w
je 0x1401d880d
mov rcx, rdi
call fcn.1401f17a0
jmp 0x1401d8812
mov word [rdi + 8], r10w
lea rcx, [rbp + 0x210]
mov qword [rbp + 0x210], rdi
mov qword [rbp + 0x220], rbx
mov qword [rbp + 0x218], rsi
call qword [rsi + 0x28]
mov rax, qword [rsp + 0x38]
mov r10d, dword [rbp + 0x234]
mov dword [rsp + 0x30], r10d
movsxd rax, dword [rax + 0xc]
imul rbx, rax, 0x38
add rbx, r14
jmp 0x1401d8861
mov rdx, rsi
mov rcx, rbx
call fcn.1401dcc30
mov r10d, eax
mov dword [rsp + 0x30], eax
test r10d, r10d
jne 0x1401da1a8
movzx eax, word [rbx + 8]
test al, 2
je 0x1401d888d
movzx edi, byte [rsp + 0x48]
cmp byte [rbx + 0xa], dil
je 0x1401d888d
movzx edx, dil
mov rcx, rbx
call fcn.1401dd810
movzx eax, word [rbx + 8]
test al, 0x12
je 0x1401d9bc3
bt ax, 0xe
mov ecx, dword [rbx + 0xc]
jae 0x1401d88a1
add ecx, dword [rbx]
mov rsi, qword [rsp + 0x40]
mov rax, qword [rbx + 0x28]
cmp ecx, dword [rax + 0x80]
jg 0x1401da2af
mov r12, qword [rsp + 0x38]
jmp 0x1401d33ef
lea rax, [rbp + 0x2b8]
mov dword [rbp + 0x2b8], 0xffffffff
mov qword [rsp + 0x20], rax
lea r9, [rbp + 0x2b4]
mov rax, qword [rsp + 0x38]
xor r15d, r15d
mov rcx, rsi
mov dword [rbp + 0x2b0], r15d
mov dword [rbp + 0x2b4], 0xffffffff
mov r8d, dword [rax + 8]
mov edx, dword [rax + 4]
call fcn.14019e1a0
mov dword [rsp + 0x30], eax
mov r10d, eax
test eax, eax
je 0x1401d8929
cmp eax, 5
jne 0x1401d3aa7
mov eax, 1
mov dword [rsp + 0x30], r15d
mov dword [rbp + 0x2b0], eax
mov rax, qword [rsp + 0x38]
mov rdi, r15
mov esi, 4
mov r9d, 0x2400
movsxd rax, dword [rax + 0xc]
imul rbx, rax, 0x38
add rbx, r14
nop word [rax + rax]
movsxd rax, dword [rbp + rdi*4 + 0x2b0]
test word [rbx + 8], r9w
je 0x1401d8972
mov rdx, rax
mov rcx, rbx
call fcn.1401f2860
mov r9d, 0x2400
jmp 0x1401d8979
mov qword [rbx], rax
mov word [rbx + 8], si
inc rdi
add rbx, 0x38
cmp rdi, 3
jl 0x1401d8950
mov rsi, qword [rsp + 0x40]
mov r12, qword [rsp + 0x38]
mov rbx, qword [rsp + 0x50]
jmp 0x1401d33fa
mov rdi, qword [rsp + 0x38]
mov r12, qword [rsp + 0x68]
movsxd rax, dword [rdi + 8]
imul r13, rax, 0x38
add r13, qword [r12 + 0x68]
test word [r13 + 8], r9w
je 0x1401d89cc
mov rcx, r13
call fcn.140185e00
xor r11d, r11d
mov r13, rax
lea r10d, [r11 + 1]
jmp 0x1401d89d6
mov eax, 4
mov word [r13 + 8], ax
mov rax, qword [rsi + 0x20]
mov edx, dword [rdi + 0xc]
movsxd rcx, dword [rdi + 4]
shl rcx, 5
cmp edx, 0xffffffff
mov r15, qword [rcx + rax + 8]
mov rax, qword [r15 + 8]
mov rdi, qword [rax]
movzx r14d, byte [rdi + 9]
mov esi, r14d
cmovne esi, edx
cmp byte [rdi + 0x14], 3
jae 0x1401d8a16
mov rax, qword [rdi + 0x50]
cmp qword [rax], 0
je 0x1401d8a19
cmp qword [rdi + 0x60], 0
jle 0x1401d8a19
mov esi, r14d
cmp byte [rdi + 0x13], 0
lea rcx, [0x140318974]
jne 0x1401d8a2d
mov rcx, qword [rdi + 0xd0]
cmp esi, 5
jne 0x1401d8aa9
test rcx, rcx
je 0x1401d8a6f
mov rax, 0xffffffffffffffff
nop
inc rax
cmp byte [rcx + rax], 0
jne 0x1401d8a40
and eax, 0x3fffffff
je 0x1401d8a6f
cmp byte [rdi + 0x11], 0
mov rax, qword [rdi + 0x48]
mov rcx, qword [rax]
jne 0x1401d8a6f
cmp byte [rdi + 8], 0
jne 0x1401d8aa9
cmp dword [rcx], 2
jl 0x1401d8a6f
cmp qword [rcx + 0x68], 0
jne 0x1401d8aa9
mov esi, r14d
mov eax, dword [rsp + 0x30]
test eax, eax
je 0x1401d8a7d
mov esi, r14d
mov edx, esi
mov rcx, rdi
call fcn.1401bba20
mov ecx, 0xa02
mov word [r13 + 8], cx
cmp eax, 6
jne 0x1401d8c24
xor r15d, r15d
mov qword [r13 + 0x10], r15
mov eax, r15d
jmp 0x1401d8c61
cmp esi, r14d
je 0x1401d8a72
cmp r14d, 5
je 0x1401d8ab9
cmp esi, 5
jne 0x1401d8a72
mov r12, qword [rsp + 0x40]
cmp byte [r12 + 0x61], 0
je 0x1401da1d1
cmp dword [r12 + 0xd4], 1
jg 0x1401da1d1
cmp r14d, 5
jne 0x1401d8bea
cmp qword [rdi + 0x120], 0
mov ebx, r11d
jne 0x1401d8b6a
mov dword [rbp - 0x2c], r11d
movzx eax, byte [rdi + 0x15]
cmp al, 1
jb 0x1401d8b01
cmp al, r14b
jne 0x1401d8b24
cmp byte [rdi + 0x11], 0
jne 0x1401d8b1a
mov rcx, qword [rdi + 0x48]
mov edx, r10d
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_getservbyport]
mov ebx, eax
test eax, eax
jne 0x1401d8b24
cmp byte [rdi + 0x15], 5
je 0x1401d8b24
mov byte [rdi + 0x15], 1
test ebx, ebx
jne 0x1401d8bd2
mov rax, qword [rdi]
lea r9, [rbp - 0x2c]
mov rdx, qword [rdi + 0x128]
xor r8d, r8d
mov rcx, rax
call qword [rax + reloc.WS2_32.dll_getservbyport]
mov ebx, eax
test eax, eax
jne 0x1401d8bd2
cmp dword [rbp - 0x2c], eax
je 0x1401d8b60
mov rcx, rdi
call fcn.140186900
mov ebx, eax
test eax, eax
jne 0x1401d8bd2
cmp qword [rdi + 0x120], 0
je 0x1401d8bd2
mov rcx, rdi
call fcn.140186610
mov ebx, eax
test eax, eax
jne 0x1401d8bd2
mov rax, qword [rdi + 0x110]
mov rdx, r12
movzx r8d, byte [rdi + 0xf]
mov r9d, dword [rdi + 0xbc]
mov rcx, qword [rdi + 0x120]
mov qword [rsp + 0x20], rax
call fcn.1401e1450
mov ebx, eax
mov dword [rsp + 0x30], eax
xor eax, eax
mov rcx, rdi
mov qword [rdi + 0x120], rax
call fcn.1401866a0
test ebx, ebx
je 0x1401d8bd2
cmp byte [rdi + 8], 0
jne 0x1401d8bd2
mov edx, 1
mov rcx, rdi
call fcn.140187450
jmp 0x1401d8a7a
mov dword [rsp + 0x30], ebx
test ebx, ebx
jne 0x1401d8a7a
mov edx, esi
mov rcx, rdi
call fcn.1401bba20
jmp 0x1401d8c07
cmp r14d, 4
jne 0x1401d8bfc
lea edx, [r14 - 2]
mov rcx, rdi
call fcn.1401bba20
cmp dword [rsp + 0x30], 0
jne 0x1401d8a7a
xor eax, eax
mov rcx, r15
mov edx, eax
cmp esi, 5
sete dl
inc edx
call fcn.14019d680
mov dword [rsp + 0x30], eax
jmp 0x1401d8a76
cdqe
lea rcx, [0x140000000]
mov rcx, qword [rcx + rax*8 + 0x31a9f8]
mov qword [r13 + 0x10], rcx
test rcx, rcx
jne 0x1401d8c46
xor r15d, r15d
mov eax, r15d
jmp 0x1401d8c61
mov rax, 0xffffffffffffffff
nop dword [rax]
inc rax
cmp byte [rcx + rax], 0
jne 0x1401d8c50
and eax, 0x3fffffff
xor r15d, r15d
movzx edi, byte [rsp + 0x48]
mov dword [r13 + 0xc], eax
mov byte [r13 + 0xa], 1
cmp dil, 1
je 0x1401d8c81
movzx edx, dil
mov rcx, r13
call fcn.1401dd810
mov r10d, dword [rsp + 0x30]
mov rsi, qword [rsp + 0x40]
test r10d, r10d
je 0x1401d33e5
mov r13, qword [rsp + 0x68]
jmp 0x1401d3aa7
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 8]
test eax, eax
je 0x1401d8cb7
imul r9, rax, 0x38
add r9, r14
xor r15d, r15d
jmp 0x1401d8cbd
xor r15d, r15d
mov r9d, r15d
mov rax, qword [rsp + 0x38]
lea rcx, [r13 + 0xa8]
mov rdx, rsi
mov r8d, dword [rax + 4]
call fcn.1401c4dc0
mov dword [rsp + 0x30], eax
mov r10d, eax
test eax, eax
jne 0x1401d3aa7
mov r12, qword [rsp + 0x38]
jmp 0x1401d33f4
mov rax, qword [rsp + 0x38]
movsxd rcx, dword [rax + 4]
mov rax, qword [rsi + 0x20]
shl rcx, 5
mov rsi, qword [rcx + rax + 8]
cmp byte [rsi + 0x11], 0
mov rdi, qword [rsi + 8]
je 0x1401d8d1f
inc dword [rsi + 0x14]
cmp byte [rsi + 0x12], 0
jne 0x1401d8d1f
mov rcx, rsi
call fcn.1401692e0
cmp byte [rdi + 0x21], 0
jne 0x1401d8d32
mov dword [rsp + 0x30], 0x65
jmp 0x1401d8dfb
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.140177790
mov r15d, eax
cmp r14d, eax
jb 0x1401d8de3
cmp ebx, r14d
jae 0x1401d8de3
test ebx, ebx
je 0x1401d8dd9
mov rcx, qword [rdi + 0x10]
test rcx, rcx
je 0x1401d8d85
xor r8d, r8d
xor edx, edx
call fcn.140191de0
mov dword [rsp + 0x30], eax
test eax, eax
jne 0x1401d8df1
mov rax, qword [rdi + 0x10]
test rax, rax
je 0x1401d8d9d
nop
and byte [rax + 1], 0xfb
mov rax, qword [rax + 0x28]
test rax, rax
jne 0x1401d8d90
xor r9d, r9d
mov r8d, r14d
mov edx, r15d
mov rcx, rdi
call fcn.14017f0a0
mov dword [rsp + 0x30], eax
test eax, eax
jne 0x1401d8df1
mov rcx, qword [rdi + 0x18]
mov rcx, qword [rcx + 0x70]
call fcn.1401bc140
mov edx, dword [rdi + 0x40]
mov dword [rsp + 0x30], eax
mov rax, qword [rdi + 0x18]
bswap edx
mov rcx, qword [rax + 0x50]
mov dword [rcx + 0x1c], edx
jmp 0x1401d8df1
mov dword [rsp + 0x30], 0x65
jmp 0x1401d8df1
mov ecx, 0x10eff
call fcn.1401a0f40
mov dword [rsp + 0x30], eax
mov rbx, qword [rsp + 0x50]
mov r14, qword [rsp + 0x60]
cmp byte [rsi + 0x11], 0
je 0x1401d8e0f
sub dword [rsi + 0x14], 1
jne 0x1401d8e0f
mov rcx, rsi
call fcn.1401edd70
mov r10d, dword [rsp + 0x30]
test r10d, r10d
je 0x1401d38cb
cmp r10d, 0x65
jne 0x1401d6bbf
mov r12, qword [rsp + 0x38]
xor r11d, r11d
mov dword [rsp + 0x30], r11d
lea r10d, [r11 + 1]
jmp 0x1401d614e
mov rax, qword [rsp + 0x38]
cmp dword [rax + 4], 0
jne 0x1401d8e80
mov ecx, dword [rax + 8]
mov rax, qword [rsi + 8]
test rax, rax
je 0x1401d61de
inc ecx
and ecx, 3
nop dword [rax]
and dword [rax + 0xc8], 0xfffffffc
or dword [rax + 0xc8], ecx
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x1401d8e60
mov r12, qword [rsp + 0x38]
jmp case.0x1401d2775.86
mov eax, dword [rax + 8]
mov r12, qword [rsp + 0x38]
inc eax
xor eax, dword [r13 + 0xc8]
and eax, 3
xor dword [r13 + 0xc8], eax
jmp case.0x1401d2775.86
mov rax, qword [rsp + 0x38]
mov r12, qword [rsp + 0x38]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x78]
mov rcx, qword [rax + rcx*8]
mov rax, qword [rcx + 0x38]
or byte [rax + 1], 0x40
jmp case.0x1401d2775.86
mov rax, qword [rsp + 0x38]
mov r12, qword [rsp + 0x38]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x78]
mov rcx, qword [rax + rcx*8]
mov rax, qword [rcx + 0x38]
and byte [rax + 1], 0xbf
jmp case.0x1401d2775.86
mov rax, qword [rsp + 0x38]
movzx esi, byte [rax + 0xc]
test sil, sil
jne 0x1401d8f0c
mov rax, qword [rsp + 0x40]
mov eax, dword [rax + 0x30]
bt rax, 0xa
jb 0x1401d9d37
mov rax, qword [rsp + 0x38]
movsxd rcx, dword [rax + 4]
xor r15d, r15d
mov edi, dword [rax + 8]
mov r10d, r15d
mov rax, qword [rsp + 0x40]
shl rcx, 5
mov dword [rsp + 0x30], r15d
mov rax, qword [rax + 0x20]
mov rbx, qword [rcx + rax + 8]
cmp byte [rbx + 0x11], r10b
je 0x1401d9000
inc dword [rbx + 0x14]
inc sil
cmp byte [rbx + 0x12], r10b
jne 0x1401d8f4e
mov rcx, rbx
call fcn.1401692e0
movzx r8d, sil
mov edx, edi
mov rcx, rbx
call fcn.14018c1b0
mov dword [rsp + 0x30], eax
mov r10d, eax
test eax, eax
jne 0x1401d8fd4
mov r14, qword [rbx + 8]
mov rax, qword [r14 + 0x78]
test rax, rax
je 0x1401d8f87
cmp dword [rax + 8], edi
jne 0x1401d8f7e
cmp qword [rax], rbx
je 0x1401d8fb0
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x1401d8f74
mov ecx, 0x18
call fcn.1401b8f80
test rax, rax
je 0x1401d8fc4
mov qword [rax + 0xc], r15
mov dword [rax + 0x14], r15d
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 0x1401d8fba
mov byte [rax + 0xc], sil
mov r10d, r15d
mov dword [rsp + 0x30], r15d
jmp 0x1401d8fcf
mov r10d, 7
mov dword [rsp + 0x30], r10d
mov r14, qword [rsp + 0x60]
cmp byte [rbx + 0x11], r15b
je 0x1401d8fed
sub dword [rbx + 0x14], 1
jne 0x1401d8fed
mov rcx, rbx
call fcn.1401edd70
mov r10d, dword [rsp + 0x30]
mov r9d, 0x2400
lea rdx, [0x140000000]
mov r8d, 0x1000
test r10d, r10d
jne 0x1401da20c
mov rsi, qword [rsp + 0x40]
xor r11d, r11d
mov r12, qword [rsp + 0x38]
mov rbx, qword [rsp + 0x50]
lea r10d, [r11 + 1]
jmp case.0x1401d2775.86
movsxd rdx, dword [rsi + 0x1fc]
xor r15d, r15d
mov rbx, qword [r12 + 0x10]
mov dword [rsp + 0x30], r15d
test edx, edx
jle 0x1401d905e
cmp qword [rsi + 0x220], r15
jne 0x1401d905e
mov r10d, 6
mov dword [rsp + 0x30], r10d
test rbx, rbx
je 0x1401d3aa7
jmp 0x1401d910f
test rbx, rbx
jne 0x1401d9075
mov rbx, qword [rsp + 0x50]
xor r11d, r11d
mov dword [rsp + 0x30], r15d
jmp 0x1401d3409
mov rax, qword [rbx + 0x10]
mov rdi, qword [rax]
cmp qword [rdi + 0x70], r15
je 0x1401d910f
mov rcx, r15
test edx, edx
jle 0x1401d90a9
mov rax, qword [rsi + 0x220]
cmp qword [rax], rbx
je 0x1401d912e
inc rcx
add rax, 8
cmp rcx, rdx
jl 0x1401d9094
mov rcx, rsi
call fcn.14017e7d0
mov dword [rsp + 0x30], eax
test eax, eax
jne 0x1401d910f
mov rcx, qword [rbx + 0x10]
call qword [rdi + 0x70]
mov dword [rsp + 0x30], eax
test eax, eax
jne 0x1401d910f
mov edx, dword [rsi + 0x2cc]
add edx, dword [rsi + 0x2c8]
movsxd rcx, dword [rsi + 0x1fc]
mov rax, qword [rsi + 0x220]
mov qword [rax + rcx*8], rbx
inc dword [rsi + 0x1fc]
inc dword [rbx + 0x18]
test edx, edx
je 0x1401d910f
cmp qword [rdi + 0xa0], r15
je 0x1401d910f
mov dword [rbx + 0x20], edx
dec edx
mov rcx, qword [rbx + 0x10]
call qword [rdi + RegisterTypeLib]
mov dword [rsp + 0x30], eax
mov rdx, qword [rbx + 0x10]
mov rcx, r13
call fcn.1401e08a0
mov r10d, dword [rsp + 0x30]
test r10d, r10d
jne 0x1401d3aa7
jmp 0x1401d33ef
mov dword [rsp + 0x30], r15d
jmp 0x1401d910f
mov rax, qword [rsp + 0x38]
lea rcx, [rbp + 0xa0]
xor r15d, r15d
mov qword [rbp + 0xc8], rsi
xorps xmm0, xmm0
mov qword [rbp + 0xa0], r15
xorps xmm1, xmm1
mov qword [rbp + 0xd0], r15
movdqu xmmword [rbp + 0xa8], xmm0
movdqu xmmword [rbp + 0xb8], xmm1
movsxd rax, dword [rax + 8]
imul rdx, rax, 0x38
add rdx, r14
call fcn.1401dcb30
mov rcx, qword [rbp + 0xa8]
mov edx, 0x202
mov dword [rsp + 0x30], eax
movzx eax, cx
and ax, dx
cmp ax, dx
jne 0x1401d91ac
cmp byte [rbp + 0xaa], 1
jne 0x1401d91ac
mov rax, qword [rbp + 0xb0]
jmp 0x1401d91ca
test cl, 1
jne 0x1401d9317
mov dl, 1
lea rcx, [rbp + 0xa0]
call fcn.1401efe30
mov rcx, qword [rbp + 0xa8]
mov r12, qword [rsp + 0x38]
test rax, rax
je 0x1401d931c
movsxd rcx, dword [r12 + 4]
lea rbx, [r13 + 0xa8]
mov r8, qword [rsi + 0x20]
mov rdx, rax
shl rcx, 5
mov r8, qword [rcx + r8]
mov rcx, rsi
call fcn.1401acda0
mov r14, qword [rsp + 0x40]
xor r8d, r8d
mov rsi, rax
mov rcx, qword [rax + 0x58]
mov rdi, qword [rcx]
lea rcx, [r14 + 0x200]
mov rdx, rdi
call fcn.140177ba0
mov r8, qword [rax + 0x10]
test r8, r8
je 0x1401d92e3
mov rcx, qword [r8]
mov r9, qword [rcx + 8]
test r9, r9
je 0x1401d92e3
cmp qword [rcx + 0x28], r15
je 0x1401d92e3
mov rdx, rsi
mov qword [rsp + 0x20], rbx
mov rcx, r14
call fcn.1401f4540
mov dword [rsp + 0x30], eax
test eax, eax
jne 0x1401d9272
mov rax, qword [rsi + 0x60]
test rax, rax
je 0x1401d9272
cmp qword [rax], r14
je 0x1401d928b
mov rax, qword [rax + 0x28]
test rax, rax
jne 0x1401d9264
mov rcx, qword [rbp + 0xa8]
mov rsi, r14
mov r14, qword [rsp + 0x60]
mov rbx, qword [rsp + 0x50]
jmp 0x1401d931c
mov rcx, r14
call fcn.14017e7d0
mov dword [rsp + 0x30], eax
test eax, eax
jne 0x1401d9272
mov rdx, qword [rsi + 0x60]
mov rsi, r14
test rdx, rdx
je 0x1401d92b5
cmp qword [rdx], rsi
je 0x1401d92b5
mov rdx, qword [rdx + 0x28]
test rdx, rdx
jne 0x1401d92a7
movsxd rcx, dword [rsi + 0x1fc]
mov rax, qword [rsi + 0x220]
mov r14, qword [rsp + 0x60]
mov rbx, qword [rsp + 0x50]
mov qword [rax + rcx*8], rdx
inc dword [rsi + 0x1fc]
inc dword [rdx + 0x18]
mov rcx, qword [rbp + 0xa8]
jmp 0x1401d931c
mov r8, rdi
lea rdx, str.no_such_module:__s
mov rcx, r14
mov rsi, r14
call fcn.1401b8f50
mov r14, qword [rsp + 0x60]
mov qword [rbx], rax
mov eax, 1
mov rcx, qword [rbp + 0xa8]
mov rbx, qword [rsp + 0x50]
mov dword [rsp + 0x30], eax
jmp 0x1401d931c
mov r12, qword [rsp + 0x38]
mov r9d, 0x2400
test r9w, cx
jne 0x1401d9331
cmp dword [rbp + 0xc0], r15d
je 0x1401d9343
lea rcx, [rbp + 0xa0]
call fcn.1401f1750
mov r9d, 0x2400
mov r10d, dword [rsp + 0x30]
test r10d, r10d
jne 0x1401d3aa7
jmp 0x1401d33fa
inc dword [rsi + 0xe0]
xor r15d, r15d
mov rcx, qword [rsp + 0x38]
mov r8, qword [rsi + 0x20]
mov dword [rsp + 0x30], r15d
movsxd rax, dword [rcx + 4]
mov rdx, qword [rcx + 0x10]
mov rcx, rsi
shl rax, 5
mov r8, qword [rax + r8]
call fcn.1401acda0
mov rdi, rax
test rax, rax
je 0x1401d941d
mov rdx, qword [rax + 0x60]
test rdx, rdx
je 0x1401d941d
nop
mov rcx, qword [rdx + 0x10]
cmp dword [rcx + 8], r15d
jg 0x1401da23d
mov rdx, qword [rdx + 0x28]
test rdx, rdx
jne 0x1401d93a0
mov rdx, rdi
mov rcx, rsi
call fcn.1401f4b20
mov rbx, rax
mov rcx, qword [rax + 8]
mov rdx, qword [rcx]
mov rax, qword [rdx + 0x28]
test rax, rax
jne 0x1401d93d9
mov rax, qword [rdx + 0x20]
inc dword [rdi + 0x3c]
mov rcx, qword [rbx + 0x10]
call rax
mov dword [rsp + 0x30], eax
test eax, eax
jne 0x1401d93fa
mov qword [rbx + 0x10], r15
mov rcx, rbx
mov qword [rdi + 0x60], r15
call fcn.1401e0d50
cmp qword [rsi + 0x2e0], r15
jne 0x1401d940d
mov eax, 0xffffffff
add dword [rdi + 0x3c], eax
jne 0x1401d9418
mov rdx, rdi
mov rcx, rsi
call fcn.140171cb0
mov rbx, qword [rsp + 0x50]
dec dword [rsi + 0xe0]
mov r10d, dword [rsp + 0x30]
test r10d, r10d
jne 0x1401d3aa7
mov r12, qword [rsp + 0x38]
mov dword [rsp + 0x30], r10d
jmp 0x1401d33f4
mov rax, qword [rsp + 0x38]
xor r15d, r15d
mov qword [rbp - 0x20], r15
mov rax, qword [rax + 0x10]
mov rbx, qword [rax + 0x10]
test rbx, rbx
je 0x1401da266
mov rdi, qword [rbx]
test rdi, rdi
je 0x1401da266
lea rdx, [rbp - 0x20]
mov rcx, rbx
call qword [rdi + 0x30]
mov rdx, rbx
mov rcx, r13
mov dword [rsp + 0x30], eax
call fcn.1401e08a0
mov r10d, dword [rsp + 0x30]
test r10d, r10d
jne 0x1401d3aa7
mov rax, qword [rbp - 0x20]
lea r9d, [r15 - 1]
xor r8d, r8d
mov byte [rsp + 0x20], 2
mov rcx, r13
mov qword [rax], rbx
mov rax, qword [rsp + 0x38]
mov edx, dword [rax + 4]
call fcn.140163730
mov rcx, qword [rbp - 0x20]
test rax, rax
je 0x1401da253
mov r12, qword [rsp + 0x38]
mov qword [rax + 0x38], rcx
inc dword [rbx + 8]
jmp 0x1401d33ef
mov rcx, qword [rsp + 0x38]
mov r12, qword [rsp + 0x68]
movsxd rax, dword [rcx + 0xc]
movsxd rcx, dword [rcx + 4]
mov rdi, qword [r12 + 0x70]
imul rdx, rax, 0x38
mov rax, qword [r13 + 0x78]
add rdx, r14
movsxd r9, dword [rdx + 0x38]
lea r11, [rdx + 0x38]
mov r13, qword [rax + rcx*8]
xor eax, eax
mov edx, dword [rdx]
mov r8d, eax
mov rsi, qword [r13 + 0x38]
mov r15, qword [rsi]
mov r14, qword [r15]
test r9d, r9d
jle 0x1401d9539
nop word [rax + rax]
movsxd rax, r10d
inc r10d
imul rcx, rax, 0x38
add rcx, r11
mov qword [rdi + r8*8], rcx
inc r8
cmp r8, r9
jl 0x1401d9520
mov rax, qword [rsp + 0x38]
mov rcx, rsi
mov qword [rsp + 0x20], rdi
mov r8, qword [rax + 0x10]
call qword [r14 + 0x40]
mov rdx, r15
mov rcx, r12
mov dword [rsp + 0x30], eax
call fcn.1401e08a0
mov r10d, dword [rsp + 0x30]
test r10d, r10d
jne 0x1401da5a7
mov rcx, rsi
call qword [r14 + 0x50]
mov byte [r13 + 2], 0
test eax, eax
je 0x1401d33e0
mov r12, qword [rsp + 0x38]
xor r11d, r11d
mov r10d, 1
jmp 0x1401d6149
mov rax, qword [rsp + 0x38]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x78]
mov rdi, qword [rax + rcx*8]
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 0xc]
imul rbx, rax, 0x38
add rbx, r14
cmp byte [rdi + 2], 0
je 0x1401d95e6
test word [rbx + 8], r9w
je 0x1401d95d2
mov rcx, rbx
call fcn.1401f17a0
mov r12, qword [rsp + 0x38]
jmp 0x1401d33ef
mov r12, qword [rsp + 0x38]
mov word [rbx + 8], r10w
mov rbx, qword [rsp + 0x50]
jmp case.0x1401d2775.86
mov rax, qword [rdi + 0x38]
xorps xmm0, xmm0
xorps xmm1, xmm1
mov rsi, qword [rax]
mov rax, qword [rsp + 0x38]
mov r14, qword [rsi]
movdqu xmmword [rbp + 0x250], xmm0
mov qword [rbp + 0x248], rbx
movdqu xmmword [rbp + 0x260], xmm1
movdqu xmmword [rbp + 0x270], xmm0
test byte [rax + 2], 1
je 0x1401d9645
test word [rbx + 8], r9w
je 0x1401d9634
mov rcx, rbx
call fcn.1401f17a0
mov rax, qword [rsp + 0x38]
mov ecx, 0x4001
xor r15d, r15d
mov word [rbx + 8], cx
mov dword [rbx], r15d
jmp 0x1401d9656
mov ecx, 0x3e40
and word [rbx + 8], cx
or word [rbx + 8], 1
xor r15d, r15d
mov r8d, dword [rax + 8]
lea rdx, [rbp + 0x248]
mov rcx, qword [rdi + 0x38]
call qword [r14 + 0x58]
mov rdx, rsi
mov rcx, r13
mov dword [rsp + 0x30], eax
call fcn.1401e08a0
cmp dword [rbp + 0x26c], 0
jle 0x1401d96d1
movzx ecx, word [rbx + 8]
mov edx, 0x202
movzx eax, cx
and ax, dx
cmp ax, dx
jne 0x1401d96a1
cmp byte [rbx + 0xa], 1
jne 0x1401d96a1
mov rax, qword [rbx + 0x10]
jmp 0x1401d96b5
test cl, 1
je 0x1401d96ab
mov rax, r15
jmp 0x1401d96b5
mov dl, 1
mov rcx, rbx
call fcn.1401efe30
mov r8, rax
lea rdx, [0x14031f590]
mov rcx, r13
call fcn.1401d25d0
mov eax, dword [rbp + 0x26c]
mov dword [rsp + 0x30], eax
movzx eax, word [rbx + 8]
test al, 2
je 0x1401d96f4
movzx edi, byte [rsp + 0x48]
cmp byte [rbx + 0xa], dil
je 0x1401d96f4
movzx edx, dil
mov rcx, rbx
call fcn.1401dd810
movzx eax, word [rbx + 8]
test al, 0x12
je 0x1401d9714
bt ax, 0xe
mov ecx, dword [rbx + 0xc]
jae 0x1401d9704
add ecx, dword [rbx]
mov rax, qword [rbx + 0x28]
cmp ecx, dword [rax + 0x80]
jg 0x1401da29b
mov r10d, dword [rsp + 0x30]
mov rsi, qword [rsp + 0x40]
test r10d, r10d
jne 0x1401d3aa7
jmp 0x1401d33e5
mov rax, qword [rsp + 0x38]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x78]
mov rdi, qword [rax + rcx*8]
cmp byte [rdi + 2], 0
jne 0x1401d61de
mov rcx, qword [rdi + 0x38]
mov rbx, qword [rcx]
mov rsi, qword [rbx]
call qword [rsi + 0x48]
mov rdx, rbx
mov rcx, r13
mov dword [rsp + 0x30], eax
call fcn.1401e08a0
mov r10d, dword [rsp + 0x30]
test r10d, r10d
jne 0x1401d6bbf
mov rcx, qword [rdi + 0x38]
call qword [rsi + 0x50]
test eax, eax
jne 0x1401d7e0f
mov rsi, qword [rsp + 0x40]
mov rbx, qword [rsp + 0x50]
mov rax, qword [rsp + 0x38]
mov eax, dword [rax + 8]
dec eax
cdqe
lea rcx, [rax + rax*2]
lea rax, [rbx + rcx*8]
mov qword [rsp + 0x38], rax
jmp 0x1401d7e19
mov edi, dword [rsi + 0x30]
or qword [rsi + 0x30], 0x4000000
and edi, 0x4000000
mov rcx, qword [rsp + 0x38]
mov rax, qword [rcx + 0x10]
mov rsi, qword [rax + 0x10]
movsxd rax, dword [rcx + 4]
imul rbx, rax, 0x38
add rbx, r14
test byte [rbx + 8], 2
je 0x1401d97f6
cmp byte [rbx + 0xa], 1
je 0x1401d97f6
mov dl, 1
mov rcx, rbx
call fcn.1401dd810
mov dword [rsp + 0x30], eax
mov r10d, eax
test eax, eax
jne 0x1401d6bbf
mov rax, qword [rsi]
mov rcx, rsi
mov rdx, qword [rbx + 0x10]
call qword [rax + 0x98]
mov dword [rsp + 0x30], eax
test edi, edi
jne 0x1401d981b
mov rax, qword [rsp + 0x40]
and qword [rax + 0x30], 0xfffffffffbffffff
mov rdx, rsi
mov rcx, r13
call fcn.1401e08a0
and dword [r13 + 0xc8], 0xfffffffc
mov r10d, dword [rsp + 0x30]
mov rsi, qword [rsp + 0x40]
test r10d, r10d
jne 0x1401d3aa4
mov r12, qword [rsp + 0x38]
jmp 0x1401d33ef
cmp byte [rsi + 0x63], 0
jne 0x1401da4fa
mov rax, qword [rsp + 0x38]
mov rax, qword [rax + 0x10]
mov rbx, qword [rax + 0x10]
test rbx, rbx
je 0x1401da290
mov r10, qword [rbx]
test r10, r10
je 0x1401da290
cmp qword [r10 + 0x68], 0
mov r12, qword [rsp + 0x38]
movsxd rdx, dword [r12 + 8]
je 0x1401d3107
movsxd rax, dword [r12 + 0xc]
xor r15d, r15d
movzx edi, byte [rsi + 0x68]
mov r8, qword [r13 + 0x70]
imul rcx, rax, 0x38
mov eax, r15d
add rcx, r14
test edx, edx
jle 0x1401d98c0
nop word [rax + rax]
mov qword [r8 + rax*8], rcx
add rcx, 0x38
inc rax
cmp rax, rdx
jl 0x1401d98b0
mov rax, r12
lea r9, [rbp + 0x70]
mov rcx, rbx
movzx eax, byte [rax + 2]
mov byte [rsi + 0x68], al
call qword [r10 + 0x68]
mov rdx, rbx
mov byte [rsi + 0x68], dil
mov rcx, r13
mov dword [rsp + 0x30], eax
call fcn.1401e08a0
mov r10d, dword [rsp + 0x30]
test r10d, r10d
jne 0x1401d9903
cmp dword [r12 + 4], r15d
je 0x1401d992f
mov rax, qword [rbp + 0x70]
mov qword [rsi + 0x38], rax
jmp 0x1401d992f
cmp r10b, 0x13
jne 0x1401d992f
mov rax, r12
mov rax, qword [rax + 0x10]
cmp byte [rax + 0x1c], r15b
je 0x1401d992f
movzx ecx, word [r12 + 2]
cmp ecx, 4
jne 0x1401da276
mov dword [rsp + 0x30], r15d
jmp 0x1401d33ef
inc dword [r13 + 0x3c]
test r10d, r10d
jne 0x1401d3aa7
jmp 0x1401d33ef
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 8]
imul rdx, rax, 0x38
add rdx, qword [r13 + 0x68]
test word [rdx + 8], r9w
je 0x1401d9979
mov rcx, rdx
call fcn.140185e00
xor r11d, r11d
mov rdx, rax
mov r9d, 0x2400
mov r8d, 0x1000
lea r10d, [r11 + 1]
jmp 0x1401d9982
mov eax, 4
mov word [rdx + 8], ax
mov rax, qword [rsp + 0x38]
mov r12, qword [rsp + 0x38]
movsxd rcx, dword [rax + 4]
mov rax, qword [rsi + 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 0x1401d3409
mov rdi, qword [rsp + 0x38]
movsxd rax, dword [rdi + 8]
imul rsi, rax, 0x38
add rsi, qword [r13 + 0x68]
test word [rsi + 8], r9w
je 0x1401d99d4
mov rcx, rsi
call fcn.140185e00
mov rsi, rax
xor r11d, r11d
jmp 0x1401d99dd
mov eax, 4
mov word [rsi + 8], ax
movsxd rcx, dword [rdi + 4]
mov edi, r11d
mov rax, qword [rsp + 0x40]
shl rcx, 5
mov rax, qword [rax + 0x20]
mov rbx, qword [rcx + rax + 8]
mov rax, qword [rsp + 0x38]
mov ecx, dword [rax + 0xc]
test ecx, ecx
je 0x1401d9a0e
mov rax, qword [rbx + 8]
mov edi, dword [rax + 0x40]
cmp edi, ecx
cmovb edi, ecx
cmp byte [rbx + 0x11], 0
je 0x1401d9a25
inc dword [rbx + 0x14]
cmp byte [rbx + 0x12], 0
jne 0x1401d9a25
mov rcx, rbx
call fcn.1401692e0
mov rax, qword [rbx + 8]
mov rcx, qword [rax]
test edi, edi
je 0x1401d9a38
mov dword [rcx + 0xc0], edi
jmp 0x1401d9a3e
mov edi, dword [rcx + 0xc0]
cmp byte [rbx + 0x11], 0
je 0x1401d9a52
sub dword [rbx + 0x14], 1
jne 0x1401d9a52
mov rcx, rbx
call fcn.1401edd70
mov r12, qword [rsp + 0x38]
mov eax, edi
mov qword [rsi], rax
mov rsi, qword [rsp + 0x40]
jmp 0x1401d33ef
mov rax, qword [rsp + 0x38]
mov rdi, qword [rax + 0x10]
movsxd rax, dword [rax + 0xc]
imul rbx, rax, 0x38
add rbx, r14
cmp qword [rdi], rbx
je 0x1401d9ad5
mov qword [rdi + 0x18], r13
mov qword [rdi], rbx
movzx eax, byte [rdi + 0x29]
mov edx, eax
sub rdx, 1
lea r9d, [rax - 1]
js 0x1401d9ad5
mov rsi, qword [rsp + 0x38]
lea r8, [rdi + 0x30]
lea r8, [r8 + rdx*8]
nop dword [rax]
nop word [rax + rax]
mov eax, dword [rsi + 8]
lea r8, [r8 - 8]
add eax, r9d
dec r9d
cdqe
imul rcx, rax, 0x38
add rcx, r14
sub rdx, 1
mov qword [r8 + 8], rcx
jns 0x1401d9ab0
mov rsi, qword [rsp + 0x40]
mov eax, 0x3e40
lea r8, [rdi + 0x30]
and word [rbx + 8], ax
mov rcx, rdi
or word [rbx + 8], 1
mov rax, qword [rdi + 8]
movzx edx, byte [rdi + 0x29]
call qword [rax + 0x18]
mov eax, dword [rdi + 0x24]
test eax, eax
je 0x1401d9b7b
jle 0x1401d9b4a
movzx ecx, word [rbx + 8]
mov edx, 0x202
movzx eax, cx
and ax, dx
cmp ax, dx
jne 0x1401d9b1e
cmp byte [rbx + 0xa], 1
jne 0x1401d9b1e
mov rax, qword [rbx + 0x10]
jmp 0x1401d9b31
test cl, 1
je 0x1401d9b27
xor eax, eax
jmp 0x1401d9b31
mov dl, 1
mov rcx, rbx
call fcn.1401efe30
mov r8, rax
lea rdx, [0x14031f590]
mov rcx, r13
call fcn.1401d25d0
mov eax, dword [rdi + 0x24]
mov dword [rsp + 0x30], eax
mov rax, qword [rsp + 0x38]
lea rdx, [r13 + 0x120]
mov r8d, dword [rdi + 0x20]
mov rcx, rsi
mov r9d, dword [rax + 4]
call fcn.1401d1f40
mov r10d, dword [rsp + 0x30]
xor r15d, r15d
mov dword [rdi + 0x24], r15d
test r10d, r10d
jne 0x1401d3aa7
movzx eax, word [rbx + 8]
test al, 0x12
je 0x1401d41c8
test al, 2
je 0x1401d9ba6
movzx edi, byte [rsp + 0x48]
cmp byte [rbx + 0xa], dil
je 0x1401d9ba6
movzx edx, dil
mov rcx, rbx
call fcn.1401dd810
movzx eax, word [rbx + 8]
test al, 0x12
je 0x1401d41c8
bt ax, 0xe
mov ecx, dword [rbx + 0xc]
jae 0x1401d88a6
add ecx, dword [rbx]
jmp 0x1401d88a6
mov rsi, qword [rsp + 0x40]
mov r12, qword [rsp + 0x38]
jmp 0x1401d33ef
mov r14, qword [rsp + 0x60]
mov r12, qword [rsp + 0x38]
jmp 0x1401d33ef
movzx eax, byte [rsi + 0x6a]
test al, 0x41
je 0x1401d9cc2
cmp byte [r13 + 0xc5], 0
jne 0x1401d9cc2
mov r9, qword [r12 + 0x10]
test r9, r9
jne 0x1401d9c15
mov r9, qword [r13 + 0xf0]
test r9, r9
je 0x1401d9cbc
test al, 0x40
je 0x1401d9c46
mov rdx, r9
mov rcx, r13
call fcn.1401daa50
mov rcx, qword [rsi + 0xf8]
mov rdx, rax
mov rbx, rax
call qword [rsi + 0xf0]
mov rcx, rbx
call fcn.140153a90
mov rbx, qword [rsp + 0x50]
jmp 0x1401d9ca6
cmp dword [rsi + 0xdc], 1
jle 0x1401d9c93
mov r8, r9
lea rdx, str.____s
mov rcx, rsi
call fcn.1401b8f50
mov rdx, qword [rsi + 0xf8]
mov r9, rax
mov r8, r13
mov ecx, 1
mov rbx, rax
call qword [rsi + 0xf0]
test rbx, rbx
je 0x1401d9c3f
mov rdx, rbx
mov rcx, rsi
call fcn.1401a2e60
mov rbx, qword [rsp + 0x50]
jmp 0x1401d9ca6
mov rdx, qword [rsi + 0xf8]
mov r8, r13
mov ecx, r10d
call qword [rsi + 0xf0]
mov r8d, 0x1000
lea rdx, [0x140000000]
mov r10d, 1
xor r11d, r11d
mov r9d, 0x2400
mov rax, qword [rsp + 0x38]
mov r12, qword [rsp + 0x38]
mov eax, dword [rax + 4]
cmp eax, dword [0x1403cb66c]
jl 0x1401d9d24
cmp byte [r12], 0xae
je case.0x1401d2775.86
cmp dword [r13 + 0x90], 1
mov edx, r10d
jle 0x1401d9d21
mov eax, 0x18
nop dword [rax]
nop dword [rax + rax]
mov rcx, qword [r13 + 0x88]
cmp byte [rax + rcx], 0x11
jne 0x1401d9d12
mov dword [rax + rcx + 4], r11d
inc edx
add rax, 0x18
cmp edx, dword [r13 + 0x90]
jl 0x1401d9d00
mov eax, r11d
inc eax
mov dword [r12 + 4], eax
inc dword [r13 + 0xec]
jmp 0x1401d614e
mov rsi, qword [rsp + 0x40]
mov r12, qword [rsp + 0x38]
jmp case.0x1401d2775.86
mov rsi, qword [rsp + 0x40]
mov r9d, 0x2400
mov r12, qword [rsp + 0x38]
mov rbx, qword [rsp + 0x50]
jmp 0x1401d3400
mov rdx, qword [rsp + 0x38]
mov dword [r13 + 0x38], ecx
movzx eax, byte [rdx + 8]
mov byte [r13 + 0xc2], al
mov dword [r13 + 0x34], ebx
test ecx, ecx
je 0x1401d9e11
movzx eax, word [rdx + 2]
mov rcx, r13
test ax, ax
je 0x1401d9dd7
mov r8d, eax
lea rdx, str._s_constraint_failed
lea rax, [0x140000000]
mov r8, qword [rax + r8*8 + 0x31a918]
call fcn.1401d25d0
mov rax, qword [rsp + 0x38]
mov r9, qword [rax + 0x10]
test r9, r9
je 0x1401d9de7
mov r8, qword [r13 + 0xa8]
lea rdx, str._z:__s
mov rcx, rsi
call fcn.1401b8f50
mov qword [r13 + 0xa8], rax
jmp 0x1401d9de7
mov r8, qword [rdx + 0x10]
lea rdx, [0x14031f590]
call fcn.1401d25d0
mov rax, qword [r13 + 0xa8]
lea rdx, str.abort_at__d_in___s_:__s
mov r9, qword [r13 + 0xf0]
mov r8d, ebx
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x38]
mov ecx, dword [rax + 4]
call fcn.140161330
mov rcx, r13
call fcn.1401db830
mov rbx, qword [rsp + 0x58]
mov edi, eax
cmp eax, 5
jne 0x1401d9e2e
mov dword [r13 + 0x38], eax
jmp 0x1401d9f23
cmp dword [r13 + 0x38], 0
mov edi, 0x65
mov eax, 1
cmovne edi, eax
jmp 0x1401d9f23
mov rax, qword [rsi + 0x28]
mov rsi, qword [rsp + 0x40]
test rax, rax
je 0x1401da2af
mov rax, qword [rax + 0x140]
test rax, rax
je 0x1401da2af
mov dword [rax + 0x18], reloc.WS2_32.dll_select
inc dword [rax + 0x30]
jmp 0x1401da2af
mov ecx, 0x15d18
call fcn.1401a0f40
mov r10d, eax
mov dword [rsp + 0x30], eax
mov rsi, qword [rsp + 0x40]
mov r13, qword [rsp + 0x68]
jmp 0x1401d3aa4
lea rdx, str.cannot_open_savepoint___SQL_statements_in_progress
mov rcx, r13
call fcn.1401d25d0
mov r10d, 5
mov rsi, rdi
jmp 0x1401d3a9f
mov r13, qword [rsp + 0x68]
lea rdx, str.cannot_release_savepoint___SQL_statements_in_progress
mov rcx, r13
call fcn.1401d25d0
mov r10d, 5
mov dword [rsp + 0x30], r10d
jmp 0x1401d3aa7
mov byte [rsi + 0x61], 0
mov r13, rbx
xor r15d, r15d
jmp 0x1401d3aac
mov rcx, qword [rsp + 0x38]
movabs rax, 0x2aaaaaaaaaaaaaab
sub rcx, qword [rsp + 0x50]
mov r13, rbx
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov dword [rbx + 0x34], edx
mov byte [rsi + 0x61], 0
mov edi, 5
mov dword [r13 + 0x38], edi
mov rbx, qword [rsp + 0x58]
mov r15, qword [rbp - 0x18]
cmp r15, rbx
jb 0x1401da71f
mov rdx, qword [rsi + 0x1e8]
test rdx, rdx
je 0x1401da71f
mov eax, dword [rsi + 0x1f8]
mov rcx, qword [rsi + 0x1f0]
add rbx, rax
call rdx
test eax, eax
je 0x1401d9f27
mov rbx, 0xffffffffffffffff
mov r10d, 9
xor r15d, r15d
mov dword [rsp + 0x30], r10d
mov edi, 1
lea r14, [0x140324ce4]
jmp 0x1401d3ab8
mov dword [rbx + 0x38], 0x313
lea rdx, str.FOREIGN_KEY_constraint_failed
mov rcx, rbx
mov byte [rbx + 0xc2], 2
mov r13, rbx
call fcn.1401d25d0
jmp 0x1401d9f1e
mov eax, 8
mov r10d, eax
mov dword [rsp + 0x30], eax
jmp 0x1401d3aa7
mov rbx, qword [rsp + 0x58]
cmp r10b, 5
jne 0x1401d9f6b
mov rcx, qword [rsp + 0x38]
movabs rax, 0x2aaaaaaaaaaaaaab
sub rcx, qword [rsp + 0x50]
mov edi, dword [rsp + 0x30]
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov dword [r13 + 0x34], edx
mov dword [r13 + 0x38], r10d
jmp 0x1401d9f23
mov rdx, qword [r13 + 0xa8]
test rdx, rdx
je 0x1401da004
mov rcx, rsi
call fcn.1401a2e60
mov edx, 0x1c
mov rcx, rsi
call fcn.1401a2ff0
test rax, rax
je 0x1401da036
movups xmm0, xmmword [str.database_schema_has_changed]
movups xmmword [rax], xmm0
movsd xmm1, qword [0x140320af0]
movsd qword [rax + 0x10], xmm1
mov ecx, dword [0x140320af8]
mov dword [rax + 0x18], ecx
mov qword [r13 + 0xa8], rax
mov rax, qword [rsp + 0x38]
movsxd rdx, dword [rax + 4]
mov rax, qword [rsi + 0x20]
mov rcx, rdx
shl rcx, 5
mov rcx, qword [rcx + rax + 0x18]
mov eax, dword [rbp - 0x50]
cmp dword [rcx], eax
je 0x1401da065
mov rcx, rsi
call fcn.1401c3960
and dword [r13 + 0xc8], 0xfffffffd
mov r10d, reloc.WS2_32.dll_recvfrom
or dword [r13 + 0xc8], 1
mov dword [rsp + 0x30], r10d
jmp 0x1401d3aa7
mov r10d, 0x204
jmp 0x1401d3a9f
mov rcx, qword [rbx + 0x10]
call fcn.14019a180
mov r10d, dword [rsp + 0x30]
mov rdi, r12
jmp 0x1401d3aac
lea r14, [0x140324ce4]
mov r9d, 0x147c1
lea r8, str.database_corruption
mov qword [rsp + 0x20], r14
lea rdx, str._s_at_line__d_of___.10s_
mov ecx, listen
call fcn.140161330
mov rsi, qword [rsp + 0x40]
mov r10d, recv
mov dword [rsp + 0x30], r10d
lea edi, [r10 - 0xa]
jmp 0x1401d3ab3
mov eax, 0x30b
lea r14, [0x140324ce4]
mov ecx, eax
mov qword [rsp + 0x20], r14
mov r9d, 0x1691e
mov dword [rsp + 0x30], eax
lea r8, str.index_corruption
lea rdx, str._s_at_line__d_of___.10s_
call fcn.140161330
xor r15d, r15d
mov r10d, 0x30b
lea edi, [r15 + 1]
jmp 0x1401d3ab3
mov ecx, 0x169ea
call fcn.1401a0f40
mov r10d, eax
mov dword [rsp + 0x30], eax
jmp 0x1401d3aa4
mov r10d, 6
mov byte [r13 + 0xc2], 2
jmp 0x1401d3a9f
mov rcx, rsi
call fcn.1401c38c0
mov r10d, dword [rsp + 0x30]
mov rbx, qword [rsp + 0x58]
cmp r10d, 7
je 0x1401da25b
jmp 0x1401d9f66
call fcn.1401c38c0
mov rbx, qword [rsp + 0x58]
mov r12d, 1
jmp 0x1401da547
lea rdx, str.too_many_levels_of_trigger_recursion
mov dword [rsp + 0x30], r10d
mov rcx, r13
call fcn.1401d25d0
mov r10d, dword [rsp + 0x30]
jmp 0x1401d3aa4
mov rcx, rbx
call fcn.140158a10
mov r8, rax
lea rdx, [0x14031f590]
mov rcx, r13
call fcn.1401d25d0
mov r10d, dword [rsp + 0x30]
mov rsi, qword [rsp + 0x40]
jmp 0x1401d3aa4
mov r13, qword [rsp + 0x68]
lea rax, str.into
cmp esi, 5
mov dword [rsp + 0x30], r10d
lea r8, str.out_of
mov rcx, r13
cmove r8, rax
lea rdx, str.cannot_change__s_wal_mode_from_within_a_transaction
call fcn.1401d25d0
mov r10d, dword [rsp + 0x30]
mov rsi, r12
jmp 0x1401d3aa4
cmp r10b, 6
jne 0x1401d6773
mov rax, qword [rsp + 0x38]
lea rdx, str.database_table_is_locked:__s
mov rcx, r13
mov r8, qword [rax + 0x10]
call fcn.1401d25d0
mov r10d, dword [rsp + 0x30]
mov rsi, qword [rsp + 0x40]
jmp 0x1401d3aa7
dec dword [rsi + 0xe0]
mov r10d, 6
mov dword [rsp + 0x30], r10d
jmp 0x1401d3aa7
call qword [rdi + reloc.WS2_32.dll_getservbyport]
mov rbx, qword [rsp + 0x58]
mov r12d, 1
jmp 0x1401da547
mov r10d, 6
mov dword [rsp + 0x30], r10d
jmp 0x1401d3aa7
movzx eax, cl
cmp ecx, 5
mov ecx, 2
cmove eax, ecx
mov byte [r13 + 0xc2], al
jmp 0x1401d3aa7
mov r10d, 6
jmp 0x1401d3a9f
mov rsi, qword [rsp + 0x40]
jmp 0x1401da2af
mov r13, qword [rsp + 0x68]
jmp 0x1401da2ac
mov r13, r12
mov rsi, r9
lea rdx, str.string_or_blob_too_big
mov rcx, r13
call fcn.1401d25d0
mov r10d, reloc.WS2_32.dll_select
jmp 0x1401d3a9f
cmp qword [r13 + 0x50], 0
jle case.0x1401d2775.81
mov dword [r13 + 0x38], 0x313
lea rdx, str.FOREIGN_KEY_constraint_failed
mov byte [r13 + 0xc2], 2
mov rcx, r13
call fcn.1401d25d0
mov edi, 1
xor r15d, r15d
mov r10d, edi
mov dword [rsp + 0x30], edi
jmp 0x1401d3aac
mov eax, dword [r13 + 0x30]
xor r15d, r15d
add eax, 2
mov edi, r15d
or eax, 1
mov dword [r13 + 0x30], eax
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
imul rsi, rax, 0x38
mov rax, qword [rsp + 0x38]
add rsi, r14
mov qword [r13 + 0xa0], rsi
cmp dword [rax + 8], r15d
jle 0x1401da391
lea rbx, [rsi + 8]
mov r14d, 0x202
test word [rbx], r8w
je 0x1401da360
movsxd rax, edi
imul rcx, rax, 0x38
add rcx, rsi
call fcn.1401dd040
test eax, eax
jne 0x1401da532
movzx eax, word [rbx]
and ax, r14w
cmp ax, 2
jne 0x1401da376
lea rcx, [rbx - 8]
call fcn.1401f16f0
mov rax, qword [rsp + 0x38]
inc edi
add rbx, 0x38
mov r8d, 0x1000
cmp edi, dword [rax + 8]
jl 0x1401da343
mov rbx, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x40]
cmp byte [rsi + 0x63], r15b
jne 0x1401da256
test byte [rsi + 0x6a], 4
je 0x1401da3bd
mov rdx, qword [rsi + 0xf8]
xor r9d, r9d
mov r8, r13
lea ecx, [r9 + 4]
call qword [rsi + 0xf0]
mov rcx, qword [rsp + 0x38]
movabs rax, 0x2aaaaaaaaaaaaaab
sub rcx, rbx
mov edi, 0x64
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
inc edx
mov dword [r13 + 0x34], edx
jmp 0x1401d9f1e
mov rax, qword [rsp + 0x38]
mov ebx, dword [rax + 4]
mov ecx, dword [rax + 8]
movzx eax, byte [rsi + 0x61]
cmp ebx, eax
je 0x1401da4c2
test ecx, ecx
je 0x1401da41c
mov edx, 0x204
mov rcx, rsi
call fcn.1401c4230
mov al, 1
jmp 0x1401da45b
test ebx, ebx
je 0x1401da443
cmp dword [rsi + 0xd8], 0
jle 0x1401da443
lea rdx, str.cannot_commit_transaction___SQL_statements_in_progress
mov rcx, r13
call fcn.1401d25d0
mov r10d, 5
jmp 0x1401d3a9f
mov edx, r10d
mov rcx, r13
call fcn.1401d19e0
mov edi, eax
test eax, eax
jne 0x1401d9f1e
movzx eax, bl
mov rcx, r13
mov byte [rsi + 0x61], al
call fcn.1401db830
cmp eax, 5
jne 0x1401da4a3
mov rcx, qword [rsp + 0x38]
movabs rax, 0x2aaaaaaaaaaaaaab
sub rcx, qword [rsp + 0x50]
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov eax, 1
sub al, bl
mov dword [r13 + 0x34], edx
mov byte [rsi + 0x61], al
jmp 0x1401d9f15
mov rcx, rsi
call fcn.14019e5e0
cmp dword [r13 + 0x38], 0
mov edi, 0x65
mov eax, 1
cmovne edi, eax
jmp 0x1401d9f1e
test ebx, ebx
jne 0x1401da4d2
lea rdx, str.cannot_start_a_transaction_within_a_transaction
jmp 0x1401da2e7
test ecx, ecx
lea rax, str.cannot_rollback___no_transaction_is_active
lea rdx, str.cannot_commit___no_transaction_is_active
cmovne rdx, rax
jmp 0x1401da2e7
mov rbx, qword [rsp + 0x58]
jmp 0x1401d9f5d
mov rsi, qword [rsp + 0x40]
mov rbx, qword [rsp + 0x58]
xor r15d, r15d
lea r12d, [r15 + 1]
jmp 0x1401da547
mov rsi, qword [rsp + 0x40]
xor r15d, r15d
mov rbx, qword [rsp + 0x58]
jmp 0x1401da547
mov r13, qword [rsp + 0x68]
jmp 0x1401da4f5
mov rsi, qword [rsp + 0x40]
xor r15d, r15d
mov r13, qword [rsp + 0x68]
mov rbx, qword [rsp + 0x58]
jmp 0x1401da547
mov rsi, qword [rsp + 0x40]
mov r12d, 1
mov rbx, qword [rsp + 0x58]
jmp 0x1401da547
mov r12, r10
cmp byte [rsi + 0x63], 0
jne 0x1401da588
cmp byte [rsi + 0x64], 0
jne 0x1401da588
mov byte [rsi + 0x63], 1
cmp dword [rsi + 0xdc], 0
jle 0x1401da567
mov dword [rsi + 0x178], r12d
inc dword [rsi + 0x180]
mov word [rsi + 0x184], r15w
mov rax, qword [rsi + 0x140]
test rax, rax
je 0x1401da588
mov dword [rax + 0x18], 7
lea rdx, str.out_of_memory
mov rcx, r13
call fcn.1401d25d0
mov r10d, 7
mov dword [rsp + 0x30], r10d
jmp 0x1401d3b83
mov rsi, qword [rsp + 0x40]
mov r13, r12
jmp 0x1401d3aa4
mov rsi, rdi
jmp 0x1401d3aa7
cmp r10d, 0x210a
jne 0x1401da5f3
mov r9d, 0x17213
mov qword [rsp + 0x20], r14
lea r8, str.database_corruption
mov ecx, listen
lea rdx, str._s_at_line__d_of___.10s_
call fcn.140161330
mov r10d, recv
mov dword [rsp + 0x30], r10d
cmp qword [r13 + 0xa8], 0
jne 0x1401da62b
cmp r10d, 0xc0a
je 0x1401da62b
mov ecx, r10d
call fcn.140154e20
mov r8, rax
lea rdx, [0x14031f590]
mov rcx, r13
call fcn.1401d25d0
mov r10d, dword [rsp + 0x30]
mov dword [r13 + 0x38], r10d
jmp 0x1401da638
mov dword [r13 + 0x38], r10d
cmp r10d, 0xc0a
je 0x1401da669
movzx eax, r10b
sub eax, 0xa
test eax, 0xfffffffb
jne 0x1401da669
mov rcx, qword [rsi]
mov rax, qword [rcx + 0x80]
test rax, rax
je 0x1401da663
xor r8d, r8d
xor edx, edx
call rax
mov r10d, dword [rsp + 0x30]
jmp 0x1401da666
mov eax, r15d
mov dword [rsi + 0x58], eax
mov rcx, qword [rsp + 0x38]
movabs rax, 0x2aaaaaaaaaaaaaab
sub rcx, qword [rsp + 0x50]
mov r9, qword [r13 + 0xf0]
imul rcx
mov rax, qword [r13 + 0xa8]
mov ecx, r10d
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.140161330
mov rcx, r13
call fcn.1401db830
cmp dword [rsp + 0x30], 0xc0a
jne 0x1401da702
cmp byte [rsi + 0x63], 0
jne 0x1401da702
cmp byte [rsi + 0x64], 0
jne 0x1401da702
mov byte [rsi + 0x63], 1
cmp dword [rsi + 0xdc], 0
jle 0x1401da6e1
mov dword [rsi + 0x178], edi
inc dword [rsi + 0x180]
mov word [rsi + 0x184], r15w
mov rax, qword [rsi + 0x140]
test rax, rax
je 0x1401da702
mov dword [rax + 0x18], 7
movzx eax, byte [rsp + 0x70]
test al, al
je 0x1401d9f23
lea edx, [rax - 1]
mov rcx, rsi
call fcn.1401c3960
jmp 0x1401d9f23
add dword [r13 + 0xe4], r15d
cmp dword [r13 + 0xd0], 0
movaps xmm6, xmmword [rsp + 0x3d0]
mov r15, qword [rsp + 0x3e0]
mov r14, qword [rsp + 0x3e8]
mov r12, qword [rsp + 0x428]
mov rsi, qword [rsp + 0x420]
mov rbx, qword [rsp + 0x418]
je 0x1401da768
mov rcx, r13
call fcn.1401f1660
mov eax, edi
mov rcx, qword [rbp + 0x2c0]
xor rcx, rsp
call fcn.140296f70
add rsp, 0x3f0
pop r13
pop rdi
pop rbp
ret