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

Disassembly:
mov r11, rsp
push rbp
push r13
lea rbp, [r11 - 0x268]
sub rsp, 0x358
mov rax, qword [0x18016f298]
xor rax, rsp
mov qword [rbp + 0x220], rax
mov rax, qword [rcx + 0x68]
mov r13, rcx
mov qword [r11 + 0x10], rbx
xor bl, bl
mov qword [r11 + 0x18], rsi
mov qword [r11 + 0x20], rdi
mov rdi, qword [rcx + 0x70]
mov qword [r11 - 0x18], r12
xor r12d, r12d
mov qword [r11 - 0x20], r14
mov qword [r11 - 0x28], r15
mov r15, qword [rcx]
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x38], rax
movaps xmmword [r11 - 0x38], xmm6
movzx eax, byte [r15 + 0x5e]
mov byte [rsp + 0x48], al
mov qword [rsp + 0x60], rcx
mov dword [rsp + 0x44], r12d
mov qword [rsp + 0x70], r15
mov byte [rsp + 0x30], bl
mov dword [rbp - 0x80], r12d
mov dword [rsp + 0x40], r12d
mov qword [rsp + 0x58], rdi
call fcn.180034410
cmp dword [r13 + 0x38], 7
lea r9, [0x180000000]
lea r14d, [r12 + 1]
je 0x18003d57a
mov qword [r13 + 0x48], r12
mov qword [r13 + 0x88], r12
mov eax, dword [r15 + 0x160]
mov dword [r15 + 0x238], r12d
test eax, eax
jne 0x180041efe
or edx, 0xffffffff
cmp qword [r15 + 0x1b0], r12
je 0x18003b6f1
mov r8d, dword [r15 + 0x1c0]
xor edx, edx
mov eax, dword [r13 + 0xe0]
div r8d
sub r8d, edx
mov dword [rbp - 0x68], r8d
or edx, 0xffffffff
jmp 0x18003b6f4
mov dword [rbp - 0x68], edx
movsxd rax, dword [r13 + 0x34]
mov r11d, 4
mov r9, qword [rsp + 0x50]
mov r10d, 0x2400
xorps xmm6, xmm6
lea rcx, [rax + rax*2]
mov eax, r12d
lea rsi, [r9 + rcx*8]
movzx ebx, byte [rsi]
inc eax
mov qword [rsp + 0x38], rsi
mov r8d, 0x80
mov dword [rsp + 0x40], eax
cmp ebx, 0xa9
ja case.default.0x18003b74f
lea rcx, [0x180000000]
mov ecx, dword [rcx + rbx*4 + 0x4216c]
lea rax, [0x180000000]
add rcx, rax
jmp rcx
mov rcx, qword [rsp + 0x38]
movsxd rax, dword [rcx + 4]
sub rcx, r9
imul r8, rax, 0x38
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
mov word [r8 + rdi + 8], r11w
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rax, rdx
cdqe
mov qword [r8 + rdi], rax
jmp 0x18003d02a
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
imul rdx, rax, 0x38
mov rax, qword [rdx + rdi]
mov word [rdx + rdi + 8], r8w
lea rcx, [rax + rax*2]
lea rsi, [r9 + rcx*8]
jmp case.0x18003b74f.86
mov rax, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
imul rcx, rax, 0x38
mov rax, qword [rsp + 0x38]
mov eax, dword [rax + 0xc]
dec eax
mov word [rcx + rdi + 8], r11w
cdqe
mov qword [rcx + rdi], rax
cmp dword [rsi + 8], 0
jne 0x180041018
jmp case.0x18003b74f.86
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
imul rdx, rax, 0x38
mov rax, qword [rdx + rdi]
lea rcx, [rax + rax*2]
mov eax, dword [r9 + rcx*8 + 8]
dec eax
mov word [rdx + rdi + 8], r8w
cdqe
lea rcx, [rax + rax*2]
lea rsi, [r9 + rcx*8]
jmp case.0x18003b74f.86
mov rbx, qword [rsp + 0x38]
movsxd rax, dword [rbx + 4]
sub rbx, r9
imul r8, rax, 0x38
movabs rax, 0x2aaaaaaaaaaaaaab
imul rbx
movsxd rcx, dword [r8 + rdi]
sar rdx, 2
mov rax, rdx
mov word [r8 + rdi + 8], r11w
shr rax, 0x3f
add rax, rdx
lea rcx, [rcx + rcx*2]
cdqe
lea rsi, [r9 + rcx*8]
mov qword [r8 + rdi], rax
jmp case.0x18003b74f.86
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 0xc]
imul rcx, rax, 0x38
test byte [rcx + rdi + 8], 1
je 0x18003b975
mov rcx, qword [rsp + 0x38]
movabs rax, 0x2aaaaaaaaaaaaaab
sub rcx, r9
imul rcx
mov rbx, rdx
mov rdx, qword [rsp + 0x38]
sar rbx, 2
mov rax, rbx
shr rax, 0x3f
add rbx, rax
cmp dword [rdx + 4], 0
jne 0x180041946
mov rcx, qword [r13 + 0x100]
test rcx, rcx
je 0x180041946
mov rax, qword [rcx + 8]
dec dword [r13 + 0x110]
mov qword [r13 + 0x100], rax
mov eax, dword [r13 + 0x3c]
add dword [r15 + 0x78], eax
mov dword [r15 + 0x74], eax
call fcn.1800351b0
mov rcx, qword [rsp + 0x38]
cmp dword [rcx + 8], 4
jne 0x18003b8fc
cdqe
lea rcx, [rax + rax*2]
mov rax, qword [r13 + 0x68]
mov eax, dword [rax + rcx*8 + 8]
dec eax
mov r9, qword [r13 + 0x68]
mov rdi, qword [r13 + 0x70]
cdqe
mov qword [rsp + 0x50], r9
mov qword [rsp + 0x58], rdi
lea rcx, [rax + rax*2]
lea rsi, [r9 + rcx*8]
jmp 0x180041920
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 8]
imul rcx, rax, 0x38
add rcx, qword [r13 + 0x70]
test word [rcx + 8], r10w
je 0x18003b964
call fcn.18003b5b0
mov r9, qword [rsp + 0x50]
mov rcx, rax
mov rax, qword [rsp + 0x38]
mov r10d, 0x2400
mov rsi, qword [rsp + 0x38]
mov r11d, 4
movsxd rax, dword [rax + 4]
mov qword [rcx], rax
jmp case.0x18003b74f.86
mov rax, qword [rsp + 0x38]
mov word [rcx + 8], r11w
movsxd rax, dword [rax + 4]
mov qword [rcx], rax
mov rsi, qword [rsp + 0x38]
jmp case.0x18003b74f.86
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 8]
imul rdx, rax, 0x38
add rdx, qword [r13 + 0x70]
test word [rdx + 8], r10w
je 0x18003b9b5
mov rcx, rdx
call fcn.18003b5b0
mov r9, qword [rsp + 0x50]
mov rdx, rax
mov r10d, 0x2400
mov r11d, 4
jmp 0x18003b9ba
mov word [rdx + 8], r11w
mov rax, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x38]
mov rax, qword [rax + 0x10]
mov rcx, qword [rax]
mov qword [rdx], rcx
jmp case.0x18003b74f.86
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 8]
imul rdx, rax, 0x38
add rdx, qword [r13 + 0x70]
test word [rdx + 8], r10w
je 0x18003ba12
mov rcx, rdx
call fcn.18003b5b0
mov r9, qword [rsp + 0x50]
mov rdx, rax
mov eax, 8
mov r10d, 0x2400
mov r11d, 4
mov word [rdx + 8], ax
jmp 0x18003b9ba
mov eax, 8
mov word [rdx + 8], r11w
mov word [rdx + 8], ax
jmp 0x18003b9ba
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 8]
imul rbx, rax, 0x38
add rbx, qword [r13 + 0x70]
test word [rbx + 8], r10w
je 0x18003ba47
mov rcx, rbx
call fcn.18003b5b0
mov rbx, rax
jmp 0x18003ba4c
mov word [rbx + 8], r11w
mov rax, qword [rsp + 0x38]
mov rdx, qword [rax + 0x10]
mov byte [rax], 0x48
test rdx, rdx
jne 0x18003ba62
mov eax, r12d
jmp 0x18003ba74
or rax, 0xffffffffffffffff
inc rax
cmp byte [rdx + rax], 0
jne 0x18003ba66
and eax, 0x3fffffff
mov rcx, qword [rsp + 0x38]
movzx esi, byte [rsp + 0x48]
mov dword [rcx + 4], eax
cmp sil, 1
je 0x18003bb04
mov r9b, 1
mov qword [rsp + 0x20], r12
or r8d, 0xffffffff
mov rcx, rbx
call fcn.180031c20
test byte [rbx + 8], 2
mov dword [rsp + 0x44], eax
movzx ecx, sil
je 0x18003bac4
movzx eax, byte [rbx + 0xa]
cmp eax, ecx
je 0x18003bac4
movzx edx, cl
mov rcx, rbx
call fcn.180012db0
test eax, eax
jne 0x18003d575
mov eax, 0x800
mov dword [rbx + 0x20], r12d
or word [rbx + 8], ax
mov rax, qword [rsp + 0x38]
cmp byte [rax + 1], 0xf9
jne 0x18003baed
mov rdx, qword [rax + 0x10]
mov rcx, r15
call fcn.180010110
mov rax, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x38]
mov byte [rax + 1], 0xf9
mov rax, qword [rbx + 0x10]
mov qword [rcx + 0x10], rax
mov eax, dword [rbx + 0xc]
mov dword [rcx + 4], eax
mov eax, dword [r15 + 0x7c]
cmp dword [rcx + 4], eax
jg 0x180041c2f
mov r10d, 0x2400
mov r11d, 4
movsxd rax, dword [rcx + 8]
imul rdx, rax, 0x38
add rdx, qword [r13 + 0x70]
test word [rdx + 8], r10w
je 0x18003bb5a
mov rcx, rdx
call fcn.18003b5b0
mov rcx, qword [rsp + 0x38]
mov rdx, rax
mov r10d, 0x2400
mov r11d, 4
jmp 0x18003bb5f
mov rcx, qword [rsp + 0x38]
movzx esi, byte [rsp + 0x48]
jmp 0x18003bb1d
mov word [rdx + 8], r11w
mov eax, 0xa02
mov word [rdx + 8], ax
mov rax, qword [rcx + 0x10]
mov qword [rdx + 0x10], rax
mov eax, dword [rcx + 4]
mov dword [rdx + 0xc], eax
mov rax, qword [rsp + 0x38]
mov byte [rdx + 0xa], sil
movsxd rax, dword [rax + 0xc]
test eax, eax
jle 0x180041754
mov rsi, qword [rsp + 0x38]
imul rcx, rax, 0x38
mov rax, qword [rsp + 0x38]
movzx eax, word [rax + 2]
cmp qword [rcx + rdi], rax
jne 0x180041707
mov r9, qword [rsp + 0x50]
mov eax, 0xa10
mov word [rdx + 8], ax
jmp case.0x18003b74f.86
mov rbx, qword [rsp + 0x38]
movsxd rax, dword [rbx + 8]
imul rax, rax, 0x38
add rax, qword [r13 + 0x70]
test word [rax + 8], r10w
je 0x18003bbe8
mov rcx, rax
call fcn.18003b5b0
mov r10d, 0x2400
mov r11d, 4
jmp 0x18003bbed
mov word [rax + 8], r11w
mov edi, dword [rbx + 0xc]
mov esi, r14d
sub edi, dword [rbx + 8]
mov ecx, 0x101
cmp dword [rbx + 4], 0
lea rbx, [rax + 8]
mov dword [rax + 0xc], r12d
cmovne si, cx
mov word [rbx], si
test edi, edi
jle 0x180041768
nop word [rax + rax]
test word [rbx + 0x38], r10w
lea rbx, [rbx + 0x38]
je 0x18003bc3c
lea rcx, [rbx - 8]
call fcn.180031610
mov r10d, 0x2400
jmp 0x18003bc40
mov word [rbx], r14w
dec edi
mov word [rbx], si
mov dword [rbx + 4], r12d
test edi, edi
jg 0x18003bc20
mov rsi, qword [rsp + 0x38]
mov rdi, qword [rsp + 0x58]
mov r9, qword [rsp + 0x50]
jmp 0x180041926
mov rax, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
imul rcx, rax, 0x38
mov eax, 0xff61
add rcx, rdi
and word [rcx + 8], ax
or word [rcx + 8], 1
jmp case.0x18003b74f.86
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 8]
imul rbx, rax, 0x38
add rbx, qword [r13 + 0x70]
test word [rbx + 8], r10w
je 0x18003bcae
mov rcx, rbx
call fcn.18003b5b0
mov rbx, rax
jmp 0x18003bcb3
mov word [rbx + 8], r11w
mov rax, qword [rsp + 0x38]
xor r9d, r9d
mov rcx, rbx
mov qword [rsp + 0x20], r12
mov r8d, dword [rax + 4]
mov rdx, qword [rax + 0x10]
call fcn.180031c20
movzx eax, byte [rsp + 0x48]
mov byte [rbx + 0xa], al
jmp 0x180041916
mov rax, qword [rsp + 0x38]
mov eax, dword [rax + 4]
dec eax
cdqe
imul rdx, rax, 0x38
add rdx, qword [r13 + 0xa0]
movzx eax, word [rdx + 8]
test al, 0x12
je 0x18003bd23
mov r8d, dword [rdx + 0xc]
mov ecx, 0x4000
test cx, ax
je 0x18003bd0d
add r8d, dword [rdx]
mov rax, qword [rdx + 0x28]
mov ecx, r12d
cmp r8d, dword [rax + 0x7c]
setg cl
test ecx, ecx
jne 0x180041c2f
mov rax, qword [rsp + 0x38]
mov r8d, 0x800
movsxd rax, dword [rax + 8]
imul rcx, rax, 0x38
add rcx, rdi
call fcn.180031b40
jmp 0x180041916
mov rcx, qword [rsp + 0x38]
movsxd rax, dword [rcx + 4]
mov esi, dword [rcx + 0xc]
imul rdi, rax, 0x38
movsxd rax, dword [rcx + 8]
add rdi, qword [rsp + 0x58]
imul rbx, rax, 0x38
add rbx, qword [rsp + 0x58]
test word [rbx + 8], r10w
jne 0x18003bd72
cmp dword [rbx + 0x20], 0
je 0x18003bd7a
mov rcx, rbx
call fcn.180031650
movups xmm0, xmmword [rdi]
mov eax, 0x1000
movups xmmword [rbx], xmm0
movups xmm1, xmmword [rdi + 0x10]
movups xmmword [rbx + 0x10], xmm1
movups xmm0, xmmword [rdi + 0x20]
movups xmmword [rbx + 0x20], xmm0
movsd xmm1, qword [rdi + 0x30]
movsd qword [rbx + 0x30], xmm1
mov word [rdi + 8], r14w
mov dword [rdi + 0x20], r12d
test word [rbx + 8], ax
je 0x18003bdbe
mov rcx, rbx
call fcn.180031360
test eax, eax
jne 0x18003d575
add rdi, 0x38
add rbx, 0x38
mov r10d, 0x2400
sub esi, 1
jne 0x18003bd65
mov rsi, qword [rsp + 0x38]
mov rdi, qword [rsp + 0x58]
mov r9, qword [rsp + 0x50]
jmp 0x180041926
mov rcx, qword [rsp + 0x38]
movsxd rax, dword [rcx + 4]
mov esi, dword [rcx + 0xc]
imul rdi, rax, 0x38
movsxd rax, dword [rcx + 8]
add rdi, qword [rsp + 0x58]
imul rbx, rax, 0x38
add rbx, qword [rsp + 0x58]
nop word [rax + rax]
mov r8d, 0x1000
mov rdx, rdi
mov rcx, rbx
call fcn.180031b40
mov eax, 0x1000
test word [rbx + 8], ax
je 0x18003be3c
mov rcx, rbx
call fcn.180031360
test eax, eax
jne 0x18003d575
mov eax, esi
dec esi
test eax, eax
je 0x1800416f7
add rbx, 0x38
add rdi, 0x38
jmp 0x18003be10
mov rcx, qword [rsp + 0x38]
mov r8d, 0x1000
movsxd rax, dword [rcx + 4]
imul rdx, rax, 0x38
movsxd rax, dword [rcx + 8]
imul rcx, rax, 0x38
add rdx, rdi
add rcx, rdi
call fcn.180031b40
jmp 0x180041916
mov rcx, qword [rsp + 0x38]
movsxd rax, dword [rcx + 8]
imul r8, rax, 0x38
movsxd rax, dword [rcx + 4]
imul rcx, rax, 0x38
add r8, rdi
mov rax, qword [rcx + rdi]
test word [r8 + 8], r10w
je 0x18003beb0
mov rdx, rax
mov rcx, r8
call fcn.180031a40
jmp 0x180041916
mov rsi, qword [rsp + 0x38]
mov qword [r8], rax
mov word [r8 + 8], r11w
jmp case.0x18003b74f.86
mov rcx, qword [rsp + 0x38]
movsxd rax, dword [rcx + 4]
imul rsi, rax, 0x38
movsxd rax, dword [rcx + 8]
add rsi, rdi
imul rdi, rax, 0x38
movsxd rax, dword [rcx + 0xc]
add rdi, qword [rsp + 0x58]
movzx ecx, word [rsi + 8]
imul rbx, rax, 0x38
movzx eax, cl
or al, byte [rdi + 8]
add rbx, qword [rsp + 0x58]
test al, 1
je 0x18003bf22
test word [rbx + 8], r10w
je 0x18003bf0e
mov rcx, rbx
call fcn.180031610
jmp 0x180041911
mov word [rbx + 8], r14w
mov rsi, qword [rsp + 0x38]
mov rdi, qword [rsp + 0x58]
jmp case.0x18003b74f.86
mov eax, 0x4000
test ax, cx
je 0x18003bf41
mov rcx, rsi
call fcn.1800313c0
test eax, eax
jne 0x18003d575
mov eax, 0x4000
test word [rdi + 8], ax
je 0x18003bf57
mov rcx, rdi
call fcn.1800313c0
test eax, eax
jne 0x18003d575
test byte [rsi + 8], 0x12
jne 0x18003bf75
movzx edx, byte [rsp + 0x48]
xor r8d, r8d
mov rcx, rsi
call fcn.180031420
test eax, eax
jne 0x18003d575
test byte [rdi + 8], 0x12
jne 0x18003bf93
movzx edx, byte [rsp + 0x48]
xor r8d, r8d
mov rcx, rdi
call fcn.180031420
test eax, eax
jne 0x18003d575
mov eax, dword [rdi + 0xc]
add eax, dword [rsi + 0xc]
movsxd r14, eax
movsxd rax, dword [r15 + 0x7c]
cmp r14, rax
jg 0x180041c2f
mov r8d, r12d
lea edx, [r14 + 2]
cmp rbx, rdi
mov rcx, rbx
sete r8b
call fcn.180031180
test eax, eax
jne 0x18003d56f
mov eax, 0x3e00
and word [rbx + 8], ax
or word [rbx + 8], 2
cmp rbx, rdi
je 0x18003bfeb
movsxd r8, dword [rdi + 0xc]
mov rdx, qword [rdi + 0x10]
mov rcx, qword [rbx + 0x10]
call fcn.180109e10
movsxd rcx, dword [rdi + 0xc]
add rcx, qword [rbx + 0x10]
movsxd r8, dword [rsi + 0xc]
mov rdx, qword [rsi + 0x10]
call fcn.180109e10
mov rax, qword [rbx + 0x10]
mov byte [r14 + rax], 0
mov rax, qword [rbx + 0x10]
mov byte [r14 + rax + 1], 0
mov eax, 0x200
or word [rbx + 8], ax
movzx eax, byte [rsp + 0x48]
mov byte [rbx + 0xa], al
mov dword [rbx + 0xc], r14d
jmp 0x18004190b
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
imul rbx, rax, 0x38
add rbx, rdi
movzx eax, word [rbx + 8]
movzx r15d, ax
and r15w, 0xc
jne 0x18003c061
test al, 0x12
je 0x18003c05e
mov rcx, rbx
call fcn.18003b550
movzx r15d, ax
jmp 0x18003c061
mov r15d, r12d
mov rax, qword [rsp + 0x38]
mov r13, qword [rsp + 0x58]
movsxd rax, dword [rax + 8]
imul rdi, rax, 0x38
add rdi, r13
movzx eax, word [rdi + 8]
movzx r14d, ax
and r14w, 0xc
jne 0x18003c09a
test al, 0x12
je 0x18003c097
mov rcx, rdi
call fcn.18003b550
movzx r14d, ax
jmp 0x18003c09a
mov r14d, r12d
mov rax, qword [rsp + 0x38]
movzx r10d, word [rbx + 8]
movzx ecx, r10w
or cx, word [rdi + 8]
movsxd rax, dword [rax + 0xc]
imul rsi, rax, 0x38
movzx eax, r14b
add rsi, r13
and al, r15b
test al, 4
je 0x18003c2bb
mov rax, qword [rsp + 0x38]
mov r12b, 1
mov r9, qword [rbx]
mov r8, qword [rdi]
movzx ecx, byte [rax]
sub ecx, 0x60
je 0x18003c269
sub ecx, 1
je 0x18003c1f9
sub ecx, 1
je 0x18003c14b
cmp ecx, 1
je 0x18003c119
test r9, r9
je 0x18003c3de
cmp r9, 0xffffffffffffffff
mov edx, 1
mov rax, r8
cmove r9, rdx
cqo
idiv r9
mov r8, rdx
jmp 0x18003c2a5
test r9, r9
je 0x18003c3de
cmp r9, 0xffffffffffffffff
jne 0x18003c13b
movabs rax, 0x8000000000000000
cmp r8, rax
je 0x18003c2c7
mov rax, r8
cqo
idiv r9
mov r8, rax
jmp 0x18003c2a5
test r9, r9
jle 0x18003c189
movabs rax, 0x7fffffffffffffff
cqo
idiv r9
cmp r8, rax
jg 0x18003c2c7
movabs rax, 0x8000000000000000
cqo
idiv r9
cmp r8, rax
jl 0x18003c2c7
imul r8, r9
jmp 0x18003c2a5
jns 0x18003c1f0
test r8, r8
jle 0x18003c1b1
movabs rax, 0x8000000000000000
cqo
idiv r8
cmp r9, rax
jl 0x18003c2c7
imul r8, r9
jmp 0x18003c2a5
jns 0x18003c1f0
movabs rcx, 0x8000000000000000
cmp r9, rcx
je 0x18003c2c7
cmp r8, rcx
je 0x18003c2c7
movabs rax, 0x8000000000000001
cqo
idiv r9
mov rcx, rax
mov rax, r8
neg rax
cmp rax, rcx
jg 0x18003c2c7
imul r8, r9
jmp 0x18003c2a5
movabs rcx, 0x8000000000000000
cmp r9, rcx
jne 0x18003c219
test r8, r8
jns 0x18003c2c7
sub r8, rcx
jmp 0x18003c2a5
neg r9
js 0x18003c23c
test r8, r8
jle 0x18003c25e
movabs rax, 0x7fffffffffffffff
sub rax, r8
cmp rax, r9
jge 0x18003c25e
mov eax, 1
jmp 0x18003c263
test r8, r8
jns 0x18003c25e
movabs rax, 0x8000000000000001
lea rcx, [r9 + 1]
sub rax, r8
cmp rax, rcx
jle 0x18003c25e
mov eax, 1
jmp 0x18003c263
add r8, r9
xor eax, eax
test eax, eax
jne 0x18003c2c7
jmp 0x18003c2a5
test r9, r9
js 0x18003c287
test r8, r8
jle 0x18003c2a2
movabs rax, 0x7fffffffffffffff
sub rax, r8
cmp rax, r9
jl 0x18003c2c7
jmp 0x18003c2a2
test r8, r8
jns 0x18003c2a2
movabs rax, 0x8000000000000001
lea rcx, [r9 + 1]
sub rax, r8
cmp rax, rcx
jg 0x18003c2c7
add r8, r9
mov eax, 0x3e00
mov qword [rsi], r8
and word [rsi + 8], ax
or word [rsi + 8], 4
jmp 0x18003c3ce
test cl, 1
jne 0x18003c3e1
xor r12b, r12b
test r10b, 8
je 0x18003c2d3
movsd xmm2, qword [rbx]
jmp 0x18003c2f9
test r10b, 4
je 0x18003c2e3
xorps xmm2, xmm2
cvtsi2sd xmm2, qword [rbx]
jmp 0x18003c2f9
test r10b, 0x12
je 0x18003c2f6
mov rcx, rbx
call fcn.180031760
movaps xmm2, xmm0
jmp 0x18003c2f9
movaps xmm2, xmm6
movzx eax, word [rdi + 8]
test al, 8
je 0x18003c307
movsd xmm3, qword [rdi]
jmp 0x18003c329
test al, 4
je 0x18003c315
xorps xmm3, xmm3
cvtsi2sd xmm3, qword [rdi]
jmp 0x18003c329
test al, 0x12
je 0x18003c326
mov rcx, rdi
call fcn.180031760
movaps xmm3, xmm0
jmp 0x18003c329
movaps xmm3, xmm6
mov rax, qword [rsp + 0x38]
movzx ecx, byte [rax]
sub ecx, 0x60
je 0x18003c38e
sub ecx, 1
je 0x18003c388
sub ecx, 1
je 0x18003c382
cmp ecx, 1
je 0x18003c374
cvttsd2si rcx, xmm2
cvttsd2si rax, xmm3
test rcx, rcx
je 0x18003c3de
cmp rcx, 0xffffffffffffffff
mov edx, 1
xorps xmm3, xmm3
cmove rcx, rdx
cqo
idiv rcx
cvtsi2sd xmm3, rdx
jmp 0x18003c392
ucomisd xmm2, xmm6
jp 0x18003c37c
je 0x18003c3de
divsd xmm3, xmm2
jmp 0x18003c392
mulsd xmm3, xmm2
jmp 0x18003c392
subsd xmm3, xmm2
jmp 0x18003c392
addsd xmm3, xmm2
movaps xmm0, xmm3
call fcn.180013520
test eax, eax
jne 0x18003c3de
mov eax, 0x3e00
movsd qword [rsi], xmm3
and word [rsi + 8], ax
or r14b, r15b
or word [rsi + 8], 8
test r14b, 8
jne 0x180041779
test r12b, r12b
jne 0x180041779
mov rcx, rsi
call fcn.180031790
xor r12d, r12d
mov rdi, r13
lea r14d, [r12 + 1]
jmp 0x180041916
xor r12d, r12d
mov r10d, 0x2400
test word [rsi + 8], r10w
je 0x18003c404
mov rcx, rsi
call fcn.180031610
mov r14d, 1
mov rdi, r13
jmp 0x180041916
mov r9, qword [rsp + 0x50]
mov r14d, 1
mov word [rsi + 8], r14w
mov rdi, r13
mov rsi, qword [rsp + 0x38]
jmp 0x180041926
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
test eax, eax
je 0x18003b975
imul rcx, rax, 0x38
add rcx, rdi
test word [rcx + 8], r10w
je 0x18003c44c
xor edx, edx
call fcn.180031a40
jmp 0x180041916
mov rsi, qword [rsp + 0x38]
mov qword [rcx], r12
mov word [rcx + 8], r11w
jmp case.0x18003b74f.86
mov rdx, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x38]
movsxd rax, dword [rcx + 4]
imul rdi, rax, 0x38
movsxd rax, dword [rcx + 8]
imul rcx, rax, 0x38
mov rax, qword [rsp + 0x38]
add rdi, rdx
add rcx, rdx
movsxd rax, dword [rax + 0xc]
imul rsi, rax, 0x38
add rsi, rdx
movzx edx, word [rcx + 8]
movzx eax, dl
or al, byte [rdi + 8]
test al, 1
je 0x18003c4ce
test word [rsi + 8], r10w
je 0x18003c4ba
mov rcx, rsi
call fcn.180031610
mov rsi, qword [rsp + 0x38]
mov rdi, qword [rsp + 0x58]
jmp 0x18004191b
mov rdi, qword [rsp + 0x58]
mov word [rsi + 8], r14w
mov rsi, qword [rsp + 0x38]
jmp case.0x18003b74f.86
movzx eax, dx
test al, 4
je 0x18003c4da
mov rbx, qword [rcx]
jmp 0x18003c4fd
test al, 8
je 0x18003c4ec
movsd xmm0, qword [rcx]
call fcn.1800316f0
mov rbx, rax
jmp 0x18003c4fd
test al, 0x12
je 0x18003c4fa
call fcn.180031730
mov rbx, rax
jmp 0x18003c4fd
mov rbx, r12
movzx eax, word [rdi + 8]
test al, 4
je 0x18003c50a
mov rcx, qword [rdi]
jmp 0x18003c530
test al, 8
je 0x18003c51c
movsd xmm0, qword [rdi]
call fcn.1800316f0
mov rcx, rax
jmp 0x18003c530
test al, 0x12
je 0x18003c52d
mov rcx, rdi
call fcn.180031730
mov rcx, rax
jmp 0x18003c530
mov rcx, r12
mov rdx, qword [rsp + 0x38]
movzx edx, byte [rdx]
cmp dl, 0x5c
jne 0x18003c542
and rbx, rcx
jmp 0x18003c5b0
cmp dl, 0x5d
jne 0x18003c54c
or rbx, rcx
jmp 0x18003c5b0
test rcx, rcx
je 0x18003c5b0
jns 0x18003c566
mov eax, 0xbd
sub al, dl
movzx edx, al
cmp rcx, 0xffffffffffffffc0
jle 0x18003c56c
neg rcx
cmp rcx, 0x40
jl 0x18003c581
test rbx, rbx
jns 0x18003c57c
cmp dl, 0x5e
je 0x18003c57c
or rbx, 0xffffffffffffffff
jmp 0x18003c5b0
mov rbx, r12
jmp 0x18003c5b0
cmp dl, 0x5e
jne 0x18003c58e
shl rbx, cl
mov r8, rbx
jmp 0x18003c5ad
mov r8, rbx
shr r8, cl
test rbx, rbx
jns 0x18003c5ad
or rdx, 0xffffffffffffffff
mov eax, 0x40
sub al, cl
movzx ecx, al
shl rdx, cl
or r8, rdx
mov rbx, r8
mov rdi, qword [rsp + 0x58]
mov eax, 0x3e00
and word [rsi + 8], ax
or word [rsi + 8], 4
mov qword [rsi], rbx
mov rsi, qword [rsp + 0x38]
jmp 0x18004191b
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
imul rbx, rax, 0x38
add rbx, rdi
mov rcx, rbx
call fcn.1800317e0
mov rsi, qword [rsp + 0x38]
movsxd rax, dword [rsi + 8]
add qword [rbx], rax
jmp 0x18004191b
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
imul rbx, rax, 0x38
add rbx, rdi
movzx eax, word [rbx + 8]
test al, 4
jne 0x18003c660
test al, 8
jne 0x18003c637
test al, 2
je 0x18003c63f
mov edx, r14d
mov rcx, rbx
call fcn.18003b3a0
mov r9, qword [rsp + 0x50]
mov r10d, 0x2400
mov r11d, 4
jmp 0x18003c63f
mov rcx, rbx
call fcn.180031790
movzx eax, word [rbx + 8]
test al, 4
jne 0x18003c660
mov rsi, qword [rsp + 0x38]
cmp dword [rsi + 8], 0
jne 0x18003d02f
mov eax, reloc.WS2_32.dll_sendto
jmp 0x180041f86
mov rsi, qword [rsp + 0x38]
mov ecx, 0x3e00
and ax, cx
or ax, 4
mov word [rbx + 8], ax
jmp case.0x18003b74f.86
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
imul rcx, rax, 0x38
add rcx, rdi
test byte [rcx + 8], 4
je 0x18003b975
call fcn.180031830
jmp 0x180041916
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
imul rbx, rax, 0x38
mov eax, 0x4000
add rbx, rdi
test word [rbx + 8], ax
je 0x18003c6c7
mov rcx, rbx
call fcn.1800313c0
mov dword [rsp + 0x44], eax
jmp 0x18003c6cc
mov dword [rsp + 0x44], r12d
mov rax, qword [rsp + 0x38]
mov rcx, rbx
movzx r8d, byte [rsp + 0x48]
movzx edx, byte [rax + 8]
call fcn.180031950
mov eax, dword [rsp + 0x44]
test eax, eax
jne 0x180041f86
jmp 0x180041916
mov rcx, qword [rsp + 0x38]
movsxd rax, dword [rcx + 4]
imul rsi, rax, 0x38
movsxd rax, dword [rcx + 0xc]
add rsi, rdi
imul rdi, rax, 0x38
mov rax, qword [rsp + 0x58]
movzx r14d, word [rsi + 8]
add rdi, rax
movzx ebx, word [rdi + 8]
movzx ecx, bx
or cx, r14w
test cl, 1
je 0x18003c7b0
mov rax, qword [rsp + 0x38]
movzx eax, word [rax + 2]
test al, al
jns 0x18003c75e
movzx eax, bl
and al, r14b
test al, 1
je 0x18003c812
mov eax, 0x100
test ax, bx
jne 0x18003c812
mov edx, r12d
jmp 0x18003c94c
mov r14d, 1
test al, 0x20
je 0x18003c799
mov rax, qword [rsp + 0x38]
mov rdi, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x38]
mov dword [rbp - 0x80], r14d
movsxd rax, dword [rax + 8]
imul rcx, rax, 0x38
mov eax, 0x3e00
add rcx, rdi
and word [rcx + 8], ax
or word [rcx + 8], r14w
jmp case.0x18003b74f.86
test al, 0x10
jne 0x18003d02a
mov rsi, qword [rsp + 0x38]
mov rdi, qword [rsp + 0x58]
jmp case.0x18003b74f.86
mov r15, qword [rsp + 0x38]
movzx eax, byte [r15 + 2]
and al, 0x47
cmp al, 0x43
jb 0x18003c8af
test cl, 2
je 0x18003c7f4
movzx eax, r14b
and al, 0xe
cmp al, 2
jne 0x18003c7e1
xor edx, edx
mov rcx, rsi
call fcn.18003b3a0
movzx ebx, word [rdi + 8]
movzx eax, bl
and al, 0xe
cmp al, 2
jne 0x18003c7f4
xor edx, edx
mov rcx, rdi
call fcn.18003b3a0
movzx eax, byte [rsi + 8]
and al, byte [rdi + 8]
test al, 4
je 0x18003c913
mov rax, qword [rdi]
mov rcx, qword [rsi]
cmp rax, rcx
jle 0x18003c8a4
mov edx, 1
mov rax, qword [rsp + 0x38]
movzx eax, byte [rax]
sub eax, 0x34
movsxd rcx, eax
lea rax, [0x180000000]
movzx eax, byte [rcx + rax + 0x14e4a4]
mov r9, qword [rsp + 0x38]
mov word [rsi + 8], r14w
mov rsi, qword [rsp + 0x38]
mov word [rdi + 8], bx
movzx r9d, word [r9 + 2]
movzx r8d, al
test r9b, 0x20
je 0x18003c96e
mov rdi, qword [rsp + 0x58]
mov rax, rsi
mov dword [rbp - 0x80], edx
movsxd rax, dword [rax + 8]
imul rcx, rax, 0x38
add rcx, rdi
test r9b, 8
je 0x18003c888
cmp byte [rsi], 0x35
mov eax, r12d
sete al
cmp eax, r8d
je 0x1800417a3
mov eax, 0x3e00
mov qword [rcx], r8
and word [rcx + 8], ax
mov r14d, 1
or word [rcx + 8], 4
jmp 0x18004191b
jge 0x18003c756
or edx, 0xffffffff
jmp 0x18003c928
cmp al, 0x42
jne 0x18003c913
movzx r13d, byte [rsp + 0x48]
test r14b, 2
jne 0x18003c8e8
test r14b, 0xc
je 0x18003c8e8
mov r8b, 1
movzx edx, r13b
mov rcx, rsi
call fcn.180031420
movzx eax, r14w
mov ecx, 0x3e00
xor ax, word [rsi + 8]
and ax, cx
xor r14w, ax
test bl, 2
jne 0x18003c913
test bl, 0xc
je 0x18003c913
mov r8b, 1
movzx edx, r13b
mov rcx, rdi
call fcn.180031420
movzx eax, bx
mov ecx, 0x3e00
xor ax, word [rdi + 8]
and ax, cx
xor bx, ax
mov r8, qword [r15 + 0x10]
mov rdx, rsi
mov rcx, rdi
call fcn.1800370a0
mov edx, eax
test eax, eax
jns 0x18003c946
movzx eax, byte [r15]
sub eax, 0x34
movsxd rcx, eax
lea rax, [0x180000000]
movzx eax, byte [rcx + rax + 0x153364]
jmp 0x18003c834
jne 0x18003c817
mov rax, qword [rsp + 0x38]
movzx eax, byte [rax]
sub eax, 0x34
movsxd rcx, eax
lea rax, [0x180000000]
movzx eax, byte [rcx + rax + 0x14f7c8]
jmp 0x18003c834
mov r14d, 1
test al, al
jne 0x180041018
mov rdi, qword [rsp + 0x58]
jmp 0x18004191b
cmp dword [rbp - 0x80], 0
jne 0x18003d02f
jmp case.0x18003b74f.86
mov rcx, qword [rsp + 0x38]
test byte [rcx + 2], 1
jne 0x18003c9a5
mov r14, r12
jmp 0x18003c9ad
mov r14, qword [rcx - 8]
add r14, 4
mov r9d, dword [rcx + 4]
mov edi, r12d
mov r13, qword [rcx + 0x10]
mov rbx, r12
mov r12, qword [rsp + 0x38]
mov ecx, dword [rcx + 8]
mov dword [rbp - 0x60], r9d
mov dword [rsp + 0x78], ecx
movsxd r12, dword [r12 + 0xc]
test r12, r12
jle 0x1800418ef
lea rsi, [r13 + 0x20]
nop dword [rax]
test r14, r14
je 0x18003c9eb
mov r8d, dword [r14 + rbx*4]
jmp 0x18003c9ee
mov r8d, edi
mov rax, qword [r13 + 0x18]
movzx r15d, byte [rax + rbx]
lea eax, [r8 + rcx]
movsxd rcx, eax
lea eax, [r8 + r9]
mov r8, qword [rsi]
imul rdx, rcx, 0x38
movsxd rcx, eax
add rdx, qword [rsp + 0x58]
imul rcx, rcx, 0x38
add rcx, qword [rsp + 0x58]
call fcn.1800370a0
mov dword [rbp - 0x80], eax
mov edx, eax
test eax, eax
jne 0x18003ca46
mov r9d, dword [rbp - 0x60]
inc edi
mov ecx, dword [rsp + 0x78]
inc rbx
add rsi, 8
cmp rbx, r12
jl 0x18003c9e0
xor r12d, r12d
jmp 0x180040c48
mov rsi, qword [rsp + 0x38]
mov r14d, 1
mov rdi, qword [rsp + 0x58]
mov eax, dword [rsp + 0x40]
lea r11d, [r14 + 3]
test r15d, r15d
je 0x180041774
mov r9, qword [rsp + 0x50]
neg edx
mov r15, qword [rsp + 0x70]
xor r12d, r12d
mov r13, qword [rsp + 0x60]
add rsi, 0x18
mov dword [rbp - 0x80], edx
mov r10d, 0x2400
or edx, 0xffffffff
jmp 0x18003b717
mov edx, dword [rbp - 0x80]
mov rax, qword [rsp + 0x38]
test edx, edx
jns 0x18003cab0
mov eax, dword [rax + 4]
dec eax
cdqe
lea rcx, [rax + rax*2]
lea rsi, [r9 + rcx*8]
jmp case.0x18003b74f.86
jne 0x18003cac6
mov eax, dword [rax + 8]
dec eax
cdqe
lea rcx, [rax + rax*2]
lea rsi, [r9 + rcx*8]
jmp case.0x18003b74f.86
mov eax, dword [rax + 0xc]
dec eax
cdqe
lea rcx, [rax + rax*2]
lea rsi, [r9 + rcx*8]
jmp case.0x18003b74f.86
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
imul rcx, rax, 0x38
add rcx, rdi
movzx eax, word [rcx + 8]
test al, 4
je 0x18003cafe
cmp qword [rcx], 0
mov ebx, r12d
setne bl
jmp 0x18003cb2c
test al, 1
je 0x18003cb09
mov ebx, 2
jmp 0x18003cb2c
test al, 8
je 0x18003cb13
movsd xmm0, qword [rcx]
jmp 0x18003cb1c
test al, 0x12
je 0x18003cb29
call fcn.180031760
ucomisd xmm0, xmm6
jp 0x18003cb24
je 0x18003cb29
mov ebx, r14d
jmp 0x18003cb2c
mov ebx, r12d
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 8]
imul rcx, rax, 0x38
add rcx, rdi
movzx eax, word [rcx + 8]
test al, 4
je 0x18003cb50
cmp qword [rcx], 0
mov eax, r12d
setne al
jmp 0x18003cb7e
test al, 1
je 0x18003cb5b
mov eax, 2
jmp 0x18003cb7e
test al, 8
je 0x18003cb65
movsd xmm0, qword [rcx]
jmp 0x18003cb6e
test al, 0x12
je 0x18003cb7b
call fcn.180031760
ucomisd xmm0, xmm6
jp 0x18003cb76
je 0x18003cb7b
mov eax, r14d
jmp 0x18003cb7e
mov eax, r12d
mov rcx, qword [rsp + 0x38]
lea eax, [rax + rbx*2]
add ebx, eax
cmp byte [rcx], 0x2c
lea rcx, [0x180000000]
jne 0x18003cb9e
movzx ecx, byte [rbx + rcx + 0x1500e0]
jmp 0x18003cba6
movzx ecx, byte [rbx + rcx + 0x14fcd0]
mov rax, qword [rsp + 0x38]
mov r10d, 0x2400
mov rsi, qword [rsp + 0x38]
mov r11d, 4
mov r9, qword [rsp + 0x50]
movzx edx, cl
movsxd rax, dword [rax + 0xc]
imul rcx, rax, 0x38
mov eax, 0x3e00
add rcx, rdi
and word [rcx + 8], ax
mov eax, dword [rsp + 0x40]
cmp edx, 2
jne 0x18003cbfc
or word [rcx + 8], 1
add rsi, 0x18
mov r15, qword [rsp + 0x70]
or edx, 0xffffffff
mov r13, qword [rsp + 0x60]
jmp 0x18003b717
or word [rcx + 8], 4
add rsi, 0x18
mov r15, qword [rsp + 0x70]
mov r13, qword [rsp + 0x60]
mov qword [rcx], rdx
or edx, 0xffffffff
jmp 0x18003b717
mov rbx, qword [rsp + 0x38]
movsxd rax, dword [rbx + 4]
imul rcx, rax, 0x38
add rcx, rdi
movzx eax, word [rcx + 8]
test al, 4
je 0x18003cc3e
cmp qword [rcx], 0
mov eax, r12d
setne al
jmp 0x18003cc7b
test al, 1
je 0x18003cc47
mov eax, dword [rbx + 0xc]
jmp 0x18003cc7b
test al, 8
je 0x18003cc51
movsd xmm0, qword [rcx]
jmp 0x18003cc6b
test al, 0x12
je 0x18003cc78
call fcn.180031760
mov r9, qword [rsp + 0x50]
mov r10d, 0x2400
mov r11d, 4
ucomisd xmm0, xmm6
jp 0x18003cc73
je 0x18003cc78
mov eax, r14d
jmp 0x18003cc7b
mov eax, r12d
movsxd rdx, dword [rbx + 0x10]
cdqe
xor rdx, rax
movsxd rax, dword [rbx + 8]
imul rcx, rax, 0x38
add rcx, rdi
test word [rcx + 8], r10w
je 0x18003cca3
call fcn.180031a40
mov rsi, rbx
jmp 0x18004191b
mov qword [rcx], rdx
mov rsi, rbx
mov word [rcx + 8], r11w
jmp case.0x18003b74f.86
mov rbx, qword [rsp + 0x38]
movsxd rax, dword [rbx + 4]
imul rcx, rax, 0x38
movsxd rax, dword [rbx + 8]
imul rbx, rax, 0x38
add rcx, rdi
add rbx, rdi
movzx eax, word [rcx + 8]
test al, 1
jne 0x18003cd4a
test al, 4
je 0x18003cce6
cmp qword [rcx], 0
mov eax, r12d
setne al
jmp 0x18003cd1a
test al, 8
je 0x18003ccf0
movsd xmm0, qword [rcx]
jmp 0x18003cd0a
test al, 0x12
je 0x18003cd17
call fcn.180031760
mov r9, qword [rsp + 0x50]
mov r10d, 0x2400
mov r11d, 4
ucomisd xmm0, xmm6
jp 0x18003cd12
je 0x18003cd17
mov eax, r14d
jmp 0x18003cd1a
mov eax, r12d
movsxd rcx, eax
xor rcx, 1
test word [rbx + 8], r10w
je 0x18003cd38
mov rdx, rcx
mov rcx, rbx
call fcn.180031a40
jmp 0x180041916
mov rsi, qword [rsp + 0x38]
mov qword [rbx], rcx
mov word [rbx + 8], r11w
jmp case.0x18003b74f.86
test word [rbx + 8], r10w
je 0x18003cd5e
mov rcx, rbx
call fcn.180031610
jmp 0x180041916
mov rsi, qword [rsp + 0x38]
mov word [rbx + 8], r14w
jmp case.0x18003b74f.86
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
imul rbx, rax, 0x38
mov rax, qword [rsp + 0x38]
add rbx, rdi
movsxd rax, dword [rax + 8]
imul rdi, rax, 0x38
add rdi, qword [rsp + 0x58]
test word [rdi + 8], r10w
je 0x18003cda6
mov rcx, rdi
call fcn.180031610
mov r11d, 4
jmp 0x18003cdab
mov word [rdi + 8], r14w
test byte [rbx + 8], 1
jne 0x180041768
mov word [rdi + 8], r11w
movzx eax, word [rbx + 8]
test al, 4
je 0x18003cdc7
mov rax, qword [rbx]
jmp 0x18003cded
test al, 8
je 0x18003cdd6
movsd xmm0, qword [rbx]
call fcn.1800316f0
jmp 0x18003cded
test al, 0x12
je 0x18003cdea
mov rcx, rbx
call fcn.180031730
mov r11d, 4
jmp 0x18003cded
mov rax, r12
not rax
mov qword [rdi], rax
mov rsi, qword [rsp + 0x38]
mov r10d, 0x2400
mov rdi, qword [rsp + 0x58]
mov r9, qword [rsp + 0x50]
jmp case.0x18003b74f.86
mov r8, qword [r13 + 0x100]
test r8, r8
je 0x18003ce78
mov rcx, qword [rsp + 0x38]
movabs rax, 0x2aaaaaaaaaaaaaab
sub rcx, qword [r13 + 0x68]
mov r9, qword [r8 + 0x30]
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov ecx, edx
and edx, 7
shr rcx, 3
movzx eax, byte [rcx + r9]
bt eax, edx
jb 0x18003d025
mov rsi, qword [rsp + 0x38]
bts eax, edx
mov byte [rcx + r9], al
mov rax, qword [r13 + 0x68]
mov r9, qword [rsp + 0x50]
mov ecx, dword [rax + 4]
mov dword [rsi + 4], ecx
jmp case.0x18003b74f.86
mov rax, qword [rsp + 0x38]
mov rcx, qword [r13 + 0x68]
mov eax, dword [rax + 4]
cmp dword [rcx + 4], eax
je 0x18003d02a
mov rsi, qword [rsp + 0x38]
mov rax, rcx
mov ecx, dword [rcx + 4]
mov dword [rsi + 4], ecx
jmp case.0x18003b74f.86
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
imul rcx, rax, 0x38
add rcx, rdi
movzx eax, word [rcx + 8]
test al, 4
je 0x18003cec4
cmp qword [rcx], 0
mov eax, r12d
setne al
jmp 0x18003ced0
test al, 1
je 0x18003cee2
mov rax, qword [rsp + 0x38]
mov eax, dword [rax + 0xc]
mov rsi, qword [rsp + 0x38]
test eax, eax
jne 0x18003d02f
jmp case.0x18003b74f.86
test al, 8
je 0x18003ceec
movsd xmm0, qword [rcx]
jmp 0x18003cf0a
test al, 0x12
je 0x18003b975
call fcn.180031760
mov r9, qword [rsp + 0x50]
mov r10d, 0x2400
mov r11d, 4
ucomisd xmm0, xmm6
mov rsi, qword [rsp + 0x38]
jp 0x18003d02f
jne 0x18003d02f
jmp case.0x18003b74f.86
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
imul rcx, rax, 0x38
add rcx, rdi
movzx eax, word [rcx + 8]
test al, 4
je 0x18003cf4d
cmp qword [rcx], 0
mov eax, r12d
mov rsi, qword [rsp + 0x38]
setne al
jmp 0x18003cf60
test al, 1
je 0x18003cf6d
mov rsi, qword [rsp + 0x38]
mov eax, r12d
cmp dword [rsi + 0xc], 0
sete al
test eax, eax
je 0x18003d02f
jmp case.0x18003b74f.86
test al, 8
je 0x18003cf77
movsd xmm0, qword [rcx]
jmp 0x18003cf95
test al, 0x12
je 0x18003d02a
call fcn.180031760
mov r9, qword [rsp + 0x50]
mov r10d, 0x2400
mov r11d, 4
ucomisd xmm0, xmm6
mov rsi, qword [rsp + 0x38]
jp case.0x18003b74f.86
jne case.0x18003b74f.86
jmp 0x18003d02f
mov rax, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
imul rcx, rax, 0x38
test byte [rcx + rdi + 8], 1
jne 0x18003d02f
jmp case.0x18003b74f.86
mov rax, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
imul rcx, rax, 0x38
test byte [rcx + rdi + 8], 1
je 0x18003d02f
jmp case.0x18003b74f.86
mov rax, qword [rsp + 0x38]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x98]
mov rcx, qword [rax + rcx*8]
cmp byte [rcx + 2], 0
je 0x18003b975
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 0xc]
imul rcx, rax, 0x38
add rcx, rdi
test word [rcx + 8], r10w
je 0x18003d048
call fcn.180031610
mov r9, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x38]
mov eax, dword [rsi + 8]
mov rdi, qword [rsp + 0x58]
dec eax
cdqe
lea rcx, [rax + rax*2]
lea rsi, [r9 + rcx*8]
jmp 0x180041920
mov word [rcx + 8], r14w
jmp 0x18003d02a
mov rbx, qword [rsp + 0x38]
mov rax, qword [r13 + 0x98]
movsxd rcx, dword [rbx + 4]
mov esi, dword [rbx + 8]
mov dword [rbp - 0x60], esi
mov r15, qword [rax + rcx*8]
cmp byte [r15 + 3], 0
je 0x18003d103
mov rdx, qword [r15 + 0x20]
test rdx, rdx
je 0x18003d0f9
lea eax, [rsi + 1]
movsxd rcx, eax
mov eax, dword [rdx + rcx*4]
test eax, eax
jle 0x18003d0f9
mov r15, qword [r15 + 0x30]
lea esi, [rax - 1]
mov dword [rbp - 0x60], esi
mov dword [rsp + 0x44], r12d
movsxd rax, dword [rbx + 0xc]
mov r13, qword [r15 + 0x60]
imul r12, rax, 0x38
mov qword [rsp + 0x78], r13
add r12, rdi
mov rdi, qword [rsp + 0x60]
mov qword [rbp - 0x78], r12
mov eax, dword [rdi + 0x30]
cmp dword [r15 + 0x28], eax
je 0x18003d251
cmp byte [r15 + 2], 0
je 0x18003d16a
cmp byte [r15], 3
jne 0x18003d134
movsxd rax, dword [r15 + 0x2c]
imul rcx, rax, 0x38
add rcx, qword [rsp + 0x58]
mov eax, dword [rcx + 0xc]
mov dword [r15 + 0x74], eax
mov dword [r15 + 0x70], eax
mov rax, qword [rcx + 0x10]
mov qword [r15 + 0x68], rax
jmp 0x18003d1bd
mov rcx, r15
call fcn.180036760
jmp 0x18003d114
mov rax, qword [r15 + 0x38]
cmp byte [rax], 0
je 0x18003d094
mov rcx, r15
call fcn.1800367e0
mov dword [rsp + 0x44], eax
test eax, eax
jne 0x180041f86
mov r9, qword [rsp + 0x50]
lea r11d, [rax + 4]
mov r10d, 0x2400
jmp 0x18003d099
test word [r12 + 8], r10w
je 0x18003d154
mov rcx, r12
call fcn.180031610
mov rdi, qword [rsp + 0x58]
xor r12d, r12d
mov rsi, rbx
jmp 0x18004191b
mov rdi, qword [rsp + 0x58]
mov rsi, rbx
mov word [r12 + 8], r14w
xor r12d, r12d
jmp case.0x18003b74f.86
mov rbx, qword [r15 + 0x38]
mov rcx, rbx
call fcn.1800284f0
mov eax, dword [rbx + 0x40]
mov dword [r15 + 0x70], eax
mov rax, qword [rbx + 0x88]
movzx ecx, word [rbx + 0x44]
mov edx, dword [rax + 0x58]
sub edx, dword [rbx + 0x38]
cmp ecx, edx
jle 0x18003d19e
test edx, edx
mov ecx, edx
mov eax, 0
cmovs ecx, eax
mov r8, qword [rsp + 0x70]
mov dword [r15 + 0x74], ecx
mov rax, qword [rbx + 0x38]
mov qword [r15 + 0x68], rax
mov eax, dword [r8 + 0x7c]
cmp dword [r15 + 0x70], eax
ja 0x180041c2c
mov eax, dword [rdi + 0x30]
mov rcx, qword [r15 + 0x68]
mov dword [r15 + 0x28], eax
movzx eax, byte [rcx]
cmp al, 0x80
jae 0x18003d1db
movzx eax, al
mov dword [r13], eax
mov eax, r14d
jmp 0x18003d1e6
mov rdx, r13
call fcn.180014570
movzx eax, al
movzx eax, al
xor ebx, ebx
mov dword [r15 + 0x48], eax
mov word [r15 + 0x52], bx
mov eax, dword [r13]
cmp dword [r15 + 0x74], eax
jae 0x18003d248
mov qword [r15 + 0x68], rbx
mov dword [r15 + 0x74], ebx
mov eax, dword [r13]
cmp eax, 0x18003
ja 0x18003d217
cmp eax, dword [r15 + 0x70]
jbe 0x18003d253
mov r10d, 0x2400
mov r9, qword [rsp + 0x50]
mov eax, dword [r9 + 0xc]
test eax, eax
jle 0x180041a18
mov rdi, qword [rsp + 0x58]
dec eax
movsxd rcx, eax
xor r12d, r12d
lea rax, [rcx + rcx*2]
lea rsi, [r9 + rax*8]
jmp 0x180041926
mov rax, qword [r15 + 0x68]
jmp 0x18003d2ff
xor ebx, ebx
movzx eax, word [r15 + 0x52]
cmp eax, esi
jg 0x18003d4d2
mov eax, dword [r13]
cmp dword [r15 + 0x48], eax
jae 0x18003d490
mov rax, qword [r15 + 0x68]
mov qword [rbp - 0x40], rax
test rax, rax
jne 0x18003d303
mov qword [rbp + 0x10], rax
mov qword [rbp + 0x18], rax
mov qword [rbp + 0x20], rax
mov qword [rbp + 0x28], rax
mov qword [rbp + 0x30], rax
mov qword [rbp + 0x38], rax
mov qword [rbp + 0x40], rax
mov r10, qword [r15 + 0x38]
mov r8d, dword [r13]
mov dword [rsp + 0x44], ebx
mov rax, qword [r10 + 0x88]
movzx ecx, word [r10 + 0x44]
mov edx, dword [rax + 0x58]
sub edx, dword [r10 + 0x38]
cmp ecx, edx
jle 0x18003d2c5
test edx, edx
mov ecx, edx
cmovs ecx, ebx
cmp r8d, ecx
ja 0x18003d2e1
mov rax, qword [r10 + 0x38]
mov ecx, 0x1010
mov qword [rbp + 0x20], rax
mov word [rbp + 0x18], cx
mov dword [rbp + 0x1c], r8d
jmp 0x18003d2ff
lea r9, [rbp + 0x10]
xor edx, edx
mov rcx, r10
call fcn.180031e80
mov dword [rsp + 0x44], eax
test eax, eax
jne 0x180041f83
mov rax, qword [rbp + 0x20]
mov qword [rbp - 0x40], rax
movzx r14d, word [r15 + 0x52]
mov edx, 0x80
mov ebx, dword [r15 + 0x48]
mov r12d, r14d
mov rcx, qword [rsp + 0x78]
add rbx, rax
mov esi, dword [r13 + r14*4]
mov r13d, dword [r13]
add r13, rax
nop dword [rax + rax]
movzx edi, byte [rbx]
mov dword [rbp - 0x70], edi
cmp edi, edx
jae 0x18003d34f
lea r8, [0x180000000]
inc rbx
movzx eax, byte [rdi + r8 + 0x150220]
jmp 0x18003d38d
lea rdx, [rbp - 0x70]
mov rcx, rbx
call fcn.180014570
mov edi, dword [rbp - 0x70]
movzx eax, al
add rbx, rax
mov eax, 0x80
cmp edi, eax
jb 0x18003d374
lea eax, [rdi - 0xc]
shr eax, 1
jmp 0x18003d383
lea rcx, [0x180000000]
movzx eax, byte [rdi + rcx + 0x150220]
mov rcx, qword [rsp + 0x78]
mov edx, 0x80
inc r14d
mov dword [r15 + r12*4 + 0x78], edi
add rsi, rax
movsxd r12, r14d
mov dword [rcx + r12*4], esi
cmp r14d, dword [rbp - 0x60]
jg 0x18003d3ac
cmp rbx, r13
jb 0x18003d330
jmp 0x18003d3b1
cmp rbx, r13
jb 0x18003d3bf
cmp rbx, r13
ja 0x18003d3c8
mov eax, dword [r15 + 0x70]
cmp rsi, rax
jne 0x18003d3c8
mov eax, dword [r15 + 0x70]
cmp rsi, rax
jbe 0x18003d3d9
cmp dword [rcx], 0
jne 0x18003d457
xor eax, eax
mov rbx, r13
mov r14d, eax
sub ebx, dword [rbp - 0x40]
mov r10d, 0x2400
cmp qword [r15 + 0x68], 0
mov word [r15 + 0x52], r14w
mov dword [r15 + 0x48], ebx
jne 0x18003d40e
test word [rbp + 0x18], r10w
jne 0x18003d3ff
cmp dword [rbp + 0x30], 0
je 0x18003d40e
lea rcx, [rbp + 0x10]
call fcn.180031650
mov r10d, 0x2400
mov r13, qword [rsp + 0x78]
xor ebx, ebx
mov r12, qword [rbp - 0x78]
mov esi, dword [rbp - 0x60]
lea r14d, [rbx + 1]
movzx eax, word [r15 + 0x52]
cmp eax, esi
jg 0x18003d4dd
mov rsi, qword [rsp + 0x38]
cmp byte [rsi + 1], 0xf5
jne 0x18003d49d
mov rdx, qword [rsi + 0x10]
mov r8d, 0x800
mov rcx, r12
call fcn.180031b40
mov rdi, qword [rsp + 0x58]
xor r12d, r12d
jmp 0x18004191b
cmp qword [r15 + 0x68], 0
mov r10d, 0x2400
jne 0x18003d485
test word [rbp + 0x18], r10w
jne 0x18003d471
cmp dword [rbp + 0x30], 0
je 0x18003d485
lea rcx, [rbp + 0x10]
call fcn.180031650
mov r14d, 1
jmp 0x18003d217
mov r14d, 1
jmp 0x18003d21d
mov edi, ebx
mov dword [rbp - 0x70], ebx
mov r10d, 0x2400
jmp 0x18003d420
test word [r12 + 8], r10w
je 0x18003d4ba
mov rcx, r12
call fcn.180031610
mov rdi, qword [rsp + 0x58]
xor r12d, r12d
jmp 0x18004191b
mov rdi, qword [rsp + 0x58]
mov r9, qword [rsp + 0x50]
mov word [r12 + 8], r14w
xor r12d, r12d
jmp 0x180041926
movsxd rax, esi
mov edi, dword [r15 + rax*4 + 0x78]
mov dword [rbp - 0x70], edi
mov eax, 0x2400
test word [r12 + 8], ax
je 0x18003d4f2
mov rcx, r12
call fcn.180031610
lea eax, [rsi + 1]
movsxd rcx, eax
mov eax, dword [r13 + rcx*4]
cmp dword [r15 + 0x74], eax
jb 0x18003d614
movsxd rax, esi
mov r14d, dword [r13 + rax*4]
add r14, qword [r15 + 0x68]
cmp edi, 0xc
jae 0x18003d52d
mov r8, r12
mov edx, edi
mov rcx, r14
call fcn.1800369f0
xor r12d, r12d
jmp 0x180040c48
movzx eax, byte [rsp + 0x48]
lea esi, [rdi - 0xc]
shr esi, 1
mov dword [r12 + 0xc], esi
mov byte [r12 + 0xa], al
lea edx, [rsi + 2]
cmp dword [r12 + 0x20], edx
jge 0x18003d5c0
mov eax, 1
xor r8d, r8d
mov rcx, r12
mov word [r12 + 8], ax
call fcn.180031180
test eax, eax
je 0x18003d5ca
mov r15, qword [rsp + 0x70]
mov r13, qword [rsp + 0x60]
mov r14d, 1
movzx ebx, byte [rsp + 0x30]
mov esi, 7
cmp byte [r15 + 0x61], 0
jne 0x18003d5aa
cmp byte [r15 + 0x62], 0
jne 0x18003d5aa
cmp dword [r15 + 0xc8], 0
mov byte [r15 + 0x61], 1
jle 0x18003d5a3
mov dword [r15 + 0x160], r14d
inc dword [r15 + 0x168]
lea rdx, str.out_of_memory
mov rcx, r13
call fcn.1800327e0
mov eax, esi
jmp 0x180041f90
mov rax, qword [r12 + 0x18]
mov qword [r12 + 0x10], rax
mov rcx, qword [r12 + 0x10]
mov rdx, r14
mov r8d, esi
call fcn.180109e10
mov rax, qword [r12 + 0x10]
mov byte [rsi + rax], 0
lea eax, [rsi + 1]
movsxd rcx, eax
mov rax, qword [r12 + 0x10]
mov byte [rcx + rax], 0
mov eax, edi
and eax, 1
lea rcx, [0x180000000]
movzx eax, word [rcx + rax*2 + 0x1502ac]
mov word [r12 + 8], ax
xor r12d, r12d
jmp 0x180040c48
movzx eax, byte [rsp + 0x48]
mov byte [r12 + 0xa], al
mov rax, qword [rsp + 0x38]
movzx eax, word [rax + 2]
test al, 0xc0
je 0x18003d63a
cmp edi, 0xc
jb 0x18003d636
test dil, 1
je 0x18003d663
test al, al
js 0x18003d663
mov eax, 0x80
cmp edi, eax
jb 0x18003d64c
lea r8d, [rdi - 0xc]
shr r8d, 1
jmp 0x18003d65e
mov eax, edi
lea rcx, [0x180000000]
movzx r8d, byte [rax + rcx + 0x150220]
test r8d, r8d
jne 0x18003d686
mov r8, r12
lea rcx, [0x1803e56a8]
mov edx, edi
call fcn.1800369f0
mov rsi, qword [rsp + 0x38]
xor r12d, r12d
mov rdi, qword [rsp + 0x58]
jmp 0x18004191b
mov r10, qword [r15 + 0x38]
movsxd rax, esi
mov dword [rsp + 0x44], ebx
movzx ecx, word [r10 + 0x44]
mov r11d, dword [r13 + rax*4]
mov rax, qword [r10 + 0x88]
mov edx, dword [rax + 0x58]
sub edx, dword [r10 + 0x38]
cmp ecx, edx
jle 0x18003d6b4
test edx, edx
mov ecx, edx
cmovs ecx, ebx
lea eax, [r11 + r8]
cmp eax, ecx
ja 0x18003d6da
mov rax, r11
add rax, qword [r10 + 0x38]
mov qword [r12 + 0x10], rax
mov eax, 0x1010
mov word [r12 + 8], ax
mov dword [r12 + 0xc], r8d
jmp 0x18003d6f4
mov r9, r12
mov edx, r11d
mov rcx, r10
call fcn.180031e80
mov dword [rsp + 0x44], eax
test eax, eax
jne 0x180041a22
mov rcx, qword [r12 + 0x10]
mov r8, r12
mov edx, edi
call fcn.1800369f0
mov eax, 0xefff
and word [r12 + 8], ax
mov rsi, qword [rsp + 0x38]
xor r12d, r12d
mov rdi, qword [rsp + 0x58]
jmp 0x18004191b
mov rax, qword [rsp + 0x38]
mov rdi, qword [rax + 0x10]
movsxd rax, dword [rax + 4]
imul rbx, rax, 0x38
mov rax, qword [rsp + 0x58]
add rbx, rax
movzx eax, byte [rdi]
nop dword [rax]
movzx r8d, byte [rsp + 0x48]
movzx edx, al
mov rcx, rbx
call fcn.18003b430
movzx eax, byte [rdi + 1]
lea rdi, [rdi + 1]
add rbx, 0x38
test al, al
jne 0x18003d740
mov rsi, qword [rsp + 0x38]
mov rdi, qword [rsp + 0x58]
jmp 0x18004191b
mov rcx, qword [rsp + 0x38]
xor eax, eax
mov r13d, eax
mov qword [rbp - 0x78], rax
mov rsi, r12
movsxd rax, dword [rcx + 4]
mov rbx, qword [rcx + 0x10]
imul r15, rax, 0x38
mov eax, dword [rcx + 8]
dec eax
add r15, rdi
cdqe
imul rax, rax, 0x38
add rax, r15
mov qword [rbp - 0x40], rax
mov rax, qword [rsp + 0x60]
movzx r14d, byte [rax + 0xbf]
movsxd rax, dword [rcx + 0xc]
imul rcx, rax, 0x38
add rcx, rdi
mov qword [rsp + 0x78], rcx
test rbx, rbx
je 0x18003d7f3
movzx eax, byte [rbx]
mov rdi, r15
movzx r13d, byte [rsp + 0x48]
movzx r8d, r13b
movzx edx, al
mov rcx, rdi
call fcn.18003b430
movzx eax, byte [rbx + 1]
lea rbx, [rbx + 1]
add rdi, 0x38
test al, al
jne 0x18003d7d0
mov r13, qword [rbp - 0x78]
mov rbx, qword [rbp - 0x40]
nop word [rax + rax]
lea r8, [rbp - 0x58]
mov edx, r14d
mov rcx, rbx
call fcn.180036830
mov edi, eax
mov eax, 0x4000
test word [rbx + 8], ax
je 0x18003d84b
test edi, edi
jne 0x18003d827
mov edi, 0xa
jmp 0x18003d84b
test rsi, rsi
je 0x18003d83e
mov rcx, rbx
call fcn.1800313c0
test eax, eax
jne 0x18003d565
jmp 0x18003d84b
movsxd rcx, dword [rbx]
add r13, rcx
sub dword [rbp - 0x58], ecx
mov qword [rbp - 0x78], r13
mov eax, dword [rbp - 0x58]
mov r8d, 1
add rsi, rax
mov ecx, r8d
cmp edi, 0x7f
jbe 0x18003d87b
mov eax, edi
shr rax, 7
test rax, rax
je 0x18003d87b
nop word [rax + rax]
inc ecx
shr rax, 7
test rax, rax
jne 0x18003d870
add r12d, ecx
mov dword [rbx + 0x24], edi
cmp rbx, r15
je 0x18003d88f
sub rbx, 0x38
jmp 0x18003d800
cmp r12d, 0x7e
jle 0x18003d8d0
movsxd rax, r12d
mov edx, r8d
shr rax, 7
test rax, rax
je 0x18003d8af
inc edx
shr rax, 7
test rax, rax
jne 0x18003d8a4
add r12d, edx
mov ecx, r8d
movsxd rax, r12d
shr rax, 7
test rax, rax
je 0x18003d8cc
inc ecx
shr rax, 7
test rax, rax
jne 0x18003d8c1
cmp edx, ecx
jge 0x18003d8d3
inc r12d
mov rdi, qword [rsp + 0x78]
movsxd rbx, r12d
movsxd rdx, dword [rdi + 0x20]
lea r14, [rsi + rbx]
lea rcx, [r14 + r13]
mov qword [rbp - 0x60], r14
cmp rcx, rdx
jle 0x18003d924
mov r8, qword [rsp + 0x70]
movsxd rax, dword [r8 + 0x7c]
cmp rcx, rax
jg 0x180041c25
cmp edx, r14d
jge 0x18003d91f
xor r8d, r8d
mov edx, r14d
mov rcx, rdi
call fcn.180031180
test eax, eax
jne 0x18003d565
jmp 0x18003d92c
and word [rdi + 8], 0xd
mov rax, qword [rdi + 0x18]
mov qword [rdi + 0x10], rax
mov rsi, qword [rdi + 0x10]
mov ecx, 0x80
cmp r12d, ecx
jae 0x18003d948
mov r13d, 1
mov byte [rsi], r12b
mov eax, r13d
jmp 0x18003d95c
mov rdx, rbx
mov rcx, rsi
call fcn.180014370
mov ecx, 0x80
lea r13d, [rcx - 0x7f]
movzx edi, al
xor r14d, r14d
mov r11d, dword [r15 + 0x24]
cmp r11d, ecx
jae 0x18003d977
movsxd rax, edi
mov byte [rax + rsi], r11b
mov eax, r13d
jmp 0x18003d985
movsxd rcx, edi
mov rdx, r11
add rcx, rsi
call fcn.180014370
movzx eax, al
add edi, eax
movsxd r9, r12d
lea eax, [r11 - 1]
add r9, rsi
cmp eax, 6
ja 0x18003d9c0
mov rdx, qword [r15]
lea rcx, [0x180000000]
movzx ecx, byte [r11 + rcx + 0x150220]
mov ebx, ecx
nop
dec ecx
mov byte [rcx + r9], dl
shr rdx, 8
test ecx, ecx
jne 0x18003d9b0
jmp 0x18003d9e2
cmp r11d, 0xc
jb 0x18003d9df
mov ebx, dword [r15 + 0xc]
test ebx, ebx
je 0x18003d9e2
mov rdx, qword [r15 + 0x10]
mov r8d, ebx
mov rcx, r9
call fcn.180109e10
jmp 0x18003d9e2
mov ebx, r14d
add r12d, ebx
add r15, 0x38
mov ecx, 0x80
cmp r15, qword [rbp - 0x40]
jbe 0x18003d962
mov rcx, qword [rsp + 0x78]
mov eax, reloc.WS2_32.dll_recv
mov r14, qword [rbp - 0x60]
xor r12d, r12d
mov r13, qword [rbp - 0x78]
mov rsi, qword [rsp + 0x38]
mov rdi, qword [rsp + 0x58]
lea r11d, [rax - 0xc]
mov dword [rcx + 0xc], r14d
lea r14d, [rax - 0xf]
mov word [rcx + 8], ax
test r13, r13
je 0x180041707
mov r9, qword [rsp + 0x50]
mov eax, 0x4010
mov word [rcx + 8], ax
mov r10d, 0x2400
mov dword [rcx], r13d
jmp case.0x18003b74f.86
mov rax, qword [rsp + 0x38]
lea rdx, [rbp + 8]
mov qword [rbp + 8], r12
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x98]
mov rcx, qword [rax + rcx*8]
mov rcx, qword [rcx + 0x38]
call fcn.18002e850
mov dword [rsp + 0x44], eax
test eax, eax
jne 0x180041f86
mov rax, qword [rsp + 0x38]
mov r10d, 0x2400
movsxd rax, dword [rax + 8]
imul rcx, rax, 0x38
add rcx, qword [r13 + 0x70]
test word [rcx + 8], r10w
je 0x18003dabf
call fcn.18003b5b0
mov rsi, qword [rsp + 0x38]
mov rcx, rax
mov rax, qword [rbp + 8]
mov r10d, 0x2400
mov r9, qword [rsp + 0x50]
mov qword [rcx], rax
jmp 0x180041926
mov rsi, qword [rsp + 0x38]
mov eax, 4
mov r9, qword [rsp + 0x50]
mov word [rcx + 8], ax
mov rax, qword [rbp + 8]
mov qword [rcx], rax
jmp 0x180041926
mov rax, qword [rsp + 0x38]
mov esi, dword [rax + 4]
mov rdi, qword [rax + 0x10]
mov dword [rsp + 0x78], esi
test esi, esi
jne 0x18003dbc5
cmp dword [r15 + 0xc4], esi
jg 0x180041a2c
test rdi, rdi
jne 0x18003db0d
mov ebx, r12d
jmp 0x18003db20
or rbx, 0xffffffffffffffff
inc rbx
cmp byte [rdi + rbx], 0
jne 0x18003db11
and ebx, 0x3fffffff
mov r8d, dword [r15 + 0x290]
xor edx, edx
add r8d, dword [r15 + 0x28c]
mov rcx, r15
call fcn.18008b2c0
mov dword [rsp + 0x44], eax
test eax, eax
jne 0x180041f86
mov edx, ebx
mov rcx, r15
add rdx, 0x21
call fcn.180010400
mov rsi, rax
test rax, rax
je 0x1800416f7
lea r9, [rax + 0x20]
mov rdx, rdi
mov rcx, r9
mov qword [rax], r9
lea r8d, [rbx + 1]
call fcn.180109e10
cmp byte [r15 + 0x5f], 0
je 0x18003db87
mov byte [r15 + 0x5f], 0
mov byte [r15 + 0x67], 1
jmp 0x18003db8e
inc dword [r15 + 0x28c]
mov rax, qword [r15 + 0x280]
mov rdi, qword [rsp + 0x58]
mov qword [rsi + 0x18], rax
mov rax, qword [r15 + 0x298]
mov qword [r15 + 0x280], rsi
mov qword [rsi + 8], rax
mov rax, qword [r15 + 0x2a0]
mov qword [rsi + 0x10], rax
mov rsi, qword [rsp + 0x38]
jmp 0x18004191b
mov r14, qword [r15 + 0x280]
test r14, r14
je 0x18003dbec
mov rcx, qword [r14]
mov rdx, rdi
call fcn.1800138a0
test eax, eax
je 0x18003dc08
mov r14, qword [r14 + 0x18]
inc r12d
test r14, r14
jne 0x18003dbd1
mov r8, rdi
lea rdx, str.no_such_savepoint:__s
mov rcx, r13
call fcn.1800327e0
mov eax, 1
jmp 0x180041f86
cmp dword [r15 + 0xc4], 0
jle 0x18003dc1b
cmp esi, 1
je 0x180041a45
cmp qword [r14 + 0x18], 0
jne 0x18003dc7a
cmp byte [r15 + 0x67], 0
je 0x18003dc7a
mov edi, 1
mov r13d, edi
cmp esi, edi
jne 0x18003dc81
mov rbx, qword [rsp + 0x60]
mov rax, qword [rbx]
mov rcx, qword [rax + 0x2a0]
add rcx, qword [rax + 0x298]
test rcx, rcx
mov rcx, rbx
jg 0x180041a9f
mov byte [r15 + 0x5f], dil
call fcn.180035e30
cmp eax, 5
je 0x180041a5e
mov byte [r15 + 0x67], 0
mov ecx, dword [rbx + 0x38]
mov dword [rsp + 0x44], ecx
jmp 0x18003dd66
xor ecx, ecx
mov r13d, ecx
jmp 0x18003dc83
xor ecx, ecx
mov eax, dword [r15 + 0x28c]
sub eax, r12d
lea r12d, [rax - 1]
mov rax, qword [rsp + 0x70]
cmp esi, 2
jne 0x18003dcee
mov r15d, dword [r15 + 0x2c]
mov edi, ecx
and r15d, 1
cmp dword [rax + 0x28], 0
jle 0x18003dcf1
mov esi, r15d
mov rbx, rcx
xor esi, 1
mov rcx, qword [rax + 0x20]
mov r8d, esi
mov edx, 0x204
mov rcx, qword [rbx + rcx + 8]
call fcn.180027ef0
mov dword [rsp + 0x44], eax
test eax, eax
jne 0x180041a22
mov rax, qword [rsp + 0x70]
inc edi
add rbx, 0x20
cmp edi, dword [rax + 0x28]
jl 0x18003dcb4
mov esi, dword [rsp + 0x78]
xor ecx, ecx
jmp 0x18003dcf1
mov r15d, ecx
cmp dword [rax + 0x28], 0
mov edi, ecx
jle 0x18003dd2f
mov rbx, rcx
nop dword [rax]
mov rcx, qword [rax + 0x20]
mov r8d, r12d
mov edx, esi
mov rcx, qword [rbx + rcx + 8]
call fcn.180028160
mov dword [rsp + 0x44], eax
test eax, eax
jne 0x180041a22
mov rax, qword [rsp + 0x70]
inc edi
add rbx, 0x20
cmp edi, dword [rax + 0x28]
jl 0x18003dd00
test r15d, r15d
mov r15, qword [rsp + 0x70]
je 0x18003dd66
mov rax, qword [r15 + 8]
test rax, rax
je 0x18003dd59
and dword [rax + 0xc4], 0xfffffffd
or dword [rax + 0xc4], 1
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x18003dd42
mov rcx, r15
call fcn.18005a130
or dword [r15 + 0x2c], 1
cmp qword [r15 + 0x280], r14
je 0x18003ddd3
nop
cmp qword [r15 + 0x2a8], 0
mov rcx, qword [r15 + 0x280]
mov rax, qword [rcx + 0x18]
mov qword [r15 + 0x280], rax
je 0x18003dd99
mov rdx, rcx
mov rcx, r15
call fcn.180010080
jmp 0x18003ddc3
cmp rcx, qword [r15 + 0x190]
jb 0x18003ddbe
cmp rcx, qword [r15 + 0x198]
jae 0x18003ddbe
mov rax, qword [r15 + 0x188]
mov qword [rcx], rax
mov qword [r15 + 0x188], rcx
jmp 0x18003ddc3
call fcn.180010010
dec dword [r15 + 0x28c]
cmp qword [r15 + 0x280], r14
jne 0x18003dd70
cmp esi, 1
jne 0x18003de1b
mov rax, qword [r14 + 0x18]
mov rdx, r14
mov rcx, r15
mov qword [r15 + 0x280], rax
call fcn.180010110
test r13d, r13d
jne 0x18003de3b
dec dword [r15 + 0x28c]
mov r8d, r12d
mov edx, esi
mov rcx, r15
call fcn.18008b2c0
mov dword [rsp + 0x44], eax
test eax, eax
jne 0x180041a22
xor r12d, r12d
jmp 0x180040c48
mov rax, qword [r14 + 8]
mov qword [r15 + 0x298], rax
mov rax, qword [r14 + 0x10]
mov qword [r15 + 0x2a0], rax
test r13d, r13d
je 0x18003ddfa
cmp esi, 2
je 0x18003ddfa
mov eax, dword [rsp + 0x44]
test eax, eax
jne 0x180041a22
xor r12d, r12d
jmp 0x180040c48
mov rcx, qword [rsp + 0x38]
mov dword [rbp - 0x50], r12d
mov edx, dword [rcx + 8]
test edx, edx
je 0x18003de6e
mov eax, dword [r15 + 0x30]
bt rax, 0x14
jb 0x180041ac7
movsxd rcx, dword [rcx + 4]
mov rax, qword [r15 + 0x20]
shl rcx, 5
mov rbx, qword [rcx + rax + 8]
test rbx, rbx
je 0x18003dfd3
lea r8, [rbp - 0x50]
mov rcx, rbx
call fcn.180026de0
mov dword [rsp + 0x44], eax
test eax, eax
jne 0x180041ad1
mov rdi, qword [rsp + 0x38]
cmp dword [rdi + 8], eax
je 0x18003df77
test byte [r13 + 0xc4], 0x80
je 0x18003df77
cmp byte [r15 + 0x5f], al
je 0x18003ded0
cmp dword [r15 + 0xc0], 1
jle 0x18003df77
cmp dword [r13 + 0x40], 0
jne 0x18003def0
inc dword [r15 + 0x290]
mov ecx, dword [r15 + 0x290]
add ecx, dword [r15 + 0x28c]
mov dword [r13 + 0x40], ecx
mov r8d, dword [r13 + 0x40]
xor edx, edx
dec r8d
mov rcx, r15
call fcn.18008b2c0
mov dword [rsp + 0x44], eax
test eax, eax
jne 0x18003df5d
mov edi, dword [r13 + 0x40]
mov rsi, qword [rbx + 8]
cmp byte [rbx + 0x11], al
je 0x18003df26
inc dword [rbx + 0x14]
cmp byte [rbx + 0x12], al
jne 0x18003df26
mov rcx, rbx
call fcn.180023c40
mov rcx, qword [rsi]
cmp edi, dword [rcx + 0x80]
jle 0x18003df44
cmp byte [rcx + 0xa], 0
je 0x18003df44
mov edx, edi
call fcn.180020040
mov dword [rsp + 0x44], eax
jmp 0x18003df49
mov dword [rsp + 0x44], r12d
cmp byte [rbx + 0x11], 0
je 0x18003df5d
sub dword [rbx + 0x14], 1
jne 0x18003df5d
mov rcx, rbx
call fcn.180023c10
mov rax, qword [r15 + 0x298]
mov qword [r13 + 0x58], rax
mov rax, qword [r15 + 0x2a0]
mov qword [r13 + 0x60], rax
mov eax, dword [rsp + 0x44]
mov r9, qword [rsp + 0x50]
mov r11d, 4
mov rdi, qword [rsp + 0x58]
mov r10d, 0x2400
mov rsi, qword [rsp + 0x38]
cmp word [rsi + 2], 0
je 0x18003dfc6
mov eax, dword [rsi + 0xc]
cmp dword [rbp - 0x50], eax
jne 0x180041b0f
mov rax, qword [r15 + 0x20]
movsxd rcx, dword [rsi + 4]
shl rcx, 5
mov rcx, qword [rcx + rax + 0x18]
mov eax, dword [rsi + 0x10]
cmp dword [rcx + 4], eax
jne 0x180041b0f
mov eax, dword [rsp + 0x44]
test eax, eax
jne 0x180041f86
jmp case.0x18003b74f.86
mov eax, dword [rsp + 0x44]
jmp 0x18003df8d
mov rax, qword [rsp + 0x38]
movsxd rcx, dword [rax + 4]
mov edi, dword [rax + 0xc]
mov rax, qword [r15 + 0x20]
shl rcx, 5
mov rbx, qword [rcx + rax + 8]
cmp byte [rbx + 0x11], 0
mov rsi, qword [rbx + 8]
je 0x18003e013
inc dword [rbx + 0x14]
cmp byte [rbx + 0x12], 0
jne 0x18003e013
mov rcx, rbx
call fcn.180023c40
mov r10d, 0x2400
cmp edi, 0xf
jne 0x18003e026
mov rax, qword [rsi]
mov edi, dword [rbx + 0x1c]
add edi, dword [rax + 0x84]
jmp 0x18003e03d
lea eax, [rdi*4 + 0x24]
movsxd rdx, eax
mov rax, qword [rsi + 0x18]
mov rcx, qword [rax + 0x50]
mov edi, dword [rdx + rcx]
bswap edi
cmp byte [rbx + 0x11], 0
je 0x18003e057
sub dword [rbx + 0x14], 1
jne 0x18003e057
mov rcx, rbx
call fcn.180023c10
mov r10d, 0x2400
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 8]
imul rcx, rax, 0x38
add rcx, qword [r13 + 0x70]
test word [rcx + 8], r10w
je 0x18003e097
call fcn.18003b5b0
mov rsi, qword [rsp + 0x38]
mov rcx, rax
mov r9, qword [rsp + 0x50]
mov r10d, 0x2400
movsxd rax, edi
mov rdi, qword [rsp + 0x58]
mov qword [rcx], rax
jmp 0x180041926
mov rsi, qword [rsp + 0x38]
mov eax, 4
mov r9, qword [rsp + 0x50]
mov word [rcx + 8], ax
movsxd rax, edi
mov rdi, qword [rsp + 0x58]
mov qword [rcx], rax
jmp 0x180041926
mov rax, qword [rsp + 0x38]
movsxd rbx, dword [rax + 4]
mov r8d, dword [rax + 0xc]
mov edx, dword [rax + 8]
shl rbx, 5
add rbx, qword [r15 + 0x20]
mov rcx, qword [rbx + 8]
call fcn.18002e7b0
mov rdx, qword [rsp + 0x38]
mov dword [rsp + 0x44], eax
mov eax, dword [rdx + 8]
cmp eax, 1
jne 0x18003e0fc
mov rcx, qword [rbx + 0x18]
mov eax, dword [rdx + 0xc]
mov dword [rcx], eax
or dword [r15 + 0x2c], 1
jmp 0x18003e10c
cmp eax, 2
jne 0x18003e10c
mov rcx, qword [rbx + 0x18]
movzx eax, byte [rdx + 0xc]
mov byte [rcx + 0x70], al
cmp dword [rdx + 4], 1
jne 0x18003e13f
mov rax, qword [r15 + 8]
test rax, rax
je 0x18003e137
nop dword [rax + rax]
and dword [rax + 0xc4], 0xfffffffd
or dword [rax + 0xc4], 1
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x18003e120
and dword [r13 + 0xc4], 0xfffffffc
mov eax, dword [rsp + 0x44]
test eax, eax
jne 0x180041f86
mov rsi, rdx
jmp 0x18004191b
mov rax, qword [rsp + 0x38]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x98]
mov rdi, qword [rax + rcx*8]
mov rcx, qword [rsp + 0x38]
test rdi, rdi
je 0x18003e184
mov eax, dword [rcx + 8]
cmp dword [rdi + 0x4c], eax
je 0x18003e2a4
jmp 0x18003e184
mov rcx, qword [rsp + 0x38]
mov eax, dword [r13 + 0xc4]
and al, 3
cmp al, 1
je 0x180041b71
mov r8, qword [rsp + 0x70]
mov edi, r12d
movsxd r15, dword [rcx + 8]
mov r14, r12
movsxd r12, dword [rcx + 0xc]
mov rax, r12
shl rax, 5
add rax, qword [r8 + 0x20]
mov r13, qword [rax + 8]
cmp bl, 0x6e
jne 0x18003e21b
mov rax, qword [rax + 0x18]
movzx esi, word [rcx + 2]
and esi, 8
or esi, 4
movzx ecx, byte [rax + 0x70]
mov rax, qword [rsp + 0x60]
cmp cl, byte [rax + 0xbf]
jae 0x18003e1e1
mov byte [rax + 0xbf], cl
mov rcx, qword [rsp + 0x38]
test byte [rcx + 2], 0x10
je 0x18003e208
mov rax, qword [rsp + 0x58]
imul rbx, r15, 0x38
add rbx, rax
mov rcx, rbx
call fcn.1800317e0
mov rcx, qword [rsp + 0x38]
mov r15d, dword [rbx]
movzx eax, byte [rcx + 1]
cmp al, 0xf7
jne 0x18003e21f
mov r14, qword [rcx + 0x10]
movzx edi, word [r14 + 8]
jmp 0x18003e226
xor esi, esi
jmp 0x18003e1e6
cmp al, 0xfd
jne 0x18003e226
mov edi, dword [rcx + 0x10]
mov edx, dword [rcx + 4]
mov r9d, r12d
mov rcx, qword [rsp + 0x60]
mov r8d, edi
mov byte [rsp + 0x20], 0
call fcn.18003b220
mov rdi, rax
test rax, rax
je 0x18003d565
mov rcx, qword [rax + 0x38]
mov r9, r14
or dword [rax + 8], 4
mov r8d, esi
mov qword [rsp + 0x20], rcx
mov edx, r15d
mov rcx, r13
mov byte [rax + 2], 1
mov dword [rax + 0x4c], r15d
call fcn.180028350
mov rcx, qword [rsp + 0x38]
mov r10d, 0x2400
mov r13, qword [rsp + 0x60]
mov r9, qword [rsp + 0x50]
mov qword [rdi + 0x40], r14
cmp byte [rcx + 1], 0xf7
mov dword [rsp + 0x44], eax
setne al
xor r12d, r12d
mov byte [rdi + 4], al
lea r14d, [r12 + 1]
lea r11d, [r12 + 4]
mov rax, qword [rdi + 0x38]
movzx ecx, byte [rcx + 2]
and cl, 3
mov byte [rax + 3], cl
mov eax, dword [rsp + 0x44]
test eax, eax
jne 0x180041f86
mov rsi, qword [rsp + 0x38]
mov rdi, qword [rsp + 0x58]
jmp case.0x18003b74f.86
mov rax, qword [rsp + 0x38]
or r9d, 0xffffffff
mov byte [rsp + 0x20], 0
movsxd rcx, dword [rax + 8]
mov rax, qword [r13 + 0x98]
mov rbx, qword [rax + rcx*8]
mov rcx, r13
mov rax, qword [rsp + 0x38]
movsx r8d, word [rbx + 0x50]
mov edx, dword [rax + 4]
call fcn.18003b220
test rax, rax
je 0x18003d575
or dword [rax + 8], 1
mov rsi, qword [rax + 0x38]
mov byte [rax + 2], 1
mov rdi, qword [rbx + 0x40]
mov qword [rax + 0x40], rdi
movzx ecx, byte [rbx + 4]
mov byte [rax + 4], cl
mov rbx, qword [rbx + 0x10]
cmp byte [rbx + 0x11], 0
je 0x18003e33e
inc dword [rbx + 0x14]
cmp byte [rbx + 0x12], 0
jne 0x18003e33e
mov rcx, rbx
call fcn.180023c40
mov r9, rdi
mov qword [rsp + 0x20], rsi
mov r8d, 4
mov edx, r14d
mov rcx, rbx
call fcn.180028250
cmp byte [rbx + 0x11], 0
mov dword [rsp + 0x44], eax
je 0x180041248
sub dword [rbx + 0x14], 1
jne 0x180041248
mov rcx, rbx
call fcn.180023c10
mov rsi, qword [rsp + 0x38]
mov rdi, qword [rsp + 0x58]
jmp 0x18004191b
mov rbx, qword [rsp + 0x38]
or r9d, 0xffffffff
mov rcx, r13
mov byte [rsp + 0x20], 0
mov r8d, dword [rbx + 8]
mov edx, dword [rbx + 4]
call fcn.18003b220
mov rdi, rax
test rax, rax
je 0x18003d575
or dword [rax + 8], 1
lea r9, [rax + 0x10]
mov byte [rax + 2], 1
mov r8, r15
movzx ecx, word [rbx + 2]
xor edx, edx
or ecx, 5
mov dword [rsp + 0x28], 0x41e
mov dword [rsp + 0x20], ecx
mov rcx, qword [r15]
call fcn.180025ce0
test eax, eax
jne 0x180041f86
mov rcx, qword [rdi + 0x10]
lea edx, [rax + 1]
xor r8d, r8d
call fcn.180026de0
test eax, eax
jne 0x180041f86
mov r15, qword [rbx + 0x10]
mov qword [rdi + 0x40], r15
test r15, r15
je 0x18003e484
movzx esi, word [rbx + 2]
mov rbx, qword [rdi + 0x10]
or esi, 2
cmp byte [rbx + 0x11], al
je 0x18003e427
inc dword [rbx + 0x14]
cmp byte [rbx + 0x12], al
jne 0x18003e427
mov rcx, rbx
call fcn.180023c40
mov r8d, esi
lea rdx, [rbp - 0xc]
mov rcx, rbx
call fcn.18002dd00
cmp byte [rbx + 0x11], 0
mov dword [rsp + 0x44], eax
je 0x18003e452
sub dword [rbx + 0x14], 1
jne 0x18003e452
mov rcx, rbx
call fcn.180023c10
mov eax, dword [rsp + 0x44]
test eax, eax
jne 0x18003e478
mov rax, qword [rdi + 0x38]
mov r9, r15
mov edx, dword [rbp - 0xc]
mov r8d, 4
mov rcx, qword [rdi + 0x10]
mov qword [rsp + 0x20], rax
call fcn.180028350
mov dword [rsp + 0x44], eax
mov byte [rdi + 4], 0
mov r14d, 1
jmp 0x18003e4dc
mov rbx, qword [rdi + 0x10]
mov rsi, qword [rdi + 0x38]
cmp byte [rbx + 0x11], 0
je 0x18003e4a3
inc dword [rbx + 0x14]
cmp byte [rbx + 0x12], 0
jne 0x18003e4a3
mov rcx, rbx
call fcn.180023c40
xor r9d, r9d
mov qword [rsp + 0x20], rsi
mov r14d, 1
mov rcx, rbx
mov edx, r14d
lea r8d, [r9 + 4]
call fcn.180028250
cmp byte [rbx + 0x11], 0
mov dword [rsp + 0x44], eax
je 0x18003e4d8
sub dword [rbx + 0x14], r14d
jne 0x18003e4d8
mov rcx, rbx
call fcn.180023c10
mov byte [rdi + 4], r14b
mov eax, dword [rsp + 0x44]
test eax, eax
jne 0x180041f86
mov rax, qword [rsp + 0x38]
mov ecx, r12d
mov r11d, 4
cmp word [rax + 2], 8
mov eax, dword [rdi + 8]
cmovne ecx, r11d
and eax, 0xfffffffb
or ecx, eax
mov dword [rdi + 8], ecx
jmp 0x18003cdf3
mov rax, qword [rsp + 0x38]
or r9d, 0xffffffff
mov rcx, r13
mov byte [rsp + 0x20], 1
mov r8d, dword [rax + 8]
mov edx, dword [rax + 4]
call fcn.18003b220
test rax, rax
je 0x18003d575
mov rdx, qword [rsp + 0x38]
mov r8, rax
mov rcx, qword [rdx + 0x10]
mov qword [rax + 0x40], rcx
mov rcx, r15
mov edx, dword [rdx + 0xc]
call fcn.180043a70
mov dword [rsp + 0x44], eax
test eax, eax
jne 0x180041f86
jmp 0x180041916
mov rax, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x38]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x98]
mov rdx, qword [rax + rcx*8]
mov rcx, qword [rdx + 0x18]
lea rax, [rcx + 1]
mov qword [rdx + 0x18], rax
test rcx, rcx
je 0x180041018
jmp case.0x18003b74f.86
mov rax, qword [rsp + 0x38]
or r9d, 0xffffffff
mov rcx, r13
mov byte [rsp + 0x20], 3
mov r8d, dword [rax + 0xc]
mov edx, dword [rax + 4]
call fcn.18003b220
test rax, rax
je 0x18003d575
mov rcx, qword [rsp + 0x38]
mov byte [rax + 2], 1
mov ecx, dword [rcx + 8]
mov dword [rax + 0x2c], ecx
lea rcx, [0x1803e5381]
mov qword [rax + 0x38], rcx
mov byte [rax + 4], 1
jmp 0x180041916
mov rax, qword [rsp + 0x38]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x98]
mov rdx, qword [rax + rcx*8]
test rdx, rdx
je 0x18003e654
movzx ecx, byte [rdx]
test ecx, ecx
je 0x18003e624
sub ecx, 1
je 0x18003e619
cmp ecx, 1
jne 0x18003e654
mov rcx, qword [rdx + 0x38]
mov rax, qword [rcx]
mov rdx, qword [rax]
dec dword [rax + 8]
call qword [rdx + gethostname]
jmp 0x18003e643
mov rcx, qword [r13]
call fcn.180044270
jmp 0x18003e643
test byte [rdx + 8], 1
je 0x18003e63a
mov rcx, qword [rdx + 0x10]
test rcx, rcx
je 0x18003e654
call fcn.1800264e0
jmp 0x18003e643
mov rcx, qword [rdx + 0x38]
call fcn.180028400
mov r9, qword [rsp + 0x50]
mov r11d, 4
mov r10d, 0x2400
mov rax, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x38]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x98]
mov qword [rax + rcx*8], r12
jmp case.0x18003b74f.86
mov rax, qword [rsp + 0x38]
mov r15d, r12d
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x98]
mov r14, qword [rax + rcx*8]
cmp byte [r14 + 4], 0
mov byte [r14 + 2], 0
je 0x18003e7a9
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 0xc]
imul rdi, rax, 0x38
add rdi, qword [rsp + 0x58]
movzx eax, byte [rdi + 8]
and al, 0xe
cmp al, 2
jne 0x18003e6bf
xor edx, edx
mov rcx, rdi
call fcn.18003b3a0
movzx eax, word [rdi + 8]
test al, 4
je 0x18003e6cc
mov rsi, qword [rdi]
jmp 0x18003e6f2
test al, 8
je 0x18003e6de
movsd xmm0, qword [rdi]
call fcn.1800316f0
mov rsi, rax
jmp 0x18003e6f2
test al, 0x12
je 0x18003e6ef
mov rcx, rdi
call fcn.180031730
mov rsi, rax
jmp 0x18003e6f2
mov rsi, r12
movzx eax, word [rdi + 8]
test al, 4
jne 0x18003e72e
test al, 8
je 0x18004100d
movsd xmm0, qword [rdi]
xorps xmm1, xmm1
cvtsi2sd xmm1, rsi
comisd xmm1, xmm0
jbe 0x18003e721
test bl, 1
lea eax, [rbx - 1]
cmove eax, ebx
mov ebx, eax
jmp 0x18003e72e
comisd xmm0, xmm1
jbe 0x18003e72e
test bl, 1
jne 0x18003e72e
inc ebx
mov rcx, qword [r14 + 0x38]
lea rax, [rsp + 0x68]
xor r9d, r9d
mov qword [rsp + 0x20], rax
mov r8, rsi
xor edx, edx
call fcn.180029040
mov dword [rsp + 0x44], eax
mov qword [r14 + 0x58], rsi
test eax, eax
jne 0x180041f86
mov eax, dword [rsp + 0x68]
mov byte [r14 + 3], 0
mov dword [r14 + 0x28], r12d
cmp ebx, 0x18
jl 0x18003e881
test eax, eax
js 0x18003e847
jne 0x18003e782
cmp ebx, 0x19
je 0x18003e847
mov dword [rsp + 0x68], r12d
mov rsi, qword [rsp + 0x38]
mov r14d, 1
mov rdi, qword [rsp + 0x58]
add rsi, 0x18
test r15d, r15d
cmove rsi, qword [rsp + 0x38]
jmp 0x18004191b
mov rax, qword [r14 + 0x38]
mov rcx, qword [rsp + 0x38]
movzx edi, byte [rax + 3]
mov rax, qword [r14 + 0x40]
and dil, 2
mov qword [rbp + 0x80], rax
movzx eax, word [rcx + 0x10]
setne r15b
mov word [rbp + 0x90], ax
test bl, 1
mov eax, 1
mov byte [rbp + 0x96], 0
cmovne eax, edx
xor r9d, r9d
mov byte [rbp + 0x92], al
lea rdx, [rbp + 0x80]
movsxd rax, dword [rcx + 0xc]
xor r8d, r8d
imul rcx, rax, 0x38
lea rax, [rsp + 0x68]
add rcx, qword [rsp + 0x58]
mov qword [rbp + 0x88], rcx
mov rcx, qword [r14 + 0x38]
mov qword [rsp + 0x20], rax
call fcn.180029040
mov dword [rsp + 0x44], eax
test eax, eax
jne 0x180041f86
test dil, dil
je 0x18003e759
cmp byte [rbp + 0x96], al
jne 0x18003e759
mov ecx, dword [rsp + 0x68]
jmp 0x18003e89d
mov rcx, qword [r14 + 0x38]
xor edx, edx
mov dword [rsp + 0x68], r12d
call fcn.180029740
mov dword [rsp + 0x44], eax
test eax, eax
je 0x18003e787
cmp eax, 0x65
jne 0x180041f86
mov r14d, 1
mov dword [rsp + 0x44], r12d
mov dword [rsp + 0x68], r14d
jmp 0x18003d025
test eax, eax
jg 0x18003e8aa
jne 0x18003e88c
cmp ebx, 0x16
je 0x18003e8aa
mov rax, qword [r14 + 0x38]
mov ecx, r12d
cmp byte [rax], 0
setne cl
mov dword [rsp + 0x68], ecx
test ecx, ecx
jne 0x18004100d
jmp 0x18003e787
mov rcx, qword [r14 + 0x38]
mov dword [rsp + 0x68], r12d
and byte [rcx + 1], 0xf1
cmp byte [rcx], 0
mov word [rcx + 0x46], r12w
jne 0x18003e8e8
movzx edx, word [rcx + 0x56]
test dx, dx
je 0x18003e8e8
mov rax, qword [rcx + 0x88]
cmp byte [rax + 8], 0
je 0x18003e8e8
dec dx
mov dword [rsp + 0x44], r12d
mov word [rcx + 0x56], dx
jmp 0x18003e787
call fcn.180029780
jmp 0x18003e857
mov rax, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x38]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x98]
mov rdx, qword [rax + rcx*8]
mov rax, qword [rsp + 0x38]
mov eax, dword [rax + 8]
shl eax, 3
xor eax, dword [rdx + 8]
and eax, 8
xor dword [rdx + 8], eax
jmp case.0x18003b74f.86
mov rax, qword [rsp + 0x38]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x98]
mov rcx, qword [rax + rcx*8]
test byte [rcx + 8], 8
jne 0x18003b975
mov rax, qword [rsp + 0x38]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x98]
mov rsi, qword [rax + rcx*8]
mov rcx, qword [rsp + 0x38]
movsxd rax, dword [rcx + 0xc]
imul rbx, rax, 0x38
add rbx, rdi
cmp dword [rcx + 0x10], 0
jle 0x18003e995
mov rax, qword [rsi + 0x40]
lea rdi, [rbp + 0x190]
mov qword [rbp + 0x190], rax
mov r14, r12
movzx eax, word [rcx + 0x10]
mov word [rbp + 0x1a0], ax
mov qword [rbp + 0x198], rbx
jmp 0x18003e9e0
mov eax, 0x4000
test word [rbx + 8], ax
je 0x18003e9b0
mov rcx, rbx
call fcn.1800313c0
test eax, eax
jne 0x18003d575
mov rcx, qword [rsi + 0x40]
call fcn.180036b90
mov rdi, rax
mov r14, rax
test rax, rax
je 0x18003d56f
mov r8, qword [rbx + 0x10]
mov r9, rax
mov edx, dword [rbx + 0xc]
mov rcx, qword [rsi + 0x40]
call fcn.180036bf0
mov rcx, qword [rsp + 0x38]
mov byte [rdi + 0x12], 0
mov ebx, r12d
cmp byte [rcx], 0x1b
jne 0x18003ea16
movzx edx, word [rdi + 0x10]
mov ecx, r12d
test edx, edx
je 0x18003ea16
mov rax, qword [rdi + 8]
add rax, 8
nop
test byte [rax], 1
jne 0x18003ea11
inc ecx
add rax, 0x38
cmp ecx, edx
jl 0x18003ea00
jmp 0x18003ea16
mov ebx, 1
mov rcx, qword [rsi + 0x38]
lea rax, [rbp - 0x10]
xor r9d, r9d
mov qword [rsp + 0x20], rax
xor r8d, r8d
mov rdx, rdi
call fcn.180029040
mov dword [rsp + 0x44], eax
test r14, r14
je 0x18003ea49
mov rdx, r14
mov rcx, r15
call fcn.1800100d0
mov eax, dword [rsp + 0x44]
test eax, eax
jne 0x180041f86
mov eax, dword [rbp - 0x10]
mov ecx, r12d
test eax, eax
mov dword [rsi + 0x2c], eax
mov byte [rsi + 3], 0
mov r14d, 1
sete cl
mov dword [rsi + 0x28], r12d
mov eax, r14d
sub al, cl
mov byte [rsi + 2], al
mov rsi, qword [rsp + 0x38]
cmp byte [rsi], 0x1d
jne 0x18003ea91
test ecx, ecx
jne 0x180041018
mov rdi, qword [rsp + 0x58]
jmp 0x18004191b
test ebx, ebx
jne 0x180041018
test ecx, ecx
je 0x180041018
mov rdi, qword [rsp + 0x58]
jmp 0x18004191b
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 0xc]
imul rbx, rax, 0x38
add rbx, rdi
movzx edi, word [rbx + 8]
test dil, 4
jne case.0x18003b74f.31
test dil, 8
jne 0x18003eade
test dil, 2
je 0x18003eae6
mov edx, r14d
mov rcx, rbx
call fcn.18003b3a0
jmp 0x18003eae6
mov rcx, rbx
call fcn.180031790
movzx eax, word [rbx + 8]
shr eax, 2
not eax
mov word [rbx + 8], di
and eax, 1
jne 0x180041013
mov rbx, qword [rsp + 0x38]
xor r9d, r9d
mov rax, qword [r13 + 0x98]
xor edx, edx
mov dword [rbp - 0x38], r12d
movsxd rcx, dword [rbx + 4]
mov rdi, qword [rax + rcx*8]
movsxd rax, dword [rbx + 0xc]
imul rcx, rax, 0x38
mov rax, qword [rsp + 0x58]
mov rbx, qword [rcx + rax]
lea rax, [rbp - 0x38]
mov rcx, qword [rdi + 0x38]
mov r8, rbx
mov qword [rsp + 0x20], rax
call fcn.180029040
mov rsi, qword [rsp + 0x38]
mov dword [rsp + 0x44], eax
mov eax, dword [rbp - 0x38]
mov qword [rdi + 0x58], rbx
mov word [rdi + 2], 0
mov dword [rdi + 0x28], r12d
mov dword [rdi + 0x2c], eax
test eax, eax
je 0x18003eb7a
cmp dword [rsi + 8], 0
jne 0x180041018
mov ecx, 0x15523
call fcn.1800a7aa0
mov dword [rsp + 0x44], eax
jmp 0x18003eb7e
mov eax, dword [rsp + 0x44]
test eax, eax
jne 0x180041f86
mov rdi, qword [rsp + 0x58]
jmp 0x18004191b
mov rbx, qword [rsp + 0x38]
movsxd rax, dword [rbx + 8]
imul rdx, rax, 0x38
add rdx, qword [r13 + 0x70]
test word [rdx + 8], r10w
je 0x18003ebc6
mov rcx, rdx
call fcn.18003b5b0
mov r9, qword [rsp + 0x50]
mov rdx, rax
mov r10d, 0x2400
mov r11d, 4
jmp 0x18003ebcb
mov word [rdx + 8], r11w
mov rax, qword [r13 + 0x98]
mov rsi, rbx
movsxd rcx, dword [rbx + 4]
mov rcx, qword [rax + rcx*8]
mov rax, qword [rcx + 0x18]
mov qword [rdx], rax
movsxd rcx, dword [rbx + 4]
mov rax, qword [r13 + 0x98]
mov rdx, qword [rax + rcx*8]
inc qword [rdx + 0x18]
jmp case.0x18003b74f.86
mov rax, qword [rsp + 0x38]
mov rbx, r12
mov qword [rbp - 0x48], rbx
mov edi, r12d
mov dword [rbp - 0x6c], r12d
movsxd rax, dword [rax + 8]
imul r14, rax, 0x38
add r14, qword [r13 + 0x70]
test word [r14 + 8], r10w
je 0x18003ec2f
mov rcx, r14
call fcn.18003b5b0
mov r14, rax
jmp 0x18003ec34
mov word [r14 + 8], r11w
mov rax, qword [rsp + 0x38]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x98]
mov rsi, qword [rax + rcx*8]
test byte [rsi + 8], 2
jne 0x18003ecf6
mov rbx, qword [rsi + 0x38]
cmp byte [rbx], 0
jne 0x18003ec93
test byte [rbx + 1], 8
je 0x18003ec93
mov dword [rsp + 0x44], r12d
mov rbx, qword [rsi + 0x38]
mov rcx, rbx
call fcn.1800284f0
mov rbx, qword [rbx + 0x30]
movabs r15, 0x7fffffffffffffff
mov qword [rbp - 0x48], rbx
cmp rbx, r15
jl 0x18003ed38
or dword [rsi + 8], 2
jmp 0x18003ed00
mov rcx, rbx
call fcn.180028c40
mov dword [rsp + 0x44], eax
test eax, eax
jne 0x18003ecc9
mov rcx, rbx
mov dword [rbp - 0x6c], r12d
call fcn.180028f40
mov dword [rsp + 0x44], eax
test eax, eax
jne 0x18003ecc3
or byte [rbx + 1], 8
mov edi, eax
mov dword [rsp + 0x44], eax
jmp 0x18003ec66
and byte [rbx + 1], 0xf7
jmp 0x18003ecdd
cmp eax, 0x10
jne 0x18003ecdd
mov edi, 1
mov eax, r12d
mov dword [rbp - 0x6c], edi
mov dword [rsp + 0x44], eax
test eax, eax
jne 0x180041f86
test edi, edi
je 0x18003ec66
mov ebx, 1
mov qword [rbp - 0x48], rbx
movabs r15, 0x7fffffffffffffff
mov rax, qword [rsp + 0x38]
movsxd rdx, dword [rax + 0xc]
test edx, edx
je 0x18003ed75
mov rcx, qword [r13 + 0x100]
test rcx, rcx
je 0x18003ed41
mov rax, qword [rcx + 8]
test rax, rax
je 0x18003ed2e
mov rcx, rax
mov rax, qword [rax + 8]
test rax, rax
jne 0x18003ed22
imul rdi, rdx, 0x38
add rdi, qword [rcx + 0x20]
jmp 0x18003ed4a
inc rbx
mov qword [rbp - 0x48], rbx
jmp 0x18003ed00
imul rdi, rdx, 0x38
add rdi, qword [rsp + 0x58]
mov rcx, rdi
call fcn.1800317e0
mov rax, qword [rdi]
cmp rax, r15
je 0x18003edd8
test byte [rsi + 8], 2
jne 0x18003edd8
inc rax
cmp rbx, rax
cmovl rbx, rax
mov qword [rbp - 0x48], rbx
mov qword [rdi], rbx
test byte [rsi + 8], 2
je 0x18003ede2
mov edi, r12d
nop
lea rdx, [rbp - 0x48]
mov ecx, 8
call fcn.180012990
mov rbx, qword [rbp - 0x48]
movabs rax, 0x3fffffffffffffff
mov rcx, qword [rsi + 0x38]
and rbx, rax
inc rbx
lea rax, [rbp - 0x6c]
mov r8, rbx
mov qword [rbp - 0x48], rbx
xor r9d, r9d
mov qword [rsp + 0x20], rax
xor edx, edx
call fcn.180029040
mov dword [rsp + 0x44], eax
test eax, eax
jne 0x180041f86
cmp dword [rbp - 0x6c], eax
jne 0x18003ede2
inc edi
cmp edi, 0x64
jl 0x18003ed80
mov eax, reloc.WS2_32.dll_listen
jmp 0x180041f86
mov byte [rsi + 3], 0
mov dword [rsi + 0x28], r12d
mov qword [r14], rbx
jmp 0x180040c48
mov rcx, qword [rsp + 0x38]
movsxd rax, dword [rcx + 8]
movsxd rcx, dword [rcx + 4]
imul r9, rax, 0x38
mov rax, qword [r13 + 0x98]
add r9, rdi
mov rdi, qword [rax + rcx*8]
cmp bl, 0x7a
jne 0x18003ee33
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 0xc]
imul rcx, rax, 0x38
mov rax, qword [rsp + 0x58]
mov rdx, qword [rcx + rax]
mov rcx, qword [rsp + 0x38]
jmp 0x18003ee3c
mov rcx, qword [rsp + 0x38]
movsxd rdx, dword [rcx + 0xc]
cmp byte [rcx + 1], 0xfa
mov qword [rbp + 0x168], rdx
jne 0x18003ee6f
cmp qword [r15 + 0x128], 0
je 0x18003ee6f
movsx rcx, byte [rdi + 1]
mov rax, qword [r15 + 0x20]
shl rcx, 5
mov rsi, qword [rcx + rax]
mov rcx, qword [rsp + 0x38]
mov rbx, qword [rcx + 0x10]
jmp 0x18003ee75
mov rbx, r12
mov rsi, r12
test byte [rcx + 2], 1
je 0x18003ee7f
inc dword [r13 + 0x3c]
test byte [rcx + 2], 0x20
je 0x18003ee89
mov qword [r15 + 0x38], rdx
mov rax, qword [r9 + 0x10]
movzx r8d, word [rcx + 2]
mov qword [rbp + 0x170], rax
mov eax, dword [r9 + 0xc]
mov dword [rbp + 0x184], eax
test r8b, 0x10
je 0x18003eeae
mov ecx, dword [rdi + 0x2c]
jmp 0x18003eeb1
mov ecx, r12d
mov eax, 0x4000
test word [r9 + 8], ax
je 0x18003eec8
mov eax, dword [r9]
mov dword [rbp + 0x188], eax
jmp 0x18003eecf
mov dword [rbp + 0x188], r12d
mov r9d, ecx
mov qword [rbp + 0x160], r12
mov rcx, qword [rdi + 0x38]
lea rdx, [rbp + 0x160]
and r8d, 0xa
call fcn.18002d500
mov dword [rsp + 0x44], eax
mov byte [rdi + 3], 0
mov dword [rdi + 0x28], r12d
test eax, eax
jne 0x180041f86
test rbx, rbx
je 0x1800416f7
mov rax, qword [rsp + 0x38]
mov edx, reloc.WS2_32.dll_select
mov r9, qword [rbx]
mov r8, rsi
mov rcx, qword [r15 + 0x120]
test byte [rax + 2], 4
mov eax, reloc.WS2_32.dll_socket
cmovne edx, eax
mov rax, qword [rbp + 0x168]
mov qword [rsp + 0x20], rax
call qword [r15 + Ordinal_301]
mov rsi, qword [rsp + 0x38]
mov rdi, qword [rsp + 0x58]
jmp 0x18004191b
mov rax, qword [rsp + 0x38]
mov rdx, qword [rsp + 0x38]
movsxd rcx, dword [rax + 4]
cmp byte [rdx + 1], 0xfa
mov r15d, dword [rax + 8]
mov rax, qword [r13 + 0x98]
mov rdi, qword [rax + rcx*8]
jne 0x18003efbd
mov rax, qword [rsp + 0x70]
cmp qword [rax + 0x128], 0
je 0x18003efbd
movsx rcx, byte [rdi + 1]
mov rax, qword [rax + 0x20]
mov rsi, qword [rdx + 0x10]
shl rcx, 5
test byte [rdx + 2], 2
mov r14, qword [rcx + rax]
je 0x18003efc3
cmp byte [rdi + 4], 0
je 0x18003efc3
mov rbx, qword [rdi + 0x38]
mov rcx, rbx
call fcn.1800284f0
mov rax, qword [rbx + 0x30]
mov rdx, qword [rsp + 0x38]
mov qword [rdi + 0x58], rax
jmp 0x18003efc3
mov r14, r12
mov rsi, r12
movzx edx, byte [rdx + 2]
mov rcx, qword [rdi + 0x38]
call fcn.18002d910
mov dword [rsp + 0x44], eax
mov qword [rdi + 0x28], 0
test eax, eax
jne 0x180041f86
test r15b, 1
je 0x18004175b
inc dword [r13 + 0x3c]
mov r15, qword [rsp + 0x70]
mov r10, qword [r15 + 0x128]
test r10, r10
je 0x18004175b
test byte [rsi + 0x40], 0x20
jne 0x18004175b
mov rax, qword [rdi + 0x58]
mov r8, r14
mov r9, qword [rsi]
mov edx, 9
mov rcx, qword [r15 + 0x120]
mov qword [rsp + 0x20], rax
call r10
jmp 0x180040c48
mov eax, dword [r13 + 0x3c]
add dword [r15 + 0x78], eax
mov dword [r15 + 0x74], eax
mov dword [r13 + 0x3c], r12d
jmp case.0x18003b74f.86
mov rbx, qword [rsp + 0x38]
lea r9, [rbp - 0x34]
mov rax, qword [r13 + 0x98]
mov dword [rbp - 0x34], r12d
movsxd rcx, dword [rbx + 4]
mov r8d, dword [rbx + 0x10]
mov rcx, qword [rax + rcx*8]
movsxd rax, dword [rbx + 0xc]
imul rdx, rax, 0x38
add rdx, rdi
call fcn.180046370
mov dword [rsp + 0x44], eax
test eax, eax
jne 0x180041f86
mov rsi, rbx
cmp dword [rbp - 0x34], eax
jne 0x180041018
jmp 0x18004191b
mov rcx, qword [rsp + 0x38]
movsxd rax, dword [rcx + 8]
movsxd rcx, dword [rcx + 4]
imul rdx, rax, 0x38
mov rax, qword [r13 + 0x98]
add rdx, rdi
mov rcx, qword [rax + rcx*8]
call fcn.1800462a0
mov dword [rsp + 0x44], eax
test eax, eax
jne 0x180041f86
mov rax, qword [rsp + 0x38]
movsxd rcx, dword [rax + 0xc]
mov rax, qword [r13 + 0x98]
mov rcx, qword [rax + rcx*8]
mov dword [rcx + 0x28], r12d
jmp 0x180041916
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 8]
imul rbx, rax, 0x38
add rbx, qword [r13 + 0x70]
test word [rbx + 8], r10w
je 0x18003f108
mov rcx, rbx
call fcn.18003b5b0
mov rbx, rax
jmp 0x18003f10d
mov word [rbx + 8], r11w
mov rax, qword [rsp + 0x38]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x98]
mov rcx, qword [rax + rcx*8]
mov rdi, qword [rcx + 0x38]
mov rcx, rdi
call fcn.1800284f0
mov r8d, dword [rdi + 0x40]
cmp r8d, dword [r15 + 0x7c]
ja 0x180041c2f
mov rax, qword [rdi + 0x88]
movzx ecx, word [rdi + 0x44]
mov dword [rsp + 0x44], r12d
mov edx, dword [rax + 0x58]
sub edx, dword [rdi + 0x38]
cmp ecx, edx
jle 0x18003f15d
test edx, edx
mov ecx, edx
cmovs ecx, r12d
cmp r8d, ecx
ja 0x18003f179
mov rax, qword [rdi + 0x38]
mov qword [rbx + 0x10], rax
mov eax, 0x1010
mov word [rbx + 8], ax
mov dword [rbx + 0xc], r8d
jmp 0x18003f192
mov r9, rbx
xor edx, edx
mov rcx, rdi
call fcn.180031e80
mov dword [rsp + 0x44], eax
test eax, eax
jne 0x180041f86
mov rsi, qword [rsp + 0x38]
cmp dword [rsi + 0xc], 0
jne 0x1800416fc
mov eax, 0x1000
test word [rbx + 8], ax
je 0x1800416fc
mov rcx, rbx
call fcn.180031360
test eax, eax
jne 0x18003d575
mov rdi, qword [rsp + 0x58]
jmp 0x18004191b
mov rbx, qword [rsp + 0x38]
movsxd rax, dword [rbx + 8]
imul rdi, rax, 0x38
add rdi, qword [r13 + 0x70]
test word [rdi + 8], r10w
je 0x18003f200
mov rcx, rdi
call fcn.18003b5b0
mov r9, qword [rsp + 0x50]
mov rdi, rax
mov r10d, 0x2400
mov r11d, 4
jmp 0x18003f205
mov word [rdi + 8], r11w
movsxd rcx, dword [rbx + 4]
mov rax, qword [r13 + 0x98]
mov rbx, qword [rax + rcx*8]
cmp byte [rbx + 2], 0
je 0x18003f22e
mov rsi, qword [rsp + 0x38]
mov word [rdi + 8], r14w
mov rdi, qword [rsp + 0x58]
jmp case.0x18003b74f.86
cmp byte [rbx + 3], 0
je 0x18003f24e
mov rax, qword [rbx + 0x58]
mov rsi, qword [rsp + 0x38]
mov qword [rbp - 8], rax
mov qword [rdi], rax
mov rdi, qword [rsp + 0x58]
jmp 0x18004191b
cmp byte [rbx], 2
jne 0x18003f295
mov rcx, qword [rbx + 0x38]
lea rdx, [rbp - 8]
mov rbx, qword [rcx]
mov rax, qword [rbx]
call qword [rax + 0x60]
mov rdx, rbx
mov rcx, r13
mov dword [rsp + 0x44], eax
call fcn.180038170
mov eax, dword [rsp + 0x44]
test eax, eax
jne 0x180041f86
mov rax, qword [rbp - 8]
mov rsi, qword [rsp + 0x38]
mov qword [rdi], rax
mov rdi, qword [rsp + 0x58]
jmp 0x18004191b
mov rax, qword [rbx + 0x38]
cmp byte [rax], 0
je 0x18003f2b4
mov rcx, rbx
call fcn.1800367e0
mov dword [rsp + 0x44], eax
test eax, eax
jne 0x180041f86
jmp 0x18003f2b9
mov dword [rsp + 0x44], r12d
cmp byte [rbx + 2], 0
je 0x18003f2d3
mov rsi, qword [rsp + 0x38]
mov word [rdi + 8], r14w
mov rdi, qword [rsp + 0x58]
jmp 0x18004191b
mov rbx, qword [rbx + 0x38]
mov rcx, rbx
call fcn.1800284f0
mov rax, qword [rbx + 0x30]
mov rsi, qword [rsp + 0x38]
mov qword [rbp - 8], rax
mov qword [rdi], rax
mov rdi, qword [rsp + 0x58]
jmp 0x18004191b
mov rax, qword [rsp + 0x38]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x98]
mov rbx, qword [rax + rcx*8]
cmp byte [rbx], 0
mov byte [rbx + 2], 1
mov dword [rbx + 0x28], r12d
jne 0x180041754
mov rbx, qword [rbx + 0x38]
mov rcx, qword [rbx + 0x18]
call fcn.180010010
mov qword [rbx + 0x18], r12
mov byte [rbx], 1
jmp 0x180041916
mov rax, qword [rsp + 0x38]
mov r14d, r12d
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x98]
mov rsi, qword [rax + rcx*8]
mov rdi, qword [rsi + 0x38]
cmp bl, 0x83
jne 0x18003f367
mov dword [rsi + 0x2c], 0xffffffff
cmp byte [rdi], 0
je 0x18004178e
cmp byte [rdi], 0
jne 0x18003f37b
test byte [rdi + 1], 8
je 0x18003f37b
mov eax, r12d
mov dword [rsp + 0x44], eax
jmp 0x18003f3c8
mov rcx, rdi
call fcn.180028c40
mov dword [rsp + 0x44], eax
test eax, eax
jne 0x18003f3a7
mov rcx, rdi
call fcn.180028f40
mov dword [rsp + 0x44], eax
test eax, eax
jne 0x18003f3a1
or byte [rdi + 1], 8
jmp 0x18003f3b7
and byte [rdi + 1], 0xf7
jmp 0x18003f3b7
cmp eax, 0x10
jne 0x18003f3b7
lea r14d, [rax - 0xf]
mov eax, r12d
mov dword [rsp + 0x44], eax
mov r9, qword [rsp + 0x50]
mov r10d, 0x2400
mov r11d, 4
mov byte [rsi + 2], r14b
mov byte [rsi + 3], 0
mov dword [rsi + 0x28], r12d
test eax, eax
jne 0x180041f86
mov rsi, qword [rsp + 0x38]
cmp dword [rsi + 8], eax
jle 0x180041747
test r14d, r14d
lea r14d, [rax + 1]
jne 0x180041018
mov rdi, qword [rsp + 0x58]
jmp case.0x18003b74f.86
mov rax, qword [rsp + 0x38]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x98]
mov rcx, qword [rax + rcx*8]
mov rbx, qword [rcx + 0x38]
mov rcx, rbx
call fcn.180028c40
mov dword [rsp + 0x44], eax
test eax, eax
jne 0x18003f43e
mov rcx, rbx
mov dword [rbp - 0x54], r12d
mov esi, r12d
call fcn.180028e40
mov dword [rsp + 0x44], eax
jmp 0x18003f456
cmp eax, 0x10
jne 0x18003f453
mov eax, r12d
mov dword [rbp - 0x54], r14d
mov dword [rsp + 0x44], eax
mov esi, r14d
jmp 0x18003f456
mov esi, dword [rbp - 0x54]
test eax, eax
jne 0x180041f86
test esi, esi
jne 0x180041013
cmp byte [rbx], sil
jne 0x180041738
mov rax, qword [rbx + 0x88]
cmp byte [rax + 8], sil
je 0x180041738
movsx r9d, byte [rbx + 0x54]
xor dl, dl
movzx r8d, word [rax + 0x16]
test r9d, r9d
jle 0x18003f4ae
movzx eax, dl
inc dl
mov rcx, qword [rbx + rax*8 + 0x90]
movzx eax, word [rcx + 0x16]
imul r8, rax
movzx eax, dl
cmp eax, r9d
jl 0x18003f491
test r8, r8
js 0x180041738
mov rcx, r8
call fcn.180014780
mov rsi, qword [rsp + 0x38]
movsx ecx, ax
cmp ecx, dword [rsi + 0xc]
jge 0x180041701
mov r9, qword [rsp + 0x50]
mov dword [rbp - 0x54], r14d
jmp 0x18003d02f
inc dword [r13 + 0xd8]
mov rax, qword [rsp + 0x38]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x98]
mov r15, qword [rax + rcx*8]
cmp byte [r15], 1
jne 0x18003f5a3
mov rsi, qword [r15 + 0x38]
mov dword [rsp + 0x44], r12d
cmp byte [rsi + 0x58], 0
jne 0x18003f53d
cmp qword [rsi + 0x38], 0
lea rdx, [rsi + 0x38]
je 0x18003f532
lea rcx, [rsi + 0x60]
mov r14d, r12d
call fcn.1800445d0
mov dword [rsp + 0x44], eax
jmp 0x18003f5fa
mov r14d, 1
jmp 0x18003f5fa
mov rcx, rsi
call fcn.180044e10
movzx ebx, byte [rsi + 0x5b]
mov r12d, eax
sub ebx, 1
mov dword [rsp + 0x44], eax
js 0x18003f585
movsxd rax, ebx
lea rdi, [rsi + 0x60]
imul rcx, rax, 0x68
add rdi, rcx
mov rcx, rdi
call fcn.180043d90
test r12d, r12d
cmove r12d, eax
sub rdi, 0x68
sub ebx, 1
jns 0x18003f563
mov rdi, qword [rsp + 0x58]
mov dword [rsp + 0x44], r12d
test r12d, r12d
jne 0x18003f59e
mov rcx, rsi
call fcn.180045f50
xor r12d, r12d
mov dword [rsp + 0x44], eax
mov r14d, r12d
jmp 0x18003f5fa
xor r12d, r12d
jmp 0x18003f5fa
mov rbx, qword [r15 + 0x38]
mov rcx, rbx
call fcn.180028c40
mov dword [rsp + 0x44], eax
test eax, eax
jne 0x18003f5c8
mov rcx, rbx
mov r14d, r12d
call fcn.180028e40
mov dword [rsp + 0x44], eax
jmp 0x18003f5d6
cmp eax, 0x10
jne 0x18003f5d6
lea r14d, [rax - 0xf]
mov dword [rsp + 0x44], r12d
mov rax, qword [rsp + 0x38]
cmp word [rax + 2], 0
je 0x18003f5f1
cmp byte [rbx], 0
jne 0x18003f5f1
mov byte [rbx], 2
mov dword [rbx + 4], 1
mov byte [r15 + 3], 0
mov dword [r15 + 0x28], r12d
mov eax, dword [rsp + 0x44]
test eax, eax
jne 0x180041f86
mov rsi, qword [rsp + 0x38]
test r14d, r14d
mov byte [r15 + 2], r14b
lea r14d, [rax + 1]
jne 0x180041018
jmp 0x18004191b
mov rax, qword [rsp + 0x38]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x98]
mov rbx, qword [rax + rcx*8]
mov rcx, r15
mov rdx, rbx
call fcn.1800461f0
jmp 0x18003f665
mov rax, qword [rsp + 0x38]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x98]
mov rbx, qword [rax + rcx*8]
mov rax, qword [rsp + 0x38]
mov rcx, qword [rbx + 0x38]
mov edx, dword [rax + 0xc]
call qword [rax + reloc.WS2_32.dll_recv]
mov dword [rsp + 0x44], eax
mov dword [rbx + 0x28], r12d
test eax, eax
jne 0x18003f68a
mov byte [rbx + 2], al
mov rax, qword [rsp + 0x38]
movzx eax, word [rax + 2]
inc dword [r13 + rax*4 + 0xd0]
jmp case.0x18003b74f.11
cmp eax, 0x65
jne 0x180041f86
mov dword [rsp + 0x44], r12d
mov byte [rbx + 2], 1
jmp 0x1800411f0
mov rax, qword [rsp + 0x38]
mov rdx, qword [rsp + 0x58]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x98]
mov rdi, qword [rax + rcx*8]
mov rcx, qword [rsp + 0x38]
movsxd rax, dword [rcx + 8]
imul rbx, rax, 0x38
add rbx, rdx
test byte [rcx + 2], 1
je 0x18003f6d4
inc dword [r13 + 0x3c]
mov eax, 0x4000
test word [rbx + 8], ax
je 0x18003f6f9
mov rcx, rbx
call fcn.1800313c0
test eax, eax
jne 0x180041f86
mov rcx, qword [rsp + 0x38]
mov rdx, qword [rsp + 0x58]
cmp byte [rcx], 0x84
jne 0x18003f70b
mov rdx, rbx
mov rcx, rdi
call fcn.180044f50
jmp 0x18003f76f
movsxd rax, dword [rbx + 0xc]
mov qword [rbp + 0x1e8], rax
mov rax, qword [rbx + 0x10]
mov qword [rbp + 0x1e0], rax
movsxd rax, dword [rcx + 0xc]
imul rcx, rax, 0x38
add rcx, rdx
mov qword [rbp + 0x1f8], rcx
mov rcx, qword [rsp + 0x38]
movzx r8d, word [rcx + 2]
movzx eax, word [rcx + 0x10]
mov word [rbp + 0x200], ax
test r8b, 0x10
je 0x18003f754
mov r9d, dword [rdi + 0x2c]
jmp 0x18003f757
mov r9d, r12d
mov rcx, qword [rdi + 0x38]
lea rdx, [rbp + 0x1e0]
and r8d, 0xa
call fcn.18002d500
mov dword [rdi + 0x28], r12d
mov dword [rsp + 0x44], eax
test eax, eax
jne 0x180041f86
mov rsi, qword [rsp + 0x38]
mov rdi, qword [rsp + 0x58]
jmp 0x18004191b
mov rax, qword [rsp + 0x38]
lea rdx, [rbp + 0xf8]
xor r9d, r9d
xor r8d, r8d
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x98]
mov rbx, qword [rax + rcx*8]
mov rcx, qword [rsp + 0x38]
mov rax, qword [rbx + 0x40]
mov rdi, qword [rbx + 0x38]
mov qword [rbp + 0xf8], rax
movzx eax, word [rcx + 0xc]
mov word [rbp + 0x108], ax
movsxd rax, dword [rcx + 8]
imul rcx, rax, 0x38
lea rax, [rbp - 0x14]
mov byte [rbp + 0x10a], 0
add rcx, qword [rsp + 0x58]
mov qword [rbp + 0x100], rcx
mov rcx, rdi
mov qword [rsp + 0x20], rax
call fcn.180029040
mov dword [rsp + 0x44], eax
test eax, eax
jne 0x180041f86
cmp dword [rbp - 0x14], eax
jne 0x18003f81d
mov dl, 4
mov rcx, rdi
call fcn.18002d910
mov dword [rsp + 0x44], eax
test eax, eax
jne 0x180041f86
mov rsi, qword [rsp + 0x38]
mov rdi, qword [rsp + 0x58]
mov qword [rbx + 0x28], 0
jmp 0x18004191b
mov rax, qword [rsp + 0x38]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x98]
mov rbx, qword [rax + rcx*8]
mov rax, qword [rbx + 0x38]
cmp byte [rax], 0
je 0x18003f876
mov rcx, rbx
call fcn.1800367e0
mov dword [rsp + 0x44], eax
test eax, eax
jne 0x180041f86
mov r9, qword [rsp + 0x50]
lea r11d, [rax + 4]
mov r10d, 0x2400
jmp 0x18003f87b
mov dword [rsp + 0x44], r12d
cmp byte [rbx + 2], 0
jne 0x18003f950
mov rdx, qword [rbx + 0x38]
lea r8, [rbp]
mov rcx, r15
mov qword [rbp], r12
call fcn.180037d80
mov dword [rsp + 0x44], eax
test eax, eax
jne 0x180041f86
mov rax, qword [rsp + 0x38]
mov r10d, 0x2400
cmp byte [rax], 0x87
jne 0x18003f8f2
movsxd rcx, dword [rax + 0xc]
mov rax, qword [r13 + 0x98]
mov rsi, qword [rsp + 0x38]
mov r9, qword [rsp + 0x50]
mov rdx, qword [rax + rcx*8]
mov rax, qword [rbp]
mov qword [rdx + 0x58], rax
mov rax, qword [rsp + 0x38]
mov word [rdx + 2], 0x100
mov rax, qword [rax + 0x10]
mov qword [rdx + 0x20], rax
mov qword [rdx + 0x30], rbx
jmp 0x180041926
movsxd rax, dword [rax + 8]
imul rcx, rax, 0x38
add rcx, qword [r13 + 0x70]
test word [rcx + 8], r10w
je 0x18003f92f
call fcn.18003b5b0
mov rsi, qword [rsp + 0x38]
mov rcx, rax
mov rax, qword [rbp]
mov r10d, 0x2400
mov r9, qword [rsp + 0x50]
mov r11d, 4
mov qword [rcx], rax
jmp case.0x18003b74f.86
mov rax, qword [rbp]
mov r11d, 4
mov rsi, qword [rsp + 0x38]
mov r9, qword [rsp + 0x50]
mov word [rcx + 8], r11w
mov qword [rcx], rax
jmp case.0x18003b74f.86
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 8]
imul rcx, rax, 0x38
add rcx, rdi
test word [rcx + 8], r10w
je 0x18003f971
call fcn.180031610
jmp 0x180041916
mov rsi, qword [rsp + 0x38]
mov word [rcx + 8], r14w
jmp case.0x18003b74f.86
mov rax, qword [rsp + 0x38]
lea r9, [rbp - 0x7c]
cmp bl, 0x27
mov dword [rbp - 0x7c], r12d
lea r8, [rbp + 0x110]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x98]
mov rdx, qword [rax + rcx*8]
mov rcx, qword [rsp + 0x38]
mov rax, qword [rdx + 0x40]
mov qword [rbp + 0x110], rax
movzx eax, word [rcx + 0x10]
mov word [rbp + 0x120], ax
sbb al, al
mov byte [rbp + 0x122], al
movsxd rax, dword [rcx + 0xc]
imul rcx, rax, 0x38
add rcx, rdi
mov qword [rbp + 0x118], rcx
mov rcx, r15
call fcn.180037f90
mov dword [rsp + 0x44], eax
mov rax, qword [rsp + 0x38]
test byte [rax], 1
mov eax, dword [rbp - 0x7c]
je 0x18003f9f8
neg eax
jmp 0x18003f9fa
inc eax
mov ecx, dword [rsp + 0x44]
mov dword [rbp - 0x7c], eax
test ecx, ecx
jne 0x180041bb2
mov rsi, qword [rsp + 0x38]
test eax, eax
jg 0x180041018
jmp 0x18004191b
mov rcx, qword [rsp + 0x38]
movsxd rax, dword [rcx + 8]
imul rdi, rax, 0x38
add rdi, qword [r13 + 0x70]
test word [rdi + 8], r10w
je 0x18003fa45
mov rcx, rdi
call fcn.18003b5b0
mov rcx, qword [rsp + 0x38]
mov rdi, rax
jmp 0x18003fa4a
mov word [rdi + 8], r11w
mov word [rdi + 8], r14w
mov eax, dword [r15 + 0xcc]
inc eax
cmp dword [r15 + 0xc0], eax
jg 0x180041b7b
movsxd r15, dword [rcx + 0xc]
mov esi, dword [rcx + 4]
mov r14, r15
shl r14, 5
mov dword [rbp - 0x30], r12d
mov r12, qword [rsp + 0x70]
mov rax, qword [r12 + 0x20]
mov rbx, qword [r14 + rax + 8]
cmp byte [rbx + 0x11], 0
je 0x18003fa9d
inc dword [rbx + 0x14]
cmp byte [rbx + 0x12], 0
jne 0x18003fa9d
mov rcx, rbx
call fcn.180023c40
lea r8, [rbp - 0x30]
mov edx, esi
mov rcx, rbx
call fcn.18002e4b0
cmp byte [rbx + 0x11], 0
mov dword [rsp + 0x44], eax
je 0x18003fac3
sub dword [rbx + 0x14], 1
jne 0x18003fac3
mov rcx, rbx
call fcn.180023c10
movsxd rdx, dword [rbp - 0x30]
mov r11d, 4
mov eax, dword [rsp + 0x44]
mov word [rdi + 8], r11w
mov qword [rdi], rdx
test eax, eax
jne 0x180041f86
test edx, edx
je 0x18004173f
mov rax, qword [rsp + 0x38]
mov r9, qword [r12 + 0x20]
mov r8d, dword [rax + 4]
mov rax, qword [r14 + r9 + 0x18]
mov rcx, qword [rax + 0x10]
test rcx, rcx
je 0x18003fb1a
mov rax, qword [rcx + 0x10]
cmp dword [rax + 0x38], edx
jne 0x18003fb12
mov dword [rax + 0x38], r8d
mov rcx, qword [rcx]
test rcx, rcx
jne 0x18003fb05
mov rax, qword [r14 + r9 + 0x18]
mov rcx, qword [rax + 0x28]
test rcx, rcx
je 0x18003fb45
nop dword [rax + rax]
mov rax, qword [rcx + 0x10]
cmp dword [rax + 0x58], edx
jne 0x18003fb3d
mov dword [rax + 0x58], r8d
mov rcx, qword [rcx]
test rcx, rcx
jne 0x18003fb30
xor r12d, r12d
lea eax, [r15 + 1]
mov byte [rsp + 0x30], al
lea r14d, [r12 + 1]
jmp 0x18003cdf3
mov rax, qword [rsp + 0x38]
lea r8, [rbp - 0x2c]
mov rcx, qword [r15 + 0x20]
mov rdx, qword [rsp + 0x38]
mov dword [rbp - 0x2c], r12d
cmp dword [rax + 0xc], 0
movsxd rax, dword [rax + 8]
mov edx, dword [rdx + 4]
cmove r8, r12
shl rax, 5
mov rcx, qword [rax + rcx + 8]
call fcn.18002e3d0
mov rsi, qword [rsp + 0x38]
mov dword [rsp + 0x44], eax
cmp dword [rsi + 0xc], 0
je 0x18003fbb8
movsxd rdx, dword [rbp - 0x2c]
add dword [r13 + 0x3c], edx
movsxd rax, dword [rsi + 0xc]
test eax, eax
jle 0x18003fbb4
imul rcx, rax, 0x38
add qword [rcx + rdi], rdx
mov eax, dword [rsp + 0x44]
test eax, eax
jne 0x180041f86
jmp 0x18004191b
mov rax, qword [rsp + 0x38]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x98]
mov rcx, qword [rax + rcx*8]
cmp byte [rcx], 1
jne 0x18003fbef
mov rdx, qword [rcx + 0x38]
mov rcx, r15
call fcn.180044080
jmp 0x180041916
mov rcx, qword [rcx + 0x38]
xor r8d, r8d
mov edx, dword [rcx + 0x50]
mov rcx, qword [rcx + 8]
call fcn.18002e3d0
mov dword [rsp + 0x44], eax
test eax, eax
jne 0x180041f86
jmp 0x180041916
mov rbx, qword [rsp + 0x38]
movsxd rax, dword [rbx + 8]
imul rdi, rax, 0x38
add rdi, qword [r13 + 0x70]
test word [rdi + 8], r10w
je 0x18003fc38
mov rcx, rdi
call fcn.18003b5b0
mov rdi, rax
jmp 0x18003fc3d
mov word [rdi + 8], r11w
movsxd rcx, dword [rbx + 4]
mov rax, qword [r15 + 0x20]
mov esi, dword [rbx + 0xc]
shl rcx, 5
mov dword [rbp - 0x28], r12d
mov rbx, qword [rcx + rax + 8]
cmp byte [rbx + 0x11], 0
je 0x18003fc6c
inc dword [rbx + 0x14]
cmp byte [rbx + 0x12], 0
jne 0x18003fc6c
mov rcx, rbx
call fcn.180023c40
mov r8d, esi
lea rdx, [rbp - 0x28]
mov rcx, rbx
call fcn.18002dd00
cmp byte [rbx + 0x11], 0
mov dword [rsp + 0x44], eax
je 0x18003fc97
sub dword [rbx + 0x14], 1
jne 0x18003fc97
mov rcx, rbx
call fcn.180023c10
mov eax, dword [rsp + 0x44]
test eax, eax
jne 0x180041f86
movsxd rax, dword [rbp - 0x28]
mov rsi, qword [rsp + 0x38]
mov qword [rdi], rax
mov rdi, qword [rsp + 0x58]
jmp 0x18004191b
mov rax, qword [rsp + 0x38]
xor r9d, r9d
inc byte [r15 + 0x6a]
xor r8d, r8d
mov rcx, r15
mov qword [rsp + 0x20], r12
mov rdx, qword [rax + 0x10]
call fcn.1800704d0
dec byte [r15 + 0x6a]
mov dword [rsp + 0x44], eax
test eax, eax
jne 0x180041f86
jmp 0x180041916
mov rax, qword [rsp + 0x38]
mov rcx, qword [rax + 0x10]
movsxd rbx, dword [rax + 4]
test rcx, rcx
jne 0x18003fd40
mov rcx, qword [r15 + 0x20]
mov rax, rbx
shl rax, 5
mov rcx, qword [rax + rcx + 0x18]
call fcn.180062820
and dword [r15 + 0x2c], 0xfffffff7
lea r8, [r13 + 0x90]
mov r9d, r14d
mov edx, ebx
mov rcx, r15
call fcn.180075e00
or dword [r15 + 0x2c], 1
and dword [r13 + 0xc4], 0xfffffffc
mov dword [rsp + 0x44], eax
jmp 0x18003fde9
mov r8, qword [r15 + 0x20]
lea rax, [r13 + 0x90]
mov qword [rbp + 0xa8], rax
lea r9, str.sqlite_master
mov qword [rbp + 0xa0], r15
lea rdx, str.SELECT_name__rootpage__sql_FROM__q._s_WHERE__s_ORDER_BY_rowid
mov dword [rbp + 0xb0], ebx
mov rax, rbx
shl rax, 5
mov dword [rbp + 0xb8], r12d
mov qword [rsp + 0x20], rcx
mov rcx, r15
mov r8, qword [rax + r8]
call fcn.1800126b0
mov rbx, rax
test rax, rax
je 0x180041b8d
lea r9, [rbp + 0xa0]
mov byte [r15 + 0xb5], 1
lea r8, [fcn.180075bf0]
mov dword [rbp + 0xb4], r12d
mov rdx, rax
mov qword [rsp + 0x20], r12
mov rcx, r15
call fcn.1800704d0
test eax, eax
mov rdx, rbx
mov rcx, r15
cmove eax, dword [rbp + 0xb4]
mov dword [rsp + 0x44], eax
call fcn.1800100d0
mov eax, dword [rsp + 0x44]
mov byte [r15 + 0xb5], 0
test eax, eax
je 0x180041916
mov esi, 7
mov rcx, r15
call fcn.18005a130
mov eax, dword [rsp + 0x44]
movzx ebx, byte [rsp + 0x30]
cmp eax, 7
je 0x18003d57f
jmp 0x180041f90
mov rax, qword [rsp + 0x38]
mov rcx, r15
mov edx, dword [rax + 4]
call fcn.180057a50
mov dword [rsp + 0x44], eax
test eax, eax
jne 0x180041f86
jmp 0x180041916
mov rax, qword [rsp + 0x38]
mov rcx, r15
mov r8, qword [rax + 0x10]
mov edx, dword [rax + 4]
call fcn.18005a570
jmp 0x180041916
mov rax, qword [rsp + 0x38]
mov rcx, r15
mov r8, qword [rax + 0x10]
mov edx, dword [rax + 4]
call fcn.180059de0
jmp 0x180041916
mov rax, qword [rsp + 0x38]
mov rcx, r15
mov r8, qword [rax + 0x10]
mov edx, dword [rax + 4]
call fcn.1800851d0
jmp 0x180041916
mov rcx, qword [rsp + 0x38]
lea r8, [rbp - 0x18]
mov qword [rsp + 0x20], r8
mov r8, qword [rsp + 0x38]
movsxd rax, dword [rcx + 0xc]
mov rdx, qword [rcx + 0x10]
mov r8d, dword [r8 + 8]
add rdx, 4
imul rdi, rax, 0x38
movsxd rax, dword [rcx + 4]
add rdi, qword [rsp + 0x58]
imul rbx, rax, 0x38
movzx eax, word [rcx + 2]
mov rcx, qword [r15 + 0x20]
mov r9d, dword [rdi]
add rbx, qword [rsp + 0x58]
inc r9d
shl rax, 5
mov rcx, qword [rax + rcx + 8]
call fcn.18002f660
mov rsi, rax
mov eax, 0x2400
test word [rbx + 8], ax
je 0x18003feee
mov rcx, rbx
call fcn.180031610
jmp 0x18003fef3
mov word [rbx + 8], r14w
mov eax, dword [rbp - 0x18]
test eax, eax
je 0x18003ff29
test rsi, rsi
je 0x18003d575
dec eax
mov r9b, 1
movsxd rcx, eax
or r8d, 0xffffffff
sub qword [rdi], rcx
lea rax, [fcn.180010010]
mov rcx, rbx
mov qword [rsp + 0x20], rax
mov rdx, rsi
call fcn.180031c20
test byte [rbx + 8], 2
movzx ecx, byte [rsp + 0x48]
je 0x1800416f7
movzx eax, byte [rbx + 0xa]
cmp eax, ecx
je 0x1800416f7
movzx edx, cl
mov rcx, rbx
call fcn.180012db0
mov rsi, qword [rsp + 0x38]
mov rdi, qword [rsp + 0x58]
jmp 0x18004191b
mov rcx, qword [rsp + 0x38]
movsxd rax, dword [rcx + 4]
imul rbx, rax, 0x38
movsxd rax, dword [rcx + 8]
add rbx, rdi
imul rdi, rax, 0x38
mov rax, qword [rsp + 0x58]
add rdi, rax
movzx eax, word [rbx + 8]
test al, 0x10
jne 0x18003ffc7
mov rsi, qword [rbx + 0x28]
test r10w, ax
jne 0x18003ff96
cmp dword [rbx + 0x20], 0
je 0x18003ff9e
mov rcx, rbx
call fcn.180031650
mov rcx, rsi
call fcn.18001aaa0
test rax, rax
je 0x18003d575
mov qword [rbx + 0x10], rax
mov eax, 0x410
mov word [rbx + 8], ax
lea rax, [0x18001ac50]
mov qword [rbx + 0x30], rax
mov rdx, qword [rdi]
mov rcx, qword [rbx + 0x10]
call fcn.18001acc0
mov rsi, qword [rsp + 0x38]
mov rdi, qword [rsp + 0x58]
jmp 0x18004191b
mov rax, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x58]
movsxd rax, dword [rax + 4]
imul rdi, rax, 0x38
add rdi, rsi
test byte [rdi + 8], 0x10
je 0x180040085
mov rbx, qword [rdi + 0x10]
movzx eax, word [rbx + 0x32]
test al, 2
jne 0x180040029
test al, 1
jne 0x180040024
mov rcx, qword [rbx + 0x10]
call fcn.18001ad70
mov qword [rbx + 0x10], rax
mov r10d, 0x2400
or word [rbx + 0x32], 3
mov rax, qword [rbx + 0x10]
test rax, rax
je 0x180040085
mov rdi, qword [rax]
mov rax, qword [rax + 8]
mov qword [rbx + 0x10], rax
test rax, rax
jne 0x18004004a
mov rcx, rbx
call fcn.18001abb0
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 0xc]
imul rcx, rax, 0x38
mov eax, 0x2400
add rcx, rsi
test word [rcx + 8], ax
je 0x180040072
mov rdx, rdi
call fcn.180031a40
jmp 0x1800411f0
mov r11d, 4
mov qword [rcx], rdi
mov word [rcx + 8], r11w
jmp 0x1800411f6
test word [rdi + 8], r10w
je 0x180040099
mov rcx, rdi
call fcn.180031610
jmp case.0x18003b74f.11
mov word [rdi + 8], r14w
jmp case.0x18003b74f.11
mov rcx, qword [rsp + 0x38]
movsxd rax, dword [rcx + 4]
imul rbx, rax, 0x38
movsxd rax, dword [rcx + 0xc]
imul rsi, rax, 0x38
add rbx, rdi
add rsi, rdi
mov edi, dword [rcx + 0x10]
movzx eax, word [rbx + 8]
test al, 0x10
jne 0x180040110
mov r14, qword [rbx + 0x28]
test r10w, ax
jne 0x1800400d9
cmp dword [rbx + 0x20], 0
je 0x1800400e1
mov rcx, rbx
call fcn.180031650
mov rcx, r14
call fcn.18001aaa0
mov r14d, 1
test rax, rax
je 0x18003d575
mov qword [rbx + 0x10], rax
mov eax, 0x410
mov word [rbx + 8], ax
lea rax, [0x18001ac50]
mov qword [rbx + 0x30], rax
test edi, edi
je 0x18004012c
mov r8, qword [rsi]
mov edx, edi
mov rcx, qword [rbx + 0x10]
call fcn.18001b0b0
test eax, eax
jne 0x180041013
test edi, edi
js 0x180041248
mov rdx, qword [rsi]
mov rcx, qword [rbx + 0x10]
call fcn.18001acc0
mov rsi, qword [rsp + 0x38]
mov rdi, qword [rsp + 0x58]
jmp 0x18004191b
mov rcx, qword [rsp + 0x38]
movsxd rax, dword [rcx + 0xc]
mov r15, qword [rcx + 0x10]
imul r14, rax, 0x38
add r14, rdi
cmp word [rcx + 2], 0
je 0x180040193
mov rax, qword [r13 + 0x100]
mov rcx, qword [r15 + 0x20]
test rax, rax
je 0x180040193
nop dword [rax + rax]
cmp qword [rax + 0x38], rcx
je 0x1800418e2
mov rax, qword [rax + 8]
test rax, rax
jne 0x180040180
mov r12, qword [rsp + 0x70]
mov eax, dword [r12 + 0xa4]
cmp dword [r13 + 0x110], eax
jge 0x180041b9b
test byte [r14 + 8], 0x10
jne 0x1800402d3
mov edx, dword [r15 + 0x10]
mov ecx, dword [r15 + 0xc]
add ecx, edx
test edx, edx
lea ebx, [rcx + 1]
cmovne ebx, ecx
lea eax, [rbx + 2]
imul ecx, eax, 7
mov eax, dword [r15 + 8]
add ecx, edx
add eax, 7
jns 0x1800401de
add eax, 7
sar eax, 3
lea edi, [rax + rcx*8]
mov rcx, r12
movsxd rdx, edi
call fcn.180010360
mov rsi, rax
test rax, rax
je 0x180041f76
mov eax, 0x2400
test word [r14 + 8], ax
jne 0x18004020e
cmp dword [r14 + 0x20], 0
je 0x180040216
mov rcx, r14
call fcn.180031650
mov rcx, qword [rsp + 0x38]
mov eax, 0x410
sub rcx, qword [rsp + 0x50]
mov word [r14 + 8], ax
lea rax, [0x1800346b0]
mov qword [r14 + 0x30], rax
mov qword [r14 + 0x10], rsi
mov dword [r14 + 0xc], edi
mov qword [rsi], r13
mov dword [rsi + 0x60], ebx
mov eax, dword [r15 + 0x10]
mov dword [rsi + 0x64], eax
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov dword [rsi + 0x54], edx
mov rax, qword [r13 + 0x70]
mov qword [rsi + 0x20], rax
mov eax, dword [r13 + 0x28]
mov dword [rsi + 0x5c], eax
mov rax, qword [r13 + 0x98]
mov qword [rsi + 0x28], rax
mov eax, dword [r13 + 0x2c]
mov dword [rsi + 0x50], eax
mov rax, qword [r13 + 0x68]
mov qword [rsi + 0x10], rax
mov eax, dword [r13 + 0xb8]
mov dword [rsi + 0x58], eax
mov rax, qword [r15 + 0x20]
mov qword [rsi + 0x38], rax
movsxd rax, ebx
add rax, 2
imul rcx, rax, 0x38
lea rax, [rsi + 0x70]
add rcx, rsi
cmp rax, rcx
je 0x1800402d7
mov edx, 0x80
nop
mov word [rax + 8], dx
mov qword [rax + 0x28], r12
add rax, 0x38
cmp rax, rcx
jne 0x1800402c0
jmp 0x1800402d7
mov rsi, qword [r14 + 0x10]
inc dword [r13 + 0x110]
lea rdi, [rsi + 0x70]
mov rax, qword [r13 + 0x100]
mov qword [rsi + 8], rax
mov rax, qword [r12 + 0x38]
xor r12d, r12d
mov qword [rsi + 0x40], rax
mov eax, dword [r13 + 0x3c]
mov dword [rsi + 0x68], eax
mov rax, qword [r13]
mov qword [rsp + 0x58], rdi
mov ecx, dword [rax + 0x74]
mov dword [rsi + 0x6c], ecx
mov rax, qword [r13 + 0x120]
mov qword [rsi + 0x48], rax
mov qword [r13 + 0x120], r12
mov dword [r13 + 0x3c], r12d
mov qword [r13 + 0x100], rsi
mov qword [r13 + 0x70], rdi
movsxd rcx, dword [rsi + 0x60]
mov dword [r13 + 0x28], ecx
movzx eax, word [rsi + 0x64]
mov dword [r13 + 0x2c], eax
imul rdx, rcx, 0x38
add rdx, rdi
mov qword [r13 + 0x98], rdx
movsxd rax, dword [r15 + 0x10]
lea rcx, [rdx + rax*8]
mov qword [rsi + 0x30], rcx
mov eax, dword [r15 + 8]
add eax, 7
cdq
and edx, 7
add eax, edx
xor edx, edx
sar eax, 3
movsxd r8, eax
call fcn.18010a4e0
mov r9, qword [r15]
lea r14d, [r12 + 1]
mov qword [r13 + 0x68], r9
mov eax, dword [r15 + 8]
mov qword [rsp + 0x50], r9
lea rsi, [r9 - 0x18]
mov dword [r13 + 0xb8], eax
jmp 0x180041920
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 8]
imul r9, rax, 0x38
add r9, qword [r13 + 0x70]
test word [r9 + 8], r10w
je 0x1800403be
mov rcx, r9
call fcn.18003b5b0
mov r9, rax
jmp 0x1800403c3
mov word [r9 + 8], r11w
mov r8, qword [r13 + 0x100]
movsxd rax, dword [r8 + 0x54]
lea rcx, [rax + rax*2]
mov rax, qword [r8 + 0x10]
mov edx, dword [rax + rcx*8 + 4]
mov rcx, r9
mov rax, qword [rsp + 0x38]
add edx, dword [rax + 4]
movsxd rax, edx
imul rdx, rax, 0x38
add rdx, qword [r8 + 0x20]
mov r8d, 0x1000
call fcn.180031b40
jmp 0x180041916
mov eax, dword [r15 + 0x30]
bt rax, 0x13
mov rax, qword [rsp + 0x38]
jae 0x180040425
movsxd rax, dword [rax + 8]
add qword [r15 + 0x2a0], rax
mov rsi, qword [rsp + 0x38]
jmp case.0x18003b74f.86
cmp dword [rax + 4], 0
movsxd rax, dword [rax + 8]
mov rsi, qword [rsp + 0x38]
je 0x180040440
add qword [r15 + 0x298], rax
jmp case.0x18003b74f.86
add qword [r13 + 0x50], rax
jmp case.0x18003b74f.86
cmp dword [rsi + 4], 0
je 0x180040470
cmp qword [r15 + 0x298], 0
jne case.0x18003b74f.86
cmp qword [r15 + 0x2a0], 0
je 0x18003d02f
jmp case.0x18003b74f.86
cmp qword [r13 + 0x50], 0
jne case.0x18003b74f.86
cmp qword [r15 + 0x2a0], 0
je 0x18003d02f
jmp case.0x18003b74f.86
mov rcx, qword [r13 + 0x100]
test rcx, rcx
je 0x1800404c2
mov rax, qword [rcx + 8]
test rax, rax
je 0x1800404af
mov rcx, rax
mov rax, qword [rax + 8]
test rax, rax
jne 0x1800404a3
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
imul rdi, rax, 0x38
add rdi, qword [rcx + 0x20]
jmp 0x1800404d4
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
imul rdi, rax, 0x38
add rdi, qword [rsp + 0x58]
mov rcx, rdi
call fcn.1800317e0
mov rcx, qword [rsp + 0x38]
movsxd rax, dword [rcx + 8]
imul rbx, rax, 0x38
add rbx, qword [rsp + 0x58]
mov rcx, rbx
call fcn.1800317e0
mov rax, qword [rbx]
mov r11d, 4
mov rsi, qword [rsp + 0x38]
cmp qword [rdi], rax
jge 0x18004174d
mov r9, qword [rsp + 0x50]
mov r10d, 0x2400
mov qword [rdi], rax
mov rdi, qword [rsp + 0x58]
jmp case.0x18003b74f.86
mov rax, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
imul rcx, rax, 0x38
mov rdx, qword [rcx + rdi]
test rdx, rdx
jle case.0x18003b74f.86
mov rax, rsi
movsxd rax, dword [rax + 0xc]
sub rdx, rax
mov qword [rcx + rdi], rdx
jmp 0x18003d02f
mov rcx, qword [rsp + 0x38]
movsxd rax, dword [rcx + 4]
imul rbx, rax, 0x38
movsxd rax, dword [rcx + 0xc]
add rbx, rdi
imul rdi, rax, 0x38
movsxd rax, dword [rcx + 8]
add rdi, qword [rsp + 0x58]
imul rcx, rax, 0x38
add rcx, qword [r13 + 0x70]
test word [rcx + 8], r10w
je 0x1800405a2
call fcn.18003b5b0
mov r9, qword [rsp + 0x50]
mov rcx, rax
mov r10d, 0x2400
mov r11d, 4
jmp 0x1800405a7
mov word [rcx + 8], r11w
mov r8, qword [rbx]
test r8, r8
jle 0x1800405e4
mov rax, qword [rdi]
mov rdx, r12
test rax, rax
cmovg rdx, rax
movabs rax, 0x7fffffffffffffff
sub rax, r8
cmp rax, rdx
jl 0x1800405e4
mov rsi, qword [rsp + 0x38]
lea rax, [r8 + rdx]
mov rdi, qword [rsp + 0x58]
mov qword [rcx], rax
jmp case.0x18003b74f.86
mov rsi, qword [rsp + 0x38]
mov rdi, qword [rsp + 0x58]
mov qword [rcx], 0xffffffffffffffff
jmp case.0x18003b74f.86
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
imul rcx, rax, 0x38
mov rax, qword [rcx + rdi]
test rax, rax
je 0x18003b975
mov rsi, qword [rsp + 0x38]
jle 0x18003d02f
dec rax
mov qword [rcx + rdi], rax
jmp 0x18003d02f
mov rax, qword [rsp + 0x38]
movabs rdx, 0x8000000000000000
movsxd rax, dword [rax + 4]
imul rcx, rax, 0x38
mov rax, qword [rcx + rdi]
cmp rax, rdx
jle 0x180040652
dec rax
mov qword [rcx + rdi], rax
cmp qword [rcx + rdi], 0
mov rsi, qword [rsp + 0x38]
je 0x18003d02f
jmp case.0x18003b74f.86
mov rax, qword [rsp + 0x38]
mov rcx, r15
movzx ebx, word [rax + 2]
mov edi, ebx
lea rdx, [rbx*8 + 0x68]
call fcn.180010400
mov r8, rax
test rax, rax
je 0x18003d575
mov qword [rax + 0x10], r12
add rdi, 6
lea rcx, [rax + rdi*8]
mov rdi, qword [rsp + 0x58]
mov qword [rax], rcx
mov rax, qword [rsp + 0x38]
mov word [rcx + 8], r14w
mov qword [rcx + 0x28], r15
mov dword [rcx + 0x20], r12d
mov rcx, qword [rax + 0x10]
mov qword [r8 + 8], rcx
mov rcx, rax
sub rcx, qword [rsp + 0x50]
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
mov qword [r8 + 0x18], r13
sar rdx, 2
mov rax, rdx
mov byte [r8 + 0x28], 0
shr rax, 0x3f
add rdx, rax
mov dword [r8 + 0x24], r12d
mov rax, qword [rsp + 0x38]
mov dword [r8 + 0x20], edx
mov byte [r8 + 0x29], bl
mov word [rax], 0xf09c
mov qword [rax + 0x10], r8
jmp 0x180040709
mov rax, qword [rsp + 0x38]
mov rbx, qword [rax + 0x10]
movsxd rax, dword [rax + 0xc]
imul r10, rax, 0x38
add r10, rdi
mov qword [rbp - 0x78], r10
cmp qword [rbx + 0x10], r10
je 0x180040763
movzx edx, byte [rbx + 0x29]
sub edx, 1
mov qword [rbx + 0x10], r10
movsxd r8, edx
js 0x180040763
mov r10, qword [rsp + 0x38]
lea r9, [r8 + 6]
lea r9, [rbx + r9*8]
nop
mov eax, dword [r10 + 8]
lea r9, [r9 - 8]
add eax, edx
dec edx
cdqe
imul rcx, rax, 0x38
add rcx, rdi
sub r8, 1
mov qword [r9 + 8], rcx
jns 0x180040740
mov r10, qword [rbp - 0x78]
inc dword [r10 + 0xc]
lea r8, [rbx + 0x30]
mov rax, qword [rsp + 0x38]
mov rcx, rbx
movzx edx, byte [rbx + 0x29]
cmp dword [rax + 4], 0
mov rax, qword [rbx + 8]
je 0x180040786
call qword [rax + Ordinal_50]
jmp 0x180040789
call qword [rax + Ordinal_26]
mov eax, dword [rbx + 0x24]
test eax, eax
je 0x180041738
jle 0x1800407b7
mov rcx, qword [rbx]
call fcn.180038790
mov r8, rax
lea rdx, [0x180157848]
mov rcx, r13
call fcn.1800327e0
mov eax, dword [rbx + 0x24]
mov dword [rsp + 0x44], eax
cmp byte [rbx + 0x28], 0
je 0x1800407f6
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax - 0x14]
test eax, eax
je 0x1800407f2
imul rcx, rax, 0x38
mov eax, 0x2400
add rcx, rdi
test word [rcx + 8], ax
je 0x1800407e6
mov rdx, r14
call fcn.180031a40
jmp 0x1800407f2
mov eax, 4
mov qword [rcx], r14
mov word [rcx + 8], ax
mov byte [rbx + 0x28], 0
mov rcx, qword [rbx]
mov r10d, 0x2400
test word [rcx + 8], r10w
jne 0x18004080c
cmp dword [rcx + 0x20], 0
je 0x180040817
call fcn.180031650
mov r10d, 0x2400
mov rax, qword [rbx]
mov word [rax + 8], r14w
mov eax, dword [rsp + 0x44]
mov dword [rbx + 0x24], r12d
test eax, eax
jne 0x180041f86
mov rsi, qword [rsp + 0x38]
mov r9, qword [rsp + 0x50]
jmp 0x180041926
mov rcx, qword [rsp + 0x38]
movsxd rax, dword [rcx + 4]
imul rbx, rax, 0x38
movsxd rax, dword [rcx + 0xc]
add rbx, rdi
test eax, eax
je 0x18004092d
mov rsi, qword [rcx + 0x10]
imul rdi, rax, 0x38
xor eax, eax
add rdi, qword [rsp + 0x58]
mov qword [rbp + 0x1b0], rax
mov qword [rbp + 0xc0], rax
mov qword [rbp + 0xc8], rax
mov qword [rbp + 0xd0], rax
mov qword [rbp + 0xd8], rax
mov qword [rbp + 0xe0], rax
mov qword [rbp + 0xe8], rax
mov qword [rbp + 0xf0], rax
mov qword [rbp + 0x1a8], rax
mov qword [rbp + 0x1b8], rax
mov qword [rbp + 0x1c0], rax
mov qword [rbp + 0x1c8], rax
mov qword [rbp + 0x1d8], rax
mov rax, qword [rbx + 0x28]
mov word [rbp + 0x1b0], r14w
mov qword [rbp + 0x1d0], rax
test word [rdi + 8], r10w
je 0x1800408e8
mov rcx, rdi
call fcn.180031610
jmp 0x1800408ed
mov word [rdi + 8], r14w
lea rcx, [rbp + 0xc0]
mov qword [rbp + 0xc0], rdi
mov qword [rbp + 0xd0], rbx
mov qword [rbp + 0xc8], rsi
call qword [rsi + Ordinal_41]
mov rax, qword [rsp + 0x38]
mov rdi, qword [rsp + 0x58]
mov ecx, dword [rbp + 0xe4]
mov dword [rsp + 0x44], ecx
movsxd rax, dword [rax + 0xc]
imul rbx, rax, 0x38
add rbx, rdi
jmp 0x18004093f
mov rdx, qword [rcx + 0x10]
mov rcx, rbx
call fcn.180031520
mov ecx, eax
mov dword [rsp + 0x44], eax
test ecx, ecx
jne 0x180041bbb
test byte [rbx + 8], 2
movzx ecx, byte [rsp + 0x48]
je 0x180040965
movzx eax, byte [rbx + 0xa]
cmp eax, ecx
je 0x180040965
movzx edx, cl
mov rcx, rbx
call fcn.180012db0
movzx eax, word [rbx + 8]
test al, 0x12
je 0x180041738
mov edx, dword [rbx + 0xc]
mov ecx, 0x4000
test cx, ax
je 0x180040980
add edx, dword [rbx]
mov rax, qword [rbx + 0x28]
mov ecx, r12d
cmp edx, dword [rax + 0x7c]
setg cl
test ecx, ecx
jne 0x180041c2f
jmp 0x180041916
mov rbx, qword [rsp + 0x38]
lea rax, [rbp + 0x218]
lea r9, [rbp + 0x214]
mov dword [rbp + 0x210], r12d
mov rcx, r15
mov qword [rbp + 0x214], 0xffffffffffffffff
mov qword [rsp + 0x20], rax
mov r8d, dword [rbx + 8]
mov edx, dword [rbx + 4]
call fcn.1800a63d0
mov dword [rsp + 0x44], eax
test eax, eax
je 0x1800409f0
cmp eax, 5
jne 0x180041f86
mov dword [rsp + 0x44], r12d
mov dword [rbp + 0x210], r14d
movsxd rax, dword [rbx + 0xc]
mov r10d, 0x2400
imul rbx, rax, 0x38
add rbx, rdi
mov rdi, r12
nop dword [rax]
nop dword [rax + rax]
movsxd rax, dword [rbp + rdi*4 + 0x210]
test word [rbx + 8], r10w
je 0x180040a38
mov rdx, rax
mov rcx, rbx
call fcn.180031a40
mov r10d, 0x2400
mov r11d, 4
jmp 0x180040a46
mov r11d, 4
mov qword [rbx], rax
mov word [rbx + 8], r11w
inc rdi
add rbx, 0x38
cmp rdi, 3
jl 0x180040a10
mov rsi, qword [rsp + 0x38]
mov rdi, qword [rsp + 0x58]
mov r9, qword [rsp + 0x50]
jmp case.0x18003b74f.86
mov rbx, qword [rsp + 0x38]
movsxd rax, dword [rbx + 8]
imul r15, rax, 0x38
add r15, qword [r13 + 0x70]
test word [r15 + 8], r10w
je 0x180040a8c
mov rcx, r15
call fcn.18003b5b0
mov r15, rax
jmp 0x180040a91
mov word [r15 + 8], r11w
mov edx, dword [rbx + 0xc]
mov r8, qword [rsp + 0x70]
movsxd rcx, dword [rbx + 4]
shl rcx, 5
cmp edx, 0xffffffff
mov rax, qword [r8 + 0x20]
mov r14, qword [rcx + rax + 8]
mov rax, qword [r14 + 8]
mov rdi, qword [rax]
movzx esi, byte [rdi + 9]
cmove edx, esi
cmp byte [rdi + 0x14], 3
jb 0x180040ac6
mov eax, r12d
jmp 0x180040adf
mov rax, qword [rdi + 0x50]
cmp qword [rax], 0
je 0x180040ada
cmp qword [rdi + 0x60], 0
mov eax, r12d
jg 0x180040adf
mov eax, 1
test eax, eax
lea rcx, [0x180155a7a]
mov ebx, esi
cmovne ebx, edx
cmp byte [rdi + 0x13], 0
jne 0x180040afa
mov rcx, qword [rdi + 0xd0]
cmp ebx, 5
jne 0x180040b44
test rcx, rcx
je 0x180040b8f
or rax, 0xffffffffffffffff
nop dword [rax]
inc rax
cmp byte [rcx + rax], 0
jne 0x180040b10
and eax, 0x3fffffff
je 0x180040b8f
cmp byte [rdi + 0x11], 0
mov rax, qword [rdi + 0x48]
mov rcx, qword [rax]
jne 0x180040b8f
cmp byte [rdi + 8], 0
jne 0x180040b3f
cmp dword [rcx], 2
jl 0x180040b8f
cmp qword [rcx + 0x68], 0
je 0x180040b8f
mov ebx, 5
cmp ebx, esi
je 0x180040b91
cmp esi, 5
je 0x180040b52
cmp ebx, 5
jne 0x180040b91
cmp byte [r8 + 0x5f], 0
je 0x180041bde
cmp dword [r8 + 0xc0], 1
jg 0x180041bde
cmp esi, 5
jne 0x180040bb8
mov rdx, r8
mov rcx, rdi
call fcn.180020780
mov dword [rsp + 0x44], eax
test eax, eax
jne 0x180040b97
mov edx, ebx
mov rcx, rdi
call fcn.180020490
jmp 0x180040bd0
mov ebx, esi
mov eax, dword [rsp + 0x44]
test eax, eax
cmove esi, ebx
mov rcx, rdi
mov edx, esi
call fcn.180020490
mov ecx, 0xa02
mov word [r15 + 8], cx
cmp eax, 6
jne 0x180040be9
mov rcx, r12
jmp 0x180040bfa
cmp esi, 4
jne 0x180040bc8
lea edx, [rsi - 2]
mov rcx, rdi
call fcn.180020490
mov eax, dword [rsp + 0x44]
test eax, eax
jne 0x180040b97
mov edx, r12d
cmp ebx, 5
mov rcx, r14
sete dl
inc edx
call fcn.18002fe70
mov dword [rsp + 0x44], eax
jmp 0x180040b95
cdqe
lea rcx, [0x180000000]
mov rcx, qword [rcx + rax*8 + 0x14ee98]
mov qword [r15 + 0x10], rcx
test rcx, rcx
jne 0x180040c08
mov eax, r12d
jmp 0x180040c1e
or rax, 0xffffffffffffffff
nop dword [rax]
inc rax
cmp byte [rcx + rax], 0
jne 0x180040c10
and eax, 0x3fffffff
mov dword [r15 + 0xc], eax
movzx eax, byte [rsp + 0x48]
mov byte [r15 + 0xa], 1
cmp eax, 1
je 0x180040c3c
movzx edx, al
mov rcx, r15
call fcn.180012db0
mov eax, dword [rsp + 0x44]
test eax, eax
jne 0x180041f86
mov rsi, qword [rsp + 0x38]
mov r14d, 1
mov rdi, qword [rsp + 0x58]
jmp 0x18004191b
mov rax, qword [rsp + 0x38]
lea rcx, [r13 + 0x90]
mov rdx, r15
mov r8d, dword [rax + 4]
call fcn.180089400
mov dword [rsp + 0x44], eax
test eax, eax
jne 0x180041f86
jmp 0x180041916
mov rax, qword [rsp + 0x38]
movsxd rcx, dword [rax + 4]
mov rax, qword [r15 + 0x20]
shl rcx, 5
mov rcx, qword [rcx + rax + 8]
call fcn.180027950
mov dword [rsp + 0x44], eax
test eax, eax
je 0x180041738
cmp eax, 0x65
jne 0x180041f86
mov dword [rsp + 0x44], r12d
jmp 0x18003d025
mov rax, qword [rsp + 0x38]
cmp dword [rax + 4], 0
jne 0x180040d00
mov ecx, dword [rax + 8]
mov rax, qword [r15 + 8]
test rax, rax
je 0x18003b975
inc ecx
and ecx, 3
and dword [rax + 0xc4], 0xfffffffc
or dword [rax + 0xc4], ecx
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x180040ce0
mov rsi, qword [rsp + 0x38]
jmp case.0x18003b74f.86
mov eax, dword [rax + 8]
mov rsi, qword [rsp + 0x38]
inc eax
xor eax, dword [r13 + 0xc4]
and eax, 3
xor dword [r13 + 0xc4], eax
jmp case.0x18003b74f.86
mov rax, qword [rsp + 0x38]
movzx r8d, byte [rax + 0xc]
test r8b, r8b
jne 0x180040d43
mov eax, dword [r15 + 0x30]
bt rax, 0xa
jb 0x18003b975
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
mov rcx, qword [r15 + 0x20]
mov rdx, qword [rsp + 0x38]
shl rax, 5
mov edx, dword [rdx + 8]
mov rcx, qword [rax + rcx + 8]
call fcn.18002fcd0
mov dword [rsp + 0x44], eax
test eax, eax
je 0x180041916
cmp al, 6
jne 0x180041f86
mov rax, qword [rsp + 0x38]
lea rdx, str.database_table_is_locked:__s
mov rcx, r13
mov r8, qword [rax + 0x10]
call fcn.1800327e0
mov eax, dword [rsp + 0x44]
jmp 0x180041f86
mov rax, qword [rsp + 0x38]
mov rcx, r15
mov rbx, qword [rax + 0x10]
mov rdx, rbx
call fcn.18008b1b0
mov dword [rsp + 0x44], eax
test rbx, rbx
je 0x180040dc3
mov rdx, qword [rbx + 0x10]
mov rcx, r13
call fcn.180038170
mov eax, dword [rsp + 0x44]
test eax, eax
jne 0x180041f86
jmp 0x180041916
xor eax, eax
mov qword [rbp + 0x70], r15
mov qword [rbp + 0x48], rax
lea rcx, [rbp + 0x48]
mov qword [rbp + 0x50], rax
mov qword [rbp + 0x58], rax
mov qword [rbp + 0x60], rax
mov qword [rbp + 0x68], rax
mov qword [rbp + 0x78], rax
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 8]
imul rdx, rax, 0x38
add rdx, rdi
call fcn.180031b80
mov rcx, qword [rbp + 0x50]
mov edx, 0x202
mov dword [rsp + 0x44], eax
movzx eax, cx
and ax, dx
cmp ax, dx
jne 0x180040e2b
cmp byte [rbp + 0x52], 1
jne 0x180040e2b
mov rax, qword [rbp + 0x58]
jmp 0x180040e3f
test cl, 1
jne 0x180040e66
mov dl, 1
lea rcx, [rbp + 0x48]
call fcn.180031f40
mov rcx, qword [rbp + 0x50]
test rax, rax
je 0x180040e66
mov r8, rax
lea r9, [r13 + 0x90]
mov rax, qword [rsp + 0x38]
mov rcx, r15
mov edx, dword [rax + 4]
call fcn.18008aa70
mov rcx, qword [rbp + 0x50]
mov dword [rsp + 0x44], eax
mov r10d, 0x2400
test r10w, cx
jne 0x180040e78
cmp dword [rbp + 0x68], 0
je 0x180040e87
lea rcx, [rbp + 0x48]
call fcn.180031650
mov r10d, 0x2400
mov eax, dword [rsp + 0x44]
test eax, eax
jne 0x180041f86
mov rsi, qword [rsp + 0x38]
mov r9, qword [rsp + 0x50]
jmp 0x180041926
mov rax, qword [rsp + 0x38]
mov rcx, r15
inc dword [r15 + 0xcc]
mov r8, qword [rax + 0x10]
mov edx, dword [rax + 4]
call fcn.18008aef0
dec dword [r15 + 0xcc]
mov dword [rsp + 0x44], eax
test eax, eax
jne 0x180041f86
jmp 0x180041916
mov rax, qword [rsp + 0x38]
mov qword [rbp - 0x20], r12
mov rax, qword [rax + 0x10]
mov rbx, qword [rax + 0x10]
test rbx, rbx
je 0x180041c1b
mov rdi, qword [rbx]
test rdi, rdi
je 0x180041c1b
lea rdx, [rbp - 0x20]
mov rcx, rbx
call qword [rdi + Ordinal_50]
mov rdx, rbx
mov rcx, r13
mov dword [rsp + 0x44], eax
call fcn.180038170
mov eax, dword [rsp + 0x44]
test eax, eax
jne 0x180041f86
mov rax, qword [rbp - 0x20]
or r9d, 0xffffffff
xor r8d, r8d
mov byte [rsp + 0x20], 2
mov rcx, r13
mov qword [rax], rbx
mov rax, qword [rsp + 0x38]
mov edx, dword [rax + 4]
call fcn.18003b220
mov rcx, qword [rbp - 0x20]
test rax, rax
je 0x180041c13
mov qword [rax + 0x38], rcx
inc dword [rbx + 8]
jmp 0x180041911
mov rcx, qword [rsp + 0x38]
xor r8d, r8d
mov r12, qword [rsp + 0x60]
movsxd rax, dword [rcx + 0xc]
movsxd rcx, dword [rcx + 4]
imul rdx, rax, 0x38
mov rax, qword [r13 + 0x98]
mov r13, qword [rax + rcx*8]
lea r11, [rdx + 0x38]
mov edx, dword [rdx + rdi]
add r11, rdi
mov rdi, qword [r12 + 0x78]
mov rsi, qword [r13 + 0x38]
movsxd r9, dword [r11]
mov rbx, r9
mov r15, qword [rsi]
mov r14, qword [r15]
test r9d, r9d
jle 0x180040fc9
mov r10d, 1
nop word [rax + rax]
movsxd rax, r10d
inc r10d
imul rcx, rax, 0x38
add rcx, r11
mov qword [rdi + r8*8], rcx
inc r8
cmp r8, rbx
jl 0x180040fb0
mov rax, qword [rsp + 0x38]
mov rcx, rsi
mov qword [rsp + 0x20], rdi
mov r8, qword [rax + 0x10]
call qword [r14 + 0x40]
mov rdx, r15
mov rcx, r12
mov dword [rsp + 0x44], eax
call fcn.180038170
mov eax, dword [rsp + 0x44]
test eax, eax
jne 0x180041f7e
mov rcx, rsi
call qword [r14 + 0x50]
mov byte [r13 + 2], 0
test eax, eax
je 0x180041908
mov r14d, 1
mov rsi, qword [rsp + 0x38]
mov r9, qword [rsp + 0x50]
xor r12d, r12d
jmp 0x18003d02f
mov rbx, qword [rsp + 0x38]
mov rax, qword [r13 + 0x98]
movsxd rcx, dword [rbx + 4]
mov rdi, qword [rax + rcx*8]
movsxd rax, dword [rbx + 0xc]
imul rbx, rax, 0x38
add rbx, qword [rsp + 0x58]
cmp byte [rdi + 2], 0
jne 0x18003befa
mov rax, qword [rdi + 0x38]
mov rsi, qword [rax]
xor eax, eax
mov r14, qword [rsi]
mov qword [rbp + 0x130], rax
mov qword [rbp + 0x138], rax
mov qword [rbp + 0x140], rax
mov qword [rbp + 0x148], rax
mov qword [rbp + 0x150], rax
mov qword [rbp + 0x158], rax
mov rax, qword [rsp + 0x38]
mov qword [rbp + 0x128], rbx
test byte [rax + 2], 1
je 0x1800410d1
test word [rbx + 8], r10w
je 0x1800410ba
mov rcx, rbx
call fcn.180031610
mov rax, qword [rsp + 0x38]
mov ecx, 0x4001
mov word [rbx + 8], cx
mov dword [rbx], r12d
jmp 0x1800410df
mov edx, 1
mov dword [rbx], r12d
mov ecx, 0x4001
mov word [rbx + 8], dx
mov word [rbx + 8], cx
jmp 0x1800410df
mov ecx, 0x3e00
and word [rbx + 8], cx
or word [rbx + 8], 1
mov r8d, dword [rax + 8]
lea rdx, [rbp + 0x128]
mov rcx, qword [rdi + 0x38]
call qword [r14 + 0x58]
mov rdx, rsi
mov rcx, r13
mov dword [rsp + 0x44], eax
call fcn.180038170
cmp dword [rbp + 0x14c], 0
jle 0x18004112e
mov rcx, rbx
call fcn.180038790
mov r8, rax
lea rdx, [0x180157848]
mov rcx, r13
call fcn.1800327e0
mov eax, dword [rbp + 0x14c]
mov dword [rsp + 0x44], eax
test byte [rbx + 8], 2
movzx ecx, byte [rsp + 0x48]
je 0x18004114c
movzx eax, byte [rbx + 0xa]
cmp eax, ecx
je 0x18004114c
movzx edx, cl
mov rcx, rbx
call fcn.180012db0
movzx eax, word [rbx + 8]
test al, 0x12
je 0x180040c3c
mov edx, dword [rbx + 0xc]
mov ecx, 0x4000
test cx, ax
je 0x180041167
add edx, dword [rbx]
mov rax, qword [rbx + 0x28]
mov ecx, r12d
cmp edx, dword [rax + 0x7c]
setg cl
test ecx, ecx
jne 0x180041c2f
jmp 0x180040c3c
mov rax, qword [rsp + 0x38]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x98]
mov rdi, qword [rax + rcx*8]
cmp byte [rdi + 2], 0
jne 0x18003bf13
mov rcx, qword [rdi + 0x38]
mov rbx, qword [rcx]
mov rsi, qword [rbx]
call qword [rsi + 0x48]
mov rdx, rbx
mov rcx, r13
mov dword [rsp + 0x44], eax
call fcn.180038170
mov eax, dword [rsp + 0x44]
test eax, eax
jne 0x180041f86
mov rcx, qword [rdi + 0x38]
call qword [rsi + 0x50]
test eax, eax
jne 0x1800411f0
mov rax, qword [rsp + 0x38]
mov eax, dword [rax + 8]
dec eax
cdqe
lea rcx, [rax + rax*2]
mov rax, qword [rsp + 0x50]
lea rax, [rax + rcx*8]
mov qword [rsp + 0x38], rax
mov r11d, 4
mov eax, dword [r15 + 0x160]
test eax, eax
jne 0x180041ef2
mov eax, dword [rsp + 0x40]
cmp eax, dword [rbp - 0x68]
jb 0x18004172c
mov r8, qword [r15 + 0x1b0]
test r8, r8
je 0x18004172c
mov ecx, dword [r15 + 0x1c0]
xor edx, edx
div ecx
sub ecx, edx
add ecx, dword [rsp + 0x40]
mov dword [rbp - 0x68], ecx
mov rcx, qword [r15 + 0x1b8]
call r8
test eax, eax
jne 0x180041c6a
mov rsi, qword [rsp + 0x38]
mov rdi, qword [rsp + 0x58]
jmp 0x18004191b
mov rcx, qword [rsp + 0x38]
mov esi, dword [r15 + 0x30]
or qword [r15 + 0x30], 0x4000000
and esi, 0x4000000
mov rax, qword [rcx + 0x10]
mov rdi, qword [rax + 0x10]
movsxd rax, dword [rcx + 4]
imul rbx, rax, 0x38
add rbx, qword [rsp + 0x58]
test byte [rbx + 8], 2
je 0x1800412a1
cmp byte [rbx + 0xa], 1
je 0x1800412a1
mov dl, 1
mov rcx, rbx
call fcn.180012db0
test eax, eax
jne 0x180041f86
mov rax, qword [rdi]
mov rcx, rdi
mov rdx, qword [rbx + 0x10]
call qword [rax + 0x98]
mov dword [rsp + 0x44], eax
test esi, esi
jne 0x1800412c1
and qword [r15 + 0x30], 0xfffffffffbffffff
mov rdx, rdi
mov rcx, r13
call fcn.180038170
and dword [r13 + 0xc4], 0xfffffffc
mov eax, dword [rsp + 0x44]
test eax, eax
jne 0x180041f86
mov rsi, qword [rsp + 0x38]
mov rdi, qword [rsp + 0x58]
jmp 0x18004191b
cmp byte [r15 + 0x61], 0
jne 0x18003d575
mov rax, qword [rsp + 0x38]
mov rax, qword [rax + 0x10]
mov rbx, qword [rax + 0x10]
test rbx, rbx
je 0x180041c1b
mov r10, qword [rbx]
test r10, r10
je 0x180041c1b
cmp qword [r10 + 0x68], 0
mov rdx, qword [rsp + 0x38]
movsxd rdx, dword [rdx + 8]
je 0x1800418d5
mov rax, qword [rsp + 0x38]
movzx edi, byte [r15 + 0x66]
mov r8, qword [r13 + 0x78]
movsxd rax, dword [rax + 0xc]
imul rcx, rax, 0x38
mov rax, r12
add rcx, qword [rsp + 0x58]
test edx, edx
jle 0x180041370
nop dword [rax]
nop word [rax + rax]
mov qword [r8 + rax*8], rcx
add rcx, 0x38
inc rax
cmp rax, rdx
jl 0x180041360
mov rax, qword [rsp + 0x38]
lea r9, [rbp + 0x98]
mov rcx, rbx
movzx eax, byte [rax + 2]
mov byte [r15 + 0x66], al
call qword [r10 + 0x68]
mov rdx, rbx
mov byte [r15 + 0x66], dil
mov rcx, r13
mov dword [rsp + 0x44], eax
call fcn.180038170
mov eax, dword [rsp + 0x44]
mov rcx, qword [rsp + 0x38]
test eax, eax
jne 0x1800413bf
cmp dword [rcx + 4], eax
je 0x1800413bf
mov rax, qword [rbp + 0x98]
mov qword [r15 + 0x38], rax
mov eax, dword [rsp + 0x44]
cmp al, 0x13
jne 0x180041410
mov rax, qword [rcx + 0x10]
cmp byte [rax + 0x1c], 0
je 0x180041410
mov rax, qword [rsp + 0x38]
movzx eax, word [rax + 2]
cmp ax, 4
jne 0x1800413f0
mov rsi, qword [rsp + 0x38]
mov rdi, qword [rsp + 0x58]
mov dword [rsp + 0x44], r12d
jmp 0x18004191b
cmp ax, 5
jne 0x180041404
mov eax, 2
mov byte [r13 + 0xbe], al
jmp 0x180041414
movzx eax, ax
mov byte [r13 + 0xbe], al
jmp 0x180041414
inc dword [r13 + 0x3c]
mov eax, dword [rsp + 0x44]
test eax, eax
jne 0x180041f86
mov rsi, qword [rsp + 0x38]
mov rdi, qword [rsp + 0x58]
jmp 0x18004191b
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 8]
imul rdx, rax, 0x38
add rdx, qword [r13 + 0x70]
test word [rdx + 8], r10w
je 0x180041465
mov rcx, rdx
call fcn.18003b5b0
mov r9, qword [rsp + 0x50]
mov rdx, rax
mov r10d, 0x2400
mov r11d, 4
jmp 0x18004146a
mov word [rdx + 8], r11w
mov rax, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x38]
movsxd rcx, dword [rax + 4]
mov rax, qword [r15 + 0x20]
shl rcx, 5
mov rcx, qword [rcx + rax + 8]
mov rax, qword [rcx + 8]
mov ecx, dword [rax + 0x3c]
mov qword [rdx], rcx
jmp case.0x18003b74f.86
mov rbx, qword [rsp + 0x38]
movsxd rax, dword [rbx + 8]
imul rsi, rax, 0x38
add rsi, qword [r13 + 0x70]
test word [rsi + 8], r10w
je 0x1800414b9
mov rcx, rsi
call fcn.18003b5b0
mov rsi, rax
jmp 0x1800414be
mov word [rsi + 8], r11w
movsxd rcx, dword [rbx + 4]
mov edi, r12d
mov rax, qword [r15 + 0x20]
shl rcx, 5
mov rbx, qword [rcx + rax + 8]
mov rax, qword [rsp + 0x38]
mov ecx, dword [rax + 0xc]
test ecx, ecx
je 0x1800414ea
mov rax, qword [rbx + 8]
mov edi, dword [rax + 0x3c]
cmp edi, ecx
cmovb edi, ecx
cmp byte [rbx + 0x11], 0
je 0x180041501
inc dword [rbx + 0x14]
cmp byte [rbx + 0x12], 0
jne 0x180041501
mov rcx, rbx
call fcn.180023c40
mov rax, qword [rbx + 8]
mov rcx, qword [rax]
test edi, edi
jle 0x180041512
mov dword [rcx + 0xc0], edi
cmp byte [rbx + 0x11], 0
movsxd rdi, dword [rcx + 0xc0]
je 0x18004152d
sub dword [rbx + 0x14], 1
jne 0x18004152d
mov rcx, rbx
call fcn.180023c10
mov qword [rsi], rdi
mov rsi, qword [rsp + 0x38]
mov rdi, qword [rsp + 0x58]
jmp 0x18004191b
mov rax, qword [rsp + 0x38]
mov rcx, r15
movzx ebx, word [rax + 2]
lea eax, [rbx - 1]
movsxd rdx, eax
lea rdx, [rdx*8 + 0x38]
call fcn.180010400
mov r8, rax
test rax, rax
je 0x18003d575
mov qword [rax], r12
mov rax, qword [rsp + 0x38]
mov rcx, qword [rax + 0x10]
mov qword [r8 + 8], rcx
mov rcx, rax
sub rcx, qword [rsp + 0x50]
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
mov qword [r8 + 0x18], r13
sar rdx, 2
mov dword [r8 + 0x24], r12d
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov byte [r8 + 0x29], bl
mov rax, qword [rsp + 0x38]
mov dword [r8 + 0x20], edx
add byte [rax], 2
mov byte [rax + 1], 0xf0
mov qword [rax + 0x10], r8
jmp 0x1800415c4
mov rax, qword [rsp + 0x38]
mov rdi, qword [rax + 0x10]
movsxd rax, dword [rax + 0xc]
mov r10, qword [rsp + 0x58]
imul rbx, rax, 0x38
add rbx, r10
mov qword [rbp - 0x78], rbx
cmp qword [rdi], rbx
je 0x180041622
movzx edx, byte [rdi + 0x29]
sub edx, 1
mov qword [rdi], rbx
movsxd r8, edx
js 0x180041622
mov rbx, qword [rsp + 0x38]
lea r9, [r8 + 6]
lea r9, [rdi + r9*8]
nop dword [rax]
mov eax, dword [rbx + 8]
lea r9, [r9 - 8]
add eax, edx
dec edx
cdqe
imul rcx, rax, 0x38
add rcx, r10
sub r8, 1
mov qword [r9 + 8], rcx
jns 0x180041600
mov rbx, qword [rbp - 0x78]
mov eax, 0x3e00
lea r8, [rdi + 0x30]
and word [rbx + 8], ax
mov rcx, rdi
or word [rbx + 8], 1
mov rax, qword [rdi + 8]
movzx edx, byte [rdi + 0x29]
call qword [rax + Ordinal_26]
mov eax, dword [rdi + 0x24]
test eax, eax
je 0x180041698
jle 0x18004166c
mov rcx, rbx
call fcn.180038790
mov r8, rax
lea rdx, [0x180157848]
mov rcx, r13
call fcn.1800327e0
mov eax, dword [rdi + 0x24]
mov dword [rsp + 0x44], eax
mov rax, qword [rsp + 0x38]
lea rdx, [r13 + 0x120]
mov r8d, dword [rdi + 0x20]
mov rcx, r15
mov r9d, dword [rax + 4]
call fcn.180036380
mov eax, dword [rsp + 0x44]
mov dword [rdi + 0x24], r12d
test eax, eax
jne 0x180041f86
movzx eax, word [rbx + 8]
test al, 0x12
je 0x1800416f7
movzx ecx, byte [rsp + 0x48]
test al, 2
je 0x1800416bc
movzx eax, byte [rbx + 0xa]
cmp eax, ecx
je 0x1800416bc
movzx edx, cl
mov rcx, rbx
call fcn.180012db0
movzx eax, word [rbx + 8]
test al, 0x12
je 0x1800416f7
mov edx, dword [rbx + 0xc]
mov ecx, 0x4000
test cx, ax
je 0x1800416d3
add edx, dword [rbx]
mov rax, qword [rbx + 0x28]
mov ecx, r12d
cmp edx, dword [rax + 0x7c]
setg cl
test ecx, ecx
jne 0x180041c2f
mov rsi, qword [rsp + 0x38]
mov rdi, qword [rsp + 0x58]
jmp 0x18004191b
mov rsi, qword [rsp + 0x38]
mov rdi, qword [rsp + 0x58]
mov r11d, 4
mov eax, dword [rsp + 0x40]
mov r9, qword [rsp + 0x50]
add rsi, 0x18
mov r15, qword [rsp + 0x70]
or edx, 0xffffffff
mov r13, qword [rsp + 0x60]
mov r10d, 0x2400
jmp 0x18003b717
mov rsi, qword [rsp + 0x38]
mov rdi, qword [rsp + 0x58]
jmp 0x18004170b
mov rsi, qword [rsp + 0x38]
jmp 0x180041701
mov rsi, qword [rsp + 0x38]
xor r12d, r12d
mov r14d, 1
mov rdi, qword [rsp + 0x58]
jmp 0x180041707
mov rsi, qword [rsp + 0x38]
jmp 0x180041707
mov rsi, qword [rsp + 0x38]
mov r14d, 1
jmp 0x1800416fc
mov rsi, qword [rsp + 0x38]
mov rdi, qword [rsp + 0x58]
jmp 0x180041707
xor r12d, r12d
jmp 0x18004170b
mov rsi, qword [rsp + 0x38]
xor r12d, r12d
mov rdi, r13
lea r14d, [r12 + 1]
jmp 0x180041701
mov rsi, qword [rsp + 0x38]
mov r14d, 1
mov rdi, qword [rsp + 0x58]
jmp 0x180041707
mov r14d, 1
jmp 0x180041701
movzx eax, byte [r15 + 0x68]
test al, 0x81
je 0x18004187e
test byte [r13 + 0xc4], 0x10
jne 0x18004187e
mov r9, qword [rsi + 0x10]
test r9, r9
jne 0x1800417e2
mov r9, qword [r13 + 0xf0]
test r9, r9
je 0x180041879
test al, al
jns 0x180041816
mov rdi, qword [r15 + 0xe0]
mov rdx, r9
mov rcx, r13
call fcn.18003ac70
mov rcx, qword [r15 + 0xe8]
mov rdx, rax
mov rbx, rax
call rdi
mov rcx, rbx
call fcn.180010010
mov rdi, qword [rsp + 0x58]
jmp 0x18004186d
cmp dword [r15 + 0xc8], 1
jle 0x180041859
mov r8, r9
lea rdx, str.____s
mov rcx, r15
call fcn.1800126b0
mov rdx, qword [r15 + 0xe8]
mov r9, rax
mov r8, r13
mov ecx, r14d
mov rbx, rax
call qword [r15 + 0xe0]
mov rdx, rbx
mov rcx, r15
call fcn.180010110
jmp 0x18004186d
mov rdx, qword [r15 + 0xe8]
mov r8, r13
mov ecx, r14d
call qword [r15 + 0xe0]
mov r10d, 0x2400
mov r11d, 4
mov r9, qword [rsp + 0x50]
mov eax, dword [0x1803e1ec8]
cmp dword [rsi + 4], eax
jl 0x1800418c6
cmp byte [rsi], 0xa9
je case.0x18003b74f.86
cmp dword [r13 + 0xb8], 1
mov edx, r14d
jle 0x1800418c2
mov eax, Ordinal_27
mov rcx, qword [r13 + 0x68]
cmp byte [rax + rcx], 0x11
jne 0x1800418b3
mov dword [rax + rcx + 4], r12d
inc edx
add rax, 0x18
cmp edx, dword [r13 + 0xb8]
jl 0x1800418a4
mov dword [rsi + 4], r12d
inc dword [rsi + 4]
inc dword [r13 + 0xe8]
jmp 0x18003d02f
mov rsi, qword [rsp + 0x38]
mov r10d, 0x2400
jmp case.0x18003b74f.86
mov rsi, qword [rsp + 0x38]
mov r14d, 1
jmp case.0x18003b74f.86
mov rsi, qword [rsp + 0x38]
xor r12d, r12d
mov rdi, qword [rsp + 0x58]
mov r9, qword [rsp + 0x50]
lea r14d, [r12 + 1]
jmp case.0x18003b74f.86
xor r12d, r12d
mov r14d, 1
mov rdi, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x38]
mov r9, qword [rsp + 0x50]
mov r10d, 0x2400
mov r11d, 4
mov eax, dword [rsp + 0x40]
mov r15, qword [rsp + 0x70]
add rsi, 0x18
mov r13, qword [rsp + 0x60]
or edx, 0xffffffff
jmp 0x18003b717
mov ecx, dword [rdx + 4]
mov dword [r13 + 0x38], ecx
movzx eax, byte [rdx + 8]
mov byte [r13 + 0xbe], al
mov dword [r13 + 0x34], ebx
test ecx, ecx
je 0x1800419fa
movzx eax, word [rdx + 2]
mov rcx, r13
test ax, ax
je 0x1800419c0
movzx eax, ax
lea rdx, str._s_constraint_failed
dec eax
movsxd r8, eax
lea rax, [0x180000000]
mov r8, qword [rax + r8*8 + 0x14ea48]
call fcn.1800327e0
mov rax, qword [rsp + 0x38]
mov r9, qword [rax + 0x10]
test r9, r9
je 0x1800419d0
mov r8, qword [r13 + 0x90]
lea rdx, str._z:__s
mov rcx, r15
call fcn.1800126b0
mov qword [r13 + 0x90], rax
jmp 0x1800419d0
mov r8, qword [rdx + 0x10]
lea rdx, [0x180157848]
call fcn.1800327e0
mov rax, qword [r13 + 0x90]
lea rdx, str.abort_at__d_in___s_:__s
mov r9, qword [r13 + 0xf0]
mov r8d, ebx
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x38]
mov ecx, dword [rax + 4]
call fcn.180012930
mov rcx, r13
call fcn.180035e30
mov dword [rsp + 0x44], eax
cmp eax, 5
jne 0x180041e9c
mov dword [r13 + 0x38], eax
jmp 0x1800420f8
mov ecx, 0x14ebe
call fcn.1800a7aa0
mov r13, qword [rsp + 0x60]
jmp 0x180041f86
lea rdx, str.cannot_open_savepoint___SQL_statements_in_progress
mov rcx, r13
call fcn.1800327e0
mov eax, 5
jmp 0x180041f86
lea rdx, str.cannot_release_savepoint___SQL_statements_in_progress
mov rcx, r13
call fcn.1800327e0
mov eax, 5
jmp 0x180041f86
mov rcx, qword [rsp + 0x38]
movabs rax, 0x2aaaaaaaaaaaaaab
sub rcx, qword [rsp + 0x50]
mov r13, rbx
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov eax, 5
mov dword [rbx + 0x34], edx
mov byte [r15 + 0x5f], 0
mov dword [rbx + 0x38], eax
mov dword [rsp + 0x44], eax
jmp 0x1800420f8
lea rdx, str.FOREIGN_KEY_constraint_failed
mov dword [rbx + 0x38], 0x313
mov r13, rbx
mov byte [rbx + 0xbe], 2
call fcn.1800327e0
mov eax, edi
mov dword [rsp + 0x44], eax
jmp 0x1800420f8
mov eax, 8
jmp 0x180041f86
cmp al, 5
jne 0x180041f86
mov rcx, qword [rsp + 0x38]
movabs rax, 0x2aaaaaaaaaaaaaab
sub rcx, qword [rsp + 0x50]
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov eax, dword [rsp + 0x44]
mov dword [r13 + 0x34], edx
mov dword [r13 + 0x38], eax
jmp 0x1800420f8
mov rdx, qword [r13 + 0x90]
mov rcx, r15
call fcn.180010110
lea rdx, str.database_schema_has_changed
mov rcx, r15
call fcn.1800106b0
mov qword [r13 + 0x90], rax
mov rax, qword [r15 + 0x20]
movsxd rdx, dword [rsi + 4]
mov rcx, rdx
shl rcx, 5
mov rcx, qword [rcx + rax + 0x18]
mov eax, dword [rbp - 0x50]
cmp dword [rcx], eax
je 0x180041b57
mov rcx, r15
call fcn.18005a0b0
and dword [r13 + 0xc4], 0xfffffffd
mov eax, reloc.WS2_32.dll_recvfrom
or dword [r13 + 0xc4], 1
jmp 0x180041f86
mov eax, 0x204
jmp 0x180041f86
mov eax, 6
mov byte [r13 + 0xbe], 2
jmp 0x180041f86
mov esi, 7
mov dword [rsp + 0x44], esi
jmp 0x18003fdf6
lea rdx, str.too_many_levels_of_trigger_recursion
mov dword [rsp + 0x44], 1
mov rcx, r13
call fcn.1800327e0
mov eax, dword [rsp + 0x44]
jmp 0x180041f86
mov rcx, rbx
call fcn.180038790
mov r8, rax
lea rdx, [0x180157848]
mov rcx, r13
call fcn.1800327e0
mov eax, dword [rsp + 0x44]
jmp 0x180041f86
cmp ebx, 5
mov dword [rsp + 0x44], 1
lea rax, str.into
mov rcx, r13
lea r8, str.out_of
cmove r8, rax
lea rdx, str.cannot_change__s_wal_mode_from_within_a_transaction
call fcn.1800327e0
mov eax, dword [rsp + 0x44]
jmp 0x180041f86
call qword [rdi + gethostname]
jmp 0x18003d575
mov eax, 6
jmp 0x180041f86
mov r13, qword [rsp + 0x60]
jmp 0x180041c2f
mov r13, rdi
lea rdx, str.string_or_blob_too_big
mov rcx, r13
call fcn.1800327e0
mov eax, reloc.WS2_32.dll_select
jmp 0x180041f86
mov rax, qword [r15 + 0x1b0]
test rax, rax
je 0x180041c74
mov ecx, dword [rsp + 0x40]
cmp ecx, dword [rbp - 0x68]
jb 0x180041c74
mov rcx, qword [r15 + 0x1b8]
call rax
test eax, eax
je 0x180041c74
mov eax, 9
jmp 0x180041f86
cmp qword [r13 + 0x50], 0
jle 0x180041ca2
lea rdx, str.FOREIGN_KEY_constraint_failed
mov dword [r13 + 0x38], 0x313
mov rcx, r13
mov byte [r13 + 0xbe], 2
call fcn.1800327e0
mov eax, r14d
jmp 0x180041f86
mov rax, qword [r13]
cmp dword [rax + 0x290], 0
je 0x180041cc1
cmp dword [r13 + 0x40], 0
je 0x180041cc1
mov edx, r14d
mov rcx, r13
call fcn.180035bf0
mov eax, dword [r13 + 0x30]
mov rbx, qword [rsp + 0x38]
add eax, 2
or eax, 1
mov dword [r13 + 0x30], eax
movsxd rax, dword [rbx + 4]
imul rsi, rax, 0x38
add rsi, rdi
mov edi, r12d
mov qword [r13 + 0x88], rsi
cmp dword [rbx + 8], 0
jle 0x180041d4a
lea rbx, [rsi + 8]
mov r12d, 0x202
nop dword [rax]
mov eax, 0x1000
test word [rbx], ax
je 0x180041d21
movsxd rax, edi
imul rcx, rax, 0x38
add rcx, rsi
call fcn.180031360
test eax, eax
jne 0x18003d575
movzx eax, word [rbx]
and ax, r12w
cmp ax, 2
jne 0x180041d37
lea rcx, [rbx - 8]
call fcn.180031300
mov rax, qword [rsp + 0x38]
inc edi
add rbx, 0x38
cmp edi, dword [rax + 8]
jl 0x180041d00
mov rbx, rax
cmp byte [r15 + 0x61], 0
jne 0x18003d575
test byte [r15 + 0x68], 4
je 0x180041d74
mov rdx, qword [r15 + 0xe8]
xor r9d, r9d
mov r8, r13
lea ecx, [r9 + 4]
call qword [r15 + 0xe0]
sub rbx, qword [rsp + 0x50]
movabs rax, 0x2aaaaaaaaaaaaaab
imul rbx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov eax, 0x64
inc edx
mov dword [rsp + 0x44], eax
mov dword [r13 + 0x34], edx
jmp 0x1800420f8
mov rax, qword [rsp + 0x38]
mov ebx, dword [rax + 4]
mov ecx, dword [rax + 8]
movzx eax, byte [r15 + 0x5f]
cmp ebx, eax
je 0x180041eb3
test ecx, ecx
je 0x180041dd8
mov edx, 0x204
mov rcx, r15
call fcn.1800a51c0
mov byte [r15 + 0x5f], 1
jmp 0x180041e45
test ebx, ebx
je 0x180041dff
cmp dword [r15 + 0xc4], 0
jle 0x180041dff
lea rdx, str.cannot_commit_transaction___SQL_statements_in_progress
mov rcx, r13
call fcn.1800327e0
mov eax, 5
jmp 0x180041f86
mov rax, qword [r13]
mov rcx, qword [rax + 0x2a0]
add rcx, qword [rax + 0x298]
test rcx, rcx
jle 0x180041e41
lea rdx, str.FOREIGN_KEY_constraint_failed
mov dword [r13 + 0x38], 0x313
mov rcx, r13
mov byte [r13 + 0xbe], 2
call fcn.1800327e0
mov eax, r14d
mov dword [rsp + 0x44], eax
jmp 0x1800420f8
mov byte [r15 + 0x5f], bl
mov rcx, r13
call fcn.180035e30
cmp eax, 5
jne 0x180041e94
mov rcx, qword [rsp + 0x38]
movabs rax, 0x2aaaaaaaaaaaaaab
sub rcx, qword [rsp + 0x50]
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov eax, 5
sub r14b, bl
mov dword [r13 + 0x34], edx
mov byte [r15 + 0x5f], r14b
mov dword [r13 + 0x38], eax
mov dword [rsp + 0x44], eax
jmp 0x1800420f8
mov rcx, r15
call fcn.1800a48f0
cmp dword [r13 + 0x38], 0
mov eax, 0x65
cmovne eax, r14d
mov dword [rsp + 0x44], eax
jmp 0x1800420f8
test ebx, ebx
jne 0x180041ece
lea rdx, str.cannot_start_a_transaction_within_a_transaction
mov rcx, r13
call fcn.1800327e0
mov eax, r14d
jmp 0x180041f86
test ecx, ecx
lea rax, str.cannot_rollback___no_transaction_is_active
lea rdx, str.cannot_commit___no_transaction_is_active
mov rcx, r13
cmovne rdx, rax
call fcn.1800327e0
mov eax, r14d
jmp 0x180041f86
movzx ebx, byte [rsp + 0x30]
lea r9, [0x180000000]
cmp byte [r15 + 0x61], 0
lea rdi, str.unknown_error
mov edx, 9
mov esi, 7
cmovne edx, esi
mov r8, rdi
mov ecx, edx
mov dword [rsp + 0x44], edx
mov dword [r13 + 0x38], edx
sub ecx, 0x64
je 0x180041f5a
sub ecx, 1
je 0x180041f51
cmp ecx, 0x19f
je 0x180041f48
mov rcx, qword [r9 + rdx*8 + 0x14e4b0]
test rcx, rcx
je 0x180041f61
mov r8, rcx
jmp 0x180041f61
lea r8, str.abort_due_to_ROLLBACK
jmp 0x180041f61
lea r8, str.no_more_rows_available
jmp 0x180041f61
lea r8, str.another_row_available
lea rdx, [0x180157848]
mov rcx, r13
call fcn.1800327e0
mov eax, dword [rsp + 0x44]
jmp 0x180041f97
mov r15, r12
jmp 0x18003d56f
mov r13, r12
jmp 0x180041f86
mov r13, rdi
movzx ebx, byte [rsp + 0x30]
mov esi, 7
lea rdi, str.unknown_error
mov r14, qword [rsp + 0x70]
cmp byte [r14 + 0x61], 0
cmovne eax, esi
cmp qword [r13 + 0x90], 0
mov dword [rsp + 0x44], eax
jne 0x18004201f
cmp eax, 0xc0a
je 0x18004201f
mov eax, eax
mov ecx, eax
sub ecx, 0x64
je 0x180042002
sub ecx, 1
je 0x180041ff9
cmp ecx, 0x19f
je 0x180041ff0
movzx eax, al
cmp eax, 0x1d
jae 0x180042009
lea rcx, [0x180000000]
mov rcx, qword [rcx + rax*8 + 0x14e4b0]
test rcx, rcx
je 0x180042009
mov rdi, rcx
jmp 0x180042009
lea rdi, str.abort_due_to_ROLLBACK
jmp 0x180042009
lea rdi, str.no_more_rows_available
jmp 0x180042009
lea rdi, str.another_row_available
mov r8, rdi
lea rdx, [0x180157848]
mov rcx, r13
call fcn.1800327e0
mov eax, dword [rsp + 0x44]
mov dword [r13 + 0x38], eax
cmp eax, 0xc0a
je 0x180042051
movzx eax, al
sub eax, 0xa
test eax, 0xfffffffb
jne 0x180042051
mov rcx, qword [r14]
mov rax, qword [rcx + 0x80]
test rax, rax
je 0x18004204d
xor r8d, r8d
xor edx, edx
call rax
mov dword [r14 + 0x58], eax
mov rcx, qword [rsp + 0x38]
movabs rax, 0x2aaaaaaaaaaaaaab
sub rcx, qword [rsp + 0x50]
mov r9, qword [r13 + 0xf0]
imul rcx
mov rax, qword [r13 + 0x90]
mov ecx, dword [rsp + 0x44]
sar rdx, 2
mov r8, rdx
mov qword [rsp + 0x20], rax
shr r8, 0x3f
add r8, rdx
lea rdx, str.statement_aborts_at__d:___s___s
call fcn.180012930
mov rcx, r13
call fcn.180035e30
cmp dword [rsp + 0x44], 0xc0a
jne 0x1800420da
cmp byte [r14 + 0x61], 0
jne 0x1800420da
cmp byte [r14 + 0x62], 0
jne 0x1800420da
cmp dword [r14 + 0xc8], 0
mov byte [r14 + 0x61], 1
jle 0x1800420d3
mov dword [r14 + 0x160], 1
inc dword [r14 + 0x168]
mov eax, 1
mov dword [rsp + 0x44], eax
test bl, bl
je 0x1800420f8
movzx edx, bl
mov rcx, r14
dec edx
call fcn.18005a0b0
mov eax, dword [rsp + 0x44]
mov ecx, dword [rsp + 0x40]
add dword [r13 + 0xe0], ecx
cmp dword [r13 + 0xcc], 0
movaps xmm6, xmmword [rsp + 0x330]
mov r15, qword [rsp + 0x340]
mov r14, qword [rsp + 0x348]
mov r12, qword [rsp + 0x350]
mov rdi, qword [rsp + 0x388]
mov rsi, qword [rsp + 0x380]
mov rbx, qword [rsp + 0x378]
je 0x180042151
mov rcx, r13
call fcn.1800344b0
mov eax, dword [rsp + 0x44]
mov rcx, qword [rbp + 0x220]
xor rcx, rsp
call fcn.180107470
add rsp, 0x358
pop r13
pop rbp
ret