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

Disassembly:
mov r11, rsp
push rbp
push rdi
lea rbp, [r11 - 0x218]
sub rsp, 0x308
mov rax, qword [0x1400e3008]
xor rax, rsp
mov qword [rbp + 0x1d8], rax
mov rax, qword [rcx + 0x68]
mov rdi, rcx
mov qword [r11 + 0x10], rbx
xor bl, bl
mov qword [r11 + 0x18], rsi
mov rsi, qword [rcx + 0x70]
mov qword [r11 + 0x20], r12
xor r12d, r12d
mov qword [r11 - 0x18], r13
mov qword [r11 - 0x20], r14
mov r14d, r12d
mov qword [r11 - 0x28], r15
mov r15, qword [rcx]
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x38], rax
movaps xmmword [r11 - 0x38], xmm6
movzx eax, byte [r15 + 0x52]
mov byte [rsp + 0x50], al
mov qword [rsp + 0x40], rcx
mov dword [rsp + 0x58], r12d
mov qword [rsp + 0x68], r15
mov byte [rsp + 0x30], bl
mov dword [rsp + 0x74], r12d
mov dword [rbp - 0x68], r12d
mov qword [rsp + 0x60], rsi
call fcn.140035000
cmp dword [rdi + 0x38], 7
lea r13d, [r12 + 1]
je 0x14003f0c5
mov qword [rdi + 0x48], r12
lea ecx, [r12 + 9]
mov qword [rdi + 0x88], r12
mov eax, dword [r15 + 0x150]
mov dword [r15 + 0x228], r12d
test eax, eax
jne 0x1400429c0
cmp qword [r15 + 0x1a0], r12
je 0x14003c037
mov r8d, dword [r15 + 0x1b0]
xor edx, edx
mov eax, dword [rdi + 0xdc]
div r8d
sub r8d, edx
mov dword [rbp - 0x68], r8d
movsxd rax, dword [rdi + 0x34]
mov r11d, 0x2460
mov r9, qword [rsp + 0x48]
xorps xmm6, xmm6
mov r10d, r12d
lea rcx, [rax + rax*2]
lea r14, [r9 + rcx*8]
movzx ebx, byte [r14]
inc r10d
or edx, 0xffffffff
mov qword [rsp + 0x38], r14
mov dword [rsp + 0x34], r10d
mov r8d, pe_nt_image_headers64
cmp ebx, 0xa2
ja case.0x14003c092.96
lea rcx, [0x140000000]
mov ecx, dword [rcx + rbx*4 + 0x42bd4]
lea rax, [0x140000000]
add rcx, rax
jmp rcx
mov rcx, qword [rsp + 0x38]
mov r14, qword [rsp + 0x38]
movsxd rax, dword [rcx + 4]
sub rcx, r9
imul r8, rax, 0x38
mov eax, 4
mov word [r8 + rsi + 8], ax
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rax, rdx
cdqe
mov qword [r8 + rsi], rax
jmp 0x14004228f
mov rax, qword [rsp + 0x38]
mov r13d, 1
movsxd rax, dword [rax + 4]
imul rdx, rax, 0x38
mov rax, qword [rdx + rsi]
mov word [rdx + rsi + 8], r8w
lea rcx, [rax + rax*2]
lea r14, [r9 + rcx*8]
add r14, 0x18
jmp 0x14003c054
mov rax, qword [rsp + 0x38]
mov r14, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
imul rcx, rax, 0x38
mov rax, qword [rsp + 0x38]
mov eax, dword [rax + 0xc]
dec eax
cdqe
mov qword [rcx + rsi], rax
mov eax, 4
mov word [rcx + rsi + 8], ax
cmp dword [r14 + 8], 0
jne 0x14004228f
add r14, 0x18
lea r13d, [rax - 3]
jmp 0x14003c054
mov rax, qword [rsp + 0x38]
mov r13d, 1
movsxd rax, dword [rax + 4]
imul rdx, rax, 0x38
mov rax, qword [rdx + rsi]
lea rcx, [rax + rax*2]
mov eax, dword [r9 + rcx*8 + 8]
dec eax
mov word [rdx + rsi + 8], r8w
cdqe
lea rcx, [rax + rax*2]
lea r14, [r9 + rcx*8]
add r14, 0x18
jmp 0x14003c054
mov rbx, qword [rsp + 0x38]
mov r13d, 1
movsxd rax, dword [rbx + 4]
sub rbx, r9
imul r8, rax, 0x38
mov eax, 4
movsxd rcx, dword [r8 + rsi]
mov word [r8 + rsi + 8], ax
movabs rax, 0x2aaaaaaaaaaaaaab
imul rbx
lea rcx, [rcx + rcx*2]
sar rdx, 2
lea r14, [r9 + rcx*8]
mov rax, rdx
shr rax, 0x3f
add rax, rdx
cdqe
add r14, 0x18
mov qword [r8 + rsi], rax
jmp 0x14003c054
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 0xc]
imul rcx, rax, 0x38
test byte [rcx + rsi + 8], 1
je 0x14003c2fd
mov rcx, qword [rsp + 0x38]
movabs rax, 0x2aaaaaaaaaaaaaab
sub rcx, r9
imul rcx
mov rbx, rdx
mov rdx, qword [rsp + 0x38]
sar rbx, 2
mov rax, rbx
shr rax, 0x3f
add rbx, rax
cmp dword [rdx + 4], 0
jne 0x1400422f9
mov rcx, qword [rdi + 0xf0]
test rcx, rcx
je 0x1400422f9
mov rax, qword [rcx + 8]
dec dword [rdi + 0x100]
mov qword [rdi + 0xf0], rax
mov eax, dword [rdi + 0x3c]
add dword [r15 + 0x6c], eax
mov dword [r15 + 0x68], eax
call fcn.140035d20
mov rcx, qword [rsp + 0x38]
cmp dword [rcx + 8], 4
jne 0x14003c277
cdqe
lea rcx, [rax + rax*2]
mov rax, qword [rdi + 0x68]
mov eax, dword [rax + rcx*8 + 8]
dec eax
mov r9, qword [rdi + 0x68]
mov rsi, qword [rdi + 0x70]
cdqe
mov qword [rsp + 0x48], r9
mov qword [rsp + 0x60], rsi
lea rcx, [rax + rax*2]
lea r14, [r9 + rcx*8]
jmp 0x14003c799
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 8]
imul rcx, rax, 0x38
add rcx, qword [rdi + 0x70]
test word [rcx + 8], r11w
je 0x14003c2e8
call fcn.14003bf00
mov r14, qword [rsp + 0x38]
mov rcx, rax
mov rax, qword [rsp + 0x38]
mov r11d, 0x2460
mov r9, qword [rsp + 0x48]
add r14, 0x18
mov r10d, dword [rsp + 0x34]
mov r13d, 1
movsxd rax, dword [rax + 4]
mov qword [rcx], rax
jmp 0x14003c054
mov eax, 4
mov word [rcx + 8], ax
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
mov qword [rcx], rax
mov r14, qword [rsp + 0x38]
mov r13d, 1
add r14, 0x18
jmp 0x14003c054
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 8]
imul rdx, rax, 0x38
add rdx, qword [rdi + 0x70]
test word [rdx + 8], r11w
je 0x14003c346
mov rcx, rdx
call fcn.14003bf00
mov r9, qword [rsp + 0x48]
mov rdx, rax
mov r10d, dword [rsp + 0x34]
mov r11d, 0x2460
jmp 0x14003c34f
mov eax, 4
mov word [rdx + 8], ax
mov rax, qword [rsp + 0x38]
mov rax, qword [rax + 0x10]
mov rcx, qword [rax]
mov qword [rdx], rcx
mov r14, qword [rsp + 0x38]
mov r13d, 1
add r14, 0x18
jmp 0x14003c054
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 8]
imul rdx, rax, 0x38
add rdx, qword [rdi + 0x70]
test word [rdx + 8], r11w
je 0x14003c3ac
mov rcx, rdx
call fcn.14003bf00
mov r9, qword [rsp + 0x48]
mov rdx, rax
mov r10d, dword [rsp + 0x34]
mov eax, 8
mov r11d, 0x2460
jmp 0x14003c34b
mov eax, 4
mov word [rdx + 8], ax
mov eax, 8
jmp 0x14003c34b
mov rbx, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x40]
movsxd rax, dword [rbx + 8]
imul rdi, rax, 0x38
add rdi, qword [rsi + 0x70]
test word [rdi + 8], r11w
je 0x14003c3ec
mov rcx, rdi
call fcn.14003bf00
mov rdi, rax
mov r11d, 0x2460
jmp 0x14003c3f5
mov eax, 4
mov word [rdi + 8], ax
mov byte [rbx], 0x3a
mov rbx, qword [rbx + 0x10]
test rbx, rbx
jne 0x14003c406
mov eax, r12d
jmp 0x14003c41e
or rax, 0xffffffffffffffff
nop word [rax + rax]
inc rax
cmp byte [rbx + rax], 0
jne 0x14003c410
and eax, 0x3fffffff
mov rcx, qword [rsp + 0x38]
mov dword [rcx + 4], eax
movzx ecx, byte [rsp + 0x50]
cmp cl, 1
je 0x14003c543
test rbx, rbx
jne 0x14003c463
test word [rdi + 8], r11w
je 0x14003c457
mov rcx, rdi
call fcn.140032230
movzx ecx, byte [rsp + 0x50]
mov dword [rsp + 0x58], r12d
jmp 0x14003c4dd
mov word [rdi + 8], r13w
mov dword [rsp + 0x58], r12d
jmp 0x14003c4dd
mov rax, qword [rdi + 0x28]
test rax, rax
je 0x14003c472
mov r14d, dword [rax + 0x70]
jmp 0x14003c478
mov r14d, 0x3b9aca00
or rax, 0xffffffffffffffff
nop dword [rax]
inc rax
cmp byte [rbx + rax], 0
jne 0x14003c480
and eax, 0x3fffffff
lea esi, [r14 + 1]
cmp eax, r14d
cmovle esi, eax
test word [rdi + 8], r11w
jne 0x14003c4a5
cmp dword [rdi + 0x20], 0
je 0x14003c4b2
mov rcx, rdi
call fcn.1400322c0
movzx ecx, byte [rsp + 0x50]
mov eax, 0xa02
mov qword [rdi + 0x10], rbx
mov word [rdi + 8], ax
cmp esi, r14d
mov eax, r12d
mov qword [rdi + 0x30], r12
mov edx, send
mov dword [rdi + 0xc], esi
cmovg eax, edx
mov byte [rdi + 0xa], 1
mov qword [rsp + 0x58], rax
test byte [rdi + 8], 2
movzx ecx, cl
je 0x14003c501
movzx eax, byte [rdi + 0xa]
cmp eax, ecx
je 0x14003c501
movzx edx, cl
mov rcx, rdi
call fcn.140014cb0
test eax, eax
jne 0x140041be6
mov eax, 0x800
mov dword [rdi + 0x20], r12d
or word [rdi + 8], ax
mov rax, qword [rsp + 0x38]
cmp byte [rax + 1], 0xff
jne 0x14003c52a
mov rdx, qword [rax + 0x10]
mov rcx, r15
call fcn.140012420
mov rax, qword [rsp + 0x38]
mov rbx, qword [rsp + 0x38]
mov byte [rax + 1], 0xff
mov rax, qword [rdi + 0x10]
mov qword [rbx + 0x10], rax
mov eax, dword [rdi + 0xc]
mov dword [rbx + 4], eax
jmp 0x14003c548
mov rbx, qword [rsp + 0x38]
mov eax, dword [r15 + 0x70]
cmp dword [rbx + 4], eax
jg 0x1400426e6
mov rdi, qword [rsp + 0x40]
mov r11d, 0x2460
mov rsi, qword [rsp + 0x60]
movsxd rax, dword [rbx + 8]
imul rdx, rax, 0x38
add rdx, qword [rdi + 0x70]
test word [rdx + 8], r11w
je 0x14003c592
mov rcx, rdx
call fcn.14003bf00
mov rdx, rax
mov r11d, 0x2460
jmp 0x14003c59b
mov rbx, qword [rsp + 0x38]
jmp 0x14003c565
mov eax, 4
mov word [rdx + 8], ax
mov r14, qword [rsp + 0x38]
mov eax, 0xa02
mov word [rdx + 8], ax
mov rax, qword [rbx + 0x10]
mov qword [rdx + 0x10], rax
mov eax, dword [rbx + 4]
mov dword [rdx + 0xc], eax
movzx eax, byte [rsp + 0x50]
mov byte [rdx + 0xa], al
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 0xc]
test eax, eax
jle 0x14003c6ac
mov r9, qword [rsp + 0x48]
mov r10d, dword [rsp + 0x34]
imul rcx, rax, 0x38
mov rax, r14
movzx eax, word [rax + 2]
cmp qword [rcx + rsi], rax
jne case.0x14003c092.96
mov eax, 0xa10
add r14, 0x18
mov word [rdx + 8], ax
mov r13d, 1
jmp 0x14003c054
mov rbx, qword [rsp + 0x38]
movsxd rax, dword [rbx + 8]
imul rax, rax, 0x38
add rax, qword [rdi + 0x70]
test word [rax + 8], r11w
je 0x14003c639
mov rcx, rax
call fcn.14003bf00
mov r9, qword [rsp + 0x48]
mov r11d, 0x2460
mov r10d, dword [rsp + 0x34]
jmp 0x14003c642
mov ecx, 4
mov word [rax + 8], cx
mov edi, dword [rbx + 0xc]
mov esi, r13d
sub edi, dword [rbx + 8]
mov ecx, 0x101
cmp dword [rbx + 4], 0
lea rbx, [rax + 8]
mov dword [rax + 0xc], r12d
cmovne si, cx
mov word [rbx], si
test edi, edi
jle 0x14003d0f3
nop dword [rax + rax]
test word [rbx + 0x38], r11w
lea rbx, [rbx + 0x38]
je 0x14003c68c
lea rcx, [rbx - 8]
call fcn.140032230
mov r11d, 0x2460
jmp 0x14003c690
mov word [rbx], r13w
dec edi
mov word [rbx], si
mov dword [rbx + 4], r12d
test edi, edi
jg 0x14003c670
mov rsi, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x40]
mov r14, qword [rsp + 0x38]
mov r9, qword [rsp + 0x48]
jmp 0x14003c79f
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
imul rcx, rax, 0x38
mov eax, 0xff61
add rcx, rsi
and word [rcx + 8], ax
or word [rcx + 8], 1
jmp 0x14003c35e
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 8]
imul rbx, rax, 0x38
add rbx, qword [rdi + 0x70]
test word [rbx + 8], r11w
je 0x14003c6fe
mov rcx, rbx
call fcn.14003bf00
mov rbx, rax
jmp 0x14003c707
mov eax, 4
mov word [rbx + 8], ax
mov rax, qword [rsp + 0x38]
xor r9d, r9d
mov rcx, rbx
mov qword [rsp + 0x20], r12
mov r8d, dword [rax + 4]
mov rdx, qword [rax + 0x10]
call fcn.1400329f0
movzx eax, byte [rsp + 0x50]
mov byte [rbx + 0xa], al
jmp 0x14003c78f
mov rax, qword [rsp + 0x38]
mov eax, dword [rax + 4]
dec eax
cdqe
imul rdx, rax, 0x38
add rdx, qword [rdi + 0xa0]
movzx eax, word [rdx + 8]
test al, 0x12
je 0x14003c774
mov r8d, dword [rdx + 0xc]
mov ecx, 0x4000
test cx, ax
je 0x14003c75e
add r8d, dword [rdx]
mov rax, qword [rdx + 0x28]
mov ecx, r12d
cmp r8d, dword [rax + 0x70]
setg cl
test ecx, ecx
jne 0x1400426eb
mov rax, qword [rsp + 0x38]
mov r8d, 0x800
movsxd rax, dword [rax + 8]
imul rcx, rax, 0x38
add rcx, rsi
call fcn.140032910
mov r14, qword [rsp + 0x38]
mov r9, qword [rsp + 0x48]
mov r11d, 0x2460
mov r10d, dword [rsp + 0x34]
add r14, 0x18
mov r13d, 1
jmp 0x14003c054
mov rcx, qword [rsp + 0x38]
movsxd rax, dword [rcx + 4]
mov esi, dword [rcx + 0xc]
imul rdi, rax, 0x38
movsxd rax, dword [rcx + 8]
add rdi, qword [rsp + 0x60]
imul rbx, rax, 0x38
add rbx, qword [rsp + 0x60]
test word [rbx + 8], r11w
jne 0x14003c7e2
cmp dword [rbx + 0x20], 0
je 0x14003c7ea
mov rcx, rbx
call fcn.1400322c0
movups xmm0, xmmword [rdi]
mov eax, 0x1000
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], r13w
mov dword [rdi + 0x20], r12d
test word [rbx + 8], ax
je 0x14003c82e
mov rcx, rbx
call fcn.140031eb0
test eax, eax
jne 0x140041be6
add rdi, 0x38
add rbx, 0x38
mov r11d, 0x2460
sub esi, 1
jne 0x14003c7d5
jmp 0x14003c69d
mov rcx, qword [rsp + 0x38]
mov r14d, 0x1000
movsxd rax, dword [rcx + 4]
mov esi, dword [rcx + 0xc]
imul rdi, rax, 0x38
movsxd rax, dword [rcx + 8]
add rdi, qword [rsp + 0x60]
imul rbx, rax, 0x38
add rbx, qword [rsp + 0x60]
nop
mov r8d, r14d
mov rdx, rdi
mov rcx, rbx
call fcn.140032910
test word [rbx + 8], r14w
je 0x14003c895
mov rcx, rbx
call fcn.140031eb0
test eax, eax
jne 0x140041be6
mov eax, esi
dec esi
test eax, eax
je 0x14003c95e
add rbx, 0x38
add rdi, 0x38
jmp 0x14003c870
mov rcx, qword [rsp + 0x38]
mov r8d, 0x1000
movsxd rax, dword [rcx + 4]
imul rdx, rax, 0x38
movsxd rax, dword [rcx + 8]
imul rcx, rax, 0x38
add rdx, rsi
add rcx, rsi
jmp 0x14003c78a
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, rsi
mov rax, qword [rcx + rsi]
test word [r8 + 8], r11w
je 0x14003c904
mov rdx, rax
mov rcx, r8
call fcn.1400326d0
jmp 0x14003c78f
mov qword [r8], rax
mov eax, 4
mov word [r8 + 8], ax
jmp 0x14003c35e
mov rcx, qword [rsp + 0x38]
mov rdx, qword [rsp + 0x60]
movsxd rax, dword [rcx + 4]
imul rsi, rax, 0x38
movsxd rax, dword [rcx + 8]
imul rdi, rax, 0x38
movsxd rax, dword [rcx + 0xc]
add rsi, rdx
imul rbx, rax, 0x38
movzx ecx, word [rsi + 8]
add rdi, rdx
add rbx, rdx
movzx eax, byte [rdi + 8]
or al, cl
test al, 1
je 0x14003c98e
test word [rbx + 8], r11w
je 0x14003c96d
mov rcx, rbx
call fcn.140032230
mov rdi, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x60]
jmp 0x14003c78f
mov r14, qword [rsp + 0x38]
mov rsi, rdx
mov rdi, qword [rsp + 0x40]
add r14, 0x18
mov word [rbx + 8], r13w
mov r13d, 1
jmp 0x14003c054
mov r14d, 0x4000
test r14w, cx
je 0x14003c9aa
mov rcx, rsi
call fcn.140031f40
test eax, eax
jne 0x140041be6
test word [rdi + 8], r14w
je 0x14003c9c1
mov rcx, rdi
call fcn.140031f40
test eax, eax
jne 0x140041be6
test byte [rsi + 8], 0x12
movzx r14d, byte [rsp + 0x50]
jne 0x14003c9e4
xor r8d, r8d
movzx edx, r14b
mov rcx, rsi
call fcn.140032000
test eax, eax
jne 0x140041be6
test byte [rdi + 8], 0x12
jne 0x14003ca01
xor r8d, r8d
movzx edx, r14b
mov rcx, rdi
call fcn.140032000
test eax, eax
jne 0x140041be6
mov eax, dword [rdi + 0xc]
add eax, dword [rsi + 0xc]
movsxd r14, eax
movsxd rax, dword [r15 + 0x70]
cmp r14, rax
jg 0x1400426e6
mov r8d, r12d
lea edx, [r14 + 2]
cmp rbx, rdi
mov rcx, rbx
sete r8b
call fcn.140031d20
test eax, eax
jne 0x140041be6
mov eax, 0x3e00
and word [rbx + 8], ax
or word [rbx + 8], 2
cmp rbx, rdi
je 0x14003ca59
movsxd r8, dword [rdi + 0xc]
mov rdx, qword [rdi + 0x10]
mov rcx, qword [rbx + 0x10]
call fcn.1400a12f0
movsxd rcx, dword [rdi + 0xc]
add rcx, qword [rbx + 0x10]
movsxd r8, dword [rsi + 0xc]
mov rdx, qword [rsi + 0x10]
call fcn.1400a12f0
mov rax, qword [rbx + 0x10]
mov rdi, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x60]
mov byte [r14 + rax], 0
mov rax, qword [rbx + 0x10]
mov byte [rax + r14 + 1], 0
mov eax, 0x200
or word [rbx + 8], ax
movzx eax, byte [rsp + 0x50]
mov byte [rbx + 0xa], al
mov dword [rbx + 0xc], r14d
jmp 0x14003c78f
mov rbx, qword [rsp + 0x38]
movsxd rax, dword [rbx + 4]
imul rdi, rax, 0x38
add rdi, rsi
movzx eax, word [rdi + 8]
movzx r15d, ax
and r15w, 0xc
jne 0x14003cad9
test al, 0x12
je 0x14003cad6
mov rcx, rdi
call fcn.14003bea0
movzx r15d, ax
jmp 0x14003cad9
mov r15d, r12d
movsxd rax, dword [rbx + 8]
imul rbx, rax, 0x38
add rbx, rsi
movzx eax, word [rbx + 8]
movzx r14d, ax
and r14w, 0xc
jne 0x14003cb08
test al, 0x12
je 0x14003cb05
mov rcx, rbx
call fcn.14003bea0
movzx r14d, ax
jmp 0x14003cb08
mov r14d, r12d
mov rax, qword [rsp + 0x38]
movzx r10d, word [rdi + 8]
movzx ecx, word [rbx + 8]
or cx, r10w
movsxd rax, dword [rax + 0xc]
imul rsi, rax, 0x38
movzx eax, r14b
add rsi, qword [rsp + 0x60]
and al, r15b
test al, 4
je 0x14003cd34
mov rax, qword [rsp + 0x38]
mov r12b, 1
mov r9, qword [rdi]
mov r8, qword [rbx]
movzx ecx, byte [rax]
sub ecx, 0x58
je 0x14003ccd0
sub ecx, 1
je 0x14003cc64
sub ecx, 1
je 0x14003cbb6
cmp ecx, 1
je 0x14003cb84
test r9, r9
je 0x14003ce59
cmp r9, 0xffffffffffffffff
mov rax, r8
cqo
cmove r9, r13
idiv r9
mov r8, rdx
jmp 0x14003cd0c
test r9, r9
je 0x14003ce59
cmp r9, 0xffffffffffffffff
jne 0x14003cba6
movabs rax, 0x8000000000000000
cmp r8, rax
je 0x14003cd40
mov rax, r8
cqo
idiv r9
mov r8, rax
jmp 0x14003cd0c
test r9, r9
jle 0x14003cbf4
movabs rax, 0x7fffffffffffffff
cqo
idiv r9
cmp r8, rax
jg 0x14003cd40
movabs rax, 0x8000000000000000
cqo
idiv r9
cmp r8, rax
jl 0x14003cd40
imul r8, r9
jmp 0x14003cd0c
jns 0x14003cc5b
test r8, r8
jle 0x14003cc1c
movabs rax, 0x8000000000000000
cqo
idiv r8
cmp r9, rax
jl 0x14003cd40
imul r8, r9
jmp 0x14003cd0c
jns 0x14003cc5b
movabs rcx, 0x8000000000000000
cmp r9, rcx
je 0x14003cd40
cmp r8, rcx
je 0x14003cd40
movabs rax, 0x8000000000000001
cqo
idiv r9
mov rcx, rax
mov rax, r8
neg rax
cmp rax, rcx
jg 0x14003cd40
imul r8, r9
jmp 0x14003cd0c
movabs rcx, 0x8000000000000000
cmp r9, rcx
jne 0x14003cc84
test r8, r8
jns 0x14003cd40
sub r8, rcx
jmp 0x14003cd0c
neg r9
js 0x14003cca5
test r8, r8
jle 0x14003ccc5
movabs rax, 0x7fffffffffffffff
sub rax, r8
cmp rax, r9
jge 0x14003ccc5
mov eax, r13d
jmp 0x14003ccca
test r8, r8
jns 0x14003ccc5
movabs rax, 0x8000000000000001
lea rcx, [r9 + 1]
sub rax, r8
cmp rax, rcx
jle 0x14003ccc5
mov eax, r13d
jmp 0x14003ccca
add r8, r9
xor eax, eax
test eax, eax
jne 0x14003cd40
jmp 0x14003cd0c
test r9, r9
js 0x14003ccee
test r8, r8
jle 0x14003cd09
movabs rax, 0x7fffffffffffffff
sub rax, r8
cmp rax, r9
jl 0x14003cd40
jmp 0x14003cd09
test r8, r8
jns 0x14003cd09
movabs rax, 0x8000000000000001
lea rcx, [r9 + 1]
sub rax, r8
cmp rax, rcx
jg 0x14003cd40
add r8, r9
mov rdi, qword [rsp + 0x40]
mov eax, 0x3e00
and word [rsi + 8], ax
or word [rsi + 8], 4
mov r15, qword [rsp + 0x68]
xor r12d, r12d
mov qword [rsi], r8
mov rsi, qword [rsp + 0x60]
jmp 0x14003c78f
test cl, 1
jne 0x14003ce5c
xor r12b, r12b
test r10b, 8
je 0x14003cd4c
movsd xmm2, qword [rdi]
jmp 0x14003cd72
test r10b, 4
je 0x14003cd5c
xorps xmm2, xmm2
cvtsi2sd xmm2, qword [rdi]
jmp 0x14003cd72
test r10b, 0x12
je 0x14003cd6f
mov rcx, rdi
call fcn.1400323e0
movaps xmm2, xmm0
jmp 0x14003cd72
movaps xmm2, xmm6
movzx eax, word [rbx + 8]
test al, 8
je 0x14003cd80
movsd xmm3, qword [rbx]
jmp 0x14003cda2
test al, 4
je 0x14003cd8e
xorps xmm3, xmm3
cvtsi2sd xmm3, qword [rbx]
jmp 0x14003cda2
test al, 0x12
je 0x14003cd9f
mov rcx, rbx
call fcn.1400323e0
movaps xmm3, xmm0
jmp 0x14003cda2
movaps xmm3, xmm6
mov rax, qword [rsp + 0x38]
movzx ecx, byte [rax]
sub ecx, 0x58
je 0x14003ce02
sub ecx, 1
je 0x14003cdfc
sub ecx, 1
je 0x14003cdf6
cmp ecx, 1
je 0x14003cde8
cvttsd2si rcx, xmm2
cvttsd2si rax, xmm3
test rcx, rcx
je 0x14003ce59
cmp rcx, 0xffffffffffffffff
cqo
xorps xmm3, xmm3
cmove rcx, r13
idiv rcx
cvtsi2sd xmm3, rdx
jmp 0x14003ce06
ucomisd xmm2, xmm6
jp 0x14003cdf0
je 0x14003ce59
divsd xmm3, xmm2
jmp 0x14003ce06
mulsd xmm3, xmm2
jmp 0x14003ce06
subsd xmm3, xmm2
jmp 0x14003ce06
addsd xmm3, xmm2
movaps xmm0, xmm3
call fcn.1400153e0
test eax, eax
jne 0x14003ce59
mov eax, 0x3e00
movsd qword [rsi], xmm3
and word [rsi + 8], ax
or r14b, r15b
or word [rsi + 8], 8
test r14b, 8
jne 0x14003d6b5
test r12b, r12b
jne 0x14003d6b5
mov rcx, rsi
call fcn.140032410
mov rdi, qword [rsp + 0x40]
xor r12d, r12d
mov r15, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x60]
jmp 0x14003c78f
xor r12d, r12d
mov r11d, 0x2460
test word [rsi + 8], r11w
je 0x14003ce85
mov rcx, rsi
call fcn.140032230
mov rdi, qword [rsp + 0x40]
mov r15, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x60]
jmp 0x14003c78f
mov r15, qword [rsp + 0x68]
mov word [rsi + 8], r13w
jmp 0x14003c69d
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
test eax, eax
je 0x14003c2fd
imul rcx, rax, 0x38
add rcx, rsi
test word [rcx + 8], r11w
je 0x14003cebf
xor edx, edx
call fcn.1400326d0
jmp 0x14003c78f
mov eax, 4
mov qword [rcx], r12
mov word [rcx + 8], ax
jmp 0x14003c35e
mov rax, qword [rsp + 0x38]
mov rcx, r15
movzx ebx, word [rax + 2]
lea eax, [rbx - 1]
movsxd rdx, eax
lea rdx, [rdx*8 + 0x38]
call fcn.140012710
mov r8, rax
test rax, rax
je 0x14003f0bb
mov rcx, qword [rsp + 0x38]
mov qword [rax], r12
mov rax, qword [rcx + 0x10]
sub rcx, qword [rsp + 0x48]
mov qword [r8 + 8], rax
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
mov qword [r8 + 0x18], rdi
sar rdx, 2
mov rax, rdx
mov byte [r8 + 0x2a], bl
shr rax, 0x3f
add rdx, rax
mov rax, qword [rsp + 0x38]
mov dword [r8 + 0x20], edx
mov word [rax], 0xf048
mov qword [rax + 0x10], r8
jmp 0x14003cf4c
mov rax, qword [rsp + 0x38]
mov rdi, qword [rax + 0x10]
movsxd rax, dword [rax + 0xc]
imul rbx, rax, 0x38
add rbx, rsi
cmp qword [rdi], rbx
je 0x14003cfa4
movzx edx, byte [rdi + 0x2a]
sub edx, 1
mov qword [rdi], rbx
movsxd r8, edx
js 0x14003cfa4
mov r15, qword [rsp + 0x38]
lea r9, [r8 + 6]
lea r9, [rdi + r9*8]
nop dword [rax]
mov eax, dword [r15 + 8]
lea r9, [r9 - 8]
add eax, edx
dec edx
cdqe
imul rcx, rax, 0x38
add rcx, rsi
sub r8, 1
mov qword [r9 + 8], rcx
jns 0x14003cf80
mov r15, qword [rsp + 0x68]
mov eax, 0x3e00
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 + 0x2a]
mov byte [rdi + 0x29], 0
call qword [rax + 0x18]
cmp byte [rdi + 0x29], 0
je 0x14003d030
cmp dword [rdi + 0x24], 0
je 0x14003cffd
mov rcx, rbx
call fcn.140039370
mov rsi, qword [rsp + 0x40]
lea rdx, [0x1400cc9c4]
mov rcx, rsi
mov r8, rax
call fcn.140033510
mov eax, dword [rdi + 0x24]
mov qword [rsp + 0x58], rax
jmp 0x14003d002
mov rsi, qword [rsp + 0x40]
mov rax, qword [rsp + 0x38]
lea rdx, [rsi + 0x110]
mov r8d, dword [rdi + 0x20]
mov rcx, r15
mov r9d, dword [rax + 4]
call fcn.140037010
mov rax, qword [rsp + 0x58]
test eax, eax
jne 0x1400423ef
mov rsi, qword [rsp + 0x60]
movzx eax, word [rbx + 8]
test al, 0x12
je 0x14003d910
movzx ecx, byte [rsp + 0x50]
test al, 2
je 0x14003d058
movzx eax, byte [rbx + 0xa]
cmp eax, ecx
je 0x14003d058
movzx edx, cl
mov rcx, rbx
call fcn.140014cb0
movzx eax, word [rbx + 8]
test al, 0x12
je 0x14003d910
mov edx, dword [rbx + 0xc]
mov ecx, 0x4000
test cx, ax
je 0x14003d073
add edx, dword [rbx]
mov rax, qword [rbx + 0x28]
mov ecx, r12d
mov rdi, qword [rsp + 0x40]
cmp edx, dword [rax + 0x70]
setg cl
test ecx, ecx
jne 0x1400426eb
jmp 0x14003c78f
mov rcx, qword [rsp + 0x38]
mov rdx, qword [rsp + 0x60]
movsxd rax, dword [rcx + 4]
imul rdi, rax, 0x38
movsxd rax, dword [rcx + 8]
imul rcx, rax, 0x38
mov rax, qword [rsp + 0x38]
add rdi, rsi
add rcx, rsi
movsxd rax, dword [rax + 0xc]
imul rsi, rax, 0x38
add rsi, rdx
movzx edx, word [rcx + 8]
movzx eax, dl
or al, byte [rdi + 8]
test al, 1
je 0x14003d111
test word [rsi + 8], r11w
je 0x14003d0ee
mov rcx, rsi
call fcn.140032230
mov rdi, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x60]
jmp 0x14003c78f
mov word [rsi + 8], r13w
mov r14, qword [rsp + 0x38]
mov rdi, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x60]
add r14, 0x18
mov r13d, 1
jmp 0x14003c054
movzx eax, dx
test al, 4
je 0x14003d11d
mov rbx, qword [rcx]
jmp 0x14003d140
test al, 8
je 0x14003d12f
movsd xmm0, qword [rcx]
call fcn.140032370
mov rbx, rax
jmp 0x14003d140
test al, 0x12
je 0x14003d13d
call fcn.1400323b0
mov rbx, rax
jmp 0x14003d140
mov rbx, r12
movzx eax, word [rdi + 8]
test al, 4
je 0x14003d14d
mov rcx, qword [rdi]
jmp 0x14003d173
test al, 8
je 0x14003d15f
movsd xmm0, qword [rdi]
call fcn.140032370
mov rcx, rax
jmp 0x14003d173
test al, 0x12
je 0x14003d170
mov rcx, rdi
call fcn.1400323b0
mov rcx, rax
jmp 0x14003d173
mov rcx, r12
mov rdx, qword [rsp + 0x38]
movzx edx, byte [rdx]
cmp dl, 0x54
jne 0x14003d185
and rbx, rcx
jmp 0x14003d1f3
cmp dl, 0x55
jne 0x14003d18f
or rbx, rcx
jmp 0x14003d1f3
test rcx, rcx
je 0x14003d1f3
jns 0x14003d1a9
mov eax, 0xad
sub al, dl
movzx edx, al
cmp rcx, 0xffffffffffffffc0
jle 0x14003d1af
neg rcx
cmp rcx, 0x40
jl 0x14003d1c4
test rbx, rbx
jns 0x14003d1bf
cmp dl, 0x56
je 0x14003d1bf
or rbx, 0xffffffffffffffff
jmp 0x14003d1f3
mov rbx, r12
jmp 0x14003d1f3
cmp dl, 0x56
jne 0x14003d1d1
shl rbx, cl
mov r8, rbx
jmp 0x14003d1f0
mov r8, rbx
shr r8, cl
test rbx, rbx
jns 0x14003d1f0
or rdx, 0xffffffffffffffff
mov eax, 0x40
sub al, cl
movzx ecx, al
shl rdx, cl
or r8, rdx
mov rbx, r8
mov rdi, qword [rsp + 0x40]
mov eax, 0x3e00
and word [rsi + 8], ax
or word [rsi + 8], 4
mov qword [rsi], rbx
mov rsi, qword [rsp + 0x60]
jmp 0x14003c78f
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
imul rbx, rax, 0x38
add rbx, rsi
mov rcx, rbx
call fcn.140032460
mov r14, qword [rsp + 0x38]
movsxd rax, dword [r14 + 8]
add qword [rbx], rax
jmp 0x14003c794
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
imul rbx, rax, 0x38
add rbx, rsi
movzx eax, word [rbx + 8]
test al, 4
jne 0x14003d2ab
test al, 8
jne 0x14003d279
test al, 2
je 0x14003d281
mov edx, r13d
mov rcx, rbx
call fcn.14003bcf0
mov r9, qword [rsp + 0x48]
mov r11d, 0x2460
mov r10d, dword [rsp + 0x34]
jmp 0x14003d281
mov rcx, rbx
call fcn.140032410
movzx eax, word [rbx + 8]
test al, 4
jne 0x14003d2ab
mov r14, qword [rsp + 0x38]
cmp dword [r14 + 8], 0
jne 0x14004228f
mov eax, socket
mov r15, r14
mov rsi, qword [rsp + 0x40]
jmp 0x1400423f4
mov ecx, 0x3e00
and ax, cx
or ax, 4
mov word [rbx + 8], ax
jmp 0x14003c35e
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
imul rcx, rax, 0x38
add rcx, rsi
test byte [rcx + 8], 4
je 0x14003c2fd
call fcn.1400324b0
jmp 0x14003c78f
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
imul rbx, rax, 0x38
mov eax, 0x4000
add rbx, rsi
test word [rbx + 8], ax
je 0x14003d30d
mov rcx, rbx
call fcn.140031f40
mov dword [rsp + 0x58], eax
jmp 0x14003d312
mov dword [rsp + 0x58], r12d
mov rax, qword [rsp + 0x38]
mov rcx, rbx
movzx r8d, byte [rsp + 0x50]
movzx edx, byte [rax + 8]
call fcn.1400325e0
mov rax, qword [rsp + 0x58]
test eax, eax
jne 0x1400423ea
jmp 0x14003c78f
mov rcx, qword [rsp + 0x38]
movsxd rax, dword [rcx + 4]
imul rsi, rax, 0x38
movsxd rax, dword [rcx + 0xc]
add rsi, qword [rsp + 0x60]
imul rdi, rax, 0x38
movzx r14d, word [rsi + 8]
add rdi, qword [rsp + 0x60]
movzx ebx, word [rdi + 8]
movzx ecx, bx
or cx, r14w
test cl, 1
je 0x14003d403
mov rax, qword [rsp + 0x38]
movzx eax, word [rax + 2]
test al, al
jns 0x14003d3a4
movzx eax, bl
and al, r14b
test al, 1
je 0x14003d46c
mov eax, 0x100
test ax, bx
jne 0x14003d46c
mov edx, r12d
jmp 0x14003d508
mov r14, qword [rsp + 0x38]
mov rdi, qword [rsp + 0x40]
test al, 0x20
je 0x14003d3e7
mov rsi, qword [rsp + 0x60]
mov rax, r14
mov dword [rsp + 0x74], r13d
mov r13d, 1
movsxd rax, dword [rax + 8]
imul rcx, rax, 0x38
mov eax, 0x3e00
add rcx, rsi
and word [rcx + 8], ax
or word [rcx + 8], 1
add r14, 0x18
jmp 0x14003c054
test al, 0x10
jne 0x14004228f
mov rsi, qword [rsp + 0x60]
add r14, 0x18
mov r13d, 1
jmp 0x14003c054
mov r12, qword [rsp + 0x38]
movzx eax, byte [r12 + 2]
and al, 0x47
cmp al, 0x43
jb 0x14003d484
test cl, 2
je 0x14003d444
movzx eax, r14b
and al, 0xe
cmp al, 2
jne 0x14003d431
xor edx, edx
mov rcx, rsi
call fcn.14003bcf0
movzx ebx, word [rdi + 8]
movzx eax, bl
and al, 0xe
cmp al, 2
jne 0x14003d444
xor edx, edx
mov rcx, rdi
call fcn.14003bcf0
movzx eax, byte [rsi + 8]
and al, byte [rdi + 8]
test al, 4
je 0x14003d4e8
mov rax, qword [rdi]
xor r12d, r12d
mov rcx, qword [rsi]
mov r11d, 0x2460
mov r10d, dword [rsp + 0x34]
cmp rax, rcx
jle 0x14003d474
mov edx, r13d
jmp 0x14003d508
cmp rax, rcx
mov edx, r12d
setge dl
dec edx
jmp 0x14003d508
cmp al, 0x42
jne 0x14003d4e8
movzx r13d, byte [rsp + 0x50]
test r14b, 2
jne 0x14003d4bd
test r14b, 0xc
je 0x14003d4bd
mov r8b, 1
movzx edx, r13b
mov rcx, rsi
call fcn.140032000
movzx eax, r14w
mov ecx, 0x7e00
xor ax, word [rsi + 8]
and ax, cx
xor r14w, ax
test bl, 2
jne 0x14003d4e8
test bl, 0xc
je 0x14003d4e8
mov r8b, 1
movzx edx, r13b
mov rcx, rdi
call fcn.140032000
movzx eax, bx
mov ecx, 0x7e00
xor ax, word [rdi + 8]
and ax, cx
xor bx, ax
mov r8, qword [r12 + 0x10]
mov rdx, rsi
mov rcx, rdi
call fcn.140037d80
mov r10d, dword [rsp + 0x34]
mov edx, eax
xor r12d, r12d
mov r11d, 0x2460
mov rax, qword [rsp + 0x38]
movzx ecx, byte [rax]
sub ecx, 0x4d
je 0x14003d550
sub ecx, 1
je 0x14003d546
sub ecx, 1
je 0x14003d53c
sub ecx, 1
je 0x14003d532
cmp ecx, 1
mov ecx, edx
je 0x14003d52d
not ecx
shr ecx, 0x1f
jmp 0x14003d552
test edx, edx
mov ecx, r12d
setle cl
jmp 0x14003d552
test edx, edx
mov ecx, r12d
setg cl
jmp 0x14003d552
test edx, edx
mov ecx, r12d
sete cl
jmp 0x14003d552
mov ecx, edx
mov word [rsi + 8], r14w
mov r9, rax
mov word [rdi + 8], bx
movzx r9d, word [rax + 2]
test r9b, 0x20
je 0x14003d5cc
movsxd rax, dword [rax + 8]
mov rsi, qword [rsp + 0x60]
mov r14, qword [rsp + 0x38]
imul r8, rax, 0x38
mov dword [rsp + 0x74], edx
mov edx, r12d
add r8, rsi
test ecx, ecx
setne dl
test r9b, 8
je 0x14003d59e
cmp byte [r14], 0x4e
mov eax, r12d
sete al
cmp eax, edx
je 0x14003d5b3
mov eax, 0x3e00
and word [r8 + 8], ax
or word [r8 + 8], 4
mov eax, edx
mov qword [r8], rax
mov rdi, qword [rsp + 0x40]
add r14, 0x18
mov r9, qword [rsp + 0x48]
mov r13d, 1
jmp 0x14003c054
mov rdi, qword [rsp + 0x40]
mov r14, rax
mov r9, qword [rsp + 0x48]
test ecx, ecx
jne 0x14004228f
mov rsi, qword [rsp + 0x60]
lea r13d, [rcx + 1]
add r14, 0x18
jmp 0x14003c054
cmp dword [rsp + 0x74], 0
jne 0x14004228f
add r14, 0x18
mov r13d, 1
jmp 0x14003c054
mov rcx, qword [rsp + 0x38]
test byte [rcx + 2], 1
jne 0x14003d61d
mov r14, r12
jmp 0x14003d625
mov r14, qword [rcx - 8]
add r14, 4
mov r9d, dword [rcx + 4]
mov edi, r12d
mov r13, qword [rcx + 0x10]
mov rbx, r12
mov r12, qword [rsp + 0x38]
mov ecx, dword [rcx + 8]
mov dword [rsp + 0x78], r9d
mov dword [rbp - 0x80], ecx
movsxd r12, dword [r12 + 0xc]
test r12, r12
jle 0x1400422d9
lea rsi, [r13 + 0x20]
test r14, r14
je 0x14003d660
mov r8d, dword [r14 + rbx*4]
jmp 0x14003d663
mov r8d, edi
mov rax, qword [r13 + 0x18]
movzx r15d, byte [rbx + rax]
lea eax, [r8 + rcx]
movsxd rcx, eax
lea eax, [r8 + r9]
mov r8, qword [rsi]
imul rdx, rcx, 0x38
movsxd rcx, eax
add rdx, qword [rsp + 0x60]
imul rcx, rcx, 0x38
add rcx, qword [rsp + 0x60]
call fcn.140037d80
mov dword [rsp + 0x74], eax
mov r10d, eax
test eax, eax
jne 0x14003d6cc
mov r9d, dword [rsp + 0x78]
inc edi
mov ecx, dword [rbp - 0x80]
inc rbx
add rsi, 8
cmp rbx, r12
jl 0x14003d655
mov r15, qword [rsp + 0x68]
xor r12d, r12d
mov rdi, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x60]
jmp 0x14003c78f
mov r14, qword [rsp + 0x38]
test r15d, r15d
mov r15, qword [rsp + 0x68]
mov r11d, 0x2460
mov rdi, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x60]
mov r9, qword [rsp + 0x48]
je 0x14003d6f8
neg r10d
mov dword [rsp + 0x74], r10d
xor r12d, r12d
jmp 0x14003c79f
mov r10d, dword [rsp + 0x74]
mov rax, qword [rsp + 0x38]
test r10d, r10d
jns 0x14003d723
mov eax, dword [rax + 4]
dec eax
cdqe
lea rcx, [rax + rax*2]
lea r14, [r9 + rcx*8]
jmp 0x14003c79f
jne 0x14003d739
mov eax, dword [rax + 8]
dec eax
cdqe
lea rcx, [rax + rax*2]
lea r14, [r9 + rcx*8]
jmp 0x14003c79f
mov eax, dword [rax + 0xc]
dec eax
cdqe
lea rcx, [rax + rax*2]
lea r14, [r9 + rcx*8]
jmp 0x14003c79f
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
imul rcx, rax, 0x38
add rcx, rsi
movzx eax, word [rcx + 8]
test al, 1
je 0x14003d76c
mov ebx, 2
jmp 0x14003d79e
movzx eax, ax
test al, 4
je 0x14003d778
mov rax, qword [rcx]
jmp 0x14003d795
test al, 8
je 0x14003d787
movsd xmm0, qword [rcx]
call fcn.140032370
jmp 0x14003d795
test al, 0x12
je 0x14003d792
call fcn.1400323b0
jmp 0x14003d795
mov rax, r12
test rax, rax
mov ebx, r12d
setne bl
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 8]
imul rcx, rax, 0x38
add rcx, rsi
movzx eax, word [rcx + 8]
test al, 1
je 0x14003d7bd
mov ecx, 2
jmp 0x14003d7ef
movzx eax, ax
test al, 4
je 0x14003d7c9
mov rax, qword [rcx]
jmp 0x14003d7e6
test al, 8
je 0x14003d7d8
movsd xmm0, qword [rcx]
call fcn.140032370
jmp 0x14003d7e6
test al, 0x12
je 0x14003d7e3
call fcn.1400323b0
jmp 0x14003d7e6
mov rax, r12
test rax, rax
mov ecx, r12d
setne cl
mov rax, qword [rsp + 0x38]
cmp byte [rax], 0x47
lea eax, [rcx + rbx*2]
lea rcx, [0x140000000]
jne 0x14003d80f
add ebx, eax
movzx ecx, byte [rbx + rcx + 0xc96a8]
jmp 0x14003d819
add ebx, eax
movzx ecx, byte [rbx + rcx + 0xc8cf0]
mov rax, qword [rsp + 0x38]
mov r11d, 0x2460
mov r14, qword [rsp + 0x38]
mov r9, qword [rsp + 0x48]
mov r10d, dword [rsp + 0x34]
movsxd rax, dword [rax + 0xc]
movzx edx, cl
imul rcx, rax, 0x38
mov eax, 0x3e00
add rcx, rsi
and word [rcx + 8], ax
cmp edx, 2
jne 0x14003d861
or word [rcx + 8], 1
lea r13d, [rdx - 1]
add r14, 0x18
jmp 0x14003c054
or word [rcx + 8], 4
mov r13d, 1
add r14, 0x18
mov qword [rcx], rdx
jmp 0x14003c054
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
imul rbx, rax, 0x38
mov rax, qword [rsp + 0x38]
add rbx, rsi
movsxd rax, dword [rax + 8]
imul rdi, rax, 0x38
add rdi, rsi
test word [rdi + 8], r11w
je 0x14003d8b9
mov rcx, rdi
call fcn.140032230
mov r9, qword [rsp + 0x48]
mov r11d, 0x2460
mov r10d, dword [rsp + 0x34]
jmp 0x14003d8be
mov word [rdi + 8], r13w
test byte [rbx + 8], 1
jne 0x14003ede3
mov eax, 4
mov word [rdi + 8], ax
movzx eax, word [rbx + 8]
test al, 4
je 0x14003d8de
mov rcx, qword [rbx]
jmp 0x14003d904
test al, 8
je 0x14003d8f0
movsd xmm0, qword [rbx]
call fcn.140032370
mov rcx, rax
jmp 0x14003d904
test al, 0x12
je 0x14003d901
mov rcx, rbx
call fcn.1400323b0
mov rcx, rax
jmp 0x14003d904
mov rcx, r12
mov rax, r12
test rcx, rcx
sete al
mov qword [rdi], rax
mov r14, qword [rsp + 0x38]
mov rdi, qword [rsp + 0x40]
jmp 0x14003c794
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
imul rbx, rax, 0x38
mov rax, qword [rsp + 0x38]
add rbx, rsi
movsxd rax, dword [rax + 8]
imul rdi, rax, 0x38
add rdi, rsi
test word [rdi + 8], r11w
je 0x14003d960
mov rcx, rdi
call fcn.140032230
mov r9, qword [rsp + 0x48]
mov r11d, 0x2460
mov r10d, dword [rsp + 0x34]
jmp 0x14003d965
mov word [rdi + 8], r13w
test byte [rbx + 8], 1
jne 0x14003ede3
mov eax, 4
mov word [rdi + 8], ax
movzx eax, word [rbx + 8]
test al, 4
je 0x14003d993
mov rax, qword [rbx]
not rax
mov qword [rdi], rax
mov rdi, qword [rsp + 0x40]
jmp 0x14003c78f
test al, 8
je 0x14003d9b0
movsd xmm0, qword [rbx]
call fcn.140032370
not rax
mov qword [rdi], rax
mov rdi, qword [rsp + 0x40]
jmp 0x14003c78f
test al, 0x12
je 0x14003d9cc
mov rcx, rbx
call fcn.1400323b0
not rax
mov qword [rdi], rax
mov rdi, qword [rsp + 0x40]
jmp 0x14003c78f
mov rax, r12
not rax
mov qword [rdi], rax
mov rdi, qword [rsp + 0x40]
jmp 0x14003c78f
mov r8, qword [rdi + 0xf0]
test r8, r8
je 0x14003da55
mov rcx, qword [rsp + 0x38]
movabs rax, 0x2aaaaaaaaaaaaaab
sub rcx, qword [rdi + 0x68]
mov r9, qword [r8 + 0x30]
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 0x14003dba5
mov r14, qword [rsp + 0x38]
bts eax, edx
mov byte [rcx + r9], al
mov r13d, 1
mov rax, qword [rdi + 0x68]
mov r9, qword [rsp + 0x48]
mov ecx, dword [rax + 4]
mov dword [r14 + 4], ecx
add r14, 0x18
jmp 0x14003c054
mov rax, qword [rsp + 0x38]
mov rcx, qword [rdi + 0x68]
mov eax, dword [rax + 4]
cmp dword [rcx + 4], eax
je 0x14003dbb4
mov r14, qword [rsp + 0x38]
mov rax, rcx
mov ecx, dword [rcx + 4]
mov r13d, 1
mov dword [r14 + 4], ecx
add r14, 0x18
jmp 0x14003c054
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
imul rcx, rax, 0x38
add rcx, rsi
movzx eax, word [rcx + 8]
test al, 1
je 0x14003daaf
mov rax, qword [rsp + 0x38]
mov r14, qword [rsp + 0x38]
mov eax, dword [rax + 0xc]
jmp 0x14003dafe
test al, 8
je 0x14003dab9
movsd xmm0, qword [rcx]
jmp 0x14003dae0
test al, 4
je 0x14003dac7
xorps xmm0, xmm0
cvtsi2sd xmm0, qword [rcx]
jmp 0x14003dae0
test al, 0x12
je 0x14003daed
call fcn.1400323e0
mov r9, qword [rsp + 0x48]
mov r11d, 0x2460
mov r10d, dword [rsp + 0x34]
ucomisd xmm0, xmm6
jp 0x14003dae8
je 0x14003daed
mov eax, r13d
jmp 0x14003daf0
mov eax, r12d
mov r14, qword [rsp + 0x38]
cmp byte [r14], 0x16
jne 0x14003dafe
xor eax, 1
test eax, eax
jne 0x14004228f
add r14, 0x18
lea r13d, [rax + 1]
jmp 0x14003c054
mov rax, qword [rsp + 0x38]
mov r14, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
imul rcx, rax, 0x38
test byte [rcx + rsi + 8], 1
jne 0x14004228f
add r14, 0x18
mov r13d, 1
jmp 0x14003c054
mov rax, qword [rsp + 0x38]
mov r14, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
imul rcx, rax, 0x38
test byte [rcx + rsi + 8], 1
je 0x14004228f
add r14, 0x18
mov r13d, 1
jmp 0x14003c054
mov rax, qword [rsp + 0x38]
movsxd rcx, dword [rax + 4]
mov rax, qword [rdi + 0x98]
mov rcx, qword [rax + rcx*8]
cmp byte [rcx + 2], 0
je 0x14003c2fd
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 0xc]
imul rcx, rax, 0x38
add rcx, rsi
test word [rcx + 8], r11w
je 0x14003dbaf
call fcn.140032230
mov r14, qword [rsp + 0x38]
jmp 0x14004228a
mov word [rcx + 8], r13w
mov r14, qword [rsp + 0x38]
jmp 0x14004228f
mov rbx, qword [rsp + 0x38]
mov rax, qword [rdi + 0x98]
movsxd rcx, dword [rbx + 4]
mov esi, dword [rbx + 8]
mov dword [rsp + 0x78], esi
mov r15, qword [rax + rcx*8]
cmp byte [r15], 0
jne 0x14003dc0b
cmp byte [r15 + 3], 0
je 0x14003dc76
mov rdx, qword [r15 + 0x20]
test rdx, rdx
je 0x14003dc6c
lea eax, [rsi + 1]
movsxd rcx, eax
mov eax, dword [rdx + rcx*4]
test eax, eax
jle 0x14003dc6c
mov r15, qword [r15 + 0x30]
lea esi, [rax - 1]
mov dword [rsp + 0x78], esi
mov dword [rsp + 0x58], r12d
movsxd rax, dword [rbx + 0xc]
mov rdx, qword [rsp + 0x60]
mov rbx, qword [r15 + 0x60]
imul r13, rax, 0x38
mov eax, dword [rdi + 0x30]
add r13, rdx
mov qword [rbp - 0x80], rbx
mov qword [rbp - 0x58], r13
cmp dword [r15 + 0x28], eax
je 0x14003ddaa
cmp byte [r15 + 2], 0
je 0x14003dceb
cmp byte [r15], 3
jne 0x14003dcaa
movsxd rax, dword [r15 + 0x38]
imul rax, rax, 0x38
mov edi, dword [rax + rdx + 0xc]
mov dword [r15 + 0x74], edi
mov dword [r15 + 0x70], edi
mov rax, qword [rax + rdx + 0x10]
mov qword [r15 + 0x68], rax
jmp 0x14003dd43
mov rcx, r15
call fcn.140037420
jmp 0x14003dc88
mov rax, qword [r15 + 0x38]
cmp byte [rax + 0x56], 1
je 0x14003dc0b
mov rcx, r15
call fcn.1400374a0
mov qword [rsp + 0x58], rax
test eax, eax
jne 0x140042a1a
mov r9, qword [rsp + 0x48]
mov r11d, 0x2460
mov r10d, dword [rsp + 0x34]
jmp 0x14003dc10
test word [r13 + 8], r11w
je 0x14003dcc8
mov rcx, r13
call fcn.140032230
mov r15, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x60]
jmp 0x14003c78f
mov r14, qword [rsp + 0x38]
mov eax, 1
mov r15, qword [rsp + 0x68]
mov rsi, rdx
mov word [r13 + 8], ax
add r14, 0x18
mov r13d, eax
jmp 0x14003c054
mov rbx, qword [r15 + 0x38]
mov rcx, rbx
call fcn.140029630
mov edx, dword [rbx + 0x30]
mov dword [r15 + 0x70], edx
movsx rax, byte [rbx + 0x58]
mov rcx, qword [rbx + rax*8 + 0x90]
movzx eax, word [rbx + 0x34]
mov edi, dword [rcx + 0x58]
sub edi, dword [rbx + 0x28]
cmp eax, edi
cmovb edi, eax
mov rax, qword [rbx + 0x28]
mov qword [r15 + 0x68], rax
cmp edx, edi
ja 0x14003dd2c
mov dword [r15 + 0x74], edx
jmp 0x14003dd3f
mov r8, qword [rsp + 0x68]
cmp edx, dword [r8 + 0x70]
ja 0x1400426e6
mov dword [r15 + 0x74], edi
mov rbx, qword [rbp - 0x80]
mov rax, qword [rsp + 0x40]
mov rcx, qword [r15 + 0x68]
mov eax, dword [rax + 0x30]
mov dword [r15 + 0x28], eax
movzx eax, byte [rcx]
cmp al, 0x80
jae 0x14003dd67
movzx ecx, al
mov eax, 1
mov dword [rbp - 0x40], ecx
jmp 0x14003dd76
lea rdx, [rbp - 0x40]
call fcn.140016440
mov ecx, dword [rbp - 0x40]
movzx eax, al
movzx eax, al
mov dword [r15 + 0x48], eax
mov word [r15 + 0x52], r12w
mov dword [rbx], ecx
cmp edi, ecx
jae 0x14003de38
mov qword [r15 + 0x68], r12
mov dword [r15 + 0x74], r12d
cmp ecx, 0x18003
ja 0x1400423e0
cmp ecx, dword [r15 + 0x70]
ja 0x1400423e0
movzx eax, word [r15 + 0x52]
cmp eax, esi
jg 0x14003dffc
mov eax, dword [rbx]
cmp dword [r15 + 0x48], eax
jae 0x14003dfb6
mov rcx, qword [r15 + 0x68]
mov qword [rbp - 0x48], rcx
test rcx, rcx
jne 0x14003de69
xor eax, eax
mov dword [rsp + 0x58], r12d
mov qword [rbp + 8], rax
mov qword [rbp + 0x10], rax
mov qword [rbp + 0x18], rax
mov qword [rbp + 0x20], rax
mov qword [rbp + 0x28], rax
mov qword [rbp + 0x30], rax
mov qword [rbp + 0x38], rax
mov r10, qword [r15 + 0x38]
mov r8d, dword [rbx]
movsx rax, byte [r10 + 0x58]
mov rcx, qword [r10 + rax*8 + 0x90]
movzx eax, word [r10 + 0x34]
mov edx, dword [rcx + 0x58]
sub edx, dword [r10 + 0x28]
cmp eax, edx
cmovb edx, eax
cmp r8d, edx
ja 0x14003de46
mov rcx, qword [r10 + 0x28]
mov eax, 0x1010
mov qword [rbp + 0x18], rcx
mov word [rbp + 0x10], ax
mov dword [rbp + 0x14], r8d
jmp 0x14003de65
test ecx, ecx
je 0x14003ddaa
mov rcx, qword [r15 + 0x68]
jmp 0x14003de65
lea r9, [rbp + 8]
xor edx, edx
mov rcx, r10
call fcn.140032c50
mov qword [rsp + 0x58], rax
test eax, eax
jne 0x1400423ea
mov rcx, qword [rbp + 0x18]
mov qword [rbp - 0x48], rcx
movzx r14d, word [r15 + 0x52]
mov edx, pe_nt_image_headers64
mov rax, qword [rbp - 0x80]
mov r12d, r14d
mov esi, dword [rbx + r14*4]
mov ebx, dword [r15 + 0x48]
mov r13d, dword [rax]
add rbx, rcx
add r13, rcx
nop dword [rax + rax]
movzx edi, byte [rbx]
mov dword [rbp - 0x70], edi
cmp edi, edx
jae 0x14003deae
lea rcx, [0x140000000]
inc rbx
movzx eax, byte [rdi + rcx + 0xc8da0]
jmp 0x14003dee7
lea rdx, [rbp - 0x70]
mov rcx, rbx
call fcn.140016440
mov edi, dword [rbp - 0x70]
movzx eax, al
add rbx, rax
mov eax, pe_nt_image_headers64
cmp edi, eax
jb 0x14003ded3
lea eax, [rdi - 0xc]
shr eax, 1
jmp 0x14003dee2
lea rcx, [0x140000000]
movzx eax, byte [rdi + rcx + 0xc8da0]
mov edx, pe_nt_image_headers64
add rsi, rax
mov dword [r15 + r12*4 + 0x78], edi
mov rax, qword [rbp - 0x80]
inc r14d
movsxd r12, r14d
mov dword [rax + r12*4], esi
cmp r14d, dword [rsp + 0x78]
jg 0x14003df0b
cmp rbx, r13
jb 0x14003de90
jmp 0x14003df10
cmp rbx, r13
jb 0x14003df26
cmp rbx, r13
ja 0x14004246b
mov eax, dword [r15 + 0x70]
cmp rsi, rax
jne 0x14004246b
mov eax, dword [r15 + 0x70]
cmp rsi, rax
ja 0x14004246b
sub ebx, dword [rbp - 0x48]
mov r11d, 0x2460
cmp qword [r15 + 0x68], 0
mov word [r15 + 0x52], r14w
mov dword [r15 + 0x48], ebx
jne 0x14003df68
test word [rbp + 0x10], r11w
jne 0x14003df59
cmp dword [rbp + 0x28], 0
je 0x14003df68
lea rcx, [rbp + 8]
call fcn.1400322c0
mov r11d, 0x2460
mov r13, qword [rbp - 0x58]
xor r12d, r12d
mov rbx, qword [rbp - 0x80]
mov esi, dword [rsp + 0x78]
movzx eax, word [r15 + 0x52]
cmp eax, esi
jg 0x14003e007
mov r15, qword [rsp + 0x38]
cmp byte [r15 + 1], 0xf9
jne 0x14003dfc5
mov rdx, qword [r15 + 0x10]
mov r8d, 0x800
mov rcx, r13
call fcn.140032910
mov r15, qword [rsp + 0x68]
mov rdi, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x60]
jmp 0x14003c78f
mov edi, r12d
mov dword [rbp - 0x70], r12d
mov r11d, 0x2460
jmp 0x14003df77
test word [r13 + 8], r11w
je 0x14003dfe8
mov rcx, r13
call fcn.140032230
mov r15, qword [rsp + 0x68]
mov rdi, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x60]
jmp 0x14003c78f
mov r15, qword [rsp + 0x68]
mov eax, 1
mov word [r13 + 8], ax
jmp 0x14003c69d
movsxd rax, esi
mov edi, dword [r15 + rax*4 + 0x78]
mov dword [rbp - 0x70], edi
mov eax, 0x2460
test word [r13 + 8], ax
je 0x14003e01b
mov rcx, r13
call fcn.140032230
lea eax, [rsi + 1]
movsxd rcx, eax
mov eax, dword [rbx + rcx*4]
cmp dword [r15 + 0x74], eax
jb 0x14003e102
movsxd rax, esi
mov r14d, dword [rbx + rax*4]
add r14, qword [r15 + 0x68]
cmp edi, 0xc
jae 0x14003e05f
mov r8, r13
mov edx, edi
mov rcx, r14
call fcn.1400376b0
mov r15, qword [rsp + 0x68]
mov rdi, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x60]
jmp 0x14003c78f
movzx eax, byte [rsp + 0x50]
lea esi, [rdi - 0xc]
shr esi, 1
mov dword [r13 + 0xc], esi
mov byte [r13 + 0xa], al
lea edx, [rsi + 2]
cmp dword [r13 + 0x20], edx
jge 0x14003e0a8
mov eax, 1
xor r8d, r8d
mov rcx, r13
mov word [r13 + 8], ax
call fcn.140031d20
test eax, eax
je 0x14003e0b0
mov r15, qword [rsp + 0x68]
mov r13d, 1
mov rdi, qword [rsp + 0x40]
jmp 0x14003f0bb
mov rax, qword [r13 + 0x18]
mov qword [r13 + 0x10], rax
mov rcx, qword [r13 + 0x10]
mov rdx, r14
mov r8d, esi
call fcn.1400a12f0
mov rax, qword [r13 + 0x10]
mov r15, qword [rsp + 0x68]
mov byte [rsi + rax], 0
lea eax, [rsi + 1]
mov rsi, qword [rsp + 0x60]
movsxd rcx, eax
mov rax, qword [r13 + 0x10]
mov byte [rcx + rax], 0
mov eax, edi
mov rdi, qword [rsp + 0x40]
lea rcx, [0x140000000]
and eax, 1
movzx eax, word [rcx + rax*2 + 0xc7a4c]
mov word [r13 + 8], ax
jmp 0x14003c78f
movzx eax, byte [rsp + 0x50]
mov byte [r13 + 0xa], al
mov rax, qword [rsp + 0x38]
movzx eax, word [rax + 2]
test al, 0xc0
je 0x14003e127
cmp edi, 0xc
jb 0x14003e123
test dil, 1
je 0x14003e150
test al, al
js 0x14003e150
mov eax, pe_nt_image_headers64
cmp edi, eax
jb 0x14003e139
lea r8d, [rdi - 0xc]
shr r8d, 1
jmp 0x14003e14b
mov eax, edi
lea rcx, [0x140000000]
movzx r8d, byte [rax + rcx + 0xc8da0]
test r8d, r8d
jne 0x14003e175
mov r8, r13
lea rcx, [0x140176300]
mov edx, edi
call fcn.1400376b0
mov r15, qword [rsp + 0x68]
mov rdi, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x60]
jmp 0x14003c78f
mov r10, qword [r15 + 0x38]
movsxd rax, esi
mov dword [rsp + 0x58], r12d
mov r11d, dword [rbx + rax*4]
movsx rax, byte [r10 + 0x58]
mov rcx, qword [r10 + rax*8 + 0x90]
movzx eax, word [r10 + 0x34]
mov edx, dword [rcx + 0x58]
sub edx, dword [r10 + 0x28]
cmp eax, edx
cmovb edx, eax
lea eax, [r11 + r8]
cmp eax, edx
ja 0x14003e1c6
mov eax, r11d
add rax, qword [r10 + 0x28]
mov qword [r13 + 0x10], rax
mov eax, 0x1010
mov word [r13 + 8], ax
mov dword [r13 + 0xc], r8d
jmp 0x14003e1e1
mov r9, r13
mov edx, r11d
mov rcx, r10
call fcn.140032c50
mov qword [rsp + 0x58], rax
test eax, eax
jne 0x1400423ea
mov rcx, qword [r13 + 0x10]
mov r8, r13
mov edx, edi
call fcn.1400376b0
mov eax, 0xefff
and word [r13 + 8], ax
mov r15, qword [rsp + 0x68]
mov rdi, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x60]
jmp 0x14003c78f
mov rax, qword [rsp + 0x38]
movzx r15d, byte [rsp + 0x50]
mov rdi, qword [rax + 0x10]
movsxd rax, dword [rax + 4]
imul rbx, rax, 0x38
movzx eax, byte [rdi]
add rbx, rsi
nop word [rax + rax]
movzx r8d, r15b
movzx edx, al
mov rcx, rbx
call fcn.14003bd90
movzx eax, byte [rdi + 1]
lea rdi, [rdi + 1]
add rbx, 0x38
test al, al
jne 0x14003e230
mov r15, qword [rsp + 0x68]
mov rdi, qword [rsp + 0x40]
jmp 0x14003c78f
mov rcx, qword [rsp + 0x38]
xor r13d, r13d
movzx r14d, byte [rdi + 0xbf]
mov rsi, r12
mov qword [rbp - 0x58], r13
movsxd rax, dword [rcx + 4]
mov rbx, qword [rcx + 0x10]
imul r15, rax, 0x38
mov eax, dword [rcx + 8]
add r15, qword [rsp + 0x60]
dec eax
cdqe
imul rax, rax, 0x38
add rax, r15
mov qword [rbp - 0x48], rax
movsxd rax, dword [rcx + 0xc]
imul rcx, rax, 0x38
add rcx, qword [rsp + 0x60]
mov qword [rbp - 0x80], rcx
test rbx, rbx
je 0x14003e2e3
movzx eax, byte [rbx]
mov rdi, r15
movzx r13d, byte [rsp + 0x50]
nop word [rax + rax]
movzx r8d, r13b
movzx edx, al
mov rcx, rdi
call fcn.14003bd90
movzx eax, byte [rbx + 1]
lea rbx, [rbx + 1]
add rdi, 0x38
test al, al
jne 0x14003e2c0
mov r13, qword [rbp - 0x58]
mov rbx, qword [rbp - 0x48]
nop word [rax + rax]
lea r8, [rbp - 0x64]
mov edx, r14d
mov rcx, rbx
call fcn.1400374f0
mov edi, eax
mov eax, 0x4000
mov dword [rbx + 0x24], edi
test word [rbx + 8], ax
je 0x14003e333
test rsi, rsi
je 0x14003e326
mov rcx, rbx
call fcn.140031f40
test eax, eax
jne 0x14003e093
jmp 0x14003e333
movsxd rcx, dword [rbx]
add r13, rcx
sub dword [rbp - 0x64], ecx
mov qword [rbp - 0x58], r13
mov eax, dword [rbp - 0x64]
mov r8d, 1
add rsi, rax
mov ecx, r8d
cmp edi, 0x7f
jbe 0x14003e35e
mov rax, rdi
shr rax, 7
test rax, rax
je 0x14003e35e
inc ecx
shr rax, 7
test rax, rax
jne 0x14003e353
add r12d, ecx
cmp rbx, r15
je 0x14003e36c
sub rbx, 0x38
jmp 0x14003e2f0
cmp r12d, 0x7e
jle 0x14003e3af
movsxd rax, r12d
mov edx, r8d
shr rax, 7
test rax, rax
je 0x14003e38c
inc edx
shr rax, 7
test rax, rax
jne 0x14003e381
add r12d, edx
mov ecx, r8d
movsxd rax, r12d
shr rax, 7
test rax, rax
je 0x14003e3ab
nop
inc ecx
shr rax, 7
test rax, rax
jne 0x14003e3a0
cmp edx, ecx
jge 0x14003e3b2
inc r12d
mov r8, qword [rsp + 0x68]
movsxd rbx, r12d
movsxd rax, dword [r8 + 0x70]
lea r14, [rsi + rbx]
lea rcx, [r14 + r13]
mov qword [rsp + 0x78], r14
cmp rcx, rax
jg 0x1400426e6
mov rdi, qword [rbp - 0x80]
cmp dword [rdi + 0x20], r14d
jge 0x14003e3f6
xor r8d, r8d
mov edx, r14d
mov rcx, rdi
call fcn.140031d20
test eax, eax
jne 0x14003e093
jmp 0x14003e403
mov rax, qword [rdi + 0x18]
and word [rdi + 8], 0xd
mov qword [rdi + 0x10], rax
mov rsi, qword [rdi + 0x10]
mov ecx, pe_nt_image_headers64
cmp r12d, ecx
jae 0x14003e41f
mov r13d, 1
mov byte [rsi], r12b
mov eax, r13d
jmp 0x14003e433
mov rdx, rbx
mov rcx, rsi
call fcn.140016240
mov ecx, pe_nt_image_headers64
lea r13d, [rcx - 0x7f]
movzx edi, al
xor r14d, r14d
nop dword [rax]
mov r11d, dword [r15 + 0x24]
cmp r11d, ecx
jae 0x14003e455
movsxd rax, edi
mov byte [rax + rsi], r11b
mov eax, r13d
jmp 0x14003e463
movsxd rcx, edi
mov rdx, r11
add rcx, rsi
call fcn.140016240
movzx eax, al
add edi, eax
movsxd r9, r12d
lea eax, [r11 - 1]
add r9, rsi
cmp eax, 6
ja 0x14003e4a0
mov rdx, qword [r15]
lea rcx, [0x140000000]
movzx ecx, byte [r11 + rcx + 0xc8da0]
mov ebx, ecx
nop dword [rax]
dec ecx
mov byte [rcx + r9], dl
shr rdx, 8
test ecx, ecx
jne 0x14003e490
jmp 0x14003e4c2
cmp r11d, 0xc
jb 0x14003e4bf
mov ebx, dword [r15 + 0xc]
test ebx, ebx
je 0x14003e4c2
mov rdx, qword [r15 + 0x10]
mov r8d, ebx
mov rcx, r9
call fcn.1400a12f0
jmp 0x14003e4c2
mov ebx, r14d
add r12d, ebx
add r15, 0x38
mov ecx, pe_nt_image_headers64
cmp r15, qword [rbp - 0x48]
jbe 0x14003e440
mov rcx, qword [rbp - 0x80]
xor r12d, r12d
mov r14, qword [rsp + 0x78]
mov eax, reloc.WS2_32.dll_recv
mov r13, qword [rbp - 0x58]
mov r11d, 0x2460
mov r15, qword [rsp + 0x68]
mov rdi, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x60]
mov r9, qword [rsp + 0x48]
mov r10d, dword [rsp + 0x34]
mov dword [rcx + 0xc], r14d
mov r14, qword [rsp + 0x38]
mov word [rcx + 8], ax
test r13, r13
je case.0x14003c092.96
mov eax, 0x4010
mov dword [rcx], r13d
mov word [rcx + 8], ax
lea r13d, [r12 + 1]
add r14, 0x18
jmp 0x14003c054
mov rax, qword [rsp + 0x38]
lea rdx, [rbp]
mov qword [rbp], r12
movsxd rcx, dword [rax + 4]
mov rax, qword [rdi + 0x98]
mov rcx, qword [rax + rcx*8]
mov rcx, qword [rcx + 0x38]
call fcn.14002f4c0
mov qword [rsp + 0x58], rax
test eax, eax
jne 0x1400423ea
mov rax, qword [rsp + 0x38]
mov r11d, 0x2460
movsxd rax, dword [rax + 8]
imul rcx, rax, 0x38
add rcx, qword [rdi + 0x70]
test word [rcx + 8], r11w
je 0x14003e5b0
call fcn.14003bf00
mov r14, qword [rsp + 0x38]
mov rcx, rax
mov rax, qword [rbp]
mov r11d, 0x2460
mov r9, qword [rsp + 0x48]
mov qword [rcx], rax
jmp 0x14003c79f
mov r14, qword [rsp + 0x38]
mov eax, 4
mov r9, qword [rsp + 0x48]
mov word [rcx + 8], ax
mov rax, qword [rbp]
mov qword [rcx], rax
jmp 0x14003c79f
mov rax, qword [rsp + 0x38]
mov r13d, dword [rax + 4]
mov rdi, qword [rax + 0x10]
test r13d, r13d
jne 0x14003e6b5
cmp dword [r15 + 0xb4], r13d
jg 0x140042496
test rdi, rdi
jne 0x14003e5fc
mov ebx, r12d
jmp 0x14003e60f
or rbx, 0xffffffffffffffff
inc rbx
cmp byte [rdi + rbx], 0
jne 0x14003e600
and ebx, 0x3fffffff
mov r8d, dword [r15 + 0x280]
xor edx, edx
add r8d, dword [r15 + 0x27c]
mov rcx, r15
call fcn.140087d10
mov qword [rsp + 0x58], rax
test eax, eax
jne 0x1400423ea
mov edx, ebx
mov rcx, r15
add rdx, 0x21
call fcn.140012710
mov rsi, rax
test rax, rax
je 0x14003c95e
lea r9, [rax + 0x20]
mov rdx, rdi
mov rcx, r9
mov qword [rax], r9
lea r8d, [rbx + 1]
call fcn.1400a12f0
cmp byte [r15 + 0x53], 0
je 0x14003e677
mov byte [r15 + 0x53], 0
mov byte [r15 + 0x5b], 1
jmp 0x14003e67e
inc dword [r15 + 0x27c]
mov rax, qword [r15 + 0x270]
mov rdi, qword [rsp + 0x40]
mov qword [rsi + 0x18], rax
mov rax, qword [r15 + 0x288]
mov qword [r15 + 0x270], rsi
mov qword [rsi + 8], rax
mov rax, qword [r15 + 0x290]
mov qword [rsi + 0x10], rax
mov rsi, qword [rsp + 0x60]
jmp 0x14003c78f
mov r14, qword [r15 + 0x270]
test r14, r14
je 0x14003e6dc
mov rcx, qword [r14]
mov rdx, rdi
call fcn.140015760
test eax, eax
je 0x14003e6fa
mov r14, qword [r14 + 0x18]
inc r12d
test r14, r14
jne 0x14003e6c1
mov rcx, qword [rsp + 0x40]
lea rdx, str.no_such_savepoint:__s
mov r8, rdi
call fcn.140033510
mov eax, 1
jmp 0x1400423ea
cmp dword [r15 + 0xb4], 0
jle 0x14003e70e
cmp r13d, 1
je 0x1400424b1
cmp qword [r14 + 0x18], 0
jne 0x14003e772
cmp byte [r15 + 0x5b], 0
je 0x14003e772
mov esi, 1
mov ebx, esi
mov dword [rsp + 0x78], ebx
cmp r13d, esi
jne 0x14003e77a
mov rdi, qword [rsp + 0x40]
mov rax, qword [rdi]
mov rcx, qword [rax + 0x290]
add rcx, qword [rax + 0x288]
test rcx, rcx
mov rcx, rdi
jg 0x140042510
mov byte [r15 + 0x53], bl
call fcn.140036ab0
cmp eax, 5
je 0x1400424cc
mov byte [r15 + 0x5b], 0
mov ecx, dword [rdi + 0x38]
mov qword [rsp + 0x58], rcx
jmp 0x14003e876
xor ecx, ecx
mov dword [rsp + 0x78], ecx
jmp 0x14003e77c
xor ecx, ecx
mov eax, dword [r15 + 0x27c]
sub eax, r12d
lea r12d, [rax - 1]
mov rax, qword [rsp + 0x68]
cmp r13d, 2
jne 0x14003e7e8
mov r15d, dword [r15 + 0x2c]
mov edi, ecx
shr r15d, 1
and r15d, 1
cmp dword [rax + 0x28], 0
jle 0x14003e7eb
mov esi, r15d
mov rbx, rcx
xor esi, 1
mov rcx, qword [rax + 0x20]
mov r8d, esi
mov edx, 0x204
mov rcx, qword [rbx + rcx + 8]
call fcn.140028fa0
mov qword [rsp + 0x58], rax
test eax, eax
jne 0x1400423ea
mov rax, qword [rsp + 0x68]
inc edi
add rbx, 0x20
cmp edi, dword [rax + 0x28]
jl 0x14003e7b1
xor ecx, ecx
jmp 0x14003e7eb
mov r15d, ecx
cmp dword [rax + 0x28], 0
mov edi, ecx
jle 0x14003e831
mov rbx, rcx
nop word [rax + rax]
mov rcx, qword [rax + 0x20]
mov r8d, r12d
mov edx, r13d
mov rcx, qword [rbx + rcx + 8]
call fcn.140029220
mov qword [rsp + 0x58], rax
test eax, eax
jne 0x1400423ea
mov rax, qword [rsp + 0x68]
inc edi
add rbx, 0x20
cmp edi, dword [rax + 0x28]
jl 0x14003e800
test r15d, r15d
mov r15, qword [rsp + 0x68]
je 0x14003e86d
mov rax, qword [r15 + 8]
test rax, rax
je 0x14003e860
nop dword [rax]
nop dword [rax + rax]
or dword [rax + 0xc0], 1
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x14003e850
mov rcx, r15
call fcn.1400588c0
or dword [r15 + 0x2c], 2
mov rdi, qword [rsp + 0x40]
mov ebx, dword [rsp + 0x78]
cmp qword [r15 + 0x270], r14
je 0x14003e8ea
nop
cmp qword [r15 + 0x298], 0
mov rcx, qword [r15 + 0x270]
mov rax, qword [rcx + 0x18]
mov qword [r15 + 0x270], rax
je 0x14003e8a9
mov rdx, rcx
mov rcx, r15
call fcn.140012380
jmp 0x14003e8da
cmp rcx, qword [r15 + 0x180]
jb 0x14003e8d5
cmp rcx, qword [r15 + 0x188]
jae 0x14003e8d5
mov rax, qword [r15 + 0x178]
mov qword [rcx], rax
dec dword [r15 + 0x160]
mov qword [r15 + 0x178], rcx
jmp 0x14003e8da
call fcn.140012310
dec dword [r15 + 0x27c]
cmp qword [r15 + 0x270], r14
jne 0x14003e880
cmp r13d, 1
jne 0x14003e939
mov rax, qword [r14 + 0x18]
mov rdx, r14
mov rcx, r15
mov qword [r15 + 0x270], rax
call fcn.140012420
test ebx, ebx
jne 0x14003e959
dec dword [r15 + 0x27c]
mov r8d, r12d
mov edx, r13d
mov rcx, r15
call fcn.140087d10
mov qword [rsp + 0x58], rax
test eax, eax
jne 0x1400423ea
mov rsi, qword [rsp + 0x60]
xor r12d, r12d
jmp 0x14003c78f
mov rax, qword [r14 + 8]
mov qword [r15 + 0x288], rax
mov rax, qword [r14 + 0x10]
mov qword [r15 + 0x290], rax
test ebx, ebx
je 0x14003e911
cmp r13d, 2
je 0x14003e911
mov rax, qword [rsp + 0x58]
test eax, eax
jne 0x1400423ea
mov rsi, qword [rsp + 0x60]
xor r12d, r12d
jmp 0x14003c78f
mov rax, qword [rsp + 0x38]
mov edx, dword [rax + 8]
test edx, edx
je 0x14003e98d
test dword [r15 + 0x2c], 0x4000000
jne 0x14004253b
movsxd rcx, dword [rax + 4]
mov rax, qword [r15 + 0x20]
shl rcx, 5
mov rbx, qword [rcx + rax + 8]
test rbx, rbx
je 0x14003eb08
mov rcx, rbx
call fcn.140027f50
mov qword [rsp + 0x58], rax
test eax, eax
jne 0x140042552
mov rax, qword [rsp + 0x38]
cmp dword [rax + 8], 0
je 0x14003eaa1
test byte [rdi + 0xc0], 0x40
je 0x14003eaa1
cmp byte [r15 + 0x53], 0
je 0x14003e9ed
cmp dword [r15 + 0xb0], 1
jle 0x14003eaa1
cmp dword [rdi + 0x40], 0
jne 0x14003ea0b
inc dword [r15 + 0x280]
mov ecx, dword [r15 + 0x280]
add ecx, dword [r15 + 0x27c]
mov dword [rdi + 0x40], ecx
mov r8d, dword [rdi + 0x40]
xor edx, edx
dec r8d
mov rcx, r15
call fcn.140087d10
mov edi, eax
mov qword [rsp + 0x58], rdi
test eax, eax
jne 0x14003ea86
cmp byte [rbx + 0x11], 0
mov rax, qword [rsp + 0x40]
mov rsi, qword [rbx + 8]
mov edi, dword [rax + 0x40]
je 0x14003ea4a
inc dword [rbx + 0x14]
cmp byte [rbx + 0x12], 0
jne 0x14003ea4a
mov rcx, rbx
call fcn.140024fb0
mov rcx, qword [rsi]
cmp edi, dword [rcx + 0x80]
jle 0x14003ea68
cmp byte [rcx + 0xa], 0
je 0x14003ea68
mov edx, edi
call fcn.140021a00
mov dword [rsp + 0x58], eax
jmp 0x14003ea6d
mov dword [rsp + 0x58], r12d
cmp byte [rbx + 0x11], 0
je 0x14003ea81
sub dword [rbx + 0x14], 1
jne 0x14003ea81
mov rcx, rbx
call fcn.140024f80
mov rsi, qword [rsp + 0x60]
mov rax, qword [r15 + 0x288]
mov rcx, qword [rsp + 0x40]
mov qword [rcx + 0x58], rax
mov rax, qword [r15 + 0x290]
mov qword [rcx + 0x60], rax
cmp byte [rbx + 0x11], 0
mov rdi, qword [rbx + 8]
je 0x14003eabc
inc dword [rbx + 0x14]
cmp byte [rbx + 0x12], 0
jne 0x14003eabc
mov rcx, rbx
call fcn.140024fb0
cmp byte [rbx + 0x11], 0
mov rax, qword [rdi + 0x18]
mov rcx, qword [rax + 0x50]
mov edi, dword [rcx + 0x28]
bswap edi
je 0x14003eadd
sub dword [rbx + 0x14], 1
jne 0x14003eadd
mov rcx, rbx
call fcn.140024f80
mov rax, qword [rsp + 0x38]
mov r11d, 0x2460
mov r9, qword [rsp + 0x48]
mov r10d, dword [rsp + 0x34]
movsxd rcx, dword [rax + 4]
mov rax, qword [r15 + 0x20]
shl rcx, 5
mov rcx, qword [rcx + rax + 0x18]
mov eax, dword [rcx + 4]
jmp 0x14003eb0e
mov edi, r12d
mov eax, r12d
mov r14, qword [rsp + 0x38]
cmp word [r14 + 2], 0
je 0x14003eb2f
cmp edi, dword [r14 + 0xc]
jne 0x140042594
cmp eax, dword [r14 + 0x10]
jne 0x140042594
mov rax, qword [rsp + 0x58]
test eax, eax
jne 0x14003d29e
mov rdi, qword [rsp + 0x40]
add r14, 0x18
mov r13d, 1
jmp 0x14003c054
mov rcx, qword [r15 + 0x20]
lea r8, [rbp - 0x1c]
mov rdx, qword [rsp + 0x38]
mov rax, qword [rsp + 0x38]
mov edx, dword [rdx + 0xc]
movsxd rax, dword [rax + 4]
shl rax, 5
mov rcx, qword [rax + rcx + 8]
call fcn.14002f390
mov rcx, qword [rsp + 0x38]
mov r11d, 0x2460
movsxd rax, dword [rcx + 8]
imul rcx, rax, 0x38
add rcx, qword [rdi + 0x70]
test word [rcx + 8], r11w
je 0x14003ebb9
call fcn.14003bf00
mov r14, qword [rsp + 0x38]
mov rcx, rax
movsxd rax, dword [rbp - 0x1c]
mov r11d, 0x2460
mov r9, qword [rsp + 0x48]
mov qword [rcx], rax
jmp 0x14003c79f
mov r14, qword [rsp + 0x38]
mov eax, 4
mov r9, qword [rsp + 0x48]
mov word [rcx + 8], ax
movsxd rax, dword [rbp - 0x1c]
mov qword [rcx], rax
jmp 0x14003c79f
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 [r15 + 0x20]
mov rcx, qword [rbx + 8]
call fcn.14002f420
mov rdx, qword [rsp + 0x38]
mov dword [rsp + 0x58], eax
mov eax, dword [rdx + 8]
cmp eax, 1
jne 0x14003ec1a
mov rcx, qword [rbx + 0x18]
mov eax, dword [rdx + 0xc]
mov dword [rcx], eax
or dword [r15 + 0x2c], 2
jmp 0x14003ec2a
cmp eax, 2
jne 0x14003ec2a
mov rcx, qword [rbx + 0x18]
movzx eax, byte [rdx + 0xc]
mov byte [rcx + 0x70], al
cmp dword [rdx + 4], 1
jne 0x14003ec57
mov rax, qword [r15 + 8]
test rax, rax
je 0x14003ec50
nop dword [rax]
or dword [rax + 0xc0], 1
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x14003ec40
and dword [rdi + 0xc0], 0xfffffffe
mov rax, qword [rsp + 0x58]
test eax, eax
jne 0x140042a2f
mov r14, rdx
jmp 0x14003c794
mov rax, qword [rsp + 0x38]
movsxd rcx, dword [rax + 4]
mov rax, qword [rdi + 0x98]
mov rdi, qword [rax + rcx*8]
mov rcx, qword [rsp + 0x38]
test rdi, rdi
je 0x14003ec96
mov eax, dword [rcx + 8]
cmp dword [rdi + 0x4c], eax
je 0x14003edc8
mov rdi, qword [rsp + 0x40]
test byte [rdi + 0xc0], 1
jne 0x1400425f5
mov r8, qword [rsp + 0x68]
mov edi, r12d
movsxd r15, dword [rcx + 8]
mov r14, r12
movsxd r12, dword [rcx + 0xc]
mov rax, r12
shl rax, 5
add rax, qword [r8 + 0x20]
mov r13, qword [rax + 8]
cmp bl, 0x6b
jne 0x14003ed3f
mov rax, qword [rax + 0x18]
movzx esi, word [rcx + 2]
and esi, 8
or esi, 4
movzx ecx, byte [rax + 0x70]
mov rax, qword [rsp + 0x40]
cmp cl, byte [rax + 0xbf]
jae 0x14003ecf4
mov byte [rax + 0xbf], cl
mov rcx, qword [rsp + 0x38]
test byte [rcx + 2], 0x10
je 0x14003ed1b
imul rbx, r15, 0x38
mov rax, r15
add rbx, qword [rsp + 0x60]
mov rcx, rbx
call fcn.140032460
mov rcx, qword [rsp + 0x38]
mov r15d, dword [rbx]
movzx eax, byte [rcx + 1]
cmp al, 0xfb
jne 0x14003ed43
mov r14, qword [rcx + 0x10]
movzx edi, word [r14 + 8]
movzx eax, word [r14 + 6]
add edi, eax
jmp 0x14003ed4a
mov rcx, qword [rsp + 0x38]
jmp 0x14003ec9b
xor esi, esi
jmp 0x14003ecf9
cmp al, 0xf5
jne 0x14003ed4a
mov edi, dword [rcx + 0x10]
mov edx, dword [rcx + 4]
mov r9d, r12d
mov rcx, qword [rsp + 0x40]
mov r8d, edi
mov byte [rsp + 0x20], 0
call fcn.14003bbc0
mov rdi, rax
test rax, rax
je 0x14003e093
mov rcx, qword [rax + 0x38]
mov r9, r14
or dword [rax + 8], 4
mov r8d, esi
mov qword [rsp + 0x20], rcx
mov edx, r15d
mov rcx, r13
mov byte [rax + 2], 1
mov dword [rax + 0x4c], r15d
call fcn.140029410
mov rcx, qword [rsp + 0x38]
mov r11d, 0x2460
mov r15, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x60]
mov r9, qword [rsp + 0x48]
mov r10d, dword [rsp + 0x34]
mov qword [rdi + 0x40], r14
cmp byte [rcx + 1], 0xfb
mov dword [rsp + 0x58], eax
setne al
xor r12d, r12d
mov byte [rdi + 4], al
mov rax, qword [rdi + 0x38]
movzx ecx, byte [rcx + 2]
and cl, 3
mov byte [rax + 0x57], cl
mov rax, qword [rsp + 0x58]
test eax, eax
jne 0x1400423ea
mov r14, qword [rsp + 0x38]
mov r13d, 1
mov rdi, qword [rsp + 0x40]
add r14, 0x18
jmp 0x14003c054
mov rax, qword [rsp + 0x38]
or r9d, 0xffffffff
mov byte [rsp + 0x20], 0
movsxd rcx, dword [rax + 8]
mov rax, qword [rdi + 0x98]
mov rbx, qword [rax + rcx*8]
mov rcx, rdi
mov rax, qword [rsp + 0x38]
movsx r8d, word [rbx + 0x50]
mov edx, dword [rax + 4]
call fcn.14003bbc0
test rax, rax
je 0x14003f0bb
or dword [rax + 8], 1
mov rsi, qword [rax + 0x38]
mov byte [rax + 2], 1
mov rdi, qword [rbx + 0x40]
mov qword [rax + 0x40], rdi
movzx ecx, byte [rbx + 4]
mov byte [rax + 4], cl
mov rbx, qword [rbx + 0x10]
cmp byte [rbx + 0x11], 0
je 0x14003ee6d
inc dword [rbx + 0x14]
cmp byte [rbx + 0x12], 0
jne 0x14003ee6d
mov rcx, rbx
call fcn.140024fb0
mov r9, rdi
mov qword [rsp + 0x20], rsi
mov r8d, 4
mov edx, r13d
mov rcx, rbx
call fcn.140029310
cmp byte [rbx + 0x11], 0
mov ecx, eax
mov qword [rsp + 0x58], rcx
je 0x14003c95e
sub dword [rbx + 0x14], 1
jne 0x14003c95e
mov rcx, rbx
call fcn.140024f80
mov rdi, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x60]
jmp 0x14003c78f
mov rbx, qword [rsp + 0x38]
or r9d, 0xffffffff
mov rcx, rdi
mov byte [rsp + 0x20], 0
mov r8d, dword [rbx + 8]
mov edx, dword [rbx + 4]
call fcn.14003bbc0
mov rdi, rax
test rax, rax
je 0x140041be6
or dword [rax + 8], 1
lea r9, [rax + 0x10]
mov byte [rax + 2], 1
mov r8, r15
movzx ecx, word [rbx + 2]
xor edx, edx
or ecx, 5
mov dword [rsp + 0x28], 0x41e
mov dword [rsp + 0x20], ecx
mov rcx, qword [r15]
call fcn.140026e80
test eax, eax
jne 0x140042a1a
mov rcx, qword [rdi + 0x10]
mov edx, r13d
call fcn.140027f50
test eax, eax
jne 0x140042a1a
mov r15, qword [rbx + 0x10]
mov qword [rdi + 0x40], r15
test r15, r15
je 0x14003efb1
movzx esi, word [rbx + 2]
mov rbx, qword [rdi + 0x10]
or esi, 2
cmp byte [rbx + 0x11], al
je 0x14003ef56
inc dword [rbx + 0x14]
cmp byte [rbx + 0x12], al
jne 0x14003ef56
mov rcx, rbx
call fcn.140024fb0
mov r8d, esi
lea rdx, [rbp - 0x20]
mov rcx, rbx
call fcn.14002e990
cmp byte [rbx + 0x11], 0
mov qword [rsp + 0x58], rax
je 0x14003ef83
sub dword [rbx + 0x14], 1
jne 0x14003ef83
mov rcx, rbx
call fcn.140024f80
mov rax, qword [rsp + 0x58]
mov esi, 4
test eax, eax
jne 0x14003efab
mov rax, qword [rdi + 0x38]
mov r9, r15
mov edx, dword [rbp - 0x20]
mov r8d, esi
mov rcx, qword [rdi + 0x10]
mov qword [rsp + 0x20], rax
call fcn.140029410
mov dword [rsp + 0x58], eax
mov byte [rdi + 4], 0
jmp 0x14003f007
mov rbx, qword [rdi + 0x10]
mov rsi, qword [rdi + 0x38]
cmp byte [rbx + 0x11], 0
je 0x14003efd0
inc dword [rbx + 0x14]
cmp byte [rbx + 0x12], 0
jne 0x14003efd0
mov rcx, rbx
call fcn.140024fb0
mov qword [rsp + 0x20], rsi
xor r9d, r9d
mov esi, 4
mov edx, r13d
mov r8d, esi
mov rcx, rbx
call fcn.140029310
cmp byte [rbx + 0x11], 0
mov dword [rsp + 0x58], eax
je 0x14003f003
sub dword [rbx + 0x14], 1
jne 0x14003f003
mov rcx, rbx
call fcn.140024f80
mov byte [rdi + 4], 1
mov rax, qword [rsp + 0x58]
test eax, eax
jne 0x1400423ea
mov rax, qword [rsp + 0x38]
mov ecx, r12d
mov r15, qword [rsp + 0x68]
cmp word [rax + 2], 8
mov eax, dword [rdi + 8]
cmovne ecx, esi
mov rsi, qword [rsp + 0x60]
and eax, 0xfffffffb
or ecx, eax
mov dword [rdi + 8], ecx
mov rdi, qword [rsp + 0x40]
jmp 0x14003c78f
mov rax, qword [rsp + 0x38]
movsxd rcx, dword [rax + 4]
movsxd r14, dword [rax + 8]
test ecx, ecx
jle 0x14003f065
mov eax, dword [rdi + 0x28]
sub eax, ecx
cdqe
imul rbx, rax, 0x38
add rbx, qword [rdi + 0x70]
jmp 0x14003f069
mov rbx, qword [rdi + 0x70]
mov r12, qword [rsp + 0x40]
lea edi, [r14*8 + 0x80]
mov rsi, rcx
mov rax, qword [r12 + 0x98]
mov rdx, qword [rax + rcx*8]
test rdx, rdx
je 0x14003f0a2
mov rcx, r12
call fcn.140035ba0
mov rax, qword [r12 + 0x98]
mov qword [rax + rsi*8], 0
cmp dword [rbx + 0x20], edi
jge 0x14003f123
xor r8d, r8d
mov edx, edi
mov rcx, rbx
call fcn.140031d20
test eax, eax
je 0x14003f130
mov rdi, r12
mov r14d, dword [rsp + 0x34]
movzx ebx, byte [rsp + 0x30]
cmp byte [r15 + 0x55], 0
jne 0x14003f0f0
cmp byte [r15 + 0x56], 0
jne 0x14003f0f0
cmp dword [r15 + 0xb8], 0
mov byte [r15 + 0x55], 1
jle 0x14003f0e9
mov dword [r15 + 0x150], r13d
inc dword [r15 + 0x158]
lea rdx, str.out_of_memory
mov rcx, rdi
call fcn.140033510
mov r15, qword [rsp + 0x38]
lea r12, str.unknown_error
mov rsi, qword [rsp + 0x40]
lea r13, [0x140000000]
mov ecx, 7
mov eax, ecx
jmp 0x140042411
mov rax, qword [rbx + 0x18]
and word [rbx + 8], 0xd
mov qword [rbx + 0x10], rax
mov rax, qword [r12 + 0x98]
mov rdi, r12
mov r8, qword [rbx + 0x10]
mov qword [rax + rsi*8], r8
xor eax, eax
mov qword [r8], rax
mov qword [r8 + 8], rax
mov qword [r8 + 0x10], rax
mov qword [r8 + 0x18], rax
mov qword [r8 + 0x20], rax
mov qword [r8 + 0x28], rax
lea rax, [r14 + 0x1e]
lea rcx, [r8 + rax*4]
mov word [r8], 0xff01
mov qword [r8 + 0x60], rcx
mov rcx, qword [rsp + 0x38]
mov word [r8 + 0x50], r14w
mov rax, qword [rcx + 0x10]
mov qword [r8 + 0x40], rax
mov edx, dword [rcx + 0xc]
mov rcx, r15
call fcn.140044440
mov qword [rsp + 0x58], rax
test eax, eax
jne 0x140042a27
mov rsi, qword [rsp + 0x60]
xor r12d, r12d
jmp 0x14003c78f
mov rax, qword [rsp + 0x38]
mov r14, qword [rsp + 0x38]
movsxd rcx, dword [rax + 4]
mov rax, qword [rdi + 0x98]
mov rdx, qword [rax + rcx*8]
mov rcx, qword [rdx + 0x18]
lea rax, [rcx + 1]
mov qword [rdx + 0x18], rax
test rcx, rcx
je 0x14004228f
add r14, 0x18
mov r13d, 1
jmp 0x14003c054
mov rax, qword [rsp + 0x38]
movsxd rcx, dword [rax + 4]
movsxd r14, dword [rax + 0xc]
test ecx, ecx
jle 0x14003f204
mov eax, dword [rdi + 0x28]
sub eax, ecx
cdqe
imul rbx, rax, 0x38
add rbx, qword [rdi + 0x70]
jmp 0x14003f208
mov rbx, qword [rdi + 0x70]
mov r12, qword [rsp + 0x40]
lea edi, [r14*8 + 0x80]
mov rsi, rcx
mov rax, qword [r12 + 0x98]
mov rdx, qword [rax + rcx*8]
test rdx, rdx
je 0x14003f241
mov rcx, r12
call fcn.140035ba0
mov rax, qword [r12 + 0x98]
mov qword [rax + rsi*8], 0
cmp dword [rbx + 0x20], edi
jge 0x14003f25d
xor r8d, r8d
mov edx, edi
mov rcx, rbx
call fcn.140031d20
test eax, eax
jne 0x14003f0b8
jmp 0x14003f26a
mov rax, qword [rbx + 0x18]
and word [rbx + 8], 0xd
mov qword [rbx + 0x10], rax
mov rax, qword [r12 + 0x98]
mov rdi, r12
mov rdx, qword [rbx + 0x10]
mov qword [rax + rsi*8], rdx
xor eax, eax
mov rsi, qword [rsp + 0x60]
xor r12d, r12d
mov qword [rdx], rax
mov qword [rdx + 8], rax
mov qword [rdx + 0x10], rax
mov qword [rdx + 0x18], rax
mov qword [rdx + 0x20], rax
mov qword [rdx + 0x28], rax
lea rax, [r14 + 0x1e]
mov word [rdx], 0xff03
lea rcx, [rdx + rax*4]
mov rax, qword [rsp + 0x38]
mov word [rdx + 0x50], r14w
mov qword [rdx + 0x60], rcx
mov byte [rdx + 2], 1
mov eax, dword [rax + 8]
mov dword [rdx + 0x38], eax
mov byte [rdx + 4], 1
jmp 0x14003c78f
mov rdx, qword [rdi + 0x98]
mov rcx, rdi
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
mov rdx, qword [rdx + rax*8]
call fcn.140035ba0
mov rax, qword [rsp + 0x38]
movsxd rcx, dword [rax + 4]
mov rax, qword [rdi + 0x98]
mov qword [rax + rcx*8], r12
jmp 0x14003c78f
mov rax, qword [rsp + 0x38]
mov r15d, r12d
movsxd rcx, dword [rax + 4]
mov rax, qword [rdi + 0x98]
mov r14, qword [rax + rcx*8]
cmp byte [r14 + 4], 0
mov byte [r14 + 2], 0
je 0x14003f3f1
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 0xc]
imul rdi, rax, 0x38
add rdi, rsi
movzx eax, byte [rdi + 8]
and al, 0xe
cmp al, 2
jne 0x14003f34c
xor edx, edx
mov rcx, rdi
call fcn.14003bcf0
movzx eax, word [rdi + 8]
test al, 4
je 0x14003f359
mov rsi, qword [rdi]
jmp 0x14003f37f
test al, 8
je 0x14003f36b
movsd xmm0, qword [rdi]
call fcn.140032370
mov rsi, rax
jmp 0x14003f37f
test al, 0x12
je 0x14003f37c
mov rcx, rdi
call fcn.1400323b0
mov rsi, rax
jmp 0x14003f37f
mov rsi, r12
movzx eax, word [rdi + 8]
test al, 4
jne 0x14003f3bb
test al, 8
je 0x14004227b
movsd xmm0, qword [rdi]
xorps xmm1, xmm1
cvtsi2sd xmm1, rsi
comisd xmm1, xmm0
jbe 0x14003f3ae
test bl, 1
lea eax, [rbx - 1]
cmove eax, ebx
mov ebx, eax
jmp 0x14003f3bb
comisd xmm0, xmm1
jbe 0x14003f3bb
test bl, 1
jne 0x14003f3bb
inc ebx
mov rcx, qword [r14 + 0x38]
lea rax, [rsp + 0x70]
xor r9d, r9d
mov qword [rsp + 0x20], rax
mov r8, rsi
xor edx, edx
call fcn.14002a160
mov qword [rsp + 0x58], rax
mov qword [r14 + 0x58], rsi
test eax, eax
jne 0x1400423ea
mov rsi, qword [rsp + 0x60]
jmp 0x14003f47c
mov rax, qword [r14 + 0x38]
mov rcx, qword [rsp + 0x38]
movzx edi, byte [rax + 0x57]
mov rax, qword [r14 + 0x40]
and dil, 2
mov qword [rbp + 0x78], rax
movzx eax, word [rcx + 0x10]
setne r15b
mov word [rbp + 0x88], ax
test bl, 1
mov eax, r13d
mov byte [rbp + 0x8e], 0
cmovne eax, edx
xor r9d, r9d
mov byte [rbp + 0x8a], al
lea rdx, [rbp + 0x78]
movsxd rax, dword [rcx + 0xc]
xor r8d, r8d
imul rcx, rax, 0x38
lea rax, [rsp + 0x70]
add rcx, rsi
mov qword [rsp + 0x20], rax
mov qword [rbp + 0x80], rcx
mov rcx, qword [r14 + 0x38]
call fcn.14002a160
mov qword [rsp + 0x58], rax
test eax, eax
jne 0x1400423ea
test dil, dil
je 0x14003f47c
cmp byte [rbp + 0x8e], al
je 0x14003f5a5
mov byte [r14 + 3], 0
mov dword [r14 + 0x28], r12d
mov eax, dword [rsp + 0x70]
cmp ebx, 0x1a
jl 0x14003f51e
test eax, eax
js 0x14003f4a7
jne 0x14003f49d
cmp ebx, 0x1b
je 0x14003f4a7
mov dword [rsp + 0x70], r12d
jmp 0x14003f5b0
mov dword [rsp + 0x70], r12d
mov rcx, qword [r14 + 0x38]
and byte [rcx + 0x54], 0xf9
mov word [rcx + 0x36], r12w
mov dword [rsp + 0x70], r12d
cmp byte [rcx + 0x56], 1
je 0x14003f4d3
lea rdx, [rsp + 0x70]
call fcn.14002a710
jmp 0x14003f598
movsx rax, byte [rcx + 0x58]
mov rdx, qword [rcx + rax*8 + 0x90]
inc word [rcx + 0x5a]
movzx eax, word [rcx + 0x5a]
cmp ax, word [rdx + 0x16]
jb 0x14003f504
dec ax
lea rdx, [rsp + 0x70]
mov word [rcx + 0x5a], ax
call fcn.14002a710
jmp 0x14003f598
cmp byte [rdx + 8], 0
je 0x14003f517
mov ecx, r12d
mov qword [rsp + 0x58], rcx
jmp 0x14003f5a5
call fcn.140029f60
jmp 0x14003f598
test eax, eax
jg 0x14003f53d
jne 0x14003f529
cmp ebx, 0x18
je 0x14003f53d
mov rax, qword [r14 + 0x38]
mov ecx, r12d
cmp byte [rax + 0x56], 1
setne cl
mov dword [rsp + 0x70], ecx
jmp 0x14003f5a5
mov dword [rsp + 0x70], r12d
mov r8, qword [r14 + 0x38]
mov dword [rsp + 0x70], r12d
and byte [r8 + 0x54], 0xf1
cmp byte [r8 + 0x56], 1
mov word [r8 + 0x36], r12w
jne 0x14003f58b
movzx edx, word [r8 + 0x5a]
test dx, dx
je 0x14003f58b
movsx rax, byte [r8 + 0x58]
mov rcx, qword [r8 + rax*8 + 0x90]
cmp byte [rcx + 8], 0
je 0x14003f58b
dec dx
mov ecx, r12d
mov word [r8 + 0x5a], dx
mov qword [rsp + 0x58], rcx
jmp 0x14003f5a5
lea rdx, [rsp + 0x70]
mov rcx, r8
call fcn.14002a8c0
mov qword [rsp + 0x58], rax
test eax, eax
jne 0x1400423ea
cmp dword [rsp + 0x70], 0
jne 0x14004227b
mov r14, qword [rsp + 0x38]
mov rdi, qword [rsp + 0x40]
add r14, 0x18
test r15d, r15d
mov r15, qword [rsp + 0x68]
cmove r14, qword [rsp + 0x38]
jmp 0x14003c794
mov rax, qword [rsp + 0x38]
movsxd rcx, dword [rax + 4]
mov rax, qword [rdi + 0x98]
mov rsi, qword [rax + rcx*8]
mov rcx, qword [rsp + 0x38]
movsxd rax, dword [rcx + 0xc]
imul rbx, rax, 0x38
add rbx, qword [rsp + 0x60]
cmp dword [rcx + 0x10], 0
jle 0x14003f626
mov rax, qword [rsi + 0x40]
lea rdi, [rbp + 0x180]
mov qword [rbp + 0x180], rax
mov r14, r12
movzx eax, word [rcx + 0x10]
mov word [rbp + 0x190], ax
mov qword [rbp + 0x188], rbx
jmp 0x14003f671
mov eax, 0x4000
test word [rbx + 8], ax
je 0x14003f641
mov rcx, rbx
call fcn.140031f40
test eax, eax
jne 0x14003f0bb
mov rcx, qword [rsi + 0x40]
call fcn.140037840
mov rdi, rax
mov r14, rax
test rax, rax
je 0x140041be6
mov r8, qword [rbx + 0x10]
mov r9, rax
mov edx, dword [rbx + 0xc]
mov rcx, qword [rsi + 0x40]
call fcn.1400378a0
mov rcx, qword [rsp + 0x38]
mov byte [rdi + 0x12], 0
mov ebx, r12d
cmp byte [rcx], 0x1c
jne 0x14003f6a4
movzx edx, word [rdi + 0x10]
mov ecx, r12d
test edx, edx
je 0x14003f6a4
mov rax, qword [rdi + 8]
add rax, 8
test byte [rax], 1
jne 0x14003f6a1
inc ecx
add rax, 0x38
cmp ecx, edx
jl 0x14003f690
jmp 0x14003f6a4
mov ebx, r13d
mov rcx, qword [rsi + 0x38]
lea rax, [rbp - 0x3c]
xor r9d, r9d
mov qword [rsp + 0x20], rax
xor r8d, r8d
mov rdx, rdi
call fcn.14002a160
mov qword [rsp + 0x58], rax
test r14, r14
je 0x14003f6d9
mov rdx, r14
mov rcx, r15
call fcn.1400123d0
mov rax, qword [rsp + 0x58]
test eax, eax
jne 0x1400423ea
mov eax, dword [rbp - 0x3c]
mov ecx, r12d
mov r14, qword [rsp + 0x38]
mov rdi, qword [rsp + 0x40]
mov r9, qword [rsp + 0x48]
mov dword [rsi + 0x2c], eax
mov eax, r13d
cmp dword [rbp - 0x3c], 0
mov byte [rsi + 3], 0
sete cl
mov dword [rsi + 0x28], r12d
sub al, cl
mov byte [rsi + 2], al
cmp byte [r14], 0x1e
jne 0x14003f728
test ecx, ecx
jne 0x14004228f
mov rsi, qword [rsp + 0x60]
jmp 0x14003c799
test ebx, ebx
jne 0x14004228f
test ecx, ecx
je 0x14004228f
mov rsi, qword [rsp + 0x60]
jmp 0x14003c799
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 0xc]
imul rbx, rax, 0x38
add rbx, rsi
movzx eax, word [rbx + 8]
test al, 4
jne case.0x14003c092.32
test al, 8
jne 0x14003f774
test al, 2
je 0x14003f77c
mov edx, r13d
mov rcx, rbx
call fcn.14003bcf0
mov r9, qword [rsp + 0x48]
jmp 0x14003f77c
mov rcx, rbx
call fcn.140032410
test byte [rbx + 8], 4
je 0x14003dbb4
mov rbx, qword [rsp + 0x38]
xor r9d, r9d
mov rax, qword [rdi + 0x98]
xor edx, edx
movsxd rcx, dword [rbx + 4]
mov rdi, qword [rax + rcx*8]
movsxd rax, dword [rbx + 0xc]
imul rcx, rax, 0x38
mov r10, qword [rdi + 0x38]
lea rax, [rbp - 0x60]
mov dword [rbp - 0x60], r12d
mov qword [rsp + 0x20], rax
mov rbx, qword [rcx + rsi]
mov rcx, r10
mov r8, rbx
call fcn.14002a160
mov r14, qword [rsp + 0x38]
mov qword [rdi + 0x58], rbx
mov word [rdi + 2], 0
mov dword [rdi + 0x28], r12d
mov dword [rsp + 0x58], eax
mov eax, dword [rbp - 0x60]
mov dword [rdi + 0x2c], eax
cmp dword [rbp - 0x60], 0
je 0x14003f806
cmp dword [r14 + 8], 0
jne 0x140042285
mov ecx, 0x1425e
call fcn.14009db90
mov qword [rsp + 0x58], rax
jmp 0x14003f80b
mov rax, qword [rsp + 0x58]
test eax, eax
jne 0x1400423ea
mov rdi, qword [rsp + 0x40]
jmp 0x14003c794
mov rbx, qword [rsp + 0x38]
movsxd rax, dword [rbx + 8]
imul rdx, rax, 0x38
add rdx, qword [rdi + 0x70]
test word [rdx + 8], r11w
je 0x14003f852
mov rcx, rdx
call fcn.14003bf00
mov r9, qword [rsp + 0x48]
mov rdx, rax
mov r10d, dword [rsp + 0x34]
mov r11d, 0x2460
jmp 0x14003f85b
mov eax, 4
mov word [rdx + 8], ax
mov rax, qword [rdi + 0x98]
mov r14, rbx
movsxd rcx, dword [rbx + 4]
mov r13d, 1
mov rcx, qword [rax + rcx*8]
mov rax, qword [rcx + 0x18]
mov qword [rdx], rax
movsxd rcx, dword [rbx + 4]
mov rax, qword [rdi + 0x98]
mov rdx, qword [rax + rcx*8]
inc qword [rdx + 0x18]
add r14, 0x18
jmp 0x14003c054
mov rax, qword [rsp + 0x38]
mov rbx, r12
mov dword [rbp - 0x78], r12d
mov qword [rbp - 0x50], rbx
movsxd rax, dword [rax + 8]
imul r14, rax, 0x38
add r14, qword [rdi + 0x70]
test word [r14 + 8], r11w
je 0x14003f8c6
mov rcx, r14
call fcn.14003bf00
mov r14, rax
jmp 0x14003f8d0
mov eax, 4
mov word [r14 + 8], ax
mov rax, qword [rsp + 0x38]
movsxd rcx, dword [rax + 4]
mov rax, qword [rdi + 0x98]
mov rsi, qword [rax + rcx*8]
test byte [rsi + 8], 2
jne 0x14003f965
mov rbx, qword [rsi + 0x38]
cmp byte [rbx + 0x56], 1
jne 0x14003f904
test byte [rbx + 0x54], 8
je 0x14003f904
mov ecx, r12d
mov qword [rsp + 0x58], rcx
jmp 0x14003f958
mov rcx, rbx
call fcn.140029dc0
mov qword [rsp + 0x58], rax
test eax, eax
jne 0x1400423ea
cmp byte [rbx + 0x56], al
jne 0x14003f92c
mov dword [rbp - 0x78], r13d
mov rbx, rax
mov qword [rsp + 0x58], rax
jmp 0x14003f95e
mov rcx, rbx
mov dword [rbp - 0x78], r12d
call fcn.14002a050
mov qword [rsp + 0x58], rax
test eax, eax
jne 0x14003f94c
or byte [rbx + 0x54], 8
mov qword [rsp + 0x58], rax
jmp 0x14003f958
and byte [rbx + 0x54], 0xf7
test eax, eax
jne 0x1400423ea
cmp dword [rbp - 0x78], 0
je 0x14003f9b6
mov rbx, r13
mov qword [rbp - 0x50], rbx
movabs r13, 0x7fffffffffffffff
mov rax, qword [rsp + 0x38]
movsxd rdx, dword [rax + 0xc]
test edx, edx
je 0x14003fa18
mov rcx, qword [rdi + 0xf0]
test rcx, rcx
je 0x14003f9e8
mov rax, qword [rcx + 8]
test rax, rax
je 0x14003f9ac
nop word [rax + rax]
mov rcx, rax
mov rax, qword [rax + 8]
test rax, rax
jne 0x14003f9a0
imul rdi, rdx, 0x38
add rdi, qword [rcx + 0x20]
jmp 0x14003f9f1
mov rbx, qword [rsi + 0x38]
mov rcx, rbx
call fcn.140029630
mov rbx, qword [rbx + 0x20]
movabs r13, 0x7fffffffffffffff
mov qword [rbp - 0x50], rbx
cmp rbx, r13
jl 0x14003f9df
or dword [rsi + 8], 2
jmp 0x14003f96f
inc rbx
mov qword [rbp - 0x50], rbx
jmp 0x14003f96f
imul rdi, rdx, 0x38
add rdi, qword [rsp + 0x60]
mov rcx, rdi
call fcn.140032460
mov rax, qword [rdi]
cmp rax, r13
je 0x14003fa7a
test byte [rsi + 8], 2
jne 0x14003fa7a
inc rax
cmp rbx, rax
cmovl rbx, rax
mov qword [rbp - 0x50], rbx
mov qword [rdi], rbx
test byte [rsi + 8], 2
je 0x14003fa84
mov edi, r12d
lea rdx, [rbp - 0x50]
mov ecx, 8
call fcn.140014890
mov rbx, qword [rbp - 0x50]
movabs rax, 0x3fffffffffffffff
mov rcx, qword [rsi + 0x38]
and rbx, rax
inc rbx
lea rax, [rbp - 0x78]
mov r8, rbx
mov qword [rbp - 0x50], rbx
xor r9d, r9d
mov qword [rsp + 0x20], rax
xor edx, edx
call fcn.14002a160
mov qword [rsp + 0x58], rax
test eax, eax
jne 0x1400423ea
cmp dword [rbp - 0x78], eax
jne 0x14003fa84
inc edi
cmp edi, 0x64
jl 0x14003fa21
mov eax, reloc.WS2_32.dll_listen
jmp 0x1400423ea
mov rdi, qword [rsp + 0x40]
mov byte [rsi + 3], 0
mov dword [rsi + 0x28], r12d
mov rsi, qword [rsp + 0x60]
mov qword [r14], rbx
jmp 0x14003c78f
mov rcx, qword [rsp + 0x38]
mov esi, r12d
mov rdx, qword [rsp + 0x60]
movsxd rax, dword [rcx + 8]
movsxd rcx, dword [rcx + 4]
imul r10, rax, 0x38
mov rax, qword [rdi + 0x98]
add r10, rdx
mov rdi, qword [rax + rcx*8]
mov rax, qword [rsp + 0x38]
cmp bl, 0x76
jne 0x14003fae2
movsxd rax, dword [rax + 0xc]
imul rcx, rax, 0x38
mov rax, qword [rsp + 0x38]
mov rdx, qword [rcx + rdx]
jmp 0x14003fae6
movsxd rdx, dword [rax + 0xc]
cmp byte [rax + 1], 0xf1
mov qword [rbp + 0xb8], rdx
jne 0x14003fb2a
cmp qword [r15 + 0x118], 0
je 0x14003fb2a
mov rax, qword [r15 + 0x20]
mov esi, send
movsx rcx, byte [rdi + 1]
shl rcx, 5
mov rbx, qword [rcx + rax]
mov ecx, reloc.WS2_32.dll_socket
mov rax, qword [rsp + 0x38]
test byte [rax + 2], 4
mov r14, qword [rax + 0x10]
cmovne esi, ecx
jmp 0x14003fb30
mov r14, r12
mov rbx, r12
test byte [rax + 2], 1
je 0x14003fb3e
mov rcx, qword [rsp + 0x40]
inc dword [rcx + 0x3c]
test byte [rax + 2], 0x20
je 0x14003fb48
mov qword [r15 + 0x30], rdx
movzx ecx, word [r10 + 8]
test cl, 1
je 0x14003fb62
mov qword [rbp + 0xc0], r12
mov dword [rbp + 0xd4], r12d
jmp 0x14003fb7c
mov rax, qword [r10 + 0x10]
mov qword [rbp + 0xc0], rax
mov eax, dword [r10 + 0xc]
mov dword [rbp + 0xd4], eax
mov rax, qword [rsp + 0x38]
movzx r8d, word [rax + 2]
test r8b, 0x10
je 0x14003fb8d
mov r9d, dword [rdi + 0x2c]
jmp 0x14003fb90
mov r9d, r12d
mov eax, 0x4000
test ax, cx
je 0x14003fba5
mov eax, dword [r10]
mov dword [rbp + 0xd8], eax
jmp 0x14003fbac
mov dword [rbp + 0xd8], r12d
mov rcx, qword [rdi + 0x38]
lea rdx, [rbp + 0xb0]
and r8d, 0xa
mov qword [rbp + 0xb0], r12
call fcn.14002e1f0
mov qword [rsp + 0x58], rax
mov byte [rdi + 3], 0
mov dword [rdi + 0x28], r12d
test eax, eax
jne 0x1400423ea
mov r10, qword [r15 + 0x118]
test r10, r10
je 0x14003c95e
test esi, esi
je 0x14003c95e
mov rax, qword [rbp + 0xb8]
mov r8, rbx
mov r9, qword [r14]
mov edx, esi
mov rcx, qword [r15 + 0x110]
mov qword [rsp + 0x20], rax
call r10
mov rdi, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x60]
jmp 0x14003c78f
mov rax, qword [rsp + 0x38]
mov rdx, qword [rsp + 0x38]
movsxd rcx, dword [rax + 4]
cmp byte [rdx + 1], 0xf1
mov r15d, dword [rax + 8]
mov rax, qword [rdi + 0x98]
mov rdi, qword [rax + rcx*8]
jne 0x14003fc8f
mov rax, qword [rsp + 0x68]
cmp qword [rax + 0x118], 0
je 0x14003fc8f
movsx rcx, byte [rdi + 1]
mov rax, qword [rax + 0x20]
mov rsi, qword [rdx + 0x10]
shl rcx, 5
test byte [rdx + 2], 2
mov r14, qword [rcx + rax]
je 0x14003fc95
cmp byte [rdi + 4], 0
je 0x14003fc95
mov rbx, qword [rdi + 0x38]
mov rcx, rbx
call fcn.140029630
mov rax, qword [rbx + 0x20]
mov rdx, qword [rsp + 0x38]
mov qword [rdi + 0x58], rax
jmp 0x14003fc95
mov r14, r12
mov rsi, r12
movzx edx, byte [rdx + 2]
mov rcx, qword [rdi + 0x38]
call fcn.14002e5c0
mov qword [rsp + 0x58], rax
mov qword [rdi + 0x28], 0
test eax, eax
jne 0x1400423ea
test r15b, 1
mov r15, qword [rsp + 0x68]
je 0x14003c95e
mov rax, qword [rsp + 0x40]
inc dword [rax + 0x3c]
mov r10, qword [r15 + 0x118]
test r10, r10
je 0x1400422cc
test byte [rsi + 0x40], 0x20
jne 0x1400422cc
mov rax, qword [rdi + 0x58]
mov r8, r14
mov r9, qword [rsi]
mov edx, 9
mov rcx, qword [r15 + 0x110]
mov qword [rsp + 0x20], rax
call r10
mov rdi, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x60]
jmp 0x14003c78f
mov eax, dword [rdi + 0x3c]
mov r13d, 1
add dword [r15 + 0x6c], eax
mov dword [r15 + 0x68], eax
add r14, 0x18
mov dword [rdi + 0x3c], r12d
jmp 0x14003c054
mov rbx, qword [rsp + 0x38]
lea r9, [rbp - 0x38]
mov rax, qword [rdi + 0x98]
mov dword [rbp - 0x38], r12d
movsxd rcx, dword [rbx + 4]
mov r8d, dword [rbx + 0x10]
mov rcx, qword [rax + rcx*8]
movsxd rax, dword [rbx + 0xc]
imul rdx, rax, 0x38
add rdx, rsi
call fcn.140046cc0
mov qword [rsp + 0x58], rax
test eax, eax
jne 0x140042a1a
mov r14, rbx
mov r9, qword [rsp + 0x48]
cmp dword [rbp - 0x38], eax
jne 0x14004228f
jmp 0x14003c799
mov rcx, qword [rsp + 0x38]
movsxd rax, dword [rcx + 8]
movsxd rcx, dword [rcx + 4]
imul rdx, rax, 0x38
mov rax, qword [rdi + 0x98]
add rdx, rsi
mov rcx, qword [rax + rcx*8]
call fcn.140046bf0
mov qword [rsp + 0x58], rax
test eax, eax
jne 0x1400423ea
mov rax, qword [rsp + 0x38]
movsxd rcx, dword [rax + 0xc]
mov rax, qword [rdi + 0x98]
mov rcx, qword [rax + rcx*8]
mov dword [rcx + 0x28], r12d
jmp 0x14003c78f
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 8]
imul rbx, rax, 0x38
add rbx, qword [rdi + 0x70]
test word [rbx + 8], r11w
je 0x14003fdf9
mov rcx, rbx
call fcn.14003bf00
mov rbx, rax
jmp 0x14003fe02
mov eax, 4
mov word [rbx + 8], ax
mov rax, qword [rsp + 0x38]
movsxd rcx, dword [rax + 4]
mov rax, qword [rdi + 0x98]
mov rcx, qword [rax + rcx*8]
mov rdi, qword [rcx + 0x38]
mov rcx, rdi
call fcn.140029630
mov r8d, dword [rdi + 0x30]
cmp r8d, dword [r15 + 0x70]
ja 0x1400426e6
movsx rax, byte [rdi + 0x58]
mov dword [rsp + 0x58], r12d
mov rcx, qword [rdi + rax*8 + 0x90]
movzx eax, word [rdi + 0x34]
mov edx, dword [rcx + 0x58]
sub edx, dword [rdi + 0x28]
cmp eax, edx
cmovb edx, eax
cmp r8d, edx
ja 0x14003fe6d
mov rax, qword [rdi + 0x28]
mov qword [rbx + 0x10], rax
mov eax, 0x1010
mov word [rbx + 8], ax
mov dword [rbx + 0xc], r8d
jmp 0x14003fe87
mov r9, rbx
xor edx, edx
mov rcx, rdi
call fcn.140032c50
mov qword [rsp + 0x58], rax
test eax, eax
jne 0x1400423ea
mov r14, qword [rsp + 0x38]
cmp dword [r14 + 0xc], 0
jne 0x14003d915
mov eax, 0x1000
test word [rbx + 8], ax
je 0x14003d915
mov rcx, rbx
call fcn.140031eb0
mov rdi, qword [rsp + 0x40]
test eax, eax
jne 0x14003f0bb
jmp 0x14003c794
mov rbx, qword [rsp + 0x38]
movsxd rax, dword [rbx + 8]
imul rdi, rax, 0x38
mov rax, qword [rsp + 0x40]
add rdi, qword [rax + 0x70]
test word [rdi + 8], r11w
je 0x14003feff
mov rcx, rdi
call fcn.14003bf00
mov r9, qword [rsp + 0x48]
mov rdi, rax
mov rax, qword [rsp + 0x40]
mov r11d, 0x2460
mov r10d, dword [rsp + 0x34]
jmp 0x14003ff08
mov ecx, 4
mov word [rdi + 8], cx
movsxd rcx, dword [rbx + 4]
mov rax, qword [rax + 0x98]
mov rbx, qword [rax + rcx*8]
cmp byte [rbx + 2], 0
je 0x14003ff3b
mov r14, qword [rsp + 0x38]
mov word [rdi + 8], r13w
add r14, 0x18
mov rdi, qword [rsp + 0x40]
mov r13d, 1
jmp 0x14003c054
cmp byte [rbx + 3], 0
je 0x14003ff56
mov rax, qword [rbx + 0x58]
mov qword [rbp - 0x10], rax
mov qword [rdi], rax
mov rdi, qword [rsp + 0x40]
jmp 0x14003c78f
cmp byte [rbx], 2
jne 0x14003ff9b
mov rcx, qword [rbx + 0x38]
lea rdx, [rbp - 0x10]
mov rbx, qword [rcx]
mov rax, qword [rbx]
call qword [rax + 0x60]
mov rcx, qword [rsp + 0x40]
mov rdx, rbx
mov dword [rsp + 0x58], eax
call fcn.140038da0
mov rax, qword [rsp + 0x58]
test eax, eax
jne 0x1400423ea
mov rax, qword [rbp - 0x10]
mov qword [rdi], rax
mov rdi, qword [rsp + 0x40]
jmp 0x14003c78f
mov rax, qword [rbx + 0x38]
cmp byte [rax + 0x56], 1
je 0x14003ffbc
mov rcx, rbx
call fcn.1400374a0
mov qword [rsp + 0x58], rax
test eax, eax
jne 0x1400423ea
jmp 0x14003ffc4
mov ecx, r12d
mov qword [rsp + 0x58], rcx
cmp byte [rbx + 2], 0
je 0x14003ffd9
mov word [rdi + 8], r13w
mov rdi, qword [rsp + 0x40]
jmp 0x14003c78f
mov rbx, qword [rbx + 0x38]
mov rcx, rbx
call fcn.140029630
mov rax, qword [rbx + 0x20]
mov qword [rbp - 0x10], rax
mov qword [rdi], rax
mov rdi, qword [rsp + 0x40]
jmp 0x14003c78f
mov rax, qword [rsp + 0x38]
movsxd rcx, dword [rax + 4]
mov rax, qword [rdi + 0x98]
mov rbx, qword [rax + rcx*8]
cmp byte [rbx], 0
mov byte [rbx + 2], 1
mov dword [rbx + 0x28], r12d
jne 0x14003c2fd
mov rbx, qword [rbx + 0x38]
mov rcx, qword [rbx + 0x40]
call fcn.140012310
mov qword [rbx + 0x40], r12
mov byte [rbx + 0x56], 0
jmp 0x14003c78f
mov rax, qword [rsp + 0x38]
mov esi, r12d
mov r14, qword [rsp + 0x38]
movsxd rcx, dword [rax + 4]
mov rax, qword [rdi + 0x98]
mov rdi, qword [rax + rcx*8]
mov rax, qword [rsp + 0x38]
mov rbx, qword [rdi + 0x38]
mov eax, dword [rax + 0xc]
mov dword [rdi + 0x2c], eax
cmp dword [r14 + 0xc], 0
je 0x140040075
cmp byte [rbx + 0x56], 1
je 0x14003d0f8
cmp byte [rbx + 0x56], 1
jne 0x14004008b
test byte [rbx + 0x54], 8
je 0x14004008b
mov eax, r12d
mov qword [rsp + 0x58], rax
jmp 0x1400400d1
mov rcx, rbx
call fcn.140029dc0
mov qword [rsp + 0x58], rax
test eax, eax
jne 0x1400400c1
cmp byte [rbx + 0x56], al
jne 0x1400400a6
mov esi, r13d
jmp 0x1400400c1
mov rcx, rbx
call fcn.14002a050
mov qword [rsp + 0x58], rax
test eax, eax
jne 0x1400400bd
or byte [rbx + 0x54], 8
jmp 0x1400400c1
and byte [rbx + 0x54], 0xf7
mov r9, qword [rsp + 0x48]
mov r11d, 0x2460
mov r10d, dword [rsp + 0x34]
mov byte [rdi + 2], sil
mov byte [rdi + 3], 0
mov dword [rdi + 0x28], r12d
test eax, eax
jne 0x14003d29e
mov rdi, qword [rsp + 0x40]
cmp dword [r14 + 8], eax
jle 0x14003d0fd
test esi, esi
jne 0x14004228f
mov rsi, qword [rsp + 0x60]
lea r13d, [rax + 1]
add r14, 0x18
jmp 0x14003c054
mov rax, qword [rsp + 0x38]
movsxd rcx, dword [rax + 4]
mov rax, qword [rdi + 0x98]
mov rcx, qword [rax + rcx*8]
mov rbx, qword [rcx + 0x38]
mov rcx, rbx
call fcn.140029dc0
mov qword [rsp + 0x58], rax
test eax, eax
jne 0x140040165
cmp byte [rbx + 0x56], al
jne 0x14004014f
mov r14, qword [rsp + 0x38]
mov dword [rbp - 0x5c], r13d
mov qword [rsp + 0x58], rax
jmp 0x14004228a
mov rcx, rbx
mov dword [rbp - 0x5c], r12d
mov r14d, r12d
call fcn.140029f60
mov qword [rsp + 0x58], rax
jmp 0x140040169
mov r14d, dword [rbp - 0x5c]
test eax, eax
jne 0x1400423ea
test r14d, r14d
jne 0x14003dba5
cmp byte [rbx + 0x56], 1
jne 0x14003c78f
movsx rdx, byte [rbx + 0x58]
mov rcx, qword [rbx + rdx*8 + 0x90]
cmp byte [rcx + 8], r14b
je 0x14003c78f
movsx r9d, dl
mov r8, r13
xor dl, dl
test r9d, r9d
js 0x1400401d6
nop dword [rax]
movzx eax, dl
inc dl
mov rcx, qword [rbx + rax*8 + 0x90]
movzx eax, word [rcx + 0x16]
imul r8, rax
movzx eax, dl
cmp eax, r9d
jle 0x1400401b0
test r8, r8
js 0x14003c78f
mov rcx, r8
call fcn.140016650
mov r14, qword [rsp + 0x38]
movsx ecx, ax
cmp ecx, dword [r14 + 0xc]
jge 0x14003c794
mov dword [rbp - 0x5c], r13d
jmp 0x14004228a
inc dword [rdi + 0xd4]
mov rax, qword [rsp + 0x38]
mov r14d, r13d
movsxd rcx, dword [rax + 4]
mov rax, qword [rdi + 0x98]
mov r15, qword [rax + rcx*8]
cmp byte [r15], 1
jne 0x1400402ca
mov rsi, qword [r15 + 0x38]
mov dword [rsp + 0x58], r12d
cmp byte [rsi + 0x58], 0
jne 0x140040254
cmp qword [rsi + 0x38], 0
lea rdx, [rsi + 0x38]
je 0x14004024a
lea rcx, [rsi + 0x60]
mov r14d, r12d
call fcn.140044ed0
mov dword [rsp + 0x58], eax
mov rsi, qword [rsp + 0x60]
jmp 0x1400402fc
mov rcx, rsi
call fcn.140045710
movzx ebx, byte [rsi + 0x5b]
mov r12d, eax
sub ebx, 1
mov qword [rsp + 0x58], r12
js 0x1400402a2
movsxd rax, ebx
lea rdi, [rsi + 0x60]
imul rcx, rax, 0x68
add rdi, rcx
nop dword [rax + rax]
mov rcx, rdi
call fcn.140044710
test r12d, r12d
cmove r12d, eax
sub rdi, 0x68
sub ebx, 1
jns 0x140040280
mov rdi, qword [rsp + 0x40]
mov qword [rsp + 0x58], r12
test r12d, r12d
jne 0x1400402c0
mov rcx, rsi
call fcn.140046850
mov rsi, qword [rsp + 0x60]
xor r12d, r12d
mov r14d, r12d
mov dword [rsp + 0x58], eax
jmp 0x1400402fc
mov rsi, qword [rsp + 0x60]
xor r12d, r12d
jmp 0x1400402fc
mov rbx, qword [r15 + 0x38]
mov rcx, rbx
call fcn.140029dc0
mov qword [rsp + 0x58], rax
test eax, eax
jne 0x1400402f3
cmp byte [rbx + 0x56], al
je 0x1400402f3
mov rcx, rbx
mov r14d, r12d
call fcn.140029f60
mov dword [rsp + 0x58], eax
mov byte [r15 + 3], 0
mov dword [r15 + 0x28], r12d
mov rax, qword [rsp + 0x58]
test eax, eax
jne 0x1400423ea
mov r9, qword [rsp + 0x48]
test r14d, r14d
mov byte [r15 + 2], r14b
mov r15, qword [rsp + 0x68]
mov r14, qword [rsp + 0x38]
jne 0x14004228f
jmp 0x14003c799
mov rax, qword [rsp + 0x38]
lea r8, [rbp - 0x6c]
movsxd rcx, dword [rax + 4]
mov rax, qword [rdi + 0x98]
mov rbx, qword [rax + rcx*8]
mov rcx, r15
mov rdx, rbx
mov dword [rbp - 0x6c], r12d
call fcn.140046af0
jmp 0x14004039d
mov rax, qword [rsp + 0x38]
movsxd rcx, dword [rax + 4]
mov rax, qword [rdi + 0x98]
cmp qword [rax + rcx*8], 0
je 0x14003c2fd
mov rax, qword [rsp + 0x38]
lea rdx, [rbp - 0x6c]
movsxd rcx, dword [rax + 4]
mov rax, qword [rdi + 0x98]
mov rbx, qword [rax + rcx*8]
mov rax, qword [rsp + 0x38]
mov eax, dword [rax + 0xc]
mov dword [rbp - 0x6c], eax
mov rax, qword [rsp + 0x38]
mov rcx, qword [rbx + 0x38]
call qword [rax + reloc.WS2_32.dll_recv]
mov qword [rsp + 0x58], rax
mov dword [rbx + 0x28], r12d
test eax, eax
jne 0x1400423ea
mov r11d, 0x2460
mov r9, qword [rsp + 0x48]
cmp dword [rbp - 0x6c], eax
jne 0x1400403d6
mov byte [rbx + 2], al
mov rax, qword [rsp + 0x38]
movzx eax, word [rax + 2]
inc dword [rdi + rax*4 + 0xcc]
jmp case.0x14003c092.13
mov byte [rbx + 2], 1
jmp 0x140040d1b
mov rax, qword [rsp + 0x38]
movsxd rcx, dword [rax + 4]
mov rax, qword [rdi + 0x98]
mov rdi, qword [rax + rcx*8]
mov rcx, qword [rsp + 0x38]
movsxd rax, dword [rcx + 8]
imul rbx, rax, 0x38
add rbx, rsi
test byte [rcx + 2], 1
je 0x140040411
mov rax, qword [rsp + 0x40]
inc dword [rax + 0x3c]
mov eax, 0x4000
test word [rbx + 8], ax
je 0x140040431
mov rcx, rbx
call fcn.140031f40
test eax, eax
jne 0x1400423ea
mov rcx, qword [rsp + 0x38]
cmp byte [rcx], 0x7f
jne 0x140040443
mov rdx, rbx
mov rcx, rdi
call fcn.140045850
jmp 0x1400404a7
movsxd rax, dword [rbx + 0xc]
mov qword [rbp + 0x1a0], rax
mov rax, qword [rbx + 0x10]
mov qword [rbp + 0x198], rax
movsxd rax, dword [rcx + 0xc]
imul rcx, rax, 0x38
add rcx, rsi
mov qword [rbp + 0x1b0], rcx
mov rcx, qword [rsp + 0x38]
movzx r8d, word [rcx + 2]
movzx eax, word [rcx + 0x10]
mov word [rbp + 0x1b8], ax
test r8b, 0x10
je 0x14004048c
mov r9d, dword [rdi + 0x2c]
jmp 0x14004048f
mov r9d, r12d
mov rcx, qword [rdi + 0x38]
lea rdx, [rbp + 0x198]
and r8d, 0xa
call fcn.14002e1f0
mov dword [rdi + 0x28], r12d
mov qword [rsp + 0x58], rax
test eax, eax
jne 0x1400423ea
mov rdi, qword [rsp + 0x40]
jmp 0x14003c78f
mov rax, qword [rsp + 0x38]
lea rdx, [rbp + 0x118]
xor r9d, r9d
xor r8d, r8d
movsxd rcx, dword [rax + 4]
mov rax, qword [rdi + 0x98]
mov rbx, qword [rax + rcx*8]
mov rcx, qword [rsp + 0x38]
mov rax, qword [rbx + 0x40]
mov rdi, qword [rbx + 0x38]
mov qword [rbp + 0x118], rax
movzx eax, word [rcx + 0xc]
mov word [rbp + 0x128], ax
movsxd rax, dword [rcx + 8]
imul rcx, rax, 0x38
lea rax, [rbp - 0x14]
mov byte [rbp + 0x12a], 0
add rcx, rsi
mov qword [rsp + 0x20], rax
mov qword [rbp + 0x120], rcx
mov rcx, rdi
call fcn.14002a160
mov qword [rsp + 0x58], rax
test eax, eax
jne 0x1400423ea
cmp dword [rbp - 0x14], eax
jne 0x140040551
mov dl, 4
mov rcx, rdi
call fcn.14002e5c0
mov qword [rsp + 0x58], rax
test eax, eax
jne 0x1400423ea
mov rdi, qword [rsp + 0x40]
mov qword [rbx + 0x28], 0
jmp 0x14003c78f
mov rax, qword [rsp + 0x38]
movsxd rcx, dword [rax + 4]
mov rax, qword [rdi + 0x98]
mov rbx, qword [rax + rcx*8]
mov rax, qword [rbx + 0x38]
cmp byte [rax + 0x56], 1
je 0x1400405a8
mov rcx, rbx
call fcn.1400374a0
mov qword [rsp + 0x58], rax
test eax, eax
jne 0x1400423ea
mov r9, qword [rsp + 0x48]
mov r11d, 0x2460
mov r10d, dword [rsp + 0x34]
jmp 0x1400405b0
mov ecx, r12d
mov qword [rsp + 0x58], rcx
cmp byte [rbx + 2], 0
jne 0x14004067e
mov rdx, qword [rbx + 0x38]
lea r8, [rbp - 8]
mov rcx, r15
mov qword [rbp - 8], r12
call fcn.140038a60
mov qword [rsp + 0x58], rax
test eax, eax
jne 0x1400423ea
mov rax, qword [rsp + 0x38]
mov r11d, 0x2460
cmp byte [rax], 0x82
jne 0x140040628
movsxd rcx, dword [rax + 0xc]
mov rax, qword [rdi + 0x98]
mov r14, qword [rsp + 0x38]
mov r9, qword [rsp + 0x48]
mov rdx, qword [rax + rcx*8]
mov rax, qword [rbp - 8]
mov qword [rdx + 0x58], rax
mov rax, qword [rsp + 0x38]
mov word [rdx + 2], 0x100
mov rax, qword [rax + 0x10]
mov qword [rdx + 0x20], rax
mov qword [rdx + 0x30], rbx
jmp 0x14003c79f
movsxd rax, dword [rax + 8]
imul rcx, rax, 0x38
add rcx, qword [rdi + 0x70]
test word [rcx + 8], r11w
je 0x14004065f
call fcn.14003bf00
mov r14, qword [rsp + 0x38]
mov rcx, rax
mov rax, qword [rbp - 8]
mov r11d, 0x2460
mov r9, qword [rsp + 0x48]
mov qword [rcx], rax
jmp 0x14003c79f
mov r14, qword [rsp + 0x38]
mov eax, 4
mov r9, qword [rsp + 0x48]
mov word [rcx + 8], ax
mov rax, qword [rbp - 8]
mov qword [rcx], rax
jmp 0x14003c79f
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 8]
imul rcx, rax, 0x38
add rcx, rsi
test word [rcx + 8], r11w
je 0x14004069f
call fcn.140032230
jmp 0x14003c78f
mov word [rcx + 8], r13w
jmp 0x14003c35e
mov rax, qword [rsp + 0x38]
lea r9, [rbp - 0x74]
cmp bl, 0x28
mov dword [rbp - 0x74], r12d
lea r8, [rbp + 0x130]
movsxd rcx, dword [rax + 4]
mov rax, qword [rdi + 0x98]
mov rdx, qword [rax + rcx*8]
mov rcx, qword [rsp + 0x38]
mov rax, qword [rdx + 0x40]
mov qword [rbp + 0x130], rax
movzx eax, word [rcx + 0x10]
mov word [rbp + 0x140], ax
sbb al, al
mov byte [rbp + 0x142], al
movsxd rax, dword [rcx + 0xc]
imul rcx, rax, 0x38
add rcx, rsi
mov qword [rbp + 0x138], rcx
mov rcx, r15
call fcn.140038c70
mov dword [rsp + 0x58], eax
mov rax, qword [rsp + 0x38]
test byte [rax], 1
mov eax, dword [rbp - 0x74]
jne 0x140040721
neg eax
jmp 0x140040723
inc eax
mov rcx, qword [rsp + 0x58]
mov dword [rbp - 0x74], eax
test ecx, ecx
jne 0x14004266e
mov r14, qword [rsp + 0x38]
mov r9, qword [rsp + 0x48]
test eax, eax
jg 0x14004228f
jmp 0x14003c799
mov rcx, qword [rsp + 0x38]
movsxd rax, dword [rcx + 8]
imul rdi, rax, 0x38
mov rax, qword [rsp + 0x40]
add rdi, qword [rax + 0x70]
test word [rdi + 8], r11w
je 0x140040779
mov rcx, rdi
call fcn.14003bf00
mov rcx, qword [rsp + 0x38]
mov rdi, rax
jmp 0x140040782
mov eax, 4
mov word [rdi + 8], ax
mov word [rdi + 8], r13w
mov eax, dword [r15 + 0xbc]
inc eax
cmp dword [r15 + 0xb0], eax
jg 0x14004260c
movsxd r15, dword [rcx + 0xc]
mov esi, dword [rcx + 4]
mov r14, r15
shl r14, 5
mov dword [rbp - 0x34], r12d
mov r12, qword [rsp + 0x68]
mov rax, qword [r12 + 0x20]
mov rbx, qword [r14 + rax + 8]
cmp byte [rbx + 0x11], 0
je 0x1400407d5
inc dword [rbx + 0x14]
cmp byte [rbx + 0x12], 0
jne 0x1400407d5
mov rcx, rbx
call fcn.140024fb0
lea r8, [rbp - 0x34]
mov edx, esi
mov rcx, rbx
call fcn.14002f0b0
cmp byte [rbx + 0x11], 0
mov dword [rsp + 0x58], eax
je 0x1400407fb
sub dword [rbx + 0x14], 1
jne 0x1400407fb
mov rcx, rbx
call fcn.140024f80
movsxd rdx, dword [rbp - 0x34]
mov eax, 4
mov word [rdi + 8], ax
mov rax, qword [rsp + 0x58]
mov qword [rdi], rdx
test eax, eax
jne 0x1400423ea
test edx, edx
je 0x140040880
mov rax, qword [rsp + 0x38]
mov r9, qword [r12 + 0x20]
mov r8d, dword [rax + 4]
mov rax, qword [r14 + r9 + 0x18]
mov rcx, qword [rax + 0x10]
test rcx, rcx
je 0x140040855
nop dword [rax + rax]
mov rax, qword [rcx + 0x10]
cmp dword [rax + 0x38], edx
jne 0x14004084d
mov dword [rax + 0x38], r8d
mov rcx, qword [rcx]
test rcx, rcx
jne 0x140040840
mov rax, qword [r14 + r9 + 0x18]
mov rcx, qword [rax + 0x28]
test rcx, rcx
je 0x140040878
mov rax, qword [rcx + 0x10]
cmp dword [rax + 0x58], edx
jne 0x140040870
mov dword [rax + 0x58], r8d
mov rcx, qword [rcx]
test rcx, rcx
jne 0x140040863
lea eax, [r15 + 1]
mov byte [rsp + 0x30], al
mov rdi, qword [rsp + 0x40]
mov r15, r12
mov rsi, qword [rsp + 0x60]
xor r12d, r12d
jmp 0x14003c78f
mov rax, qword [rsp + 0x38]
lea r8, [rbp - 0x30]
mov rcx, qword [r15 + 0x20]
mov rdx, qword [rsp + 0x38]
mov dword [rbp - 0x30], r12d
cmp dword [rax + 0xc], 0
movsxd rax, dword [rax + 8]
mov edx, dword [rdx + 4]
cmove r8, r12
shl rax, 5
mov rcx, qword [rax + rcx + 8]
call fcn.14002efd0
mov r14, qword [rsp + 0x38]
mov qword [rsp + 0x58], rax
cmp dword [r14 + 0xc], 0
je 0x1400408f5
movsxd rdx, dword [rbp - 0x30]
add dword [rdi + 0x3c], edx
movsxd rax, dword [r14 + 0xc]
test eax, eax
jle 0x1400408f0
imul rcx, rax, 0x38
add qword [rcx + rsi], rdx
mov rax, qword [rsp + 0x58]
test eax, eax
jne 0x1400423ea
jmp 0x14003c794
mov rax, qword [rsp + 0x38]
movsxd rcx, dword [rax + 4]
mov rax, qword [rdi + 0x98]
mov rcx, qword [rax + rcx*8]
cmp byte [rcx], 1
jne 0x14004092c
mov rdx, qword [rcx + 0x38]
mov rcx, r15
call fcn.140044a00
jmp 0x14003c78f
mov rcx, qword [rcx + 0x38]
xor r8d, r8d
mov edx, dword [rcx + 0x48]
mov rcx, qword [rcx]
call fcn.14002efd0
mov qword [rsp + 0x58], rax
test eax, eax
jne 0x1400423ea
jmp 0x14003c78f
mov rbx, qword [rsp + 0x38]
movsxd rax, dword [rbx + 8]
imul rdi, rax, 0x38
mov rax, qword [rsp + 0x40]
add rdi, qword [rax + 0x70]
test word [rdi + 8], r11w
je 0x14004097a
mov rcx, rdi
call fcn.14003bf00
mov rdi, rax
jmp 0x140040983
mov eax, 4
mov word [rdi + 8], ax
movsxd rax, dword [rbx + 4]
mov esi, r12d
shl rax, 5
add rax, qword [r15 + 0x20]
cmp byte [rbx], 0x89
mov dword [rbp - 0x2c], r12d
setne sil
mov rbx, qword [rax + 8]
cmp byte [rbx + 0x11], 0
je 0x1400409b8
inc dword [rbx + 0x14]
cmp byte [rbx + 0x12], 0
jne 0x1400409b8
mov rcx, rbx
call fcn.140024fb0
lea r8d, [rsi + 1]
mov rcx, rbx
lea rdx, [rbp - 0x2c]
call fcn.14002e990
cmp byte [rbx + 0x11], 0
mov qword [rsp + 0x58], rax
je 0x1400409e6
sub dword [rbx + 0x14], 1
jne 0x1400409e6
mov rcx, rbx
call fcn.140024f80
mov rax, qword [rsp + 0x58]
test eax, eax
jne 0x1400423ea
movsxd rax, dword [rbp - 0x2c]
mov rsi, qword [rsp + 0x60]
mov qword [rdi], rax
mov rdi, qword [rsp + 0x40]
jmp 0x14003c78f
mov rax, qword [rsp + 0x38]
xor r9d, r9d
inc byte [r15 + 0x5e]
xor r8d, r8d
mov rcx, r15
mov qword [rsp + 0x20], r12
mov rdx, qword [rax + 0x10]
call fcn.14006dd10
dec byte [r15 + 0x5e]
mov qword [rsp + 0x58], rax
test eax, eax
jne 0x1400423ea
jmp 0x14003c78f
mov rbx, qword [rsp + 0x38]
lea rax, [rdi + 0x90]
mov r8, qword [r15 + 0x20]
lea r9, str.sqlite_master
mov qword [rbp + 0xa0], rax
mov qword [rbp + 0x98], r15
movsxd rcx, dword [rbx + 4]
mov rax, qword [rbx + 0x10]
mov rdx, rcx
shl rdx, 5
mov dword [rbp + 0xa8], ecx
mov rcx, r15
mov qword [rsp + 0x20], rax
mov r8, qword [rdx + r8]
lea rdx, str.SELECT_name__rootpage__sql_FROM__q._s_WHERE__s_ORDER_BY_rowid
call fcn.140014570
mov rbx, rax
test rax, rax
je 0x140042622
lea r9, [rbp + 0x98]
mov byte [r15 + 0xa9], 1
lea r8, [fcn.140073540]
mov dword [rbp + 0xac], r12d
mov rdx, rax
mov qword [rsp + 0x20], r12
mov rcx, r15
call fcn.14006dd10
test eax, eax
mov rdx, rbx
mov rcx, r15
cmove eax, dword [rbp + 0xac]
mov qword [rsp + 0x58], rax
call fcn.1400123d0
mov rcx, qword [rsp + 0x58]
mov byte [r15 + 0xa9], 0
test ecx, ecx
jne 0x14004262b
jmp 0x14003c78f
mov rax, qword [rsp + 0x38]
mov rcx, r15
mov edx, dword [rax + 4]
call fcn.140056390
mov qword [rsp + 0x58], rax
test eax, eax
jne 0x1400423ea
jmp 0x14003c78f
mov rax, qword [rsp + 0x38]
mov rcx, r15
mov r8, qword [rax + 0x10]
mov edx, dword [rax + 4]
call fcn.140058d00
jmp 0x14003c78f
mov rax, qword [rsp + 0x38]
mov rcx, r15
mov r8, qword [rax + 0x10]
mov edx, dword [rax + 4]
call fcn.140058580
jmp 0x14003c78f
mov rax, qword [rsp + 0x38]
mov rcx, r15
mov r8, qword [rax + 0x10]
mov edx, dword [rax + 4]
call fcn.140082800
jmp 0x14003c78f
mov rcx, qword [rsp + 0x38]
lea rdx, [rbp - 0x18]
mov qword [rsp + 0x20], rdx
mov rdx, qword [rsp + 0x38]
movsxd rax, dword [rcx + 0xc]
imul rdi, rax, 0x38
movsxd rax, dword [rcx + 4]
mov r8d, dword [rdx + 8]
add rdi, rsi
mov rdx, qword [rdx + 0x10]
imul rbx, rax, 0x38
movzx eax, word [rcx + 2]
mov rcx, qword [r15 + 0x20]
add rbx, rsi
mov r9d, dword [rdi]
shl rax, 5
inc r9d
mov rcx, qword [rax + rcx + 8]
call fcn.140030230
mov rsi, rax
mov eax, 0x2460
test word [rbx + 8], ax
je 0x140040bca
mov rcx, rbx
call fcn.140032230
jmp 0x140040bcf
mov word [rbx + 8], r13w
mov eax, dword [rbp - 0x18]
test eax, eax
je 0x140040c05
test rsi, rsi
je 0x140041be6
dec eax
mov r9b, 1
movsxd rcx, eax
or r8d, 0xffffffff
sub qword [rdi], rcx
lea rax, [fcn.140012310]
mov rcx, rbx
mov qword [rsp + 0x20], rax
mov rdx, rsi
call fcn.1400329f0
test byte [rbx + 8], 2
movzx ecx, byte [rsp + 0x50]
je 0x14003c95e
movzx eax, byte [rbx + 0xa]
cmp eax, ecx
je 0x14003c95e
movzx edx, cl
mov rcx, rbx
call fcn.140014cb0
mov rdi, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x60]
jmp 0x14003c78f
mov rcx, qword [rsp + 0x38]
movsxd rax, dword [rcx + 4]
imul rbx, rax, 0x38
movsxd rax, dword [rcx + 8]
add rbx, rsi
imul rdi, rax, 0x38
test byte [rbx + 8], 0x20
jne 0x140040c6a
mov rcx, rbx
call fcn.140032790
test byte [rbx + 8], 0x20
je 0x140041be6
mov rdx, qword [rdi + rsi]
mov rcx, qword [rbx]
call fcn.14001c740
mov rdi, qword [rsp + 0x40]
jmp 0x14003c78f
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
imul rdi, rax, 0x38
add rdi, rsi
test byte [rdi + 8], 0x20
je 0x140040d8e
mov rbx, qword [rdi]
movzx eax, word [rbx + 0x32]
test al, 2
jne 0x140040cc6
test al, 1
jne 0x140040cc1
mov rcx, qword [rbx + 0x10]
call fcn.14001c7f0
mov r9, qword [rsp + 0x48]
mov r11d, 0x2460
mov qword [rbx + 0x10], rax
or word [rbx + 0x32], 3
mov rax, qword [rbx + 0x10]
test rax, rax
je 0x140040d8e
mov rdi, qword [rax]
mov rax, qword [rax + 8]
mov qword [rbx + 0x10], rax
test rax, rax
jne 0x140040cf1
mov rcx, rbx
call fcn.14001c6a0
mov r11d, 0x2460
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 0xc]
imul rcx, rax, 0x38
add rcx, rsi
test word [rcx + 8], r11w
je 0x140040d80
mov rdx, rdi
call fcn.1400326d0
mov r11d, 0x2460
mov r9, qword [rsp + 0x48]
mov eax, dword [r15 + 0x150]
test eax, eax
jne 0x1400429ac
mov r8, qword [r15 + 0x1a0]
mov r10d, dword [rsp + 0x34]
test r8, r8
je 0x14003d0f3
cmp r10d, dword [rbp - 0x68]
jb 0x14003d0f3
mov ecx, dword [r15 + 0x1b0]
xor edx, edx
mov eax, r10d
div ecx
sub ecx, edx
add ecx, r10d
mov dword [rbp - 0x68], ecx
mov rcx, qword [r15 + 0x1a8]
call r8
test eax, eax
jne 0x14004272d
mov rdi, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x60]
jmp 0x14003c78f
mov eax, 4
mov qword [rcx], rdi
mov word [rcx + 8], ax
jmp 0x140040d16
test word [rdi + 8], r11w
je 0x140040da2
mov rcx, rdi
call fcn.140032230
jmp 0x140041ea4
mov word [rdi + 8], r13w
jmp case.0x14003c092.13
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, rsi
imul rsi, rax, 0x38
add rsi, qword [rsp + 0x60]
test byte [rbx + 8], 0x20
jne 0x140040de4
mov rcx, rbx
call fcn.140032790
test byte [rbx + 8], 0x20
je 0x140041be6
test edi, edi
je 0x140040dff
mov r8, qword [rsi]
mov edx, edi
mov rcx, qword [rbx]
call fcn.14001cb30
test eax, eax
jne 0x140042280
test edi, edi
js 0x14003c95e
mov rdx, qword [rsi]
mov rcx, qword [rbx]
call fcn.14001c740
mov rdi, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x60]
jmp 0x14003c78f
mov rcx, qword [rsp + 0x38]
movsxd rax, dword [rcx + 0xc]
mov r14, qword [rcx + 0x10]
imul rsi, rax, 0x38
add rsi, qword [rsp + 0x60]
cmp word [rcx + 2], 0
je 0x140040e63
mov rax, qword [rdi + 0xf0]
mov rcx, qword [r14 + 0x20]
test rax, rax
je 0x140040e63
nop dword [rax]
cmp qword [rax + 0x38], rcx
je 0x1400422b3
mov rax, qword [rax + 8]
test rax, rax
jne 0x140040e50
mov eax, dword [r15 + 0x98]
cmp dword [rdi + 0x100], eax
jge 0x14004265a
test byte [rsi + 8], 0x40
jne 0x140040f93
mov edx, dword [r14 + 0x10]
mov ecx, dword [r14 + 0xc]
add ecx, edx
test edx, edx
lea ebx, [rcx + 1]
cmovne ebx, ecx
lea eax, [rbx + 2]
imul ecx, eax, 7
mov eax, dword [r14 + 8]
add ecx, edx
add eax, 7
jns 0x140040ea6
add eax, 7
sar eax, 3
lea eax, [rax + rcx*8]
mov rcx, r15
movsxd rdx, eax
call fcn.140012670
mov rdi, rax
test rax, rax
je 0x140041be6
mov eax, 0x2460
test word [rsi + 8], ax
jne 0x140040ed4
cmp dword [rsi + 0x20], 0
je 0x140040edc
mov rcx, rsi
call fcn.1400322c0
mov r8, qword [rsp + 0x40]
mov eax, 0x40
mov rcx, qword [rsp + 0x38]
sub rcx, qword [rsp + 0x48]
mov word [rsi + 8], ax
mov qword [rsi], rdi
mov qword [rdi], r8
mov dword [rdi + 0x60], ebx
mov eax, dword [r14 + 0x10]
mov dword [rdi + 0x64], eax
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov dword [rdi + 0x54], edx
mov rax, qword [r8 + 0x70]
mov qword [rdi + 0x20], rax
mov eax, dword [r8 + 0x28]
mov dword [rdi + 0x5c], eax
mov rax, qword [r8 + 0x98]
mov qword [rdi + 0x28], rax
mov eax, dword [r8 + 0x2c]
mov dword [rdi + 0x50], eax
mov rax, qword [r8 + 0x68]
mov qword [rdi + 0x10], rax
mov eax, dword [r8 + 0xb8]
mov dword [rdi + 0x58], eax
mov rax, qword [r14 + 0x20]
mov qword [rdi + 0x38], rax
movsxd rax, ebx
add rax, 2
imul rcx, rax, 0x38
lea rax, [rdi + 0x70]
add rcx, rdi
cmp rax, rcx
je 0x140040f9b
mov edx, pe_nt_image_headers64
nop dword [rax]
mov word [rax + 8], dx
mov qword [rax + 0x28], r15
add rax, 0x38
cmp rax, rcx
jne 0x140040f80
jmp 0x140040f9b
mov rdi, qword [rsi]
mov r8, qword [rsp + 0x40]
inc dword [r8 + 0x100]
lea rsi, [rdi + 0x70]
mov rax, qword [r8 + 0xf0]
mov qword [rdi + 8], rax
mov rax, qword [r15 + 0x30]
mov qword [rdi + 0x40], rax
mov eax, dword [r8 + 0x3c]
mov dword [rdi + 0x68], eax
mov rax, qword [r8]
mov qword [rsp + 0x60], rsi
mov ecx, dword [rax + 0x68]
mov dword [rdi + 0x6c], ecx
mov rax, qword [r8 + 0x110]
mov qword [rdi + 0x48], rax
mov qword [r8 + 0x110], r12
mov dword [r8 + 0x3c], r12d
mov qword [r8 + 0xf0], rdi
mov qword [r8 + 0x70], rsi
movsxd rcx, dword [rdi + 0x60]
mov dword [r8 + 0x28], ecx
movzx eax, word [rdi + 0x64]
mov dword [r8 + 0x2c], eax
imul rdx, rcx, 0x38
add rdx, rsi
mov qword [r8 + 0x98], rdx
movsxd rax, dword [r14 + 0x10]
lea rcx, [rdx + rax*8]
mov qword [rdi + 0x30], rcx
mov eax, dword [r14 + 8]
add eax, 7
cdq
and edx, 7
add eax, edx
xor edx, edx
sar eax, 3
movsxd r8, eax
call fcn.1400a3240
mov r9, qword [r14]
mov rdi, qword [rsp + 0x40]
mov qword [rsp + 0x48], r9
mov qword [rdi + 0x68], r9
mov eax, dword [r14 + 8]
lea r14, [r9 - 0x18]
mov dword [rdi + 0xb8], eax
jmp 0x14003c799
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 8]
imul r9, rax, 0x38
add r9, qword [rdi + 0x70]
test word [r9 + 8], r11w
je 0x14004107c
mov rcx, r9
call fcn.14003bf00
mov r9, rax
jmp 0x140041086
mov eax, 4
mov word [r9 + 8], ax
mov r8, qword [rdi + 0xf0]
movsxd rax, dword [r8 + 0x54]
lea rcx, [rax + rax*2]
mov rax, qword [r8 + 0x10]
mov edx, dword [rax + rcx*8 + 4]
mov rcx, r9
mov rax, qword [rsp + 0x38]
add edx, dword [rax + 4]
movsxd rax, edx
imul rdx, rax, 0x38
add rdx, qword [r8 + 0x20]
mov r8d, 0x1000
jmp 0x14003c78a
test dword [r15 + 0x2c], 0x2000000
mov rax, qword [rsp + 0x38]
je 0x1400410dd
movsxd rax, dword [rax + 8]
add qword [r15 + 0x290], rax
jmp 0x14003c35e
cmp dword [rax + 4], 0
movsxd rax, dword [rax + 8]
mov r14, qword [rsp + 0x38]
je 0x140041102
add qword [r15 + 0x288], rax
mov r13d, 1
add r14, 0x18
jmp 0x14003c054
add qword [rdi + 0x50], rax
mov r13d, 1
add r14, 0x18
jmp 0x14003c054
cmp dword [r14 + 4], 0
je 0x140041147
cmp qword [r15 + 0x288], 0
jne case.0x14003c092.96
cmp qword [r15 + 0x290], 0
je 0x14004228f
add r14, 0x18
mov r13d, 1
jmp 0x14003c054
cmp qword [rdi + 0x50], 0
jne case.0x14003c092.96
cmp qword [r15 + 0x290], 0
je 0x14004228f
add r14, 0x18
mov r13d, 1
jmp 0x14003c054
mov rcx, qword [rdi + 0xf0]
test rcx, rcx
je 0x1400411a3
mov rax, qword [rcx + 8]
test rax, rax
je 0x140041190
mov rcx, rax
mov rax, qword [rax + 8]
test rax, rax
jne 0x140041184
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
imul rdi, rax, 0x38
add rdi, qword [rcx + 0x20]
jmp 0x1400411b3
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
imul rdi, rax, 0x38
add rdi, rsi
mov rcx, rdi
call fcn.140032460
mov rcx, qword [rsp + 0x38]
movsxd rax, dword [rcx + 8]
imul rbx, rax, 0x38
add rbx, rsi
mov rcx, rbx
call fcn.140032460
mov rax, qword [rbx]
mov r11d, 0x2460
mov r14, qword [rsp + 0x38]
mov r9, qword [rsp + 0x48]
mov r10d, dword [rsp + 0x34]
cmp qword [rdi], rax
jge 0x14003eb3c
mov qword [rdi], rax
add r14, 0x18
mov rdi, qword [rsp + 0x40]
mov r13d, 1
jmp 0x14003c054
mov rax, qword [rsp + 0x38]
mov r14, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
imul rcx, rax, 0x38
mov rdx, qword [rcx + rsi]
test rdx, rdx
jle case.0x14003c092.96
mov rax, r14
movsxd rax, dword [rax + 0xc]
sub rdx, rax
mov qword [rcx + rsi], rdx
jmp 0x14004228f
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 rcx, rax, 0x38
mov rax, qword [rsp + 0x40]
add rcx, qword [rax + 0x70]
test word [rcx + 8], r11w
je 0x140041284
call fcn.14003bf00
mov r9, qword [rsp + 0x48]
mov rcx, rax
mov r10d, dword [rsp + 0x34]
mov r11d, 0x2460
jmp 0x14004128d
mov eax, 4
mov word [rcx + 8], ax
mov r8, qword [rbx + rsi]
test r8, r8
jle 0x1400412d6
mov rax, qword [rdi + rsi]
mov rdx, r12
test rax, rax
cmovg rdx, rax
movabs rax, 0x7fffffffffffffff
sub rax, r8
cmp rax, rdx
jl 0x1400412d6
mov r14, qword [rsp + 0x38]
lea rax, [r8 + rdx]
mov rdi, qword [rsp + 0x40]
add r14, 0x18
mov qword [rcx], rax
mov r13d, 1
jmp 0x14003c054
mov r14, qword [rsp + 0x38]
mov r13d, 1
mov rdi, qword [rsp + 0x40]
add r14, 0x18
mov qword [rcx], 0xffffffffffffffff
jmp 0x14003c054
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
imul rcx, rax, 0x38
mov rax, qword [rcx + rsi]
test rax, rax
je 0x14003c2fd
mov r14, qword [rsp + 0x38]
jle 0x14004228f
dec rax
mov qword [rcx + rsi], rax
jmp 0x14004228f
mov rax, qword [rsp + 0x38]
movabs rdx, 0x8000000000000000
movsxd rax, dword [rax + 4]
imul rcx, rax, 0x38
mov rax, qword [rcx + rsi]
cmp rax, rdx
jle 0x14004134e
dec rax
mov qword [rcx + rsi], rax
cmp qword [rcx + rsi], 0
mov r14, qword [rsp + 0x38]
je 0x14004228f
add r14, 0x18
mov r13d, 1
jmp 0x14003c054
mov rax, qword [rsp + 0x38]
mov rcx, r15
movzx ebx, word [rax + 2]
lea eax, [rbx - 1]
movsxd rdx, eax
lea rdx, [rdx*8 + 0x38]
call fcn.140012710
mov r8, rax
test rax, rax
je 0x14003f0bb
mov qword [rax + 0x10], r12
mov rax, qword [rsp + 0x38]
mov rcx, qword [rax + 0x10]
mov qword [r8 + 8], rcx
mov rcx, rax
sub rcx, qword [rsp + 0x48]
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
mov qword [r8 + 0x18], rdi
sar rdx, 2
mov rax, rdx
mov byte [r8 + 0x2a], bl
shr rax, 0x3f
add rdx, rax
mov rax, qword [rsp + 0x38]
mov dword [r8 + 0x20], edx
mov word [rax], 0xf097
mov qword [rax + 0x10], r8
jmp 0x1400413ed
mov rax, qword [rsp + 0x38]
mov rbx, qword [rax + 0x10]
movsxd rax, dword [rax + 0xc]
imul r10, rax, 0x38
add r10, rsi
cmp qword [rbx + 0x10], r10
je 0x140041444
movzx edx, byte [rbx + 0x2a]
sub edx, 1
mov qword [rbx + 0x10], r10
movsxd r8, edx
js 0x140041444
mov r15, qword [rsp + 0x38]
lea r9, [r8 + 6]
lea r9, [rbx + r9*8]
nop
mov eax, dword [r15 + 8]
lea r9, [r9 - 8]
add eax, edx
dec edx
cdqe
imul rcx, rax, 0x38
add rcx, rsi
sub r8, 1
mov qword [r9 + 8], rcx
jns 0x140041420
mov r15, qword [rsp + 0x68]
inc dword [r10 + 0xc]
lea rax, [rbp + 0xe0]
mov word [rbp + 0xe8], r13w
lea r8, [rbx + 0x30]
mov qword [rbp + 0x108], r15
mov rcx, rbx
mov dword [rbp + 0x100], r12d
movzx edx, byte [rbx + 0x2a]
mov qword [rbx], rax
mov rax, qword [rbx + 8]
mov word [rbx + 0x28], 0
call qword [rax + 0x18]
cmp byte [rbx + 0x29], 0
je 0x14004151c
cmp dword [rbx + 0x24], 0
je 0x1400414ec
movzx eax, word [rbp + 0xe8]
mov ecx, 0x202
and ax, cx
cmp ax, cx
jne 0x1400414b6
cmp byte [rbp + 0xea], 1
jne 0x1400414b6
mov rax, qword [rbp + 0xf0]
jmp 0x1400414d2
test byte [rbp + 0xe8], 1
je 0x1400414c4
mov rax, r12
jmp 0x1400414d2
mov dl, 1
lea rcx, [rbp + 0xe0]
call fcn.140032d10
mov r8, rax
lea rdx, [0x1400cc9c4]
mov rcx, rdi
call fcn.140033510
mov eax, dword [rbx + 0x24]
mov qword [rsp + 0x58], rax
mov eax, 0x2460
test word [rbp + 0xe8], ax
jne 0x140041503
cmp dword [rbp + 0x100], 0
je 0x14004150f
lea rcx, [rbp + 0xe0]
call fcn.1400322c0
mov rax, qword [rsp + 0x58]
test eax, eax
jne 0x1400423ea
cmp byte [rbx + 0x28], 0
je 0x14003c78f
mov rax, qword [rsp + 0x38]
mov r11d, 0x2460
movsxd rax, dword [rax - 0x14]
test eax, eax
je 0x14003c6a7
imul rcx, rax, 0x38
add rcx, rsi
test word [rcx + 8], r11w
je 0x140041558
mov rdx, r13
call fcn.1400326d0
jmp 0x14003c78f
mov r14, qword [rsp + 0x38]
mov eax, 4
mov r9, qword [rsp + 0x48]
mov word [rcx + 8], ax
mov qword [rcx], r13
jmp 0x14003c79f
mov rcx, qword [rsp + 0x38]
movsxd rax, dword [rcx + 4]
mov rdx, qword [rcx + 0x10]
imul rbx, rax, 0x38
add rbx, rsi
mov rcx, rbx
call fcn.140032110
mov qword [rsp + 0x58], rax
test eax, eax
jne 0x140042678
test byte [rbx + 8], 2
movzx ecx, byte [rsp + 0x50]
je 0x1400415ba
movzx eax, byte [rbx + 0xa]
cmp eax, ecx
je 0x1400415ba
movzx edx, cl
mov rcx, rbx
call fcn.140014cb0
movzx eax, word [rbx + 8]
test al, 0x12
je 0x14003c78f
mov edx, dword [rbx + 0xc]
mov ecx, 0x4000
test cx, ax
je 0x1400415d5
add edx, dword [rbx]
mov rax, qword [rbx + 0x28]
mov ecx, r12d
cmp edx, dword [rax + 0x70]
setg cl
test ecx, ecx
jne 0x1400426eb
jmp 0x14003c78f
mov rbx, qword [rsp + 0x38]
lea rax, [rbp + 0x1d0]
lea r9, [rbp + 0x1cc]
mov dword [rbp + 0x1c8], r12d
mov rcx, r15
mov qword [rbp + 0x1cc], 0xffffffffffffffff
mov qword [rsp + 0x20], rax
mov r8d, dword [rbx + 8]
mov edx, dword [rbx + 4]
call fcn.14009c480
mov qword [rsp + 0x58], rax
test eax, eax
je 0x140041646
cmp eax, 5
jne 0x140042a1a
mov dword [rsp + 0x58], r12d
mov dword [rbp + 0x1c8], r13d
movsxd rax, dword [rbx + 0xc]
mov rdi, r12
imul rbx, rax, 0x38
mov r11d, 0x2460
mov r15d, 4
add rbx, rsi
movsxd rax, dword [rbp + rdi*4 + 0x1c8]
test word [rbx + 8], r11w
je 0x140041682
mov rdx, rax
mov rcx, rbx
call fcn.1400326d0
mov r11d, 0x2460
jmp 0x14004168a
mov qword [rbx], rax
mov word [rbx + 8], r15w
inc rdi
add rbx, 0x38
cmp rdi, 3
jl 0x140041660
mov r15, qword [rsp + 0x68]
mov rdi, qword [rsp + 0x40]
mov r14, qword [rsp + 0x38]
mov r9, qword [rsp + 0x48]
jmp 0x14003c79f
mov rbx, qword [rsp + 0x38]
movsxd rax, dword [rbx + 8]
imul r15, rax, 0x38
add r15, qword [rdi + 0x70]
test word [r15 + 8], r11w
je 0x1400416d5
mov rcx, r15
call fcn.14003bf00
mov r15, rax
jmp 0x1400416df
mov eax, 4
mov word [r15 + 8], ax
mov edx, dword [rbx + 0xc]
mov r8, qword [rsp + 0x68]
movsxd rcx, dword [rbx + 4]
shl rcx, 5
cmp edx, 0xffffffff
mov rax, qword [r8 + 0x20]
mov r14, qword [rcx + rax + 8]
mov rax, qword [r14 + 8]
mov rdi, qword [rax]
movzx esi, byte [rdi + 9]
cmove edx, esi
cmp byte [rdi + 0x15], 3
jb 0x140041714
mov eax, r12d
jmp 0x14004172b
mov rax, qword [rdi + 0x50]
cmp qword [rax], 0
je 0x140041728
cmp qword [rdi + 0x60], 0
mov eax, r12d
jg 0x14004172b
mov eax, r13d
test eax, eax
lea rcx, [0x1400cbfe0]
mov ebx, esi
cmovne ebx, edx
cmp byte [rdi + 0x14], 0
jne 0x140041746
mov rcx, qword [rdi + 0xd0]
cmp ebx, 5
jne 0x140041794
test rcx, rcx
je 0x1400417e0
or rax, 0xffffffffffffffff
nop dword [rax + rax]
inc rax
cmp byte [rcx + rax], 0
jne 0x140041760
and eax, 0x3fffffff
je 0x1400417e0
cmp byte [rdi + 0x12], 0
mov rax, qword [rdi + 0x48]
mov rcx, qword [rax]
jne 0x1400417e0
cmp byte [rdi + 8], 0
jne 0x14004178f
cmp dword [rcx], 2
jl 0x1400417e0
cmp qword [rcx + 0x68], 0
je 0x1400417e0
mov ebx, 5
cmp ebx, esi
je 0x1400417e2
cmp esi, 5
je 0x1400417a2
cmp ebx, 5
jne 0x1400417e2
cmp byte [r8 + 0x53], 0
je 0x14004269c
cmp dword [r8 + 0xb0], 1
jg 0x14004269c
cmp esi, 5
jne 0x14004180a
mov rdx, r8
mov rcx, rdi
call fcn.140022140
mov qword [rsp + 0x58], rax
test eax, eax
jne 0x1400417e9
mov edx, ebx
mov rcx, rdi
call fcn.140021e50
jmp 0x140041823
mov ebx, esi
mov rax, qword [rsp + 0x58]
test eax, eax
cmove esi, ebx
mov rcx, rdi
mov edx, esi
call fcn.140021e50
mov ecx, 0xa02
mov word [r15 + 8], cx
cmp eax, 6
jne 0x14004183d
mov rcx, r12
jmp 0x14004184e
cmp esi, 4
jne 0x14004181a
lea edx, [rsi - 2]
mov rcx, rdi
call fcn.140021e50
mov rax, qword [rsp + 0x58]
test eax, eax
jne 0x1400417e9
mov edx, r12d
cmp ebx, 5
mov rcx, r14
sete dl
inc edx
call fcn.1400309b0
mov qword [rsp + 0x58], rax
jmp 0x1400417e7
cdqe
lea rcx, [0x140000000]
mov rcx, qword [rcx + rax*8 + 0xc8420]
mov qword [r15 + 0x10], rcx
test rcx, rcx
jne 0x14004185c
mov eax, r12d
jmp 0x14004186e
or rax, 0xffffffffffffffff
inc rax
cmp byte [rcx + rax], 0
jne 0x140041860
and eax, 0x3fffffff
mov dword [r15 + 0xc], eax
movzx eax, byte [rsp + 0x50]
mov byte [r15 + 0xa], 1
cmp eax, 1
je 0x14004188c
movzx edx, al
mov rcx, r15
call fcn.140014cb0
mov rax, qword [rsp + 0x58]
test eax, eax
jne 0x1400423ea
mov r15, qword [rsp + 0x68]
mov rdi, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x60]
jmp 0x14003c78f
mov rax, qword [rsp + 0x38]
lea rcx, [rdi + 0x90]
mov rdx, r15
mov r8d, dword [rax + 4]
call fcn.1400860a0
mov qword [rsp + 0x58], rax
test eax, eax
jne 0x1400423ea
jmp 0x14003c78f
mov rax, qword [rsp + 0x38]
movsxd rcx, dword [rax + 4]
mov rax, qword [r15 + 0x20]
shl rcx, 5
mov rcx, qword [rcx + rax + 8]
call fcn.140028a10
mov qword [rsp + 0x58], rax
test eax, eax
je 0x14003c78f
cmp eax, 0x65
jne 0x1400423ea
mov r14, qword [rsp + 0x38]
mov dword [rsp + 0x58], r12d
jmp 0x14004228a
cmp dword [r14 + 4], 0
jne 0x14004194d
mov rax, qword [r15 + 8]
test rax, rax
je case.0x14003c092.96
nop dword [rax + rax]
or dword [rax + 0xc0], 1
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x140041930
add r14, 0x18
lea r13d, [rax + 1]
jmp 0x14003c054
or dword [rdi + 0xc0], 1
mov r13d, 1
add r14, 0x18
jmp 0x14003c054
movzx r8d, byte [r14 + 0xc]
test r8b, r8b
jne 0x14004197c
mov eax, 0x4000
test dword [r15 + 0x2c], eax
jne case.0x14003c092.96
movsxd rax, dword [r14 + 4]
mov rcx, qword [r15 + 0x20]
mov edx, dword [r14 + 8]
shl rax, 5
mov rcx, qword [rax + rcx + 8]
call fcn.140030810
mov qword [rsp + 0x58], rax
test eax, eax
je 0x14003c794
mov r15, qword [rsp + 0x38]
cmp al, 6
jne 0x14003d2a1
mov r8, qword [r15 + 0x10]
lea rdx, str.database_table_is_locked:__s
mov rcx, rdi
call fcn.140033510
mov rax, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x40]
jmp 0x1400423f4
mov rax, qword [rsp + 0x38]
mov rcx, r15
mov rbx, qword [rax + 0x10]
mov rdx, rbx
call fcn.140087c00
mov qword [rsp + 0x58], rax
test rbx, rbx
je 0x140041a01
mov rdx, qword [rbx + 0x10]
mov rcx, rdi
call fcn.140038da0
mov rax, qword [rsp + 0x58]
test eax, eax
jne 0x1400423ea
jmp 0x14003c78f
xor eax, eax
mov qword [rbp + 0x68], r15
mov qword [rbp + 0x40], rax
lea rcx, [rbp + 0x40]
mov qword [rbp + 0x48], rax
mov qword [rbp + 0x50], rax
mov qword [rbp + 0x58], rax
mov qword [rbp + 0x60], rax
mov qword [rbp + 0x70], rax
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 8]
imul rdx, rax, 0x38
add rdx, rsi
call fcn.140032950
mov rcx, qword [rbp + 0x48]
mov edx, 0x202
mov dword [rsp + 0x58], eax
movzx eax, cx
and ax, dx
cmp ax, dx
jne 0x140041a69
cmp byte [rbp + 0x4a], 1
jne 0x140041a69
mov rax, qword [rbp + 0x50]
jmp 0x140041a7d
test cl, 1
jne 0x140041aa4
mov dl, 1
lea rcx, [rbp + 0x40]
call fcn.140032d10
mov rcx, qword [rbp + 0x48]
test rax, rax
je 0x140041aa4
mov r8, rax
lea r9, [rdi + 0x90]
mov rax, qword [rsp + 0x38]
mov rcx, r15
mov edx, dword [rax + 4]
call fcn.1400875d0
mov rcx, qword [rbp + 0x48]
mov dword [rsp + 0x58], eax
mov r11d, 0x2460
test r11w, cx
jne 0x140041ab6
cmp dword [rbp + 0x60], 0
je 0x140041ac5
lea rcx, [rbp + 0x40]
call fcn.1400322c0
mov r11d, 0x2460
mov rax, qword [rsp + 0x58]
test eax, eax
jne 0x1400423ea
mov r14, qword [rsp + 0x38]
mov r9, qword [rsp + 0x48]
jmp 0x14003c79f
mov rax, qword [rsp + 0x38]
mov rcx, r15
inc dword [r15 + 0xbc]
mov r8, qword [rax + 0x10]
mov edx, dword [rax + 4]
call fcn.140087940
dec dword [r15 + 0xbc]
mov qword [rsp + 0x58], rax
test eax, eax
jne 0x1400423ea
jmp 0x14003c78f
mov rbx, qword [rsp + 0x38]
mov qword [rbp - 0x28], r12
mov rax, qword [rbx + 0x10]
mov rdi, qword [rax + 0x10]
test rdi, rdi
je 0x1400426d1
mov rsi, qword [rdi]
test rsi, rsi
je 0x1400426d1
lea rdx, [rbp - 0x28]
mov rcx, rdi
call qword [rsi + 0x30]
mov rcx, qword [rsp + 0x40]
mov rdx, rdi
mov dword [rsp + 0x58], eax
call fcn.140038da0
mov rax, qword [rsp + 0x58]
test eax, eax
jne 0x140042a1a
mov rax, qword [rbp - 0x28]
mov r8, qword [rsp + 0x40]
mov qword [rax], rdi
movsxd rcx, dword [rbx + 4]
test ecx, ecx
jle 0x140041b89
mov eax, dword [r8 + 0x28]
sub eax, ecx
cdqe
imul rbx, rax, 0x38
add rbx, qword [r8 + 0x70]
jmp 0x140041b8d
mov rbx, qword [r8 + 0x70]
mov rax, qword [r8 + 0x98]
mov r14, rcx
mov rdx, qword [rax + rcx*8]
test rdx, rdx
je 0x140041bbf
mov rcx, r8
call fcn.140035ba0
mov r12, qword [rsp + 0x40]
mov rax, qword [r12 + 0x98]
mov qword [rax + r14*8], 0
jmp 0x140041bc4
mov r12, qword [rsp + 0x40]
mov eax, pe_nt_image_headers64
cmp dword [rbx + 0x20], eax
jge 0x140041bf0
xor r8d, r8d
mov edx, eax
mov rcx, rbx
call fcn.140031d20
test eax, eax
je 0x140041bfd
mov rcx, qword [rbp - 0x28]
call qword [rsi + 0x38]
mov rdi, qword [rsp + 0x40]
jmp 0x14003f0bb
mov rax, qword [rbx + 0x18]
and word [rbx + 8], 0xd
mov qword [rbx + 0x10], rax
mov rax, qword [r12 + 0x98]
xor r12d, r12d
mov rcx, qword [rbx + 0x10]
mov rsi, qword [rsp + 0x60]
mov qword [rax + r14*8], rcx
xor eax, eax
mov qword [rcx], rax
mov qword [rcx + 8], rax
mov qword [rcx + 0x10], rax
mov qword [rcx + 0x18], rax
mov qword [rcx + 0x20], rax
mov qword [rcx + 0x28], rax
lea rax, [rcx + 0x78]
mov qword [rcx + 0x60], rax
mov word [rcx], 0xff02
mov word [rcx + 0x50], r12w
mov rax, qword [rbp - 0x28]
mov qword [rcx + 0x38], rax
inc dword [rdi + 8]
mov rdi, qword [rsp + 0x40]
jmp 0x14003c78f
mov rcx, qword [rsp + 0x38]
mov r8, r12
movsxd rax, dword [rcx + 0xc]
movsxd rcx, dword [rcx + 4]
imul rdx, rax, 0x38
mov rax, qword [rdi + 0x98]
mov rdi, qword [rdi + 0x78]
add rdx, rsi
movsxd r9, dword [rdx + 0x38]
lea r11, [rdx + 0x38]
mov rbx, r9
mov r13, qword [rax + rcx*8]
mov edx, dword [rdx]
mov rsi, qword [r13 + 0x38]
mov r15, qword [rsi]
mov r14, qword [r15]
test r9d, r9d
jle 0x140041cb9
mov r10d, 1
nop dword [rax]
movsxd rax, r10d
inc r10d
imul rcx, rax, 0x38
add rcx, r11
mov qword [rdi + r8*8], rcx
inc r8
cmp r8, rbx
jl 0x140041ca0
mov rax, qword [rsp + 0x38]
mov rcx, rsi
mov qword [rsp + 0x20], rdi
mov r8, qword [rax + 0x10]
call qword [r14 + 0x40]
mov rdi, qword [rsp + 0x40]
mov rdx, r15
mov rcx, rdi
mov dword [rsp + 0x58], eax
call fcn.140038da0
mov rax, qword [rsp + 0x58]
test eax, eax
jne 0x140041f3b
mov rcx, rsi
call qword [r14 + 0x50]
mov r15, qword [rsp + 0x68]
mov r14, qword [rsp + 0x38]
mov r9, qword [rsp + 0x48]
mov byte [r13 + 2], 0
test eax, eax
jne 0x14004228f
mov rsi, qword [rsp + 0x60]
jmp 0x14003c799
mov rax, qword [rsp + 0x38]
movsxd rcx, dword [rax + 4]
mov rax, qword [rdi + 0x98]
mov rcx, qword [rax + rcx*8]
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 0xc]
imul rdi, rax, 0x38
add rdi, rsi
cmp byte [rcx + 2], 0
je 0x140041d63
test word [rdi + 8], r11w
je 0x14003ff1d
mov rcx, rdi
call fcn.140032230
mov rdi, qword [rsp + 0x40]
jmp 0x14003c78f
mov rax, qword [rcx + 0x38]
xor edx, edx
mov rbx, qword [rax]
mov rax, qword [rbx]
mov qword [rbp + 0x150], rdx
mov qword [rbp + 0x158], rdx
mov qword [rbp + 0x160], rdx
mov qword [rbp + 0x168], rdx
mov qword [rbp + 0x170], rdx
mov qword [rbp + 0x178], rdx
mov edx, 0x3e00
mov qword [rbp + 0x148], rdi
and word [rdi + 8], dx
or word [rdi + 8], 1
mov rdx, qword [rsp + 0x38]
mov rcx, qword [rcx + 0x38]
mov r8d, dword [rdx + 8]
lea rdx, [rbp + 0x148]
call qword [rax + 0x58]
mov rcx, qword [rsp + 0x40]
mov rdx, rbx
mov dword [rsp + 0x58], eax
call fcn.140038da0
mov eax, dword [rbp + 0x16c]
test eax, eax
mov rcx, qword [rsp + 0x58]
cmovne ecx, eax
test byte [rdi + 8], 2
mov qword [rsp + 0x58], rcx
movzx ecx, byte [rsp + 0x50]
je 0x140041e09
movzx eax, byte [rdi + 0xa]
cmp eax, ecx
je 0x140041e09
movzx edx, cl
mov rcx, rdi
call fcn.140014cb0
movzx eax, word [rdi + 8]
test al, 0x12
je 0x140041e35
mov edx, dword [rdi + 0xc]
mov ecx, 0x4000
test cx, ax
je 0x140041e20
add edx, dword [rdi]
mov rax, qword [rdi + 0x28]
mov ecx, r12d
cmp edx, dword [rax + 0x70]
setg cl
test ecx, ecx
jne 0x1400426e6
mov rax, qword [rsp + 0x58]
test eax, eax
jne 0x1400423ea
mov rdi, qword [rsp + 0x40]
jmp 0x14003c78f
mov rax, qword [rsp + 0x38]
movsxd rcx, dword [rax + 4]
mov rax, qword [rdi + 0x98]
mov rdi, qword [rax + rcx*8]
cmp byte [rdi + 2], 0
jne 0x14003ede3
mov rcx, qword [rdi + 0x38]
mov rbx, qword [rcx]
mov rsi, qword [rbx]
call qword [rsi + 0x48]
mov rcx, qword [rsp + 0x40]
mov rdx, rbx
mov dword [rsp + 0x58], eax
call fcn.140038da0
mov rax, qword [rsp + 0x58]
test eax, eax
jne 0x1400423ea
mov rcx, qword [rdi + 0x38]
call qword [rsi + 0x50]
test eax, eax
jne 0x140040d10
mov r9, qword [rsp + 0x48]
mov r11d, 0x2460
mov rax, qword [rsp + 0x38]
mov eax, dword [rax + 8]
dec eax
cdqe
lea rcx, [rax + rax*2]
lea rax, [r9 + rcx*8]
mov qword [rsp + 0x38], rax
jmp 0x140040d1b
mov rcx, qword [rsp + 0x38]
mov rax, qword [rcx + 0x10]
mov rdi, qword [rax + 0x10]
movsxd rax, dword [rcx + 4]
imul rbx, rax, 0x38
add rbx, rsi
test byte [rbx + 8], 2
je 0x140041f03
cmp byte [rbx + 0xa], 1
je 0x140041f03
mov dl, 1
mov rcx, rbx
call fcn.140014cb0
test eax, eax
jne 0x1400423ea
mov rax, qword [rdi]
mov rcx, rdi
mov rdx, qword [rbx + 0x10]
call qword [rax + 0x98]
mov rdx, rdi
mov rdi, qword [rsp + 0x40]
mov rcx, rdi
mov dword [rsp + 0x58], eax
call fcn.140038da0
mov rax, qword [rsp + 0x58]
and dword [rdi + 0xc0], 0xfffffffe
test eax, eax
je 0x14003c78f
mov rsi, rdi
jmp 0x1400423ef
mov rax, qword [rsp + 0x38]
mov rax, qword [rax + 0x10]
mov rbx, qword [rax + 0x10]
test rbx, rbx
je 0x140042704
mov r10, qword [rbx]
test r10, r10
je 0x140042704
cmp qword [r10 + 0x68], 0
mov rdx, qword [rsp + 0x38]
movsxd rdx, dword [rdx + 8]
je 0x1400422a9
mov rax, qword [rsp + 0x40]
movzx edi, byte [r15 + 0x5a]
mov r8, qword [rax + 0x78]
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 0xc]
imul rcx, rax, 0x38
mov rax, r12
add rcx, rsi
test edx, edx
jle 0x140041fb0
nop
mov qword [r8 + rax*8], rcx
add rcx, 0x38
inc rax
cmp rax, rdx
jl 0x140041fa0
mov rax, qword [rsp + 0x38]
lea r9, [rbp + 0x90]
mov rcx, rbx
movzx eax, byte [rax + 2]
mov byte [r15 + 0x5a], al
call qword [r10 + 0x68]
mov byte [r15 + 0x5a], dil
mov rdx, rbx
mov rdi, qword [rsp + 0x40]
mov rcx, rdi
mov dword [rsp + 0x58], eax
call fcn.140038da0
mov rax, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x38]
test eax, eax
jne 0x140042006
cmp dword [rcx + 4], eax
je 0x140042006
mov rax, qword [rbp + 0x90]
mov qword [r15 + 0x30], rax
mov rax, qword [rsp + 0x58]
cmp al, 0x13
jne 0x14004204e
mov rax, qword [rcx + 0x10]
cmp byte [rax + 0x1c], 0
je 0x14004204e
mov rax, qword [rsp + 0x38]
movzx eax, word [rax + 2]
cmp ax, 4
jne 0x140042030
mov ecx, r12d
mov qword [rsp + 0x58], rcx
jmp 0x14003c78f
cmp ax, 5
jne 0x140042043
mov eax, 2
mov byte [rdi + 0xbe], al
jmp 0x140042051
movzx eax, ax
mov byte [rdi + 0xbe], al
jmp 0x140042051
inc dword [rdi + 0x3c]
mov rax, qword [rsp + 0x58]
test eax, eax
jne 0x140041f3b
jmp 0x14003c78f
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 8]
imul rdx, rax, 0x38
add rdx, qword [rdi + 0x70]
test word [rdx + 8], r11w
je 0x140042098
mov rcx, rdx
call fcn.14003bf00
mov r9, qword [rsp + 0x48]
mov rdx, rax
mov r10d, dword [rsp + 0x34]
mov r11d, 0x2460
jmp 0x1400420a1
mov eax, 4
mov word [rdx + 8], ax
mov rax, qword [rsp + 0x38]
movsxd rcx, dword [rax + 4]
mov rax, qword [r15 + 0x20]
shl rcx, 5
mov rcx, qword [rcx + rax + 8]
mov rax, qword [rcx + 8]
mov ecx, dword [rax + 0x3c]
jmp 0x14003c35b
mov rbx, qword [rsp + 0x38]
movsxd rax, dword [rbx + 8]
imul rsi, rax, 0x38
add rsi, qword [rdi + 0x70]
test word [rsi + 8], r11w
je 0x1400420e8
mov rcx, rsi
call fcn.14003bf00
mov rsi, rax
jmp 0x1400420f1
mov eax, 4
mov word [rsi + 8], ax
movsxd rcx, dword [rbx + 4]
mov edi, r12d
mov rax, qword [r15 + 0x20]
shl rcx, 5
mov rbx, qword [rcx + rax + 8]
mov rax, qword [rsp + 0x38]
mov ecx, dword [rax + 0xc]
test ecx, ecx
je 0x14004211d
mov rax, qword [rbx + 8]
mov edi, dword [rax + 0x3c]
cmp edi, ecx
cmovb edi, ecx
cmp byte [rbx + 0x11], 0
je 0x140042134
inc dword [rbx + 0x14]
cmp byte [rbx + 0x12], 0
jne 0x140042134
mov rcx, rbx
call fcn.140024fb0
mov rax, qword [rbx + 8]
mov rcx, qword [rax]
test edi, edi
jle 0x140042145
mov dword [rcx + 0xc0], edi
cmp byte [rbx + 0x11], 0
movsxd rdi, dword [rcx + 0xc0]
je 0x140042160
sub dword [rbx + 0x14], 1
jne 0x140042160
mov rcx, rbx
call fcn.140024f80
mov qword [rsi], rdi
mov rdi, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x60]
jmp 0x14003c78f
movzx eax, byte [r15 + 0x5c]
test al, 0x81
je 0x140042237
test byte [rdi + 0xc0], 2
jne 0x140042237
mov r9, qword [r14 + 0x10]
test r9, r9
jne 0x1400421a5
mov r9, qword [rdi + 0xe0]
test r9, r9
je 0x140042232
test al, al
jns 0x1400421db
mov rcx, qword [rsp + 0x40]
mov rdx, r9
mov rdi, qword [r15 + 0xd0]
call fcn.14003b620
mov rcx, qword [r15 + 0xd8]
mov rdx, rax
mov rbx, rax
call rdi
mov rcx, rbx
call fcn.140012310
mov rdi, qword [rsp + 0x40]
jmp 0x140042232
cmp dword [r15 + 0xb8], 1
jle 0x14004221e
mov r8, r9
lea rdx, str.____s
mov rcx, r15
call fcn.140014570
mov rdx, qword [r15 + 0xd8]
mov r9, rax
mov r8, rdi
mov ecx, r13d
mov rbx, rax
call qword [r15 + 0xd0]
mov rdx, rbx
mov rcx, r15
call fcn.140012420
jmp 0x140042232
mov rdx, qword [r15 + 0xd8]
mov r8, rdi
mov ecx, r13d
call qword [r15 + 0xd0]
mov r9, qword [rsp + 0x48]
mov eax, dword [0x1400e596c]
cmp dword [r14 + 4], eax
jl 0x140042275
cmp dword [rdi + 0xb8], 1
mov edx, r13d
jle 0x140042271
mov eax, 0x18
mov rcx, qword [rdi + 0x68]
cmp byte [rax + rcx], 0x14
jne 0x140042263
mov dword [rax + rcx + 4], r12d
inc edx
add rax, 0x18
cmp edx, dword [rdi + 0xb8]
jl 0x140042254
mov dword [r14 + 4], r12d
inc dword [r14 + 4]
jmp 0x14004228f
mov r15, qword [rsp + 0x68]
mov r14, qword [rsp + 0x38]
mov rdi, qword [rsp + 0x40]
mov r9, qword [rsp + 0x48]
mov eax, dword [r14 + 8]
mov rsi, qword [rsp + 0x60]
dec eax
cdqe
lea rcx, [rax + rax*2]
lea r14, [r9 + rcx*8]
jmp 0x14003c799
mov r14, qword [rsp + 0x38]
jmp 0x14003c79f
mov r14, qword [rsp + 0x38]
mov r13d, 1
mov rsi, qword [rsp + 0x60]
add r14, 0x18
jmp 0x14003c054
mov rsi, qword [rsp + 0x60]
mov rdi, rax
jmp 0x14003c78f
mov r14, qword [rsp + 0x38]
xor r12d, r12d
mov rdi, qword [rsp + 0x40]
add r14, 0x18
mov r9, qword [rsp + 0x48]
lea r13d, [r12 + 1]
jmp 0x14003c054
mov ecx, dword [rdx + 4]
mov dword [rdi + 0x38], ecx
movzx eax, byte [rdx + 8]
mov byte [rdi + 0xbe], al
mov dword [rdi + 0x34], ebx
test ecx, ecx
je 0x1400423aa
movzx eax, word [rdx + 2]
mov rcx, rdi
test ax, ax
je 0x140042370
movzx eax, ax
lea rdx, str._s_constraint_failed
dec eax
movsxd r8, eax
lea rax, [0x140000000]
mov r8, qword [rax + r8*8 + 0xcb750]
call fcn.140033510
mov rax, qword [rsp + 0x38]
mov r9, qword [rax + 0x10]
test r9, r9
je 0x140042380
mov r8, qword [rdi + 0x90]
lea rdx, str._z:__s
mov rcx, r15
call fcn.140014570
mov qword [rdi + 0x90], rax
jmp 0x140042380
mov r8, qword [rdx + 0x10]
lea rdx, [0x1400cc9c4]
call fcn.140033510
mov rax, qword [rdi + 0x90]
lea rdx, str.abort_at__d_in___s_:__s
mov r9, qword [rdi + 0xe0]
mov r8d, ebx
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x38]
mov ecx, dword [rax + 4]
call fcn.140014830
mov rcx, rdi
call fcn.140036ab0
mov r14d, dword [rsp + 0x34]
mov qword [rsp + 0x58], rax
cmp eax, 5
jne 0x1400423c9
mov dword [rdi + 0x38], eax
jmp 0x140042b65
cmp dword [rdi + 0x38], 0
mov eax, 0x65
cmovne eax, r13d
mov qword [rsp + 0x58], rax
jmp 0x140042b65
mov ecx, 0x13bd8
call fcn.14009db90
mov rsi, qword [rsp + 0x40]
mov r15, qword [rsp + 0x38]
mov r14d, dword [rsp + 0x34]
movzx ebx, byte [rsp + 0x30]
lea r13, [0x140000000]
lea r12, str.unknown_error
mov ecx, 7
mov rdi, qword [rsp + 0x68]
cmp byte [rdi + 0x55], 0
cmovne eax, ecx
cmp qword [rsi + 0x90], 0
mov qword [rsp + 0x58], rax
jne 0x140042a70
cmp eax, 0xc0a
je 0x140042a70
cmp eax, 0x204
je 0x140042a4b
movzx eax, al
cmp eax, 0x1b
jae 0x140042a52
mov rcx, qword [r13 + rax*8 + 0xc77c0]
test rcx, rcx
je 0x140042a52
mov r12, rcx
jmp 0x140042a52
cmp qword [r15 + 0x68], 0
jne 0x14004248c
mov eax, 0x2460
test word [rbp + 0x10], ax
jne 0x140042483
cmp dword [rbp + 0x28], 0
je 0x14004248c
lea rcx, [rbp + 8]
call fcn.1400322c0
mov ecx, 0x13c13
jmp 0x1400423e5
mov rcx, qword [rsp + 0x40]
lea rdx, str.cannot_open_savepoint___SQL_statements_in_progress
call fcn.140033510
mov eax, 5
jmp 0x1400423ea
mov rcx, qword [rsp + 0x40]
lea rdx, str.cannot_release_savepoint___SQL_statements_in_progress
call fcn.140033510
mov eax, 5
jmp 0x1400423ea
mov rcx, qword [rsp + 0x38]
movabs rax, 0x2aaaaaaaaaaaaaab
sub rcx, qword [rsp + 0x48]
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov dword [rdi + 0x34], edx
mov byte [r15 + 0x53], 0
mov r14d, dword [rsp + 0x34]
mov eax, 5
mov dword [rdi + 0x38], eax
mov qword [rsp + 0x58], rax
jmp 0x140042b65
lea rdx, str.FOREIGN_KEY_constraint_failed
mov dword [rdi + 0x38], 0x313
mov byte [rdi + 0xbe], 2
call fcn.140033510
mov r14d, dword [rsp + 0x34]
mov eax, esi
mov qword [rsp + 0x58], rax
jmp 0x140042b65
mov r15, qword [rsp + 0x38]
mov eax, 8
mov rsi, qword [rsp + 0x40]
mov r14d, r10d
jmp 0x1400423f9
mov r14d, dword [rsp + 0x34]
cmp al, 5
jne 0x140042a3c
mov rcx, qword [rsp + 0x38]
movabs rax, 0x2aaaaaaaaaaaaaab
sub rcx, qword [rsp + 0x48]
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov rax, qword [rsp + 0x58]
mov dword [rdi + 0x38], eax
mov dword [rdi + 0x34], edx
jmp 0x140042b65
mov rbx, qword [rsp + 0x40]
mov rcx, r15
mov rdx, qword [rbx + 0x90]
call fcn.140012420
lea rdx, str.database_schema_has_changed
mov rcx, r15
call fcn.140012970
mov qword [rbx + 0x90], rax
movsxd rdx, dword [r14 + 4]
mov rax, qword [r15 + 0x20]
mov rcx, rdx
shl rcx, 5
mov rcx, qword [rcx + rax + 0x18]
cmp dword [rcx], edi
je 0x1400425de
mov rcx, r15
call fcn.140058870
or dword [rbx + 0xc0], 1
mov eax, send
mov r15, r14
mov rsi, rbx
jmp 0x1400423f4
mov r15, qword [rsp + 0x38]
mov eax, 0x204
mov rsi, qword [rsp + 0x40]
mov r14d, r10d
jmp 0x1400423f9
mov rsi, qword [rsp + 0x40]
mov eax, 6
mov byte [rsi + 0xbe], 2
jmp 0x1400423ef
mov eax, 7
mov dword [rsp + 0x58], eax
mov rcx, r15
call fcn.1400588c0
mov rax, qword [rsp + 0x58]
movzx ebx, byte [rsp + 0x30]
mov r14d, dword [rsp + 0x34]
cmp eax, 7
je 0x14003f0c5
mov r15, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x40]
jmp 0x1400423fe
lea rdx, str.too_many_levels_of_trigger_recursion
mov dword [rsp + 0x58], r13d
mov rcx, rdi
call fcn.140033510
mov rax, qword [rsp + 0x58]
jmp 0x1400423ea
mov rcx, rbx
call fcn.140039370
mov r8, rax
lea rdx, [0x1400cc9c4]
mov rcx, rdi
call fcn.140033510
mov rax, qword [rsp + 0x58]
jmp 0x1400423ea
mov rcx, qword [rsp + 0x40]
lea rax, str.into
cmp ebx, 5
mov dword [rsp + 0x58], r13d
lea r8, str.out_of
cmove r8, rax
lea rdx, str.cannot_change__s_wal_mode_from_within_a_transaction
call fcn.140033510
mov rax, qword [rsp + 0x58]
jmp 0x1400423ea
mov rsi, qword [rsp + 0x40]
mov eax, 6
mov r15, rbx
mov r14d, r10d
jmp 0x1400423f9
mov rdi, qword [rsp + 0x40]
lea rdx, str.string_or_blob_too_big
mov rcx, rdi
call fcn.140033510
mov eax, send
jmp 0x1400423ea
mov eax, 6
jmp 0x1400423ea
mov rax, qword [r15 + 0x1a0]
test rax, rax
je 0x140042737
cmp r10d, dword [rbp - 0x68]
jb 0x140042737
mov rcx, qword [r15 + 0x1a8]
call rax
test eax, eax
je 0x140042737
mov eax, 9
jmp 0x1400423ea
cmp qword [rdi + 0x50], 0
jle 0x140042763
lea rdx, str.FOREIGN_KEY_constraint_failed
mov dword [rdi + 0x38], 0x313
mov rcx, rdi
mov byte [rdi + 0xbe], 2
call fcn.140033510
mov eax, r13d
jmp 0x1400423ea
mov rax, qword [rdi]
cmp dword [rax + 0x280], 0
je 0x140042780
cmp dword [rdi + 0x40], 0
je 0x140042780
mov edx, r13d
mov rcx, rdi
call fcn.140036870
mov eax, dword [rdi + 0x30]
mov rbx, qword [rsp + 0x38]
add eax, 2
or eax, 1
mov dword [rdi + 0x30], eax
movsxd rax, dword [rbx + 4]
imul rcx, rax, 0x38
add rsi, rcx
mov qword [rdi + 0x88], rsi
mov edi, r12d
cmp dword [rbx + 8], 0
jle 0x140042800
lea rbx, [rsi + 8]
mov r14d, 0x202
mov eax, 0x1000
test word [rbx], ax
je 0x1400427d7
movsxd rax, edi
imul rcx, rax, 0x38
add rcx, rsi
call fcn.140031eb0
test eax, eax
jne 0x140041be6
movzx eax, word [rbx]
and ax, r14w
cmp ax, 2
jne 0x1400427ed
lea rcx, [rbx - 8]
call fcn.140031fa0
mov rax, qword [rsp + 0x38]
inc edi
add rbx, 0x38
cmp edi, dword [rax + 8]
jl 0x1400427b6
mov rbx, rax
cmp byte [r15 + 0x55], 0
jne 0x140041be6
test byte [r15 + 0x5c], 4
mov rdi, qword [rsp + 0x40]
je 0x14004282f
mov rdx, qword [r15 + 0xd8]
xor r9d, r9d
mov r8, rdi
lea ecx, [r9 + 4]
call qword [r15 + 0xd0]
sub rbx, qword [rsp + 0x48]
movabs rax, 0x2aaaaaaaaaaaaaab
mov r14d, dword [rsp + 0x34]
imul rbx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov eax, 0x64
inc edx
mov qword [rsp + 0x58], rax
mov dword [rdi + 0x34], edx
jmp 0x140042b65
mov rax, qword [rsp + 0x38]
mov ebx, dword [rax + 4]
mov ecx, dword [rax + 8]
movzx eax, byte [r15 + 0x53]
cmp ebx, eax
je 0x14004296d
test ecx, ecx
je 0x140042898
mov edx, 0x204
mov rcx, r15
call fcn.14009b4c0
mov byte [r15 + 0x53], 1
jmp 0x140042908
test ebx, ebx
je 0x1400428bf
cmp dword [r15 + 0xb4], 0
jle 0x1400428bf
lea rdx, str.cannot_commit_transaction___SQL_statements_in_progress
mov rcx, rdi
call fcn.140033510
mov eax, 5
jmp 0x1400423ea
mov rax, qword [rdi]
mov rcx, qword [rax + 0x290]
add rcx, qword [rax + 0x288]
test rcx, rcx
jle 0x140042904
lea rdx, str.FOREIGN_KEY_constraint_failed
mov dword [rdi + 0x38], 0x313
mov rcx, rdi
mov byte [rdi + 0xbe], 2
call fcn.140033510
mov r14d, dword [rsp + 0x34]
mov eax, r13d
mov qword [rsp + 0x58], rax
jmp 0x140042b65
mov byte [r15 + 0x53], bl
mov rcx, rdi
call fcn.140036ab0
cmp eax, 5
jne 0x140042949
mov rcx, qword [rsp + 0x38]
movabs rax, 0x2aaaaaaaaaaaaaab
sub rcx, qword [rsp + 0x48]
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
sub r13b, bl
mov dword [rdi + 0x34], edx
mov byte [r15 + 0x53], r13b
jmp 0x1400424f9
mov rcx, r15
call fcn.14009aba0
cmp dword [rdi + 0x38], 0
mov eax, 0x65
mov r14d, dword [rsp + 0x34]
cmovne eax, r13d
mov qword [rsp + 0x58], rax
jmp 0x140042b65
test ebx, ebx
jne 0x140042988
lea rdx, str.cannot_start_a_transaction_within_a_transaction
mov rcx, rdi
call fcn.140033510
mov eax, r13d
jmp 0x1400423ea
test ecx, ecx
lea rax, str.cannot_rollback___no_transaction_is_active
lea rdx, str.cannot_commit___no_transaction_is_active
mov rcx, rdi
cmovne rdx, rax
call fcn.140033510
mov eax, r13d
jmp 0x1400423ea
mov rdi, qword [rsp + 0x40]
mov ecx, 9
movzx ebx, byte [rsp + 0x30]
mov r14d, dword [rsp + 0x34]
cmp byte [r15 + 0x55], 0
lea r13, [0x140000000]
mov eax, 7
lea r12, str.unknown_error
cmovne ecx, eax
lea rdx, [0x1400cc9c4]
mov eax, ecx
mov r8, r12
mov qword [rsp + 0x58], rax
mov dword [rdi + 0x38], eax
mov rax, qword [r13 + rcx*8 + 0xc77c0]
mov rcx, rdi
test rax, rax
cmovne r8, rax
call fcn.140033510
mov rax, qword [rsp + 0x58]
mov r15, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x40]
jmp 0x14004240c
mov rsi, qword [rsp + 0x40]
mov r15, rbx
jmp 0x1400423f4
mov rsi, r12
jmp 0x1400423ef
mov rsi, qword [rsp + 0x40]
mov r15, rdx
jmp 0x1400423f4
mov r15, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x40]
jmp 0x1400423f9
lea r12, str.abort_due_to_ROLLBACK
mov rcx, qword [rsp + 0x40]
lea rdx, [0x1400cc9c4]
mov r8, r12
call fcn.140033510
mov rax, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x40]
mov dword [rsi + 0x38], eax
cmp eax, 0xc0a
je 0x140042aa0
movzx eax, al
sub eax, 0xa
test eax, 0xfffffffb
jne 0x140042aa0
mov rcx, qword [rdi]
mov rax, qword [rcx + 0x80]
test rax, rax
je 0x140042a9d
xor r8d, r8d
xor edx, edx
call rax
mov dword [rdi + 0x4c], eax
sub r15, qword [rsp + 0x48]
movabs rax, 0x2aaaaaaaaaaaaaab
mov ecx, dword [rsp + 0x58]
imul r15
mov r15, qword [rsp + 0x40]
sar rdx, 2
mov r8, rdx
shr r8, 0x3f
mov rax, qword [r15 + 0x90]
add r8, rdx
mov r9, qword [r15 + 0xe0]
lea rdx, str.statement_aborts_at__d:___s___s
mov qword [rsp + 0x20], rax
call fcn.140014830
mov rcx, r15
call fcn.140036ab0
cmp dword [rsp + 0x58], 0xc0a
jne 0x140042b23
cmp byte [rdi + 0x55], 0
jne 0x140042b23
cmp byte [rdi + 0x56], 0
jne 0x140042b23
cmp dword [rdi + 0xb8], 0
mov byte [rdi + 0x55], 1
jle 0x140042b1d
mov dword [rdi + 0x150], 1
inc dword [rdi + 0x158]
mov eax, 1
mov qword [rsp + 0x58], rax
test bl, bl
je 0x140042b62
mov rcx, qword [rdi + 0x20]
movzx ebx, bl
dec ebx
movsxd rax, ebx
shl rax, 5
mov rcx, qword [rax + rcx + 0x18]
call fcn.140060c10
cmp ebx, 1
je 0x140042b5d
mov rcx, qword [rdi + 0x20]
mov rcx, qword [rcx + 0x38]
call fcn.140060c10
mov rax, qword [rsp + 0x58]
mov rdi, r15
add dword [rdi + 0xdc], r14d
cmp dword [rdi + 0xc8], 0
movaps xmm6, xmmword [rsp + 0x2e0]
mov r15, qword [rsp + 0x2f0]
mov r14, qword [rsp + 0x2f8]
mov r13, qword [rsp + 0x300]
mov r12, qword [rsp + 0x338]
mov rsi, qword [rsp + 0x330]
mov rbx, qword [rsp + 0x328]
je 0x140042bb9
mov rcx, rdi
call fcn.1400350a0
mov eax, dword [rsp + 0x58]
mov rcx, qword [rbp + 0x1d8]
xor rcx, rsp
call fcn.1400a02d0
add rsp, 0x308
pop rdi
pop rbp
ret