Function at 0x6715b4
Capabilities:
Reference sql statements

Disassembly:
mov qword [rsp + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x4d8
mov rdi, qword [rcx]
xor r15d, r15d
mov r14, rcx
mov rax, qword [rdi + 0x10]
mov r13d, r15d
mov dword [rsp + 0x538], r15d
mov rdx, qword [rax + 0x28]
lea eax, [r15 + 7]
mov qword [rsp + 0x58], rdi
mov dl, byte [rdx + 0x71]
mov r9, r15
mov qword [rsp + 0x48], r15
mov qword [rsp + 0x78], r15
mov r11, r15
mov qword [rsp + 0x50], r15
mov byte [rsp + 0x528], dl
mov r10, r15
mov qword [rsp + 0x40], r15
mov r8d, r15d
mov dword [rsp + 0x88], r15d
mov qword [rsp + 0x118], r15
cmp dword [rcx + 0xa4], eax
je 0x6761d1
mov dword [rcx + 0xa4], r15d
mov qword [rcx + 0xc0], r15
mov eax, dword [rdi + 0x138]
mov dword [rdi + 0x278], r15d
cmp eax, r15d
jne 0x674a7e
mov r15d, dword [rcx + 0xa0]
xor eax, eax
lea r12d, [r10 + 4]
mov dword [rsp + 0x530], r15d
lea rcx, [0x00400000]
cmp byte [rdi + 0x2a], al
jne 0x6761d1
mov rbp, qword [r14 + 0x20]
movsxd rbx, r15d
lea rsi, [rbx + rbx*2]
mov qword [rsp + 0x140], rbp
movzx eax, byte [rbp + rsi*8]
mov qword [rsp + 0xb8], rsi
mov cl, byte [rax + rcx + 0x38e400]
mov eax, 2
test al, cl
je 0x6716f8
movsxd r15, dword [rbp + rsi*8 + 8]
imul r15, r15, 0x38
add r15, qword [r14 + 0x80]
mov rcx, r15
mov qword [rsp + 0x40], r15
call fcn.0066d6e8
mov r9, qword [rsp + 0x48]
mov r11, qword [rsp + 0x50]
mov dl, byte [rsp + 0x528]
mov r8d, dword [rsp + 0x88]
mov ecx, 1
mov word [r15 + 0x24], cx
mov r10, r15
jmp 0x6717aa
test r12b, cl
je 0x67176c
movsxd r9, dword [rbp + rsi*8 + 4]
mov rax, qword [r14 + 0x80]
mov r12d, 8
imul r9, r9, 0x38
add r9, rax
mov qword [rsp + 0x48], r9
test r12b, cl
je 0x671749
movsxd r15, dword [rbp + rsi*8 + 8]
imul r15, r15, 0x38
add r15, rax
mov qword [rsp + 0x78], r15
test cl, 0x20
je 0x6717af
movsxd r10, dword [rbp + rsi*8 + 0xc]
imul r10, r10, 0x38
add r10, rax
mov qword [rsp + 0x40], r10
jmp 0x6717af
mov r15, qword [rsp + 0x78]
mov r12d, reloc.WS2_32.dll_recv
test r12b, cl
je 0x6717af
movsxd r11, dword [rbp + rsi*8 + 0xc]
imul r11, r11, 0x38
add r11, rax
mov qword [rsp + 0x50], r11
jmp 0x6717af
mov eax, 8
test al, cl
je 0x67178c
movsxd r15, dword [rbp + rsi*8 + 8]
imul r15, r15, 0x38
add r15, qword [r14 + 0x80]
mov qword [rsp + 0x78], r15
jmp 0x6717af
mov eax, reloc.WS2_32.dll_recv
test al, cl
je 0x6717aa
movsxd r11, dword [rbp + rsi*8 + 0xc]
imul r11, r11, 0x38
add r11, qword [r14 + 0x80]
mov qword [rsp + 0x50], r11
mov r15, qword [rsp + 0x78]
movzx r12d, byte [rbp + rsi*8]
cmp r12d, 0x58
mov ecx, r12d
jg 0x6741c9
cmp ecx, 0x54
jge 0x673f8f
mov r15d, 1
sub ecx, r15d
cmp ecx, 0x52
ja case.0x6717f2.12
lea r13, [0x00400000]
movsxd rax, ecx
mov ecx, dword [r13 + rax*4 + 0x276228]
add rcx, r13
jmp rcx
movsxd r9, dword [rbp + rsi*8 + 4]
mov r12d, 4
imul r9, r9, 0x38
add r9, qword [r14 + 0x80]
mov qword [rsp + 0x48], r9
mov word [r9 + 0x24], r12w
mov qword [r9], rbx
mov eax, dword [rbp + rsi*8 + 8]
sub eax, r15d
jmp 0x67194c
mov eax, dword [r9]
jmp 0x671946
mov eax, dword [r9]
mov r12d, 4
mov qword [r9], rbx
mov word [r9 + 0x24], r12w
jmp 0x67194c
mov r12d, 4
mov word [r10 + 0x24], r12w
movsxd rax, dword [rbp + rsi*8 + 4]
mov qword [r10], rax
mov eax, dword [rsp + 0x530]
jmp 0x67194c
mov r12d, 4
mov word [r10 + 0x24], r12w
mov rax, qword [rbp + rsi*8 + 0x10]
mov rcx, qword [rax]
mov qword [r10], rcx
jmp 0x671854
mov eax, dword [rbp + rsi*8 + 4]
mov r12d, dword [rbp + rsi*8 + 0xc]
movsxd rsi, dword [rbp + rsi*8 + 8]
dec eax
xor r15d, r15d
cmp r12d, r15d
movsxd rdi, eax
jle 0x675fd5
imul rsi, rsi, 0x38
imul rdi, rdi, 0x38
mov rax, qword [r14 + 0x60]
dec r12d
lea rbx, [rdi + rax]
add rdi, 0x38
test byte [rbx + 0x24], 0x12
je 0x6718d3
mov ecx, dword [rbx + 0x20]
mov eax, 0x4000
test word [rbx + 0x24], ax
je 0x6718c4
add ecx, dword [rbx]
mov rax, qword [rbx + 0x10]
mov edx, r15d
cmp ecx, dword [rax + 0x68]
setg dl
jmp 0x6718d6
mov edx, r15d
cmp edx, r15d
jne 0x6760fe
mov rax, qword [r14 + 0x80]
lea r15, [rsi + rax]
add rsi, 0x38
mov rcx, r15
mov qword [rsp + 0x40], r15
call fcn.0066d6e8
mov eax, 1
mov r8d, 0x800
mov rdx, rbx
mov rcx, r15
mov word [r15 + 0x24], ax
call fcn.0066d9e0
xor r15d, r15d
cmp r12d, r15d
jg 0x67189f
mov r15d, 1
mov rdi, qword [rsp + 0x58]
mov r10, qword [rsp + 0x40]
mov r9, qword [rsp + 0x48]
mov r11, qword [rsp + 0x50]
mov dl, byte [rsp + 0x528]
mov eax, dword [rsp + 0x530]
mov r12d, 4
add eax, r15d
mov r15d, dword [rsp + 0x538]
mov dword [rsp + 0x530], eax
xor eax, eax
cmp r15d, eax
jne 0x6761f1
mov r8d, dword [rsp + 0x88]
mov r13d, r15d
mov r15d, dword [rsp + 0x530]
jmp 0x671670
movsxd r13, dword [rbp + rsi*8 + 8]
mov esi, 0x1000
mov rdx, r9
mov r8d, esi
imul r13, r13, 0x38
add r13, qword [r14 + 0x80]
mov rcx, r13
mov qword [rsp + 0x40], r13
call fcn.0066d9e0
test word [r13 + 0x24], si
je 0x6719c2
mov rcx, r13
call fcn.0066d484
xor ecx, ecx
cmp eax, ecx
jne 0x6761d1
mov r10, r13
jmp 0x67192e
movsxd rax, dword [rbp + rsi*8 + 8]
mov r8d, 0x1000
mov rdx, r9
imul rax, rax, 0x38
add rax, qword [r14 + 0x80]
mov rcx, rax
mov qword [rsp + 0x40], rax
call fcn.0066d9e0
jmp 0x671929
movsxd rcx, dword [rbp + rsi*8 + 8]
movzx edi, byte [rbp + rsi*8 + 3]
mov rbx, qword [r14 + 0x38]
imul rcx, rcx, 0x38
add rcx, qword [r14 + 0x80]
xor r15d, r15d
cmp rdi, r15
mov rdx, r15
lea r12d, [r15 + 1]
jle 0x671a32
mov qword [rbx + rdx*8], rcx
call fcn.0067135c
add rdx, r12
add rcx, 0x38
cmp rdx, rdi
jl 0x671a1d
cmp byte [rbp + rsi*8 + 1], 0xfb
mov rax, qword [rbp + rsi*8 + 0x10]
jne 0x671a48
mov qword [rsp + 0x1f8], r15
jmp 0x671a53
mov qword [rsp + 0x1f8], rax
mov rax, qword [rax]
movsxd r13, dword [rbp + rsi*8 + 0xc]
mov r10, qword [rsp + 0x58]
lea rcx, [rsp + 0x200]
imul r13, r13, 0x38
add r13, qword [r14 + 0x80]
mov qword [rsp + 0x1f0], rax
mov rdx, r13
mov word [rsp + 0x224], r12w
mov qword [rsp + 0x210], r10
mov qword [rsp + 0x40], r13
mov qword [rsp + 0x228], r15
mov qword [rsp + 0x230], r15
call fcn.0066dac4
movzx r11d, word [rsp + 0x224]
mov r9, qword [rsp + 0x1f0]
mov eax, 0xbf01
mov dword [rsp + 0x240], r15d
and r11w, ax
mov eax, 8
or r11w, 1
mov word [rsp + 0x224], r11w
test byte [r9 + 3], al
je 0x671aee
mov rax, qword [rbp + rsi*8 - 8]
mov qword [rsp + 0x248], rax
lea rcx, [rsp + 0x1f0]
mov r8, rbx
mov edx, edi
call qword [r9 + 0x18]
mov rdi, qword [rsp + 0x58]
cmp byte [rdi + 0x2a], r15b
jne 0x676015
mov rcx, qword [rsp + 0x1f8]
cmp rcx, r15
je 0x671b36
mov edx, dword [rbp + rsi*8 + 4]
call fcn.0066f9a4
mov r11, qword [rsp + 0x1f8]
mov byte [rbp + rsi*8 + 1], 0xf9
mov qword [rbp + rsi*8 + 0x10], r11
cmp dword [rsp + 0x240], r15d
je 0x671b76
lea rcx, [rsp + 0x200]
mov dl, 1
call fcn.0066df9c
lea rcx, [r14 + 0xb8]
lea r8, [0x007c1184]
mov r9, rax
mov rdx, rdi
call fcn.0065fb00
mov eax, dword [rsp + 0x240]
mov dword [rsp + 0x538], eax
lea rdx, [rsp + 0x200]
mov rcx, r13
call fcn.0066dac4
test byte [r13 + 0x24], 0x12
je 0x671bb0
mov ecx, dword [r13 + 0x20]
mov eax, 0x4000
test word [r13 + 0x24], ax
je 0x671ba1
add ecx, dword [r13]
mov rax, qword [r13 + 0x10]
mov edx, r15d
cmp ecx, dword [rax + 0x68]
setg dl
jmp 0x671bb3
mov edx, r15d
cmp edx, r15d
jne 0x676103
mov r15d, 1
jmp 0x6719c2
mov r12, qword [rsp + 0x78]
mov al, byte [r12 + 0x24]
or al, byte [r9 + 0x24]
test r15b, al
je 0x671be7
mov rcx, r10
call fcn.0066d880
jmp 0x671929
mov rcx, r12
call fcn.0066d774
mov rcx, qword [rsp + 0x48]
mov rbx, rax
call fcn.0066d774
movzx ecx, byte [rbp + rsi*8]
sub ecx, 0x50
je 0x671c23
mov rdx, r15
sub ecx, edx
je 0x671c1e
cmp ecx, edx
mov rcx, rax
je 0x671c19
sar rbx, cl
jmp 0x671c26
shl rbx, cl
jmp 0x671c26
or rbx, rax
jmp 0x671c26
and rbx, rax
mov r10, qword [rsp + 0x40]
mov qword [r10], rbx
mov eax, 0xbf04
mov r12d, 4
and word [r10 + 0x24], ax
or word [r10 + 0x24], r12w
jmp 0x674196
mov rcx, r9
call fcn.0066d858
mov r9, qword [rsp + 0x48]
movsxd r11, dword [rbp + rsi*8 + 8]
add qword [r9], r11
mov r10, qword [rsp + 0x40]
jmp 0x671933
mov r8b, dl
mov rcx, r9
mov dl, 0x63
call fcn.00671510
mov r9, qword [rsp + 0x48]
mov r12d, 4
mov ax, word [r9 + 0x24]
test r12b, al
jne 0x671ca5
mov eax, dword [rbp + rsi*8 + 8]
xor r11d, r11d
cmp eax, r11d
je 0x676027
mov r10, qword [rsp + 0x40]
dec eax
jmp 0x6741a2
mov ecx, 0xbf04
and ax, cx
or ax, r12w
mov word [r9 + 0x24], ax
mov r10, qword [rsp + 0x40]
jmp 0x67419b
mov r12d, 4
test byte [r9 + 0x24], r12b
je 0x671854
mov rcx, r9
call fcn.0066d7f4
mov r9, qword [rsp + 0x48]
mov qword [r9 + 8], rax
mov eax, 0xbf08
and word [r9 + 0x24], ax
lea eax, [r12 + 4]
or word [r9 + 0x24], ax
jmp 0x671cb6
mov al, byte [r11 + 0x24]
or al, byte [r9 + 0x24]
test r15b, al
je 0x671d50
mov al, byte [rbp + rsi*8 + 3]
mov ecx, reloc.WS2_32.dll_recv
test cl, al
je 0x671d3a
movsxd r10, dword [rbp + rsi*8 + 8]
mov eax, 0xbf01
imul r10, r10, 0x38
add r10, qword [r14 + 0x80]
mov qword [rsp + 0x40], r10
and word [r10 + 0x24], ax
or word [r10 + 0x24], r15w
jmp case.0x6717f2.12
mov ecx, 8
lea r12d, [rcx - 4]
test cl, al
je 0x671854
jmp 0x671817
mov bl, byte [rbp + rsi*8 + 3]
and bl, 0x67
je 0x671d91
mov r8b, dl
mov rcx, r9
mov dl, bl
call fcn.00671510
mov r13, qword [rsp + 0x50]
mov r8b, byte [rsp + 0x528]
mov rcx, r13
mov dl, bl
call fcn.00671510
xor r15d, r15d
cmp byte [rdi + 0x2a], r15b
jne 0x6761d1
mov r9, qword [rsp + 0x48]
jmp 0x671d99
mov r13, qword [rsp + 0x50]
xor r15d, r15d
mov ebx, 0x4000
test word [r9 + 0x24], bx
je 0x671dad
mov rcx, r9
call fcn.0066d4f8
test word [r13 + 0x24], bx
je 0x671dbc
mov rcx, r13
call fcn.0066d4f8
mov r8, qword [rbp + rsi*8 + 0x10]
mov rdx, qword [rsp + 0x48]
mov rcx, r13
call fcn.0066dc9c
movzx ecx, byte [rbp + rsi*8]
mov edx, 1
sub ecx, 0x49
mov r11d, eax
mov eax, r15d
je 0x671e1b
sub ecx, edx
je 0x671e13
sub ecx, edx
je 0x671e0b
sub ecx, edx
je 0x671e03
cmp ecx, edx
je 0x671dfb
cmp r11d, r15d
setge al
jmp 0x671e21
cmp r11d, r15d
setl al
jmp 0x671e21
cmp r11d, r15d
setle al
jmp 0x671e21
cmp r11d, r15d
setg al
jmp 0x671e21
cmp r11d, r15d
sete al
jmp 0x671e21
cmp r11d, r15d
setne al
mov ecx, reloc.WS2_32.dll_recv
lea r12d, [rcx - 0xc]
test byte [rbp + rsi*8 + 3], cl
je 0x671e5f
movsxd r13, dword [rbp + rsi*8 + 8]
mov ecx, 0xbf04
cdqe
imul r13, r13, 0x38
add r13, qword [r14 + 0x80]
mov qword [rsp + 0x40], r13
and word [r13 + 0x24], cx
or word [r13 + 0x24], r12w
mov qword [r13], rax
jmp 0x67418d
mov r9, qword [rsp + 0x48]
mov r11, qword [rsp + 0x50]
cmp eax, r15d
mov r15d, 1
je 0x671e84
mov r10d, dword [rbp + rsi*8 + 8]
sub r10d, edx
mov dword [rsp + 0x530], r10d
mov r10, qword [rsp + 0x40]
mov eax, dword [rsp + 0x530]
jmp 0x6741a7
test byte [r9 + 0x24], r15b
je 0x671ea9
mov r8d, 2
xor r15d, r15d
mov ebx, r8d
jmp 0x671ec1
mov rcx, r9
call fcn.0066d774
xor r15d, r15d
cmp rax, r15
mov ebx, r15d
lea r8d, [r15 + 2]
setne bl
mov r12, qword [rsp + 0x78]
test byte [r12 + 0x24], 1
je 0x671ed3
mov edx, r8d
jmp 0x671eea
mov rcx, r12
call fcn.0066d774
mov edx, r15d
mov r8d, 2
cmp rax, r15
setne dl
movsxd rax, ebx
lea rcx, [rax + rax*2]
movsxd rax, edx
add rcx, rax
cmp byte [rbp + rsi*8], 0x43
jne 0x671f09
movzx eax, byte [rcx + r13 + 0x38e498]
jmp 0x671f12
movzx eax, byte [rcx + r13 + 0x38e4a8]
mov r10, qword [rsp + 0x40]
mov r9, qword [rsp + 0x48]
mov r11, qword [rsp + 0x50]
mov dl, byte [rsp + 0x528]
mov r15d, 1
lea r12d, [r15 + 3]
cmp eax, r8d
jne 0x671f4b
mov eax, 0xbf01
and word [r10 + 0x24], ax
or word [r10 + 0x24], r15w
jmp 0x671854
cdqe
mov qword [r10], rax
mov eax, 0xbf04
and word [r10 + 0x24], ax
or word [r10 + 0x24], r12w
jmp 0x671854
movsxd r13, dword [rbp + rsi*8 + 8]
imul r13, r13, 0x38
add r13, qword [r14 + 0x80]
mov qword [rsp + 0x40], r13
test byte [r9 + 0x24], r15b
je 0x671f8c
mov rcx, r13
call fcn.0066d880
jmp 0x6719c2
mov rcx, r9
call fcn.0066d774
xor ecx, ecx
cmp rax, rcx
mov rdx, rcx
sete dl
mov rcx, r13
call fcn.0066d8b0
jmp 0x6719c2
test byte [r9 + 0x24], r15b
je 0x671fba
mov ecx, dword [rbp + rsi*8 + 0xc]
xor edx, edx
jmp 0x671fe1
mov rcx, r9
call fcn.0066d774
mov r9, qword [rsp + 0x48]
xor edx, edx
cmp rax, rdx
mov ecx, edx
setne cl
cmp byte [rbp + rsi*8], 0x45
jne 0x671fe1
cmp ecx, edx
mov eax, edx
sete al
mov ecx, eax
cmp ecx, edx
mov r11, qword [rsp + 0x50]
mov r12d, 4
mov dl, byte [rsp + 0x528]
je 0x672007
mov r10d, dword [rbp + rsi*8 + 8]
sub r10d, r15d
mov dword [rsp + 0x530], r10d
mov r10, qword [rsp + 0x40]
jmp 0x671854
mov eax, dword [rbp + rsi*8 + 0xc]
xor ecx, ecx
test byte [r9 + 0x24], r15b
jne 0x672033
add r9, 0x38
sub eax, r15d
cmp eax, ecx
mov qword [rsp + 0x48], r9
jle case.0x6717f2.12
jmp 0x672017
mov eax, dword [rbp + rsi*8 + 8]
sub eax, r15d
jmp 0x671946
test byte [r9 + 0x24], r15b
mov r12d, 4
jne 0x671854
jmp 0x671817
mov eax, dword [rbp + rsi*8 + 8]
movsxd rbx, dword [rbp + rsi*8 + 4]
xor edx, edx
lea r8d, [rdx + 0x38]
lea rcx, [rsp + 0x1b0]
mov dword [rsp + 0x68], eax
call fcn.006aba40
movsxd r13, dword [rbp + rsi*8 + 0xc]
mov eax, 0xbf01
mov r8, r15
xor r11d, r11d
imul r13, r13, 0x38
add r13, qword [r14 + 0x80]
mov qword [rsp + 0x98], r13
and word [r13 + 0x24], ax
or word [r13 + 0x24], r8w
mov rax, qword [r14 + 0x50]
mov r12, qword [rax + rbx*8]
mov qword [rsp + 0xa8], r12
cmp qword [r12], r11
je 0x672173
mov rcx, r12
call fcn.0066fb10
xor r11d, r11d
mov r15d, eax
mov dword [rsp + 0x538], eax
cmp eax, r11d
jne 0x676172
mov r9, qword [r12]
mov rdi, r11
mov qword [rsp + 0xc0], r11
mov qword [rsp + 0xc8], r9
cmp byte [r12 + 0x1c], r11b
je 0x672101
mov r15d, r11d
mov dword [rsp + 0x6c], r11d
jmp 0x67216b
mov eax, dword [r14 + 0x88]
cmp dword [r12 + 0x78], eax
jne 0x67212b
mov r15d, dword [r12 + 0x7c]
mov rdi, qword [r12 + 0x90]
mov dword [rsp + 0x6c], r15d
mov qword [rsp + 0xc0], rdi
jmp 0x67216b
mov rcx, r9
cmp byte [r12 + 0x21], r11b
je 0x672151
lea rdx, [rsp + 0x168]
call fcn.00668010
mov r15d, dword [rsp + 0x168]
mov dword [rsp + 0x6c], r15d
jmp 0x672160
lea rdx, [rsp + 0x6c]
call fcn.00668068
mov r15d, dword [rsp + 0x6c]
mov r9, qword [rsp + 0xc8]
xor r11d, r11d
mov r8d, 1
jmp 0x67219a
mov r15d, dword [r12 + 0x38]
mov rdi, qword [r12 + 0x40]
mov dword [r12 + 0x78], r11d
mov dword [rsp + 0x6c], r15d
mov qword [rsp + 0xc0], rdi
mov r9, r11
mov qword [rsp + 0xc8], r11
mov ecx, dword [r12 + 0x58]
mov dword [rsp + 0x64], ecx
cmp r15d, r11d
je 0x67191e
mov r10, qword [rsp + 0x58]
cmp r15d, dword [r10 + 0x68]
jg 0x676124
mov eax, dword [r14 + 0x88]
mov rdx, qword [r12 + 0x80]
mov qword [rsp + 0xf0], rdx
cmp dword [r12 + 0x78], eax
jne 0x6721e6
mov r14, qword [r12 + 0x88]
jmp 0x672475
movsxd rax, ecx
mov dword [r12 + 0x7c], r15d
mov r14d, r11d
lea rax, [rdx + rax*4]
mov rdx, qword [rsp + 0x520]
mov dword [rsp + 0x90], r11d
mov qword [rsp + 0x100], rax
mov qword [r12 + 0x88], rax
mov eax, dword [rdx + 0x88]
mov dword [r12 + 0x78], eax
cmp rdi, r11
je 0x67222a
mov rbx, rdi
jmp 0x672288
cmp byte [r12 + 0x21], r11b
je 0x67223c
cmp byte [r9 + 0x5b], r8b
jne 0x672266
xor r8d, r8d
jmp 0x672242
cmp byte [r9 + 0x5b], r8b
jne 0x672266
lea rdx, [rsp + 0x90]
mov rcx, r9
call fcn.00668578
mov r14d, dword [rsp + 0x90]
xor r11d, r11d
mov rbx, rax
lea r8d, [r11 + 1]
jmp 0x672269
mov rbx, r11
cmp r14d, r15d
jl 0x672280
mov qword [rsp + 0xc0], rbx
mov qword [r12 + 0x90], rbx
jmp 0x672288
mov qword [r12 + 0x90], r11
cmp byte [rbx], 0x80
jae 0x67229e
movzx r13d, byte [rbx]
mov eax, r8d
mov dword [rsp + 0xb0], r13d
jmp 0x6722b9
lea rdx, [rsp + 0xb0]
mov rcx, rbx
call fcn.0066119c
mov r13d, dword [rsp + 0xb0]
movzx eax, al
xor r10d, r10d
movzx edi, al
cmp qword [rsp + 0xc0], r10
jne 0x67231f
cmp r14d, r13d
jge 0x67231f
mov rcx, qword [rsp + 0xc8]
mov word [rsp + 0x1d4], r10w
mov qword [rsp + 0x1c0], r10
movzx r9d, byte [r12 + 0x21]
lea rax, [rsp + 0x1b0]
mov r8d, r13d
xor edx, edx
mov qword [rsp + 0x20], rax
call fcn.0066de84
xor r10d, r10d
mov dword [rsp + 0x538], eax
cmp eax, r10d
jne 0x672590
mov rbx, qword [rsp + 0x1c8]
mov ecx, dword [rsp + 0x64]
movsxd rax, r13d
add rdi, rbx
add rax, rbx
cmp ecx, r10d
mov qword [rsp + 0x138], rax
jle 0x672410
mov rdx, qword [rsp + 0x100]
mov r9, qword [rsp + 0xf0]
mov esi, 1
mov r14, r9
mov rbx, rdx
mov qword [rsp + 0x538], rcx
sub r14, rdx
mov r15, r9
lea rbp, [0x00400000]
lea edx, [rsi + 3]
lea r12d, [rsi + 0xb]
cmp rdi, rax
jae 0x6723d5
mov dword [rbx], r13d
cmp byte [rdi], 0x80
jae 0x67238c
movzx eax, byte [rdi]
mov dword [rbx + r14], eax
mov eax, esi
jmp 0x6723a5
mov rdx, r15
mov rcx, rdi
call fcn.0066119c
mov rcx, qword [rsp + 0x538]
xor r10d, r10d
movzx eax, al
movzx eax, al
add rdi, rax
mov eax, dword [rbx + r14]
cmp eax, r12d
jb 0x6723bb
add eax, 0xfffffff4
shr eax, 1
jmp 0x6723c3
movzx eax, byte [rax + rbp + 0x38e3b8]
add r13d, eax
mov rax, qword [rsp + 0x138]
mov edx, 4
jmp 0x6723d8
mov dword [rbx], r10d
add r15, rdx
add rbx, rdx
sub rcx, rsi
mov qword [rsp + 0x538], rcx
jne 0x672374
mov rsi, qword [rsp + 0xb8]
mov rbp, qword [rsp + 0x140]
mov r12, qword [rsp + 0xa8]
mov r15d, dword [rsp + 0x6c]
mov dword [rsp + 0xb0], r13d
lea rcx, [rsp + 0x1b0]
call fcn.0066d744
mov eax, 1
mov word [rsp + 0x1d4], ax
mov rax, qword [rsp + 0x138]
cmp rdi, rax
ja 0x6725a3
cmp r13d, r15d
jg 0x6725a3
cmp rdi, rax
jne 0x672452
cmp r13d, r15d
jne 0x6725a3
mov rdx, qword [rsp + 0xf0]
mov rdi, qword [rsp + 0xc0]
mov r14, qword [rsp + 0x100]
mov r13, qword [rsp + 0x98]
xor r11d, r11d
movsxd rbx, dword [rsp + 0x68]
cmp dword [r14 + rbx*4], r11d
je 0x67252e
cmp rdi, r11
je 0x67249a
mov rcx, r13
call fcn.0066d6e8
mov ecx, dword [r14 + rbx*4]
add rcx, rdi
jmp 0x67250c
mov eax, dword [rdx + rbx*4]
mov ecx, reloc.WS2_32.dll_inet_ntoa
cmp eax, ecx
jb 0x6724ad
lea edi, [rax - 0xc]
shr edi, 1
jmp 0x6724bc
lea rcx, [0x00400000]
movzx edi, byte [rax + rcx + 0x38e3b8]
lea rcx, [rsp + 0x1b0]
mov rdx, r13
call fcn.0066dac4
movzx r9d, byte [r12 + 0x21]
mov edx, dword [r14 + rbx*4]
mov rcx, qword [rsp + 0xc8]
lea rax, [rsp + 0x1b0]
mov r8d, edi
mov qword [rsp + 0x20], rax
call fcn.0066de84
xor ecx, ecx
mov dword [rsp + 0x538], eax
cmp eax, ecx
jne 0x672590
mov rcx, qword [rsp + 0x1c8]
mov r9, qword [rsp + 0xf0]
mov r8, r13
mov edx, dword [r9 + rbx*4]
call fcn.0066fd44
mov r11b, byte [rsp + 0x528]
mov byte [r13 + 0x27], r11b
jmp 0x672548
cmp byte [rbp + rsi*8 + 1], 0xf8
jne 0x67254b
mov rdx, qword [rbp + rsi*8 + 0x10]
mov r8d, 0x800
mov rcx, r13
call fcn.0066d9e0
xor r11d, r11d
cmp qword [rsp + 0x1e0], r11
je 0x672581
mov eax, 0xe7ff
and word [r13 + 0x24], ax
mov eax, 0x200
or word [r13 + 0x24], ax
mov rax, qword [rsp + 0x1c8]
mov qword [r13 + 0x18], rax
mov rax, qword [rsp + 0x1e0]
mov qword [r13 + 0x30], rax
mov rcx, r13
call fcn.0066d484
mov dword [rsp + 0x538], eax
mov r15d, 1
mov r14, qword [rsp + 0x520]
jmp 0x671924
mov eax, reloc.WS2_32.dll_inet_addr
jmp 0x672589
movsxd rbx, dword [rbp + rsi*8 + 4]
mov eax, dword [rbp + rsi*8 + 8]
mov r12, qword [rbp + rsi*8 + 0x10]
imul rbx, rbx, 0x38
add rbx, qword [r14 + 0x80]
sub eax, r15d
movsxd rdi, eax
imul rdi, rdi, 0x38
add rdi, rbx
cmp rbx, rdi
ja 0x675fdb
mov r14b, byte [rsp + 0x528]
xor ecx, ecx
mov rsi, rcx
mov eax, 0x4000
test word [rbx + 0x24], ax
je 0x6725f9
mov rcx, rbx
call fcn.0066d4f8
movabs rax, 0x4924924924924925
mov r8b, r14b
mov rcx, rbx
imul rsi
sar rdx, 4
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov dl, byte [rdx + r12]
call fcn.00671510
add rbx, 0x38
add rsi, 0x38
cmp rbx, rdi
jbe 0x6725e6
jmp 0x672596
xor ecx, ecx
cmp byte [rdi + 0x28], cl
je 0x672649
cmp dword [rdi + 0xb0], r15d
jle case.0x6717f2.12
movsxd rax, dword [rbp + rsi*8 + 4]
xor r9d, r9d
lea rcx, [rax + rax*2]
mov rax, qword [rdi + 0x10]
add rcx, rcx
mov r8, qword [rax + rcx*8 + 8]
cmp dword [r14 + 0x120], r9d
jne 0x672683
inc dword [rdi + 0x2f4]
mov ecx, dword [rdi + 0x2f4]
add ecx, dword [rdi + 0x2f0]
mov dword [r14 + 0x120], ecx
mov rcx, qword [r8 + 8]
mov rax, qword [r8]
mov edx, dword [r14 + 0x120]
mov ebx, 2
mov qword [rcx + 8], rax
cmp byte [r8 + 0x10], bl
jne 0x6726ba
cmp byte [rcx + 0x20], r9b
jne 0x6726ba
mov rcx, qword [rcx]
call fcn.006665cc
mov dword [rsp + 0x538], eax
jmp 0x671929
mov dword [rsp + 0x538], ebx
jmp 0x671929
mov r13d, dword [rbp + rsi*8 + 4]
mov rsi, qword [rbp + rsi*8 + 0x10]
xor r11d, r11d
cmp r13d, r11d
jne 0x672796
cmp dword [rdi + 0xb4], r11d
jle 0x67270c
lea r8, str.cannot_open_savepoint___SQL_statements_in_progress
lea rcx, [r14 + 0xb8]
mov rdx, rdi
call fcn.0065fb00
mov ecx, 5
mov dword [rsp + 0x538], ecx
jmp 0x671929
mov rbx, rsi
mov r13, r15
cmp byte [rsi], r11b
je 0x67271f
add rbx, r13
cmp byte [rbx], r11b
jne 0x672717
sub ebx, esi
mov rcx, rdi
and ebx, 0x3fffffff
lea edx, [rbx + 0x11]
call fcn.0065f8c4
xor r15d, r15d
mov rdi, rax
cmp rax, r15
je 0x67191e
lea rcx, [rax + 0x10]
lea r8d, [rbx + 1]
mov rdx, rsi
movsxd r8, r8d
mov qword [rax], rcx
call fcn.006a4bf0
mov rcx, qword [rsp + 0x58]
cmp byte [rcx + 0x28], r15b
je 0x67276f
mov byte [rcx + 0x28], r15b
mov byte [rcx + 0x2f8], r13b
jmp 0x672776
add dword [rcx + 0x2f0], r13d
mov rax, qword [rcx + 0x2e8]
mov r15d, 1
mov qword [rdi + 8], rax
mov qword [rcx + 0x2e8], rdi
mov rdi, rcx
jmp 0x671929
mov r12, qword [rdi + 0x2e8]
mov r10d, r11d
cmp r12, r11
je 0x6729e1
mov rcx, qword [r12]
mov rdx, rsi
call fcn.00660bec
cmp eax, r11d
je 0x6727c7
mov r12, qword [r12 + 8]
inc r10d
cmp r12, r11
jne 0x6727a9
cmp r12, r11
je 0x6729e1
cmp dword [rdi + 0xb4], r11d
mov ebx, 2
jg 0x6729b1
mov rcx, r15
cmp r13d, ebx
jne 0x6727f6
cmp dword [rdi + 0xb0], ecx
jg 0x6729b1
cmp qword [r12 + 8], r11
jne 0x672849
cmp byte [rdi + 0x2f8], r11b
je 0x672849
mov r14d, ecx
cmp r13d, ecx
jne 0x67284c
mov rbx, qword [rsp + 0x520]
mov byte [rdi + 0x28], cl
mov rcx, rbx
call fcn.0066f518
mov ebp, 5
cmp eax, ebp
je 0x676032
xor esi, esi
mov byte [rdi + 0x2f8], sil
mov eax, dword [rbx + 0xa4]
mov dword [rsp + 0x538], eax
jmp 0x672945
mov r14d, r11d
mov edi, dword [rdi + 0x2f0]
mov rdx, qword [rsp + 0x58]
mov ebp, r11d
sub edi, r10d
sub edi, ecx
cmp dword [rdx + 8], r11d
jle 0x6728eb
mov rsi, r11
mov rax, qword [rdx + 0x10]
mov r15d, r11d
mov dword [rsp + 0x538], r11d
mov rax, qword [rax + rsi + 8]
cmp rax, r11
je 0x6728d7
cmp byte [rax + 0x10], bl
jne 0x6728d7
mov rbx, qword [rax + 8]
mov rax, qword [rax]
mov r8d, edi
mov rcx, qword [rbx]
mov edx, r13d
mov qword [rbx + 8], rax
call fcn.006666dc
xor r11d, r11d
mov r15d, eax
mov dword [rsp + 0x538], eax
cmp eax, r11d
jne 0x6728ca
mov rcx, rbx
call fcn.00667a84
xor r11d, r11d
mov r15d, eax
mov dword [rsp + 0x538], eax
mov rdx, qword [rsp + 0x58]
mov ebx, 2
lea ecx, [rbx - 1]
cmp r15d, r11d
jne 0x676165
add ebp, ecx
add rsi, 0x30
cmp ebp, dword [rdx + 8]
jl 0x67286c
mov rdi, qword [rsp + 0x58]
cmp r13d, ebx
jne 0x672921
mov eax, reloc.WS2_32.dll_recv
test byte [rdi + 0x18], al
je 0x672921
mov rax, qword [rdi + 0xa8]
jmp 0x672912
mov byte [rax + 0xca], cl
mov rax, qword [rax + 0x10]
cmp rax, r11
jne 0x672908
xor edx, edx
mov rcx, rdi
call fcn.0067eba0
xor esi, esi
jmp 0x672945
mov rdx, qword [rdi + 0x2e8]
mov rcx, rdi
mov rax, qword [rdx + 8]
mov qword [rdi + 0x2e8], rax
call fcn.0065f6a0
dec dword [rdi + 0x2f0]
cmp qword [rdi + 0x2e8], r12
jne 0x672925
mov r15d, 1
cmp r13d, r15d
jne 0x674b53
mov rax, qword [r12 + 8]
mov rdx, r12
mov rcx, rdi
mov qword [rdi + 0x2e8], rax
call fcn.0065f6a0
mov r10, qword [rsp + 0x40]
mov eax, dword [rsp + 0x530]
mov r9, qword [rsp + 0x48]
mov r11, qword [rsp + 0x50]
mov dl, byte [rsp + 0x528]
cmp r14d, esi
mov r14, qword [rsp + 0x520]
lea r12d, [r15 + 3]
jne 0x67194c
dec dword [rdi + 0x2f0]
jmp 0x67194c
lea rax, str.rollback
cmp r13d, ebx
lea r9, str.release
lea rcx, [r14 + 0xb8]
lea r8, str.cannot__s_savepoint___SQL_statements_in_progress
mov rdx, rdi
cmove r9, rax
call fcn.0065fb00
jmp 0x6726fb
lea rcx, [r14 + 0xb8]
lea r8, str.no_such_savepoint:__s
mov r9, rsi
mov rdx, rdi
call fcn.0065fb00
mov dword [rsp + 0x538], r15d
jmp 0x671929
mov ebx, dword [rbp + rsi*8 + 4]
mov ecx, dword [rbp + rsi*8 + 8]
xor edx, edx
cmp ebx, edx
je 0x672a48
cmp byte [rdi + 0x28], dl
jne 0x672a48
cmp ecx, edx
je 0x672a33
cmp dword [rdi + 0xb0], r15d
jle 0x672a48
lea r8, str.cannot_rollback_transaction___SQL_statements_in_progress
jmp 0x6726ec
cmp dword [rdi + 0xb4], r15d
jle 0x672a48
lea r8, str.cannot_commit_transaction___SQL_statements_in_progress
jmp 0x6726ec
movzx eax, byte [rdi + 0x28]
cmp ebx, eax
jne 0x676051
lea rax, str.cannot_rollback___no_transaction_is_active
cmp ecx, edx
lea r8, str.cannot_commit___no_transaction_is_active
cmovne r8, rax
lea rax, str.cannot_start_a_transaction_within_a_transaction
cmp ebx, edx
cmove r8, rax
lea rcx, [r14 + 0xb8]
mov rdx, rdi
call fcn.0065fb00
jmp 0x6729fa
movsxd rax, dword [rbp + rsi*8 + 4]
mov rcx, r11
lea rbx, [rax + rax*2]
shl rbx, 4
add rbx, qword [rdi + 0x10]
call fcn.0066d858
mov edx, dword [rbp + rsi*8 + 8]
mov r13, qword [rsp + 0x50]
mov rcx, qword [rbx + 8]
inc edx
mov r8d, dword [r13]
call fcn.0066bd98
xor edx, edx
mov dword [rsp + 0x538], eax
mov eax, dword [rbp + rsi*8 + 8]
cmp eax, edx
jne 0x672add
mov eax, dword [r13]
mov rcx, qword [rbx + 0x28]
mov dword [rcx], eax
lea eax, [rdx + 0x10]
or dword [rdi + 0x18], eax
jmp 0x672aed
cmp eax, r15d
jne 0x672aed
mov rcx, qword [rbx + 0x28]
mov al, byte [r13]
mov byte [rcx + 0x70], al
cmp dword [rbp + rsi*8 + 4], r15d
jne 0x672b0d
mov rax, qword [rdi + 0xa8]
jmp 0x672b08
mov byte [rax + 0xca], r15b
mov rax, qword [rax + 0x10]
cmp rax, rdx
jne 0x672afd
mov r10, qword [rsp + 0x40]
mov r9, qword [rsp + 0x48]
mov r11, r13
jmp 0x671938
movsxd r14, dword [rbp + rsi*8 + 0xc]
mov r10, qword [rsp + 0x58]
mov r15d, dword [rbp + rsi*8 + 4]
movsxd r13, dword [rbp + rsi*8 + 8]
xor edx, edx
lea rax, [r14 + r14*2]
shl rax, 4
mov ebx, edx
mov rdi, rdx
add rax, qword [r10 + 0x10]
mov rcx, qword [rax + 8]
mov qword [rsp + 0x538], rcx
cmp r12b, 0xa
jne 0x672b7b
mov rax, qword [rax + 0x28]
lea r12d, [rdx + 1]
mov cl, byte [rax + 0x70]
mov rax, qword [rsp + 0x520]
cmp cl, byte [rax + 0xcb]
jae 0x672b86
mov byte [rax + 0xcb], cl
jmp 0x672b86
mov rax, qword [rsp + 0x520]
mov r12d, edx
cmp byte [rbp + rsi*8 + 3], dl
je 0x672bb6
imul r13, r13, 0x38
add r13, qword [rax + 0x80]
mov rcx, r13
mov qword [rsp + 0x78], r13
call fcn.0066d858
mov r13d, dword [r13]
mov eax, 2
cmp r13d, eax
jl 0x6760b0
mov al, byte [rbp + rsi*8 + 1]
cmp al, 0xfa
jne 0x672be4
mov rdi, qword [rbp + rsi*8 + 0x10]
mov rdx, qword [rsp + 0x520]
mov rax, qword [rdx]
movzx ebx, word [rdi + 0xa]
mov rcx, qword [rax + 0x10]
inc ebx
mov rax, qword [rcx + 0x28]
mov cl, byte [rax + 0x71]
mov byte [rdi + 8], cl
jmp 0x672bec
cmp al, 0xf2
jne 0x672bec
mov ebx, dword [rbp + rsi*8 + 0x10]
mov r9d, r14d
mov r14, qword [rsp + 0x520]
mov r8d, ebx
mov edx, r15d
mov rcx, r14
mov dword [rsp + 0x20], 1
call fcn.00671388
xor ecx, ecx
mov rbx, rax
cmp rax, rcx
je 0x6761cc
mov r8, qword [rax]
mov rcx, qword [rsp + 0x538]
mov r9, rdi
mov qword [rsp + 0x20], r8
mov edx, r13d
mov r8d, r12d
mov byte [rax + 0x1c], 1
call fcn.00667d9c
xor r11d, r11d
mov r15d, eax
mov dword [rsp + 0x538], eax
mov qword [rbx + 0x50], rdi
cmp eax, r11d
je 0x672c9a
lea ecx, [r11 + 5]
cmp eax, ecx
je 0x676129
mov rdi, qword [rsp + 0x58]
lea eax, [rcx + 0xb]
cmp r15d, eax
jne 0x676172
cmp byte [rbp + rsi*8 + 1], 0xfa
mov dword [rsp + 0x538], r11d
mov qword [rbx], r11
setne al
cmp al, r11b
mov byte [rbx + 0x20], al
sete al
mov byte [rbx + 0x21], al
mov r15d, 1
jmp 0x671929
mov rdi, qword [rbx]
mov r8d, 2
cmp byte [rdi + 0x5b], r8b
jb 0x672cb8
mov rcx, rdi
call fcn.006668f0
xor r11d, r11d
lea r8d, [r11 + 2]
movsx rax, word [rdi + 0x80]
mov rax, qword [rdi + rax*8 + 0x88]
movzx ecx, byte [rax + 5]
mov rax, qword [rax + 0x70]
movzx edx, byte [rcx + rax]
test dl, 0xf0
jne 0x672d22
mov eax, edx
mov ecx, 5
and eax, 7
cmp eax, ecx
je 0x672cec
cmp eax, r8d
jne 0x672d22
mov al, dl
mov r15d, 1
shr edx, 1
and al, r15b
and dl, r15b
mov byte [rbx + 0x21], dl
mov byte [rbx + 0x20], al
cmp al, r11b
je 0x672d0e
cmp byte [rbp + rsi*8 + 1], 0xfa
je 0x672d22
cmp dl, r11b
je 0x671924
cmp byte [rbp + rsi*8 + 1], 0xfa
je 0x671924
mov r15d, reloc.WS2_32.dll_inet_addr
jmp 0x67616d
movsxd rbx, dword [rbp + rsi*8 + 4]
mov rdx, qword [r14 + 0x50]
mov rcx, r14
mov rdx, qword [rdx + rbx*8]
call fcn.0066eb94
mov r11, qword [r14 + 0x50]
xor ecx, ecx
mov qword [r11 + rbx*8], rcx
jmp 0x671929
mov rax, qword [r14 + 0x50]
movsxd rcx, dword [rbp + rsi*8 + 4]
mov rbx, qword [rax + rcx*8]
xor eax, eax
cmp qword [rbx], rax
je case.0x6717f2.12
mov rcx, qword [rsp + 0x78]
mov byte [rbx + 0x1c], al
call fcn.0066d774
xor ecx, ecx
mov byte [rbx + 0x1f], r15b
mov qword [rbx + 0x28], rax
mov byte [rbx + 0x19], cl
jmp 0x671929
movsxd rdi, dword [rbp + rsi*8 + 0x10]
movsxd rbx, dword [rbp + rsi*8 + 4]
mov rcx, r11
imul rdi, rdi, 0x38
add rdi, qword [r14 + 0x80]
call fcn.0066d858
mov rdx, qword [rsp + 0x520]
mov r11, qword [rsp + 0x50]
xor ecx, ecx
mov rax, qword [rdx + 0x50]
mov r14, qword [r11]
mov r12, qword [rax + rbx*8]
mov r13, qword [r12]
cmp r13, rcx
je 0x675ff0
mov r8, qword [rdi + 0x18]
mov edx, dword [rdi + 0x20]
mov rcx, qword [r12 + 0x50]
lea r9, [rsp + 0x350]
mov dword [rsp + 0x20], 0x180
call fcn.0066ff38
xor edi, edi
mov rbx, rax
cmp rax, rdi
je 0x6761c4
lea edx, [rdi + 4]
xor r9d, r9d
xor r8d, r8d
or word [rax + 0xa], dx
lea rax, [rsp + 0x80]
mov rdx, rbx
mov rcx, r13
mov dword [r12 + 0x78], edi
mov qword [rsp + 0x20], rax
call fcn.006689c4
mov dword [rsp + 0x538], eax
cmp eax, edi
jne 0x6760be
cmp dword [rsp + 0x80], edi
jge 0x672e77
lea rdx, [rsp + 0x80]
mov rcx, r13
call fcn.00668e24
mov dword [rsp + 0x538], eax
cmp dword [rsp + 0x80], edi
je 0x672e77
mov eax, dword [rbp + rsi*8 + 8]
mov rcx, rbx
dec eax
mov dword [rsp + 0x530], eax
call fcn.006700bc
jmp 0x672596
lea r8, [rsp + 0x80]
mov rdx, rbx
mov rcx, r12
call fcn.00670468
mov rcx, rbx
mov edi, eax
mov dword [rsp + 0x538], eax
call fcn.006700bc
xor r11d, r11d
cmp edi, r11d
jne 0x67615d
cmp dword [rsp + 0x80], r11d
jle 0x672ec6
mov r10d, dword [rbp + rsi*8 + 8]
sub r10d, r15d
mov dword [rsp + 0x530], r10d
jmp 0x672596
lea rdx, [rsp + 0x148]
mov rcx, r13
call fcn.00670320
xor r11d, r11d
mov dword [rsp + 0x538], eax
cmp eax, r11d
jne 0x67615d
mov rax, qword [rsp + 0x148]
mov rdi, qword [rsp + 0x58]
mov r9, qword [rsp + 0x48]
mov r11, qword [rsp + 0x50]
mov dl, byte [rsp + 0x528]
cmp rax, r14
mov r14, qword [rsp + 0x520]
mov r12d, 4
je 0x671ff7
mov qword [r11], rax
jmp 0x672007
movsxd rcx, dword [rbp + rsi*8 + 4]
mov rax, qword [r14 + 0x50]
mov rbx, qword [rax + rcx*8]
xor eax, eax
mov rcx, qword [rbx]
cmp rcx, rax
je 0x675c8a
mov r8, qword [r11]
mov dword [rsp + 0xec], eax
lea rax, [rsp + 0xec]
xor r9d, r9d
xor edx, edx
mov qword [rsp + 0x20], rax
call fcn.006689c4
mov ecx, dword [rsp + 0xec]
mov r11, qword [rsp + 0x50]
xor edx, edx
mov dword [rsp + 0x538], eax
mov rax, qword [r11]
cmp ecx, edx
mov qword [rbx + 0x10], rax
mov byte [rbx + 0x1c], dl
sete al
mov dword [rbx + 0x78], edx
cmp ecx, edx
mov byte [rbx + 0x19], al
jmp 0x675719
movsxd rdx, dword [rbp + rsi*8 + 4]
mov rax, qword [r14 + 0x50]
mov r12d, 4
mov rcx, qword [rax + rdx*8]
mov rax, qword [rcx + 0x60]
mov qword [r10], rax
mov rax, qword [r14 + 0x50]
mov rcx, qword [rax + rdx*8]
mov eax, 0xbf04
add qword [rcx + 0x60], r15
and word [r10 + 0x24], ax
or word [r10 + 0x24], r12w
jmp 0x671e89
movsxd rcx, dword [rbp + rsi*8 + 4]
mov rax, qword [r14 + 0x50]
xor r11d, r11d
mov r12, qword [rax + rcx*8]
mov rbx, r11
mov rdi, qword [r12]
mov qword [rsp + 0x70], rbx
cmp rdi, r11
je 0x673242
lea eax, [r11 + 2]
mov r13d, r11d
mov dword [rsp + 0x94], r11d
mov r14d, r11d
cmp byte [rdi + 0x5b], al
jb 0x673014
mov rcx, rdi
call fcn.006668f0
xor r11d, r11d
movsx rax, word [rdi + 0x80]
mov rax, qword [rdi + rax*8 + 0x88]
mov rdi, r15
movzx ecx, byte [rax + 5]
mov rax, qword [rax + 0x70]
mov dl, byte [rcx + rax]
and dl, 3
cmp dl, dil
jne 0x6760ee
cmp byte [r12 + 0x1b], r11b
jne 0x67316b
mov rcx, qword [r12]
mov rbx, qword [rcx + 0x30]
mov qword [rsp + 0x70], rbx
cmp rbx, r11
jne 0x673097
lea rdx, [rsp + 0x94]
call fcn.00668968
xor r11d, r11d
mov r15d, eax
mov dword [rsp + 0x538], eax
cmp eax, r11d
jne 0x676165
mov r13d, dword [rsp + 0x94]
cmp r13d, r11d
je 0x673111
mov rbx, rdi
mov qword [rsp + 0x70], rbx
movabs r15, 0x7fffffffffffffff
movsxd rax, dword [rbp + rsi*8 + 0xc]
cmp eax, r11d
je 0x6730f5
mov rdx, qword [rsp + 0x520]
mov rdi, rax
imul rdi, rdi, 0x38
add rdi, qword [rdx + 0x80]
mov rcx, rdi
call fcn.0066d858
mov rax, qword [rdi]
xor r11d, r11d
cmp rax, r15
je 0x6760d0
cmp byte [r12 + 0x1b], r11b
jne 0x6760d0
inc rax
cmp rbx, rax
cmovl rbx, rax
mov qword [rsp + 0x70], rbx
mov qword [rdi], rbx
mov r8, qword [r12]
lea rax, [rbx + 1]
mov rdx, r11
cmp rbx, r15
cmovl rdx, rax
mov rax, qword [r8 + 8]
mov rcx, qword [rax + 0x10]
jmp 0x67315b
mov rcx, qword [r12]
lea rdx, [rsp + 0x70]
call fcn.00668010
mov rbx, qword [rsp + 0x70]
movabs r15, 0x7fffffffffffffff
cmp rbx, r15
jne 0x673140
mov byte [r12 + 0x1b], dil
xor r11d, r11d
jmp 0x6730a1
add rbx, rdi
mov qword [rsp + 0x70], rbx
jmp 0x673138
mov eax, dword [r8 + 0x28]
cmp dword [rcx + 0x28], eax
jne 0x673157
mov qword [rcx + 0x30], rdx
mov rcx, qword [rcx + 0x10]
cmp rcx, r11
jne 0x67314a
cmp byte [r12 + 0x1b], r11b
je 0x673220
mov r10, qword [rsp + 0x58]
mov edi, r11d
mov rbx, qword [r10 + 0x48]
mov qword [rsp + 0x70], rbx
cmp edi, r11d
jne 0x673198
mov rax, rbx
and eax, 0xffffff
cmp rax, rbx
jne 0x673198
inc rbx
mov qword [rsp + 0x70], rbx
jmp 0x6731c3
lea rdx, [rsp + 0x70]
mov ecx, 8
call fcn.00660848
mov rbx, qword [rsp + 0x70]
mov eax, 5
cmp edi, eax
jge 0x6731c0
and ebx, 0xffffff
mov qword [rsp + 0x70], rbx
xor r11d, r11d
cmp rbx, r11
je 0x6731f6
mov rcx, qword [r12]
lea rax, [rsp + 0x94]
xor r9d, r9d
mov r8, rbx
xor edx, edx
mov qword [rsp + 0x20], rax
call fcn.006689c4
mov r13d, dword [rsp + 0x94]
inc edi
mov r14d, eax
xor r11d, r11d
cmp edi, 0x64
jge 0x673209
cmp r14d, r11d
jne 0x673209
cmp r13d, r11d
je 0x67317c
mov rdi, qword [rsp + 0x58]
mov qword [rdi + 0x48], rbx
cmp r14d, r11d
jne 0x673220
cmp r13d, r11d
je 0x6760db
mov r14, qword [rsp + 0x520]
mov r10, qword [rsp + 0x40]
mov byte [r12 + 0x19], r11b
mov byte [r12 + 0x1f], r11b
mov dword [r12 + 0x78], r11d
mov r15d, 1
mov rdi, qword [rsp + 0x58]
mov eax, 0xbf04
mov r12d, 4
and word [r10 + 0x24], ax
or word [r10 + 0x24], r12w
mov qword [r10], rbx
jmp 0x674196
xor ecx, ecx
cmp dword [rbp + rsi*8 + 4], ecx
je 0x673279
mov eax, dword [r14 + 0xd0]
add dword [rdi + 0x58], eax
mov dword [rdi + 0x54], eax
mov dword [r14 + 0xd0], ecx
jmp case.0x6717f2.12
movsxd r13, dword [rbp + rsi*8 + 8]
movsxd rcx, dword [rbp + rsi*8 + 4]
mov rax, qword [r14 + 0x50]
imul r13, r13, 0x38
mov rsi, qword [rax + rcx*8]
add r13, qword [r14 + 0x80]
mov rdi, qword [rsi]
mov rcx, rsi
mov qword [rsp + 0x40], r13
call fcn.0066fb10
xor r11d, r11d
mov dword [rsp + 0x538], eax
cmp eax, r11d
jne 0x676153
mov rcx, rdi
cmp byte [rsi + 0x21], r11b
je 0x6732fe
lea rdx, [rsp + 0x198]
call fcn.00668010
mov r10, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x198]
movsxd r11, dword [r10 + 0x68]
cmp rbx, r11
jg 0x676124
mov dword [rsp + 0xe4], ebx
jmp 0x673321
lea rdx, [rsp + 0xe4]
call fcn.00668068
mov r10, qword [rsp + 0x58]
mov ebx, dword [rsp + 0xe4]
cmp ebx, dword [r10 + 0x68]
jg 0x676124
xor r8d, r8d
mov edx, ebx
mov rcx, r13
call fcn.0066d394
xor ecx, ecx
cmp eax, ecx
jne 0x6761cc
mov r9, qword [r13 + 0x18]
mov eax, 0xbf10
mov dword [r13 + 0x20], ebx
and word [r13 + 0x24], ax
lea eax, [rcx + 0x10]
xor edx, edx
or word [r13 + 0x24], ax
cmp byte [rsi + 0x21], cl
mov rcx, rdi
mov r8d, ebx
je 0x673366
call fcn.00668490
jmp 0x67336b
call fcn.00668508
mov dword [rsp + 0x538], eax
mov byte [r13 + 0x27], r15b
mov rdi, qword [rsp + 0x58]
jmp 0x6719c2
movsxd rcx, dword [rbp + rsi*8 + 4]
mov rax, qword [r14 + 0x50]
mov rbx, qword [rax + rcx*8]
mov rcx, rbx
call fcn.0066fb10
xor r11d, r11d
mov dword [rsp + 0x538], eax
cmp eax, r11d
jne 0x676149
cmp byte [rbx + 0x19], r11b
je 0x6733b4
mov rax, qword [rbx + 0x10]
jmp 0x6733be
cmp byte [rbx + 0x1d], r11b
je 0x6733cb
mov rax, qword [rbx + 0x48]
mov qword [rsp + 0x108], rax
jmp 0x6750a4
cmp byte [rbx + 0x1c], r11b
jne 0x671929
mov rcx, qword [rbx]
lea rdx, [rsp + 0x108]
call fcn.00668010
mov rax, qword [rsp + 0x108]
jmp 0x6750a4
movsxd rcx, dword [rbp + rsi*8 + 4]
mov rax, qword [r14 + 0x50]
lea rdx, [rsp + 0x124]
mov rbx, qword [rax + rcx*8]
mov rcx, qword [rbx]
call fcn.00668968
xor edx, edx
mov dword [rsp + 0x538], eax
mov eax, dword [rsp + 0x124]
mov byte [rbx + 0x1f], dl
mov byte [rbx + 0x19], dl
mov dword [rbx + 0x78], edx
mov byte [rbx + 0x1c], al
cmp eax, edx
je 0x671929
mov eax, dword [rbp + rsi*8 + 8]
mov r10, qword [rsp + 0x40]
mov r9, qword [rsp + 0x48]
mov r11, qword [rsp + 0x50]
cmp eax, edx
lea r12d, [rdx + 4]
mov dl, byte [rsp + 0x528]
jle 0x671854
dec eax
jmp 0x67194c
inc dword [r14 + 0x10c]
movsxd rcx, dword [rbp + rsi*8 + 4]
mov rax, qword [r14 + 0x50]
xor r15d, r15d
mov rbx, qword [rax + rcx*8]
mov rdi, qword [rbx]
cmp rdi, r15
je 0x6756f5
mov rcx, rdi
call fcn.006686d0
mov dword [rsp + 0x538], eax
cmp eax, r15d
jne 0x6756d0
cmp byte [rdi + 0x5b], r15b
jne 0x6756b4
lea r12d, [r15 + 1]
mov dword [rsp + 0x538], r15d
mov dword [rsp + 0xa0], r12d
jmp 0x6756d8
movsxd rcx, dword [rbp + rsi*8 + 4]
mov rax, qword [r14 + 0x50]
mov rdi, qword [rax + rcx*8]
xor ecx, ecx
mov rbx, qword [rdi]
cmp rbx, rcx
je 0x675fdb
mov rax, qword [rdi + 0x50]
mov word [rsp + 0x25a], cx
lea rdx, [rsp + 0x250]
mov qword [rsp + 0x250], rax
movzx eax, word [rbp + rsi*8 + 0xc]
xor r9d, r9d
mov word [rsp + 0x258], ax
movsxd rax, dword [rbp + rsi*8 + 8]
xor r8d, r8d
mov rcx, rbx
imul rax, rax, 0x38
add rax, qword [r14 + 0x80]
mov qword [rsp + 0x260], rax
lea rax, [rsp + 0x12c]
mov qword [rsp + 0x20], rax
call fcn.006689c4
xor edx, edx
mov dword [rsp + 0x538], eax
cmp eax, edx
jne 0x67355c
cmp dword [rsp + 0x12c], edx
jne 0x67355c
mov rcx, rbx
call fcn.0066b4f0
xor edx, edx
mov dword [rsp + 0x538], eax
mov dword [rdi + 0x78], edx
jmp 0x671924
movsxd rcx, dword [rbp + rsi*8 + 4]
mov rax, qword [r14 + 0x50]
mov rdx, qword [rax + rcx*8]
xor eax, eax
mov rcx, qword [rdx]
cmp rcx, rax
je 0x671938
cmp byte [rdx + 0x1c], al
jne 0x671938
lea rdx, [rsp + 0x1a8]
call fcn.00670320
xor r11d, r11d
mov dword [rsp + 0x538], eax
cmp eax, r11d
jne 0x676149
mov r10, qword [rsp + 0x40]
mov eax, 0xbf04
and word [r10 + 0x24], ax
mov rax, qword [rsp + 0x1a8]
mov r12d, 4
or word [r10 + 0x24], r12w
mov qword [r10], rax
jmp 0x674196
movsxd rcx, dword [rbp + rsi*8 + 4]
mov rax, qword [r14 + 0x50]
xor ebx, ebx
mov rcx, qword [rax + rcx*8]
cmp qword [rcx], rbx
je case.0x6717f2.12
mov rax, qword [rcx + 0x50]
lea r12d, [rbx + 4]
mov qword [rsp + 0x178], rax
movzx eax, word [rbp + rsi*8 + 0x10]
mov word [rsp + 0x180], ax
cmp byte [rbp + rsi*8 + 3], bl
je 0x67361a
lea eax, [rbx + 0xc]
mov word [rsp + 0x182], ax
jmp 0x673623
mov word [rsp + 0x182], r12w
movsxd rax, dword [rbp + rsi*8 + 0xc]
lea r8, [rsp + 0x8c]
lea rdx, [rsp + 0x178]
imul rax, rax, 0x38
add rax, qword [r14 + 0x80]
mov qword [rsp + 0x188], rax
call fcn.00670468
cmp byte [rbp + rsi*8], 0x2a
mov dword [rsp + 0x538], eax
mov eax, dword [rsp + 0x8c]
jne 0x673669
neg eax
jmp 0x67366c
add eax, r15d
cmp eax, ebx
mov r9, qword [rsp + 0x48]
mov r11, qword [rsp + 0x50]
mov dl, byte [rsp + 0x528]
mov dword [rsp + 0x8c], eax
jle 0x672007
jmp 0x671ff7
movsxd rax, dword [rbp + rsi*8 + 4]
xor ecx, ecx
mov r8d, 2
mov dword [rsp + 0xd0], ecx
lea rcx, [rax + rax*2]
lea eax, [r8 + 3]
shl rcx, 4
lea rdx, [rsp + 0xd0]
add rcx, qword [rdi + 0x10]
cmp r12b, 0x36
mov rcx, qword [rcx + 8]
cmove r8d, eax
call fcn.0066b950
mov dword [rsp + 0x538], eax
movsxd rax, dword [rsp + 0xd0]
jmp 0x6750a4
movsxd rdx, dword [rbp + rsi*8 + 4]
xor ecx, ecx
cmp dword [rbp + rsi*8 + 8], ecx
jne 0x673709
mov rax, qword [rdi + 0x10]
lea rcx, [rdx + rdx*2]
add rcx, rcx
mov rcx, qword [rax + rcx*8 + 0x28]
test byte [rcx + 0x72], r15b
je 0x671938
mov r8, qword [rdi + 0x10]
cmp edx, r15d
lea rcx, [rdx + rdx*2]
mov dword [rsp + 0x270], edx
lea rax, str.sqlite_master
mov qword [rsp + 0x268], rdi
lea r9, str.sqlite_temp_master
lea rdx, str.SELECT_name__rootpage__sql_FROM__q._s_WHERE__s
cmovne r9, rax
add rcx, rcx
lea rax, [r14 + 0xb8]
mov qword [rsp + 0x278], rax
mov rax, qword [rbp + rsi*8 + 0x10]
mov r8, qword [r8 + rcx*8]
mov rcx, rdi
mov qword [rsp + 0x20], rax
call fcn.0066059c
xor r15d, r15d
mov rbx, rax
cmp rax, r15
je 0x6761d1
lea r9, [rsp + 0x268]
lea r8, [fcn.0068a79c]
mov rdx, rax
mov rcx, rdi
mov byte [rdi + 0x98], 1
mov dword [rsp + 0x280], r15d
mov qword [rsp + 0x20], r15
call fcn.006888cc
mov rdx, rbx
mov rbx, qword [rsp + 0x58]
mov edi, eax
cmp eax, r15d
cmove edi, dword [rsp + 0x280]
mov rcx, rbx
mov dword [rsp + 0x538], edi
call fcn.0065f6a0
cmp edi, 7
mov rdi, rbx
mov byte [rbx + 0x98], r15b
je 0x6761d1
jmp 0x672c8f
mov r8, qword [rbp + rsi*8 + 0x10]
mov edx, dword [rbp + rsi*8 + 4]
mov rcx, rdi
call fcn.0067ef2c
jmp 0x671929
mov r8, qword [rbp + rsi*8 + 0x10]
mov edx, dword [rbp + rsi*8 + 4]
mov rcx, rdi
call fcn.0067eae4
jmp 0x671929
mov r8, qword [rbp + rsi*8 + 0x10]
mov edx, dword [rbp + rsi*8 + 4]
mov rcx, rdi
call fcn.00692348
jmp 0x671929
mov r12d, dword [rbp + rsi*8 + 8]
mov rcx, rdi
lea edx, [r12*4 + 4]
call fcn.0065f8c4
xor r8d, r8d
mov r14, rax
cmp rax, r8
je 0x6761ba
mov rdx, qword [rsp + 0x520]
movsxd rax, dword [rbp + rsi*8 + 4]
movsxd rdi, dword [rbp + rsi*8 + 0xc]
imul rax, rax, 0x38
imul rdi, rdi, 0x38
mov rcx, qword [rdx + 0x80]
mov r13, r8
add rax, rcx
add rdi, rcx
cmp r12d, r8d
mov qword [rsp + 0x48], rax
jle 0x6738aa
mov rbx, rax
mov r15, r12
lea esi, [r8 + 1]
mov rcx, rbx
call fcn.0066d774
add rbx, 0x38
mov dword [r14 + r13*4], eax
add r13, rsi
sub r15, rsi
jne 0x673881
mov rsi, qword [rsp + 0xb8]
mov r15d, 1
xor r8d, r8d
mov rbx, qword [rsp + 0x58]
mov dword [r14 + r13*4], r8d
movzx eax, byte [rbp + rsi*8 + 3]
mov rcx, qword [rbx + 0x10]
mov r9d, dword [rdi]
lea r10, [rax + rax*2]
add r10, r10
lea rax, [rsp + 0x110]
mov r8d, r12d
mov rcx, qword [rcx + r10*8 + 8]
mov rdx, r14
mov qword [rsp + 0x20], rax
call fcn.0066c8e8
mov rdx, r14
mov rcx, rbx
mov rsi, rax
call fcn.0065f6a0
mov r12, qword [rsp + 0x48]
movsxd rbx, dword [rsp + 0x110]
mov rcx, r12
sub qword [rdi], rbx
call fcn.0066d880
xor eax, eax
cmp ebx, eax
je 0x67393c
cmp rsi, rax
je 0x6761c4
lea rax, [fcn.0065f654]
mov r9b, 1
or r8d, 0xffffffff
mov rdx, rsi
mov rcx, r12
mov qword [rsp + 0x20], rax
call fcn.0066db0c
mov r15d, 1
mov r14, qword [rsp + 0x520]
mov rdi, qword [rsp + 0x58]
mov r10, qword [rsp + 0x40]
mov r9, r12
jmp 0x671933
mov rax, qword [r14 + 0x80]
movsxd rbx, dword [rbp + rsi*8 + 4]
movsxd rdi, dword [rbp + rsi*8 + 8]
imul rbx, rbx, 0x38
imul rdi, rdi, 0x38
add rbx, rax
add rdi, rax
test byte [rbx + 0x24], 0x20
jne 0x67398d
mov rcx, rbx
call fcn.0066d938
test byte [rbx + 0x24], 0x20
je 0x6761cc
mov rbx, qword [rbx]
mov rdi, qword [rdi]
xor edx, edx
cmp rbx, rdx
je 0x671924
cmp word [rbx + 0x28], dx
jne 0x6739d5
mov rcx, qword [rbx + 8]
mov edx, 0x3f8
call fcn.0065f8c4
xor edx, edx
cmp rax, rdx
je 0x671924
mov rcx, qword [rbx]
mov qword [rax], rcx
mov qword [rbx], rax
add rax, 8
mov qword [rbx + 0x20], rax
lea eax, [rdx + 0x3f]
mov word [rbx + 0x28], ax
mov rcx, qword [rbx + 0x20]
lea rax, [rcx + 0x10]
mov qword [rbx + 0x20], rax
mov eax, 0xffff
add word [rbx + 0x28], ax
mov qword [rcx], rdi
mov qword [rcx + 8], rdx
mov rax, qword [rbx + 0x18]
cmp rax, rdx
je 0x673a0d
cmp byte [rbx + 0x2a], dl
je 0x673a07
cmp rdi, qword [rax]
jg 0x673a07
mov byte [rbx + 0x2a], dl
mov qword [rax + 8], rcx
jmp 0x673a11
mov qword [rbx + 0x10], rcx
mov qword [rbx + 0x18], rcx
jmp 0x671924
mov eax, dword [rdi + 0x138]
xor ecx, ecx
cmp eax, ecx
jne 0x674a7e
mov rax, qword [r14 + 0x80]
movsxd rbx, dword [rbp + rsi*8 + 4]
movsxd r13, dword [rbp + rsi*8 + 0xc]
imul rbx, rbx, 0x38
imul r13, r13, 0x38
add r13, rax
add rbx, rax
test byte [rbx + 0x24], 0x20
mov qword [rsp + 0x40], r13
je 0x673a9c
mov rdi, qword [rbx]
cmp byte [rdi + 0x2a], cl
jne 0x673a66
mov rcx, rdi
call fcn.0066398c
xor ecx, ecx
mov rax, qword [rdi + 0x10]
cmp rax, rcx
je 0x673a97
mov rbx, qword [rax]
mov rax, qword [rax + 8]
mov qword [rdi + 0x10], rax
cmp rax, rcx
jne 0x673a87
mov rcx, rdi
call fcn.006638e4
mov rdx, rbx
mov rcx, r13
call fcn.0066d8b0
jmp 0x673376
mov rdi, qword [rsp + 0x58]
mov rcx, rbx
call fcn.0066d880
mov r10d, dword [rbp + rsi*8 + 8]
sub r10d, r15d
mov dword [rsp + 0x530], r10d
jmp 0x6719c2
movsxd rbx, dword [r14 + 0x8c]
cmp ebx, dword [r14 + 0x90]
lea r8d, [rbx + 1]
mov dword [r14 + 0x8c], r8d
jl 0x673b00
mov rdx, qword [r14 + 0x98]
mov dword [r14 + 0x90], r8d
mov rcx, rdi
shl r8d, 4
call fcn.0065f9ec
xor ecx, ecx
mov qword [r14 + 0x98], rax
cmp rax, rcx
je 0x6761d1
mov rax, qword [rdi + 0x40]
mov rcx, rbx
shl rcx, 4
add rcx, qword [r14 + 0x98]
mov qword [rcx], rax
mov eax, dword [r14 + 0xd0]
mov dword [rcx + 8], eax
jmp 0x671929
mov rcx, r9
call fcn.0066d858
mov r12, qword [rsp + 0x78]
mov rcx, r12
call fcn.0066d858
mov r11, qword [r12]
mov r9, qword [rsp + 0x48]
cmp qword [r9], r11
mov r10, qword [rsp + 0x40]
mov eax, dword [rsp + 0x530]
mov dl, byte [rsp + 0x528]
mov r12d, 4
jge 0x673b63
mov qword [r9], r11
mov r11, qword [rsp + 0x50]
jmp 0x67194c
xor ecx, ecx
cmp qword [r9], rcx
lea r12d, [rcx + 4]
jge 0x671854
jmp 0x671817
lea rcx, [r14 + 0xb8]
mov rdx, rdi
call fcn.00693e64
jmp 0x6726ae
xor ecx, ecx
cmp dword [rbp + rsi*8 + 4], ecx
jne 0x673bbb
mov rax, qword [rdi + 0xa8]
jmp 0x673bb1
mov byte [rax + 0xca], r15b
mov rax, qword [rax + 0x10]
cmp rax, rcx
jne 0x673ba6
jmp case.0x6717f2.12
mov byte [r14 + 0xca], r15b
jmp case.0x6717f2.12
mov rbx, qword [rbp + rsi*8 + 0x10]
xor ecx, ecx
lea rdx, [rsp + 0xd8]
mov qword [rsp + 0xd8], rcx
mov rdi, qword [rbx]
mov rcx, rbx
call qword [rdi + 0x30]
mov r13, qword [rsp + 0x58]
mov rdx, qword [r14 + 0xb8]
mov rcx, r13
mov r12d, eax
mov dword [rsp + 0x538], eax
call fcn.0065f6a0
mov rax, qword [rbx + 0x10]
xor edx, edx
mov qword [r14 + 0xb8], rax
mov qword [rbx + 0x10], rdx
cmp r12d, edx
jne 0x673c62
mov rax, qword [rsp + 0xd8]
mov dword [rsp + 0x20], edx
or r9d, 0xffffffff
mov qword [rax], rbx
mov edx, dword [rbp + rsi*8 + 4]
xor r8d, r8d
mov rcx, r14
call fcn.00671388
xor ecx, ecx
cmp rax, rcx
mov rcx, qword [rsp + 0xd8]
je 0x673c6a
mov qword [rax + 0x68], rcx
mov rcx, qword [rsp + 0xd8]
mov rdx, qword [rcx]
mov rcx, qword [rdx]
mov qword [rax + 0x70], rcx
mov rdi, r13
jmp 0x671929
mov byte [r13 + 0x2a], r15b
call qword [rdi + gethostname]
jmp 0x673c62
movsxd rcx, dword [rbp + rsi*8 + 4]
mov rax, qword [r14 + 0x50]
xor esi, esi
mov rcx, qword [rax + rcx*8]
cmp byte [rcx + 0x1c], sil
jne case.0x6717f2.12
mov rcx, qword [rcx + 0x68]
lea rdx, [rsp + 0x190]
mov rbx, qword [rcx]
mov rax, qword [rbx]
call qword [rax + 0x60]
mov rdx, qword [r14 + 0xb8]
mov rcx, rdi
mov dword [rsp + 0x538], eax
call fcn.0065f6a0
mov rax, qword [rbx + 0x10]
mov r10, qword [rsp + 0x40]
mov qword [r14 + 0xb8], rax
mov eax, 0xbf04
mov qword [rbx + 0x10], rsi
and word [r10 + 0x24], ax
mov rax, qword [rsp + 0x190]
jmp 0x6735bf
movsxd rcx, dword [rbp + rsi*8 + 4]
mov rax, qword [r14 + 0x50]
movsxd r12, dword [rbp + rsi*8 + 0xc]
imul r12, r12, 0x38
mov r13, qword [rax + rcx*8]
add r12, qword [r14 + 0x80]
xor ecx, ecx
cmp byte [r13 + 0x1c], cl
je 0x673d0f
mov rcx, r12
jmp 0x671bdd
mov rax, qword [r13 + 0x68]
xor edx, edx
lea rcx, [rsp + 0x2f0]
mov rdi, qword [rax]
lea r8d, [rdx + 0x60]
mov rbx, qword [rdi]
call fcn.006aba40
lea rcx, [rsp + 0x300]
mov rdx, r12
call fcn.0066dac4
movzx r11d, word [rsp + 0x324]
mov r8d, dword [rbp + rsi*8 + 8]
mov eax, 0xbf01
lea rdx, [rsp + 0x2f0]
and r11w, ax
or r11w, r15w
mov word [rsp + 0x324], r11w
mov rcx, qword [r13 + 0x68]
call qword [rbx + 0x58]
mov rdx, qword [r14 + 0xb8]
mov rcx, qword [rsp + 0x58]
mov dword [rsp + 0x538], eax
call fcn.0065f6a0
mov rax, qword [rdi + 0x10]
mov qword [r14 + 0xb8], rax
lea rdx, [rsp + 0x300]
xor r15d, r15d
mov rcx, r12
mov qword [rdi + 0x10], r15
call fcn.0066dac4
test byte [r12 + 0x24], 0x12
je 0x673dd7
mov edx, dword [r12 + 0x20]
mov eax, 0x4000
test word [r12 + 0x24], ax
je 0x673dc7
add edx, dword [r12]
mov rax, qword [r12 + 0x10]
mov ecx, r15d
cmp edx, dword [rax + 0x68]
setg cl
jmp 0x673dda
mov ecx, r15d
mov rdi, qword [rsp + 0x58]
cmp ecx, r15d
jne 0x676103
jmp 0x672c8f
movsxd rcx, dword [rbp + rsi*8 + 4]
mov rax, qword [r14 + 0x50]
mov rdi, qword [rax + rcx*8]
xor ecx, ecx
cmp byte [rdi + 0x1c], cl
jne 0x675fdb
mov rax, qword [rdi + 0x68]
mov rbx, qword [rax]
mov rax, r15
add dword [rbx + 8], eax
mov r12, qword [rbx]
mov byte [r14 + 0xcc], al
mov rcx, qword [rdi + 0x68]
call qword [r12 + 0x48]
mov r15, qword [rsp + 0x58]
mov rdx, qword [r14 + 0xb8]
mov r13d, eax
mov dword [rsp + 0x538], eax
xor eax, eax
mov rcx, r15
mov byte [r14 + 0xcc], al
call fcn.0065f6a0
mov rax, qword [rbx + 0x10]
mov qword [r14 + 0xb8], rax
xor eax, eax
add dword [rbx + 8], 0xffffffff
mov qword [rbx + 0x10], rax
jne 0x673e6c
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x20]
xor r15d, r15d
cmp r13d, r15d
jne 0x673e86
mov rcx, qword [rdi + 0x68]
call qword [r12 + 0x50]
cmp eax, r15d
jne 0x67191e
mov r10d, dword [rbp + rsi*8 + 8]
mov r15d, 1
sub r10d, r15d
mov dword [rsp + 0x530], r10d
jmp 0x671924
movsxd rdi, dword [rbp + rsi*8 + 4]
mov rbx, qword [rbp + rsi*8 + 0x10]
imul rdi, rdi, 0x38
add rdi, qword [r14 + 0x80]
test byte [rdi + 0x24], 0x12
jne 0x673ed1
movzx edx, dl
mov rcx, rdi
call fcn.0066d5bc
xor ecx, ecx
cmp eax, ecx
jne 0x6761cc
inc dword [rbx + 8]
mov rax, qword [rbx]
mov rdx, qword [rdi + 0x18]
mov rcx, rbx
call qword [rax + 0x98]
mov rdi, qword [rsp + 0x58]
mov rdx, qword [r14 + 0xb8]
mov rcx, rdi
mov dword [rsp + 0x538], eax
call fcn.0065f6a0
mov rax, qword [rbx + 0x10]
mov qword [r14 + 0xb8], rax
xor eax, eax
add dword [rbx + 8], 0xffffffff
mov qword [rbx + 0x10], rax
jne 0x671929
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x20]
jmp 0x671929
movsxd rax, dword [rbp + rsi*8 + 4]
xor ebx, ebx
lea rcx, [rax + rax*2]
mov rax, qword [rdi + 0x10]
add rcx, rcx
mov rcx, qword [rax + rcx*8 + 8]
mov rax, qword [rcx + 8]
mov rcx, qword [rax]
mov eax, dword [rcx + 0x28]
mov dword [rsp + 0x538], eax
cmp eax, ebx
jne 0x671929
lea rdx, [rsp + 0x130]
call fcn.00664f58
mov dword [rsp + 0x538], eax
cmp eax, ebx
jne 0x671929
mov r10, qword [rsp + 0x40]
movsxd rax, dword [rsp + 0x130]
lea r12d, [rbx + 4]
mov word [r10 + 0x24], r12w
jmp 0x6735ca
mov rcx, r9
call fcn.00671480
mov rcx, r15
call fcn.00671480
mov r9, qword [rsp + 0x48]
movzx r11d, word [r15 + 0x24]
movzx eax, word [r9 + 0x24]
mov r12d, 4
mov edi, eax
or edi, r11d
test dil, 1
jne 0x6741b3
and al, r11b
test r12b, al
je 0x67407d
movzx edx, byte [rbp + rsi*8]
mov rcx, qword [r9]
mov r8, qword [r15]
sub edx, 0x54
je 0x674053
lea r9d, [r12 - 3]
sub edx, r9d
je 0x674049
sub edx, r9d
je 0x674043
xor eax, eax
sub edx, r9d
je 0x674013
cmp rcx, rax
je 0x6741b3
cmp rcx, 0xffffffffffffffff
mov rax, r8
cmove rcx, r9
cqo
idiv rcx
mov r8, rdx
jmp 0x67404c
cmp rcx, rax
je 0x6741b3
cmp rcx, 0xffffffffffffffff
jne 0x674036
movabs rax, 0x8000000000000000
mov rdx, r9
cmp r8, rax
cmove rcx, rdx
mov rax, r8
cqo
idiv rcx
mov r8, rax
jmp 0x67404c
imul r8, rcx
jmp 0x67404c
sub r8, rcx
mov r9, qword [rsp + 0x48]
jmp 0x674056
add r8, rcx
mov r10, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x58]
mov eax, 0xbf04
and word [r10 + 0x24], ax
or word [r10 + 0x24], r12w
mov qword [r10], r8
mov r15d, 1
jmp 0x67419b
mov rcx, r9
call fcn.0066d7f4
mov rcx, r15
mov rbx, rax
call fcn.0066d7f4
movzx r8d, byte [rbp + rsi*8]
sub r8d, 0x54
mov rdx, rax
je 0x6740f3
mov eax, 1
sub r8d, eax
je 0x6740ee
sub r8d, eax
je 0x6740e8
cmp r8d, eax
je 0x6740d0
xor ecx, ecx
cmp rbx, rcx
je 0x6741b3
cmp rbx, 0xffffffffffffffff
cmove rbx, rax
mov rax, rdx
cqo
idiv rbx
jmp 0x6740f6
xor eax, eax
cmp rbx, rax
je 0x6741b3
mov rax, rdx
cqo
idiv rbx
mov rdx, rax
jmp 0x6740f6
imul rdx, rbx
jmp 0x6740f6
sub rdx, rbx
jmp 0x6740f6
add rdx, rbx
mov qword [rsp + 0x98], rdx
mov rax, qword [rsp + 0x98]
mov qword [rsp + 0xa8], rax
mov rcx, qword [rsp + 0xa8]
mov rax, qword [rsp + 0x98]
cmp rax, rcx
jne 0x6741b3
mov r13, qword [rsp + 0x40]
mov ebx, 8
mov eax, 0xbf08
and word [r13 + 0x24], ax
or word [r13 + 0x24], bx
movzx ecx, word [r13 + 0x24]
mov qword [r13 + 8], rdx
test bl, dil
jne 0x6741bd
movabs r8, 0x8000000000000000
cmp rdx, r8
jge 0x674162
mov rax, r8
jmp 0x674176
movabs r9, 0x7fffffffffffffff
mov rax, rdx
cmp rdx, r9
cmovg rax, r8
mov rdi, qword [rsp + 0x58]
mov qword [r13], rax
cmp rdx, rax
jne 0x6741c2
or cx, r12w
mov word [r13 + 0x24], cx
mov r10, r13
mov r15d, 1
mov r9, qword [rsp + 0x48]
mov eax, dword [rsp + 0x530]
mov r11, qword [rsp + 0x50]
mov dl, byte [rsp + 0x528]
jmp 0x67194c
mov rcx, qword [rsp + 0x40]
call fcn.0066d880
mov rdi, qword [rsp + 0x58]
mov r10, qword [rsp + 0x40]
jmp 0x674190
cmp ecx, 0x72
jg 0x6753ca
je 0x6753b2
cmp ecx, 0x65
jg 0x674d04
je 0x674be3
cmp ecx, 0x5e
jg 0x6748cf
je 0x674874
sub ecx, 0x59
je 0x674723
mov r15d, 1
sub ecx, r15d
je 0x6743f8
sub ecx, r15d
je 0x67435a
sub ecx, r15d
je 0x674257
cmp ecx, r15d
jne case.0x6717f2.12
movsxd r13, dword [rbp + rsi*8 + 8]
imul r13, r13, 0x38
add r13, qword [r14 + 0x80]
mov qword [rsp + 0x40], r13
test byte [r9 + 0x24], r15b
jne 0x671f7f
mov rcx, r9
call fcn.0066d774
not rax
mov rdx, rax
jmp 0x671f9f
mov r12, qword [rsp + 0x58]
movsxd rcx, dword [rbp + rsi*8 + 4]
mov rax, qword [r14 + 0x50]
mov rbx, qword [rax + rcx*8]
xor edx, edx
mov rdi, rdx
cmp qword [r12 + 0x100], rdx
je 0x674283
cmp qword [rbp + rsi*8 + 0x10], rdx
je 0x674283
mov rdi, qword [rbx + 0x10]
mov rcx, rbx
call fcn.0066fb10
xor r11d, r11d
mov dword [rsp + 0x538], eax
cmp eax, r11d
jne 0x67613c
mov rdx, qword [rbx]
mov rax, qword [rdx + 8]
mov rcx, qword [rax + 0x10]
jmp 0x6742bb
mov eax, dword [rdx + 0x28]
cmp dword [rcx + 0x28], eax
jne 0x6742b7
mov qword [rcx + 0x30], r11
mov rcx, qword [rcx + 0x10]
cmp rcx, r11
jne 0x6742ab
mov rcx, qword [rbx]
call fcn.0066b4f0
xor edx, edx
mov dword [rsp + 0x538], eax
mov dword [rbx + 0x78], edx
cmp eax, edx
jne 0x67431d
mov r10, qword [r12 + 0x100]
cmp r10, rdx
je 0x67431d
mov r9, qword [rbp + rsi*8 + 0x10]
cmp r9, rdx
je 0x67431d
movsxd rax, dword [rbx + 8]
mov r8, qword [r12 + 0x10]
mov edx, 9
lea rcx, [rax + rax*2]
mov qword [rsp + 0x20], rdi
mov rdi, r12
add rcx, rcx
mov r8, qword [r8 + rcx*8]
mov rcx, qword [r12 + 0xf8]
call r10
jmp 0x674320
mov rdi, r12
mov r10, qword [rsp + 0x40]
mov eax, dword [rsp + 0x530]
mov r9, qword [rsp + 0x48]
mov r11, qword [rsp + 0x50]
mov dl, byte [rsp + 0x528]
mov r12d, 4
test byte [rbp + rsi*8 + 8], r15b
je 0x67194c
add dword [r14 + 0xd0], r15d
jmp 0x67194c
mov edx, r15d
mov rcx, r14
call fcn.0066f318
xor r15d, r15d
mov dword [rsp + 0x538], eax
cmp eax, r15d
jne 0x672c8f
mov eax, dword [r14 + 0x88]
mov edi, r15d
add eax, 2
or eax, 1
mov dword [r14 + 0x88], eax
movsxd r12, dword [rbp + rsi*8 + 4]
imul r12, r12, 0x38
add r12, qword [r14 + 0x80]
mov qword [r14 + 0xc0], r12
cmp dword [rbp + rsi*8 + 8], r15d
jle 0x6743cf
movsxd rbx, edi
imul rbx, rbx, 0x38
add rbx, r12
mov rcx, rbx
call fcn.0066d558
mov rcx, rbx
call fcn.0067135c
inc edi
cmp edi, dword [rbp + rsi*8 + 8]
jl 0x6743ad
mov rdi, qword [rsp + 0x58]
cmp byte [rdi + 0x2a], r15b
jne 0x6761d1
mov eax, dword [rsp + 0x530]
inc eax
mov dword [r14 + 0xa0], eax
mov eax, WSAAsyncSelect
jmp 0x676212
mov eax, dword [rbp + rsi*8 + 8]
mov r10, qword [rsp + 0x520]
movsxd r14, dword [rbp + rsi*8 + 4]
imul r14, r14, 0x38
add r14, qword [r10 + 0x80]
movzx ecx, byte [r10 + 0xcb]
mov r13, qword [rbp + rsi*8 + 0x10]
xor r11d, r11d
dec eax
mov qword [rsp + 0xa8], r14
cdqe
mov dword [rsp + 0x64], ecx
mov rbx, r14
mov r15, r11
mov edi, r11d
mov r8d, r11d
imul rax, rax, 0x38
add rax, r14
mov dword [rsp + 0x68], r11d
mov qword [rsp + 0x98], rax
cmp r14, rax
ja 0x67456d
mov bpl, byte [rsp + 0x528]
lea r12, [r11 - 0x20]
mov esi, ecx
sub r12, r14
lea r14, [0x00400000]
mov eax, 0x4000
cmp r13, r11
je 0x6744b6
lea rcx, [rbx + r12 + 0x20]
movabs rax, 0x4924924924924925
mov r8b, bpl
imul rcx
mov rcx, rbx
sar rdx, 4
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov dl, byte [rdx + r13]
call fcn.00671510
xor r11d, r11d
mov eax, 0x4000
test word [rbx + 0x24], ax
je 0x6744ca
cmp dword [rbx + 0x20], r11d
jle 0x6744ca
mov rcx, rbx
call fcn.0066d4f8
mov edx, esi
mov rcx, rbx
call fcn.0066fbcc
mov r10d, eax
mov eax, reloc.WS2_32.dll_inet_ntoa
cmp r10d, eax
jb 0x6744e9
lea ecx, [r10 - 0xc]
shr ecx, 1
jmp 0x6744f2
movzx ecx, byte [r10 + r14 + 0x38e3b8]
movsxd rax, ecx
mov rdx, r10
add r15, rax
xor r11d, r11d
lea r9d, [r11 + 1]
mov eax, r11d
shr rdx, 7
add eax, r9d
cmp rdx, r11
je 0x674516
cmp eax, 9
jl 0x674505
mov r8d, dword [rsp + 0x68]
add edi, eax
mov eax, 0x4000
test word [rbx + 0x24], ax
je 0x67452d
add r8d, dword [rbx]
jmp 0x674534
cmp ecx, r11d
cmovne r8d, r11d
add rbx, 0x38
mov dword [rsp + 0x68], r8d
cmp rbx, qword [rsp + 0x98]
jbe 0x67447a
mov rsi, qword [rsp + 0xb8]
mov rbp, qword [rsp + 0x140]
mov r14, qword [rsp + 0xa8]
mov r10, qword [rsp + 0x520]
jmp 0x674573
mov r9d, 1
movsxd rax, edi
mov ecx, r11d
shr rax, 7
add ecx, r9d
cmp rax, r11
je 0x67458a
cmp ecx, 9
jl 0x674579
add edi, ecx
mov eax, r11d
movsxd rdx, edi
shr rdx, 7
add eax, r9d
cmp rdx, r11
je 0x6745a3
cmp eax, 9
jl 0x674592
cmp ecx, eax
jge 0x6745a9
inc edi
movsxd rax, r8d
movsxd r12, edi
sub r12, rax
mov rax, qword [rsp + 0x58]
movsxd rax, dword [rax + 0x68]
add r12, r15
cmp r12, rax
mov qword [rsp + 0xa8], r12
jg 0x6760f6
movsxd r13, dword [rbp + rsi*8 + 0xc]
xor r8d, r8d
mov edx, r12d
imul r13, r13, 0x38
add r13, qword [r10 + 0x80]
mov rcx, r13
mov qword [rsp + 0x40], r13
call fcn.0066d394
xor r15d, r15d
cmp eax, r15d
jne 0x6761c4
mov rsi, qword [r13 + 0x18]
cmp edi, 0x80
jae 0x674613
mov byte [rsi], dil
lea eax, [r15 + 1]
jmp 0x67463d
test edi, 0xffffc000
jne 0x674633
mov eax, edi
shr eax, 7
or al, 0x80
and dil, 0x7f
mov byte [rsi], al
mov byte [rsi + 1], dil
mov eax, 2
jmp 0x67463d
mov edx, edi
mov rcx, rsi
call fcn.00660f84
mov rdi, qword [rsp + 0x98]
mov ebp, dword [rsp + 0x64]
movzx ebx, al
mov r11, r14
cmp r14, rdi
ja 0x6746e7
mov r15d, 2
mov edx, ebp
mov rcx, r11
call fcn.0066fbcc
movsxd rcx, ebx
mov r10d, eax
cmp eax, 0x80
jae 0x674680
mov byte [rcx + rsi], r10b
mov eax, 1
jmp 0x6746ab
add rcx, rsi
test r10d, 0xffffc000
jne 0x6746a3
mov eax, r10d
shr eax, 7
or al, 0x80
and r10b, 0x7f
mov byte [rcx], al
mov byte [rcx + 1], r10b
mov eax, r15d
jmp 0x6746ab
mov rdx, r10
call fcn.00660f84
movzx eax, al
add r11, 0x38
add ebx, eax
cmp r11, rdi
jbe 0x67465e
mov r12, qword [rsp + 0xa8]
xor r15d, r15d
jmp 0x6746e2
mov edx, r12d
movsxd rcx, ebx
mov r9d, ebp
sub edx, ebx
add rcx, rsi
mov r8, r14
call fcn.0066fc78
add ebx, eax
add r14, 0x38
cmp r14, rdi
jbe 0x6746c6
mov eax, 0x410
mov dword [r13 + 0x20], r12d
mov qword [r13 + 0x28], r15
mov word [r13 + 0x24], ax
mov eax, dword [rsp + 0x68]
cmp eax, r15d
je 0x674710
mov dword [r13], eax
mov eax, 0x4410
mov word [r13 + 0x24], ax
mov r14, qword [rsp + 0x520]
mov r15d, 1
jmp 0x673372
mov al, byte [r15 + 0x24]
or al, byte [r9 + 0x24]
test al, 1
je 0x67473c
mov rcx, r10
call fcn.0066d880
jmp 0x672c8f
mov esi, 0x4000
test word [r9 + 0x24], si
je 0x674755
mov rcx, r9
call fcn.0066d4f8
mov r9, qword [rsp + 0x48]
test byte [r9 + 0x24], 0x12
jne 0x67477a
movzx ebx, byte [rsp + 0x528]
mov rcx, r9
mov edx, ebx
call fcn.0066d5bc
xor ecx, ecx
cmp eax, ecx
jne 0x6761d1
jmp 0x674781
mov bl, byte [rsp + 0x528]
test word [r15 + 0x24], si
je 0x674790
mov rcx, r15
call fcn.0066d4f8
test byte [r15 + 0x24], 0x12
jne 0x6747ae
movzx edx, bl
mov rcx, r15
call fcn.0066d5bc
xor ecx, ecx
cmp eax, ecx
jne 0x6761d1
jmp 0x6747b0
xor ecx, ecx
mov r12, qword [rsp + 0x48]
mov eax, dword [r12 + 0x20]
add eax, dword [r15 + 0x20]
movsxd rbx, eax
movsxd rax, dword [rdi + 0x68]
cmp rbx, rax
jg 0x676103
mov r13, qword [rsp + 0x40]
mov eax, 0xbf02
mov r8d, ecx
and word [r13 + 0x24], ax
mov eax, 2
lea edx, [rbx + 2]
or word [r13 + 0x24], ax
cmp r13, r15
mov rcx, r13
sete r8b
call fcn.0066d394
xor ecx, ecx
cmp eax, ecx
jne 0x6761d1
cmp r13, r15
je 0x67481c
movsxd r8, dword [r15 + 0x20]
mov rdx, qword [r15 + 0x18]
mov rcx, qword [r13 + 0x18]
call fcn.006a4bf0
movsxd rcx, dword [r15 + 0x20]
movsxd r8, dword [r12 + 0x20]
mov rdx, qword [r12 + 0x18]
add rcx, qword [r13 + 0x18]
call fcn.006a4bf0
mov r11, qword [r13 + 0x18]
xor edx, edx
mov byte [rbx + r11], dl
mov rax, qword [r13 + 0x18]
mov r15d, 1
mov byte [rax + rbx + 1], dl
mov dl, byte [rsp + 0x528]
mov eax, 0x200
or word [r13 + 0x24], ax
mov dword [r13 + 0x20], ebx
mov r10, r13
mov byte [r13 + 0x27], dl
mov r9, r12
mov r11, qword [rsp + 0x50]
jmp case.0x6717f2.12
mov rcx, qword [rbp + rsi*8 + 0x10]
xor r15d, r15d
mov byte [rbp + rsi*8], 0x1d
mov rax, rcx
cmp byte [rcx], r15b
je 0x674891
inc rax
cmp byte [rax], r15b
jne 0x674889
sub eax, ecx
and eax, 0x3fffffff
mov dword [rbp + rsi*8 + 4], eax
cmp eax, dword [rdi + 0x68]
jg 0x676103
mov r15d, 1
mov eax, 0xa02
mov word [r10 + 0x24], ax
mov rax, qword [rbp + rsi*8 + 0x10]
mov qword [r10 + 0x18], rax
mov eax, dword [rbp + rsi*8 + 4]
mov byte [r10 + 0x27], dl
mov dword [r10 + 0x20], eax
jmp case.0x6717f2.12
sub ecx, 0x5f
je 0x674b60
mov r15d, 1
sub ecx, r15d
je 0x674a94
sub ecx, r15d
je 0x674a6e
sub ecx, 2
je 0x6749da
cmp ecx, r15d
jne case.0x6717f2.12
movsxd rax, dword [rbp + rsi*8 + 4]
xor edx, edx
lea rcx, [rax + rax*2]
mov rax, qword [rdi + 0x10]
add rcx, rcx
mov rax, qword [rax + rcx*8 + 8]
cmp rax, rdx
je 0x67494b
mov r8, qword [rax + 8]
mov rax, qword [rax]
lea rdx, [rsp + 0xe0]
mov ecx, r15d
mov qword [r8 + 8], rax
call fcn.0066bce8
mov ebx, dword [rsp + 0xe0]
xor edx, edx
mov dword [rsp + 0x538], eax
jmp 0x67495d
mov eax, edx
mov dword [rsp + 0x538], edx
mov ebx, edx
mov dword [rsp + 0xe0], edx
cmp eax, edx
jne 0x671929
cmp ebx, dword [rbp + rsi*8 + 8]
je 0x671929
mov rdx, qword [r14 + 0xb8]
mov rcx, rdi
call fcn.0065f6a0
lea rdx, str.database_schema_has_changed
mov rcx, rdi
call fcn.0065fa2c
mov qword [r14 + 0xb8], rax
movsxd rdx, dword [rbp + rsi*8 + 4]
mov rax, qword [rdi + 0x10]
lea rcx, [rdx + rdx*2]
add rcx, rcx
mov rcx, qword [rax + rcx*8 + 0x28]
cmp dword [rcx], ebx
je 0x6749b5
mov rcx, rdi
call fcn.0067eba0
mov rax, qword [rdi + 0xa8]
xor edx, edx
jmp 0x6749cb
mov byte [rax + 0xca], r15b
mov rax, qword [rax + 0x10]
cmp rax, rdx
jne 0x6749c0
mov eax, reloc.WS2_32.dll_recvfrom
jmp 0x6726ae
mov rcx, qword [rdi + 0x10]
mov edx, dword [rbp + rsi*8 + 4]
xor eax, eax
mov dword [rsp + 0xe8], eax
mov eax, dword [rbp + rsi*8 + 0xc]
neg eax
lea rax, [rsp + 0xe8]
sbb r8, r8
and r8, rax
movsxd rax, dword [rbp + rsi*8 + 8]
lea r9, [rax + rax*2]
add r9, r9
mov rcx, qword [rcx + r9*8 + 8]
call fcn.0066bbbc
xor edx, edx
mov dword [rsp + 0x538], eax
cmp dword [rbp + rsi*8 + 0xc], edx
je 0x671929
movsxd rax, dword [rsp + 0xe8]
mov r10, qword [rsp + 0x40]
mov r9, qword [rsp + 0x48]
add dword [r14 + 0xd0], eax
movsxd rcx, dword [rbp + rsi*8 + 0xc]
mov r11, qword [rsp + 0x50]
cmp ecx, edx
lea r12d, [rdx + 4]
jle 0x671e89
mov rdx, rcx
mov rcx, qword [r14 + 0x80]
imul rdx, rdx, 0x38
add qword [rdx + rcx], rax
jmp 0x671e89
mov eax, dword [rdi + 0x138]
xor ecx, ecx
cmp eax, ecx
je 0x672033
mov eax, 9
mov r15d, eax
mov dword [r14 + 0xa4], eax
mov ecx, eax
jmp 0x676191
mov r13, qword [rbp + rsi*8 + 0x10]
mov r14d, dword [rbp + rsi*8 + 4]
mov r15d, dword [rbp + rsi*8 + 8]
movsxd rbp, dword [rbp + rsi*8 + 0xc]
xor edx, edx
cmp rbp, rdx
mov r12d, edx
mov rbx, rdx
jle 0x674b45
lea rsi, [r13 + 0x18]
mov rax, qword [rsp + 0x118]
cmp rax, rdx
je 0x674acf
mov ecx, dword [rax + rbx*4]
jmp 0x674ad2
mov ecx, r12d
mov rax, qword [r13 + 0x10]
movzx edi, byte [rbx + rax]
mov rax, qword [rsp + 0x520]
mov r8, qword [rax + 0x80]
lea eax, [rcx + r15]
movsxd rdx, eax
lea eax, [rcx + r14]
movsxd rcx, eax
imul rdx, rdx, 0x38
add rdx, r8
imul rcx, rcx, 0x38
add rcx, r8
mov r8, qword [rsi]
call fcn.0066dc9c
xor edx, edx
mov r8d, eax
mov dword [rsp + 0x88], eax
cmp eax, edx
jne 0x674b31
lea eax, [rdx + 1]
add rsi, 8
add rbx, rax
add r12d, eax
cmp rbx, rbp
jl 0x674abd
jmp 0x674b40
cmp edi, edx
je 0x674b40
neg r8d
mov dword [rsp + 0x88], r8d
mov rdi, qword [rsp + 0x58]
mov qword [rsp + 0x118], rdx
mov r15d, 1
mov r14, qword [rsp + 0x520]
jmp 0x671929
movsxd rbx, dword [rbp + rsi*8 + 4]
mov rdx, qword [rbp + rsi*8 + 0x10]
imul rbx, rbx, 0x38
add rbx, qword [r14 + 0x80]
mov rcx, rbx
call fcn.0066d648
mov ecx, eax
mov dword [rsp + 0x538], eax
mov eax, 1
cmp ecx, eax
jne 0x674bb2
mov dl, al
mov rcx, rbx
call fcn.0066df9c
lea rcx, [r14 + 0xb8]
lea r8, [0x007c1184]
mov r9, rax
mov rdx, rdi
call fcn.0065fb00
test byte [rbx + 0x24], 0x12
je 0x674bd8
mov edx, dword [rbx + 0x20]
mov eax, 0x4000
test word [rbx + 0x24], ax
je 0x674bc8
add edx, dword [rbx]
mov rax, qword [rbx + 0x10]
xor ecx, ecx
cmp edx, dword [rax + 0x68]
setg cl
xor eax, eax
jmp 0x674bdc
xor eax, eax
mov ecx, eax
cmp ecx, eax
jmp 0x673de2
movsxd rcx, dword [rbp + rsi*8 + 8]
movzx r11d, byte [rbp + rsi*8 + 3]
mov r10, qword [r14 + 0x38]
imul rcx, rcx, 0x38
add rcx, qword [r14 + 0x80]
xor r15d, r15d
cmp r11, r15
mov rdx, r15
jle 0x674c1d
mov qword [r10 + rdx*8], rcx
call fcn.0067135c
inc rdx
add rcx, 0x38
cmp rdx, r11
jl 0x674c08
mov rax, qword [rbp + rsi*8 + 0x10]
mov ecx, 1
mov qword [rsp + 0x290], rax
movsxd rax, dword [rbp + rsi*8 + 0xc]
imul rax, rax, 0x38
add rax, qword [r14 + 0x80]
mov qword [rsp + 0x2d8], rax
add dword [rax + 0x20], ecx
mov r9, qword [rsp + 0x290]
lea eax, [rcx + 7]
mov word [rsp + 0x2c4], cx
mov qword [rsp + 0x2b8], r15
mov qword [rsp + 0x2d0], r15
mov qword [rsp + 0x2c8], r15
mov qword [rsp + 0x2b0], rdi
mov dword [rsp + 0x2e0], r15d
mov qword [rsp + 0x2e8], r15
test byte [r9 + 3], al
je 0x674ca0
mov rax, qword [rbp + rsi*8 - 8]
mov qword [rsp + 0x2e8], rax
lea rcx, [rsp + 0x290]
mov r8, r10
mov edx, r11d
call qword [r9 + 0x20]
cmp dword [rsp + 0x2e0], r15d
je 0x674cf2
lea rcx, [rsp + 0x2a0]
mov dl, 1
call fcn.0066df9c
lea rcx, [r14 + 0xb8]
lea r8, [0x007c1184]
mov r9, rax
mov rdx, rdi
call fcn.0065fb00
mov eax, dword [rsp + 0x2e0]
mov dword [rsp + 0x538], eax
lea rcx, [rsp + 0x2a0]
call fcn.0066d744
jmp 0x672c8f
cmp ecx, 0x6c
jg 0x675021
je 0x674fdd
sub ecx, 0x67
je 0x674f80
mov r15d, 1
sub ecx, r15d
je 0x674e5b
sub ecx, r15d
je 0x674e29
sub ecx, r15d
je 0x674dfa
cmp ecx, r15d
jne case.0x6717f2.12
mov eax, dword [rdi + 0x138]
xor r15d, r15d
cmp eax, r15d
jne 0x674a7e
movsxd rcx, dword [rbp + rsi*8 + 4]
mov rax, qword [r14 + 0x50]
mov rbx, qword [rax + rcx*8]
cmp rbx, r15
je 0x674def
mov rcx, qword [rbx]
mov dword [rsp + 0x84], 1
cmp byte [rbp + rsi*8], 0x6b
lea rdx, [rsp + 0x84]
jne 0x674d92
call fcn.00668e24
jmp 0x674d97
call fcn.00668f80
mov dword [rsp + 0x538], eax
mov al, byte [rsp + 0x84]
mov dword [rbx + 0x78], r15d
mov byte [rbx + 0x1c], al
cmp dword [rsp + 0x84], r15d
jne 0x674ddf
mov eax, dword [rbp + rsi*8 + 8]
dec eax
mov dword [rsp + 0x530], eax
mov al, byte [rbp + rsi*8 + 3]
cmp al, r15b
mov r15d, 1
je 0x674de5
movzx eax, al
add dword [r14 + rax*4 + 0x104], r15d
jmp 0x674de5
mov r15d, 1
xor eax, eax
mov byte [rbx + 0x19], al
jmp 0x671929
mov r12d, 4
jmp 0x6741c2
dec dword [r14 + 0x8c]
movsxd rcx, dword [r14 + 0x8c]
shl rcx, 4
add rcx, qword [r14 + 0x98]
mov rax, qword [rcx]
mov qword [rdi + 0x40], rax
mov eax, dword [rcx + 8]
mov dword [r14 + 0xd0], eax
jmp case.0x6717f2.12
mov eax, 2
mov rcx, rdi
mov byte [r14 + 0xcc], al
mov r8, qword [rbp + rsi*8 + 0x10]
mov edx, dword [rbp + rsi*8 + 4]
call fcn.00694b64
mov dword [rsp + 0x538], eax
xor eax, eax
mov byte [r14 + 0xcc], al
jmp 0x671929
mov rax, qword [r14 + 0x50]
movsxd rcx, dword [rbp + rsi*8 + 4]
movsxd r8, dword [rbp + rsi*8 + 0xc]
imul r8, r8, 0x38
add r8, qword [r14 + 0x80]
mov r15, qword [rax + rcx*8]
mov rax, qword [rsp + 0x520]
mov r13, qword [r15 + 0x68]
movsxd rdi, dword [r8 + 0x38]
mov r9, qword [rax + 0x38]
mov rbx, qword [r13]
mov r12d, dword [r8]
xor eax, eax
cmp rdi, rax
mov r14, qword [rbx]
mov r10, rax
jle 0x674ece
lea esi, [rax + 1]
mov r11d, esi
movsxd rax, r11d
imul rax, rax, 0x38
lea rcx, [rax + r8 + 0x38]
mov qword [r9 + r10*8], rcx
call fcn.0067135c
add r10, rsi
add r11d, esi
cmp r10, rdi
jl 0x674ea6
mov rsi, qword [rsp + 0xb8]
mov rdx, qword [rsp + 0x520]
mov eax, 1
mov qword [rsp + 0x20], r9
add dword [rbx + 8], eax
mov byte [rdx + 0xcc], al
mov r8, qword [rbp + rsi*8 + 0x10]
mov r9d, edi
mov edx, r12d
mov rcx, r13
call qword [r14 + 0x40]
mov r12, qword [rsp + 0x520]
mov rcx, qword [rsp + 0x58]
mov rdx, qword [r12 + 0xb8]
mov edi, eax
mov dword [rsp + 0x538], eax
xor eax, eax
mov byte [r12 + 0xcc], al
call fcn.0065f6a0
mov rax, qword [rbx + 0x10]
mov qword [r12 + 0xb8], rax
xor r12d, r12d
add dword [rbx + 8], 0xffffffff
mov qword [rbx + 0x10], r12
jne 0x674f56
mov rax, qword [rsp + 0x58]
mov rcx, rbx
cmp dword [rax + 0x50], 0xf03b7906
mov rax, qword [rbx]
call qword [rax + 0x20]
cmp edi, r12d
jne 0x674f77
mov rcx, r13
call qword [r14 + 0x50]
cmp eax, r12d
je 0x674f77
mov r10d, dword [rbp + rsi*8 + 8]
dec r10d
mov dword [rsp + 0x530], r10d
mov byte [r15 + 0x1c], r12b
jmp 0x672590
movsxd rax, dword [rbp + rsi*8 + 4]
lea rcx, [rax + rax*2]
mov rax, qword [rdi + 0x10]
add rcx, rcx
mov rcx, qword [rax + rcx*8 + 8]
xor eax, eax
cmp rcx, rax
je 0x675fe5
mov edx, dword [rbp + rsi*8 + 8]
call fcn.00667b34
mov ecx, 5
mov r15d, eax
mov dword [rsp + 0x538], eax
cmp eax, ecx
je 0x676129
xor r11d, r11d
cmp eax, r11d
je 0x672c8f
lea eax, [rcx + 3]
cmp r15d, eax
jne 0x676172
jmp 0x672c8f
movsxd rcx, dword [rbp + rsi*8 + 4]
mov rax, qword [r14 + 0x50]
lea rdx, [rsp + 0x1a0]
mov rcx, qword [rax + rcx*8]
mov rcx, qword [rcx]
call fcn.0066be04
mov r10, qword [rsp + 0x40]
mov r12d, 4
mov dword [rsp + 0x538], eax
mov rax, qword [rsp + 0x1a0]
mov word [r10 + 0x24], r12w
mov qword [r10], rax
jmp 0x674190
sub ecx, 0x6d
je 0x67532d
mov r15d, 1
sub ecx, r15d
je case.0x6717f2.55
sub ecx, r15d
je 0x675154
sub ecx, r15d
je 0x6750b1
cmp ecx, r15d
jne case.0x6717f2.12
mov ecx, dword [rbp + rsi*8 + 4]
mov edx, dword [rbp + rsi*8 + 0xc]
xor eax, eax
cmp ecx, eax
jge 0x675067
or eax, 0xffffffff
sub eax, ecx
neg edx
mov ecx, eax
movsxd rax, ecx
lea rcx, [rax + rax*2]
mov rax, qword [rdi + 0x10]
add rcx, rcx
mov rax, qword [rax + rcx*8 + 8]
lea ecx, [rdx + 1]
lea rdx, [rsp + 0xf8]
mov r8, qword [rax + 8]
mov rax, qword [rax]
mov qword [r8 + 8], rax
call fcn.0066bce8
mov dword [rsp + 0x538], eax
movsxd rax, dword [rsp + 0xf8]
mov r10, qword [rsp + 0x40]
mov qword [r10], rax
jmp 0x671c2e
mov rax, qword [rdi + 0xa8]
xor r8d, r8d
mov ecx, r8d
cmp rax, r8
je 0x67510b
cmp dword [rax + 0x74], 0xbdf20da3
mov ebx, 2
jne 0x6750e5
cmp byte [rax + 0xcc], bl
jae 0x6750e5
cmp dword [rax + 0xa0], r8d
jl 0x6750e5
add ecx, r15d
mov rax, qword [rax + 0x10]
cmp rax, r8
jne 0x6750c3
cmp ecx, r15d
jle 0x67510b
mov eax, 6
mov dword [r14 + 0xa8], ebx
mov dword [rsp + 0x538], eax
jmp case.0x6717f2.12
movsxd rax, dword [rbp + rsi*8 + 0xc]
mov rcx, qword [rdi + 0x10]
mov edx, dword [rbp + rsi*8 + 4]
lea r9, [rax + rax*2]
lea r8, [rsp + 0x128]
add r9, r9
mov rcx, qword [rcx + r9*8 + 8]
call fcn.0066bc1c
mov r10, qword [rsp + 0x40]
mov dword [rsp + 0x538], eax
mov eax, 0xbf04
and word [r10 + 0x24], ax
movsxd rax, dword [rsp + 0x128]
jmp 0x6735bf
mov rax, qword [r14 + 0x80]
movsxd rcx, dword [rbp + rsi*8 + 4]
movsxd rdi, dword [rbp + rsi*8 + 8]
imul rdi, rdi, 0x38
movsxd rdx, dword [rbp + rsi*8 + 0xc]
add rdi, rax
imul rdx, rdx, 0x38
add rdx, rax
mov rax, qword [r14 + 0x50]
mov rbx, qword [rax + rcx*8]
mov r12, qword [rdx]
mov rcx, r15
test byte [rbp + rsi*8 + 3], cl
je 0x675193
add dword [r14 + 0xd0], ecx
mov r8, qword [rsp + 0x58]
mov eax, 2
test byte [rbp + rsi*8 + 3], al
je 0x6751aa
mov rax, qword [rdx]
mov qword [r8 + 0x40], rax
xor r15d, r15d
test byte [rdi + 0x24], cl
je 0x6751ba
mov qword [rdi + 0x18], r15
mov dword [rdi + 0x20], r15d
cmp byte [rbx + 0x1d], r15b
je 0x675256
cmp byte [rbx + 0x1e], r15b
jne 0x6751d6
mov rdx, qword [rbx + 0x40]
mov rcx, r8
call fcn.0065f6a0
mov qword [rbx + 0x48], r12
mov ecx, dword [rdi + 0x20]
mov dword [rbx + 0x38], ecx
mov rax, qword [rdi + 0x18]
cmp rax, qword [rdi + 0x30]
je 0x675230
cmp byte [rbx + 0x1e], r15b
jne 0x675230
add ecx, 2
call fcn.0065f4f8
mov qword [rbx + 0x40], rax
cmp rax, r15
je 0x6761cc
movsxd r8, dword [rbx + 0x38]
mov rdx, qword [rdi + 0x18]
mov rcx, rax
call fcn.006a4bf0
mov rax, qword [rbx + 0x40]
movsxd r11, dword [rbx + 0x38]
mov byte [r11 + rax], r15b
movsxd rcx, dword [rbx + 0x38]
mov rax, qword [rbx + 0x40]
mov byte [rcx + rax + 1], r15b
jmp 0x675250
mov qword [rbx + 0x40], rax
cmp byte [rbx + 0x1e], r15b
jne 0x675250
mov eax, 0xfbff
mov qword [rdi + 0x30], r15
and word [rdi + 0x24], ax
mov eax, 0x1000
or word [rdi + 0x24], ax
mov byte [rbx + 0x1c], r15b
jmp 0x6752be
mov eax, 0x4000
test word [rdi + 0x24], ax
je 0x675266
mov r8d, dword [rdi]
jmp 0x675269
mov r8d, r15d
mov rdx, qword [rbx]
mov rax, qword [rdx + 8]
mov rcx, qword [rax + 0x10]
jmp 0x675286
mov eax, dword [rdx + 0x28]
cmp dword [rcx + 0x28], eax
jne 0x675282
mov qword [rcx + 0x30], r15
mov rcx, qword [rcx + 0x10]
cmp rcx, r15
jne 0x675276
movzx eax, byte [rbp + rsi*8 + 3]
mov r9, qword [rdi + 0x18]
mov rcx, qword [rbx]
and eax, 8
xor edx, edx
mov dword [rsp + 0x30], eax
mov eax, dword [rdi + 0x20]
mov dword [rsp + 0x28], r8d
mov r8, r12
mov dword [rsp + 0x20], eax
call fcn.0066b278
mov r13d, eax
mov dword [rsp + 0x538], eax
mov rdi, qword [rsp + 0x58]
mov byte [rbx + 0x19], r15b
mov byte [rbx + 0x1f], r15b
mov dword [rbx + 0x78], r15d
cmp r13d, r15d
jne 0x672c8f
mov r10, qword [rdi + 0x100]
cmp r10, r15
je 0x672c8f
mov r9, qword [rbp + rsi*8 + 0x10]
cmp r9, r15
je 0x672c8f
movsxd rax, dword [rbx + 8]
mov r8, qword [rdi + 0x10]
mov qword [rsp + 0x20], r12
lea rcx, [rax + rax*2]
mov al, byte [rbp + rsi*8 + 3]
add rcx, rcx
and al, 4
mov r8, qword [r8 + rcx*8]
mov rcx, qword [rdi + 0xf8]
neg al
sbb edx, edx
and edx, 5
add edx, 0x12
call r10
jmp 0x672c8f
mov rax, qword [r14 + 0x50]
movsxd rcx, dword [rbp + rsi*8 + 4]
mov rbx, qword [rax + rcx*8]
xor eax, eax
mov rdi, qword [rbx]
cmp rdi, rax
je 0x675fd5
mov eax, 0x4000
test word [r15 + 0x24], ax
je 0x675367
mov rcx, r15
call fcn.0066d4f8
xor edx, edx
mov dword [rsp + 0x538], eax
jmp 0x675372
xor edx, edx
mov eax, edx
mov dword [rsp + 0x538], edx
cmp eax, edx
jne 0x67191e
mov eax, dword [rbp + rsi*8 + 0xc]
movsxd r8, dword [r15 + 0x20]
lea r9, [0x007986b0]
mov dword [rsp + 0x30], eax
mov dword [rsp + 0x28], edx
mov dword [rsp + 0x20], edx
mov rdx, qword [r15 + 0x18]
mov rcx, rdi
call fcn.0066b278
mov dword [rsp + 0x538], eax
xor eax, eax
mov dword [rbx + 0x78], eax
jmp 0x67191e
mov edx, dword [rbp + rsi*8 + 4]
mov rcx, rdi
call fcn.0067dc80
mov dword [rsp + 0x538], eax
jmp 0x672c8f
cmp ecx, 0x80
jg 0x675d83
je 0x675c92
cmp ecx, 0x7a
jg 0x675723
je 0x673467
sub ecx, 0x74
mov r15d, 1
je 0x675639
sub ecx, r15d
je 0x6755f7
sub ecx, r15d
je 0x6754d4
sub ecx, 2
je 0x675450
cmp ecx, r15d
jne case.0x6717f2.12
mov r8d, dword [rbp + rsi*8 + 4]
mov rdx, qword [rbp + rsi*8 + 0x10]
xor eax, eax
xor r9d, r9d
mov rcx, r10
mov qword [rsp + 0x20], rax
call fcn.0066db0c
mov r10, qword [rsp + 0x40]
mov dl, byte [rsp + 0x528]
mov r9, qword [rsp + 0x48]
mov byte [r10 + 0x27], dl
jmp 0x67486a
mov rax, qword [r14 + 0x80]
movsxd r9, dword [rbp + rsi*8 + 4]
movsxd r13, dword [rbp + rsi*8 + 8]
imul r9, r9, 0x38
imul r13, r13, 0x38
mov edi, dword [rbp + rsi*8 + 0xc]
add r9, rax
add r13, rax
xor eax, eax
mov qword [rsp + 0x48], r9
mov qword [rsp + 0x40], r13
cmp edi, eax
je 0x675ffd
xor r14d, r14d
mov rbx, qword [r13 + 0x30]
mov rdx, r9
mov rcx, r13
dec edi
mov qword [r13 + 0x30], r14
call fcn.0066dac4
mov r9, qword [rsp + 0x48]
add r13, 0x38
add r9, 0x38
mov qword [r9 - 8], rbx
mov qword [rsp + 0x48], r9
cmp edi, r14d
jne 0x67548a
mov r14, qword [rsp + 0x520]
mov rdi, qword [rsp + 0x58]
mov qword [rsp + 0x40], r13
mov r10, r13
jmp 0x671933
mov r8d, dword [rbp + rsi*8 + 8]
mov edx, dword [rbp + rsi*8 + 4]
or r9d, 0xffffffff
mov rcx, r14
mov dword [rsp + 0x20], r15d
call fcn.00671388
xor r15d, r15d
mov rbx, rax
cmp rax, r15
je 0x6761d1
mov rcx, qword [rsp + 0x58]
lea eax, [r15 + 1]
lea rdi, [rbx + 0x30]
mov r8d, eax
mov r9d, 0x1f4
xor edx, edx
mov qword [rsp + 0x28], rdi
mov byte [rbx + 0x1c], al
mov dword [rsp + 0x20], 0x41e
call fcn.0069cd6c
mov dword [rsp + 0x538], eax
cmp eax, r15d
jne 0x6755e8
mov rcx, qword [rdi]
lea edx, [r15 + 1]
call fcn.00667b34
mov dword [rsp + 0x538], eax
cmp eax, r15d
jne 0x6755e8
mov rcx, qword [rdi]
cmp qword [rbp + rsi*8 + 0x10], r15
je 0x6755c4
lea r8d, [r15 + 2]
lea rdx, [rsp + 0x134]
call fcn.0066b950
mov dword [rsp + 0x538], eax
cmp eax, r15d
jne 0x6755be
mov rax, qword [rbx]
mov r9, qword [rbp + rsi*8 + 0x10]
mov edx, dword [rsp + 0x134]
mov rcx, qword [rdi]
lea r8d, [r15 + 1]
mov qword [rsp + 0x20], rax
call fcn.00667d9c
mov rdx, qword [rbp + rsi*8 + 0x10]
mov qword [rbx + 0x50], rdx
mov dword [rsp + 0x538], eax
mov rax, qword [r14]
mov rcx, qword [rax + 0x10]
mov rax, qword [rcx + 0x28]
mov cl, byte [rax + 0x71]
mov byte [rdx + 8], cl
mov byte [rbx + 0x20], r15b
jmp 0x6755e8
mov rax, qword [rbx]
xor r9d, r9d
mov qword [rsp + 0x20], rax
lea eax, [r9 + 1]
mov r8d, eax
mov edx, eax
call fcn.00667d9c
mov byte [rbx + 0x20], 1
mov dword [rsp + 0x538], eax
cmp byte [rbx + 0x20], r15b
sete al
mov byte [rbx + 0x21], al
jmp 0x67191e
mov r8d, dword [rbp + rsi*8 + 0xc]
mov edx, dword [rbp + rsi*8 + 4]
xor eax, eax
or r9d, 0xffffffff
mov rcx, r14
mov dword [rsp + 0x20], eax
call fcn.00671388
xor edx, edx
cmp rax, rdx
je 0x6761d1
mov rcx, r15
mov byte [rax + 0x1c], cl
mov byte [rax + 0x1d], cl
mov cl, byte [rbp + rsi*8 + 8]
mov byte [rax + 0x20], r15b
mov byte [rax + 0x21], dl
mov byte [rax + 0x1e], cl
jmp 0x671929
test byte [r11 + 0x24], r15b
je case.0x6717f2.12
mov eax, dword [rbp + rsi*8 + 4]
mov dword [r14 + 0xa4], eax
mov eax, dword [rsp + 0x530]
mov dword [r14 + 0xa0], eax
mov eax, dword [rbp + rsi*8 + 8]
mov dword [r14 + 0xa8], eax
mov r9, qword [rbp + rsi*8 + 0x10]
xor eax, eax
cmp r9, rax
je 0x675689
lea rcx, [r14 + 0xb8]
lea r8, [0x007c1184]
mov rdx, rdi
call fcn.0065fb00
mov rcx, r14
call fcn.0066f518
mov ecx, 5
cmp eax, ecx
je 0x6760a2
mov eax, dword [r14 + 0xa4]
neg eax
sbb eax, eax
and eax, 0xffffff9c
add eax, 0x65
jmp 0x676212
mov rcx, rdi
mov r12d, r15d
mov dword [rsp + 0xa0], r15d
call fcn.0066882c
mov dword [rsp + 0x538], eax
jmp 0x6756d8
mov r12d, dword [rsp + 0xa0]
cmp r12d, r15d
mov byte [rbx + 0x1f], r15b
mov dword [rbx + 0x78], r15d
sete al
mov byte [rbx + 0x19], r15b
mov r15d, 1
mov byte [rbx + 0x1a], al
jmp 0x675706
mov r15d, 1
mov r12d, r15d
mov dword [rsp + 0xa0], r15d
mov rdi, qword [rsp + 0x58]
mov r11, qword [rsp + 0x50]
xor eax, eax
cmp r12d, eax
mov byte [rbx + 0x1c], r12b
mov r9, qword [rsp + 0x48]
jmp 0x671fe8
sub ecx, 0x7b
mov r15d, 1
je case.0x6717f2.55
sub ecx, r15d
je 0x6758e4
sub ecx, r15d
je 0x67580c
sub ecx, r15d
je 0x675802
cmp ecx, r15d
jne case.0x6717f2.12
movsxd rax, dword [rbp + rsi*8 + 4]
mov r12, qword [rsp + 0x58]
mov rdx, qword [rbp + rsi*8 + 0x10]
mov r8, qword [r12 + 0x10]
lea rcx, [rax + rax*2]
lea rdi, [r14 + 0xb8]
add rcx, rcx
mov r8, qword [r8 + rcx*8]
mov rcx, r12
call fcn.0067e8d8
mov rbx, rax
mov r8, qword [rax + 0x60]
mov rcx, qword [rax + 0x78]
xor eax, eax
cmp r8, rax
jne 0x6757bb
mov r8, qword [rcx]
lea rdx, str.no_such_module:__s
mov rcx, r12
call fcn.0066059c
mov dword [rsp + 0x538], r15d
mov qword [rdi], rax
mov rdi, r12
jmp 0x671929
mov r9, qword [r8]
mov rdx, rbx
mov rcx, r12
mov r9, qword [r9 + 8]
mov qword [rsp + 0x20], rdi
mov rdi, r12
call fcn.006946f8
xor r9d, r9d
mov dword [rsp + 0x538], eax
cmp eax, r9d
jne 0x671929
mov rdx, qword [rbx + 0x68]
cmp rdx, r9
je 0x671929
mov rcx, r12
call fcn.0069497c
jmp 0x6726ae
xor eax, eax
cmp qword [r9], rax
jmp 0x672043
mov rbx, qword [rbp + rsi*8 + 0x10]
movsxd rdx, dword [rbp + rsi*8 + 8]
xor eax, eax
mov r11, qword [rbx]
cmp qword [r11 + 0x68], rax
jne 0x67582d
lea r8, str.read_only_table
jmp 0x672a75
movsxd rcx, dword [rbp + rsi*8 + 0xc]
mov r10, qword [r14 + 0x38]
xor r15d, r15d
mov r8, r15
imul rcx, rcx, 0x38
add rcx, qword [r14 + 0x80]
cmp rdx, r15
jle 0x675861
call fcn.0067135c
mov qword [r10 + r8*8], rcx
inc r8
add rcx, 0x38
cmp r8, rdx
jl 0x67584c
inc dword [rbx + 8]
lea r9, [rsp + 0x170]
mov r8, r10
mov rcx, rbx
call qword [r11 + 0x68]
mov r12, qword [rsp + 0x58]
mov rdx, qword [r14 + 0xb8]
mov rcx, r12
mov edi, eax
mov dword [rsp + 0x538], eax
call fcn.0065f6a0
mov rax, qword [rbx + 0x10]
mov qword [r14 + 0xb8], rax
add dword [rbx + 8], 0xffffffff
mov qword [rbx + 0x10], r15
jne 0x6758b1
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x20]
cmp dword [rbp + rsi*8 + 4], r15d
je 0x6758cf
cmp edi, r15d
mov rdi, r12
jne 0x6758d2
mov rax, qword [rsp + 0x170]
mov qword [r12 + 0x40], rax
jmp 0x6758d2
mov rdi, r12
mov r15d, 1
add dword [r14 + 0xd0], r15d
jmp 0x671929
mov edx, dword [rdi + 0x190]
mov rbx, qword [rbp + rsi*8 + 0x10]
xor eax, eax
cmp edx, eax
mov dword [rsp + 0x538], eax
jle 0x67590f
cmp qword [rdi + 0x188], rax
jne 0x67590f
mov eax, 6
xor r15d, r15d
jmp 0x675976
cmp rbx, rax
jne 0x675920
mov dword [rsp + 0x538], eax
jmp 0x671938
mov rax, qword [rbx]
xor r15d, r15d
mov r8, qword [rax + 0x70]
cmp r8, r15
je 0x67597d
cmp edx, r15d
mov ecx, r15d
jle 0x675959
mov rax, qword [rdi + 0x188]
lea edx, [r15 + 8]
cmp qword [rax], r15
je 0x675959
cmp qword [rax], rbx
je 0x6759a9
inc ecx
add rax, rdx
cmp ecx, dword [rdi + 0x190]
jl 0x675942
mov rcx, rbx
call r8
mov dword [rsp + 0x538], eax
cmp eax, r15d
jne 0x67597d
mov rdx, rbx
mov rcx, rdi
call fcn.0069497c
mov dword [rsp + 0x538], eax
cmp rbx, r15
je 0x672c8f
mov rdx, qword [r14 + 0xb8]
mov rcx, rdi
call fcn.0065f6a0
mov rax, qword [rbx + 0x10]
mov qword [r14 + 0xb8], rax
mov qword [rbx + 0x10], r15
jmp 0x672c8f
mov dword [rsp + 0x538], r15d
jmp 0x67597d
movsxd rcx, dword [rbp + rsi*8 + 4]
mov rax, qword [r14 + 0x50]
mov rbx, qword [rax + rcx*8]
xor eax, eax
mov rcx, qword [rbx]
cmp rcx, rax
je 0x675c8a
mov byte [rbx + 0x1c], al
cmp byte [rbx + 0x20], al
je 0x675ba6
mov rcx, r11
call fcn.00671480
mov rcx, qword [rsp + 0x50]
call fcn.0066d774
mov r11, qword [rsp + 0x50]
xor edx, edx
mov rdi, rax
lea eax, [rdx + 4]
mov byte [rbx + 0x19], dl
test byte [r11 + 0x24], al
jne 0x675b17
lea eax, [rdx + 8]
test byte [r11 + 0x24], al
jne 0x675a33
mov r10d, dword [rbp + rsi*8 + 8]
sub r10d, r15d
mov dword [rsp + 0x530], r10d
mov rdi, qword [rsp + 0x58]
mov r10, qword [rsp + 0x40]
mov r9, qword [rsp + 0x48]
jmp 0x671938
movabs rcx, 0x8000000000000000
cmp rdi, rcx
jne 0x675af7
mov rax, qword [r11 + 8]
cmp rax, rcx
jl 0x675a58
cmp rax, rdx
jle 0x675af7
cmp rax, rdx
mov dword [rsp + 0x60], r15d
jge 0x675ab2
cmp r12d, 0x7b
je 0x675a6e
cmp r12d, 0x6e
jne 0x675a0f
mov rbx, qword [rbx]
mov rcx, rbx
call fcn.006686d0
xor r11d, r11d
mov dword [rsp + 0x538], eax
cmp eax, r11d
jne 0x676153
cmp byte [rbx + 0x5b], r11b
jne 0x675aa3
mov dword [rsp + 0x60], 1
mov eax, r11d
lea r15d, [r11 + 1]
jmp 0x675ad2
mov rcx, rbx
mov dword [rsp + 0x60], r11d
call fcn.0066882c
jmp 0x675acf
cmp r12d, 0x4f
je 0x675ac2
cmp r12d, 0x38
jne 0x675a0f
mov rcx, qword [rbx]
lea rdx, [rsp + 0x60]
call fcn.00668968
xor r11d, r11d
mov dword [rsp + 0x538], eax
cmp eax, r11d
jne 0x676153
cmp dword [rsp + 0x60], r11d
mov r11, qword [rsp + 0x50]
je 0x675a1f
jmp 0x675a0f
cmp r12d, 0x4f
je 0x675b0e
cmp r12d, 0x6e
je 0x675b0e
cmp qword [r11 + 8], rdi
jge 0x675b17
dec rdi
jmp 0x675b17
cmp qword [r11 + 8], rdi
jle 0x675b17
inc rdi
mov rcx, qword [rbx]
lea rax, [rsp + 0x60]
xor r9d, r9d
mov r8, rdi
mov qword [rsp + 0x20], rax
call fcn.006689c4
xor r11d, r11d
mov r15d, eax
mov dword [rsp + 0x538], eax
cmp eax, r11d
jne 0x67616d
mov eax, dword [rsp + 0x60]
lea r15d, [r11 + 1]
cmp eax, r11d
jne 0x675b5a
mov byte [rbx + 0x19], r15b
mov qword [rbx + 0x10], rdi
mov rdi, qword [rsp + 0x58]
mov byte [rbx + 0x1f], r11b
mov dword [rbx + 0x78], r11d
cmp r12d, 0x6e
je 0x675c40
cmp r12d, 0x7b
je 0x675c40
cmp eax, r11d
jg 0x675c31
jne 0x675b90
cmp r12d, 0x4f
je 0x675c31
mov rax, qword [rbx]
mov ecx, r11d
cmp byte [rax + 0x5b], r15b
setne cl
mov dword [rsp + 0x60], ecx
jmp 0x675c7b
mov rax, qword [rbx + 0x50]
mov qword [rsp + 0x150], rax
movzx eax, word [rbp + rsi*8 + 0x10]
mov word [rsp + 0x158], ax
cmp r12d, 0x7b
je 0x675bcf
cmp r12d, 0x38
je 0x675bcf
xor eax, eax
jmp 0x675bd4
mov eax, 8
mov word [rsp + 0x15a], ax
movsxd rax, dword [rbp + rsi*8 + 0xc]
lea rdx, [rsp + 0x150]
xor r9d, r9d
xor r8d, r8d
imul rax, rax, 0x38
add rax, qword [r14 + 0x80]
mov qword [rsp + 0x160], rax
lea rax, [rsp + 0x60]
mov qword [rsp + 0x20], rax
call fcn.006689c4
xor r11d, r11d
mov dword [rsp + 0x538], eax
cmp eax, r11d
jne 0x676149
mov eax, dword [rsp + 0x60]
mov byte [rbx + 0x19], r11b
jmp 0x675b5f
mov rcx, qword [rbx]
lea rdx, [rsp + 0x60]
call fcn.00668f80
jmp 0x675c64
cmp eax, r11d
jl 0x675c57
jne 0x675c4d
cmp r12d, 0x7b
je 0x675c57
mov dword [rsp + 0x60], r11d
jmp 0x671929
mov rcx, qword [rbx]
lea rdx, [rsp + 0x60]
call fcn.00668e24
xor r11d, r11d
mov dword [rsp + 0x538], eax
cmp eax, r11d
jne 0x676149
mov byte [rbx + 0x19], r11b
mov r9, qword [rsp + 0x48]
cmp dword [rsp + 0x60], r11d
jmp 0x671fe3
cmp byte [rbx + 0x1d], al
jmp 0x672043
mov r15d, 1
movsxd rcx, dword [rbp + rsi*8 + 4]
mov rax, qword [r14 + 0x50]
xor r9d, r9d
mov rdi, qword [rax + rcx*8]
mov edx, r9d
cmp qword [rdi], r9
je 0x675d45
mov r8, qword [r11 + 0x18]
mov edx, dword [r11 + 0x20]
mov rcx, qword [rdi + 0x50]
lea r9, [rsp + 0x350]
mov dword [rsp + 0x20], 0x180
call fcn.0066ff38
mov rbx, rax
xor eax, eax
cmp rbx, rax
je 0x6761cc
cmp byte [rbp + rsi*8], 0x80
jne 0x675cf3
mov eax, reloc.WS2_32.dll_recv
or word [rbx + 0xa], ax
mov rcx, qword [rdi]
lea rax, [rsp + 0x120]
xor r9d, r9d
xor r8d, r8d
mov rdx, rbx
mov qword [rsp + 0x20], rax
call fcn.006689c4
mov rcx, rbx
mov r12d, eax
mov dword [rsp + 0x538], eax
call fcn.006700bc
xor r9d, r9d
cmp r12d, r9d
jne 0x671924
cmp dword [rsp + 0x120], r9d
mov edx, r9d
mov byte [rdi + 0x1f], r9b
sete dl
mov dword [rdi + 0x78], r9d
cmp byte [rbp + rsi*8], 0x80
mov rdi, qword [rsp + 0x58]
mov r11, qword [rsp + 0x50]
mov r12d, 4
jne 0x675d69
cmp edx, r9d
mov r9, qword [rsp + 0x48]
jmp 0x671fee
cmp edx, r9d
mov r9, qword [rsp + 0x48]
mov dl, byte [rsp + 0x528]
jne 0x672007
jmp 0x671ff7
cmp ecx, 0x8d
mov r15d, 1
jg 0x675ecc
je 0x675e66
sub ecx, 0x81
je 0x675e52
sub ecx, r15d
je 0x675e37
sub ecx, r15d
je 0x675dfe
sub ecx, r15d
je 0x675dd9
lea r12d, [r15 + 3]
cmp ecx, r15d
jne 0x671854
mov rax, qword [rbp + rsi*8 + 0x10]
mov qword [rsp + 0x118], rax
jmp 0x671854
xor eax, eax
cmp r8d, eax
jge 0x675de9
mov eax, dword [rbp + rsi*8 + 4]
jmp 0x672037
mov r12d, 4
je 0x671817
mov eax, dword [rbp + rsi*8 + 0xc]
jmp 0x67181b
mov rax, qword [r14 + 0x50]
movsxd rcx, dword [rbp + rsi*8 + 4]
mov rdx, qword [rax + rcx*8]
xor eax, eax
mov rbx, qword [rdx]
mov byte [rdx + 0x1c], r15b
mov byte [rdx + 0x19], al
cmp rbx, rax
je 0x671938
mov rcx, qword [rbx + 0x60]
call fcn.0065f654
xor eax, eax
mov qword [rbx + 0x60], rax
mov byte [rbx + 0x5b], al
jmp 0x671929
mov eax, 8
mov word [r10 + 0x24], ax
mov rax, qword [rbp + rsi*8 + 0x10]
mov rcx, qword [rax]
mov qword [r10 + 8], rcx
jmp case.0x6717f2.12
xor eax, eax
cmp qword [r9], rax
lea r12d, [rax + 4]
jle 0x671854
jmp 0x671817
test byte [r9 + 0x24], r15b
jne 0x67600a
movzx eax, word [r9 + 0x24]
mov r8b, dl
mov rcx, r9
shr ax, 3
mov dl, 0x61
and ax, 2
or ax, word [r9 + 0x24]
mov word [r9 + 0x24], ax
call fcn.00671510
mov r9, qword [rsp + 0x48]
mov eax, 0x4000
test word [r9 + 0x24], ax
je 0x675eb4
mov rcx, r9
call fcn.0066d4f8
mov r9, qword [rsp + 0x48]
jmp 0x675eb6
xor eax, eax
mov dword [rsp + 0x538], eax
mov eax, 0xbfe3
and word [r9 + 0x24], ax
jmp 0x671c5d
sub ecx, 0x8e
je 0x675f7d
sub ecx, r15d
je 0x675f36
sub ecx, r15d
je 0x675f1f
cmp ecx, r15d
jne case.0x6717f2.12
test byte [r9 + 0x24], r15b
jne case.0x6717f2.12
mov rcx, r9
call fcn.0066d7f4
mov r9, qword [rsp + 0x48]
mov qword [r9 + 8], rax
mov eax, 0xbf08
and word [r9 + 0x24], ax
mov eax, 8
or word [r9 + 0x24], ax
jmp 0x671c5d
test byte [r9 + 0x24], r15b
jne case.0x6717f2.12
mov rcx, r9
call fcn.0066d858
jmp 0x671929
test byte [r9 + 0x24], 0xd
jne case.0x6717f2.12
mov rcx, r9
call fcn.0066d7f4
movabs rbx, 0x8000000000000000
cmp rax, rbx
jge 0x675f5d
mov rcx, rbx
jmp 0x675f71
movabs rdx, 0x7fffffffffffffff
mov rcx, rax
cmp rax, rdx
cmovg rcx, rbx
cmp rax, rcx
jne 0x675efd
mov rcx, qword [rsp + 0x48]
jmp 0x675f2c
mov ax, word [r9 + 0x24]
test r15b, al
jne case.0x6717f2.12
mov esi, reloc.WS2_32.dll_recv
test sil, al
jne 0x675fc3
mov r8b, dl
mov rcx, r9
mov dl, 0x61
call fcn.00671510
mov r9, qword [rsp + 0x48]
mov eax, 0xbf10
movzx r11d, word [r9 + 0x24]
and r11w, ax
or r11w, si
mov word [r9 + 0x24], r11w
jmp 0x671c5d
mov ecx, 0xff10
and ax, cx
mov word [r9 + 0x24], ax
jmp case.0x6717f2.12
mov r15d, 1
mov rdi, qword [rsp + 0x58]
jmp case.0x6717f2.12
mov r15d, 1
jmp case.0x6717f2.12
mov r14, qword [rsp + 0x520]
jmp 0x675a1f
mov rdi, qword [rsp + 0x58]
mov r10, r13
jmp case.0x6717f2.12
mov r12d, 4
jmp 0x671854
lea rcx, [rsp + 0x200]
call fcn.0066d744
jmp 0x6761d1
mov r15d, reloc.WS2_32.dll_sendto
jmp 0x676172
mov eax, dword [rsp + 0x530]
mov dword [rbx + 0xa0], eax
xor eax, eax
mov byte [rdi + 0x28], al
mov eax, ebp
mov dword [rbx + 0xa4], ebp
jmp 0x676212
cmp ecx, edx
je 0x676078
mov rcx, rdi
call fcn.0069c7c4
mov byte [rdi + 0x28], 1
mov rcx, rdi
call fcn.0069c4d8
mov r11d, dword [r14 + 0xa4]
neg r11d
jmp 0x6756a7
mov rcx, r14
mov byte [rdi + 0x28], bl
call fcn.0066f518
mov ecx, 5
cmp eax, ecx
jne 0x676061
mov eax, dword [rsp + 0x530]
mov dword [r14 + 0xa0], eax
lea eax, [rcx - 4]
sub al, bl
mov byte [rdi + 0x28], al
mov eax, ecx
mov dword [r14 + 0xa4], ecx
jmp 0x676212
mov r15d, reloc.WS2_32.dll_inet_addr
xor r11d, r11d
jmp 0x676165
mov rcx, rbx
call fcn.006700bc
mov r15d, dword [rsp + 0x538]
jmp 0x6760b6
mov r15d, reloc.WS2_32.dll_listen
jmp 0x676165
mov r14, qword [rsp + 0x520]
mov r15d, reloc.WS2_32.dll_listen
jmp 0x676172
mov r15d, reloc.WS2_32.dll_inet_addr
jmp 0x676165
mov r14, qword [rsp + 0x520]
mov rdi, qword [rsp + 0x58]
lea rcx, [r14 + 0xb8]
lea r8, str.string_or_blob_too_big
mov rdx, rdi
call fcn.0065fb00
mov r15d, reloc.WS2_32.dll_select
jmp 0x6761f1
mov rdi, r10
jmp 0x676103
mov eax, dword [rsp + 0x530]
mov dword [r14 + 0xa0], eax
jmp 0x6760a2
mov r15d, dword [rsp + 0x538]
mov rdi, r12
jmp 0x676172
mov r15d, dword [rsp + 0x538]
jmp 0x676172
mov r15d, dword [rsp + 0x538]
jmp 0x67616d
mov r15d, dword [rsp + 0x538]
mov r14, qword [rsp + 0x520]
mov rdi, qword [rsp + 0x58]
cmp byte [rdi + 0x2a], r11b
mov eax, 7
cmovne r15d, eax
cmp r15d, 0xc0a
je 0x6761f1
movzx ecx, r15b
cmp ecx, 0x65
jg 0x676198
call fcn.0069c890
jmp 0x67619f
lea rax, str.unknown_error
lea rcx, [r14 + 0xb8]
lea r8, [0x007c1184]
mov r9, rax
mov rdx, rdi
call fcn.0065fb00
jmp 0x6761f1
mov r14, qword [rsp + 0x520]
jmp 0x6761d1
mov r14, qword [rsp + 0x520]
mov rdi, qword [rsp + 0x58]
lea rcx, [r14 + 0xb8]
lea r8, str.out_of_memory
mov rdx, rdi
mov byte [rdi + 0x2a], 1
call fcn.0065fb00
mov r15d, 7
mov rcx, r14
mov dword [r14 + 0xa4], r15d
call fcn.0066f518
cmp r15d, 0xc0a
jne 0x67620d
mov byte [rdi + 0x2a], 1
mov eax, 1
add rsp, 0x4d8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret