Function at 0x18003dfb0
Capabilities:
Encrypt data using speck
Reference sql statements

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x2d0]
sub rsp, 0x3d0
mov rax, qword [0x180237160]
xor rax, rsp
mov qword [rbp + 0x2c0], rax
mov rax, qword [rcx + 8]
mov r13, qword [rcx]
mov rsi, qword [rcx + 0x10]
xor r14d, r14d
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x48], rax
movzx eax, byte [r13 + 0x52]
xor r12b, r12b
mov ebx, r14d
mov byte [rsp + 0x68], al
mov rax, qword [r13 + 0x30]
mov r15, rcx
mov qword [rbp - 0x78], rcx
mov dword [rsp + 0x54], r14d
mov qword [rsp + 0x78], r13
mov qword [rbp - 0x40], rax
mov byte [rsp + 0x40], r12b
mov dword [rbp - 0x48], r14d
mov dword [rsp + 0x50], ebx
mov dword [rsp + 0x58], r14d
mov qword [rsp + 0x70], rsi
mov qword [rbp - 0x18], r14
call fcn.180036a00
mov edi, 7
lea eax, [rdi - 6]
cmp dword [r15 + 0x84], edi
je 0x18003fc38
mov dword [r15 + 0x84], r14d
mov qword [r15 + 0xc8], r14
mov qword [r15 + 0x28], r14
mov eax, dword [r13 + 0x148]
mov dword [r13 + 0x220], r14d
lea rdi, [0x180000000]
movabs rdx, 0x2aaaaaaaaaaaaaab
lea r8d, [r14 + 1]
test eax, eax
jne 0x180043d5c
cmp qword [r13 + 0x198], rbx
je 0x18003e0ca
mov r10d, dword [r13 + 0x1a8]
mov eax, dword [r15 + 0xb8]
xor edx, edx
div r10d
sub r10d, edx
movabs rdx, 0x2aaaaaaaaaaaaaab
mov dword [rsp + 0x58], r10d
jmp 0x18003e0cd
mov r10d, ebx
movsxd rax, dword [r15 + 0x80]
mov r9, qword [rsp + 0x60]
mov r11d, 0x2460
lea rcx, [rax + rax*2]
lea r12, [r9 + rcx*8]
inc ebx
mov qword [rsp + 0x48], r12
mov dword [rsp + 0x50], ebx
movzx ebx, byte [r12]
cmp ebx, 0x9e
ja case.0x18003e10f.62
mov ecx, dword [rdi + rbx*4 + 0x43f4c]
mov eax, ebx
add rcx, rdi
jmp rcx
mov rax, qword [rsp + 0x48]
mov r12, qword [rsp + 0x48]
mov ecx, 4
movsxd r8, dword [rax + 4]
imul r8, r8, 0x38
mov word [r8 + rsi + 8], cx
mov rcx, rax
mov rax, rdx
sub rcx, r9
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rax, rdx
cdqe
mov qword [r8 + rsi], rax
jmp 0x180043738
mov rax, qword [rsp + 0x48]
movsxd rdx, dword [rax + 4]
imul rdx, rdx, 0x38
mov rax, qword [rdx + rsi]
lea rcx, [rax + rax*2]
mov eax, 0x80
lea r12, [r9 + rcx*8]
mov word [rdx + rsi + 8], ax
jmp case.0x18003e10f.62
mov rax, qword [rsp + 0x48]
mov r12, qword [rsp + 0x48]
movsxd rcx, dword [rax + 4]
mov eax, dword [rax + 0xc]
dec eax
cdqe
imul rcx, rcx, 0x38
mov qword [rcx + rsi], rax
mov eax, 4
mov word [rcx + rsi + 8], ax
cmp dword [r12 + 8], 0
jne 0x18004373e
jmp case.0x18003e10f.62
mov rax, qword [rsp + 0x48]
movsxd rdx, dword [rax + 4]
imul rdx, rdx, 0x38
mov rax, qword [rdx + rsi]
lea rcx, [rax + rax*2]
mov eax, dword [r9 + rcx*8 + 8]
dec eax
cdqe
jmp 0x18003e164
mov rbx, qword [rsp + 0x48]
mov eax, 4
movsxd r8, dword [rbx + 4]
sub rbx, r9
imul r8, r8, 0x38
movsxd rcx, dword [r8 + rsi]
mov word [r8 + rsi + 8], ax
mov rax, rdx
imul rbx
sar rdx, 2
lea rcx, [rcx + rcx*2]
mov rax, rdx
lea r12, [r9 + rcx*8]
shr rax, 0x3f
add rax, rdx
cdqe
mov qword [r8 + rsi], rax
mov r8d, 1
jmp case.0x18003e10f.62
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 0xc]
imul rax, rax, 0x38
test byte [rax + rsi + 8], 1
je 0x18003e65b
mov rcx, qword [rsp + 0x48]
mov rax, rdx
sub rcx, r9
imul rcx
mov rbx, rdx
mov rdx, qword [rsp + 0x48]
sar rbx, 2
mov rax, rbx
shr rax, 0x3f
add rbx, rax
cmp dword [rdx + 4], 0
jne 0x180043798
mov rcx, qword [r15 + 0xf8]
test rcx, rcx
je 0x180043798
mov rax, qword [rcx + 8]
dec dword [r15 + 0x108]
mov qword [r15 + 0xf8], rax
mov eax, dword [r15 + 0x98]
add dword [r13 + 0x68], eax
mov dword [r13 + 0x64], eax
call fcn.180037930
mov r12, qword [rsp + 0x48]
mov rdx, qword [r13 + 0x30]
cmp dword [r12 + 8], 4
mov qword [rbp - 0x40], rdx
jne 0x18003e2c0
cdqe
lea rcx, [rax + rax*2]
mov rax, qword [r15 + 8]
mov eax, dword [rax + rcx*8 + 8]
dec eax
mov r9, qword [r15 + 8]
mov rsi, qword [r15 + 0x10]
cdqe
lea rcx, [rax + rax*2]
mov r8d, 1
mov qword [rsp + 0x60], r9
lea r12, [r9 + rcx*8]
mov qword [rsp + 0x70], rsi
jmp 0x18004110b
mov rax, qword [rsp + 0x48]
movsxd rcx, dword [rax + 8]
imul rcx, rcx, 0x38
add rcx, qword [r15 + 0x10]
test word [rcx + 8], r11w
je 0x18003e32e
call fcn.18003df30
mov r9, qword [rsp + 0x60]
mov r12, qword [rsp + 0x48]
mov rcx, rax
mov rax, qword [rsp + 0x48]
mov r8d, 1
movsxd rax, dword [rax + 4]
mov r11d, 0x2460
mov qword [rcx], rax
jmp 0x180041111
mov r12, qword [rsp + 0x48]
mov edx, 4
mov word [rcx + 8], dx
movsxd rax, dword [rax + 4]
mov qword [rcx], rax
jmp 0x180041111
mov rax, qword [rsp + 0x48]
movsxd rdx, dword [rax + 8]
imul rdx, rdx, 0x38
add rdx, qword [r15 + 0x10]
test word [rdx + 8], r11w
je 0x18003e395
mov rcx, rdx
call fcn.18003df30
mov r9, qword [rsp + 0x60]
mov r12, qword [rsp + 0x48]
mov rdx, rax
mov rax, qword [rsp + 0x48]
mov r8d, 1
mov rax, qword [rax + 0x10]
mov r11d, 0x2460
mov rcx, qword [rax]
mov qword [rdx], rcx
jmp 0x180041111
mov ecx, 4
mov r12, qword [rsp + 0x48]
mov word [rdx + 8], cx
mov rax, qword [rax + 0x10]
mov rcx, qword [rax]
mov qword [rdx], rcx
jmp 0x180041111
mov rax, qword [rsp + 0x48]
movsxd rdx, dword [rax + 8]
imul rdx, rdx, 0x38
add rdx, qword [r15 + 0x10]
test word [rdx + 8], r11w
je 0x18003e3f1
mov rcx, rdx
call fcn.18003df30
mov r9, qword [rsp + 0x60]
mov r8d, 1
mov rdx, rax
mov rax, qword [rsp + 0x48]
mov r11d, 0x2460
lea ecx, [r8 + 7]
jmp 0x18003e39a
mov ecx, 4
mov word [rdx + 8], cx
mov ecx, 8
jmp 0x18003e39a
mov rax, qword [rsp + 0x48]
movsxd rbx, dword [rax + 8]
imul rbx, rbx, 0x38
add rbx, qword [r15 + 0x10]
test word [rbx + 8], r11w
je 0x18003e42b
mov rcx, rbx
call fcn.18003df30
mov rbx, rax
mov rax, qword [rsp + 0x48]
jmp 0x18003e434
mov ecx, 4
mov word [rbx + 8], cx
mov rdx, qword [rax + 0x10]
mov byte [rax], 0x18
mov rcx, rdx
call fcn.180015360
mov rcx, qword [rsp + 0x48]
movzx r12d, byte [rsp + 0x68]
mov dword [rcx + 4], eax
cmp r12b, 1
je 0x18003e4db
mov r9b, 1
or r8d, 0xffffffff
mov rcx, rbx
mov qword [rsp + 0x20], r14
call fcn.180034900
mov dword [rsp + 0x54], eax
test eax, eax
jne 0x180043abb
test byte [rbx + 8], 2
movzx ecx, r12b
je 0x18003e4a0
movzx eax, byte [rbx + 0xa]
cmp eax, ecx
je 0x18003e4a0
movzx edx, cl
mov rcx, rbx
call fcn.180014bf0
test eax, eax
jne 0x18003fc28
mov rcx, qword [rsp + 0x48]
mov eax, 0x800
mov dword [rbx + 0x20], r14d
or word [rbx + 8], ax
cmp byte [rcx + 1], 0xff
jne 0x18003e4c9
mov rdx, qword [rcx + 0x10]
mov rcx, r13
call fcn.1800121e0
mov rcx, qword [rsp + 0x48]
mov byte [rcx + 1], 0xff
mov rax, qword [rbx + 0x10]
mov qword [rcx + 0x10], rax
mov eax, dword [rbx + 0xc]
mov dword [rcx + 4], eax
mov eax, dword [r13 + 0x6c]
cmp dword [rcx + 4], eax
jg 0x180043abb
mov r11d, 0x2460
movsxd rcx, dword [rcx + 8]
imul rcx, rcx, 0x38
add rcx, qword [r15 + 0x10]
test word [rcx + 8], r11w
je 0x18003e51e
call fcn.18003df30
mov r11d, 0x2460
mov rcx, rax
jmp 0x18003e527
mov rcx, qword [rsp + 0x48]
movzx r12d, byte [rsp + 0x68]
jmp 0x18003e4ee
mov eax, 4
mov word [rcx + 8], ax
mov eax, 0xa02
mov word [rcx + 8], ax
mov rax, qword [rsp + 0x48]
mov rax, qword [rax + 0x10]
mov qword [rcx + 0x10], rax
mov rax, qword [rsp + 0x48]
mov eax, dword [rax + 4]
mov byte [rcx + 0xa], r12b
mov r12, qword [rsp + 0x48]
mov dword [rcx + 0xc], eax
cmp byte [r12 + 3], 0
je 0x180040183
movsxd rax, dword [r12 + 0xc]
mov r9, qword [rsp + 0x60]
mov r10d, dword [rsp + 0x58]
imul rax, rax, 0x38
cmp qword [rax + rsi], 0
mov ebx, dword [rsp + 0x50]
mov r8d, 1
je 0x18004111a
mov eax, 0xa10
mov word [rcx + 8], ax
jmp 0x18004111a
mov rbx, qword [rsp + 0x48]
movsxd rax, dword [rbx + 8]
imul rax, rax, 0x38
add rax, qword [r15 + 0x10]
test word [rax + 8], r11w
je 0x18003e5c6
mov rcx, rax
call fcn.18003df30
mov r9, qword [rsp + 0x60]
mov r8d, 1
mov r11d, 0x2460
jmp 0x18003e5cf
mov ecx, 4
mov word [rax + 8], cx
mov edi, dword [rbx + 0xc]
mov esi, r8d
mov ecx, 0x101
sub edi, dword [rbx + 8]
cmp dword [rbx + 4], 0
lea rbx, [rax + 8]
cmovne si, cx
mov word [rbx], si
test edi, edi
jle 0x18003f85d
add rbx, 0x38
test word [rbx], r11w
je 0x18003e615
lea rcx, [rbx - 8]
call fcn.1800340b0
mov r8d, 1
mov r11d, 0x2460
jmp 0x18003e619
mov word [rbx], r8w
dec edi
mov word [rbx], si
test edi, edi
jg 0x18003e5f4
mov r12, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x70]
mov r9, qword [rsp + 0x60]
lea rdi, [0x180000000]
jmp 0x180041111
mov rax, qword [rsp + 0x48]
mov ecx, 0xff7f
movsxd rax, dword [rax + 4]
imul rax, rax, 0x38
add rax, rsi
and word [rax + 8], cx
or word [rax + 8], 1
mov r12, qword [rsp + 0x48]
jmp case.0x18003e10f.62
mov rax, qword [rsp + 0x48]
movsxd rbx, dword [rax + 8]
imul rbx, rbx, 0x38
add rbx, qword [r15 + 0x10]
test word [rbx + 8], r11w
je 0x18003e68f
mov rcx, rbx
call fcn.18003df30
mov rbx, rax
mov rax, qword [rsp + 0x48]
jmp 0x18003e698
mov ecx, 4
mov word [rbx + 8], cx
mov r8d, dword [rax + 4]
mov rdx, qword [rax + 0x10]
xor r9d, r9d
mov rcx, rbx
mov qword [rsp + 0x20], r14
call fcn.180034900
movzx eax, byte [rsp + 0x68]
mov byte [rbx + 0xa], al
mov r12, qword [rsp + 0x48]
mov r9, qword [rsp + 0x60]
mov r8d, 1
jmp 0x18004110b
mov rax, qword [rsp + 0x48]
mov eax, dword [rax + 4]
dec eax
movsxd rbx, eax
imul rbx, rbx, 0x38
add rbx, qword [r15 + 0x68]
movzx eax, word [rbx + 8]
test al, 0x12
je 0x18003e70e
mov edx, dword [rbx + 0xc]
mov ecx, 0x4000
test cx, ax
je 0x18003e6f9
add edx, dword [rbx]
mov rax, qword [rbx + 0x28]
mov ecx, r14d
cmp edx, dword [rax + 0x6c]
setg cl
test ecx, ecx
jne 0x180043abb
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 8]
imul rax, rax, 0x38
add rax, qword [r15 + 0x10]
test word [rax + 8], r11w
je 0x18003e730
mov rcx, rax
call fcn.18003df30
jmp 0x18003e739
mov ecx, 4
mov word [rax + 8], cx
mov r8d, 0x800
mov rdx, rbx
mov rcx, rax
call fcn.180034790
jmp 0x18003e6b8
mov rax, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x70]
movsxd rdi, dword [rax + 4]
movsxd rbx, dword [rax + 8]
mov esi, dword [rax + 0xc]
imul rdi, rdi, 0x38
imul rbx, rbx, 0x38
add rdi, rdx
add rbx, rdx
mov rdx, rdi
mov rcx, rbx
call fcn.180034880
mov eax, 0x1000
test word [rbx + 8], ax
je 0x18003e798
mov rcx, rbx
call fcn.180033d40
test eax, eax
jne 0x18003fc28
add rdi, 0x38
add rbx, 0x38
dec esi
jne 0x18003e772
mov r12, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x70]
mov r9, qword [rsp + 0x60]
mov r8d, 1
lea rdi, [0x180000000]
jmp 0x18004110b
mov rax, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x70]
mov r12d, 0x1000
movsxd rdi, dword [rax + 4]
movsxd rbx, dword [rax + 8]
mov esi, dword [rax + 0xc]
imul rdi, rdi, 0x38
imul rbx, rbx, 0x38
add rdi, rdx
add rbx, rdx
nop
mov r8d, r12d
mov rdx, rdi
mov rcx, rbx
call fcn.180034790
test word [rbx + 8], r12w
je 0x18003e815
mov rcx, rbx
call fcn.180033d40
test eax, eax
jne 0x18003fc28
mov eax, esi
dec esi
test eax, eax
je 0x18003e7a4
add rbx, 0x38
add rdi, 0x38
jmp 0x18003e7f0
mov rax, qword [rsp + 0x48]
mov r8d, 0x1000
movsxd rdx, dword [rax + 4]
movsxd rcx, dword [rax + 8]
imul rdx, rdx, 0x38
imul rcx, rcx, 0x38
add rdx, rsi
add rcx, rsi
call fcn.180034790
jmp 0x18003e6b8
mov rax, qword [rsp + 0x48]
movsxd rcx, dword [rax + 8]
movsxd rax, dword [rax + 4]
imul rcx, rcx, 0x38
imul rax, rax, 0x38
add rcx, rsi
mov rdx, qword [rax + rsi]
test word [rcx + 8], r11w
je 0x18003e87f
call fcn.180034570
jmp 0x18003e6b8
mov r12, qword [rsp + 0x48]
mov eax, 4
mov qword [rcx], rdx
mov word [rcx + 8], ax
jmp case.0x18003e10f.62
mov rax, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x70]
movsxd rsi, dword [rax + 4]
movsxd rdi, dword [rax + 8]
movsxd rbx, dword [rax + 0xc]
imul rsi, rsi, 0x38
imul rdi, rdi, 0x38
imul rbx, rbx, 0x38
add rdi, rcx
add rsi, rcx
add rbx, rcx
movzx ecx, word [rsi + 8]
movzx eax, cl
or al, byte [rdi + 8]
test al, 1
je 0x18003e8fd
test word [rbx + 8], r11w
je 0x18003e8e2
mov rcx, rbx
call fcn.1800340b0
jmp 0x18003e7a4
mov r12, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x70]
mov word [rbx + 8], r8w
lea rdi, [0x180000000]
jmp case.0x18003e10f.62
mov r12d, 0x4000
test r12w, cx
je 0x18003e919
mov rcx, rsi
call fcn.180033dd0
test eax, eax
jne 0x18003fc28
test word [rdi + 8], r12w
je 0x18003e930
mov rcx, rdi
call fcn.180033dd0
test eax, eax
jne 0x18003fc28
test byte [rsi + 8], 0x12
movzx r12d, byte [rsp + 0x68]
jne 0x18003e953
xor r8d, r8d
movzx edx, r12b
mov rcx, rsi
call fcn.180033ea0
test eax, eax
jne 0x18003fc28
test byte [rdi + 8], 0x12
jne 0x18003e970
xor r8d, r8d
movzx edx, r12b
mov rcx, rdi
call fcn.180033ea0
test eax, eax
jne 0x18003fc28
mov eax, dword [rdi + 0xc]
add eax, dword [rsi + 0xc]
movsxd r12, eax
movsxd rax, dword [r13 + 0x6c]
cmp r12, rax
jg 0x180043abb
mov r8d, r14d
cmp rbx, rdi
lea edx, [r12 + 2]
sete r8b
mov rcx, rbx
call fcn.180033be0
test eax, eax
jne 0x18003fc28
mov eax, 0x3e00
and word [rbx + 8], ax
or word [rbx + 8], 2
cmp rbx, rdi
je 0x18003e9c9
movsxd r8, dword [rdi + 0xc]
mov rdx, qword [rdi + 0x10]
mov rcx, qword [rbx + 0x10]
call fcn.180183a80
movsxd rcx, dword [rdi + 0xc]
movsxd r8, dword [rsi + 0xc]
mov rdx, qword [rsi + 0x10]
add rcx, qword [rbx + 0x10]
call fcn.180183a80
mov r11, qword [rbx + 0x10]
mov byte [r12 + r11], 0
mov rax, qword [rbx + 0x10]
mov byte [rax + r12 + 1], 0
mov eax, 0x200
mov dword [rbx + 0xc], r12d
or word [rbx + 8], ax
movzx eax, byte [rsp + 0x68]
mov byte [rbx + 0xa], al
jmp 0x18003e7a4
mov rbx, qword [rsp + 0x48]
mov r13, qword [rsp + 0x70]
movsxd rsi, dword [rbx + 4]
imul rsi, rsi, 0x38
add rsi, r13
movzx eax, word [rsi + 8]
movzx r14d, ax
and r14w, 0xc
jne 0x18003ea44
test al, 0x12
je 0x18003ea41
mov rcx, rsi
call fcn.18003ded0
movzx r14d, ax
jmp 0x18003ea44
xor r14d, r14d
movsxd rbx, dword [rbx + 8]
imul rbx, rbx, 0x38
add rbx, r13
movzx eax, word [rbx + 8]
movzx r12d, ax
and r12w, 0xc
jne 0x18003ea73
test al, 0x12
je 0x18003ea70
mov rcx, rbx
call fcn.18003ded0
movzx r12d, ax
jmp 0x18003ea73
xor r12d, r12d
mov rax, qword [rsp + 0x48]
movsxd rdi, dword [rax + 0xc]
movzx eax, byte [rbx + 8]
or al, byte [rsi + 8]
imul rdi, rdi, 0x38
add rdi, r13
test al, 1
jne 0x18003ec83
movzx eax, r12b
and al, r14b
test al, 4
je 0x18003ebb3
mov rax, qword [rsp + 0x48]
mov rdx, qword [rbx]
mov r8, qword [rsi]
movzx ecx, byte [rax]
mov qword [rbp - 0x58], rdx
mov r13b, 1
sub ecx, 0x59
je 0x18003eb5a
dec ecx
je 0x18003eb3c
dec ecx
je 0x18003eb22
dec ecx
je 0x18003eaef
test r8, r8
je 0x18003ec83
cmp r8, 0xffffffffffffffff
mov rax, rdx
mov r9d, 1
cmove r8, r9
cqo
idiv r8
jmp 0x18003eb96
test r8, r8
je 0x18003ec83
cmp r8, 0xffffffffffffffff
jne 0x18003eb11
movabs rax, 0x8000000000000000
cmp rdx, rax
je 0x18003ebb6
mov rax, rdx
cqo
idiv r8
mov rdx, rax
mov qword [rbp - 0x58], rax
jmp 0x18003eb9a
lea rcx, [rbp - 0x58]
mov rdx, r8
call fcn.1800165d0
test eax, eax
jne 0x18003ebb6
mov rdx, qword [rbp - 0x58]
jmp 0x18003eb9a
movabs rax, 0x8000000000000000
cmp r8, rax
jne 0x18003eb55
test rdx, rdx
jns 0x18003ebb6
sub rdx, rax
jmp 0x18003eb96
neg r8
jmp 0x18003eb5d
test r8, r8
js 0x18003eb78
test rdx, rdx
jle 0x18003eb93
movabs rax, 0x7fffffffffffffff
sub rax, rdx
cmp rax, r8
jl 0x18003ebb6
jmp 0x18003eb93
test rdx, rdx
jns 0x18003eb93
movabs rcx, 0x8000000000000001
lea rax, [r8 + 1]
sub rcx, rdx
cmp rcx, rax
jg 0x18003ebb6
add rdx, r8
mov qword [rbp - 0x58], rdx
mov eax, 0x3e00
mov qword [rdi], rdx
and word [rdi + 8], ax
or word [rdi + 8], 4
xor r14d, r14d
jmp 0x18003e7a4
xor r13b, r13b
mov rcx, rsi
call fcn.180034280
mov rcx, rbx
movapd xmm2, xmm0
call fcn.180034280
mov rax, qword [rsp + 0x48]
movzx ecx, byte [rax]
movapd xmm3, xmm0
sub ecx, 0x59
je 0x18003ec3a
dec ecx
je 0x18003ec34
dec ecx
je 0x18003ec2e
dec ecx
je 0x18003ec1c
cvttsd2si rcx, xmm2
cvttsd2si rax, xmm0
mov qword [rbp - 0x58], rax
test rcx, rcx
je 0x18003ec83
cmp rcx, 0xffffffffffffffff
mov r9d, 1
cqo
cmove rcx, r9
pxor xmm3, xmm3
idiv rcx
cvtsi2sd xmm3, rdx
jmp 0x18003ec3e
ucomisd xmm2, qword [0x180217200]
jp 0x18003ec28
je 0x18003ec83
divsd xmm3, xmm2
jmp 0x18003ec3e
mulsd xmm3, xmm2
jmp 0x18003ec3e
subsd xmm3, xmm2
jmp 0x18003ec3e
addsd xmm3, xmm2
movapd xmm0, xmm3
call fcn.180015330
test eax, eax
jne 0x18003ec83
mov eax, 0x3e00
or r12b, r14b
movsd qword [rdi], xmm3
and word [rdi + 8], ax
or word [rdi + 8], 8
test r12b, 8
jne 0x18003ebab
test r13b, r13b
jne 0x18003ebab
mov rcx, rdi
call fcn.1800342e0
xor r14d, r14d
jmp 0x18003e7a4
mov r11d, 0x2460
test word [rdi + 8], r11w
je 0x18003eca0
mov rcx, rdi
call fcn.1800340b0
xor r14d, r14d
jmp 0x18003e7a4
mov r12, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x70]
mov r9, qword [rsp + 0x60]
mov r8d, 1
xor r14d, r14d
mov word [rdi + 8], r8w
lea rdi, [0x180000000]
jmp 0x180041111
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 4]
test eax, eax
je 0x18003e65b
imul rax, rax, 0x38
add rax, rsi
test word [rax + 8], r11w
je 0x18003ecf7
xor edx, edx
mov rcx, rax
call fcn.180034570
jmp 0x18003e6b8
mov r12, qword [rsp + 0x48]
mov ecx, 4
mov qword [rax], r14
mov word [rax + 8], cx
jmp case.0x18003e10f.62
mov rax, qword [rsp + 0x48]
mov rcx, r13
movzx ebx, byte [rax + 3]
lea eax, [rbx - 1]
movsxd rdx, eax
lea rdx, [rdx*8 + 0x38]
call fcn.180012520
mov r11, rax
test rax, rax
je 0x18003fc28
mov rcx, qword [rsp + 0x48]
mov qword [rax], r14
mov rax, qword [rcx + 0x10]
sub rcx, qword [rsp + 0x60]
mov qword [r11 + 0x18], r15
mov qword [r11 + 8], rax
mov byte [r11 + 0x2a], bl
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov rax, qword [rsp + 0x48]
mov dword [r11 + 0x20], edx
mov qword [rax + 0x10], r11
mov word [rax], 0xec24
jmp 0x18003ed89
mov rax, qword [rsp + 0x48]
movsxd rdi, dword [rax + 0xc]
mov rbx, qword [rax + 0x10]
imul rdi, rdi, 0x38
add rdi, rsi
cmp qword [rbx], rdi
je 0x18003ede4
movzx edx, byte [rbx + 0x2a]
mov qword [rbx], rdi
dec edx
movsxd r8, edx
js 0x18003ede4
mov r13, qword [rsp + 0x48]
lea r9, [rbx + r8*8 + 0x30]
nop word [rax + rax]
mov eax, dword [r13 + 8]
sub r9, 8
add eax, edx
dec edx
movsxd rcx, eax
imul rcx, rcx, 0x38
add rcx, rsi
dec r8
mov qword [r9 + 8], rcx
jns 0x18003edc0
mov r13, qword [rsp + 0x78]
mov rcx, qword [rbx]
mov edx, 0x3e00
lea r8, [rbx + 0x30]
movzx eax, word [rcx + 8]
and ax, dx
or ax, 1
mov word [rcx + 8], ax
mov rax, qword [rbp - 0x40]
mov byte [rbx + 0x29], 0
mov qword [r13 + 0x30], rax
mov rax, qword [rbx + 8]
movzx edx, byte [rbx + 0x2a]
mov rcx, rbx
call qword [rax + 0x18]
cmp byte [rbx + 0x29], 0
mov rax, qword [r13 + 0x30]
mov qword [rbp - 0x40], rax
je 0x18003ee76
cmp dword [rbx + 0x24], 0
je 0x18003ee4e
mov rcx, qword [rbx]
call fcn.18003b100
lea rdx, [0x18021319c]
mov rcx, r15
mov r8, rax
call fcn.180035470
mov eax, dword [rbx + 0x24]
mov dword [rsp + 0x54], eax
mov rax, qword [rsp + 0x48]
mov r8d, dword [rbx + 0x20]
lea rdx, [r15 + 0x128]
mov r9d, dword [rax + 4]
mov rcx, r13
call fcn.180038c40
mov eax, dword [rsp + 0x54]
test eax, eax
jne 0x180043041
test byte [rdi + 8], 0x12
je 0x18003eec9
mov rcx, qword [rbx]
movzx edx, byte [rsp + 0x68]
test byte [rcx + 8], 2
je 0x18003ee97
movzx eax, byte [rcx + 0xa]
cmp eax, edx
je 0x18003ee97
call fcn.180014bf0
mov rax, qword [rbx]
movzx ecx, word [rax + 8]
test cl, 0x12
je 0x18003eec9
mov edx, dword [rax + 0xc]
mov r8d, 0x4000
test r8w, cx
je 0x18003eeb4
add edx, dword [rax]
mov rax, qword [rax + 0x28]
mov ecx, r14d
cmp edx, dword [rax + 0x6c]
setg cl
test ecx, ecx
jne 0x180043abb
mov r12, qword [rsp + 0x48]
jmp 0x18003e7ae
mov rax, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x70]
movsxd rcx, dword [rax + 8]
movsxd rdi, dword [rax + 4]
imul rcx, rcx, 0x38
imul rdi, rdi, 0x38
add rcx, rsi
add rdi, rsi
movsxd rsi, dword [rax + 0xc]
movzx eax, byte [rcx + 8]
imul rsi, rsi, 0x38
or al, byte [rdi + 8]
add rsi, rdx
test al, 1
je 0x18003ef36
test word [rsi + 8], r11w
je 0x18003ef1d
mov rcx, rsi
call fcn.1800340b0
jmp 0x18003e7a4
mov r12, qword [rsp + 0x48]
mov word [rsi + 8], r8w
lea rdi, [0x180000000]
mov rsi, rdx
jmp case.0x18003e10f.62
call fcn.1800341f0
mov rcx, rdi
mov rbx, rax
call fcn.1800341f0
mov r12, qword [rsp + 0x48]
movzx edx, byte [r12]
mov rcx, rax
cmp dl, 0x55
jne 0x18003ef5d
and rbx, rax
jmp 0x18003efd0
cmp dl, 0x56
jne 0x18003ef67
or rbx, rax
jmp 0x18003efd0
test rax, rax
je 0x18003efd0
jns 0x18003ef81
mov eax, 0xaf
sub al, dl
movzx edx, al
cmp rcx, 0xffffffffffffffc0
jle 0x18003ef87
neg rcx
cmp rcx, 0x40
jl 0x18003efa1
test rbx, rbx
jns 0x18003ef99
cmp dl, 0x57
je 0x18003ef99
or eax, 0xffffffff
movsxd rbx, eax
jmp 0x18003efd0
mov eax, r14d
movsxd rbx, eax
jmp 0x18003efd0
cmp dl, 0x57
jne 0x18003efae
shl rbx, cl
mov r8, rbx
jmp 0x18003efcd
mov r8, rbx
shr r8, cl
test rbx, rbx
jns 0x18003efcd
or rdx, 0xffffffffffffffff
mov eax, 0x40
sub al, cl
movzx ecx, al
shl rdx, cl
or r8, rdx
mov rbx, r8
mov eax, 0x3e00
mov qword [rsi], rbx
and word [rsi + 8], ax
or word [rsi + 8], 4
jmp 0x18003e7a9
mov rax, qword [rsp + 0x48]
movsxd rbx, dword [rax + 4]
imul rbx, rbx, 0x38
add rbx, rsi
mov rcx, rbx
call fcn.1800341f0
mov qword [rbx], rax
mov r11, rax
mov eax, 0x3e00
and word [rbx + 8], ax
or word [rbx + 8], 4
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 8]
add rax, r11
mov qword [rbx], rax
jmp 0x18003e6b8
mov rax, qword [rsp + 0x48]
movsxd rbx, dword [rax + 4]
imul rbx, rbx, 0x38
add rbx, rsi
movzx eax, word [rbx + 8]
test al, 4
jne 0x18003f08f
test al, 8
jne 0x18003f064
test al, 2
je 0x18003f06c
mov edx, r8d
mov rcx, rbx
call fcn.18003dd20
mov r9, qword [rsp + 0x60]
mov r8d, 1
mov r11d, 0x2460
jmp 0x18003f06c
mov rcx, rbx
call fcn.1800342e0
movzx eax, word [rbx + 8]
test al, 4
jne 0x18003f08f
mov r12, qword [rsp + 0x48]
cmp dword [r12 + 8], 0
jne 0x18004373e
mov eax, socket
jmp 0x180043041
mov r12, qword [rsp + 0x48]
mov ecx, 0x3e00
and ax, cx
or ax, 4
mov word [rbx + 8], ax
jmp 0x180041111
movsxd rcx, dword [r12 + 4]
imul rcx, rcx, 0x38
add rcx, rsi
test byte [rcx + 8], 4
je case.0x18003e10f.62
call fcn.180034380
mov r9, qword [rsp + 0x60]
mov r8d, 1
jmp 0x18004110b
mov rax, qword [rsp + 0x48]
mov ecx, 0x4000
movsxd rbx, dword [rax + 4]
imul rbx, rbx, 0x38
add rbx, rsi
test word [rbx + 8], cx
je 0x18003f102
mov rcx, rbx
call fcn.180033dd0
mov dword [rsp + 0x54], eax
mov rax, qword [rsp + 0x48]
jmp 0x18003f107
mov dword [rsp + 0x54], r14d
movzx r8d, byte [rsp + 0x68]
movzx edx, byte [rax + 8]
mov rcx, rbx
call fcn.180034470
mov eax, dword [rsp + 0x54]
test eax, eax
jne 0x180043041
jmp 0x18003e6b8
mov rax, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x70]
movsxd r12, dword [rax + 0xc]
movsxd rsi, dword [rax + 4]
imul r12, r12, 0x38
imul rsi, rsi, 0x38
add r12, rdx
add rsi, rdx
movzx ebx, word [r12 + 8]
movzx edi, word [rsi + 8]
movzx eax, bl
or al, dil
test al, 1
je 0x18003f1e3
mov rax, qword [rsp + 0x48]
movzx eax, byte [rax + 3]
test al, al
jns 0x18003f194
test dil, 1
je 0x18003f18c
test bl, 1
je 0x18003f18c
mov eax, 0x100
test ax, bx
jne 0x18003f18c
mov edx, r14d
jmp 0x18003f2db
mov edx, r8d
jmp 0x18003f2db
mov rsi, rdx
test al, 0x20
je 0x18003f1ca
mov rax, qword [rsp + 0x48]
mov ecx, 0x3e00
movsxd rax, dword [rax + 8]
imul rax, rax, 0x38
add rax, rdx
and word [rax + 8], cx
or word [rax + 8], 1
mov r12, qword [rsp + 0x48]
lea rdi, [0x180000000]
jmp case.0x18003e10f.62
mov r12, qword [rsp + 0x48]
test al, 0x10
jne 0x18004373e
lea rdi, [0x180000000]
jmp case.0x18003e10f.62
mov r13, qword [rsp + 0x48]
movzx eax, byte [r13 + 3]
and al, 0x47
cmp al, 0x43
jl 0x18003f21c
movzx eax, dil
and al, 0xe
cmp al, 2
jne 0x18003f207
xor edx, edx
mov rcx, rsi
call fcn.18003dd20
movzx eax, bl
and al, 0xe
cmp al, 2
jne 0x18003f287
xor edx, edx
mov rcx, r12
call fcn.18003dd20
jmp 0x18003f287
cmp al, 0x42
jne 0x18003f287
movzx r15d, byte [rsp + 0x68]
test dil, 2
jne 0x18003f257
test dil, 0xc
je 0x18003f257
mov r8b, 1
movzx edx, r15b
mov rcx, rsi
call fcn.180033ea0
movzx r11d, di
mov eax, 0x7e00
xor r11w, word [rsi + 8]
and r11w, ax
xor di, r11w
test bl, 2
jne 0x18003f287
test bl, 0xc
je 0x18003f287
mov r8b, 1
movzx edx, r15b
mov rcx, r12
call fcn.180033ea0
movzx r11d, word [r12 + 8]
mov eax, 0x7e00
xor r11w, bx
and r11w, ax
xor bx, r11w
mov r15d, 0x4000
test r15w, di
je 0x18003f2a3
mov rcx, rsi
call fcn.180033dd0
mov eax, 0xbfff
and di, ax
test r15w, bx
je 0x18003f2b9
mov rcx, r12
call fcn.180033dd0
mov eax, 0xbfff
and bx, ax
mov r8, qword [r13 + 0x10]
mov rdx, rsi
mov rcx, r12
call fcn.180039b70
mov r9, qword [rsp + 0x60]
mov r8d, 1
mov edx, eax
mov r11d, 0x2460
mov rax, qword [rsp + 0x48]
movzx ecx, byte [rax]
mov eax, r14d
sub ecx, 0x4e
je 0x18003f31e
dec ecx
je 0x18003f317
dec ecx
je 0x18003f310
dec ecx
je 0x18003f309
dec ecx
je 0x18003f302
test edx, edx
setns al
jmp 0x18003f323
test edx, edx
sets al
jmp 0x18003f323
test edx, edx
setle al
jmp 0x18003f323
test edx, edx
setg al
jmp 0x18003f323
test edx, edx
sete al
jmp 0x18003f323
test edx, edx
setne al
mov word [rsi + 8], di
mov rsi, qword [rsp + 0x70]
mov word [r12 + 8], bx
mov r12, qword [rsp + 0x48]
test byte [r12 + 3], 0x20
je 0x18003f36a
movsxd rcx, dword [r12 + 8]
mov edx, 0x3e00
cdqe
lea rdi, [0x180000000]
imul rcx, rcx, 0x38
add rcx, rsi
and word [rcx + 8], dx
or word [rcx + 8], 4
mov qword [rcx], rax
jmp 0x180041111
test eax, eax
jne 0x18004373e
lea rdi, [0x180000000]
jmp 0x180041111
mov rax, qword [r12 + 0x10]
add rax, 4
mov qword [rbp - 0x18], rax
jmp case.0x18003e10f.62
mov r13, qword [rsp + 0x48]
mov rcx, qword [rbp - 0x18]
test byte [r13 + 3], 1
mov edx, dword [r13 + 8]
mov r15d, dword [r13 + 4]
cmove rcx, r14
mov r14, qword [r13 + 0x10]
movsxd r13, dword [r13 + 0xc]
xor eax, eax
mov qword [rbp - 0x18], rcx
mov dword [rbp - 0x70], edx
mov edi, eax
mov ebx, eax
test r13, r13
jle 0x18003f443
lea rsi, [r14 + 0x20]
test rcx, rcx
je 0x18003f3d2
mov ecx, dword [rcx + rbx*4]
jmp 0x18003f3d4
mov ecx, edi
mov rax, qword [r14 + 0x18]
mov r8, qword [rsp + 0x70]
movzx r12d, byte [rax + rbx]
lea eax, [rcx + rdx]
movsxd rdx, eax
lea eax, [rcx + r15]
movsxd rcx, eax
imul rdx, rdx, 0x38
add rdx, r8
imul rcx, rcx, 0x38
add rcx, r8
mov r8, qword [rsi]
call fcn.180039b70
mov dword [rbp - 0x48], eax
test eax, eax
jne 0x18003f423
mov edx, dword [rbp - 0x70]
mov rcx, qword [rbp - 0x18]
inc rbx
inc edi
add rsi, 8
cmp rbx, r13
jl 0x18003f3c8
jmp 0x18003f42d
test r12d, r12d
je 0x18003f42d
neg eax
mov dword [rbp - 0x48], eax
mov rsi, qword [rsp + 0x70]
mov r9, qword [rsp + 0x60]
mov r8d, 1
mov r11d, 0x2460
xor r14d, r14d
mov qword [rbp - 0x18], r14
mov r12, qword [rsp + 0x48]
lea rdi, [0x180000000]
jmp 0x180041111
mov eax, dword [rbp - 0x48]
test eax, eax
mov rax, qword [rsp + 0x48]
jns 0x18003f47b
mov eax, dword [rax + 4]
dec eax
cdqe
lea rcx, [rax + rax*2]
lea r12, [r9 + rcx*8]
jmp case.0x18003e10f.62
mov ebx, dword [rsp + 0x50]
jne 0x18003f495
mov eax, dword [rax + 8]
dec eax
cdqe
lea rcx, [rax + rax*2]
lea r12, [r9 + rcx*8]
jmp 0x18004111a
mov eax, dword [rax + 0xc]
dec eax
cdqe
lea rcx, [rax + rax*2]
lea r12, [r9 + rcx*8]
jmp 0x18004111a
mov rax, qword [rsp + 0x48]
movsxd rcx, dword [rax + 4]
imul rcx, rcx, 0x38
add rcx, rsi
test byte [rcx + 8], 1
je 0x18003f4c6
mov ebx, 2
jmp 0x18003f4d9
call fcn.1800341f0
mov ebx, r14d
test rax, rax
mov rax, qword [rsp + 0x48]
setne bl
movsxd rcx, dword [rax + 8]
imul rcx, rcx, 0x38
add rcx, rsi
test byte [rcx + 8], 1
je 0x18003f4f1
mov edx, 2
jmp 0x18003f504
call fcn.1800341f0
mov edx, r14d
test rax, rax
mov rax, qword [rsp + 0x48]
setne dl
cmp byte [rax], 0x48
movsxd rax, ebx
lea rcx, [rax + rax*2]
movsxd rax, edx
jne 0x18003f520
add rcx, rax
movzx eax, byte [rcx + rdi + 0x20dcf0]
jmp 0x18003f52b
add rcx, rax
movzx eax, byte [rcx + rdi + 0x20dd00]
mov r12, qword [rsp + 0x48]
mov r9, qword [rsp + 0x60]
mov r10d, dword [rsp + 0x58]
movsxd rcx, dword [r12 + 0xc]
mov ebx, dword [rsp + 0x50]
mov r8d, 1
mov r11d, 0x2460
imul rcx, rcx, 0x38
add rcx, rsi
cmp eax, 2
jne 0x18003f56e
mov eax, 0x3e00
and word [rcx + 8], ax
or word [rcx + 8], r8w
jmp 0x18004111a
cdqe
mov qword [rcx], rax
mov eax, 0x3e00
and word [rcx + 8], ax
or word [rcx + 8], 4
jmp 0x18004111a
mov rbx, qword [rsp + 0x48]
movsxd rdi, dword [rbx + 4]
movsxd rbx, dword [rbx + 8]
imul rbx, rbx, 0x38
imul rdi, rdi, 0x38
add rbx, rsi
add rdi, rsi
test word [rbx + 8], r11w
je 0x18003f5c3
mov rcx, rbx
call fcn.1800340b0
mov r9, qword [rsp + 0x60]
mov r8d, 1
mov r11d, 0x2460
jmp 0x18003f5c8
mov word [rbx + 8], r8w
test byte [rdi + 8], 1
jne 0x18003f44a
mov eax, 4
mov rcx, rdi
mov word [rbx + 8], ax
call fcn.1800341f0
mov r12, qword [rsp + 0x48]
mov rcx, r14
test rax, rax
sete cl
mov qword [rbx], rcx
jmp 0x18003e7ae
mov rbx, qword [rsp + 0x48]
movsxd rdi, dword [rbx + 4]
movsxd rbx, dword [rbx + 8]
imul rbx, rbx, 0x38
imul rdi, rdi, 0x38
add rbx, rsi
add rdi, rsi
test word [rbx + 8], r11w
je 0x18003f636
mov rcx, rbx
call fcn.1800340b0
mov r9, qword [rsp + 0x60]
mov r8d, 1
mov r11d, 0x2460
jmp 0x18003f63b
mov word [rbx + 8], r8w
test byte [rdi + 8], 1
jne 0x18003f44a
mov eax, 4
mov rcx, rdi
mov word [rbx + 8], ax
call fcn.1800341f0
mov r12, qword [rsp + 0x48]
not rax
mov qword [rbx], rax
jmp 0x18003e7ae
mov rax, qword [rsp + 0x48]
mov rcx, qword [r15 + 0x120]
mov r12, qword [rsp + 0x48]
movsxd rax, dword [rax + 4]
cmp byte [rax + rcx], 0
jne 0x18004373e
mov byte [rax + rcx], 1
jmp case.0x18003e10f.62
movsxd rcx, dword [r12 + 4]
imul rcx, rcx, 0x38
add rcx, rsi
test byte [rcx + 8], 1
je 0x18003f6a7
mov ecx, dword [r12 + 0xc]
jmp 0x18003f6e8
call fcn.180034280
ucomisd xmm0, qword [0x180217200]
jp 0x18003f6c3
jne 0x18003f6c3
mov ecx, r14d
mov r8d, 1
jmp 0x18003f6cc
mov r8d, 1
mov ecx, r8d
cmp byte [r12], 0x2e
mov r9, qword [rsp + 0x60]
mov r11d, 0x2460
jne 0x18003f6e8
test ecx, ecx
mov eax, r14d
sete al
mov ecx, eax
test ecx, ecx
jne 0x18004373e
jmp 0x180041111
mov rax, qword [rsp + 0x48]
mov r12, qword [rsp + 0x48]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x38
test byte [rax + rsi + 8], 1
jne 0x18004373e
jmp case.0x18003e10f.62
mov rax, qword [rsp + 0x48]
mov r12, qword [rsp + 0x48]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x38
test byte [rax + rsi + 8], 1
je 0x18004373e
jmp case.0x18003e10f.62
mov r13, qword [rsp + 0x48]
mov rax, qword [r15 + 0x60]
movsxd rcx, dword [r13 + 4]
movsxd rbx, dword [r13 + 8]
mov r12, qword [rax + rcx*8]
mov dword [rbp - 0x70], ebx
cmp byte [r12], 0
jne 0x18003f789
cmp byte [r12 + 3], 0
je 0x18003f82b
mov rcx, qword [r12 + 0x50]
test rcx, rcx
je 0x18003f809
mov edx, dword [rcx + rbx*4 + 4]
test edx, edx
jle 0x18003f809
mov r12, qword [r12 + 0x48]
lea ebx, [rdx - 1]
mov dword [rbp - 0x70], ebx
mov dword [rsp + 0x54], r14d
movsxd r13, dword [r13 + 0xc]
mov eax, dword [rsp + 0x54]
mov r15, qword [r12 + 0x70]
imul r13, r13, 0x38
add r13, rsi
mov rsi, qword [r12 + 0x18]
mov qword [rbp + 8], r15
mov qword [rbp - 0x30], r13
mov qword [rbp - 0x38], rsi
test eax, eax
jne 0x1800438bd
mov rdi, qword [rbp - 0x78]
mov eax, dword [rdi + 0x7c]
cmp dword [r12 + 0x58], eax
je 0x18003fa3a
cmp byte [r12 + 2], 0
je 0x18003f873
cmp byte [r12], 3
jne 0x18003f844
mov rdx, qword [rsp + 0x70]
movsxd rax, esi
imul rax, rax, 0x38
mov ebx, dword [rax + rdx + 0xc]
mov dword [r12 + 0x60], ebx
mov dword [r12 + 0x5c], ebx
mov rax, qword [rax + rdx + 0x10]
mov qword [r12 + 0x68], rax
jmp 0x18003f903
mov rcx, r12
call fcn.180039330
mov r9, qword [rsp + 0x60]
mov dword [rsp + 0x54], eax
mov r8d, 1
mov r11d, 0x2460
jmp 0x18003f78e
mov rax, qword [r12 + 0x18]
cmp byte [rax + 0x56], 1
je 0x18003f789
mov rcx, r12
call fcn.1800393b0
jmp 0x18003f811
test word [r13 + 8], r11w
je 0x18003f858
mov rcx, r13
call fcn.1800340b0
jmp 0x18003e7a4
mov word [r13 + 8], r8w
mov r12, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x70]
lea rdi, [0x180000000]
jmp 0x180041111
cmp byte [r12 + 4], 0
mov rcx, rsi
jne 0x18003f8ae
call fcn.18002a960
movsx rax, byte [rsi + 0x58]
mov r11, qword [rsi + 0x20]
mov rcx, qword [rsi + rax*8 + 0x98]
movzx eax, word [rsi + 0x34]
mov ebx, dword [rcx + 0x58]
sub ebx, dword [rsi + 0x28]
cmp eax, ebx
cmovb ebx, eax
mov rax, qword [rsi + 0x28]
mov dword [r12 + 0x5c], r11d
jmp 0x18003f8db
call fcn.18002a960
mov eax, dword [rsi + 0x30]
mov dword [r12 + 0x5c], eax
movsx rax, byte [rsi + 0x58]
mov rcx, qword [rsi + rax*8 + 0x98]
movzx eax, word [rsi + 0x34]
mov ebx, dword [rcx + 0x58]
sub ebx, dword [rsi + 0x28]
cmp eax, ebx
cmovb ebx, eax
mov rax, qword [rsi + 0x28]
mov qword [r12 + 0x68], rax
mov eax, dword [r12 + 0x5c]
cmp eax, ebx
ja 0x18003f8f0
mov dword [r12 + 0x60], eax
jmp 0x18003f903
mov rcx, qword [rsp + 0x78]
cmp eax, dword [rcx + 0x6c]
ja 0x180043ab5
mov dword [r12 + 0x60], ebx
mov eax, dword [rdi + 0x7c]
mov rcx, qword [r12 + 0x68]
mov dword [r12 + 0x58], eax
movzx eax, byte [rcx]
cmp al, 0x80
jae 0x18003f924
movzx ecx, al
mov eax, 1
mov dword [rbp - 0x20], ecx
jmp 0x18003f933
lea rdx, [rbp - 0x20]
call fcn.180016440
mov ecx, dword [rbp - 0x20]
movzx eax, al
movzx eax, al
mov word [r12 + 0x12], r14w
mov dword [r12 + 0x64], eax
mov dword [r15], ecx
cmp ebx, ecx
jae 0x18003f969
mov qword [r12 + 0x68], r14
mov dword [r12 + 0x60], r14d
cmp ecx, 0x18003
ja 0x180043871
cmp ecx, dword [r12 + 0x5c]
ja 0x180043871
mov ebx, dword [rbp - 0x70]
mov eax, dword [r15]
cmp dword [r12 + 0x64], eax
jae 0x18003fbb0
mov rax, qword [r12 + 0x68]
mov qword [rbp - 8], rax
test rax, rax
jne 0x18003f9f5
mov qword [rbp + 0xa0], rax
mov qword [rbp + 0xa8], rax
mov qword [rbp + 0xb0], rax
mov qword [rbp + 0xb8], rax
mov qword [rbp + 0xc0], rax
mov qword [rbp + 0xc8], rax
mov qword [rbp + 0xd0], rax
cmp byte [r12 + 4], al
mov r8d, dword [r15]
lea rax, [rbp + 0xa0]
mov r9d, r14d
sete r9b
xor edx, edx
mov rcx, rsi
mov qword [rsp + 0x20], rax
call fcn.180034c40
mov dword [rsp + 0x54], eax
test eax, eax
jne 0x18004387b
mov rax, qword [rbp + 0xb0]
mov qword [rbp - 8], rax
movzx r13d, word [r12 + 0x12]
mov ebx, dword [r12 + 0x64]
mov esi, dword [r15 + r13*4]
mov r15d, dword [r15]
add rbx, rax
add r15, rax
mov r14d, r13d
movzx edi, byte [rbx]
mov eax, 0x80
mov dword [rbp - 0x5c], edi
cmp edi, eax
jae 0x18003faa7
lea rcx, [0x180000000]
inc rbx
movzx eax, byte [rdi + rcx + 0x20dc50]
jmp 0x18003fadc
movzx eax, word [r12 + 0x12]
cmp eax, ebx
jle 0x18003f96c
movsxd rax, ebx
mov edi, dword [r12 + rax*4 + 0x78]
mov dword [rbp - 0x5c], edi
mov eax, 0x2460
test word [r13 + 8], ax
je 0x18003fa67
mov rcx, r13
call fcn.1800340b0
movzx eax, byte [rsp + 0x68]
movsxd rcx, ebx
mov byte [r13 + 0xa], al
mov eax, dword [r15 + rcx*4 + 4]
cmp dword [r12 + 0x60], eax
jb 0x18003fcca
mov esi, dword [r15 + rcx*4]
add rsi, qword [r12 + 0x68]
cmp edi, 0xc
jae 0x18003fbf4
mov r8, r13
mov edx, edi
mov rcx, rsi
call fcn.1800395a0
jmp 0x18003e7a4
lea rdx, [rbp - 0x5c]
mov rcx, rbx
call fcn.180016440
mov edi, dword [rbp - 0x5c]
movzx r11d, al
mov eax, 0x80
add rbx, r11
cmp edi, eax
jb 0x18003facd
lea eax, [rdi - 0xc]
shr eax, 1
jmp 0x18003fadc
lea rcx, [0x180000000]
movzx eax, byte [rdi + rcx + 0x20dc50]
add rsi, rax
mov rax, qword [rbp + 8]
inc r13d
mov dword [r12 + r14*4 + 0x78], edi
movsxd r14, r13d
mov dword [rax + r14*4], esi
cmp r13d, dword [rbp - 0x70]
jg 0x18003fb01
cmp rbx, r15
jb 0x18003fa10
mov eax, ebx
mov word [r12 + 0x12], r13w
sub eax, dword [rbp - 8]
mov dword [r12 + 0x64], eax
cmp rbx, r15
jb 0x18003fb2a
ja 0x180043888
mov eax, dword [r12 + 0x5c]
cmp rsi, rax
jne 0x180043888
mov eax, dword [r12 + 0x5c]
cmp rsi, rax
ja 0x180043888
cmp qword [r12 + 0x68], 0
mov r11d, 0x2460
jne 0x18003fb6b
test word [rbp + 0xa8], r11w
jne 0x18003fb59
cmp dword [rbp + 0xc0], 0
je 0x18003fb6b
lea rcx, [rbp + 0xa0]
call fcn.180034140
mov r11d, 0x2460
mov r13, qword [rbp - 0x30]
mov ebx, dword [rbp - 0x70]
mov r15, qword [rbp + 8]
mov rsi, qword [rbp - 0x38]
xor r14d, r14d
movzx eax, word [r12 + 0x12]
cmp eax, ebx
jg 0x18003fa53
mov r12, qword [rsp + 0x48]
cmp byte [r12 + 1], 0xf8
jne 0x18003fbbf
mov rdx, qword [r12 + 0x10]
mov r8d, 0x800
mov rcx, r13
call fcn.180034790
jmp 0x18003e7a9
mov edi, r14d
mov dword [rbp - 0x5c], r14d
mov r11d, 0x2460
jmp 0x18003fb7d
test word [r13 + 8], r11w
je 0x18003fbd3
mov rcx, r13
call fcn.1800340b0
jmp 0x18003e7a9
mov rsi, qword [rsp + 0x70]
mov r9, qword [rsp + 0x60]
mov r8d, 1
mov word [r13 + 8], r8w
lea rdi, [0x180000000]
jmp 0x180041111
lea ebx, [rdi - 0xc]
shr ebx, 1
mov dword [r13 + 0xc], ebx
lea edx, [rbx + 2]
cmp dword [r13 + 0x20], edx
jge 0x18003fc7e
mov eax, 1
xor r8d, r8d
mov rcx, r13
mov word [r13 + 8], ax
call fcn.180033be0
test eax, eax
je 0x18003fc86
mov r13, qword [rsp + 0x78]
mov r15, qword [rbp - 0x78]
mov eax, 1
movzx r12d, byte [rsp + 0x40]
mov edi, 7
cmp byte [r13 + 0x55], 0
jne 0x18003fc63
cmp byte [r13 + 0x56], 0
jne 0x18003fc63
cmp dword [r13 + 0xb4], 0
mov byte [r13 + 0x55], 1
jle 0x18003fc5c
mov dword [r13 + 0x148], eax
inc dword [r13 + 0x150]
lea rdx, str.out_of_memory
mov rcx, r15
call fcn.180035470
mov eax, edi
mov edi, 1
jmp 0x18004304c
mov rax, qword [r13 + 0x18]
mov qword [r13 + 0x10], rax
mov rcx, qword [r13 + 0x10]
mov r8, rbx
mov rdx, rsi
call fcn.180183a80
mov r11, qword [r13 + 0x10]
mov byte [rbx + r11], 0
mov rax, qword [r13 + 0x10]
mov byte [rbx + rax + 1], 0
mov eax, edi
lea rdi, [0x180000000]
and eax, 1
movzx eax, word [rdi + rax*2 + 0x20d51c]
mov word [r13 + 8], ax
mov rsi, qword [rsp + 0x70]
jmp 0x18003e6b8
mov rax, qword [rsp + 0x48]
movzx eax, byte [rax + 3]
test al, 0xc0
je 0x18003fce6
cmp edi, 0xc
jb 0x18003fce2
test dil, 1
je 0x18003fd0f
test al, al
js 0x18003fd0f
mov eax, 0x80
cmp edi, eax
jb 0x18003fcf8
lea r8d, [rdi - 0xc]
shr r8d, 1
jmp 0x18003fd0a
lea rdx, [0x180000000]
mov eax, edi
movzx r8d, byte [rax + rdx + 0x20dc50]
test r8d, r8d
jne 0x18003fd25
lea rcx, [0x1802423b8]
mov r8, r13
mov edx, edi
call fcn.1800395a0
jmp 0x18003e7a4
cmp byte [r12 + 4], 0
mov edx, dword [r15 + rcx*4]
mov r9d, r14d
mov rcx, rsi
sete r9b
mov qword [rsp + 0x20], r13
call fcn.180034c40
mov dword [rsp + 0x54], eax
test eax, eax
jne 0x1800438bd
mov rcx, qword [r13 + 0x10]
mov r8, r13
mov edx, edi
call fcn.1800395a0
mov eax, 0xefff
and word [r13 + 8], ax
jmp 0x18003e7a4
mov rax, qword [rsp + 0x48]
movsxd rbx, dword [rax + 4]
mov rdi, qword [rax + 0x10]
movzx eax, byte [rdi]
imul rbx, rbx, 0x38
add rbx, rsi
test al, al
je 0x18003f1b9
movzx esi, byte [rsp + 0x68]
movzx r8d, sil
movzx edx, al
mov rcx, rbx
inc rdi
call fcn.18003de60
movzx eax, byte [rdi]
add rbx, 0x38
test al, al
jne 0x18003fd90
jmp 0x18003e7a4
mov rcx, qword [rsp + 0x48]
mov rdi, qword [rbp - 0x78]
mov r12, r14
mov eax, dword [rcx + 8]
mov rbx, qword [rcx + 0x10]
movzx r13d, byte [rdi + 0x90]
dec eax
mov r15d, r14d
mov r11, r14
mov qword [rbp - 0x70], r14
movsxd r14, dword [rcx + 4]
imul r14, r14, 0x38
add r14, rsi
movsxd rsi, eax
movsxd rax, dword [rcx + 0xc]
imul rsi, rsi, 0x38
add rsi, r14
mov qword [rbp - 8], rsi
imul rax, rax, 0x38
add rax, qword [rsp + 0x70]
mov qword [rbp - 0x38], rax
test rbx, rbx
je 0x18003fe50
movzx eax, byte [rbx]
movzx esi, byte [rsp + 0x68]
mov rdi, r14
nop word [rax + rax]
movzx r8d, sil
movzx edx, al
mov rcx, rdi
call fcn.18003de60
movzx eax, byte [rbx + 1]
inc rbx
add rdi, 0x38
test al, al
jne 0x18003fe20
mov r11, qword [rbp - 0x70]
mov rsi, qword [rbp - 8]
nop word [rax + rax]
movzx r10d, word [rsi + 8]
test r10b, 1
je 0x18003fe64
xor eax, eax
mov ebx, eax
mov dword [rbp - 0x44], eax
jmp 0x18003fe79
lea r8, [rbp - 0x44]
mov r9d, r10d
mov edx, r13d
mov rcx, rsi
call fcn.180039400
mov ebx, dword [rbp - 0x44]
mov edi, eax
mov dword [rsi + 0x24], eax
mov eax, 0x4000
test ax, r10w
je 0x18003feaf
test r12, r12
je 0x18003fea0
mov rcx, rsi
call fcn.180033dd0
test eax, eax
jne 0x18003fc1f
jmp 0x18003feaf
movsxd rcx, dword [rsi]
add r11, rcx
sub ebx, ecx
mov dword [rbp - 0x44], ebx
mov qword [rbp - 0x70], r11
mov eax, ebx
mov r8d, 1
add r12, rax
mov ecx, r8d
cmp edi, 0x7f
jbe 0x18003fedb
mov eax, edi
shr rax, 7
test rax, rax
je 0x18003fedb
nop dword [rax]
shr rax, 7
inc ecx
test rax, rax
jne 0x18003fed0
mov r11, qword [rbp - 0x70]
sub rsi, 0x38
add r15d, ecx
cmp rsi, r14
jae 0x18003fe50
cmp r15d, 0x7e
jle 0x18003ff30
movsxd rax, r15d
mov edx, r8d
shr rax, 7
test rax, rax
je 0x18003ff0f
shr rax, 7
inc edx
test rax, rax
jne 0x18003ff04
add r15d, edx
mov ecx, r8d
movsxd rax, r15d
shr rax, 7
test rax, rax
je 0x18003ff2c
shr rax, 7
inc ecx
test rax, rax
jne 0x18003ff21
cmp edx, ecx
jge 0x18003ff33
inc r15d
mov rcx, qword [rsp + 0x78]
mov r13, qword [rbp - 0x70]
movsxd rbx, r15d
movsxd rcx, dword [rcx + 0x6c]
add r12, rbx
lea rax, [r12 + r13]
mov qword [rbp - 0x30], r12
cmp rax, rcx
jg 0x180043aaa
mov rdi, qword [rbp - 0x38]
cmp dword [rdi + 0x20], r12d
jge 0x18003ff79
xor r8d, r8d
mov edx, r12d
mov rcx, rdi
call fcn.180033be0
test eax, eax
jne 0x18003fc1f
jmp 0x18003ff86
mov rax, qword [rdi + 0x18]
and word [rdi + 8], 0xd
mov qword [rdi + 0x10], rax
mov rsi, qword [rdi + 0x10]
mov ecx, 0x80
cmp r15d, ecx
jae 0x18003ffa2
mov r12d, 1
mov byte [rsi], r15b
mov eax, r12d
jmp 0x18003ffef
cmp rbx, 0x7f
ja 0x18003ffb8
and bl, 0x7f
mov r12d, 1
mov byte [rsi], bl
mov eax, r12d
jmp 0x18003ffef
cmp rbx, 0x3fff
ja 0x18003ffd9
mov rax, rbx
shr rax, 7
or al, cl
and bl, 0x7f
mov byte [rsi], al
mov byte [rsi + 1], bl
mov eax, 2
jmp 0x18003ffe9
mov rdx, rbx
mov rcx, rsi
call fcn.180016180
mov ecx, 0x80
mov r12d, 1
movzx edi, al
xor r13d, r13d
mov r10d, dword [r14 + 0x24]
cmp r10d, ecx
jae 0x18004000a
movsxd rax, edi
mov byte [rax + rsi], r10b
mov eax, r12d
jmp 0x180040049
movsxd rcx, edi
mov rdx, r10
add rcx, rsi
cmp r10, 0x7f
ja 0x180040023
and dl, 0x7f
mov eax, r12d
mov byte [rcx], dl
jmp 0x180040049
cmp rdx, 0x3fff
ja 0x180040044
mov rax, rdx
shr rax, 7
or al, 0x80
and dl, 0x7f
mov byte [rcx], al
mov byte [rcx + 1], dl
mov eax, 2
jmp 0x180040049
call fcn.180016180
movzx eax, al
movsxd r9, r15d
add edi, eax
lea eax, [r10 - 1]
add r9, rsi
cmp eax, 6
ja 0x180040090
mov rdx, qword [r14]
lea rcx, [0x180000000]
or eax, 0xffffffff
movzx ecx, byte [r10 + rcx + 0x20dc50]
mov ebx, ecx
lea r8, [r9 + rcx]
nop dword [rax]
dec r8
mov byte [r8], dl
shr rdx, 8
add ecx, eax
jne 0x180040080
jmp 0x1800400b2
cmp r10d, 0xc
jb 0x1800400af
mov ebx, dword [r14 + 0xc]
test ebx, ebx
je 0x1800400b2
mov rdx, qword [r14 + 0x10]
mov r8d, ebx
mov rcx, r9
call fcn.180183a80
jmp 0x1800400b2
mov ebx, r13d
add r14, 0x38
add r15d, ebx
mov ecx, 0x80
cmp r14, qword [rbp - 8]
jbe 0x18003fff5
mov rax, qword [rbp - 0x38]
mov r13, qword [rbp - 0x70]
mov r12, qword [rbp - 0x30]
mov ecx, reloc.WS2_32.dll_recv
mov dword [rax + 0xc], r12d
mov word [rax + 8], cx
test r13, r13
je 0x1800400f2
mov ecx, 0x4010
mov dword [rax], r13d
mov word [rax + 8], cx
mov byte [rax + 0xa], 1
xor r14d, r14d
jmp 0x18003e7a4
mov rax, qword [rsp + 0x48]
mov qword [rbp + 0x18], r14
movsxd rcx, dword [rax + 4]
mov rax, qword [r15 + 0x60]
mov rcx, qword [rax + rcx*8]
mov rcx, qword [rcx + 0x18]
cmp dword [rcx + 0x48], 0
jne 0x18004012b
mov rbx, r14
mov dword [rsp + 0x54], r14d
mov qword [rbp + 0x18], rbx
jmp 0x18004014a
lea rdx, [rbp + 0x18]
call fcn.180030cb0
mov dword [rsp + 0x54], eax
test eax, eax
jne 0x180043041
mov rbx, qword [rbp + 0x18]
mov r11d, 0x2460
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 8]
imul rax, rax, 0x38
add rax, qword [r15 + 0x10]
test word [rax + 8], r11w
je 0x180040172
mov rcx, rax
call fcn.18003df30
mov r11d, 0x2460
jmp 0x18004017b
mov ecx, 4
mov word [rax + 8], cx
mov qword [rax], rbx
mov r12, qword [rsp + 0x48]
mov r9, qword [rsp + 0x60]
mov r8d, 1
jmp 0x180041111
mov rax, qword [rsp + 0x48]
mov esi, dword [rax + 4]
mov rdi, qword [rax + 0x10]
mov dword [rbp - 0x70], esi
test esi, esi
jne 0x18004025d
cmp dword [r13 + 0xb0], esi
jg 0x1800438cb
mov rcx, rdi
call fcn.180015360
mov r8d, dword [r13 + 0x278]
xor edx, edx
add r8d, dword [r13 + 0x274]
mov rcx, r13
movsxd rsi, eax
call fcn.18008d220
mov dword [rsp + 0x54], eax
test eax, eax
jne 0x180043041
lea rdx, [rsi + 0x21]
mov rcx, r13
call fcn.180012520
mov rbx, rax
test rax, rax
je 0x18003e7a4
lea r9, [rax + 0x20]
lea ecx, [rsi + 1]
mov rdx, rdi
movsxd r8, ecx
mov rcx, r9
mov qword [rax], r9
call fcn.180183a80
cmp byte [r13 + 0x53], 0
je 0x180040229
mov byte [r13 + 0x53], 0
mov byte [r13 + 0x5b], 1
jmp 0x180040230
inc dword [r13 + 0x274]
mov rax, qword [r13 + 0x268]
mov qword [rbx + 0x18], rax
mov rax, qword [r13 + 0x280]
mov qword [r13 + 0x268], rbx
mov qword [rbx + 8], rax
mov rax, qword [r13 + 0x288]
mov qword [rbx + 0x10], rax
jmp 0x18003e7a4
mov r12, qword [r13 + 0x268]
test r12, r12
je 0x18004028d
nop dword [rax]
mov rcx, qword [r12]
mov rdx, rdi
call fcn.1800156d0
test eax, eax
je 0x1800402ab
mov r12, qword [r12 + 0x18]
inc r14d
test r12, r12
jne 0x180040270
lea rdx, str.no_such_savepoint:__s
mov r8, rdi
mov rcx, r15
call fcn.180035470
mov edi, 1
mov eax, edi
jmp 0x180043046
cmp dword [r13 + 0xb0], 0
jle 0x1800402be
cmp esi, 1
je 0x1800438e4
cmp qword [r12 + 0x18], 0
jne 0x180040320
cmp byte [r13 + 0x5b], 0
je 0x180040320
mov edi, 1
mov r15d, edi
cmp esi, edi
jne 0x180040327
mov rbx, qword [rbp - 0x78]
mov rax, qword [rbx]
mov rcx, qword [rax + 0x288]
add rcx, qword [rax + 0x280]
test rcx, rcx
jg 0x180043941
mov rcx, rbx
mov byte [r13 + 0x53], dil
call fcn.1800385b0
cmp eax, 5
je 0x1800438fd
mov byte [r13 + 0x5b], 0
mov ecx, dword [rbx + 0x84]
mov dword [rsp + 0x54], ecx
jmp 0x18004041d
xor ecx, ecx
mov r15d, ecx
jmp 0x180040329
xor ecx, ecx
mov eax, dword [r13 + 0x274]
sub eax, r14d
lea r14d, [rax - 1]
mov rax, qword [rsp + 0x78]
cmp esi, 2
jne 0x180040399
mov r13d, dword [r13 + 0x2c]
mov edi, ecx
shr r13d, 1
and r13d, 1
cmp dword [rax + 0x28], 0
jle 0x18004039c
test r13d, r13d
mov esi, ecx
mov rbx, rcx
sete sil
mov rcx, qword [rax + 0x20]
mov r8d, esi
mov edx, 0x204
mov rcx, qword [rcx + rbx + 8]
call fcn.18002a1b0
mov dword [rsp + 0x54], eax
test eax, eax
jne 0x1800438bd
mov rax, qword [rsp + 0x78]
inc edi
add rbx, 0x20
cmp edi, dword [rax + 0x28]
jl 0x180040360
mov esi, dword [rbp - 0x70]
xor ecx, ecx
jmp 0x18004039c
mov r13d, ecx
cmp dword [rax + 0x28], 0
mov edi, ecx
jle 0x1800403df
mov rbx, rcx
nop word [rax + rax]
mov rcx, qword [rax + 0x20]
mov r8d, r14d
mov edx, esi
mov rcx, qword [rcx + rbx + 8]
call fcn.18002a570
mov dword [rsp + 0x54], eax
test eax, eax
jne 0x1800438bd
mov rax, qword [rsp + 0x78]
inc edi
add rbx, 0x20
cmp edi, dword [rax + 0x28]
jl 0x1800403b0
test r13d, r13d
mov r13, qword [rsp + 0x78]
je 0x18004041d
mov rax, qword [r13 + 8]
test rax, rax
je 0x180040410
nop word [rax + rax]
or dword [rax + 0x8c], 1
mov rax, qword [rax + 0x58]
test rax, rax
jne 0x180040400
mov rcx, r13
call fcn.180059010
or dword [r13 + 0x2c], 2
cmp qword [r13 + 0x268], r12
je 0x18004049a
nop word [rax + rax]
cmp qword [r13 + 0x290], 0
mov rcx, qword [r13 + 0x268]
mov rax, qword [rcx + 0x18]
mov qword [r13 + 0x268], rax
je 0x180040459
mov rdx, rcx
mov rcx, r13
call fcn.180012190
jmp 0x18004048a
cmp rcx, qword [r13 + 0x178]
jb 0x180040485
cmp rcx, qword [r13 + 0x180]
jae 0x180040485
mov rax, qword [r13 + 0x170]
mov qword [rcx], rax
dec dword [r13 + 0x158]
mov qword [r13 + 0x170], rcx
jmp 0x18004048a
call fcn.180012120
dec dword [r13 + 0x274]
cmp qword [r13 + 0x268], r12
jne 0x180040430
cmp esi, 1
jne 0x180040528
cmp qword [r13 + 0x290], 0
mov rax, qword [r12 + 0x18]
mov qword [r13 + 0x268], rax
je 0x1800404c6
mov rdx, r12
mov rcx, r13
call fcn.180012190
jmp 0x1800404fb
cmp r12, qword [r13 + 0x178]
jb 0x1800404f3
cmp r12, qword [r13 + 0x180]
jae 0x1800404f3
mov rax, qword [r13 + 0x170]
mov qword [r12], rax
dec dword [r13 + 0x158]
mov qword [r13 + 0x170], r12
jmp 0x1800404fb
mov rcx, r12
call fcn.180012120
test r15d, r15d
jne 0x18004054a
dec dword [r13 + 0x274]
mov r8d, r14d
mov edx, esi
mov rcx, r13
call fcn.18008d220
mov dword [rsp + 0x54], eax
test eax, eax
jne 0x1800438c2
xor r14d, r14d
jmp 0x18003e7a4
mov rax, qword [r12 + 8]
mov qword [r13 + 0x280], rax
mov rax, qword [r12 + 0x10]
mov qword [r13 + 0x288], rax
test r15d, r15d
je 0x180040507
cmp esi, 2
je 0x180040507
mov eax, dword [rsp + 0x54]
test eax, eax
jne 0x1800438c2
xor r14d, r14d
jmp 0x18003e7a4
mov rax, qword [rsp + 0x48]
mov edx, dword [rax + 8]
test edx, edx
je 0x180040578
test dword [r13 + 0x2c], 0x2000000
jne 0x18004396b
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x20]
shl rcx, 5
mov rbx, qword [rcx + rax + 8]
test rbx, rbx
je 0x180040700
mov rcx, rbx
call fcn.180028ff0
mov dword [rsp + 0x54], eax
cmp al, 5
je 0x180043975
test eax, eax
jne 0x180043041
mov rax, qword [rsp + 0x48]
cmp dword [rax + 8], 0
je 0x180040699
test byte [r15 + 0x94], 0x10
je 0x180040699
cmp byte [r13 + 0x53], 0
je 0x1800405e0
cmp dword [r13 + 0xac], 1
jle 0x180040699
cmp dword [r15 + 0xa4], 0
jne 0x180040606
inc dword [r13 + 0x278]
mov ecx, dword [r13 + 0x278]
add ecx, dword [r13 + 0x274]
mov dword [r15 + 0xa4], ecx
mov r8d, dword [r15 + 0xa4]
xor edx, edx
mov rcx, r13
dec r8d
call fcn.18008d220
mov dword [rsp + 0x54], eax
test eax, eax
jne 0x18004067d
mov edi, dword [r15 + 0xa4]
mov rsi, qword [rbx + 8]
cmp byte [rbx + 0x11], al
je 0x180040642
inc dword [rbx + 0x14]
cmp byte [rbx + 0x12], al
jne 0x180040642
mov rcx, rbx
call fcn.180025f40
mov rcx, qword [rsi]
cmp edi, dword [rcx + 0x80]
jle 0x180040660
cmp byte [rcx + 0xa], 0
je 0x180040660
mov edx, edi
call fcn.180022360
mov dword [rsp + 0x54], eax
jmp 0x180040665
mov dword [rsp + 0x54], r14d
cmp byte [rbx + 0x11], 0
je 0x180040678
dec dword [rbx + 0x14]
jne 0x180040678
mov rcx, rbx
call fcn.180025f10
mov rsi, qword [rsp + 0x70]
mov rax, qword [r13 + 0x280]
mov qword [r15 + 0xd8], rax
mov rax, qword [r13 + 0x288]
mov qword [r15 + 0xe0], rax
cmp byte [rbx + 0x11], 0
mov rdi, qword [rbx + 8]
je 0x1800406b4
inc dword [rbx + 0x14]
cmp byte [rbx + 0x12], 0
jne 0x1800406b4
mov rcx, rbx
call fcn.180025f40
cmp byte [rbx + 0x11], 0
mov rax, qword [rdi + 0x18]
mov rcx, qword [rax + 0x50]
mov edi, dword [rcx + 0x28]
bswap edi
je 0x1800406d4
dec dword [rbx + 0x14]
jne 0x1800406d4
mov rcx, rbx
call fcn.180025f10
mov rax, qword [rsp + 0x48]
mov r9, qword [rsp + 0x60]
mov r8d, 1
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x20]
mov r11d, 0x2460
shl rcx, 5
mov rcx, qword [rcx + rax + 0x18]
mov eax, dword [rcx + 4]
jmp 0x180040706
mov edi, r14d
mov eax, r14d
mov r12, qword [rsp + 0x48]
cmp byte [r12 + 3], 0
je 0x180040729
cmp edi, dword [r12 + 0xc]
jne 0x1800439b1
cmp eax, dword [r12 + 0x10]
jne 0x1800439b1
mov eax, dword [rsp + 0x54]
test eax, eax
jne 0x180043041
lea rdi, [0x180000000]
jmp 0x180041111
mov rbx, qword [rsp + 0x48]
mov rcx, qword [r13 + 0x20]
lea r8, [rbp + 0x48]
movsxd rax, dword [rbx + 4]
mov edx, dword [rbx + 0xc]
shl rax, 5
mov rcx, qword [rax + rcx + 8]
call fcn.180030b80
movsxd r11, dword [rbx + 8]
mov rax, rbx
mov eax, 0x2460
imul r11, r11, 0x38
add r11, qword [r15 + 0x10]
test word [r11 + 8], ax
je 0x1800407a3
mov rcx, r11
call fcn.18003df30
mov r9, qword [rsp + 0x60]
mov r12, rbx
mov r11, rax
movsxd rax, dword [rbp + 0x48]
mov r8d, 1
mov qword [r11], rax
jmp 0x18004110b
mov r9, qword [rsp + 0x60]
mov eax, 4
mov r12, rbx
mov word [r11 + 8], ax
movsxd rax, dword [rbp + 0x48]
mov r8d, 1
mov qword [r11], rax
jmp 0x18004110b
mov rax, qword [rsp + 0x48]
movsxd rbx, dword [rax + 4]
mov r8d, dword [rax + 0xc]
mov edx, dword [rax + 8]
shl rbx, 5
add rbx, qword [r13 + 0x20]
mov rcx, qword [rbx + 8]
call fcn.180030c10
mov rdx, qword [rsp + 0x48]
mov dword [rsp + 0x54], eax
mov eax, dword [rdx + 8]
cmp eax, 1
jne 0x180040809
mov rcx, qword [rbx + 0x18]
mov eax, dword [rdx + 0xc]
mov dword [rcx], eax
or dword [r13 + 0x2c], 2
jmp 0x180040819
cmp eax, 2
jne 0x180040819
mov rcx, qword [rbx + 0x18]
movzx eax, byte [rdx + 0xc]
mov byte [rcx + 0x70], al
mov rax, rdx
cmp dword [rax + 4], 1
jne 0x180040848
mov rax, qword [r13 + 8]
test rax, rax
je 0x180040840
nop dword [rax + rax]
or dword [rax + 0x8c], 1
mov rax, qword [rax + 0x58]
test rax, rax
jne 0x180040830
and dword [r15 + 0x8c], 0xfffffffe
mov eax, dword [rsp + 0x54]
test eax, eax
jne 0x180043041
mov r9, qword [rsp + 0x60]
mov r12, rdx
lea r8d, [rax + 1]
jmp 0x18004110b
mov rax, qword [rsp + 0x48]
movsxd rcx, dword [rax + 4]
mov rax, qword [r15 + 0x60]
mov rdi, qword [rax + rcx*8]
mov rcx, qword [rsp + 0x48]
test rdi, rdi
je 0x180040893
mov eax, dword [rcx + 8]
cmp dword [rdi + 0xc], eax
je 0x1800409d0
jmp 0x180040893
mov rcx, qword [rsp + 0x48]
test byte [r15 + 0x8c], 1
jne 0x180043a05
movsxd r13, dword [rcx + 8]
mov edi, r14d
mov r12, r14
movsxd r14, dword [rcx + 0xc]
mov rcx, qword [rsp + 0x78]
mov rax, r14
shl rax, 5
add rax, qword [rcx + 0x20]
mov r15, qword [rax + 8]
cmp bl, 0x37
jne 0x1800408f3
mov rcx, qword [rsp + 0x48]
mov rax, qword [rax + 0x18]
movzx esi, byte [rcx + 3]
movzx ecx, byte [rax + 0x70]
mov rax, qword [rbp - 0x78]
and esi, 8
or esi, 4
cmp cl, byte [rax + 0x90]
jae 0x1800408f5
mov byte [rax + 0x90], cl
jmp 0x1800408f5
xor esi, esi
mov rcx, qword [rsp + 0x48]
test byte [rcx + 3], 0x10
je 0x18004092d
mov rbx, r13
imul rbx, rbx, 0x38
add rbx, qword [rsp + 0x70]
mov rcx, rbx
call fcn.1800341f0
mov rcx, qword [rsp + 0x48]
mov qword [rbx], rax
mov r13d, dword [rbx]
mov eax, 0x3e00
and word [rbx + 8], ax
or word [rbx + 8], 4
movzx eax, byte [rcx + 1]
cmp al, 0xfa
jne 0x180040949
mov r12, qword [rcx + 0x10]
movzx edi, word [r12 + 8]
movzx eax, word [r12 + 6]
add edi, eax
jmp 0x180040950
cmp al, 0xf2
jne 0x180040950
mov edi, dword [rcx + 0x10]
mov edx, dword [rcx + 4]
mov rcx, qword [rbp - 0x78]
mov r9d, r14d
mov r8d, edi
mov byte [rsp + 0x20], 0
call fcn.18003dbc0
mov rdi, rax
test rax, rax
je 0x18003fc1f
mov rcx, qword [rax + 0x18]
or dword [rax + 8], 4
mov r9, r12
mov qword [rsp + 0x20], rcx
mov r8d, esi
mov edx, r13d
mov rcx, r15
mov byte [rax + 2], 1
mov dword [rax + 0xc], r13d
call fcn.18002a730
mov rcx, qword [rsp + 0x48]
mov r13, qword [rsp + 0x78]
mov r15, qword [rbp - 0x78]
mov rsi, qword [rsp + 0x70]
mov r9, qword [rsp + 0x60]
mov qword [rdi + 0x28], r12
cmp byte [rcx + 1], 0xfa
mov dword [rsp + 0x54], eax
setne al
xor r14d, r14d
mov r11d, 0x2460
lea r8d, [r14 + 1]
mov byte [rdi + 4], al
movzx ecx, byte [rcx + 3]
mov rax, qword [rdi + 0x18]
and cl, 3
mov byte [rax + 0x57], cl
mov eax, dword [rsp + 0x54]
test eax, eax
jne 0x180043041
mov r12, qword [rsp + 0x48]
lea rdi, [0x180000000]
jmp 0x180041111
mov rbx, qword [rsp + 0x48]
or r9d, 0xffffffff
mov rcx, r15
mov r8d, dword [rbx + 8]
mov edx, dword [rbx + 4]
mov byte [rsp + 0x20], 0
call fcn.18003dbc0
mov rdi, rax
test rax, rax
je 0x18003fc28
or dword [rax + 8], 1
mov byte [rax + 2], 1
movzx ecx, byte [rbx + 3]
or ecx, 5
lea r12, [rax + 0x20]
mov dword [rsp + 0x28], 0x41e
mov dword [rsp + 0x20], ecx
mov rcx, qword [r13]
mov r8, r13
mov r9, r12
xor edx, edx
call fcn.180027d60
test eax, eax
jne 0x180043041
mov rcx, qword [r12]
mov ebx, 1
mov edx, ebx
call fcn.180028ff0
test eax, eax
jne 0x180043dda
mov rax, qword [rsp + 0x48]
mov r13, qword [rax + 0x10]
test r13, r13
je 0x180040b07
movzx esi, byte [rax + 3]
mov rbx, qword [r12]
or esi, 2
cmp byte [rbx + 0x11], 0
je 0x180040aa8
inc dword [rbx + 0x14]
cmp byte [rbx + 0x12], 0
jne 0x180040aa8
mov rcx, rbx
call fcn.180025f40
lea rdx, [rbp + 0x30]
mov r8d, esi
mov rcx, rbx
call fcn.180030160
cmp byte [rbx + 0x11], 0
mov dword [rsp + 0x54], eax
je 0x180040ad2
dec dword [rbx + 0x14]
jne 0x180040ad2
mov rcx, rbx
call fcn.180025f10
mov eax, dword [rsp + 0x54]
test eax, eax
jne 0x180040afc
mov rax, qword [rdi + 0x18]
mov edx, dword [rbp + 0x30]
mov rcx, qword [r12]
mov r9, r13
mov r8d, 4
mov qword [rsp + 0x20], rax
mov qword [rdi + 0x28], r13
call fcn.18002a730
mov dword [rsp + 0x54], eax
mov rsi, qword [rsp + 0x70]
mov byte [rdi + 4], 0
jmp 0x180040b29
mov rax, qword [rdi + 0x18]
mov rcx, qword [r12]
xor r9d, r9d
lea r8d, [r9 + 4]
mov edx, ebx
mov qword [rsp + 0x20], rax
call fcn.18002a730
mov byte [rdi + 4], bl
mov dword [rsp + 0x54], eax
test eax, eax
jne 0x180042f53
mov r12, qword [rsp + 0x48]
mov eax, r14d
cmp byte [r12 + 3], 8
setne al
shl eax, 2
xor eax, dword [rdi + 8]
and eax, 4
xor dword [rdi + 8], eax
jmp 0x18003e7ae
mov rax, qword [rsp + 0x48]
or r9d, 0xffffffff
mov rcx, r15
mov r8d, dword [rax + 8]
mov edx, dword [rax + 4]
mov byte [rsp + 0x20], 1
call fcn.18003dbc0
test rax, rax
je 0x18003fc28
mov rdx, qword [rsp + 0x48]
mov r8, rax
mov rcx, qword [rdx + 0x10]
mov qword [rax + 0x28], rcx
mov edx, dword [rdx + 0xc]
mov rcx, r13
call fcn.180045a80
mov dword [rsp + 0x54], eax
test eax, eax
jne 0x180043041
jmp 0x18003e6b8
mov rax, qword [rsp + 0x48]
mov r12, qword [rsp + 0x48]
movsxd rcx, dword [rax + 4]
mov rax, qword [r15 + 0x60]
mov rdx, qword [rax + rcx*8]
mov rcx, qword [rdx + 0x38]
lea rax, [rcx + 1]
mov qword [rdx + 0x38], rax
test rcx, rcx
je 0x18004373e
jmp case.0x18003e10f.62
mov rax, qword [rsp + 0x48]
or r9d, 0xffffffff
mov rcx, r15
mov r8d, dword [rax + 0xc]
mov edx, dword [rax + 4]
mov byte [rsp + 0x20], 3
call fcn.18003dbc0
test rax, rax
je 0x18003fc28
mov rcx, qword [rsp + 0x48]
mov byte [rax + 2], 1
mov ecx, dword [rcx + 8]
mov byte [rax + 4], 1
mov dword [rax + 0x18], ecx
jmp 0x18003e6b8
mov rdx, qword [r15 + 0x60]
mov rax, qword [rsp + 0x48]
mov rcx, r15
movsxd rax, dword [rax + 4]
mov rdx, qword [rdx + rax*8]
call fcn.180037820
mov rax, qword [rsp + 0x48]
movsxd r11, dword [rax + 4]
mov rax, qword [r15 + 0x60]
mov qword [rax + r11*8], r14
jmp 0x18003e6b8
mov rax, qword [rsp + 0x48]
mov r13d, r14d
movsxd rcx, dword [rax + 4]
mov rax, qword [r15 + 0x60]
mov rsi, qword [rax + rcx*8]
cmp byte [rsi + 4], 0
mov byte [rsi + 2], 0
je 0x180040d06
mov rax, qword [rsp + 0x48]
movsxd rdi, dword [rax + 0xc]
imul rdi, rdi, 0x38
add rdi, qword [rsp + 0x70]
movzx eax, byte [rdi + 8]
and al, 0xe
cmp al, 2
jne 0x180040c8a
xor edx, edx
mov rcx, rdi
call fcn.18003dd20
mov rcx, rdi
call fcn.1800341f0
movzx ecx, word [rdi + 8]
mov r12, rax
test cl, 4
jne 0x180040cd0
test cl, 8
je 0x180043729
movsd xmm0, qword [rdi]
pxor xmm1, xmm1
cvtsi2sd xmm1, rax
comisd xmm1, xmm0
jbe 0x180040cc3
test bl, 1
jne 0x180040cd0
dec ebx
jmp 0x180040cd0
comisd xmm0, xmm1
jbe 0x180040cd0
test bl, 1
je 0x180040cd0
inc ebx
mov rcx, qword [rsi + 0x18]
lea rax, [rbp - 0x80]
xor r9d, r9d
mov r8, r12
xor edx, edx
mov qword [rsp + 0x20], rax
call fcn.18002b470
mov qword [rsi + 0x40], r12
mov dword [rsp + 0x54], eax
test eax, eax
jne 0x180042f53
lea rdi, [0x180000000]
jmp 0x180040daa
mov rax, qword [rsi + 0x18]
mov rcx, qword [rsp + 0x48]
mov edx, 0xffffffff
test byte [rax + 0x57], 2
mov rax, qword [rsi + 0x28]
mov qword [rbp + 0x88], rax
movzx eax, word [rcx + 0x10]
movsxd rcx, dword [rcx + 0xc]
mov word [rbp + 0x98], ax
cmovne r13d, r8d
lea eax, [rbx - 1]
test al, 1
mov eax, r8d
cmovne eax, edx
mov byte [rbp + 0x9a], al
mov eax, 0x4000
imul rcx, rcx, 0x38
add rcx, qword [rsp + 0x70]
mov qword [rbp + 0x90], rcx
test word [rcx + 8], ax
je 0x180040d67
call fcn.180033dd0
mov byte [rbp + 0x9e], 0
mov rcx, qword [rsi + 0x18]
lea rax, [rbp - 0x80]
lea rdx, [rbp + 0x88]
xor r9d, r9d
xor r8d, r8d
mov qword [rsp + 0x20], rax
call fcn.18002b470
mov dword [rsp + 0x54], eax
test eax, eax
jne 0x180042f53
test r13d, r13d
je 0x180040daa
cmp byte [rbp + 0x9e], al
je 0x180040ec6
mov byte [rsi + 3], 0
mov dword [rsi + 0x58], r14d
mov eax, dword [rbp - 0x80]
cmp ebx, 0x41
jl 0x180040e4c
test eax, eax
js 0x180040dd2
jne 0x180040dc9
cmp ebx, 0x42
je 0x180040dd2
mov dword [rbp - 0x80], r14d
jmp 0x180040ed0
mov dword [rbp - 0x80], r14d
mov rcx, qword [rsi + 0x18]
and byte [rcx + 0x54], 0xf9
mov word [rcx + 0x36], r14w
mov dword [rbp - 0x80], r14d
cmp byte [rcx + 0x56], 1
je 0x180040dfb
lea rdx, [rbp - 0x80]
call fcn.18002ba10
jmp 0x180040eba
movsx rax, byte [rcx + 0x58]
mov rdx, qword [rcx + rax*8 + 0x98]
inc word [rcx + rax*2 + 0x70]
movzx eax, word [rcx + rax*2 + 0x70]
cmp ax, word [rdx + 0x12]
jb 0x180040e35
movsx rax, byte [rcx + 0x58]
mov edx, 0xffff
add word [rcx + rax*2 + 0x70], dx
lea rdx, [rbp - 0x80]
call fcn.18002ba10
jmp 0x180040eba
cmp byte [rdx + 4], 0
je 0x180040e45
mov dword [rsp + 0x54], r14d
jmp 0x180040ec6
call fcn.18002b260
jmp 0x180040eba
test eax, eax
jg 0x180040e6a
jne 0x180040e57
cmp ebx, 0x3f
je 0x180040e6a
mov rax, qword [rsi + 0x18]
mov ecx, r14d
cmp byte [rax + 0x56], 1
setne cl
mov dword [rbp - 0x80], ecx
jmp 0x180040ec6
mov dword [rbp - 0x80], r14d
mov rcx, qword [rsi + 0x18]
mov dword [rbp - 0x80], r14d
and byte [rcx + 0x54], 0xf1
cmp byte [rcx + 0x56], 1
mov word [rcx + 0x36], r14w
jne 0x180040eb1
movsx rdx, byte [rcx + 0x58]
cmp word [rcx + rdx*2 + 0x70], 0
je 0x180040eb1
mov rax, qword [rcx + rdx*8 + 0x98]
cmp byte [rax + 4], 0
je 0x180040eb1
mov eax, 0xffff
mov dword [rsp + 0x54], r14d
add word [rcx + rdx*2 + 0x70], ax
jmp 0x180040ec6
lea rdx, [rbp - 0x80]
call fcn.18002bbd0
mov dword [rsp + 0x54], eax
test eax, eax
jne 0x180042f53
cmp dword [rbp - 0x80], 0
jne 0x180043729
mov r12, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x70]
mov r9, qword [rsp + 0x60]
mov r10d, dword [rsp + 0x58]
mov ebx, dword [rsp + 0x50]
mov r8d, 1
mov r11d, 0x2460
test r13d, r13d
je 0x18004111a
add r12, 0x18
jmp 0x18004111a
mov rbx, qword [rsp + 0x48]
mov rax, qword [r15 + 0x60]
mov r13, r14
movsxd rsi, dword [rbx + 0xc]
movsxd rcx, dword [rbx + 4]
mov r12, qword [rax + rcx*8]
imul rsi, rsi, 0x38
add rsi, qword [rsp + 0x70]
cmp dword [rbx + 0x10], 0
jle 0x180040fa2
movzx ecx, word [rbx + 0x10]
mov rax, qword [r12 + 0x28]
mov qword [rbp + 0x100], rsi
mov qword [rbp + 0xf8], rax
mov word [rbp + 0x108], cx
mov ebx, r14d
cmp r14w, cx
jae 0x180040f96
mov rdi, r14
mov r15d, 0x4000
nop dword [rax]
test word [rdi + rsi + 8], r15w
je 0x180040f85
movsxd rcx, ebx
imul rcx, rcx, 0x38
add rcx, rsi
call fcn.180033dd0
movzx ecx, word [rbp + 0x108]
mov rsi, qword [rbp + 0x100]
inc ebx
movzx eax, cx
add rdi, 0x38
cmp ebx, eax
jl 0x180040f60
mov r15, qword [rbp - 0x78]
lea rbx, [rbp + 0xf8]
jmp 0x180041042
mov rdi, qword [r12 + 0x28]
lea rdx, [rbp + 0x1c0]
movzx ecx, word [rdi + 6]
neg edx
and edx, 7
imul ecx, ecx, 0x38
add ecx, 0x50
lea eax, [rdx + 0xff]
cmp ecx, eax
jle 0x180040ffa
movsxd rax, ecx
mov rcx, qword [rdi + 0x10]
test rcx, rcx
je 0x180040fdd
mov rdx, rax
call fcn.180012520
jmp 0x180040fe5
mov rcx, rax
call fcn.180011e00
mov rbx, rax
mov r13, rax
test rax, rax
jne 0x180041005
mov r13, qword [rsp + 0x78]
jmp 0x18003fc28
movsxd rax, edx
lea rbx, [rbp + rax + 0x1c0]
lea rax, [rbx + 0x18]
mov qword [rbx], rdi
mov qword [rbx + 8], rax
movzx eax, word [rdi + 6]
inc ax
mov word [rbx + 0x10], ax
mov eax, 0x4000
test word [rsi + 8], ax
je 0x18004102e
mov rcx, rsi
call fcn.180033dd0
mov r8, qword [rsi + 0x10]
mov edx, dword [rsi + 0xc]
mov rcx, qword [r12 + 0x28]
mov r9, rbx
call fcn.180039730
mov rax, qword [rsp + 0x48]
mov byte [rbx + 0x12], 0
mov edi, r14d
cmp byte [rax], 0x43
jne 0x18004107f
mov edx, r14d
cmp r14w, word [rbx + 0x10]
jae 0x18004107f
mov rcx, qword [rbx + 8]
add rcx, 8
test byte [rcx], 1
jne 0x18004107a
movzx eax, word [rbx + 0x10]
inc edx
add rcx, 0x38
cmp edx, eax
jl 0x180041065
jmp 0x18004107f
mov edi, 1
mov rcx, qword [r12 + 0x18]
lea rax, [rbp + 0x44]
xor r9d, r9d
xor r8d, r8d
mov rdx, rbx
mov qword [rsp + 0x20], rax
call fcn.18002b470
mov rdx, r13
mov r13, qword [rsp + 0x78]
mov rcx, r13
mov dword [rsp + 0x54], eax
call fcn.1800121e0
mov eax, dword [rsp + 0x54]
test eax, eax
jne 0x180043041
mov eax, dword [rbp + 0x44]
mov rsi, qword [rsp + 0x70]
mov r9, qword [rsp + 0x60]
test eax, eax
mov dword [r12 + 0x30], eax
mov byte [r12 + 3], 0
mov dword [r12 + 0x58], r14d
mov r8d, 1
mov ecx, r14d
sete cl
mov eax, r8d
sub al, cl
mov byte [r12 + 2], al
mov r12, qword [rsp + 0x48]
cmp byte [r12], 0x45
jne 0x180041136
test ecx, ecx
jne 0x18004373e
lea rdi, [0x180000000]
mov r11d, 0x2460
mov r10d, dword [rsp + 0x58]
mov ebx, dword [rsp + 0x50]
mov r13, qword [rsp + 0x78]
mov r15, qword [rbp - 0x78]
add r12, 0x18
movabs rdx, 0x2aaaaaaaaaaaaaab
jmp 0x18003e0e7
test edi, edi
jne 0x18004373e
test ecx, ecx
je 0x18004373e
jmp 0x180041104
mov rbx, qword [rsp + 0x48]
mov rax, qword [r15 + 0x60]
xor r9d, r9d
movsxd rcx, dword [rbx + 4]
xor edx, edx
mov dword [rbp + 4], r14d
mov rdi, qword [rax + rcx*8]
movsxd rax, dword [rbx + 0xc]
mov rcx, qword [rdi + 0x18]
imul rax, rax, 0x38
mov rbx, qword [rax + rsi]
lea rax, [rbp + 4]
mov r8, rbx
mov qword [rsp + 0x20], rax
call fcn.18002b470
mov r12, qword [rsp + 0x48]
mov qword [rdi + 0x40], rbx
mov dword [rsp + 0x54], eax
mov eax, dword [rbp + 4]
mov dword [rdi + 0x58], r14d
mov word [rdi + 2], 0
mov dword [rdi + 0x30], eax
test eax, eax
je 0x180043436
cmp dword [r12 + 8], 0
jne 0x180043733
mov ecx, 0x132c8
call fcn.1800a2d50
mov dword [rsp + 0x54], eax
jmp 0x18004343a
mov rbx, qword [rsp + 0x48]
movsxd rdx, dword [rbx + 8]
imul rdx, rdx, 0x38
add rdx, qword [r15 + 0x10]
test word [rdx + 8], r11w
je 0x1800411fd
mov rcx, rdx
call fcn.18003df30
mov r9, qword [rsp + 0x60]
mov r8d, 1
mov rdx, rax
mov r11d, 0x2460
jmp 0x180041206
mov eax, 4
mov word [rdx + 8], ax
mov rax, qword [r15 + 0x60]
movsxd rcx, dword [rbx + 4]
mov r12, rbx
mov rcx, qword [rax + rcx*8]
mov rax, qword [rcx + 0x38]
mov qword [rdx], rax
movsxd rcx, dword [rbx + 4]
mov rax, rbx
mov rax, qword [r15 + 0x60]
mov rdx, qword [rax + rcx*8]
inc qword [rdx + 0x38]
jmp 0x180041111
mov rax, qword [rsp + 0x48]
mov rbx, r14
mov edi, r14d
movsxd r12, dword [rax + 8]
mov qword [rbp - 0x50], rbx
mov dword [rbp - 0x60], r14d
imul r12, r12, 0x38
add r12, qword [r15 + 0x10]
test word [r12 + 8], r11w
je 0x18004126d
mov rcx, r12
call fcn.18003df30
mov r12, rax
mov rax, qword [rsp + 0x48]
jmp 0x180041278
mov ecx, 4
mov word [r12 + 8], cx
movsxd rcx, dword [rax + 4]
mov rax, qword [r15 + 0x60]
mov rsi, qword [rax + rcx*8]
test byte [rsi + 8], 2
jne 0x180041325
mov rbx, qword [rsi + 0x18]
cmp byte [rbx + 0x56], 1
jne 0x18004129e
test byte [rbx + 0x54], 8
jne 0x1800412f0
mov rcx, rbx
call fcn.18002b010
mov dword [rsp + 0x54], eax
test eax, eax
jne 0x180043041
cmp byte [rbx + 0x56], al
jne 0x1800412c1
mov edi, 1
mov dword [rbp - 0x60], edi
jmp 0x1800412df
mov rcx, rbx
mov dword [rbp - 0x60], r14d
call fcn.18002b360
mov dword [rsp + 0x54], eax
test eax, eax
jne 0x1800412db
or byte [rbx + 0x54], 8
jmp 0x1800412df
and byte [rbx + 0x54], 0xf7
test eax, eax
jne 0x180043041
test edi, edi
je 0x1800412f0
lea ebx, [rax + 1]
jmp 0x180041321
mov rbx, qword [rsi + 0x18]
mov rcx, rbx
call fcn.18002a960
mov rbx, qword [rbx + 0x20]
movabs rax, 0x7fffffffffffffff
mov qword [rbp - 0x50], rbx
mov dword [rsp + 0x54], r14d
cmp rbx, rax
jl 0x18004131e
or dword [rsi + 8], 2
jmp 0x180041325
inc rbx
mov qword [rbp - 0x50], rbx
mov rax, qword [rsp + 0x48]
movsxd rdx, dword [rax + 0xc]
test edx, edx
je 0x1800413b4
mov rcx, qword [r15 + 0xf8]
test rcx, rcx
je 0x180041369
mov rax, qword [rcx + 8]
test rax, rax
je 0x18004135c
nop dword [rax + rax]
mov rcx, rax
mov rax, qword [rax + 8]
test rax, rax
jne 0x180041350
mov rdi, rdx
imul rdi, rdi, 0x38
add rdi, qword [rcx + 0x20]
jmp 0x180041375
mov rdi, rdx
imul rdi, rdi, 0x38
add rdi, qword [rsp + 0x70]
mov rcx, rdi
call fcn.1800341f0
mov ecx, 0x3e00
and word [rdi + 8], cx
or word [rdi + 8], 4
movabs rcx, 0x7fffffffffffffff
mov qword [rdi], rax
cmp rax, rcx
je 0x180041418
test byte [rsi + 8], 2
jne 0x180041418
inc rax
cmp rbx, rax
cmovl rbx, rax
mov qword [rbp - 0x50], rbx
mov qword [rdi], rbx
test byte [rsi + 8], 2
je 0x180041422
mov edi, r14d
nop dword [rax]
lea rdx, [rbp - 0x50]
mov ecx, 8
call fcn.1800147d0
mov rbx, qword [rbp - 0x50]
mov rcx, qword [rsi + 0x18]
movabs rax, 0x3fffffffffffffff
xor r9d, r9d
xor edx, edx
and rbx, rax
lea rax, [rbp - 0x60]
inc rbx
mov qword [rsp + 0x20], rax
mov r8, rbx
mov qword [rbp - 0x50], rbx
call fcn.18002b470
mov dword [rsp + 0x54], eax
test eax, eax
jne 0x180043041
cmp dword [rbp - 0x60], eax
jne 0x180041422
inc edi
cmp edi, 0x64
jl 0x1800413c0
mov eax, ntohs
jmp 0x180043041
mov byte [rsi + 3], 0
mov dword [rsi + 0x58], r14d
mov qword [r12], rbx
jmp 0x18003e7a4
mov rax, qword [rsp + 0x48]
movsxd rcx, dword [rax + 4]
movsxd r9, dword [rax + 8]
mov rax, qword [r15 + 0x60]
imul r9, r9, 0x38
mov rdi, qword [rax + rcx*8]
mov rcx, qword [rsp + 0x48]
add r9, rsi
cmp bl, 0x4b
jne 0x180041467
movsxd rax, dword [rcx + 0xc]
imul rax, rax, 0x38
mov rbx, qword [rax + rsi]
jmp 0x18004146b
movsxd rbx, dword [rcx + 0xc]
test byte [rcx + 3], 1
je 0x180041478
inc dword [r15 + 0x98]
test byte [rcx + 3], 2
je 0x180041486
mov qword [rbp - 0x40], rbx
mov qword [r13 + 0x30], rbx
movzx eax, word [r9 + 8]
test al, 1
je 0x180041497
mov qword [r9 + 0x10], r14
mov dword [r9 + 0xc], r14d
movzx r8d, byte [rcx + 3]
test r8b, 0x10
je 0x1800414a7
mov edx, dword [rdi + 0x30]
jmp 0x1800414aa
mov edx, r14d
mov ecx, 0x4000
test cx, ax
je 0x1800414b9
mov ecx, dword [r9]
jmp 0x1800414bc
mov ecx, r14d
mov dword [rsp + 0x38], edx
movzx eax, r8b
mov r8, rbx
shr eax, 3
xor edx, edx
and eax, 1
mov dword [rsp + 0x30], eax
mov eax, dword [r9 + 0xc]
mov r9, qword [r9 + 0x10]
mov dword [rsp + 0x28], ecx
mov rcx, qword [rdi + 0x18]
mov dword [rsp + 0x20], eax
call fcn.18002faa0
mov byte [rdi + 3], 0
mov dword [rdi + 0x58], r14d
mov dword [rsp + 0x54], eax
test eax, eax
jne 0x180043041
mov r10, qword [r13 + 0x110]
mov r12, qword [rsp + 0x48]
test r10, r10
je 0x18003e7ae
mov r9, qword [r12 + 0x10]
test r9, r9
je 0x18003e7ae
movsx rax, byte [rdi + 1]
mov r8, qword [r13 + 0x20]
mov edx, reloc.WS2_32.dll_select
shl rax, 5
test byte [r12 + 3], 4
mov ecx, reloc.WS2_32.dll_socket
mov r8, qword [rax + r8]
cmovne edx, ecx
mov rcx, qword [r13 + 0x108]
mov qword [rsp + 0x20], rbx
call r10
jmp 0x18003e7ae
cmp qword [r13 + 0x110], 0
mov rax, qword [rsp + 0x48]
movsxd rcx, dword [rax + 4]
mov rax, qword [r15 + 0x60]
mov rdi, qword [rax + rcx*8]
mov rax, qword [rsp + 0x48]
je 0x18004158d
cmp qword [rax + 0x10], 0
je 0x18004158d
cmp byte [rdi + 4], 0
je 0x18004158d
mov sil, 1
jmp 0x180041590
xor sil, sil
cmp byte [rax + 3], 0
je 0x1800415b4
test sil, sil
je 0x1800415b4
mov rbx, qword [rdi + 0x18]
mov rcx, rbx
call fcn.18002a960
mov r11, qword [rbx + 0x20]
mov rax, qword [rsp + 0x48]
mov qword [rdi + 0x40], r11
movzx edx, byte [rax + 3]
mov rcx, qword [rdi + 0x18]
call fcn.18002fd90
mov dword [rdi + 0x58], r14d
mov dword [rsp + 0x54], eax
test eax, eax
jne 0x180043041
test sil, sil
je 0x18004160c
mov rax, qword [rdi + 0x40]
movsx rcx, byte [rdi + 1]
mov r8, qword [r13 + 0x20]
shl rcx, 5
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x48]
mov r8, qword [rcx + r8]
mov r9, qword [rax + 0x10]
mov rcx, qword [r13 + 0x108]
mov edx, 9
call qword [r13 + 0x110]
mov r12, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x70]
mov r9, qword [rsp + 0x60]
mov r10d, dword [rsp + 0x58]
mov ebx, dword [rsp + 0x50]
mov r8d, 1
lea rdi, [0x180000000]
mov r11d, 0x2460
test byte [r12 + 8], r8b
je 0x18004111a
inc dword [r15 + 0x98]
jmp 0x18004111a
mov eax, dword [r15 + 0x98]
add dword [r13 + 0x68], eax
mov dword [r13 + 0x64], eax
mov dword [r15 + 0x98], r14d
jmp case.0x18003e10f.62
mov r8, qword [rsp + 0x48]
mov rax, qword [rsp + 0x48]
lea r9, [rbp - 0x10]
movsxd rdx, dword [r8 + 0xc]
movsxd rcx, dword [rax + 4]
mov rax, qword [r15 + 0x60]
imul rdx, rdx, 0x38
mov r8d, dword [r8 + 0x10]
mov rcx, qword [rax + rcx*8]
add rdx, rsi
mov dword [rbp - 0x10], r14d
call fcn.1800489d0
mov dword [rsp + 0x54], eax
test eax, eax
jne 0x180043041
mov r12, qword [rsp + 0x48]
mov r9, qword [rsp + 0x60]
lea r8d, [rax + 1]
cmp dword [rbp - 0x10], eax
jne 0x18004373e
jmp 0x18004110b
mov rax, qword [rsp + 0x48]
movsxd rdx, dword [rax + 8]
movsxd rcx, dword [rax + 4]
mov rax, qword [r15 + 0x60]
imul rdx, rdx, 0x38
mov rcx, qword [rax + rcx*8]
add rdx, rsi
call fcn.180048900
mov dword [rsp + 0x54], eax
test eax, eax
jne 0x180043041
mov rax, qword [rsp + 0x48]
movsxd rcx, dword [rax + 0xc]
mov rax, qword [r15 + 0x60]
mov rcx, qword [rax + rcx*8]
mov dword [rcx + 0x58], r14d
jmp 0x18003e6b8
mov rax, qword [rsp + 0x48]
movsxd rcx, dword [rax + 4]
movsxd rbx, dword [rax + 8]
mov rax, qword [r15 + 0x60]
imul rbx, rbx, 0x38
mov r12, qword [rax + rcx*8]
add rbx, rsi
cmp byte [r12 + 4], 0
mov rsi, qword [r12 + 0x18]
mov rcx, rsi
jne 0x18004174e
call fcn.18002a960
mov rdi, qword [rsi + 0x20]
movsxd rax, dword [r13 + 0x6c]
cmp rdi, rax
jg 0x180043abb
jmp 0x180041760
call fcn.18002a960
mov edi, dword [rsi + 0x30]
cmp edi, dword [r13 + 0x6c]
ja 0x180043abb
mov edx, 0x20
cmp edi, edx
cmova edx, edi
cmp dword [rbx + 0x20], edx
jge 0x180041784
xor r8d, r8d
mov rcx, rbx
call fcn.180033be0
test eax, eax
jne 0x18003fc28
jmp 0x180041791
mov rax, qword [rbx + 0x18]
and word [rbx + 8], 0xd
mov qword [rbx + 0x10], rax
mov r9, qword [rbx + 0x10]
mov eax, 0x3e00
xor edx, edx
and word [rbx + 8], ax
or word [rbx + 8], 0x10
mov dword [rbx + 0xc], edi
mov r8d, edi
mov rcx, rsi
cmp byte [r12 + 4], dl
jne 0x1800417c1
mov dword [rsp + 0x20], r14d
call fcn.18002ab90
jmp 0x1800417c6
call fcn.18002af10
mov dword [rsp + 0x54], eax
test eax, eax
jne 0x180043041
mov byte [rbx + 0xa], 1
jmp 0x18003e7a4
mov rbx, qword [rsp + 0x48]
movsxd rdi, dword [rbx + 8]
imul rdi, rdi, 0x38
add rdi, qword [r15 + 0x10]
test word [rdi + 8], r11w
je 0x180041811
mov rcx, rdi
call fcn.18003df30
mov r9, qword [rsp + 0x60]
mov r8d, 1
mov rdi, rax
mov r11d, 0x2460
jmp 0x18004181a
mov eax, 4
mov word [rdi + 8], ax
movsxd rcx, dword [rbx + 4]
mov rax, qword [r15 + 0x60]
mov rbx, qword [rax + rcx*8]
cmp byte [rbx + 2], 0
je 0x180041842
mov r12, qword [rsp + 0x48]
mov word [rdi + 8], r8w
lea rdi, [0x180000000]
jmp 0x180041111
cmp byte [rbx + 3], 0
je 0x18004185d
mov rax, qword [rbx + 0x40]
mov r12, qword [rsp + 0x48]
mov qword [rbp + 0x28], rax
mov qword [rdi], rax
jmp 0x18003e7ae
cmp byte [rbx], 2
jne 0x18004189f
mov rcx, qword [rbx + 0x18]
lea rdx, [rbp + 0x28]
mov rbx, qword [rcx]
mov rax, qword [rbx]
call qword [rax + 0x60]
mov rdx, rbx
mov rcx, r15
mov dword [rsp + 0x54], eax
call fcn.18003ab40
mov eax, dword [rsp + 0x54]
test eax, eax
jne 0x180043041
mov rax, qword [rbp + 0x28]
mov r12, qword [rsp + 0x48]
mov qword [rdi], rax
jmp 0x18003e7ae
mov rax, qword [rbx + 0x18]
cmp byte [rax + 0x56], 1
je 0x1800418bf
mov rcx, rbx
call fcn.1800393b0
mov dword [rsp + 0x54], eax
test eax, eax
jne 0x180043041
jmp 0x1800418c4
mov dword [rsp + 0x54], r14d
cmp byte [rbx + 2], 0
je 0x1800418eb
mov r12, qword [rsp + 0x48]
mov r9, qword [rsp + 0x60]
mov r8d, 1
mov word [rdi + 8], r8w
lea rdi, [0x180000000]
jmp 0x18004110b
mov rbx, qword [rbx + 0x18]
mov rcx, rbx
call fcn.18002a960
mov rax, qword [rbx + 0x20]
mov r12, qword [rsp + 0x48]
mov qword [rbp + 0x28], rax
mov dword [rsp + 0x54], r14d
mov qword [rdi], rax
jmp 0x18003e7ae
mov rax, qword [rsp + 0x48]
movsxd rcx, dword [rax + 4]
mov rax, qword [r15 + 0x60]
mov rbx, qword [rax + rcx*8]
cmp byte [rbx], 0
mov byte [rbx + 2], 1
mov dword [rbx + 0x58], r14d
jne 0x18003e65b
mov rbx, qword [rbx + 0x18]
mov rcx, qword [rbx + 0x40]
call fcn.180012120
mov qword [rbx + 0x40], r14
mov byte [rbx + 0x56], 0
jmp 0x18003e6b8
mov rax, qword [rsp + 0x48]
mov esi, r14d
movsxd rcx, dword [rax + 4]
mov rax, qword [r15 + 0x60]
mov rdi, qword [rax + rcx*8]
mov rbx, qword [rdi + 0x18]
cmp byte [rbx + 0x56], 1
jne 0x180041978
test byte [rbx + 0x54], 8
je 0x180041978
mov dword [rsp + 0x54], r14d
jmp 0x1800419cb
mov rcx, rbx
call fcn.18002b010
mov dword [rsp + 0x54], eax
test eax, eax
jne 0x1800419ba
cmp byte [rbx + 0x56], al
jne 0x180041998
mov r8d, 1
mov esi, r8d
jmp 0x1800419c0
mov rcx, rbx
call fcn.18002b360
mov r8d, 1
mov dword [rsp + 0x54], eax
test eax, eax
jne 0x1800419b4
or byte [rbx + 0x54], 8
jmp 0x1800419c0
and byte [rbx + 0x54], 0xf7
jmp 0x1800419c0
mov r8d, 1
mov r9, qword [rsp + 0x60]
mov r11d, 0x2460
mov rax, qword [rsp + 0x48]
mov byte [rdi + 2], sil
mov byte [rdi + 3], 0
mov dword [rdi + 0x58], r14d
mov eax, dword [rax + 0xc]
mov dword [rdi + 0x30], eax
mov eax, dword [rsp + 0x54]
test eax, eax
jne 0x180043041
mov r12, qword [rsp + 0x48]
cmp dword [r12 + 8], eax
jle 0x18003f862
test esi, esi
mov rsi, qword [rsp + 0x70]
jne 0x18004373e
lea rdi, [0x180000000]
jmp 0x180041111
inc dword [r15 + 0xb0]
mov rax, qword [rsp + 0x48]
mov edi, r8d
movsxd rcx, dword [rax + 4]
mov rax, qword [r15 + 0x60]
mov rsi, qword [rax + rcx*8]
cmp byte [rsi], 1
mov rbx, qword [rsi + 0x18]
jne 0x180041a8e
cmp byte [rbx + 0x58], 0
mov dword [rsp + 0x54], r14d
jne 0x180041a63
cmp qword [rbx + 0x38], 0
lea rdx, [rbx + 0x38]
je 0x180041abf
lea rcx, [rbx + 0x60]
mov edi, r14d
call fcn.1800467c0
mov dword [rsp + 0x54], eax
jmp 0x180041abf
mov rcx, rbx
call fcn.180047250
mov rcx, rbx
mov edx, eax
call fcn.180045f40
mov dword [rsp + 0x54], eax
test eax, eax
jne 0x180041abf
mov rcx, rbx
call fcn.180048600
mov edi, r14d
mov dword [rsp + 0x54], eax
jmp 0x180041abf
mov rcx, rbx
call fcn.18002b010
mov dword [rsp + 0x54], eax
test eax, eax
jne 0x180041ab7
cmp byte [rbx + 0x56], al
jne 0x180041aa8
lea edi, [rax + 1]
jmp 0x180041ab7
mov rcx, rbx
mov edi, r14d
call fcn.18002b260
mov dword [rsp + 0x54], eax
mov byte [rsi + 3], 0
mov dword [rsi + 0x58], r14d
mov eax, dword [rsp + 0x54]
test eax, eax
jne 0x180043041
mov r12, qword [rsp + 0x48]
mov r9, qword [rsp + 0x60]
mov byte [rsi + 2], dil
mov rsi, qword [rsp + 0x70]
lea r8d, [rax + 1]
test edi, edi
jmp 0x1800410fe
mov rax, qword [rsp + 0x48]
movsxd rcx, dword [rax + 4]
mov rax, qword [r15 + 0x60]
mov rdi, qword [rax + rcx*8]
mov dword [rbp - 0x68], r14d
mov rbx, qword [rdi + 0x18]
cmp byte [rbx + 0x58], 0
je 0x180041b45
cmp byte [rbx + 0x59], 0
je 0x180041b36
mov rcx, qword [rbx + 0x10]
call fcn.180045570
mov ecx, r14d
mov dword [rsp + 0x54], eax
mov rax, qword [rbx + 0x10]
cmp qword [rax + 0x18], 0
mov eax, dword [rsp + 0x54]
sete cl
mov dword [rbp - 0x68], ecx
jmp 0x180041bbf
mov rcx, qword [rbx + 0x18]
lea rdx, [rbp - 0x68]
call fcn.180047060
jmp 0x180041bbb
mov rdx, qword [rbx + 0x38]
mov rax, qword [rdx + 8]
mov qword [rbx + 0x38], rax
mov qword [rdx + 8], r14
cmp qword [rbx + 0x40], 0
jne 0x180041b64
mov rcx, r13
call fcn.180045c40
cmp qword [rbx + 0x38], 0
mov eax, r14d
sete al
mov dword [rbp - 0x68], eax
mov eax, r14d
jmp 0x180041bbb
mov rax, qword [rsp + 0x48]
movsxd rcx, dword [rax + 4]
mov rax, qword [r15 + 0x60]
cmp qword [rax + rcx*8], 0
je 0x18003e65b
mov rax, qword [rsp + 0x48]
lea rdx, [rbp - 0x68]
movsxd rcx, dword [rax + 4]
mov rax, qword [r15 + 0x60]
mov rdi, qword [rax + rcx*8]
mov rax, qword [rsp + 0x48]
mov eax, dword [rax + 0xc]
mov dword [rbp - 0x68], eax
mov rax, qword [rsp + 0x48]
mov rcx, qword [rdi + 0x18]
call qword [rax + reloc.WS2_32.dll_recv]
mov dword [rsp + 0x54], eax
mov dword [rdi + 0x58], r14d
test eax, eax
jne 0x180043041
mov r9, qword [rsp + 0x60]
mov r11d, 0x2460
cmp dword [rbp - 0x68], eax
jne 0x180041bf4
mov byte [rdi + 2], al
mov rax, qword [rsp + 0x48]
movzx eax, byte [rax + 3]
inc dword [r15 + rax*4 + 0xa8]
jmp case.0x18003e10f.13
mov byte [rdi + 2], 1
jmp 0x1800424cd
mov rax, qword [rsp + 0x48]
movsxd rcx, dword [rax + 4]
mov rax, qword [r15 + 0x60]
mov rdi, qword [rax + rcx*8]
mov rcx, qword [rsp + 0x48]
movsxd rbx, dword [rcx + 8]
imul rbx, rbx, 0x38
add rbx, rsi
test byte [rcx + 3], 1
je 0x180041c2b
inc dword [r15 + 0x98]
mov eax, 0x4000
test word [rbx + 8], ax
je 0x180041c4b
mov rcx, rbx
call fcn.180033dd0
test eax, eax
jne 0x180043041
mov rcx, qword [rsp + 0x48]
cmp byte [rcx], 0x6d
jne 0x180041c5d
mov rdx, rbx
mov rcx, rdi
call fcn.180047390
jmp 0x180041c9c
test byte [rcx + 3], 0x10
je 0x180041c68
mov eax, dword [rdi + 0x30]
jmp 0x180041c6b
mov eax, r14d
movsxd r8, dword [rbx + 0xc]
mov rdx, qword [rbx + 0x10]
mov dword [rsp + 0x38], eax
mov eax, dword [rcx + 0xc]
mov rcx, qword [rdi + 0x18]
lea r9, [0x18020cbb0]
mov dword [rsp + 0x30], eax
mov dword [rsp + 0x28], r14d
mov dword [rsp + 0x20], r14d
call fcn.18002faa0
mov dword [rdi + 0x58], r14d
mov dword [rsp + 0x54], eax
test eax, eax
jne 0x180043041
mov r12, qword [rsp + 0x48]
jmp 0x18003e7ae
mov rax, qword [rsp + 0x48]
lea rdx, [rbp + 0x160]
xor r9d, r9d
movsxd rcx, dword [rax + 4]
mov rax, qword [r15 + 0x60]
xor r8d, r8d
mov rbx, qword [rax + rcx*8]
mov rcx, qword [rsp + 0x48]
mov rax, qword [rbx + 0x28]
mov rdi, qword [rbx + 0x18]
mov byte [rbp + 0x172], 0
mov qword [rbp + 0x160], rax
movzx eax, word [rcx + 0xc]
mov word [rbp + 0x170], ax
movsxd rax, dword [rcx + 8]
mov rcx, rdi
imul rax, rax, 0x38
add rax, rsi
mov qword [rbp + 0x168], rax
lea rax, [rbp + 0x40]
mov qword [rsp + 0x20], rax
call fcn.18002b470
mov dword [rsp + 0x54], eax
test eax, eax
jne 0x180043041
cmp dword [rbp + 0x40], eax
jne 0x180041d40
mov dl, 4
mov rcx, rdi
call fcn.18002fd90
mov dword [rsp + 0x54], eax
test eax, eax
jne 0x180043041
mov r12, qword [rsp + 0x48]
mov dword [rbx + 0x58], r14d
jmp 0x18003e7ae
mov rax, qword [rsp + 0x48]
movsxd rcx, dword [rax + 4]
mov rax, qword [r15 + 0x60]
mov rbx, qword [rax + rcx*8]
mov rax, qword [rbx + 0x18]
cmp byte [rax + 0x56], 1
je 0x180041d8e
mov rcx, rbx
call fcn.1800393b0
mov dword [rsp + 0x54], eax
test eax, eax
jne 0x180043041
mov r9, qword [rsp + 0x60]
lea r8d, [rax + 1]
mov r11d, 0x2460
jmp 0x180041d93
mov dword [rsp + 0x54], r14d
cmp byte [rbx + 2], 0
jne 0x180041e3e
mov rdx, qword [rbx + 0x18]
lea r8, [rbp + 0x38]
mov rcx, r13
mov qword [rbp + 0x38], r14
call fcn.18003a7d0
mov dword [rsp + 0x54], eax
test eax, eax
jne 0x180043041
mov rax, qword [rsp + 0x48]
mov r11d, 0x2460
cmp byte [rax], 0x70
jne 0x180041dfd
movsxd rcx, dword [rax + 0xc]
mov rax, qword [r15 + 0x60]
mov rdx, qword [rax + rcx*8]
mov rax, qword [rbp + 0x38]
mov qword [rdx + 0x40], rax
mov rax, qword [rsp + 0x48]
mov word [rdx + 2], 0x100
mov rax, qword [rax + 0x10]
mov qword [rdx + 0x48], rbx
mov qword [rdx + 0x50], rax
jmp 0x18004017e
movsxd rcx, dword [rax + 8]
imul rcx, rcx, 0x38
add rcx, qword [r15 + 0x10]
test word [rcx + 8], r11w
je 0x180041e20
call fcn.18003df30
mov r11d, 0x2460
mov rcx, rax
jmp 0x180041e29
mov eax, 4
mov word [rcx + 8], ax
mov rax, qword [rbp + 0x38]
mov qword [rcx], rax
mov eax, 4
mov word [rcx + 8], ax
jmp 0x18004017e
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 8]
imul rax, rax, 0x38
add rax, rsi
test word [rax + 8], r11w
je 0x180041e62
mov rcx, rax
call fcn.1800340b0
jmp 0x18003e6b8
mov r12, qword [rsp + 0x48]
mov word [rax + 8], r8w
jmp 0x180041111
mov rax, qword [rsp + 0x48]
cmp bl, 0x74
lea r9, [rbp - 0x64]
movsxd rcx, dword [rax + 4]
mov rax, qword [r15 + 0x60]
lea r8, [rbp + 0x148]
mov rdx, qword [rax + rcx*8]
mov rcx, qword [rsp + 0x48]
mov dword [rbp - 0x64], r14d
mov rax, qword [rdx + 0x28]
mov qword [rbp + 0x148], rax
movzx eax, word [rcx + 0x10]
mov word [rbp + 0x158], ax
sbb al, al
mov byte [rbp + 0x15a], al
movsxd rax, dword [rcx + 0xc]
mov rcx, r13
imul rax, rax, 0x38
add rax, rsi
mov qword [rbp + 0x150], rax
call fcn.18003a9e0
mov dword [rsp + 0x54], eax
mov rax, qword [rsp + 0x48]
test byte [rax], 1
mov eax, dword [rbp - 0x64]
jne 0x180041ee6
neg eax
jmp 0x180041ee8
inc eax
mov ecx, dword [rsp + 0x54]
mov dword [rbp - 0x64], eax
test ecx, ecx
jne 0x18004303d
mov r12, qword [rsp + 0x48]
mov r9, qword [rsp + 0x60]
lea r8d, [rcx + 1]
test eax, eax
jg 0x18004373e
jmp 0x18004110b
mov rcx, qword [rsp + 0x48]
movsxd rdi, dword [rcx + 8]
imul rdi, rdi, 0x38
add rdi, qword [r15 + 0x10]
test word [rdi + 8], r11w
je 0x180041f42
mov rcx, rdi
call fcn.18003df30
mov rcx, qword [rsp + 0x48]
mov r8d, 1
mov rdi, rax
jmp 0x180041f4b
mov eax, 4
mov word [rdi + 8], ax
mov word [rdi + 8], r8w
mov eax, dword [r13 + 0xb8]
inc eax
cmp dword [r13 + 0xac], eax
jg 0x180043a0f
movsxd r13, dword [rcx + 0xc]
mov esi, dword [rcx + 4]
mov dword [rbp - 0x28], r14d
mov r14, qword [rsp + 0x78]
mov r12, r13
mov rax, qword [r14 + 0x20]
shl r12, 5
mov rbx, qword [r12 + rax + 8]
cmp byte [rbx + 0x11], 0
je 0x180041f9d
inc dword [rbx + 0x14]
cmp byte [rbx + 0x12], 0
jne 0x180041f9d
mov rcx, rbx
call fcn.180025f40
lea r8, [rbp - 0x28]
mov edx, esi
mov rcx, rbx
call fcn.180030870
cmp byte [rbx + 0x11], 0
mov dword [rsp + 0x54], eax
je 0x180041fc2
dec dword [rbx + 0x14]
jne 0x180041fc2
mov rcx, rbx
call fcn.180025f10
movsxd r8, dword [rbp - 0x28]
mov eax, 4
mov word [rdi + 8], ax
mov eax, dword [rsp + 0x54]
mov qword [rdi], r8
test eax, eax
jne 0x180043dd2
test r8d, r8d
je 0x18003ebab
mov rax, qword [rsp + 0x48]
mov r10, qword [r14 + 0x20]
mov r9d, dword [rax + 4]
mov rax, qword [r12 + r10 + 0x18]
mov rdx, qword [rax + 0x10]
test rdx, rdx
je 0x18004201b
mov rcx, qword [rdx + 0x10]
mov eax, dword [rcx + 0x38]
cmp eax, r8d
cmove eax, r9d
mov dword [rcx + 0x38], eax
mov rdx, qword [rdx]
test rdx, rdx
jne 0x180042002
mov rax, qword [r12 + r10 + 0x18]
mov rdx, qword [rax + 0x28]
test rdx, rdx
je 0x180042049
nop dword [rax]
mov rcx, qword [rdx + 0x10]
mov eax, dword [rcx + 0x58]
cmp eax, r8d
cmove eax, r9d
mov dword [rcx + 0x58], eax
mov rdx, qword [rdx]
test rdx, rdx
jne 0x180042030
lea eax, [r13 + 1]
xor r14d, r14d
mov byte [rsp + 0x40], al
jmp 0x18003e7a4
mov rax, qword [rsp + 0x48]
mov rcx, qword [r13 + 0x20]
mov r12, qword [rsp + 0x48]
cmp dword [rax + 0xc], 0
movsxd rax, dword [rax + 8]
mov edx, dword [r12 + 4]
mov dword [rbp - 0x24], r14d
lea r8, [rbp - 0x24]
cmove r8, r14
shl rax, 5
mov rcx, qword [rax + rcx + 8]
call fcn.180030790
cmp dword [r12 + 0xc], 0
mov dword [rsp + 0x54], eax
je 0x1800420ba
movsxd rax, dword [rbp - 0x24]
add dword [r15 + 0x98], eax
movsxd rcx, dword [r12 + 0xc]
test ecx, ecx
jle 0x1800420b6
imul rcx, rcx, 0x38
add qword [rcx + rsi], rax
mov eax, dword [rsp + 0x54]
test eax, eax
jne 0x180043041
mov r9, qword [rsp + 0x60]
lea r8d, [rax + 1]
jmp 0x18004110b
mov rax, qword [rsp + 0x48]
movsxd rcx, dword [rax + 4]
mov rax, qword [r15 + 0x60]
mov rcx, qword [rax + rcx*8]
cmp byte [rcx], 1
jne 0x1800420f7
mov rdx, qword [rcx + 0x18]
mov rcx, r13
call fcn.180046270
jmp 0x18003e6b8
mov rcx, qword [rcx + 0x18]
xor r8d, r8d
mov edx, dword [rcx + 0x48]
mov rcx, qword [rcx]
call fcn.180030790
mov dword [rsp + 0x54], eax
test eax, eax
jne 0x180043041
jmp 0x18003e6b8
mov rbx, qword [rsp + 0x48]
movsxd rdi, dword [rbx + 8]
imul rdi, rdi, 0x38
add rdi, qword [r15 + 0x10]
test word [rdi + 8], r11w
je 0x18004213f
mov rcx, rdi
call fcn.18003df30
mov rdi, rax
jmp 0x180042148
mov eax, 4
mov word [rdi + 8], ax
movsxd rax, dword [rbx + 4]
mov esi, r14d
mov dword [rbp], r14d
shl rax, 5
add rax, qword [r13 + 0x20]
cmp byte [rbx], 0x7a
mov rbx, qword [rax + 8]
setne sil
cmp byte [rbx + 0x11], 0
je 0x18004217d
inc dword [rbx + 0x14]
cmp byte [rbx + 0x12], 0
jne 0x18004217d
mov rcx, rbx
call fcn.180025f40
lea r8d, [rsi + 1]
lea rdx, [rbp]
mov rcx, rbx
call fcn.180030160
cmp byte [rbx + 0x11], 0
mov dword [rsp + 0x54], eax
je 0x1800421a8
dec dword [rbx + 0x14]
jne 0x1800421a8
mov rcx, rbx
call fcn.180025f10
mov eax, dword [rsp + 0x54]
test eax, eax
jne 0x180043041
movsxd rax, dword [rbp]
mov qword [rdi], rax
jmp 0x18003e7a4
mov rbx, qword [rsp + 0x48]
mov r8, qword [r13 + 0x20]
lea rax, str.sqlite_master
movsxd rcx, dword [rbx + 4]
mov qword [rbp + 0xd8], r13
lea r9, str.sqlite_temp_master
cmp ecx, 1
mov dword [rbp + 0xe8], ecx
lea rdx, str.SELECT_name__rootpage__sql_FROM__q._s_WHERE__s_ORDER_BY_rowid
cmovne r9, rax
shl rcx, 5
lea rax, [r15 + 0x48]
mov qword [rbp + 0xe0], rax
mov rax, qword [rbx + 0x10]
mov r8, qword [rcx + r8]
mov rcx, r13
mov qword [rsp + 0x20], rax
call fcn.180014420
mov rbx, rax
test rax, rax
je 0x180043a21
lea r9, [rbp + 0xd8]
lea r8, [fcn.180076bf0]
mov rdx, rax
mov rcx, r13
mov byte [r13 + 0xa5], 1
mov dword [rbp + 0xec], r14d
mov qword [rsp + 0x20], r14
call fcn.180071490
mov rdx, rbx
test eax, eax
mov rcx, r13
cmove eax, dword [rbp + 0xec]
mov dword [rsp + 0x54], eax
call fcn.1800121e0
mov ecx, dword [rsp + 0x54]
mov byte [r13 + 0xa5], 0
test ecx, ecx
je 0x18003e6b8
mov edi, 7
mov rcx, r13
call fcn.180059010
mov eax, dword [rsp + 0x54]
movzx r12d, byte [rsp + 0x40]
cmp eax, 7
je 0x180043dc8
mov edi, 1
jmp 0x18004304c
mov rax, qword [rsp + 0x48]
mov rcx, r13
mov edx, dword [rax + 4]
call fcn.180056cf0
mov dword [rsp + 0x54], eax
test eax, eax
jne 0x180043041
jmp 0x18003e6b8
mov rax, qword [rsp + 0x48]
mov rcx, r13
mov r8, qword [rax + 0x10]
mov edx, dword [rax + 4]
call fcn.1800594d0
jmp 0x18003e6b8
mov rax, qword [rsp + 0x48]
mov rcx, r13
mov r8, qword [rax + 0x10]
mov edx, dword [rax + 4]
call fcn.180058ca0
jmp 0x18003e6b8
mov rax, qword [rsp + 0x48]
mov rcx, r13
mov r8, qword [rax + 0x10]
mov edx, dword [rax + 4]
call fcn.180087540
jmp 0x18003e6b8
mov rax, qword [rsp + 0x48]
mov rcx, qword [r13 + 0x20]
lea rdx, [rbp + 0x20]
movsxd rbx, dword [rax + 0xc]
movsxd rdi, dword [rax + 4]
movzx eax, byte [rax + 3]
imul rbx, rbx, 0x38
imul rdi, rdi, 0x38
mov qword [rsp + 0x20], rdx
mov rdx, qword [rsp + 0x48]
shl rax, 5
mov r8d, dword [rdx + 8]
mov rdx, qword [rdx + 0x10]
mov rcx, qword [rax + rcx + 8]
add rbx, rsi
add rdi, rsi
mov r9d, dword [rbx]
call fcn.180031c20
movsxd r12, dword [rbp + 0x20]
sub qword [rbx], r12
mov rsi, rax
mov eax, 0x2460
test word [rdi + 8], ax
je 0x18004237f
mov rcx, rdi
call fcn.1800340b0
mov eax, 1
jmp 0x180042388
mov eax, 1
mov word [rdi + 8], ax
test r12d, r12d
je 0x1800423b4
test rsi, rsi
je 0x18003fc2d
lea rax, [fcn.180012120]
mov r9b, 1
or r8d, 0xffffffff
mov rdx, rsi
mov rcx, rdi
mov qword [rsp + 0x20], rax
call fcn.180034900
test byte [rdi + 8], 2
movzx ecx, byte [rsp + 0x68]
je 0x18003e7a4
movzx eax, byte [rdi + 0xa]
cmp eax, ecx
je 0x18003e7a4
movzx edx, cl
mov rcx, rdi
call fcn.180014bf0
jmp 0x18003e7a4
mov rax, qword [rsp + 0x48]
movsxd rbx, dword [rax + 4]
movsxd rdi, dword [rax + 8]
imul rbx, rbx, 0x38
imul rdi, rdi, 0x38
add rbx, rsi
test byte [rbx + 8], 0x20
jne 0x18004240f
mov rcx, rbx
call fcn.180034630
test byte [rbx + 8], 0x20
je 0x18003fc28
mov rdx, qword [rdi + rsi]
mov rcx, qword [rbx]
call fcn.18001ca40
mov r12, qword [rsp + 0x48]
jmp 0x18003e7ae
mov rax, qword [rsp + 0x48]
movsxd rbx, dword [rax + 4]
imul rbx, rbx, 0x38
add rbx, rsi
test byte [rbx + 8], 0x20
je 0x180042560
mov rdi, qword [rbx]
movzx eax, word [rdi + 0x32]
test al, 2
jne 0x180042471
test al, 1
jne 0x18004246c
mov rcx, qword [rdi + 0x10]
call fcn.18001cb00
mov r9, qword [rsp + 0x60]
mov r8d, 1
mov qword [rdi + 0x10], rax
mov r11d, 0x2460
or word [rdi + 0x32], 2
mov rax, qword [rdi + 0x10]
test rax, rax
je 0x180042560
mov rbx, qword [rax]
mov rax, qword [rax + 8]
mov qword [rdi + 0x10], rax
test rax, rax
jne 0x18004249c
mov rcx, rdi
call fcn.18001c930
mov r11d, 0x2460
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 0xc]
imul rax, rax, 0x38
add rax, rsi
test word [rax + 8], r11w
je 0x18004254f
mov rdx, rbx
mov rcx, rax
call fcn.180034570
mov r11d, 0x2460
mov r9, qword [rsp + 0x60]
mov eax, dword [r13 + 0x148]
test eax, eax
jne 0x180043d4f
mov r8, qword [r13 + 0x198]
mov r10d, dword [rsp + 0x58]
mov ebx, dword [rsp + 0x50]
test r8, r8
je 0x180043754
cmp ebx, r10d
jb 0x180043754
mov ecx, dword [r13 + 0x1a8]
xor edx, edx
mov eax, ebx
div ecx
sub ecx, edx
add ecx, ebx
mov dword [rsp + 0x58], ecx
mov rcx, qword [r13 + 0x1a0]
call r8
test eax, eax
jne 0x180043af4
mov r12, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x70]
mov r9, qword [rsp + 0x60]
mov r10d, dword [rsp + 0x58]
lea r8d, [rax + 1]
lea rdi, [0x180000000]
mov r11d, 0x2460
jmp 0x18004111a
mov ecx, 4
mov qword [rax], rbx
mov word [rax + 8], cx
jmp 0x1800424c8
test word [rbx + 8], r11w
je 0x180042574
mov rcx, rbx
call fcn.1800340b0
jmp 0x180043499
mov word [rbx + 8], r8w
jmp case.0x18003e10f.13
mov rax, qword [rsp + 0x48]
movsxd rbx, dword [rax + 4]
movsxd rdi, dword [rax + 0xc]
imul rbx, rbx, 0x38
imul rdi, rdi, 0x38
add rbx, rsi
add rdi, rsi
mov esi, dword [rax + 0x10]
test byte [rbx + 8], 0x20
jne 0x1800425b4
mov rcx, rbx
call fcn.180034630
test byte [rbx + 8], 0x20
je 0x18003fc28
test esi, esi
je 0x1800425cf
mov r8, qword [rdi]
mov rcx, qword [rbx]
mov edx, esi
call fcn.18001ce40
test eax, eax
jne 0x180043729
test esi, esi
js 0x18003e7a4
mov rdx, qword [rdi]
mov rcx, qword [rbx]
call fcn.18001ca40
jmp 0x18003e7a4
mov rax, qword [rsp + 0x48]
movsxd rsi, dword [rax + 0xc]
mov r12, qword [rax + 0x10]
imul rsi, rsi, 0x38
add rsi, qword [rsp + 0x70]
cmp byte [rax + 3], 0
je 0x180042625
mov rax, qword [r15 + 0xf8]
mov rcx, qword [r12 + 0x18]
test rax, rax
je 0x180042625
cmp qword [rax + 0x38], rcx
je 0x180043789
mov rax, qword [rax + 8]
test rax, rax
jne 0x180042612
mov eax, dword [r13 + 0x94]
cmp dword [r15 + 0x108], eax
jge 0x180043a2f
test byte [rsi + 8], 0x40
jne 0x180042753
mov ecx, dword [r12 + 0x10]
mov eax, dword [r12 + 0xc]
lea ebx, [rcx + rax]
test ecx, ecx
jne 0x180042656
inc ebx
mov eax, dword [r12 + 0x14]
mov ecx, ebx
imul ecx, ecx, 7
add ecx, dword [r12 + 0x10]
lea ecx, [rax + rcx*8 + 0x78]
movsxd rdx, ecx
mov rcx, r13
call fcn.180012480
mov rdi, rax
test rax, rax
je 0x18003fc28
mov eax, 0x2460
test word [rsi + 8], ax
jne 0x180042691
cmp dword [rsi + 0x20], 0
je 0x180042699
mov rcx, rsi
call fcn.180034140
mov rcx, qword [rsp + 0x48]
mov qword [rsi], rdi
mov eax, 0x40
sub rcx, qword [rsp + 0x60]
mov word [rsi + 8], ax
mov qword [rdi], r15
mov dword [rdi + 0x64], ebx
mov eax, dword [r12 + 0x10]
mov dword [rdi + 0x68], 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 [r15 + 0x10]
mov qword [rdi + 0x20], rax
mov eax, dword [r15 + 0x38]
mov dword [rdi + 0x5c], eax
mov rax, qword [r15 + 0x60]
mov qword [rdi + 0x30], rax
mov eax, dword [r15 + 0x40]
mov dword [rdi + 0x50], eax
mov rax, qword [r15 + 8]
mov qword [rdi + 0x10], rax
mov eax, dword [r15 + 0x3c]
mov dword [rdi + 0x58], eax
mov rax, qword [r12 + 0x18]
mov qword [rdi + 0x38], rax
mov rax, qword [r15 + 0x120]
mov qword [rdi + 0x28], rax
mov eax, dword [r15 + 0x118]
mov dword [rdi + 0x60], eax
movsxd rax, ebx
imul rax, rax, 0x38
lea rcx, [rax + rdi + 0x78]
lea rax, [rdi + 0x78]
cmp rax, rcx
je 0x180042756
mov edx, 0x80
mov word [rax + 8], dx
mov qword [rax + 0x28], r13
add rax, 0x38
cmp rax, rcx
jne 0x180042740
jmp 0x180042756
mov rdi, qword [rsi]
inc dword [r15 + 0x108]
mov rax, qword [r15 + 0xf8]
lea rsi, [rdi + 0x78]
mov qword [rdi + 8], rax
mov rax, qword [rbp - 0x40]
mov qword [rsp + 0x70], rsi
mov qword [rdi + 0x40], rax
mov eax, dword [r15 + 0x98]
mov dword [rdi + 0x6c], eax
mov rax, qword [r15]
mov ecx, dword [rax + 0x64]
mov dword [rdi + 0x70], ecx
mov rax, qword [r15 + 0x128]
mov qword [rdi + 0x48], rax
mov qword [r15 + 0x128], r14
mov dword [r15 + 0x98], r14d
mov qword [r15 + 0xf8], rdi
mov qword [r15 + 0x10], rsi
movsxd rax, dword [rdi + 0x64]
mov dword [r15 + 0x38], eax
movzx edx, word [rdi + 0x68]
mov rcx, rax
mov dword [r15 + 0x40], edx
imul rcx, rcx, 0x38
add rcx, rsi
mov qword [r15 + 0x60], rcx
mov r8, qword [r12]
lea rcx, [rcx + rdx*8]
mov qword [r15 + 8], r8
mov eax, dword [r12 + 8]
lea rdx, [r8 - 0x18]
mov qword [r15 + 0x120], rcx
mov dword [r15 + 0x3c], eax
movsxd rax, dword [r12 + 0x14]
mov qword [rsp + 0x60], r8
mov qword [rsp + 0x48], rdx
mov r8, rax
xor edx, edx
mov dword [r15 + 0x118], eax
call fcn.180189610
mov r12, qword [rsp + 0x48]
jmp 0x18003e7ae
mov rdx, qword [rsp + 0x48]
mov rcx, r15
call fcn.18003df80
mov r9, qword [r15 + 0xf8]
movsxd rcx, dword [r9 + 0x54]
lea rdx, [rcx + rcx*2]
mov rcx, qword [r9 + 0x10]
mov r8d, dword [rcx + rdx*8 + 4]
mov rcx, qword [rsp + 0x48]
add r8d, dword [rcx + 4]
mov rcx, rax
movsxd rdx, r8d
mov r8d, 0x1000
imul rdx, rdx, 0x38
add rdx, qword [r9 + 0x20]
call fcn.180034790
jmp 0x18003e6b8
test dword [r13 + 0x2c], 0x1000000
mov rax, qword [rsp + 0x48]
mov r12, rax
je 0x180042886
movsxd rax, dword [rax + 8]
add qword [r13 + 0x288], rax
jmp case.0x18003e10f.62
cmp dword [rax + 4], 0
mov ebx, dword [rsp + 0x50]
movsxd rax, dword [rax + 8]
je 0x1800428a0
add qword [r13 + 0x280], rax
jmp 0x18004111a
add qword [r15 + 0xd0], rax
jmp 0x18004111a
cmp dword [r12 + 4], 0
je 0x1800428d5
cmp qword [r13 + 0x280], 0
jne case.0x18003e10f.62
cmp qword [r13 + 0x288], 0
je 0x18004373e
jmp case.0x18003e10f.62
cmp qword [r15 + 0xd0], 0
jne case.0x18003e10f.62
cmp qword [r13 + 0x288], 0
je 0x18004373e
jmp case.0x18003e10f.62
mov rcx, qword [r15 + 0xf8]
test rcx, rcx
je 0x18004292f
mov rax, qword [rcx + 8]
test rax, rax
je 0x18004291c
nop dword [rax + rax]
mov rcx, rax
mov rax, qword [rax + 8]
test rax, rax
jne 0x180042910
mov rax, qword [rsp + 0x48]
movsxd rdi, dword [rax + 4]
imul rdi, rdi, 0x38
add rdi, qword [rcx + 0x20]
jmp 0x18004293f
mov rax, qword [rsp + 0x48]
movsxd rdi, dword [rax + 4]
imul rdi, rdi, 0x38
add rdi, rsi
mov rcx, rdi
call fcn.180034350
mov rax, qword [rsp + 0x48]
movsxd rbx, dword [rax + 8]
imul rbx, rbx, 0x38
add rbx, rsi
mov rcx, rbx
call fcn.180034350
mov r11, qword [rbx]
mov r12, qword [rsp + 0x48]
mov r9, qword [rsp + 0x60]
mov r10d, dword [rsp + 0x58]
mov ebx, dword [rsp + 0x50]
mov r8d, 1
cmp qword [rdi], r11
jge 0x180042983
mov qword [rdi], r11
lea rdi, [0x180000000]
mov r11d, 0x2460
jmp 0x18004111a
mov rcx, qword [rsp + 0x48]
mov r12, qword [rsp + 0x48]
movsxd rcx, dword [rcx + 4]
imul rcx, rcx, 0x38
mov rdx, qword [rcx + rsi]
test rdx, rdx
jle case.0x18003e10f.62
mov rax, r12
movsxd rax, dword [rax + 0xc]
sub rdx, rax
mov qword [rcx + rsi], rdx
jmp 0x18004373e
mov rax, qword [rsp + 0x48]
mov rcx, r15
movsxd rbx, dword [rax + 4]
movsxd rdi, dword [rax + 0xc]
mov rdx, rax
imul rbx, rbx, 0x38
imul rdi, rdi, 0x38
call fcn.18003df80
mov rdx, qword [rbx + rsi]
mov r11, rax
test rdx, rdx
jg 0x180042a04
mov r12, qword [rsp + 0x48]
or rcx, 0xffffffffffffffff
mov qword [rax], rcx
jmp 0x18003e7ae
mov rax, qword [rdi + rsi]
mov r12, qword [rsp + 0x48]
mov rcx, r14
test rax, rax
cmovg rcx, rax
add rcx, rdx
mov qword [r11], rcx
jmp 0x18003e7ae
mov rcx, qword [rsp + 0x48]
mov r12, qword [rsp + 0x48]
movsxd rcx, dword [rcx + 4]
imul rcx, rcx, 0x38
mov rdx, qword [rcx + rsi]
test rdx, rdx
je case.0x18003e10f.62
mov rax, r12
movsxd rax, dword [rax + 0xc]
sub rdx, rax
mov qword [rcx + rsi], rdx
jmp 0x18004373e
mov rax, qword [rsp + 0x48]
mov r12, qword [rsp + 0x48]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x38
dec qword [rax + rsi]
je 0x18004373e
jmp case.0x18003e10f.62
mov rax, qword [rsp + 0x48]
mov r12, qword [rsp + 0x48]
movsxd rdx, dword [rax + 4]
imul rdx, rdx, 0x38
mov rcx, qword [rdx + rsi]
lea rax, [rcx + 1]
mov qword [rdx + rsi], rax
test rcx, rcx
je 0x18004373e
jmp case.0x18003e10f.62
mov rax, qword [rsp + 0x48]
mov rcx, r13
movzx ebx, byte [rax + 3]
lea eax, [rbx - 1]
movsxd rdx, eax
lea rdx, [rdx*8 + 0x38]
call fcn.180012520
mov r11, rax
test rax, rax
je 0x18003fc28
mov qword [rax + 0x10], r14
mov rax, qword [rsp + 0x48]
mov rcx, qword [rax + 0x10]
mov qword [r11 + 0x18], r15
mov byte [r11 + 0x2a], bl
mov qword [r11 + 8], rcx
mov rcx, rax
movabs rax, 0x2aaaaaaaaaaaaaab
sub rcx, qword [rsp + 0x60]
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov rax, qword [rsp + 0x48]
mov dword [r11 + 0x20], edx
mov qword [rax + 0x10], r11
mov word [rax], 0xec90
jmp 0x180042b21
mov rax, qword [rsp + 0x48]
movsxd r10, dword [rax + 0xc]
mov rbx, qword [rax + 0x10]
imul r10, r10, 0x38
add r10, rsi
cmp qword [rbx + 0x10], r10
je 0x180042b73
movzx edx, byte [rbx + 0x2a]
mov qword [rbx + 0x10], r10
dec edx
movsxd r8, edx
js 0x180042b73
mov r13, qword [rsp + 0x48]
lea r9, [rbx + r8*8 + 0x30]
nop
mov eax, dword [r13 + 8]
sub r9, 8
add eax, edx
dec edx
cdqe
imul rax, rax, 0x38
add rax, rsi
dec r8
mov qword [r9 + 8], rax
jns 0x180042b50
mov r13, qword [rsp + 0x78]
inc dword [r10 + 0xc]
mov qword [rbp + 0x138], r13
mov dword [rbp + 0x130], r14d
lea rax, [rbp + 0x110]
mov edi, 1
lea r8, [rbx + 0x30]
mov word [rbp + 0x118], di
movzx edx, byte [rbx + 0x2a]
mov qword [rbx], rax
mov rax, qword [rbx + 8]
mov rcx, rbx
mov word [rbx + 0x28], 0
call qword [rax + 0x18]
cmp byte [rbx + 0x29], 0
je 0x180042c4f
cmp dword [rbx + 0x24], 0
je 0x180042c20
movzx eax, word [rbp + 0x118]
mov ecx, 0x202
and ax, cx
cmp ax, cx
jne 0x180042be9
cmp byte [rbp + 0x11a], dil
jne 0x180042be9
mov rax, qword [rbp + 0x120]
jmp 0x180042c07
test byte [rbp + 0x118], dil
je 0x180042bf7
mov rax, r14
jmp 0x180042c07
lea rcx, [rbp + 0x110]
movzx edx, dil
call fcn.180034ce0
lea rdx, [0x18021319c]
mov r8, rax
mov rcx, r15
call fcn.180035470
mov eax, dword [rbx + 0x24]
mov dword [rsp + 0x54], eax
mov eax, 0x2460
test word [rbp + 0x118], ax
jne 0x180042c37
cmp dword [rbp + 0x130], 0
je 0x180042c43
lea rcx, [rbp + 0x110]
call fcn.180034140
mov eax, dword [rsp + 0x54]
test eax, eax
jne 0x180043046
cmp byte [rbx + 0x28], 0
je 0x180042c85
mov rax, qword [rsp + 0x48]
mov r11d, 0x2460
movsxd rax, dword [rax - 0x14]
test eax, eax
je 0x180043770
imul rax, rax, 0x38
add rax, rsi
test word [rax + 8], r11w
je 0x180042c9e
mov rdx, rdi
mov rcx, rax
call fcn.180034570
mov r12, qword [rsp + 0x48]
mov r9, qword [rsp + 0x60]
mov r8, rdi
lea rdi, [0x180000000]
jmp 0x18004110b
mov r12, qword [rsp + 0x48]
mov r9, qword [rsp + 0x60]
mov ecx, 4
mov r8, rdi
mov qword [rax], rdi
mov word [rax + 8], cx
lea rdi, [0x180000000]
jmp 0x180041111
mov rax, qword [rsp + 0x48]
movsxd rbx, dword [rax + 4]
mov rdx, qword [rax + 0x10]
imul rbx, rbx, 0x38
add rbx, rsi
mov rcx, rbx
call fcn.180033fb0
mov dword [rsp + 0x54], eax
test eax, eax
jne 0x180043a48
test byte [rbx + 8], 2
movzx ecx, byte [rsp + 0x68]
je 0x180042d09
movzx eax, byte [rbx + 0xa]
cmp eax, ecx
je 0x180042d09
movzx edx, cl
mov rcx, rbx
call fcn.180014bf0
mov rcx, rbx
call fcn.180034720
test eax, eax
jne 0x180043abb
jmp 0x18003e6b8
mov rbx, qword [rsp + 0x48]
lea rax, [rbp + 0x1b8]
lea r9, [rbp + 0x1b4]
mov r8d, dword [rbx + 8]
mov edx, dword [rbx + 4]
mov rcx, r13
mov dword [rbp + 0x1b0], r14d
mov qword [rbp + 0x1b4], 0xffffffffffffffff
mov qword [rsp + 0x20], rax
call fcn.1800a1260
mov dword [rsp + 0x54], eax
test eax, eax
je 0x180042d77
cmp eax, 5
jne 0x180043041
mov dword [rsp + 0x54], r14d
mov dword [rbp + 0x1b0], 1
movsxd rbx, dword [rbx + 0xc]
mov rdi, r14
mov r11d, 0x2460
imul rbx, rbx, 0x38
add rbx, rsi
mov esi, 4
movsxd rax, dword [rbp + rdi*4 + 0x1b0]
test word [rbx + 8], r11w
je 0x180042db2
mov rdx, rax
mov rcx, rbx
call fcn.180034570
mov r11d, 0x2460
jmp 0x180042db9
mov qword [rbx], rax
mov word [rbx + 8], si
inc rdi
add rbx, 0x38
cmp rdi, 3
jl 0x180042d90
mov rsi, qword [rsp + 0x70]
lea rdi, [0x180000000]
jmp 0x18004017e
mov rdx, qword [rsp + 0x48]
mov rcx, r15
call fcn.18003df80
mov rcx, qword [r13 + 0x20]
mov r12, rax
mov rax, qword [rsp + 0x48]
mov ebx, dword [rax + 0xc]
movsxd rdx, dword [rax + 4]
shl rdx, 5
cmp ebx, 0xffffffff
mov r13, qword [rdx + rcx + 8]
mov rcx, qword [r13 + 8]
mov rdi, qword [rcx]
movzx esi, byte [rdi + 9]
cmove ebx, esi
cmp byte [rdi + 0x15], 3
jae 0x180042e28
mov rax, qword [rdi + 0x50]
cmp qword [rax], 0
je 0x180042e2a
cmp qword [rdi + 0x60], 0
jle 0x180042e2a
mov ebx, esi
cmp byte [rdi + 0x14], 0
lea rcx, [0x18020cbb0]
jne 0x180042e3e
mov rcx, qword [rdi + 0xd0]
cmp ebx, 5
jne 0x180042e91
call fcn.180015360
test eax, eax
je 0x180042e58
mov rcx, rdi
call fcn.1800229a0
test eax, eax
jne 0x180042e91
mov ebx, esi
mov eax, dword [rsp + 0x54]
test eax, eax
je 0x180042e64
mov ebx, esi
mov edx, ebx
mov rcx, rdi
call fcn.180022830
mov ecx, 0xa02
lea rdi, [0x180000000]
mov word [r12 + 8], cx
cmp eax, 6
jne 0x180042f13
mov rcx, r14
jmp 0x180042f1d
cmp ebx, esi
je 0x180042e5a
cmp esi, 5
je 0x180042e9f
cmp ebx, 5
jne 0x180042e5a
mov rax, qword [rsp + 0x78]
cmp byte [rax + 0x53], 0
je 0x180043a5f
cmp dword [rax + 0xac], 1
jg 0x180043a5f
cmp esi, 5
jne 0x180042edc
mov rcx, rdi
call fcn.180022b90
mov dword [rsp + 0x54], eax
test eax, eax
jne 0x180042e62
mov edx, ebx
mov rcx, rdi
call fcn.180022830
jmp 0x180042ef7
cmp esi, 4
jne 0x180042eec
lea edx, [rsi - 2]
mov rcx, rdi
call fcn.180022830
cmp dword [rsp + 0x54], 0
jne 0x180042e62
mov edx, r14d
cmp ebx, 5
mov rcx, r13
sete dl
inc edx
call fcn.180032380
mov dword [rsp + 0x54], eax
jmp 0x180042e5e
cdqe
mov rcx, qword [rdi + rax*8 + 0x20eb48]
mov qword [r12 + 0x10], rcx
call fcn.180015360
mov byte [r12 + 0xa], 1
mov dword [r12 + 0xc], eax
movzx eax, byte [rsp + 0x68]
cmp eax, 1
je 0x180042f47
movzx edx, al
mov rcx, r12
call fcn.180014bf0
mov eax, dword [rsp + 0x54]
test eax, eax
je 0x18003fcc0
mov r13, qword [rsp + 0x78]
jmp 0x180043041
lea rcx, [r15 + 0x48]
mov rdx, r13
call fcn.18008b2a0
mov dword [rsp + 0x54], eax
test eax, eax
jne 0x180043041
mov r9, qword [rsp + 0x60]
lea r8d, [rax + 1]
jmp 0x18004110b
mov rax, qword [rsp + 0x48]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x20]
shl rcx, 5
mov rcx, qword [rcx + rax + 8]
call fcn.180029bb0
mov dword [rsp + 0x54], eax
test eax, eax
je 0x18003e6b8
cmp eax, 0x65
jne 0x180043041
mov dword [rsp + 0x54], r14d
jmp 0x18004372e
cmp dword [r12 + 4], 0
jne 0x180042fd2
mov rcx, r13
call fcn.18003ab10
jmp case.0x18003e10f.62
or dword [r15 + 0x8c], 1
jmp case.0x18003e10f.62
movzx r8d, byte [r12 + 0xc]
test r8b, r8b
jne 0x180042ff9
mov eax, 0x4000
test dword [r13 + 0x2c], eax
jne 0x18003e214
movsxd rax, dword [r12 + 4]
mov rcx, qword [r13 + 0x20]
mov edx, dword [r12 + 8]
shl rax, 5
mov rcx, qword [rax + rcx + 8]
call fcn.1800321e0
mov dword [rsp + 0x54], eax
test eax, eax
je 0x18003e6bd
cmp al, 6
jne 0x180043041
mov rax, qword [rsp + 0x48]
lea rdx, str.database_table_is_locked:__s
mov r8, qword [rax + 0x10]
mov rcx, r15
call fcn.180035470
mov eax, dword [rsp + 0x54]
mov edi, 1
movzx r12d, byte [rsp + 0x40]
lea rbx, str.unknown_error
mov esi, 7
cmp byte [r13 + 0x55], 0
cmovne eax, esi
cmp qword [r15 + 0x48], 0
mov dword [rsp + 0x54], eax
jne 0x180043dff
cmp eax, 0xc0a
je 0x180043dff
cmp eax, 0x204
je 0x180043de2
movzx eax, al
cmp eax, 0x1a
ja 0x180043de9
lea rcx, [0x180000000]
mov rcx, qword [rcx + rax*8 + 0x2111d0]
test rcx, rcx
je 0x180043de9
mov rbx, rcx
jmp 0x180043de9
mov rax, qword [rsp + 0x48]
mov rcx, r13
mov rbx, qword [rax + 0x10]
mov rdx, rbx
call fcn.18008d120
mov dword [rsp + 0x54], eax
test rbx, rbx
je 0x1800430de
mov rdx, qword [rbx + 0x10]
mov rcx, r15
call fcn.18003ab40
mov eax, dword [rsp + 0x54]
test eax, eax
jne 0x180043041
jmp 0x18003e6b8
xor eax, eax
lea rcx, [rbp + 0x50]
mov qword [rbp + 0x78], rax
mov qword [rbp + 0x50], rax
mov qword [rbp + 0x58], rax
mov qword [rbp + 0x60], rax
mov qword [rbp + 0x68], rax
mov qword [rbp + 0x70], rax
mov qword [rbp + 0x80], rax
mov rax, qword [rsp + 0x48]
mov qword [rbp + 0x78], r13
movsxd rdx, dword [rax + 8]
imul rdx, rdx, 0x38
add rdx, rsi
call fcn.1800347e0
mov rcx, qword [rbp + 0x58]
mov edx, 0x202
mov dword [rsp + 0x54], eax
movzx eax, cx
and ax, dx
cmp ax, dx
jne 0x18004314d
cmp byte [rbp + 0x5a], 1
jne 0x18004314d
mov rax, qword [rbp + 0x60]
jmp 0x180043161
test cl, 1
jne 0x180043185
lea rcx, [rbp + 0x50]
mov dl, 1
call fcn.180034ce0
mov rcx, qword [rbp + 0x58]
test rax, rax
je 0x180043185
mov r8, rax
mov rax, qword [rsp + 0x48]
lea r9, [r15 + 0x48]
mov edx, dword [rax + 4]
mov rcx, r13
call fcn.18008cb20
mov rcx, qword [rbp + 0x58]
mov dword [rsp + 0x54], eax
mov r11d, 0x2460
test r11w, cx
jne 0x180043197
cmp dword [rbp + 0x70], 0
je 0x1800431a6
lea rcx, [rbp + 0x50]
call fcn.180034140
mov r11d, 0x2460
mov eax, dword [rsp + 0x54]
test eax, eax
jne 0x180043041
jmp 0x18004017e
mov rax, qword [rsp + 0x48]
inc dword [r13 + 0xb8]
mov rcx, r13
mov r8, qword [rax + 0x10]
mov edx, dword [rax + 4]
call fcn.18008ce60
dec dword [r13 + 0xb8]
mov dword [rsp + 0x54], eax
test eax, eax
jne 0x180043041
jmp 0x18003e6b8
mov rax, qword [rsp + 0x48]
mov qword [rbp + 0x10], r14
mov rax, qword [rax + 0x10]
mov rbx, qword [rax + 0x10]
test rbx, rbx
je 0x180043aa0
mov rdi, qword [rbx]
test rdi, rdi
je 0x180043aa0
lea rdx, [rbp + 0x10]
mov rcx, rbx
call qword [rdi + 0x30]
mov rdx, rbx
mov rcx, r15
mov dword [rsp + 0x54], eax
call fcn.18003ab40
mov eax, dword [rsp + 0x54]
test eax, eax
jne 0x180043041
mov rax, qword [rbp + 0x10]
or r9d, 0xffffffff
xor r8d, r8d
mov qword [rax], rbx
mov rax, qword [rsp + 0x48]
mov rcx, r15
mov edx, dword [rax + 4]
mov byte [rsp + 0x20], 2
call fcn.18003dbc0
mov rcx, qword [rbp + 0x10]
test rax, rax
je 0x180043a98
mov r12, qword [rsp + 0x48]
mov qword [rax + 0x18], rcx
inc dword [rbx + 8]
jmp 0x18003e7ae
mov rax, qword [rsp + 0x48]
movsxd rcx, dword [rax + 4]
movsxd rdx, dword [rax + 0xc]
mov rax, qword [r15 + 0x60]
imul rdx, rdx, 0x38
mov r12, qword [rax + rcx*8]
add rdx, rsi
mov rcx, r14
mov rbx, qword [r12 + 0x18]
movsxd r9, dword [rdx + 0x38]
mov r13d, dword [rdx]
mov rsi, qword [rbx]
lea r10, [rdx + 0x38]
mov rdx, qword [r15 + 0x18]
mov rdi, qword [rsi]
test r9d, r9d
jle 0x1800432da
nop word [rax + rax]
movsxd rax, r8d
inc rcx
inc r8d
imul rax, rax, 0x38
add rax, r10
mov qword [rdx + rcx*8 - 8], rax
cmp rcx, r9
jl 0x1800432c0
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0x20], rdx
mov rcx, rbx
mov r8, qword [rax + 0x10]
mov edx, r13d
call qword [rdi + 0x40]
mov rdx, rsi
mov rcx, r15
mov dword [rsp + 0x54], eax
call fcn.18003ab40
mov eax, dword [rsp + 0x54]
test eax, eax
jne 0x180042f53
mov rcx, rbx
call qword [rdi + 0x50]
mov rsi, qword [rsp + 0x70]
mov r9, qword [rsp + 0x60]
mov byte [r12 + 2], 0
mov r12, qword [rsp + 0x48]
test eax, eax
mov r8d, 1
jmp 0x1800410fe
mov rax, qword [rsp + 0x48]
mov r12, qword [rsp + 0x48]
movsxd rcx, dword [rax + 4]
mov rax, qword [r15 + 0x60]
movsxd rdi, dword [r12 + 0xc]
imul rdi, rdi, 0x38
mov rcx, qword [rax + rcx*8]
add rdi, rsi
cmp byte [rcx + 2], 0
je 0x180043381
test word [rdi + 8], r11w
je 0x180043370
mov rcx, rdi
call fcn.1800340b0
jmp 0x18003e7ae
mov word [rdi + 8], r8w
lea rdi, [0x180000000]
jmp case.0x18003e10f.62
mov rax, qword [rcx + 0x18]
xor edx, edx
mov rbx, qword [rax]
mov rax, qword [rbx]
mov qword [rbp + 0x178], rdx
mov qword [rbp + 0x180], rdx
mov qword [rbp + 0x188], rdx
mov qword [rbp + 0x190], rdx
mov qword [rbp + 0x198], rdx
mov qword [rbp + 0x1a0], rdx
mov qword [rbp + 0x1a8], rdx
mov qword [rbp + 0x178], rdi
mov edx, 0x3e00
and word [rdi + 8], dx
or word [rdi + 8], 1
mov r8d, dword [r12 + 8]
mov rcx, qword [rcx + 0x18]
lea rdx, [rbp + 0x178]
call qword [rax + 0x58]
mov rdx, rbx
mov rcx, r15
mov dword [rsp + 0x54], eax
call fcn.18003ab40
mov eax, dword [rbp + 0x19c]
mov ecx, dword [rsp + 0x54]
test eax, eax
cmovne ecx, eax
test byte [rdi + 8], 2
mov dword [rsp + 0x54], ecx
movzx ecx, byte [rsp + 0x68]
je 0x180043426
movzx eax, byte [rdi + 0xa]
cmp eax, ecx
je 0x180043426
movzx edx, cl
mov rcx, rdi
call fcn.180014bf0
mov rcx, rdi
call fcn.180034720
test eax, eax
jne 0x180043abb
mov eax, dword [rsp + 0x54]
test eax, eax
jne 0x180043041
jmp 0x18003e7ae
mov rax, qword [rsp + 0x48]
movsxd rcx, dword [rax + 4]
mov rax, qword [r15 + 0x60]
mov rdi, qword [rax + rcx*8]
cmp byte [rdi + 2], 0
jne 0x18003f1b9
mov rcx, qword [rdi + 0x18]
mov rbx, qword [rcx]
mov rsi, qword [rbx]
call qword [rsi + 0x48]
mov rdx, rbx
mov rcx, r15
mov dword [rsp + 0x54], eax
call fcn.18003ab40
mov eax, dword [rsp + 0x54]
test eax, eax
jne 0x180043041
mov rcx, qword [rdi + 0x18]
call qword [rsi + 0x50]
test eax, eax
jne 0x1800424c2
mov r9, qword [rsp + 0x60]
mov r11d, 0x2460
mov rax, qword [rsp + 0x48]
mov eax, dword [rax + 8]
dec eax
cdqe
lea rcx, [rax + rax*2]
lea rax, [r9 + rcx*8]
mov qword [rsp + 0x48], rax
jmp 0x1800424cd
mov rcx, qword [rsp + 0x48]
movsxd rbx, dword [rcx + 4]
mov rax, qword [rcx + 0x10]
mov rdi, qword [rax + 0x10]
imul rbx, rbx, 0x38
add rbx, rsi
test byte [rbx + 8], 2
je 0x1800434f8
cmp byte [rbx + 0xa], 1
je 0x1800434f8
mov dl, 1
mov rcx, rbx
call fcn.180014bf0
test eax, eax
jne 0x180043041
mov rax, qword [rdi]
mov rdx, qword [rbx + 0x10]
mov rcx, rdi
call qword [rax + 0x98]
mov rdx, rdi
mov rcx, r15
mov dword [rsp + 0x54], eax
call fcn.18003ab40
and dword [r15 + 0x8c], 0xfffffffe
mov eax, dword [rsp + 0x54]
jmp 0x180041ca0
mov rax, qword [rsp + 0x48]
mov rax, qword [rax + 0x10]
mov rbx, qword [rax + 0x10]
test rbx, rbx
je 0x180043aa0
mov r10, qword [rbx]
test r10, r10
je 0x180043aa0
cmp qword [r10 + 0x68], 0
mov r12, qword [rsp + 0x48]
movsxd rdx, dword [r12 + 8]
je 0x180041111
movsxd rcx, dword [r12 + 0xc]
movzx edi, byte [r13 + 0x5a]
mov r8, qword [r15 + 0x18]
imul rcx, rcx, 0x38
add rcx, rsi
mov rax, r14
test edx, edx
jle 0x180043590
nop dword [rax + rax]
mov qword [r8 + rax*8], rcx
inc rax
add rcx, 0x38
cmp rax, rdx
jl 0x180043580
mov rax, r12
lea r9, [rbp + 0xf0]
mov rcx, rbx
movzx eax, byte [rax + 3]
mov byte [r13 + 0x5a], al
call qword [r10 + 0x68]
mov rdx, rbx
mov rcx, r15
mov byte [r13 + 0x5a], dil
mov dword [rsp + 0x54], eax
call fcn.18003ab40
mov eax, dword [rsp + 0x54]
mov rcx, r12
test eax, eax
jne 0x1800435db
cmp dword [rcx + 4], eax
je 0x1800435db
mov rdx, qword [rbp + 0xf0]
mov qword [rbp - 0x40], rdx
mov qword [r13 + 0x30], rdx
cmp al, 0x13
jne 0x18004361c
mov rax, qword [rcx + 0x10]
cmp byte [rax + 0x1c], 0
je 0x18004361c
mov rax, r12
movzx eax, byte [rax + 3]
cmp al, 4
jne 0x1800435fe
mov dword [rsp + 0x54], r14d
jmp 0x18003e7ae
cmp al, 5
jne 0x180043610
mov eax, 2
mov byte [r15 + 0x8a], al
jmp 0x180043623
movzx eax, al
mov byte [r15 + 0x8a], al
jmp 0x180043623
inc dword [r15 + 0x98]
mov eax, dword [rsp + 0x54]
test eax, eax
jne 0x180043041
jmp 0x18003e7ae
mov rdx, qword [rsp + 0x48]
mov rcx, r15
call fcn.18003df80
mov rcx, qword [rsp + 0x48]
movsxd rdx, dword [rcx + 4]
mov rcx, qword [r13 + 0x20]
shl rdx, 5
mov rdx, qword [rdx + rcx + 8]
mov rcx, qword [rdx + 8]
mov edx, dword [rcx + 0x40]
mov qword [rax], rdx
jmp 0x18003e6b8
mov rdx, qword [rsp + 0x48]
mov rcx, r15
call fcn.18003df80
mov rcx, qword [r13 + 0x20]
mov rbx, rax
mov rax, qword [rsp + 0x48]
movsxd rdx, dword [rax + 4]
mov r8d, dword [rax + 0xc]
shl rdx, 5
mov r9, qword [rdx + rcx + 8]
mov edx, r14d
test r8d, r8d
je 0x1800436a6
mov rcx, qword [r9 + 8]
mov edx, dword [rcx + 0x40]
cmp edx, r8d
cmovb edx, r8d
mov rcx, r9
call fcn.180028a60
movsxd rcx, eax
mov qword [rbx], rcx
jmp 0x18003e6b8
cmp qword [r13 + 0xc8], 0
je 0x18004371b
test byte [r15 + 0x8c], 2
jne 0x18004371b
mov rdx, qword [r12 + 0x10]
test rdx, rdx
jne 0x1800436e3
mov rdx, qword [r15 + 0xe8]
test rdx, rdx
je 0x18004371b
mov rcx, r15
call fcn.18003d630
mov rcx, qword [r13 + 0xd0]
mov rdx, rax
mov rbx, rax
call qword [r13 + 0xc8]
mov rdx, rbx
mov rcx, r13
call fcn.1800121e0
mov r9, qword [rsp + 0x60]
mov r8d, 1
mov r11d, 0x2460
cmp dword [r12 + 8], 0
je 0x180041111
jmp 0x18004373e
mov rsi, qword [rsp + 0x70]
mov r12, qword [rsp + 0x48]
mov r9, qword [rsp + 0x60]
mov r8d, 1
mov eax, dword [r12 + 8]
dec eax
cdqe
lea rcx, [rax + rax*2]
lea r12, [r9 + rcx*8]
jmp 0x180041104
mov r12, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x70]
mov r8d, 1
lea rdi, [0x180000000]
jmp 0x18004111a
mov r12, qword [rsp + 0x48]
mov r9, qword [rsp + 0x60]
mov r8, rdi
lea rdi, [0x180000000]
jmp 0x180041111
mov r12, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x70]
jmp case.0x18003e10f.62
mov ecx, dword [rdx + 4]
mov dword [r15 + 0x84], ecx
movzx eax, byte [rdx + 8]
mov dword [r15 + 0x80], ebx
mov byte [r15 + 0x8a], al
test ecx, ecx
je 0x18004383c
movzx eax, byte [rdx + 3]
test al, al
je 0x1800437f1
movzx eax, al
mov r14, qword [rdi + rax*8 + 0x20dcc8]
test r14, r14
je 0x1800437f1
mov r9, qword [rdx + 0x10]
test r9, r9
je 0x1800437f1
lea rdx, str._s_constraint_failed:__s
mov r8, r14
mov rcx, r15
call fcn.180035470
jmp 0x180043815
mov r8, qword [rdx + 0x10]
mov rcx, r15
test r8, r8
je 0x180043806
lea rdx, [0x18021319c]
jmp 0x180043810
mov r8, r14
lea rdx, str._s_constraint_failed
call fcn.180035470
mov rax, qword [r15 + 0x48]
mov r9, qword [r15 + 0xe8]
lea rdx, str.abort_at__d_in___s_:__s
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x48]
mov r8d, ebx
mov ecx, dword [rax + 4]
call fcn.180014770
mov rcx, r15
call fcn.1800385b0
cmp eax, 5
jne 0x180043857
mov ebx, eax
mov dword [r15 + 0x84], eax
jmp 0x180043ef3
cmp dword [r15 + 0x84], 0
mov ebx, 0x65
mov eax, 1
cmovne ebx, eax
jmp 0x180043ef3
mov ecx, 0x12c96
call fcn.1800a2d50
mov r13, qword [rsp + 0x78]
mov r15, rdi
jmp 0x180043041
cmp qword [r12 + 0x68], 0
jne 0x1800438b3
mov eax, 0x2460
test word [rbp + 0xa8], ax
jne 0x1800438a7
cmp dword [rbp + 0xc0], 0
je 0x1800438b3
lea rcx, [rbp + 0xa0]
call fcn.180034140
mov ecx, 0x12cd3
call fcn.1800a2d50
mov r13, qword [rsp + 0x78]
mov r15, qword [rbp - 0x78]
jmp 0x180043041
lea rdx, str.cannot_open_savepoint___SQL_statements_in_progress
mov rcx, r15
call fcn.180035470
mov eax, 5
jmp 0x180043041
lea rdx, str.cannot_release_savepoint___SQL_statements_in_progress
mov rcx, r15
call fcn.180035470
mov eax, 5
jmp 0x180043041
mov rcx, qword [rsp + 0x48]
mov r15, rbx
movabs rax, 0x2aaaaaaaaaaaaaab
sub rcx, qword [rsp + 0x60]
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov dword [rbx + 0x80], edx
mov ebx, 5
mov byte [r13 + 0x53], 0
mov dword [r15 + 0x84], ebx
jmp 0x180043ef3
lea rdx, str.FOREIGN_KEY_constraint_failed
mov rcx, rbx
mov r15, rbx
mov dword [rbx + 0x84], 0x313
mov byte [rbx + 0x8a], 2
call fcn.180035470
mov ebx, edi
jmp 0x180043ef3
mov eax, 8
jmp 0x180043041
mov rcx, qword [rsp + 0x48]
mov ebx, dword [rsp + 0x54]
movabs rax, 0x2aaaaaaaaaaaaaab
sub rcx, qword [rsp + 0x60]
mov dword [r15 + 0x84], ebx
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov dword [r15 + 0x80], edx
jmp 0x180043ef3
mov rdx, qword [r15 + 0x48]
mov rcx, r13
call fcn.1800121e0
lea rdx, str.database_schema_has_changed
mov rcx, r13
call fcn.1800127f0
mov qword [r15 + 0x48], rax
mov rax, r12
movsxd rdx, dword [rax + 4]
mov rax, qword [r13 + 0x20]
mov rcx, rdx
shl rcx, 5
mov rcx, qword [rcx + rax + 0x18]
cmp dword [rcx], edi
je 0x1800439f3
mov rcx, r13
call fcn.180058fc0
or dword [r15 + 0x8c], 1
mov eax, select
jmp 0x180043041
mov eax, 0x204
jmp 0x180043041
mov eax, 6
mov byte [r15 + 0x8a], 2
jmp 0x180043041
mov edi, 7
mov dword [rsp + 0x54], edi
jmp 0x180042280
lea rdx, str.too_many_levels_of_trigger_recursion
mov rcx, r15
mov dword [rsp + 0x54], r8d
call fcn.180035470
jmp 0x18004303d
mov rcx, rbx
call fcn.18003b100
lea rdx, [0x18021319c]
mov r8, rax
jmp 0x180043035
lea rax, str.into
cmp ebx, 5
lea r8, str.out_of
lea rdx, str.cannot_change__s_wal_mode_from_within_a_transaction
mov edi, 1
mov rcx, r15
cmove r8, rax
mov dword [rsp + 0x54], edi
call fcn.180035470
mov r13, qword [rsp + 0x78]
mov eax, edi
jmp 0x180043046
call qword [rdi + 0x38]
jmp 0x18003fc28
mov eax, 6
jmp 0x180043041
mov r13, qword [rsp + 0x78]
mov r15, qword [rbp - 0x78]
jmp 0x180043abb
mov r13, rcx
mov r15, rdi
lea rdx, str.string_or_blob_too_big
mov rcx, r15
call fcn.180035470
mov eax, reloc.WS2_32.dll_select
jmp 0x180043041
mov rax, qword [r13 + 0x198]
test rax, rax
je 0x180043b04
cmp dword [rsp + 0x50], r10d
jb 0x180043b04
mov rcx, qword [r13 + 0x1a0]
call rax
test eax, eax
je 0x180043afe
mov eax, 9
jmp 0x180043041
mov r8d, 1
cmp qword [r15 + 0xd0], 0
mov rcx, r15
jle 0x180043b3c
mov dword [r15 + 0x84], 0x313
mov byte [r15 + 0x8a], 2
lea rdx, str.FOREIGN_KEY_constraint_failed
call fcn.180035470
mov edi, 1
mov eax, edi
jmp 0x180043046
mov edx, r8d
call fcn.1800383e0
mov eax, dword [r15 + 0x7c]
mov rcx, qword [rsp + 0x48]
add eax, 2
mov edi, r14d
or eax, 1
mov dword [r15 + 0x7c], eax
movsxd rax, dword [rcx + 4]
imul rax, rax, 0x38
add rsi, rax
mov qword [r15 + 0x28], rsi
cmp dword [rcx + 8], 0
jle 0x180043bcc
lea rbx, [rsi + 8]
mov r12d, 0x202
nop dword [rax]
mov eax, 0x1000
test word [rbx], ax
je 0x180043ba6
movsxd rcx, edi
imul rcx, rcx, 0x38
add rcx, rsi
call fcn.180033d40
test eax, eax
jne 0x18003fc28
mov rcx, qword [rsp + 0x48]
movzx eax, word [rbx]
and ax, r12w
cmp ax, 2
jne 0x180043bc1
lea rcx, [rbx - 8]
call fcn.180033e40
mov rcx, qword [rsp + 0x48]
inc edi
add rbx, 0x38
cmp edi, dword [rcx + 8]
jl 0x180043b80
cmp byte [r13 + 0x55], 0
jne 0x18003fc28
sub rcx, qword [rsp + 0x60]
movabs rax, 0x2aaaaaaaaaaaaaab
mov ebx, 0x64
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
inc edx
mov dword [r15 + 0x80], edx
jmp 0x180043ef3
mov rax, qword [rsp + 0x48]
mov ebx, dword [rax + 4]
mov ecx, dword [rax + 8]
movzx eax, byte [r13 + 0x53]
cmp ebx, eax
je 0x180043d20
test ecx, ecx
je 0x180043c3a
mov edx, 0x204
mov rcx, r13
call fcn.1800a0280
mov byte [r13 + 0x53], 1
jmp 0x180043ca7
test ebx, ebx
je 0x180043c61
cmp dword [r13 + 0xb0], 0
jle 0x180043c61
lea rdx, str.cannot_commit_transaction___SQL_statements_in_progress
mov rcx, r15
call fcn.180035470
mov eax, 5
jmp 0x180043041
mov rax, qword [r15]
mov rcx, qword [rax + 0x288]
add rcx, qword [rax + 0x280]
test rcx, rcx
jle 0x180043ca3
lea rdx, str.FOREIGN_KEY_constraint_failed
mov rcx, r15
mov dword [r15 + 0x84], 0x313
mov byte [r15 + 0x8a], 2
call fcn.180035470
mov ebx, 1
jmp 0x180043ef3
mov byte [r13 + 0x53], bl
mov rcx, r15
call fcn.1800385b0
cmp eax, 5
jne 0x180043cfc
mov rcx, qword [rsp + 0x48]
movabs rax, 0x2aaaaaaaaaaaaaab
sub rcx, qword [rsp + 0x60]
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov eax, 1
sub al, bl
mov ebx, 5
mov dword [r15 + 0x80], edx
mov byte [r13 + 0x53], al
mov dword [r15 + 0x84], ebx
jmp 0x180043ef3
mov rcx, r13
call fcn.18009f710
cmp dword [r15 + 0x84], 0
mov ebx, 0x65
mov eax, 1
cmove eax, ebx
mov ebx, eax
jmp 0x180043ef3
test ebx, ebx
jne 0x180043d33
lea rdx, str.cannot_start_a_transaction_within_a_transaction
mov rcx, r15
jmp 0x180043b2b
test ecx, ecx
lea rax, str.cannot_rollback___no_transaction_is_active
lea rdx, str.cannot_commit___no_transaction_is_active
cmovne rdx, rax
mov rcx, r15
jmp 0x180043b2b
movzx r12d, byte [rsp + 0x40]
lea rdi, [0x180000000]
cmp byte [r13 + 0x55], 0
mov eax, 9
mov esi, 7
cmovne eax, esi
lea rbx, str.unknown_error
mov dword [rsp + 0x54], eax
mov dword [r15 + 0x84], eax
mov r8, rbx
cmp eax, 0x204
je 0x180043da4
movzx eax, al
cmp eax, 0x1a
ja 0x180043dab
mov rcx, qword [rdi + rax*8 + 0x2111d0]
test rcx, rcx
je 0x180043dab
mov r8, rcx
jmp 0x180043dab
lea r8, str.abort_due_to_ROLLBACK
lea rdx, [0x18021319c]
mov rcx, r15
call fcn.180035470
mov eax, dword [rsp + 0x54]
mov edi, 1
jmp 0x180043058
mov eax, 1
jmp 0x18003fc38
mov r13, r14
jmp 0x180043041
mov rdi, rbx
jmp 0x180043046
lea rbx, str.abort_due_to_ROLLBACK
lea rdx, [0x18021319c]
mov r8, rbx
mov rcx, r15
call fcn.180035470
mov eax, dword [rsp + 0x54]
mov dword [r15 + 0x84], eax
cmp eax, 0xc0a
je 0x180043e35
movzx eax, al
cmp eax, 0xe
je 0x180043e1a
cmp eax, 0xa
jne 0x180043e35
mov rcx, qword [r13]
mov rax, qword [rcx + 0x80]
test rax, rax
je 0x180043e31
xor r8d, r8d
xor edx, edx
call rax
mov dword [r13 + 0x4c], eax
mov rcx, qword [rsp + 0x48]
mov r9, qword [r15 + 0xe8]
movabs rax, 0x2aaaaaaaaaaaaaab
sub rcx, qword [rsp + 0x60]
imul rcx
mov rax, qword [r15 + 0x48]
mov ecx, dword [rsp + 0x54]
sar rdx, 2
mov qword [rsp + 0x20], rax
mov r8, rdx
shr r8, 0x3f
add r8, rdx
lea rdx, str.statement_aborts_at__d:___s___s
call fcn.180014770
mov rcx, r15
call fcn.1800385b0
cmp dword [rsp + 0x54], 0xc0a
jne 0x180043eb7
cmp byte [r13 + 0x55], 0
jne 0x180043eb7
cmp byte [r13 + 0x56], 0
jne 0x180043eb7
cmp dword [r13 + 0xb4], 0
mov byte [r13 + 0x55], 1
jle 0x180043eb0
mov dword [r13 + 0x148], edi
inc dword [r13 + 0x150]
mov ebx, edi
mov dword [rsp + 0x54], ebx
test r12b, r12b
je 0x180043ef3
mov rcx, qword [r13 + 0x20]
movzx ebx, r12b
dec ebx
movsxd rax, ebx
shl rax, 5
mov rcx, qword [rax + rcx + 0x18]
call fcn.180061b90
cmp ebx, 1
je 0x180043eef
mov rcx, qword [r13 + 0x20]
mov rcx, qword [rcx + 0x38]
call fcn.180061b90
mov ebx, dword [rsp + 0x54]
mov rax, qword [rbp - 0x40]
mov qword [r13 + 0x30], rax
mov eax, dword [rsp + 0x50]
add dword [r15 + 0xb8], eax
cmp dword [r15 + 0xa0], 0
je 0x180043f18
mov rcx, r15
call fcn.180036a90
mov eax, ebx
mov rcx, qword [rbp + 0x2c0]
xor rcx, rsp
call fcn.180183a50
lea r11, [rsp + 0x3d0]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret