Function at 0x140198970
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
lea rbp, [rsp - 0x80]
sub rsp, 0x180
mov r12, qword [rcx + 0x10]
xor edi, edi
mov rax, qword [rcx]
mov r13d, 1
mov qword [rbp - 0x50], r13
mov rbx, r8
mov qword [rbp + 0x68], rdi
mov r14, rdx
mov qword [rsp + 0x50], rax
mov rsi, rcx
test r12, r12
jne 0x1401989da
cmp qword [rcx + 0x98], rdi
jne 0x1401989d2
test byte [rax + 0x60], 8
jne 0x1401989d2
mov byte [rcx + 0x23], r13b
call fcn.140138990
mov r12, rax
test r14, r14
je 0x14019b5b8
cmp dword [rsi + 0x30], edi
jne 0x14019b5b8
xor r9d, r9d
mov qword [rsp + 0x20], rdi
xor r8d, r8d
mov rcx, rsi
lea edx, [r9 + 0x15]
call fcn.1401662a0
test eax, eax
jne 0x14019b5b8
cmp byte [rbx], 6
ja 0x140198a3b
mov r8, qword [r14 + 0x48]
test r8, r8
je 0x140198a2c
lea rdx, [fcn.140154170]
mov rcx, rsi
call fcn.14018a970
mov qword [r14 + 0x48], rdi
mov eax, dword [r14 + 4]
and eax, 0xfffffffe
bts eax, 0x16
mov dword [r14 + 4], eax
xor r8d, r8d
mov qword [rsp + 0x178], r15
mov rdx, r14
mov rcx, rsi
call fcn.140197320
lea r8, [0x1404047a0]
cmp dword [rsi + 0x30], edi
jne 0x140198db0
mov r10d, dword [r14 + 4]
bt r10d, 0x17
jae 0x140198aad
mov rdx, qword [r14 + 0x28]
lea r11, [rdx + 8]
mov rcx, r11
call fcn.1401987c0
test eax, eax
je 0x140198aa4
mov r8, qword [r11 + 0x18]
test r8, r8
jne 0x140198a90
mov rax, qword [r11 + 0x20]
mov r8, qword [rax]
lea rdx, [0x1403102e8]
mov rcx, rsi
call fcn.140110a90
jmp 0x140198da9
btr r10d, 0x17
mov dword [r14 + 4], r10d
cmp byte [rbx], 9
jne 0x140198abd
mov rdx, r14
mov rcx, rsi
call fcn.14018f390
mov rdx, r14
mov rcx, rsi
call fcn.1401bbc90
test eax, eax
jne 0x140198da9
mov eax, dword [r14 + 4]
mov ecx, edi
mov rbx, qword [r14 + 0x28]
xorps xmm0, xmm0
shr eax, 3
xorps xmm1, xmm1
and eax, r13d
mov qword [rbp - 0x18], rdi
mov dword [rsp + 0x60], eax
mov rax, qword [r14 + 0x48]
mov qword [rbp - 0x40], rax
movdqu xmmword [rbp - 0x38], xmm0
mov dword [rbp + 0xd8], ecx
movdqu xmmword [rbp - 0x28], xmm1
cmp qword [r14 + 0x50], rcx
jne 0x140198d4d
mov r10, qword [rsp + 0x50]
mov r15, rdi
cmp ecx, dword [rbx]
jge 0x140198de6
imul r14, r15, 0x68
add r14, rbx
movzx eax, byte [r14 + 0x44]
mov r9, qword [r14 + 0x28]
mov r13, qword [r14 + 0x30]
mov qword [rsp + 0x70], r9
test al, 0x48
je 0x140198c20
mov rcx, qword [rbp + 0xc8]
mov r8d, eax
mov edx, dword [r14 + 0x4c]
and r8d, 0x40
mov rcx, qword [rcx + 0x30]
call fcn.14015c1e0
mov r10, qword [rsp + 0x50]
test eax, eax
je 0x140198c15
test dword [r10 + 0x60], 0x2000
jne 0x140198c15
movzx eax, byte [r14 + 0x44]
test al, 8
je 0x140198b8e
test al, 0x10
je 0x140198b88
and al, 0xf7
jmp 0x140198b8a
and al, 0xd7
mov byte [r14 + 0x44], al
test al, 0x40
je 0x140198bf8
mov edx, dword [rbp + 0xd8]
lea rcx, [r15 + 1]
mov eax, dword [rbx]
inc edx
cmp edx, eax
jge 0x140198bcf
imul rcx, rcx, 0x68
add rcx, 0x44
add rcx, rbx
nop
movzx eax, byte [rcx]
test al, 0x10
je 0x140198bc3
test al, 8
je 0x140198bbf
and al, 0xef
jmp 0x140198bc1
and al, 0xcf
mov byte [rcx], al
mov eax, dword [rbx]
inc edx
add rcx, 0x68
cmp edx, eax
jl 0x140198bb0
dec eax
movsxd rdx, eax
cmp rdx, r15
jl 0x140198bf8
imul rcx, rdx, 0x68
add rcx, 0x44
add rcx, rbx
and byte [rcx], 0xbf
test byte [rcx], 0x10
jne 0x140198bf8
dec rdx
sub rcx, 0x68
cmp rdx, r15
jge 0x140198be4
mov rax, qword [rbp + 0xc8]
movzx r8d, byte [rbx + 0x44]
mov edx, dword [r14 + 0x4c]
and r8d, 0x40
mov rcx, qword [rax + 0x30]
call fcn.14018c280
mov ecx, dword [rbp + 0xd8]
mov r9, qword [rsp + 0x70]
test r13, r13
je 0x140198d31
mov rax, qword [r13 + 0x20]
movsx r8d, word [r9 + 0x36]
mov edx, dword [rax]
cmp r8d, edx
jne 0x140198d8d
test dword [r14 + 0x48], 0x100
je 0x140198c55
mov rax, qword [r14 + 0x68]
cmp byte [rax + 0x12], dil
je 0x140198d31
mov eax, dword [r13 + 4]
mov r14, qword [rbp + 0xc8]
test al, 8
jne 0x140198d38
mov r8, qword [r13 + 0x48]
test r8, r8
je 0x140198ccd
cmp qword [r14 + 0x48], rdi
jne 0x140198c7c
cmp dword [rbx], 1
jle 0x140198cb1
cmp qword [r13 + 0x60], rdi
jne 0x140198cb1
bt eax, 0x1b
jb 0x140198cb1
test dword [r14 + 4], 0x8000000
jne 0x140198cb1
test dword [r10 + 0x60], 0x40000
jne 0x140198cb1
lea rdx, [fcn.140154170]
mov rcx, rsi
call fcn.14018a970
mov qword [r13 + 0x48], rdi
jmp 0x140198ccd
test ecx, ecx
jne 0x140198ccd
test dword [r14 + 4], 0x40000
je 0x140198ccd
cmp dword [rbx], 1
je 0x140198d38
test byte [rbx + 0xac], 0x22
jne 0x140198d38
mov r9d, dword [rsp + 0x60]
mov rdx, r14
mov r8d, dword [rbp + 0xd8]
mov rcx, rsi
call fcn.140193d70
test eax, eax
je 0x140198d02
cmp dword [rsi + 0x30], edi
jne 0x140198da3
mov dword [rbp + 0xd8], 0xffffffff
mov r15, 0xffffffffffffffff
mov r10, qword [rsp + 0x50]
mov rbx, qword [r14 + 0x28]
cmp byte [r10 + 0x67], dil
jne 0x140198da3
mov rax, qword [rbp + 0xd0]
mov ecx, dword [rbp + 0xd8]
cmp byte [rax], 8
jbe 0x140198d38
mov rax, qword [r14 + 0x48]
mov qword [rbp - 0x40], rax
jmp 0x140198d38
mov r14, qword [rbp + 0xc8]
inc ecx
inc r15
mov dword [rbp + 0xd8], ecx
cmp qword [r14 + 0x50], rdi
je 0x140198b18
mov r8, qword [rbp + 0xd0]
mov rdx, r14
mov rcx, rsi
call fcn.140190c00
mov r9d, eax
cmp qword [r14 + 0x58], rdi
jne 0x140198d70
mov rcx, rsi
call fcn.1401399d0
mov eax, r9d
mov r15, qword [rsp + 0x178]
add rsp, 0x180
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov r9, qword [r9]
mov rcx, rsi
mov dword [rsp + 0x20], edx
lea rdx, [0x140313fc8]
call fcn.140110a90
mov r13d, 1
lea r8, [0x1404047a0]
movsxd rcx, dword [rsi + 0x128]
test ecx, ecx
je 0x140198ddb
mov rdx, qword [rsi + 0x10]
mov rax, qword [rdx]
cmp byte [rax + 0x67], 0
jne 0x140198dd7
mov rax, qword [rdx + 0x88]
lea rcx, [rcx + rcx*2]
lea r8, [rax + rcx*8]
mov edi, dword [r8 + 8]
mov dword [rsi + 0x128], edi
mov eax, r13d
jmp 0x140198d73
mov rax, qword [r14 + 0x30]
mov r15, rbx
mov qword [rsp + 0x48], rbx
test rax, rax
je 0x140198ede
cmp byte [rax], 0x2c
mov qword [rsp + 0x48], rbx
jne 0x140198ede
test dword [r10 + 0x60], 0x8000
mov r13d, 1
mov qword [rsp + 0x48], rbx
jne 0x140198ee4
mov rax, qword [rsi]
lea r15, [fcn.140005570]
add rax, 0x67
mov qword [rsp + 0x48], rbx
mov qword [rbp - 8], rax
lea rbx, [0x1401949e0]
mov qword [rbp - 0x10], rsi
nop dword [rax]
nop dword [rax + rax]
mov rax, qword [r14 + 0x28]
mov qword [rbp], rdi
mov qword [rbp + 0x10], rdi
mov dword [rbp + 8], edi
test rax, rax
je 0x140198e75
cmp dword [rax], edi
jle 0x140198e75
test byte [rax + 0x44], 0x40
mov dword [rbp + 0xc], 3
jne 0x140198e79
mov dword [rbp + 0xc], r13d
mov rdx, qword [r14 + 0x30]
lea rcx, [rbp - 0x10]
call fcn.1401947a0
cmp dword [rbp], edi
je 0x140198ece
mov rdx, qword [r14 + 0x30]
lea rax, [rbp - 0x10]
mov qword [rbp + 0x48], rdi
mov qword [rbp + 0x28], rsi
mov qword [rbp + 0x30], rbx
mov qword [rbp + 0x38], r15
mov qword [rbp + 0x40], rdi
mov qword [rbp + 0x50], rax
test rdx, rdx
je 0x140198eb9
lea rcx, [rbp + 0x28]
call fcn.14014c3a0
mov rdx, qword [rbp + 0x10]
test rdx, rdx
je 0x140198ece
mov rcx, qword [rbp - 0x10]
mov rcx, qword [rcx]
call fcn.14010e190
cmp dword [rbp + 4], edi
jne 0x140198e50
mov r15, qword [rsp + 0x48]
jmp 0x140198ee4
mov r13d, 1
mov rbx, qword [rsp + 0x50]
test dword [rbx + 0x60], 0x201
jne 0x140198f14
mov rdx, r14
mov rcx, rsi
call fcn.140198470
test eax, eax
je 0x140198f14
cmp byte [rbx + 0x67], dil
jne 0x140198da9
mov r15, qword [r14 + 0x28]
mov qword [rsp + 0x48], r15
lea rcx, [0x140321745]
mov edx, edi
mov dword [rbp + 0xd8], edx
cmp dword [r15], edi
jle 0x14019953c
mov rax, rdi
mov qword [rsp + 0x70], rax
nop dword [rax]
nop dword [rax + rax]
imul rax, rax, 0x68
lea r14, [r15 + 8]
add r14, rax
cmp qword [r14 + 0x50], rdi
jne 0x140198f79
mov r8, qword [r14 + 0x10]
test r8, r8
je 0x140198f79
mov rax, qword [r14 + 8]
mov r9, rcx
mov rcx, rsi
mov qword [rsp + 0x20], rax
mov edx, reloc.WS2_32.dll_sendto
call fcn.1401662a0
mov edx, dword [rbp + 0xd8]
mov rcx, qword [r14 + 0x28]
mov qword [rsp + 0x68], rcx
test rcx, rcx
je 0x140199510
mov eax, dword [rsi + 0x124]
mov dword [rsi + 0x124], eax
test dword [rbx + 0x60], 0x1000
jne 0x140198fd8
test dword [r14 + 0x40], 0x100
je 0x140198fb9
mov rax, qword [r14 + 0x60]
cmp byte [rax + 0x12], dil
je 0x140198fd8
cmp dword [rax], 2
jge 0x140198fd8
mov r13, qword [rbp + 0xc8]
mov r9, r15
mov dword [rsp + 0x20], edx
mov rdx, rcx
mov rcx, rsi
mov r8, qword [r13 + 0x30]
call fcn.140194ce0
jmp 0x140198fdf
mov r13, qword [rbp + 0xc8]
test dword [rbx + 0x60], 0x4000000
jne 0x14019911d
test dword [r14 + 0x40], 0x108
jne 0x14019911d
mov rdx, qword [r14 + 0x28]
mov r8, qword [r14 + 0x20]
mov rax, rdx
mov qword [rbp - 0x58], rdx
test rdx, rdx
je 0x14019903e
nop
test byte [rax + 4], 9
jne 0x14019911d
mov rcx, qword [rax + 0x50]
test rcx, rcx
je 0x14019902c
cmp byte [rax], 0x87
jne 0x14019911d
cmp qword [rax + 0x70], rdi
jne 0x14019911d
mov rax, rcx
test rcx, rcx
jne 0x140199010
mov rcx, qword [rdx + 0x48]
mov r10, qword [r14 + 0x50]
test rcx, rcx
je 0x140199080
movsxd rdx, dword [rcx]
test rdx, rdx
jle 0x140199080
add rcx, 0x20
movzx eax, word [rcx]
test ax, ax
je 0x140199076
dec ax
cmp ax, 0x40
jb 0x14019906f
mov eax, 0x3f
jmp 0x140199072
movzx eax, ax
bts r10, rax
add rcx, 0x20
sub rdx, 1
jne 0x140199057
movsx r15, word [r8 + 0x36]
mov r11d, edi
mov rbx, rdi
test r15, r15
jle 0x140199118
mov r13, qword [rbp - 0x58]
mov r9d, 1
mov r8, rdi
movabs rsi, 0x8000000000000000
nop dword [rax + rax]
cmp r11d, 0x3f
mov rax, rsi
cmovb rax, r9
test r10, rax
jne 0x1401990f8
mov rax, r13
nop dword [rax]
nop word [rax + rax]
mov rcx, qword [rax + 0x20]
mov rdx, qword [rcx + r8 + 8]
cmp byte [rdx], 0x79
je 0x1401990ef
and dword [rdx + 4], 0xfff7dfff
mov byte [rdx], 0x79
or dword [rax + 4], 0x1000000
mov rax, qword [rax + 0x50]
test rax, rax
jne 0x1401990d0
inc r11d
rol r9, 1
inc rbx
add r8, 0x20
cmp rbx, r15
jl 0x1401990b0
mov rsi, qword [rbp + 0xc0]
mov r13, qword [rbp + 0xc8]
mov r15, qword [rsp + 0x48]
mov rax, qword [rsi + 0x160]
mov edx, dword [rbp + 0xd8]
mov ebx, edx
mov qword [rbp - 0x58], rax
mov rax, qword [r14 + 0x10]
mov qword [rsi + 0x160], rax
mov eax, dword [r14 + 0x40]
mov r13d, dword [r13 + 4]
and eax, 0x100
mov dword [rbp - 0x64], eax
je 0x14019916b
mov rax, qword [r14 + 0x60]
movzx ecx, byte [rax + 0x12]
test cl, cl
je 0x1401992f4
cmp dword [rax], 2
jl 0x14019916b
cmp cl, 2
jne 0x1401992f4
test byte [r15 + 0x44], 0x40
jne 0x1401992ef
mov rax, qword [rsi]
test dword [rax + 0x60], 0x2000000
jne 0x1401992ef
mov r15d, dword [r15]
lea r8d, [rdx + 1]
mov rcx, qword [rsp + 0x48]
mov r9d, r15d
mov rdx, r14
call fcn.140198350
test rax, rax
jne 0x1401992e8
cmp qword [rsp + 0x70], rdi
jne 0x140199290
cmp r15d, 1
je 0x1401991d1
mov r15, qword [rsp + 0x48]
test byte [r15 + 0xac], 2
jne 0x1401991d1
bt r13d, 0x1c
jb 0x1401992ed
movsxd r15, dword [r12 + 0x90]
xor r9d, r9d
inc dword [rsi + 0x38]
mov rcx, r12
mov r8d, dword [rsi + 0x38]
mov dword [r14 + 0x34], r8d
lea ebx, [r15 + 1]
lea edx, [r9 + 0xb]
mov dword [rsp + 0x20], ebx
call fcn.140139160
mov eax, dword [r14 + 0x34]
lea r8, str.CO_ROUTINE___S
mov r13d, 1
mov dword [r14 + 0x30], ebx
mov edx, r13d
mov byte [rbp - 0x10], reloc.WS2_32.dll_listen
mov r9, r14
mov dword [rbp - 0xc], eax
mov rcx, rsi
mov qword [rbp - 8], rdi
mov qword [rbp + 8], rdi
mov dword [rbp], edi
call fcn.140139870
mov rbx, qword [rsp + 0x68]
lea r8, [rbp - 0x10]
mov rdx, rbx
mov rcx, rsi
call fcn.140198970
movzx eax, word [rbx + 2]
mov rcx, qword [r14 + 0x20]
mov word [rcx + 0x3a], ax
mov rcx, r12
mov eax, dword [rbp - 4]
mov edx, dword [r14 + 0x34]
or dword [r14 + 0x40], 0x20
mov dword [r14 + 0x38], eax
call fcn.140139b80
mov rax, qword [r12]
mov edx, dword [r12 + 0x90]
cmp byte [rax + 0x67], dil
je 0x1401992c8
lea rax, [0x1404047a0]
mov dword [rax + 8], edx
mov byte [rsi + 0x1f], dil
mov dword [rsi + 0x28], edi
jmp 0x1401994eb
bt r13d, 0x1c
jb 0x1401992e8
test byte [r14 + 0x3c], 0x22
lea rax, [r14 + 0x3c]
jne 0x1401992e8
test ebx, ebx
je 0x1401991d1
sub rax, 0x68
dec ebx
cmp qword [rax - 0x14], rdi
jne 0x1401992bb
test byte [rax], 0x22
je 0x1401992a2
mov edx, dword [rbp + 0xd8]
mov r15, qword [rsp + 0x48]
jmp 0x1401992ef
mov rax, qword [r12 + 0x88]
lea rcx, [r15 + r15*2]
mov dword [rax + rcx*8 + 8], edx
mov byte [rsi + 0x1f], dil
mov dword [rsi + 0x28], edi
lea rax, [rax + rcx*8]
jmp 0x1401994eb
mov r15, qword [rsp + 0x48]
mov edx, ebx
cmp dword [rbp - 0x64], edi
je 0x14019933e
mov rbx, qword [r14 + 0x60]
mov r9d, dword [rbx + 4]
test r9d, r9d
jle 0x14019933e
mov r8d, dword [rbx + 8]
mov edx, 0xa
mov rcx, r12
call fcn.1401390f0
mov r9d, dword [rbx + 0xc]
mov r8d, dword [r14 + 0x44]
cmp r8d, r9d
je 0x14019932c
mov edx, reloc.WS2_32.dll_WSAStartup
mov rcx, r12
call fcn.1401390f0
mov rdx, qword [rsp + 0x68]
movzx eax, word [rbx + 0x10]
mov word [rdx + 2], ax
jmp 0x1401994e5
mov r9d, edx
xor r8d, r8d
mov rdx, r14
mov rcx, r15
call fcn.140198350
mov rbx, rax
test rax, rax
je 0x14019939c
mov r9d, dword [rax + 0x30]
test r9d, r9d
je 0x140199371
mov r8d, dword [rax + 0x34]
mov edx, 0xa
mov rcx, r12
call fcn.1401390f0
mov r9d, dword [rbx + 0x44]
mov edx, reloc.WS2_32.dll_WSAStartup
mov r8d, dword [r14 + 0x44]
mov rcx, r12
call fcn.1401390f0
mov rax, qword [rbx + 0x28]
mov rdx, qword [rsp + 0x68]
movzx ecx, word [rax + 2]
mov word [rdx + 2], cx
jmp 0x1401994e5
inc dword [rsi + 0x38]
mov edx, 9
mov eax, dword [rsi + 0x38]
mov rcx, r12
mov dword [r14 + 0x34], eax
mov ebx, edi
call fcn.140139010
or dword [r14 + 0x40], 0x10
test byte [r14 + 0x40], 8
movsxd r13, eax
lea r15d, [r13 + 1]
mov dword [r14 + 0x30], r15d
jne 0x1401993db
mov edx, reloc.WS2_32.dll_ntohs
mov rcx, r12
call fcn.140139010
mov ebx, eax
mov ecx, dword [r14 + 0x44]
lea r8, str.MATERIALIZE___S
mov dword [rbp - 0xc], ecx
mov r9, r14
mov rcx, rsi
mov byte [rbp - 0x10], listen
mov edx, 1
mov qword [rbp - 8], rdi
mov qword [rbp + 8], rdi
mov dword [rbp], edi
call fcn.140139870
mov rdx, qword [rsp + 0x68]
lea r8, [rbp - 0x10]
mov rcx, rsi
call fcn.140198970
mov rax, qword [rsp + 0x68]
mov rcx, qword [r14 + 0x20]
movzx eax, word [rax + 2]
mov word [rcx + 0x3a], ax
test ebx, ebx
je 0x14019945f
mov rax, qword [r12]
mov edx, dword [r12 + 0x90]
cmp byte [rax + 0x67], dil
je 0x140199449
lea rax, [0x1404047a0]
jmp 0x14019945c
movsxd rax, ebx
lea rcx, [rax + rax*2]
mov rax, qword [r12 + 0x88]
lea rax, [rax + rcx*8]
mov dword [rax + 8], edx
mov r8d, dword [r14 + 0x34]
mov r9d, r15d
mov edx, 0x43
mov rcx, r12
call fcn.1401390f0
mov rax, qword [r12]
mov edx, dword [r12 + 0x90]
cmp byte [rax + 0x67], dil
je 0x14019948e
lea rax, [0x1404047a0]
jmp 0x1401994a5
mov rax, qword [r12 + 0x88]
lea rcx, [r13*2]
add rcx, r13
lea rax, [rax + rcx*8]
mov dword [rax + 8], edx
mov byte [rsi + 0x1f], dil
mov dword [rsi + 0x28], edi
mov eax, dword [r14 + 0x40]
and eax, 0x108
cmp eax, 0x100
jne 0x1401994e5
mov eax, dword [r14 + 0x30]
mov rcx, qword [r14 + 0x60]
mov dword [rcx + 4], eax
mov eax, dword [r14 + 0x34]
mov dword [rcx + 8], eax
mov eax, dword [r14 + 0x44]
mov dword [rcx + 0xc], eax
mov rax, qword [rsp + 0x68]
movzx eax, word [rax + 2]
mov word [rcx + 0x10], ax
mov r13d, 1
mov rbx, qword [rsp + 0x50]
cmp byte [rbx + 0x67], dil
jne 0x140198da9
mov rax, qword [rbp - 0x58]
mov edx, dword [rbp + 0xd8]
mov r15, qword [rsp + 0x48]
mov qword [rsi + 0x160], rax
mov rax, qword [rsp + 0x70]
lea rcx, [0x140321745]
inc rax
inc edx
mov dword [rbp + 0xd8], edx
mov qword [rsp + 0x70], rax
cmp edx, dword [r15]
jl 0x140198f40
mov r14, qword [rbp + 0xc8]
mov rax, qword [r14 + 0x30]
mov r15, qword [r14 + 0x20]
mov r13, qword [r14 + 0x38]
mov qword [rbp - 0x60], rax
mov rax, qword [r14 + 0x40]
mov qword [rsp + 0x70], rax
movzx eax, byte [r14 + 4]
and al, 1
mov qword [rbp + 0x60], r15
mov byte [rbp - 0x78], al
mov eax, dword [r14 + 4]
and al, 9
mov qword [rsp + 0x68], r13
cmp al, 1
jne 0x1401995b6
mov rcx, qword [rbp - 0x40]
mov r8d, 0xffffffff
mov rdx, r15
call fcn.14015bb60
test eax, eax
jne 0x1401995b6
cmp qword [r14 + 0x70], rdi
jne 0x1401995b6
and dword [r14 + 4], 0xfffffffe
xor r8d, r8d
mov rdx, r15
mov rcx, rbx
call fcn.1401530f0
or dword [r14 + 4], 8
mov r13, rax
mov qword [rsp + 0x68], rax
mov qword [r14 + 0x38], rax
mov byte [rbp - 0x78], 2
mov rbx, qword [rbp - 0x40]
test rbx, rbx
je 0x140199610
mov r9d, dword [r15]
xor r8d, r8d
mov rdx, rbx
mov rcx, rsi
call fcn.14018e540
mov r8d, dword [rsi + 0x34]
mov dword [rbp - 0x34], r8d
mov dword [rsp + 0x30], 0xfffffff8
mov qword [rsp + 0x28], rax
lea ecx, [r8 + 1]
mov dword [rsp + 0x20], edi
mov dword [rsi + 0x34], ecx
mov rcx, qword [rbp - 0x40]
mov r9d, dword [r15]
mov edx, dword [rcx]
mov rcx, r12
inc edx
add r9d, edx
mov edx, 0x76
call fcn.1401394d0
mov dword [rbp - 0x28], eax
jmp 0x140199617
mov dword [rbp - 0x28], 0xffffffff
mov rax, qword [rbp + 0xd0]
cmp byte [rax], 0xc
jne 0x1401996cf
mov r9d, dword [r15]
mov edx, 0x76
mov r8d, dword [rax + 4]
mov rcx, r12
call fcn.1401390f0
test dword [r14 + 4], 0x800
je 0x1401996cf
mov ecx, dword [r15]
lea eax, [rcx - 1]
movsxd r14, eax
test eax, eax
jle 0x1401996a7
mov r13, qword [rsp + 0x50]
mov rbx, r14
shl rbx, 5
test byte [rbx + r15 + 0x1c], 0x40
jne 0x1401996a2
mov rdx, qword [rbx + r15 + 8]
test rdx, rdx
je 0x14019967c
mov rcx, r13
call fcn.140152830
mov rdx, qword [rbx + r15 + 0x10]
test rdx, rdx
je 0x14019968e
mov rcx, r13
call fcn.14010e190
mov ecx, dword [r15]
dec r14
dec ecx
sub rbx, 0x20
mov dword [r15], ecx
test r14, r14
jg 0x140199662
mov r13, qword [rsp + 0x68]
mov edx, edi
test ecx, ecx
jle 0x1401996c8
lea rcx, [r15 + 8]
test byte [rcx + 0x14], 0x40
jne 0x1401996bd
mov rax, qword [rcx]
mov byte [rax], 0x79
inc edx
add rcx, 0x20
cmp edx, dword [r15]
jl 0x1401996b1
mov r14, qword [rbp + 0xc8]
mov eax, dword [rsi + 0x44]
mov r15d, 0x4000
dec eax
mov dword [rsi + 0x44], eax
mov dword [rbp + 0x5c], eax
test dword [r14 + 4], r15d
jne 0x1401996ed
mov word [r14 + 2], 0x140
cmp qword [r14 + 0x60], rdi
je 0x140199701
mov r8d, eax
mov rdx, r14
mov rcx, rsi
call fcn.14018ffd0
cmp dword [r14 + 8], edi
jne 0x14019973a
cmp dword [rbp - 0x28], edi
jl 0x14019973a
mov rax, qword [r12]
cmp byte [rax + 0x67], dil
je 0x14019971f
lea rax, [0x1404047a0]
jmp 0x140199733
movsxd rax, dword [rbp - 0x28]
lea rcx, [rax + rax*2]
mov rax, qword [r12 + 0x88]
lea rax, [rax + rcx*8]
mov byte [rax], 0x77
or byte [rbp - 0x1c], 1
test byte [r14 + 4], 1
je 0x1401997aa
mov eax, dword [rsi + 0x34]
xor r9d, r9d
mov dword [rbp - 0x74], eax
xor r8d, r8d
inc eax
mov rcx, rsi
mov dword [rsi + 0x34], eax
mov rdx, qword [r14 + 0x20]
call fcn.14018e540
mov r8d, dword [rbp - 0x74]
xor r9d, r9d
mov dword [rsp + 0x30], 0xfffffff8
mov rcx, r12
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], edi
lea edx, [r9 + 0x76]
call fcn.1401394d0
mov dword [rbp - 0x70], eax
movsxd rax, dword [r12 + 0x90]
test eax, eax
jle 0x1401997a4
lea rcx, [rax + rax*2]
mov rax, qword [r12 + 0x88]
mov word [rax + rcx*8 - 0x16], 8
mov byte [rbp - 0x77], 3
jmp 0x1401997ae
mov byte [rbp - 0x77], dil
cmp dword [rsp + 0x60], edi
jne 0x140199a51
test r13, r13
jne 0x140199a51
movzx eax, byte [rbp - 0x78]
neg al
movzx eax, word [r14 + 4]
mov r14, qword [r14 + 0x70]
sbb bx, bx
and ax, r15w
and bx, 0x100
mov r15, qword [rbp + 0xc8]
or bx, ax
test r14, r14
je 0x1401997f6
mov rdx, r15
mov rcx, rsi
call fcn.1401bd530
movsx eax, word [r15 + 2]
mov rcx, rsi
mov r9, qword [rbp - 0x40]
mov r8, qword [rbp - 0x60]
mov rdx, qword [rsp + 0x48]
mov dword [rsp + 0x38], eax
mov rax, qword [r15 + 0x20]
mov word [rsp + 0x30], bx
mov qword [rsp + 0x28], r15
mov qword [rsp + 0x20], rax
call fcn.1401b85a0
mov rbx, rax
test rax, rax
je 0x140198da3
movzx eax, word [rax + 0x48]
cmp ax, word [r15 + 2]
jge 0x140199843
mov word [r15 + 2], ax
cmp byte [rbp - 0x78], dil
je 0x140199859
movzx ecx, byte [rbx + 0x43]
movzx eax, byte [rbp - 0x77]
test cl, cl
cmovne eax, ecx
mov byte [rbp - 0x77], al
mov rdx, qword [rbp - 0x40]
test rdx, rdx
je 0x1401998af
movsx eax, byte [rbx + 0x41]
test al, al
jns 0x140199872
mov r8d, edi
mov dword [rbp - 0x38], edi
jmp 0x140199878
mov r8d, eax
mov dword [rbp - 0x38], eax
test byte [rbx + 0x44], 4
jne 0x140199883
mov eax, dword [rbx + 0x30]
jmp 0x1401998a1
movzx eax, byte [rbx + 0x40]
imul rcx, rax, 0x70
cmp qword [rcx + rbx + 0x328], rdi
je 0x14019989a
mov eax, dword [rbx + 0x30]
jmp 0x1401998a1
mov eax, dword [rcx + rbx + 0x300]
mov dword [rbp - 0x20], eax
cmp r8d, dword [rdx]
cmove rdx, rdi
mov qword [rbp - 0x40], rdx
mov eax, dword [rbp - 0x28]
test eax, eax
js 0x1401998c5
test rdx, rdx
jne 0x1401998c5
mov edx, eax
mov rcx, r12
call fcn.14013a4a0
mov rcx, rsi
test r14, r14
je 0x140199a02
mov r15d, dword [rsi + 0x44]
mov r8, rbx
inc dword [rsi + 0x38]
mov eax, dword [rsi + 0x38]
mov r9d, eax
mov rdx, qword [rbp + 0xc8]
lea r14d, [r15 - 1]
mov dword [rbp + 0xd8], eax
sub r15d, 2
mov dword [rsp + 0x20], r14d
lea r13d, [r15 - 1]
mov dword [rsi + 0x44], r13d
call fcn.1401c15b0
xor r8d, r8d
mov r9d, r13d
mov rcx, r12
lea edx, [r8 + 9]
call fcn.1401390f0
mov rcx, qword [r12 + 0x18]
lea rbx, [r12 + 0x18]
not r14d
mov dword [rbp + 0xc0], r14d
mov eax, dword [rcx + 0x48]
add eax, dword [rcx + 0x44]
jns 0x14019994b
mov r8d, r14d
mov rdx, r12
call fcn.140139c10
lea r14, [r12 + 0x90]
jmp 0x140199964
movsxd rdx, dword [rbp + 0xc0]
lea r14, [r12 + 0x90]
mov rcx, qword [rcx + 0x50]
mov eax, dword [r14]
mov dword [rcx + rdx*4], eax
mov rax, qword [rbp + 0xd0]
lea r9, [rbp - 0x40]
mov rdx, qword [rbp + 0xc8]
mov r8d, 0xffffffff
mov dword [rsp + 0x38], r13d
mov rcx, rsi
mov dword [rsp + 0x30], r15d
mov qword [rsp + 0x28], rax
lea rax, [rbp - 0x78]
mov qword [rsp + 0x20], rax
mov dword [rbp - 0x20], edi
call fcn.14018d880
mov rcx, qword [rbx]
not r15d
mov eax, dword [rcx + 0x48]
add eax, dword [rcx + 0x44]
jns 0x1401999ba
mov r8d, r15d
mov rdx, r12
call fcn.140139c10
jmp 0x1401999c8
mov rcx, qword [rcx + 0x50]
mov eax, dword [r14]
movsxd r9, r15d
mov dword [rcx + r9*4], eax
mov r8d, dword [rbp + 0xd8]
mov edx, 0x43
mov rcx, r12
call fcn.140139080
mov rcx, qword [rbx]
not r13d
mov eax, dword [rcx + 0x48]
add eax, dword [rcx + 0x44]
jns 0x1401999fa
mov r8d, r13d
mov rdx, r12
call fcn.140139c10
jmp 0x14019b52c
movsxd rdx, r13d
jmp 0x14019b522
mov eax, dword [rbx + 0x34]
lea r9, [rbp - 0x40]
mov dword [rsp + 0x38], eax
mov r8d, 0xffffffff
mov eax, dword [rbx + 0x30]
mov rdx, r15
mov dword [rsp + 0x30], eax
mov rax, qword [rbp + 0xd0]
mov qword [rsp + 0x28], rax
lea rax, [rbp - 0x78]
mov qword [rsp + 0x20], rax
call fcn.14018d880
mov rcx, rbx
call fcn.1401b9880
lea rbx, [r12 + 0x18]
lea r14, [r12 + 0x90]
jmp 0x14019b52c
mov dword [rsp + 0x40], edi
mov dword [rsp + 0x44], edi
mov dword [rsp + 0x60], edi
test r13, r13
je 0x140199bc9
mov rcx, qword [r14 + 0x20]
mov eax, dword [rcx]
test eax, eax
jle 0x140199a8d
add rcx, 0x22
nop dword [rax]
nop dword [rax + rax]
dec eax
mov word [rcx], di
lea rcx, [rcx + 0x20]
test eax, eax
jg 0x140199a80
mov eax, dword [r13]
lea r14, [r13 + 8]
test eax, eax
jle 0x140199aad
lea rcx, [r14 + 0x1a]
nop dword [rax]
dec eax
mov word [rcx], di
lea rcx, [rcx + 0x20]
test eax, eax
jg 0x140199aa0
mov rax, qword [rbp + 0xc8]
cmp word [rax + 2], 0x42
jle 0x140199ac1
mov word [rax + 2], 0x42
mov rbx, qword [rbp - 0x40]
test rbx, rbx
je 0x140199b6a
mov eax, dword [r13]
cmp eax, dword [rbx]
jne 0x140199b6a
mov r8d, edi
test eax, eax
jle 0x140199b11
mov rdx, rdi
nop dword [rax]
nop dword [rax + rax]
mov rax, qword [rbp - 0x40]
lea rdx, [rdx + 0x20]
inc r8d
movzx ecx, byte [rdx + rax - 8]
and cl, 1
mov byte [rdx + r13 - 8], cl
mov eax, dword [r13]
cmp r8d, eax
jl 0x140199af0
mov rbx, qword [rbp - 0x40]
test rbx, rbx
je 0x140199b6a
cmp eax, dword [rbx]
jne 0x140199b6a
mov r15d, edi
test eax, eax
jle 0x140199b62
add rbx, 8
nop dword [rax]
movzx eax, byte [rbx + 0x10]
cmp byte [r14 + 0x10], al
jne 0x140199b6a
mov r8, qword [rbx]
mov r9d, 0xffffffff
mov rdx, qword [r14]
xor ecx, ecx
call fcn.14015b880
test eax, eax
jne 0x140199b6a
inc r15d
add rbx, 0x20
add r14, 0x20
cmp r15d, dword [r13]
jl 0x140199b30
mov dword [rsp + 0x60], 1
mov r14, qword [rbp + 0xc8]
dec dword [rsi + 0x44]
mov edx, gethostname
mov eax, dword [rsi + 0x44]
mov rbx, qword [rsp + 0x50]
mov rcx, rbx
mov dword [rsp + 0x64], eax
call fcn.14010e610
mov qword [rbp + 0xd8], rax
mov r15, rax
test rax, rax
je 0x140199c39
xorps xmm0, xmm0
xor eax, eax
movups xmmword [r15], xmm0
movups xmmword [r15 + 0x10], xmm0
movups xmmword [r15 + 0x20], xmm0
mov qword [r15 + 0x30], rax
mov rcx, qword [rsi]
test rcx, rcx
je 0x140199bd0
lea edx, [rax + 0x18]
call fcn.14010e610
jmp 0x140199bda
mov word [r14 + 2], di
jmp 0x140199b71
mov ecx, 0x18
call fcn.14010df20
mov rcx, rax
test rax, rax
je 0x140199c04
mov rax, qword [rsi + 0xb0]
mov qword [rcx], rax
lea rax, [0x140198420]
mov qword [rsi + 0xb0], rcx
mov qword [rcx + 0x10], rax
mov qword [rcx + 8], r15
jmp 0x140199c39
mov rdx, qword [r15 + 0x18]
mov rbx, qword [rsi]
test rdx, rdx
je 0x140199c18
mov rcx, rbx
call fcn.14010e190
mov rdx, qword [r15 + 0x28]
test rdx, rdx
je 0x140199c29
mov rcx, rbx
call fcn.14010e190
mov rdx, r15
mov rcx, rbx
call fcn.14010e190
mov rbx, qword [rsp + 0x50]
cmp byte [rbx + 0x67], dil
jne 0x140198da3
mov eax, dword [r14 + 0x10]
xorps xmm0, xmm0
mov dword [r15 + 0x34], eax
xorps xmm1, xmm1
mov rax, qword [rsp + 0x48]
mov qword [rbp - 8], rax
mov qword [rbp - 0x10], rsi
mov qword [rbp], r15
movdqu xmmword [rbp + 8], xmm0
movdqu xmmword [rbp + 0x18], xmm1
test r13, r13
je 0x140199c77
mov eax, dword [r13]
jmp 0x140199c79
mov eax, edi
mov word [r15 + 2], ax
mov rax, qword [rbp + 0x60]
mov qword [r15 + 0x10], r13
test rax, rax
je 0x140199d0b
lea rbx, [rax + 8]
mov r14d, edi
cmp dword [rax], edi
jle 0x140199cff
lea r13, [0x14015cb20]
lea r15, [0x14014c920]
lea rsi, [0x14014c930]
nop
mov rdx, qword [rbx]
lea rcx, [rbp - 0x10]
mov qword [rbp + 0x30], r13
mov qword [rbp + 0x38], r15
mov qword [rbp + 0x40], rsi
mov dword [rbp + 0x48], edi
mov qword [rbp + 0x50], rcx
mov qword [rbp + 0x28], rdi
test rdx, rdx
je 0x140199ce0
lea rcx, [rbp + 0x28]
call fcn.14014c3a0
mov rax, qword [rbp + 0x60]
inc r14d
add rbx, 0x20
cmp r14d, dword [rax]
jl 0x140199cb0
mov rsi, qword [rbp + 0xc0]
mov r15, qword [rbp + 0xd8]
mov r13, qword [rsp + 0x68]
mov rbx, qword [rsp + 0x50]
mov r14, qword [rbp + 0xc8]
mov rdx, qword [rbp - 0x40]
lea rcx, [rbp - 0x10]
call fcn.14015cea0
mov rcx, qword [rsp + 0x70]
test rcx, rcx
je 0x140199da1
test r13, r13
je 0x140199d65
mov rdx, qword [r14 + 0x40]
lea rax, [0x1401980f0]
mov qword [rbp + 0x48], rdi
xorps xmm0, xmm0
mov qword [rbp + 0x28], rsi
mov qword [rbp + 0x30], rax
mov qword [rbp + 0x50], r14
movdqu xmmword [rbp + 0x38], xmm0
test rdx, rdx
je 0x140199d5d
lea rcx, [rbp + 0x28]
call fcn.14014c3a0
mov rcx, qword [rsp + 0x70]
mov rax, qword [r14 + 0x30]
mov qword [rbp - 0x60], rax
lea rax, [0x14015cb20]
mov dword [rbp + 0x48], edi
mov qword [rbp + 0x30], rax
mov rdx, rcx
lea rax, [0x14014c920]
mov qword [rbp + 0x28], rdi
mov qword [rbp + 0x38], rax
lea rcx, [rbp + 0x28]
lea rax, [0x14014c930]
mov qword [rbp + 0x40], rax
lea rax, [rbp - 0x10]
mov qword [rbp + 0x50], rax
call fcn.14014c3a0
mov eax, dword [r15 + 0x20]
mov dword [r15 + 0x24], eax
cmp qword [r14 + 0x38], rdi
jne 0x140199e6a
cmp qword [r14 + 0x40], rdi
jne 0x140199e6a
cmp dword [r15 + 0x30], 1
jne 0x140199e6a
mov rax, qword [r15 + 0x28]
mov rcx, qword [rax]
mov r11, qword [rcx + 0x20]
test r11, r11
je 0x140199e6a
cmp dword [r11], 1
jne 0x140199e6a
test dword [rcx + 4], 0x1000000
jne 0x140199e6a
test dword [rbx + 0x60], 0x10000
jne 0x140199e6a
mov rbx, qword [rcx + 8]
lea rdx, [0x140324180]
mov rcx, rbx
call fcn.140110ce0
test eax, eax
jne 0x140199e28
mov rcx, qword [r11 + 8]
call fcn.140154a00
neg eax
mov byte [rbp + 0xc0], 1
sbb bl, bl
and bl, 2
jmp 0x140199e44
lea rdx, [0x14032c29c]
mov rcx, rbx
call fcn.140110ce0
test eax, eax
jne 0x140199e6a
mov bl, 1
mov byte [rbp + 0xc0], 2
mov rcx, qword [rsp + 0x50]
xor r8d, r8d
mov rdx, r11
call fcn.1401530f0
mov qword [rbp + 0x68], rax
test rax, rax
je 0x140199e60
mov byte [rax + 0x18], bl
movzx r13d, byte [rbp + 0xc0]
jmp 0x140199e74
xor r13b, r13b
mov byte [rbp + 0xc0], r13b
lea rdx, [rbp - 0x10]
mov rcx, r15
call fcn.140197440
mov r10, qword [rsp + 0x50]
cmp byte [r10 + 0x67], dil
jne 0x14019a135
mov rbx, qword [rsp + 0x68]
test rbx, rbx
je 0x14019af9d
cmp dword [r15 + 0x30], 1
mov r13, rdi
mov qword [rbp - 0x50], rdi
mov word [rbp + 0xc0], di
jne 0x140199fa0
mov rax, qword [r15 + 0x28]
cmp dword [rax + 0x10], edi
jl 0x140199fa0
mov rax, qword [rax]
test rax, rax
je 0x140199fa0
test dword [rax + 4], 0x1000
jne 0x140199fa0
mov rcx, qword [rax + 0x20]
test rcx, rcx
je 0x140199fa0
mov rdx, qword [rcx + 8]
test rdx, rdx
je 0x140199f0a
xor r9d, r9d
xor r8d, r8d
mov rcx, r10
call fcn.140152b90
mov r10, qword [rsp + 0x50]
mov rbx, rax
jmp 0x140199f0d
mov rbx, rdi
mov rdx, qword [rsp + 0x68]
xor r8d, r8d
mov rcx, r10
call fcn.1401530f0
mov qword [rbp - 0x50], rax
mov r13, rax
test rax, rax
jne 0x140199f3d
mov rcx, qword [rsi]
mov rdx, rbx
call fcn.140153a30
mov r13, rax
mov qword [rbp - 0x50], rax
jmp 0x140199f87
movsxd rax, dword [rax]
lea ecx, [rax + 1]
cmp dword [r13 + 4], ecx
jge 0x140199f60
mov rcx, qword [rsi]
mov r8, rbx
mov rdx, r13
call fcn.140153b10
mov r13, rax
mov qword [rbp - 0x50], rax
jmp 0x140199f87
movups xmm0, xmmword [0x140337450]
shl rax, 5
movups xmm1, xmmword [0x140337460]
mov dword [r13], ecx
movups xmmword [rax + r13 + 8], xmm0
movups xmmword [rax + r13 + 0x18], xmm1
mov qword [rax + r13 + 8], rbx
mov rbx, qword [rsp + 0x68]
mov rax, r13
neg rax
sbb ax, ax
and ax, 0x500
mov word [rbp + 0xc0], ax
mov eax, dword [rsi + 0x34]
xor r8d, r8d
mov dword [r15 + 4], eax
mov rdx, rbx
inc dword [rsi + 0x34]
mov rcx, rsi
mov r9d, dword [r15 + 0x20]
call fcn.14018e540
movzx r9d, word [r15 + 2]
mov edx, 0x77
mov r8d, dword [r15 + 4]
mov rcx, r12
mov dword [rsp + 0x30], 0xfffffff8
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], edi
mov qword [rbp - 0x58], rax
call fcn.1401394d0
mov ecx, dword [rsi + 0x44]
xor r8d, r8d
mov dword [rbp + 0x58], eax
mov eax, dword [rsi + 0x38]
inc eax
mov dword [rsp + 0x20], edi
dec ecx
mov dword [rbp - 0x80], eax
mov dword [rsp + 0x7c], ecx
lea edx, [rax + 1]
lea eax, [rcx - 1]
mov dword [rbp + 0xd8], edx
lea r14d, [rdx + 2]
mov dword [rsi + 0x44], eax
mov dword [rsi + 0x38], r14d
mov r9d, edx
mov ecx, dword [rbx]
lea edx, [r8 + 0x47]
add ecx, r14d
mov dword [rbp - 0x68], eax
mov dword [rsi + 0x38], ecx
mov dword [rsp + 0x5c], r14d
lea eax, [rcx + 1]
add ecx, dword [rbx]
mov dword [rsi + 0x38], ecx
mov rcx, r12
mov dword [rsp + 0x78], eax
call fcn.140139160
mov edx, dword [rbx]
lea r8d, [r14 + 1]
dec edx
lea r14, [r12 + 0x90]
movsxd rcx, dword [r14]
add edx, r8d
cmp dword [r12 + 0x94], ecx
jg 0x14019a07c
mov r9d, r8d
mov dword [rsp + 0x20], edx
xor r8d, r8d
mov rcx, r12
lea edx, [r8 + 0x4b]
call fcn.140138f10
jmp 0x14019a0a4
lea eax, [rcx + 1]
mov dword [r14], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r12 + 0x88]
mov qword [rax + rcx*8], 0x4b
mov dword [rax + rcx*8 + 8], r8d
mov dword [rax + rcx*8 + 0xc], edx
mov qword [rax + rcx*8 + 0x10], rdi
mov r9d, dword [rbp - 0x68]
mov edx, 0xa
mov r8d, dword [rsp + 0x5c]
mov rcx, r12
call fcn.1401390f0
mov eax, dword [rsp + 0x60]
mov edx, pe_nt_image_headers64
mov r8, qword [rbp - 0x60]
neg eax
mov dword [rsp + 0x38], edi
mov eax, 0x40
sbb cx, cx
mov r9, rbx
and cx, 0x200
cmp byte [rbp - 0x78], 2
cmove ax, dx
mov rdx, qword [rsp + 0x48]
or cx, ax
mov rax, qword [rbp + 0xc8]
or cx, word [rbp + 0xc0]
mov word [rsp + 0x30], cx
mov rcx, rsi
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r13
call fcn.1401b85a0
mov qword [rbp - 0x60], rax
mov rcx, rax
test rax, rax
jne 0x14019a158
test r13, r13
je 0x14019a130
mov rcx, qword [rsp + 0x50]
mov rdx, r13
call fcn.140154040
mov r10, qword [rsp + 0x50]
mov r13d, 1
mov rax, qword [rbp + 0x68]
test rax, rax
je 0x140198da9
mov rdx, rax
mov rcx, r10
call fcn.140154040
jmp 0x140198da9
cmp qword [rsi + 0x60], rdi
je 0x14019a1be
mov r9d, dword [r15 + 0x24]
mov dword [r15 + 0x20], r9d
cmp word [r15 + 2], di
jbe 0x14019a1ae
mov rax, qword [rbp + 0xc8]
mov r8d, edi
mov rax, qword [rax + 0x38]
mov ecx, dword [rax]
dec ecx
test r9d, r9d
jle 0x14019a1a6
mov rdx, qword [r15 + 0x18]
add rdx, 0x16
nop dword [rax]
movsx eax, word [rdx]
lea rdx, [rdx + 0x18]
cmp eax, ecx
cmovle eax, ecx
inc r8d
mov ecx, eax
cmp r8d, r9d
jl 0x14019a190
inc cx
mov word [r15 + 2], cx
lea rdx, [rbp - 0x10]
mov rcx, r15
call fcn.140197440
mov rcx, qword [rbp - 0x60]
mov eax, dword [rsi + 0x38]
inc eax
mov dword [r15 + 0xc], eax
mov eax, dword [r15 + 0x30]
add eax, dword [r15 + 0x20]
add dword [rsi + 0x38], eax
movsx edx, byte [rcx + 0x41]
movzx eax, byte [rcx + 0x43]
test dl, dl
mov ecx, edi
mov dword [rbp - 0x64], eax
cmovns ecx, edx
cmp ecx, dword [rbx]
jne 0x14019a1f1
mov dword [rsp + 0x58], edi
jmp 0x14019a585
cmp byte [rbp - 0x78], dil
je 0x14019a20b
mov rax, qword [rbp + 0xc8]
lea r9, str.DISTINCT
test byte [rax + 4], 1
je 0x14019a212
lea r9, str.GROUP_BY
lea r8, [0x140327ab8]
xor edx, edx
mov rcx, rsi
call fcn.140139870
mov edx, dword [rbx]
mov ebx, edx
mov eax, dword [r15 + 0x20]
mov dword [rsp + 0x58], 1
mov dword [rsp + 0x48], edx
test eax, eax
jle 0x14019a270
mov r8, qword [r15 + 0x18]
mov r9d, eax
add r8, 0x16
nop word [rax + rax]
movsx ecx, word [r8]
lea eax, [rbx + 1]
cmp ecx, edx
lea r8, [r8 + 0x18]
cmovl eax, ebx
mov ebx, eax
lea eax, [rdx + 1]
cmovl eax, edx
mov edx, eax
sub r9, 1
jne 0x14019a250
cmp ebx, 1
jne 0x14019a2a3
movzx eax, byte [rsi + 0x1f]
lea r13, [rsi + 0x1f]
test al, al
jne 0x14019a28d
inc dword [rsi + 0x38]
mov eax, dword [rsi + 0x38]
mov dword [rsp + 0x40], eax
jmp 0x14019a2d1
dec al
movzx eax, al
mov byte [r13], al
mov eax, dword [rsi + rax*4 + 0xd0]
mov dword [rsp + 0x40], eax
jmp 0x14019a2d1
mov edx, dword [rsi + 0x28]
mov ecx, dword [rsi + 0x2c]
mov dword [rsp + 0x40], ecx
cmp ebx, edx
jg 0x14019a2be
lea eax, [rcx + rbx]
sub edx, ebx
mov dword [rsi + 0x2c], eax
mov dword [rsi + 0x28], edx
jmp 0x14019a2cd
mov eax, dword [rsi + 0x38]
lea ecx, [rax + 1]
add eax, ebx
mov dword [rsi + 0x38], eax
mov dword [rsp + 0x40], ecx
lea r13, [rsi + 0x1f]
mov r8d, dword [rsp + 0x40]
xor r9d, r9d
mov rdx, qword [rsp + 0x68]
mov rcx, rsi
mov byte [rsp + 0x20], dil
call fcn.14015a940
mov r8d, edi
mov byte [r15], 1
mov dword [rsp + 0x44], edi
cmp dword [r15 + 0x20], edi
jle 0x14019a367
mov r14d, dword [rsp + 0x48]
mov rcx, rdi
mov edi, dword [rsp + 0x40]
mov qword [rbp - 0x48], rcx
nop dword [rax]
mov rdx, qword [r15 + 0x18]
movsx eax, word [rdx + rcx + 0x16]
cmp eax, r14d
jl 0x14019a340
mov rdx, qword [rdx + rcx + 8]
lea r8d, [rdi + r14]
mov rcx, rsi
call fcn.14015a780
mov rcx, qword [rbp - 0x48]
inc r14d
mov r8d, dword [rsp + 0x44]
mov rax, r13
jmp 0x14019a344
lea rax, [rsi + 0x1f]
inc r8d
add rcx, 0x18
mov dword [rsp + 0x44], r8d
mov qword [rbp - 0x48], rcx
cmp r8d, dword [r15 + 0x20]
jl 0x14019a310
mov r13, rax
lea r14, [r12 + 0x90]
xor edi, edi
mov byte [r15], 0
movzx eax, byte [r13]
test al, al
jne 0x14019a37d
inc dword [rsi + 0x38]
mov r8d, dword [rsi + 0x38]
jmp 0x14019a38e
dec al
movzx eax, al
mov byte [r13], al
mov r8d, dword [rsi + rax*4 + 0xd0]
movsxd rcx, dword [r14]
mov dword [rsp + 0x44], r8d
cmp dword [r12 + 0x94], ecx
jg 0x14019a3c1
mov dword [rsp + 0x20], r8d
mov r9d, ebx
mov r8d, dword [rsp + 0x40]
mov edx, 0x61
mov rcx, r12
call fcn.140138f10
mov r8d, dword [rsp + 0x44]
jmp 0x14019a3f0
mov edx, dword [rsp + 0x40]
lea eax, [rcx + 1]
mov dword [r14], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r12 + 0x88]
mov dword [rax + rcx*8], 0x61
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 8], ebx
mov dword [rax + rcx*8 + 0xc], r8d
mov qword [rax + rcx*8 + 0x10], rdi
movsxd rcx, dword [r14]
mov edx, dword [r15 + 4]
cmp dword [r12 + 0x94], ecx
jg 0x14019a41f
mov r9d, r8d
mov dword [rsp + 0x20], edi
mov r8d, edx
mov rcx, r12
mov edx, 0x8b
call fcn.140138f10
mov r8d, dword [rsp + 0x44]
jmp 0x14019a44a
lea eax, [rcx + 1]
mov dword [r14], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r12 + 0x88]
mov dword [rax + rcx*8], 0x8b
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 8], r8d
mov dword [rax + rcx*8 + 0xc], edi
mov qword [rax + rcx*8 + 0x10], rdi
test r8d, r8d
je 0x14019a464
movzx eax, byte [r13]
cmp al, 8
jae 0x14019a464
mov dword [rsi + rax*4 + 0xd0], r8d
inc byte [r13]
cmp ebx, 1
jne 0x14019a487
mov ecx, dword [rsp + 0x40]
test ecx, ecx
je 0x14019a496
movzx eax, byte [r13]
cmp al, 8
jae 0x14019a496
mov dword [rsi + rax*4 + 0xd0], ecx
inc byte [r13]
jmp 0x14019a496
cmp ebx, dword [rsi + 0x28]
jle 0x14019a496
mov eax, dword [rsp + 0x40]
mov dword [rsi + 0x2c], eax
mov dword [rsi + 0x28], ebx
mov rcx, qword [rbp - 0x60]
call fcn.1401b9880
mov edx, dword [rsi + 0x34]
mov dword [r15 + 8], edx
inc dword [rsi + 0x34]
movzx eax, byte [r13]
mov dword [rsp + 0x40], edx
test al, al
jne 0x14019a4bf
inc dword [rsi + 0x38]
mov r8d, dword [rsi + 0x38]
jmp 0x14019a4d0
dec al
movzx eax, al
mov byte [r13], al
mov r8d, dword [rsi + rax*4 + 0xd0]
movsxd rcx, dword [r14]
mov dword [rsp + 0x44], r8d
cmp dword [r12 + 0x94], ecx
jg 0x14019a4fb
mov r9d, r8d
mov dword [rsp + 0x20], ebx
mov r8d, edx
mov rcx, r12
mov edx, 0x79
call fcn.140138f10
jmp 0x14019a526
lea eax, [rcx + 1]
mov dword [r14], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r12 + 0x88]
mov dword [rax + rcx*8], 0x79
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 8], r8d
mov dword [rax + rcx*8 + 0xc], ebx
mov qword [rax + rcx*8 + 0x10], rdi
movsxd rcx, dword [r14]
mov edx, dword [r15 + 4]
cmp dword [r12 + 0x94], ecx
jg 0x14019a552
mov r9d, dword [rsp + 0x64]
mov r8d, edx
mov edx, 0x22
mov dword [rsp + 0x20], edi
mov rcx, r12
call fcn.140138f10
jmp 0x14019a580
lea eax, [rcx + 1]
mov dword [r14], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r12 + 0x88]
mov dword [rax + rcx*8 + 4], edx
mov edx, dword [rsp + 0x64]
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8], 0x22
mov dword [rax + rcx*8 + 0xc], edi
mov qword [rax + rcx*8 + 0x10], rdi
mov byte [r15 + 1], 1
cmp qword [rsi + 0x60], 0
je 0x14019a5e3
cmp dword [r15 + 0x30], 0
lea rax, [0x140197690]
xorps xmm0, xmm0
mov qword [rbp + 0x30], rax
xorps xmm1, xmm1
mov qword [rbp + 0x28], rdi
movdqu xmmword [rbp + 0x38], xmm0
mov r13d, edi
movdqu xmmword [rbp + 0x48], xmm1
jle 0x14019a5e3
mov rbx, rdi
nop dword [rax + rax]
mov rax, qword [r15 + 0x28]
mov rdx, qword [rbx + rax]
test rdx, rdx
je 0x14019a5d6
lea rcx, [rbp + 0x28]
call fcn.14014c3a0
inc r13d
add rbx, 0x18
cmp r13d, dword [r15 + 0x30]
jl 0x14019a5c0
cmp dword [rsp + 0x60], 0
mov r9d, dword [rsp + 0x58]
je 0x14019a648
mov rax, qword [rsp + 0x50]
test byte [rax + 0x60], 4
jne 0x14019a648
test r9d, r9d
jne 0x14019a609
mov rax, qword [rbp - 0x60]
test byte [rax + 0x44], 8
je 0x14019a648
mov qword [rbp - 0x40], rdi
mov rcx, qword [r12]
cmp byte [rcx + 0x67], 0
jne 0x14019a648
movsxd rax, dword [rbp - 0x28]
lea rdx, [rax + rax*2]
mov rax, qword [r12 + 0x88]
mov r8, qword [rax + rdx*8 + 0x10]
lea rbx, [rax + rdx*8]
movsx edx, byte [rax + rdx*8 + 1]
call fcn.14013a2e0
mov r9d, dword [rsp + 0x58]
mov word [rbx], 0xb8
mov qword [rbx + 0x10], rdi
movsxd r13, dword [r14]
mov dword [rsp + 0x48], r13d
test r9d, r9d
je 0x14019a685
mov edx, dword [r15 + 4]
cmp dword [r12 + 0x94], r13d
jg 0x14019a6d8
mov eax, dword [rsp + 0x40]
mov r8d, edx
mov r9d, dword [rsp + 0x44]
mov edx, 0x85
mov rcx, r12
mov dword [rsp + 0x20], eax
call fcn.140138f10
mov r9d, dword [rsp + 0x58]
mov edx, dword [rsp + 0x40]
mov rax, qword [rsp + 0x68]
mov ebx, edi
cmp dword [rax], 0
jle 0x14019a777
lea r13, [rax + 8]
nop dword [rax]
mov r8d, dword [rsp + 0x78]
add r8d, ebx
test r9d, r9d
je 0x14019a746
movsxd rcx, dword [r14]
cmp dword [r12 + 0x94], ecx
jg 0x14019a719
mov dword [rsp + 0x20], r8d
mov r9d, ebx
mov r8d, edx
mov rcx, r12
mov edx, 0x5e
call fcn.140138f10
jmp 0x14019a756
mov r8d, dword [rsp + 0x44]
lea eax, [r13 + 1]
mov dword [r14], eax
lea rcx, [r13*2]
mov rax, qword [r12 + 0x88]
add rcx, r13
mov dword [rax + rcx*8 + 4], edx
mov edx, dword [rsp + 0x40]
mov dword [rax + rcx*8 + 0xc], edx
mov dword [rax + rcx*8], 0x85
mov dword [rax + rcx*8 + 8], r8d
mov qword [rax + rcx*8 + 0x10], rdi
jmp 0x14019a689
lea eax, [rcx + 1]
mov dword [r14], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r12 + 0x88]
mov dword [rax + rcx*8], 0x5e
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 8], ebx
mov dword [rax + rcx*8 + 0xc], r8d
mov qword [rax + rcx*8 + 0x10], rdi
jmp 0x14019a75f
mov byte [r15], 1
mov rcx, rsi
mov rdx, qword [r13]
call fcn.14015a780
mov r9d, dword [rsp + 0x58]
mov edx, dword [rsp + 0x40]
mov rax, qword [rsp + 0x68]
inc ebx
add r13, 0x20
cmp ebx, dword [rax]
jl 0x14019a6a0
mov r13d, dword [rsp + 0x48]
mov r10, qword [rbp - 0x58]
test r10, r10
je 0x14019a783
inc dword [r10]
movsxd rdx, dword [r14]
mov r8d, dword [rax]
cmp dword [r12 + 0x94], edx
jg 0x14019a7ba
mov r9d, dword [rsp + 0x78]
mov edx, 0x5a
mov dword [rsp + 0x20], r8d
mov rcx, r12
mov r8d, dword [rsp + 0x5c]
inc r8d
call fcn.140138f10
mov r10, qword [rbp - 0x58]
mov edx, eax
jmp 0x14019a7f4
mov r9d, dword [rsp + 0x5c]
lea rcx, [rdx + rdx*2]
lea eax, [rdx + 1]
inc r9d
mov dword [r14], eax
mov rax, qword [r12 + 0x88]
mov dword [rax + rcx*8 + 4], r9d
mov r9d, dword [rsp + 0x78]
mov dword [rax + rcx*8 + 8], r9d
mov dword [rax + rcx*8], 0x5a
mov dword [rax + rcx*8 + 0xc], r8d
mov qword [rax + rcx*8 + 0x10], rdi
mov rax, qword [r12]
cmp byte [rax + 0x67], 0
je 0x14019a821
cmp qword [rax + 0x2e8], 0
jne 0x14019a864
test r10, r10
je 0x14019a864
add dword [r10], 0xffffffff
jne 0x14019a864
mov rcx, qword [r10 + 0x10]
mov rdx, r10
call fcn.14010e270
jmp 0x14019a864
test edx, edx
jns 0x14019a82a
mov edx, dword [r14]
dec edx
movsxd rax, edx
lea rcx, [rax + rax*2]
mov rax, qword [r12 + 0x88]
cmp byte [rax + rcx*8 + 1], 0
lea rdx, [rax + rcx*8]
je 0x14019a857
mov r9d, 0xfffffff8
mov r8, r10
mov rcx, r12
call fcn.14013a530
jmp 0x14019a864
test r10, r10
je 0x14019a864
mov qword [rdx + 0x10], r10
mov byte [rdx + 1], 0xf8
movsxd rbx, dword [r14]
lea edx, [rbx + 1]
cmp dword [r12 + 0x94], ebx
jg 0x14019a88c
xor r9d, r9d
mov dword [rsp + 0x20], edx
mov r8d, edx
mov rcx, r12
lea edx, [r9 + 0xe]
call fcn.140138f10
jmp 0x14019a8b3
mov rax, qword [r12 + 0x88]
lea rcx, [rbx + rbx*2]
mov dword [r14], edx
mov dword [rax + rcx*8], recv
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 8], edi
mov dword [rax + rcx*8 + 0xc], edx
mov qword [rax + rcx*8 + 0x10], rdi
mov r10, qword [rsi + 0x10]
mov rdx, qword [rsp + 0x68]
mov r8d, dword [rsp + 0x78]
movsxd rcx, dword [r10 + 0x90]
mov edx, dword [rdx]
cmp dword [r10 + 0x94], ecx
jg 0x14019a8ee
mov r9d, dword [rsp + 0x5c]
mov rcx, r10
mov dword [rsp + 0x20], edx
inc r9d
mov edx, 0x4f
call fcn.140138f10
jmp 0x14019a925
lea eax, [rcx + 1]
mov dword [r10 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r10 + 0x88]
mov dword [rax + rcx*8 + 4], r8d
mov r8d, dword [rsp + 0x5c]
inc r8d
mov dword [rax + rcx*8], 0x4f
mov dword [rax + rcx*8 + 8], r8d
mov dword [rax + rcx*8 + 0xc], edx
mov qword [rax + rcx*8 + 0x10], rdi
movsxd rcx, dword [r14]
mov r8d, dword [rbp + 0xd8]
cmp dword [r12 + 0x94], ecx
jg 0x14019a95b
mov r9d, dword [rsp + 0x7c]
inc r8d
mov edx, 0xa
mov dword [rsp + 0x20], edi
mov rcx, r12
call fcn.140138f10
mov r8d, dword [rbp + 0xd8]
jmp 0x14019a98d
lea eax, [rcx + 1]
mov dword [r14], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r12 + 0x88]
lea edx, [r8 + 1]
mov dword [rax + rcx*8 + 4], edx
mov edx, dword [rsp + 0x7c]
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8], 0xa
mov dword [rax + rcx*8 + 0xc], edi
mov qword [rax + rcx*8 + 0x10], rdi
movsxd rcx, dword [r14]
cmp dword [r12 + 0x94], ecx
jg 0x14019a9b2
mov r9d, dword [rsp + 0x64]
mov edx, 0x3b
mov rcx, r12
mov dword [rsp + 0x20], edi
call fcn.140138f10
jmp 0x14019a9e1
mov edx, dword [rsp + 0x64]
lea eax, [rcx + 1]
mov dword [r14], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r12 + 0x88]
mov dword [rax + rcx*8], 0x3b
mov dword [rax + rcx*8 + 4], r8d
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], edi
mov qword [rax + rcx*8 + 0x10], rdi
movsxd rcx, dword [r14]
cmp dword [r12 + 0x94], ecx
jg 0x14019aa0a
mov r9d, dword [rbp - 0x68]
mov edx, 0xa
mov r8d, dword [rsp + 0x5c]
mov rcx, r12
mov dword [rsp + 0x20], edi
call fcn.140138f10
jmp 0x14019aa3b
mov edx, dword [rsp + 0x5c]
lea eax, [rcx + 1]
mov dword [r14], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r12 + 0x88]
mov dword [rax + rcx*8 + 4], edx
mov edx, dword [rbp - 0x68]
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8], 0xa
mov dword [rax + rcx*8 + 0xc], edi
mov qword [rax + rcx*8 + 0x10], rdi
mov rax, qword [r12]
mov edx, dword [r14]
cmp byte [rax + 0x67], 0
je 0x14019aa51
lea rax, [0x1404047a0]
jmp 0x14019aa61
mov rax, qword [r12 + 0x88]
lea rcx, [rbx + rbx*2]
lea rax, [rax + rcx*8]
mov ebx, dword [rbp - 0x80]
mov r8, r15
mov r9d, dword [rbp - 0x64]
mov rcx, rsi
mov dword [rax + 8], edx
mov edx, ebx
call fcn.140197a90
movsxd rcx, dword [r14]
cmp dword [r12 + 0x94], ecx
jg 0x14019aa9f
mov edx, 0x47
mov dword [rsp + 0x20], edi
mov r9d, ebx
mov rcx, r12
lea r8d, [rdx - 0x46]
call fcn.140138f10
jmp 0x14019aacd
lea eax, [rcx + 1]
mov dword [r14], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r12 + 0x88]
mov dword [rax + rcx*8], 0x47
mov dword [rax + rcx*8 + 4], 1
mov dword [rax + rcx*8 + 8], ebx
mov dword [rax + rcx*8 + 0xc], edi
mov qword [rax + rcx*8 + 0x10], rdi
cmp dword [rsp + 0x58], 0
je 0x14019ab2b
movsxd rcx, dword [r14]
mov edx, dword [r15 + 4]
cmp dword [r12 + 0x94], ecx
jg 0x14019aafe
mov r8d, edx
mov dword [rsp + 0x20], edi
mov edx, 0x25
mov r9d, r13d
mov rcx, r12
call fcn.140138f10
jmp 0x14019ab6a
lea eax, [rcx + 1]
mov dword [r14], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r12 + 0x88]
mov dword [rax + rcx*8], 0x25
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 8], r13d
mov dword [rax + rcx*8 + 0xc], edi
mov qword [rax + rcx*8 + 0x10], rdi
jmp 0x14019ab6a
mov rcx, qword [rbp - 0x60]
call fcn.1401b9880
mov rcx, qword [r12]
cmp byte [rcx + 0x67], 0
jne 0x14019ab6a
movsxd rax, dword [rbp + 0x58]
lea rdx, [rax + rax*2]
mov rax, qword [r12 + 0x88]
mov r8, qword [rax + rdx*8 + 0x10]
lea rbx, [rax + rdx*8]
movsx edx, byte [rax + rdx*8 + 1]
call fcn.14013a2e0
mov word [rbx], 0xb8
mov qword [rbx + 0x10], rdi
mov rdx, qword [rbp - 0x50]
test rdx, rdx
je 0x14019ab7d
mov rcx, qword [rsp + 0x50]
call fcn.140154040
mov ebx, dword [rbp + 0xd8]
movsxd rcx, dword [r14]
inc ebx
cmp dword [r12 + 0x94], ecx
jg 0x14019abad
mov r9d, dword [rsp + 0x7c]
mov r8d, ebx
mov edx, 0xa
mov dword [rsp + 0x20], edi
mov rcx, r12
call fcn.140138f10
jmp 0x14019abdb
mov edx, dword [rsp + 0x7c]
lea eax, [rcx + 1]
mov dword [r14], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r12 + 0x88]
mov dword [rax + rcx*8], 0xa
mov dword [rax + rcx*8 + 4], ebx
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], edi
mov qword [rax + rcx*8 + 0x10], rdi
movsxd rcx, dword [r14]
cmp dword [r12 + 0x94], ecx
jg 0x14019ac02
mov r9d, dword [rsp + 0x64]
xor r8d, r8d
mov rcx, r12
mov dword [rsp + 0x20], edi
lea edx, [r8 + 9]
call fcn.140138f10
jmp 0x14019ac2d
mov edx, dword [rsp + 0x64]
lea eax, [rcx + 1]
mov dword [r14], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r12 + 0x88]
mov qword [rax + rcx*8], 9
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], edi
mov qword [rax + rcx*8 + 0x10], rdi
movsxd r13, dword [r14]
cmp dword [r12 + 0x94], r13d
jg 0x14019ac58
mov r9d, dword [rbp + 0xd8]
mov edx, 0x47
mov rcx, r12
mov dword [rsp + 0x20], edi
lea r8d, [rdx - 0x46]
call fcn.140138f10
jmp 0x14019ac94
mov edx, dword [rbp + 0xd8]
lea eax, [r13 + 1]
mov dword [r14], eax
lea rcx, [r13*2]
mov rax, qword [r12 + 0x88]
add rcx, r13
mov dword [rax + rcx*8], 0x47
mov dword [rax + rcx*8 + 4], 1
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], edi
mov qword [rax + rcx*8 + 0x10], rdi
movsxd rcx, dword [r14]
cmp dword [r12 + 0x94], ecx
jg 0x14019acb9
xor r9d, r9d
mov dword [rsp + 0x20], edi
mov r8d, ebx
mov rcx, r12
lea edx, [r9 + 0x43]
call fcn.140138f10
jmp 0x14019ace4
lea eax, [rcx + 1]
mov dword [r14], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r12 + 0x88]
mov dword [rax + rcx*8], 0x43
mov dword [rax + rcx*8 + 4], ebx
mov qword [rax + rcx*8 + 8], 0
mov qword [rax + rcx*8 + 0x10], rdi
mov rcx, qword [r12 + 0x18]
lea rbx, [r12 + 0x18]
mov edx, dword [rsp + 0x7c]
not edx
mov eax, dword [rcx + 0x48]
add eax, dword [rcx + 0x44]
jns 0x14019ad09
mov r8d, edx
mov rdx, r12
call fcn.140139c10
jmp 0x14019ad17
mov rcx, qword [rcx + 0x50]
mov eax, dword [r14]
movsxd r8, edx
mov dword [rcx + r8*4], eax
movsxd rax, dword [r14]
lea ecx, [rax + 1]
lea r8d, [rax + 2]
mov dword [rsp + 0x60], ecx
cmp dword [r12 + 0x94], eax
jg 0x14019ad49
mov r9d, r8d
mov dword [rsp + 0x20], edi
mov r8d, dword [rbp - 0x80]
mov edx, 0x3b
mov rcx, r12
call fcn.140138f10
jmp 0x14019ad74
mov edx, dword [rbp - 0x80]
mov dword [r14], ecx
lea rcx, [rax + rax*2]
mov rax, qword [r12 + 0x88]
mov dword [rax + rcx*8], 0x3b
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 8], r8d
mov dword [rax + rcx*8 + 0xc], edi
mov qword [rax + rcx*8 + 0x10], rdi
movsxd rcx, dword [r14]
cmp dword [r12 + 0x94], ecx
jg 0x14019ada0
mov r8d, dword [rbp + 0xd8]
xor r9d, r9d
inc r8d
mov dword [rsp + 0x20], edi
mov rcx, r12
lea edx, [r9 + 0x43]
call fcn.140138f10
jmp 0x14019add3
mov edx, dword [rbp + 0xd8]
lea eax, [rcx + 1]
mov dword [r14], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r12 + 0x88]
inc edx
mov dword [rax + rcx*8], 0x43
mov dword [rax + rcx*8 + 4], edx
mov qword [rax + rcx*8 + 8], 0
mov qword [rax + rcx*8 + 0x10], rdi
mov rdx, r15
mov rcx, rsi
call fcn.140197970
mov r8d, dword [rsp + 0x60]
mov r9d, reloc.WS2_32.dll_recv
mov rdx, qword [rsp + 0x70]
mov rcx, rsi
call fcn.14015b1c0
mov eax, dword [rsp + 0x60]
lea r9, [rbp - 0x40]
mov rdx, qword [rbp + 0xc8]
mov r8d, 0xffffffff
mov dword [rsp + 0x38], r13d
mov rcx, rsi
mov dword [rsp + 0x30], eax
mov rax, qword [rbp + 0xd0]
mov qword [rsp + 0x28], rax
lea rax, [rbp - 0x78]
mov qword [rsp + 0x20], rax
call fcn.14018d880
movsxd rcx, dword [r14]
cmp dword [r12 + 0x94], ecx
jg 0x14019ae5d
mov r8d, dword [rbp + 0xd8]
xor r9d, r9d
inc r8d
mov dword [rsp + 0x20], edi
mov rcx, r12
lea edx, [r9 + 0x43]
call fcn.140138f10
jmp 0x14019ae90
mov edx, dword [rbp + 0xd8]
lea eax, [rcx + 1]
mov dword [r14], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r12 + 0x88]
inc edx
mov dword [rax + rcx*8], 0x43
mov dword [rax + rcx*8 + 4], edx
mov qword [rax + rcx*8 + 8], 0
mov qword [rax + rcx*8 + 0x10], rdi
mov rcx, qword [rbx]
mov edx, dword [rbp - 0x68]
not edx
mov eax, dword [rcx + 0x48]
add eax, dword [rcx + 0x44]
jns 0x14019aead
mov r8d, edx
mov rdx, r12
call fcn.140139c10
jmp 0x14019aebb
mov rcx, qword [rcx + 0x50]
mov eax, dword [r14]
movsxd r8, edx
mov dword [rcx + r8*4], eax
mov rdx, r15
mov rcx, rsi
call fcn.140197790
movsxd rcx, dword [r14]
cmp dword [r12 + 0x94], ecx
jg 0x14019aeec
mov r9d, dword [rbp - 0x80]
xor r8d, r8d
mov rcx, r12
mov dword [rsp + 0x20], edi
lea edx, [r8 + 0x47]
call fcn.140138f10
jmp 0x14019af16
mov edx, dword [rbp - 0x80]
lea eax, [rcx + 1]
mov dword [r14], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r12 + 0x88]
mov qword [rax + rcx*8], 0x47
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], edi
mov qword [rax + rcx*8 + 0x10], rdi
movsxd rcx, dword [r14]
cmp dword [r12 + 0x94], ecx
jg 0x14019af3d
mov r8d, dword [rsp + 0x5c]
xor r9d, r9d
mov rcx, r12
mov dword [rsp + 0x20], edi
lea edx, [r9 + 0x43]
call fcn.140138f10
jmp 0x14019af6c
mov edx, dword [rsp + 0x5c]
lea eax, [rcx + 1]
mov dword [r14], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r12 + 0x88]
mov dword [rax + rcx*8], 0x43
mov dword [rax + rcx*8 + 4], edx
mov qword [rax + rcx*8 + 8], 0
mov qword [rax + rcx*8 + 0x10], rdi
cmp word [rbp + 0xc0], 0
je 0x14019af93
mov eax, dword [rbp - 0x64]
test eax, eax
je 0x14019af93
mov r8, qword [r15 + 0x28]
mov edx, eax
mov rcx, rsi
mov r9d, dword [r8 + 0x14]
mov r8d, dword [r8 + 0x10]
call fcn.14018d7b0
mov r15d, dword [rsp + 0x64]
jmp 0x14019b4f9
cmp qword [r14 + 0x30], rdi
jne 0x14019b2e7
mov rdx, qword [r14 + 0x20]
cmp dword [rdx], 1
jne 0x14019b2e7
mov r14, qword [r14 + 0x28]
cmp dword [r14], 1
jne 0x14019b2e7
cmp qword [r14 + 0x30], rdi
jne 0x14019b2e7
cmp dword [r15 + 0x30], 1
jne 0x14019b2e7
mov r9, qword [rbp + 0xc8]
cmp qword [r9 + 0x40], rdi
jne 0x14019b2e7
mov r14, qword [r14 + 0x28]
mov qword [rbp - 0x48], r14
cmp byte [r14 + 0x3f], dil
jne 0x14019b2e7
mov rdx, qword [rdx + 8]
cmp byte [rdx], 0xa8
jne 0x14019b2e7
cmp qword [rdx + 0x38], r15
jne 0x14019b2e7
mov rax, qword [r15 + 0x28]
mov rcx, qword [rax + 8]
test dword [rcx + 4], 0x100
je 0x14019b2e7
test dword [rdx + 4], 0x1000004
jne 0x14019b2e7
mov rdx, qword [r14 + 0x60]
mov r13d, 0xffff8000
test rdx, rdx
je 0x14019b06c
mov rax, qword [rsi]
mov r13d, edi
mov rcx, qword [rax + 0x20]
add rcx, 0x18
cmp qword [rcx], rdx
je 0x14019b06c
nop word [rax + rax]
inc r13d
lea rcx, [rcx + 0x20]
cmp qword [rcx], rdx
jne 0x14019b060
mov eax, dword [rsi + 0x34]
mov rcx, rsi
mov dword [rbp + 0xd8], eax
mov r8, rdi
inc eax
mov qword [rbp - 0x58], rdi
mov dword [rsi + 0x34], eax
mov rbx, rdi
mov eax, dword [r14 + 0x28]
mov dword [rbp + 0xc0], eax
mov rax, qword [rsi + 0x98]
test rax, rax
cmovne rcx, rax
mov eax, dword [rcx + 0x7c]
bt eax, r13d
jb 0x14019b0c4
bts eax, r13d
mov dword [rcx + 0x7c], eax
cmp r13d, 1
jne 0x14019b0c4
call fcn.1401700d0
mov r9, qword [rbp + 0xc8]
mov r8, rdi
test byte [r14 + 0x30], 0x80
je 0x14019b0e6
mov rbx, qword [r14 + 0x10]
test rbx, rbx
je 0x14019b0e6
mov eax, dword [rbx + 0x64]
and al, 3
cmp al, 2
je 0x14019b0e6
mov rbx, qword [rbx + 0x28]
test rbx, rbx
jne 0x14019b0d4
mov rax, qword [r9 + 0x28]
test byte [rax + 0x48], 1
jne 0x14019b12e
mov rax, qword [r14 + 0x10]
test rax, rax
je 0x14019b12e
nop dword [rax]
test byte [rax + 0x64], 4
jne 0x14019b125
movzx ecx, word [rax + 0x5c]
cmp cx, word [r14 + 0x3c]
jge 0x14019b125
cmp qword [rax + 0x48], rdi
jne 0x14019b125
test rbx, rbx
je 0x14019b122
cmp cx, word [rbx + 0x5c]
jge 0x14019b125
mov rbx, rax
mov rax, qword [rax + 0x28]
test rax, rax
jne 0x14019b100
test rbx, rbx
je 0x14019b14e
mov eax, dword [rbx + 0x58]
mov rdx, rbx
mov rcx, rsi
mov dword [rbp + 0xc0], eax
call fcn.140170cd0
mov r8, rax
mov qword [rbp - 0x58], rax
lea r14, [r12 + 0x90]
movsxd rcx, dword [r14]
cmp dword [r12 + 0x94], ecx
jg 0x14019b194
mov r9d, dword [rbp + 0xc0]
mov edx, reloc.WS2_32.dll_WSASetLastError
mov dword [rsp + 0x28], 1
mov rcx, r12
mov dword [rsp + 0x20], r13d
mov r13d, dword [rbp + 0xd8]
mov r8d, r13d
call fcn.140138f70
mov r8, qword [rbp - 0x58]
jmp 0x14019b1d5
mov edx, dword [rbp + 0xd8]
lea eax, [rcx + 1]
mov dword [r14], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r12 + 0x88]
mov dword [rax + rcx*8 + 4], edx
mov edx, dword [rbp + 0xc0]
mov dword [rax + rcx*8 + 0xc], r13d
mov r13d, dword [rbp + 0xd8]
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8], 0xfd70
mov dword [rax + rcx*8 + 0x10], 1
test r8, r8
je 0x14019b237
mov rax, qword [r12]
cmp byte [rax + 0x67], dil
je 0x14019b201
cmp qword [rax + 0x2e8], rdi
jne 0x14019b237
add dword [r8], 0xffffffff
jne 0x14019b237
mov rcx, qword [r8 + 0x10]
mov rdx, r8
call fcn.14010e270
jmp 0x14019b237
movsxd rax, dword [r14]
lea rdx, [rax + rax*2]
mov rax, qword [r12 + 0x88]
lea rdx, [rdx - 3]
cmp byte [rax + rdx*8 + 1], dil
lea rdx, [rax + rdx*8]
je 0x14019b22f
mov r9d, 0xfffffff8
mov rcx, r12
call fcn.14013a530
jmp 0x14019b237
mov qword [rdx + 0x10], r8
mov byte [rdx + 1], 0xf8
mov eax, dword [rsi + 0x38]
mov r8d, r13d
inc eax
mov dword [rsp + 0x20], edi
mov dword [r15 + 0xc], eax
mov edx, 0x62
mov eax, dword [r15 + 0x30]
mov rcx, r12
add eax, dword [r15 + 0x20]
add dword [rsi + 0x38], eax
mov r9d, dword [r15 + 0x20]
add r9d, dword [r15 + 0xc]
call fcn.140139160
mov r8d, r13d
mov edx, 0x7a
mov rcx, r12
call fcn.140139080
cmp byte [rsi + 0x11b], 2
jne 0x14019b4a4
mov r9, qword [rbp - 0x48]
test rbx, rbx
je 0x14019b2a9
test byte [r9 + 0x30], 0x80
je 0x14019b29d
mov eax, dword [rbx + 0x64]
and al, 3
cmp al, 2
je 0x14019b2a9
mov rax, qword [rbx]
lea rcx, [0x140321745]
jmp 0x14019b2b6
lea rcx, [0x140321745]
mov dword [rbp - 0x50], edi
mov rax, rcx
cmp dword [rbp - 0x50], edi
lea rdx, str._USING_COVERING_INDEX
mov r9, qword [r9]
lea r8, str.SCAN__s_s_s
cmovne rcx, rdx
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
xor edx, edx
mov rcx, rsi
call fcn.140139870
jmp 0x14019b4a4
mov r14d, edi
mov r8d, dword [r15 + 0x30]
movzx ebx, di
mov qword [rbp + 0xd8], rdi
cmp dword [r15 + 0x24], edi
je 0x14019b35c
mov edx, edi
test r8d, r8d
jle 0x14019b331
mov rcx, qword [r15 + 0x28]
nop dword [rax]
mov rax, qword [rcx]
test dword [rax + 4], 0x1000000
jne 0x14019b326
mov rax, qword [rcx + 8]
test byte [rax + 4], 0x20
jne 0x14019b331
inc edx
add rcx, 0x18
cmp edx, r8d
jl 0x14019b310
cmp edx, r8d
jne 0x14019b357
inc dword [rsi + 0x38]
xor r8d, r8d
mov r14d, dword [rsi + 0x38]
mov rcx, r12
mov r9d, r14d
mov dword [rsp + 0x20], edi
lea edx, [r8 + 0x47]
call fcn.140139160
mov r8d, dword [r15 + 0x30]
mov ecx, r8d
jmp 0x14019b387
mov ecx, r8d
cmp r8d, 1
jne 0x14019b387
mov rax, qword [r15 + 0x28]
cmp dword [rax + 0x10], edi
jl 0x14019b387
mov rax, qword [rax]
mov rax, qword [rax + 0x20]
mov qword [rbp + 0xd8], rax
neg rax
sbb bx, bx
and bx, 0x500
mov eax, dword [rsi + 0x38]
mov rdx, r15
inc eax
mov dword [r15 + 0xc], eax
mov eax, dword [r15 + 0x20]
add eax, ecx
mov rcx, rsi
add dword [rsi + 0x38], eax
call fcn.140197790
mov r9, qword [rbp + 0x68]
mov rcx, rsi
mov r8, qword [rbp - 0x60]
mov rdx, qword [rsp + 0x48]
mov dword [rsp + 0x38], edi
movzx eax, r13b
or ax, bx
mov word [rsp + 0x30], ax
mov rax, qword [rbp + 0xc8]
mov qword [rsp + 0x28], rax
mov rax, qword [rbp + 0xd8]
mov qword [rsp + 0x20], rax
call fcn.1401b85a0
mov rbx, rax
test rax, rax
je 0x14019a130
movzx r13d, byte [rax + 0x43]
mov r8, r15
mov r9d, r13d
mov edx, r14d
mov rcx, rsi
call fcn.140197a90
test r13d, r13d
je 0x14019b424
mov r8, qword [r15 + 0x28]
test r8, r8
je 0x14019b424
mov r9d, dword [r8 + 0x14]
mov edx, r13d
mov r8d, dword [r8 + 0x10]
mov rcx, rsi
call fcn.14018d7b0
test r14d, r14d
je 0x14019b43d
mov edx, 0x47
mov r9d, r14d
mov rcx, r12
lea r8d, [rdx - 0x46]
call fcn.1401390f0
cmp byte [rbp + 0xc0], dil
je 0x14019b489
test byte [rbx + 0x44], 4
je 0x14019b489
cmp byte [rbx + 0x41], dil
je 0x14019b489
movzx ecx, byte [rbx + 0x40]
sub rcx, 1
js 0x14019b47e
imul rdx, rcx, 0x70
add rdx, rbx
mov rax, qword [rdx + 0x3c0]
test byte [rax + 0x38], 4
jne 0x14019b514
sub rdx, 0x70
sub rcx, 1
jns 0x14019b463
mov edx, dword [rbx + 0x34]
mov rcx, r12
call fcn.140139240
mov rcx, rbx
call fcn.1401b9880
mov rdx, r15
mov rcx, rsi
call fcn.140197970
lea r14, [r12 + 0x90]
mov r15d, dword [rsp + 0x64]
mov r9d, reloc.WS2_32.dll_recv
mov rdx, qword [rsp + 0x70]
mov r8d, r15d
mov rcx, rsi
mov qword [rbp - 0x40], rdi
call fcn.14015b1c0
mov rax, qword [rbp + 0xd0]
xor r9d, r9d
mov rdx, qword [rbp + 0xc8]
mov rcx, rsi
mov dword [rsp + 0x38], r15d
mov dword [rsp + 0x30], r15d
mov qword [rsp + 0x28], rax
lea r8d, [r9 - 1]
mov qword [rsp + 0x20], rdi
call fcn.14018d880
lea rbx, [r12 + 0x18]
mov rcx, qword [rbx]
not r15d
mov eax, dword [rcx + 0x48]
add eax, dword [rcx + 0x44]
jns 0x14019b51f
mov r8d, r15d
mov rdx, r12
call fcn.140139c10
jmp 0x14019b52c
mov edx, dword [rdx + 0x370]
jmp 0x14019b481
movsxd rdx, r15d
mov rcx, qword [rcx + 0x50]
mov eax, dword [r14]
mov dword [rcx + rdx*4], eax
cmp byte [rbp - 0x77], 3
jne 0x14019b54a
lea r9, str.DISTINCT
xor edx, edx
lea r8, [0x140327ab8]
mov rcx, rsi
call fcn.140139870
cmp qword [rbp - 0x40], 0
je 0x14019b577
mov r9, qword [rbp + 0x60]
lea r8, [rbp - 0x40]
mov rax, qword [rbp + 0xd0]
mov rcx, rsi
mov rdx, qword [rbp + 0xc8]
mov qword [rsp + 0x20], rax
mov r9d, dword [r9]
call fcn.14018e660
mov rcx, qword [rbx]
mov edx, dword [rbp + 0x5c]
not edx
mov eax, dword [rcx + 0x48]
add eax, dword [rcx + 0x44]
jns 0x14019b594
mov r8d, edx
mov rdx, r12
call fcn.140139c10
jmp 0x14019b5a2
mov r8, qword [rcx + 0x50]
mov eax, dword [r14]
movsxd r9, edx
mov dword [r8 + r9*4], eax
cmp dword [rsi + 0x30], 0
mov eax, edi
mov r10, qword [rsp + 0x50]
setg al
mov r13d, eax
jmp 0x14019a13b
mov eax, r13d
jmp 0x140198d7b