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

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x188
mov rax, qword [0x1401ea8a0]
xor rax, rsp
mov qword [rsp + 0x170], rax
mov rax, qword [rsp + 0x1f0]
mov r11, rcx
mov r15, qword [rsp + 0x1f8]
mov rbp, rdx
mov qword [rsp + 0x48], rcx
xor ebx, ebx
mov qword [rsp + 0x50], rax
lea rcx, [r8 + 0x70]
mov rdi, qword [rax + 0x60]
mov esi, r9d
movzx eax, byte [rax + 0x40]
mov r12, r8
mov qword [rsp + 0xd8], rcx
mov rcx, qword [r11]
mov qword [rsp + 0x98], rcx
imul rcx, rax, 0x68
mov rax, qword [r8 + 8]
add rcx, 8
mov qword [rsp + 0x40], rdx
add rax, rcx
mov dword [rsp + 0x84], r9d
lea rcx, [r8 + 0x258]
mov qword [rsp + 0x70], r8
mov qword [rsp + 0xe0], r15
mov qword [rsp + 0xe8], rbx
mov r14d, dword [rax + 0x44]
mov edx, r14d
mov qword [rsp + 0x60], rbx
mov qword [rsp + 0xa0], rdi
mov qword [rsp + 0xd0], rax
mov dword [rsp + 0x58], r14d
call fcn.1401097a0
mov r10, qword [rsp + 0x50]
not rax
and rax, r15
mov ecx, esi
mov qword [r10 + 0x68], rax
mov r15, qword [r12 + 0x68]
shr r15, cl
mov rcx, r11
and r15d, 1
mov qword [rsp + 0xa8], r15
call fcn.14015b680
mov r13d, eax
mov dword [r10 + 0x10], eax
mov dword [r10 + 0xc], eax
call fcn.14015b680
mov dword [rsp + 0xb4], eax
mov dword [r10 + 0x18], eax
cmp byte [r10 + 0x40], bl
jbe 0x14010c3dd
mov rax, qword [rsp + 0xd0]
test byte [rax + 0x3c], 8
je 0x14010c3dd
mov r9d, dword [r11 + 0x38]
lea edx, [rbx + 0x47]
inc r9d
xor r8d, r8d
mov dword [r11 + 0x38], r9d
mov rcx, rbp
mov dword [r10], r9d
call fcn.14015bc30
mov r10, qword [rsp + 0x50]
mov r11, qword [rsp + 0x48]
mov edx, esi
test esi, esi
jle 0x14010c410
nop dword [rax]
nop word [rax + rax]
mov eax, edx
imul rcx, rax, 0x70
cmp dword [rcx + r12 + 0x360], ebx
jne 0x14010c410
cmp qword [rcx + r12 + 0x398], rbx
jne 0x14010c410
dec edx
test edx, edx
jg 0x14010c3f0
movsxd rax, edx
mov edx, listen
imul rcx, rax, 0x70
mov rax, qword [rsp + 0xd0]
mov r8d, dword [rax + 0x40]
mov r9d, dword [rcx + r12 + 0x36c]
test r8b, 0x20
je 0x14010c47a
mov ebx, dword [rax + 0x34]
xor r9d, r9d
mov eax, dword [rax + 0x30]
mov r8d, ebx
mov rcx, rbp
mov dword [rsp + 0x20], eax
call fcn.14015bbb0
mov r9d, r13d
mov r8d, ebx
mov edx, listen
mov rcx, rbp
call fcn.14015bc30
mov r10, qword [rsp + 0x50]
mov r13, rbp
mov r8, r12
mov dword [r10 + 0x48], eax
mov byte [r10 + 0x41], 9
jmp 0x14010c841
mov edx, dword [rdi + 0x38]
bt edx, 0xa
jae 0x14010c85c
movzx r12d, word [rdi + 0x3c]
mov rcx, r11
mov dword [rsp + 0x80], r12d
lea edx, [r12 + 2]
call fcn.14013f1e0
mov ebp, dword [r10 + 0xc]
mov r13d, eax
mov dword [rsp + 0x84], eax
mov esi, ebx
test r12d, r12d
je 0x14010c5e6
mov r13, qword [rsp + 0xa8]
lea r12d, [rax + 2]
mov r15, rbx
nop dword [rax]
mov rax, qword [rdi + 0x48]
mov r14, qword [r15 + rax]
test r14, r14
je 0x14010c5be
test byte [r14 + 0x14], 1
je 0x14010c570
cmp esi, 0x1f
ja 0x14010c4fc
mov ecx, esi
mov eax, 1
shl eax, cl
jmp 0x14010c4fe
mov eax, ebx
mov rcx, r11
test dword [rdi + 0x30], eax
je 0x14010c54a
mov edi, dword [r11 + 0x34]
mov r8d, edi
inc dword [r11 + 0x38]
mov ebx, dword [r11 + 0x38]
lea eax, [rdi + 1]
mov dword [r11 + 0x34], eax
mov rdx, qword [r14]
call fcn.140143940
mov rcx, qword [rsp + 0x40]
lea r9d, [r12 + rsi]
mov r8d, edi
mov dword [rsp + 0x20], ebx
mov edx, 0xaf
call fcn.14015bbb0
mov rdi, qword [rsp + 0xa0]
xor ebx, ebx
jmp 0x14010c5b4
lea eax, [r12 + rsi]
mov r9d, esi
mov dword [rsp + 0x28], eax
mov r8, r10
mov rdx, r14
mov dword [rsp + 0x20], r13d
call fcn.14010ea20
mov r10, qword [rsp + 0x50]
mov ebp, dword [r10 + 0x10]
jmp 0x14010c5b9
mov rdx, qword [r14]
lea r8d, [r12 + rsi]
mov r9d, 1
mov rcx, r11
mov rdx, qword [rdx + 0x18]
call fcn.14010e530
cmp byte [r14 + 0x17], 0x4a
jne 0x14010c5b4
test byte [rdi + 0x1c], 2
je 0x14010c5b4
mov rax, qword [rsp + 0x70]
xor r8d, r8d
mov rcx, qword [rsp + 0x40]
mov rax, qword [rax + 0x20]
lea edx, [r8 + 0x47]
mov r9d, dword [rax + 0xc]
call fcn.14015bc30
mov r10, qword [rsp + 0x50]
mov r11, qword [rsp + 0x48]
inc esi
add r15, 8
cmp esi, dword [rsp + 0x80]
jl 0x14010c4d0
mov r13d, dword [rsp + 0x84]
mov r12d, dword [rsp + 0x80]
mov r14d, dword [rsp + 0x58]
mov r8d, dword [rdi + 0x18]
mov r9d, r13d
mov rcx, qword [rsp + 0x40]
mov edx, 0x47
call fcn.14015bc30
mov rcx, qword [rsp + 0x40]
lea r9d, [r13 + 1]
mov r8d, r12d
mov edx, 0x47
call fcn.14015bc30
test byte [rdi + 0x1c], 1
mov ecx, 0xfffffffa
mov eax, 0xffffffff
mov r9d, ebp
mov rbp, qword [rsp + 0x40]
cmovne eax, ecx
mov dword [rsp + 0x30], eax
mov r8d, r14d
mov rax, qword [rdi + 0x28]
lea edx, [rcx + 0xc]
mov qword [rsp + 0x28], rax
mov rcx, rbp
mov dword [rsp + 0x20], r13d
call fcn.14015b9a0
mov rdx, qword [rsp + 0x98]
and dword [rdi + 0x1c], 0xfffffffe
cmp byte [rdx + 0x67], 0
je 0x14010c665
mov qword [rdi + 0x28], 0
mov r10, qword [rsp + 0x50]
mov eax, 0x3f
mov r8, qword [rsp + 0x70]
mov rcx, rbp
mov dword [r10 + 0x44], r14d
mov r14d, 0xb9
cmp byte [r8 + 0x42], 0
cmovne eax, r14d
mov byte [r10 + 0x41], al
call fcn.14015b400
xor ebx, ebx
mov dword [r10 + 0x48], eax
test r12d, r12d
je 0x14010ddd0
xor r15d, r15d
lea esi, [r13 + 2]
nop dword [rax]
mov rax, qword [rdi + 0x48]
mov r14, qword [r15 + rax]
cmp ebx, 0x10
jae 0x14010c6db
movzx eax, word [rdi + 0x22]
movzx ecx, bx
shr ax, cl
test al, 1
je 0x14010c6db
mov rdx, r14
mov rcx, r10
call fcn.14010f240
jmp 0x14010c822
test byte [r14 + 0x14], 1
je 0x14010c82a
cmp ebx, 0x1f
ja 0x14010c6f6
mov ecx, ebx
mov eax, 1
shl eax, cl
jmp 0x14010c6f8
xor eax, eax
test dword [rdi + 0x30], eax
jne 0x14010c82a
cmp byte [rdx + 0x67], 0
jne 0x14010c82a
mov edi, dword [r10 + 0x50]
xor r11d, r11d
test edi, edi
jle 0x14010c775
mov r9, qword [r10 + 0x58]
add r9, 4
nop
mov edx, dword [r9]
mov rcx, rbp
call fcn.14015acf0
mov r10, rax
movzx ecx, byte [rax]
cmp cl, 0x5e
jne 0x14010c73f
lea eax, [rsi + rbx]
cmp dword [r10 + 0xc], eax
jmp 0x14010c74b
cmp cl, 0x87
jne 0x14010c74d
lea eax, [rsi + rbx]
cmp dword [r10 + 8], eax
je 0x14010c75b
inc r11d
add r9, 0x14
cmp r11d, edi
jl 0x14010c720
jmp 0x14010c775
mov eax, dword [r10 + 0xc]
mov edx, ecx
mov r9d, dword [r10 + 8]
mov rcx, rbp
mov r8d, dword [r10 + 4]
mov dword [rsp + 0x20], eax
call fcn.14015bbb0
mov r13, qword [rsp + 0x48]
xor r9d, r9d
xor r8d, r8d
mov rcx, r13
lea edx, [r9 + 0x35]
call fcn.1401466f0
mov r9, qword [rsp + 0x98]
mov rdi, rax
cmp byte [r9 + 0x67], 0
jne 0x14010c80a
mov rax, qword [r14]
movsxd rcx, dword [r14 + 0x24]
mov rdx, qword [rax + 0x10]
test ecx, ecx
jle 0x14010c7ba
mov rax, qword [rdx + 0x20]
shl rcx, 5
mov rdx, qword [rcx + rax - 0x18]
mov qword [rdi + 0x10], rdx
xor r8d, r8d
mov edx, 0xb0
mov rcx, r9
call fcn.140146840
mov qword [rdi + 0x18], rax
mov rcx, rax
test rax, rax
je 0x14010c7fa
lea eax, [rsi + rbx]
mov r9d, reloc.WS2_32.dll_recv
mov dword [rcx + 0x2c], eax
mov rdx, rdi
mov rcx, qword [rsp + 0x50]
mov r8d, dword [rcx + 0x18]
mov rcx, r13
call fcn.1401406d0
mov r9, qword [rsp + 0x98]
mov qword [rdi + 0x10], 0
mov rdx, rdi
mov rcx, r9
call fcn.1401460d0
mov r10, qword [rsp + 0x50]
mov rdi, qword [rsp + 0xa0]
mov rdx, qword [rsp + 0x98]
inc ebx
add r15, 8
cmp ebx, r12d
jl 0x14010c6b0
mov r13, rbp
mov r8, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x60]
mov rax, rcx
neg rax
lea rax, [r8 + 0x70]
sbb r12d, r12d
add r12d, 2
jmp 0x14010dde5
test dl, 5
setne cl
bt edx, 8
setb al
test al, cl
je 0x14010c938
mov rax, qword [rdi + 0x48]
xor r9d, r9d
mov r8, r10
mov rcx, r11
mov rdx, qword [rax]
inc dword [r11 + 0x38]
mov ebx, dword [r11 + 0x38]
mov dword [rsp + 0x28], ebx
mov dword [rsp + 0x20], r15d
call fcn.14010ea20
mov r15, qword [rsp + 0x48]
mov edi, eax
cmp eax, ebx
je 0x14010c8ac
mov edx, ebx
mov rcx, r15
call fcn.14013f230
mov r14, qword [rsp + 0x50]
cmp dword [r14 + 0x34], 0
mov ebx, dword [r14 + 0x10]
je 0x14010c90c
mov r9d, ebx
mov r8d, edi
mov edx, reloc.WS2_32.dll_listen
mov rcx, rbp
call fcn.14015bc30
mov r8d, dword [r14 + 0x34]
mov eax, 1
mov dword [rsp + 0x28], eax
mov r9d, ebx
mov rcx, rbp
mov dword [rsp + 0x20], edi
lea edx, [rax + 0x3f]
call fcn.14015bb30
mov rax, qword [rsp + 0xe0]
mov r9d, ebx
mov r8d, esi
mov qword [rsp + 0x20], rax
mov rdx, r12
mov rcx, r15
call fcn.14010e320
mov r8d, dword [rsp + 0x58]
mov r9d, ebx
mov edx, 0x1e
mov dword [rsp + 0x20], edi
mov rcx, rbp
call fcn.14015bbb0
mov r10, r14
mov byte [r14 + 0x41], 0xb9
mov r8, r12
mov r13, rbp
jmp 0x14010c841
mov eax, edx
and eax, 0x102
cmp eax, 0x102
jne 0x14010cb55
xor eax, eax
mov r14d, 0xb9
mov ebp, r14d
mov r12d, ebx
mov ecx, eax
test dl, 0x20
je 0x14010c96e
mov rax, qword [rdi + 0x48]
mov r8d, 8
mov rcx, qword [rax]
jmp 0x14010c971
mov r8, rax
test dl, 0x10
je 0x14010c97e
mov rax, qword [rdi + 0x48]
mov rbx, qword [r8 + rax]
test r15d, r15d
mov rdi, rcx
cmove rdi, rbx
cmove rbx, rcx
test rbx, rbx
je 0x14010ca44
mov rsi, qword [rbx]
mov dword [rsp + 0x5c], 0x17151618
mov rdx, qword [rsi + 0x18]
mov rcx, rdx
call fcn.1401470f0
mov rcx, r11
test eax, eax
je 0x14010c9e3
call fcn.14013f250
mov rdx, qword [rsi + 0x18]
mov r8d, eax
mov r9d, 1
mov ebx, eax
mov r15d, eax
call fcn.14010e530
movzx ecx, byte [rsi]
inc rcx
and ecx, 2
or rcx, 1
movzx eax, byte [rsp + rcx + 0x5c]
jmp 0x14010ca11
lea r8, [rsp + 0x84]
call fcn.1401412b0
mov rcx, qword [rsp + 0x50]
mov rdx, rbx
mov r15d, eax
call fcn.14010f240
movzx r10d, byte [rsi]
mov ebx, dword [rsp + 0x84]
movzx eax, byte [rsp + r10 + 0x26]
mov rsi, qword [rsp + 0x40]
mov r9d, r13d
mov r8d, dword [rsp + 0x58]
mov rcx, rsi
movzx edx, al
mov dword [rsp + 0x20], r15d
call fcn.14015bbb0
mov rcx, qword [rsp + 0x48]
mov edx, ebx
call fcn.14013f230
mov r15, qword [rsp + 0xa8]
jmp 0x14010ca68
mov rsi, qword [rsp + 0x40]
mov edx, r15d
mov r8d, dword [rsp + 0x58]
xor edx, 1
mov rcx, rsi
lea edx, [rdx*4 + 0x20]
call fcn.14015bc30
mov rcx, qword [rsp + 0x48]
test rdi, rdi
je 0x14010cad7
mov rbx, qword [rdi]
mov r9d, 1
inc dword [rcx + 0x38]
mov r12d, dword [rcx + 0x38]
mov r8d, r12d
mov rdx, qword [rbx + 0x18]
call fcn.14010e530
mov rdx, qword [rbx + 0x18]
mov rcx, rdx
call fcn.1401470f0
test eax, eax
jne 0x14010cab1
movzx eax, byte [rbx]
sub al, 0x36
test al, 0xfd
jne 0x14010cab1
mov eax, r15d
xor eax, 1
lea ebp, [rax*2 + 0x37]
jmp 0x14010cab9
lea ebp, [r15*2 + 0x36]
mov rcx, rdx
call fcn.1401470f0
mov r10, qword [rsp + 0x50]
test eax, eax
jne 0x14010cadc
mov rdx, rdi
mov rcx, r10
call fcn.14010f240
jmp 0x14010cadc
mov r10, qword [rsp + 0x50]
mov rcx, rsi
call fcn.14015b400
mov edi, dword [rsp + 0x58]
mov ecx, eax
test r15d, r15d
mov dword [r10 + 0x44], edi
mov dword [r10 + 0x48], ecx
sete al
add al, 0x26
mov byte [r10 + 0x41], al
cmp ebp, r14d
je 0x14010dd55
mov rax, qword [rsp + 0x48]
mov r8d, edi
mov edx, 0x87
mov rcx, rsi
inc dword [rax + 0x38]
mov ebx, dword [rax + 0x38]
mov r9d, ebx
call fcn.14015bc30
mov r9d, r13d
mov dword [rsp + 0x20], ebx
mov r13, qword [rsp + 0x40]
mov r8d, r12d
mov rcx, r13
mov edx, ebp
call fcn.14015bbb0
mov edx, 0x53
mov rcx, r13
call fcn.14015b1f0
mov r10, qword [rsp + 0x50]
jmp 0x14010c83c
bt edx, 9
jae 0x14010d55a
movzx r14d, word [rdi + 0x18]
xor ecx, ecx
movzx r9d, word [rdi + 0x1c]
xor sil, sil
mov r11, qword [rsp + 0xa0]
mov eax, r14d
movzx ebp, word [rdi + 0x1a]
mov edi, ecx
mov r12d, dword [r10 + 8]
mov r13, rbx
mov qword [rsp + 0xb8], rcx
mov r15, rbx
mov byte [rsp + 0x7c], cl
mov r8d, r14d
mov dword [rsp + 0x68], ecx
mov dword [rsp + 0x80], ecx
mov rcx, qword [r11 + 0x20]
mov qword [rsp + 0x60], rcx
mov word [rsp + 0xb0], r9w
mov qword [rsp + 0xc0], rbx
mov dword [rsp + 0x88], r12d
mov dword [rsp + 0x5c], eax
test dl, 0x20
je 0x14010cbdb
mov rax, qword [r11 + 0x48]
inc r8d
mov ebx, ebp
mov r13, qword [rax + r14*8]
test dl, 0x10
je 0x14010ccb1
mov rax, qword [r11 + 0x48]
cmp ebx, r9d
mov ecx, r8d
mov edi, r9d
cmova edi, ebx
mov r15, qword [rax + rcx*8]
mov eax, 0x100
mov qword [rsp + 0xc0], r15
test word [r15 + 0x12], ax
je 0x14010cc72
mov rcx, qword [rsp + 0x48]
mov edx, 0x47
mov r9d, dword [rcx + 0x38]
lea r8d, [rdx - 0x46]
inc r9d
mov dword [rcx + 0x38], r9d
mov rcx, qword [rsp + 0x40]
mov dword [r10 + 0x2c], r9d
call fcn.14015bc30
mov rcx, qword [rsp + 0x40]
call fcn.14015b400
mov r10, qword [rsp + 0x50]
xor ecx, ecx
mov r9, qword [rsp + 0x60]
mov r11, qword [rsp + 0xa0]
shl dword [r10 + 0x2c], 1
mov dword [r10 + 0x30], eax
mov rax, qword [r9 + 0x38]
cmp byte [r14 + rax], 1
sete cl
xor ecx, dword [rsp + 0xa8]
or dword [r10 + 0x2c], ecx
jmp 0x14010cc77
mov r9, qword [rsp + 0x60]
mov rdx, r14
mov ebx, edi
test r13, r13
jne 0x14010ccad
mov rax, qword [r9 + 8]
movsx r8, word [rax + rdx*2]
test r8d, r8d
js 0x14010cca2
mov rax, qword [r9 + 0x18]
lea rdx, [r8 + r8*2]
mov rcx, qword [rax + 8]
test byte [rcx + rdx*8 + 8], 0xf
je 0x14010cca8
cmp r8d, 0xfffffffe
jne 0x14010ccad
mov sil, 1
mov ebx, edi
mov edi, dword [rsp + 0x68]
mov eax, dword [r11 + 0x38]
test al, 0x30
jne 0x14010cd11
bt eax, 0x13
jae 0x14010cd11
mov rax, qword [rsp + 0x48]
mov ebx, 1
movzx esi, bl
inc dword [rax + 0x38]
cmp dword [r10], 0
mov edi, dword [rax + 0x38]
mov dword [rsp + 0x68], edi
mov dword [r10 + 0x24], edi
je 0x14010cd05
mov rcx, qword [rsp + 0x40]
lea edx, [rbx + 0x46]
mov r9d, edi
xor r8d, r8d
call fcn.14015bc30
mov r10, qword [rsp + 0x50]
mov r11, qword [rsp + 0xa0]
mov rax, qword [rsp + 0x48]
mov rcx, rax
call fcn.14015b680
mov dword [r10 + 0x28], eax
mov rax, qword [rsp + 0x60]
cmp r14w, word [rax + 0x60]
jae 0x14010cd60
mov rax, qword [rax + 0x38]
xor edx, edx
cmp byte [r14 + rax], dl
sete dl
cmp dword [rsp + 0xa8], edx
jne 0x14010cd60
mov rax, r15
mov qword [rsp + 0xc0], r13
mov r15, r13
mov byte [rsp + 0x7c], sil
mov r13, rax
xor sil, sil
movzx eax, bpl
movzx ebp, word [rsp + 0xb0]
mov word [rsp + 0xb0], ax
cmp dword [rsp + 0x84], 0
jle 0x14010cd86
test dword [r11 + 0x38], 0x100000
je 0x14010cd86
mov rcx, qword [rsp + 0x40]
mov r8d, r12d
mov edx, 0x88
call fcn.14015bc50
mov r8d, dword [rsp + 0xa8]
lea rax, [rsp + 0xc8]
mov rcx, qword [rsp + 0x48]
mov r9d, ebx
mov rbx, qword [rsp + 0x50]
mov rdx, rbx
mov qword [rsp + 0x20], rax
call fcn.14010e750
mov rdx, qword [rsp + 0xc8]
mov ecx, eax
mov dword [rsp + 0x90], eax
test rdx, rdx
je 0x14010cdf0
cmp word [rsp + 0xb0], 0
je 0x14010cdf0
mov rcx, qword [rsp + 0x98]
add rdx, r14
call fcn.14017fe50
mov ecx, dword [rsp + 0x90]
mov qword [rsp + 0xb8], rax
test edi, edi
je 0x14010cdf9
mov eax, dword [rbx + 0x28]
jmp 0x14010cdfc
mov eax, dword [rbx + 0x10]
mov dword [rsp + 0x78], eax
test r13, r13
je 0x14010ce18
test byte [r13 + 0x14], 0x28
jne 0x14010ce18
xor r8d, r8d
mov r12d, r8d
lea edx, [r8 + 1]
jmp 0x14010ce23
mov edx, 1
xor r8d, r8d
mov r12d, edx
test r15, r15
je 0x14010ce37
test byte [r15 + 0x14], 0x28
mov dword [rsp + 0x94], r8d
je 0x14010ce3e
mov dword [rsp + 0x94], edx
test r13, r13
jne 0x14010ce80
test r14w, r14w
jne 0x14010ce80
mov r15d, r8d
mov edx, r14d
mov edi, edx
test sil, sil
je 0x14010cf3b
mov r12d, r8d
lea r9d, [r14 + rcx]
mov rcx, qword [rsp + 0x40]
xor r8d, r8d
lea edx, [r8 + 0x4b]
call fcn.14015bc30
mov ebp, dword [rsp + 0x68]
mov dword [rsp + 0x5c], r14d
jmp 0x14010cf63
mov r15d, edx
mov edx, r14d
mov edi, r14d
test r13, r13
je 0x14010ce4f
mov rax, qword [r13]
movzx esi, bp
lea ebp, [rcx + r14]
mov rcx, qword [rsp + 0x48]
mov r9d, esi
mov r8d, ebp
mov rbx, qword [rax + 0x18]
mov rdx, rbx
call fcn.14010e530
mov r10, qword [rsp + 0x40]
mov r8, r13
mov rdx, qword [rsp + 0x50]
mov rcx, r10
call fcn.14010e710
test byte [r13 + 0x12], 0x80
jne 0x14010ceed
mov rcx, rbx
call fcn.1401448b0
test eax, eax
je 0x14010ceed
mov r9d, dword [rsp + 0x78]
mov r8d, ebp
mov edx, 0x32
mov rcx, r10
call fcn.14015bc30
mov rcx, qword [rsp + 0xc8]
test rcx, rcx
je 0x14010cf08
lea r8, [rcx + r14]
mov edx, esi
mov rcx, rbx
call fcn.14010f130
mov rcx, rbx
add edi, esi
call fcn.1401470f0
test eax, eax
jne 0x14010cf2c
mov rcx, qword [rsp + 0x50]
mov rdx, r13
call fcn.14010f240
mov ebp, dword [rsp + 0x68]
xor sil, sil
jmp 0x14010cf6b
mov ebp, dword [rsp + 0x68]
mov r12d, 1
xor sil, sil
jmp 0x14010cf6b
mov ebp, dword [rsp + 0x68]
mov ebx, r14d
mov dword [rsp + 0x5c], ebx
test ebp, ebp
je 0x14010cf6b
xor r8d, r8d
lea r9d, [r14 + rcx]
mov rcx, qword [rsp + 0x40]
lea edx, [r8 + 0x4b]
call fcn.14015bc30
mov dword [rsp + 0x5c], ebx
inc edi
mov r15d, 1
mov ebx, dword [rsp + 0x90]
mov r8d, edi
mov r9, qword [rsp + 0xc8]
mov edx, ebx
mov rcx, qword [rsp + 0x48]
movzx esi, sil
sub r8d, esi
mov dword [rsp + 0x8c], esi
call fcn.14010f1c0
mov rcx, qword [rsp + 0xa0]
lea r14, [0x140000000]
movzx eax, word [rcx + 0x3e]
test ax, ax
je 0x14010cfb7
cmp edi, eax
je 0x14010d158
test ebp, ebp
je 0x14010cfd1
mov rcx, qword [rsp + 0x40]
mov edx, 0x47
mov r9d, ebp
lea r8d, [rdx - 0x46]
call fcn.14015bc30
mov rax, qword [rsp + 0x50]
mov r8d, dword [rax + 0x34]
test r8d, r8d
je 0x14010d028
mov eax, dword [rsp + 0x5c]
mov edx, 0x40
mov r9d, dword [rsp + 0x78]
mov rcx, qword [rsp + 0x40]
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], ebx
call fcn.14015bb30
mov rax, qword [rsp + 0xe0]
mov r9d, dword [rsp + 0x78]
mov r8d, dword [rsp + 0x84]
mov rdx, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x48]
mov qword [rsp + 0x20], rax
call fcn.14010e320
mov rcx, qword [rsp + 0xa8]
lea eax, [r12 + r15*2]
lea ecx, [rcx + rax*2]
mov rax, qword [rsp + 0xa0]
movzx ebx, byte [rcx + r14 + 0x1b76f8]
test dword [rax + 0x38], 0x100000
je 0x14010d0c9
cmp ebx, 0x17
jne 0x14010d0c9
mov rcx, qword [rsp + 0x60]
mov r15, qword [rsp + 0x40]
mov rax, qword [rcx + 0x10]
movsx ecx, word [rax]
mov eax, 0x66666667
add ecx, 9
imul ecx
mov rcx, r15
sar edx, 2
mov r8d, edx
shr r8d, 0x1f
add r8d, edx
lea edx, [rbx + 0x65]
call fcn.14015bc50
mov dword [rsp + 0x80], eax
mov r9d, eax
test r13, r13
jne 0x14010d0a2
cmp qword [rsp + 0xc0], r13
je 0x14010d0c9
mov edx, 1
mov rcx, r15
call fcn.14015b1f0
call fcn.14015b400
mov edx, r9d
lea r8d, [rax + 1]
call fcn.14015b240
xor eax, eax
mov dword [rsp + 0x80], eax
mov r13d, dword [rsp + 0x78]
mov edx, ebx
mov rbx, qword [rsp + 0x40]
mov r9d, r13d
mov r15d, dword [rsp + 0x90]
mov rcx, rbx
mov r8d, dword [rsp + 0x88]
mov dword [rsp + 0x28], edi
mov dword [rsp + 0x20], r15d
call fcn.14015bb30
test ebp, ebp
je 0x14010d160
mov rcx, rbx
call fcn.14015b400
xor r8d, r8d
lea r9d, [rax + 2]
lea edx, [r8 + 9]
call fcn.14015bc30
mov r8d, dword [rsp + 0x88]
mov eax, 2
mov edx, 6
mov ecx, edi
sub ecx, r12d
mov r9d, r13d
mov dword [rsp + 0x28], ecx
cmp edi, 1
mov rcx, rbx
mov dword [rsp + 0x20], r15d
cmova eax, edx
add eax, dword [rsp + 0xa8]
movzx edx, byte [rax + r14 + 0x1b76f8]
call fcn.14015bb30
jmp 0x14010d160
mov r13d, dword [rsp + 0x78]
mov r15d, ebx
mov r12, qword [rsp + 0xc0]
mov ebp, dword [rsp + 0x5c]
mov ebx, ebp
test r12, r12
je 0x14010d31f
mov rax, qword [r12]
add ebp, r15d
movzx esi, word [rsp + 0xb0]
mov r8d, ebp
mov rcx, qword [rsp + 0x48]
mov r9d, esi
mov rdi, qword [rax + 0x18]
mov rdx, rdi
call fcn.14010e530
mov r10, qword [rsp + 0x40]
mov r8, r12
mov rdx, qword [rsp + 0x50]
mov rcx, r10
call fcn.14010e710
test byte [r12 + 0x12], 0x80
jne 0x14010d1d9
mov rcx, rdi
call fcn.1401448b0
test eax, eax
je 0x14010d1d9
mov r9d, r13d
mov r8d, ebp
mov edx, 0x32
mov rcx, r10
call fcn.14015bc30
mov rax, qword [rsp + 0xb8]
test rax, rax
je 0x14010d20a
mov r8, rax
mov edx, esi
mov rcx, rdi
call fcn.14010f130
mov r9, qword [rsp + 0xb8]
mov r8d, esi
mov rcx, qword [rsp + 0x48]
mov edx, ebp
call fcn.14010f1c0
mov rcx, rdi
add ebx, esi
call fcn.1401470f0
test eax, eax
jne 0x14010d309
mov rcx, qword [rsp + 0x50]
mov rdx, r12
call fcn.14010f240
mov esi, dword [rsp + 0x8c]
mov ebp, dword [rsp + 0x5c]
mov r12d, dword [rsp + 0x94]
mov edi, dword [rsp + 0x68]
mov rax, qword [rsp + 0xc8]
test rax, rax
je 0x14010d25d
mov rcx, qword [rsp + 0x98]
mov rdx, rax
call fcn.1401803e0
mov rax, qword [rsp + 0xb8]
test rax, rax
je 0x14010d27a
mov rcx, qword [rsp + 0x98]
mov rdx, rax
call fcn.1401803e0
mov r10, qword [rsp + 0x40]
mov rcx, r10
call fcn.14015b400
mov rcx, qword [rsp + 0x50]
mov dword [rcx + 0x48], eax
test ebx, ebx
je 0x14010d35f
test edi, edi
je 0x14010d2b9
mov rcx, r10
call fcn.14015b400
mov r8d, edi
mov edx, reloc.WS2_32.dll_recvfrom
lea r9d, [rax + 3]
call fcn.14015bc30
mov r10, qword [rsp + 0x40]
mov rax, qword [rsp + 0xa8]
mov r9d, r13d
mov dword [rsp + 0x28], ebx
mov rcx, r10
mov dword [rsp + 0x20], r15d
lea eax, [r12 + rax*2]
mov r12d, dword [rsp + 0x88]
movzx edx, byte [rax + r14 + 0x1b8344]
mov r8d, r12d
call fcn.14015bb30
mov eax, dword [rsp + 0x80]
mov r10, qword [rsp + 0x40]
test eax, eax
je 0x14010d367
mov edx, eax
mov rcx, r10
call fcn.14015b1a0
jmp 0x14010d367
mov esi, dword [rsp + 0x8c]
mov r12d, 1
mov ebp, dword [rsp + 0x5c]
jmp 0x14010d23c
cmp byte [rsp + 0x7c], 0
je 0x14010d234
mov edi, dword [rsp + 0x68]
test edi, edi
jne 0x14010d350
mov rcx, qword [rsp + 0x40]
lea r9d, [r15 + rbp]
xor r8d, r8d
lea edx, [rdi + 0x4b]
call fcn.14015bc30
xor r12d, r12d
inc ebx
jmp 0x14010d240
mov r12d, dword [rsp + 0x94]
inc ebx
jmp 0x14010d240
mov r12d, dword [rsp + 0x88]
test edi, edi
je 0x14010d3bb
mov rcx, r10
call fcn.14015b400
mov r8d, edi
mov edx, reloc.WS2_32.dll_recv
lea r9d, [rax + 2]
call fcn.14015bc30
mov rax, qword [rsp + 0xa8]
lea r8d, [rsi + rbx]
mov dword [rsp + 0x28], r8d
mov r9d, r13d
mov r13, qword [rsp + 0x40]
mov r8d, r12d
mov rcx, r13
mov dword [rsp + 0x20], r15d
lea eax, [rsi + rax*2]
movzx edx, byte [rax + r14 + 0x1b8344]
call fcn.14015bb30
jmp 0x14010d3c0
mov r13, qword [rsp + 0x40]
mov rbx, qword [rsp + 0xa0]
mov eax, dword [rbx + 0x38]
bt eax, 0x12
jae 0x14010d3eb
mov r9d, ebp
mov dword [rsp + 0x20], ebp
mov r8d, r12d
mov edx, 0x7d
mov rcx, r13
call fcn.14015bbb0
mov eax, dword [rbx + 0x38]
test al, 0x40
mov rax, qword [rsp + 0x70]
je 0x14010d40e
mov ecx, 0x1020
test word [rax + 0x3c], cx
jne 0x14010d40e
mov r14d, dword [rsp + 0x58]
mov ebp, 1
jmp 0x14010d4d8
mov rdx, qword [rsp + 0x60]
xor r10d, r10d
mov r14d, dword [rsp + 0x58]
mov ebp, r10d
mov rcx, qword [rdx + 0x18]
test byte [rcx + 0x30], 0x80
jne 0x14010d43b
mov r9d, r12d
mov r8d, r14d
mov rcx, rax
call fcn.14010e5f0
jmp 0x14010d4d8
cmp r14d, r12d
je 0x14010d4dd
call fcn.140138000
mov rcx, qword [rsp + 0x48]
mov rdi, rax
movzx edx, word [rax + 0x5e]
call fcn.14013f1e0
mov esi, eax
mov ebx, r10d
movzx eax, word [rdi + 0x5e]
cmp r10w, ax
jae 0x14010d4ad
mov r14, qword [rsp + 0x60]
nop
mov rax, qword [rdi + 8]
movsxd rcx, ebx
movzx edx, word [rax + rcx*2]
mov rcx, r14
call fcn.140137fd0
movsx r9d, ax
mov r8d, r12d
lea eax, [rbx + rsi]
mov edx, 0x5e
mov rcx, r13
mov dword [rsp + 0x20], eax
call fcn.14015bbb0
movzx eax, word [rdi + 0x5e]
inc ebx
cmp ebx, eax
jl 0x14010d470
mov r14d, dword [rsp + 0x58]
mov r9d, dword [rsp + 0xb4]
mov r8d, r14d
movzx eax, ax
mov edx, 0x1c
mov dword [rsp + 0x28], eax
mov rcx, r13
mov dword [rsp + 0x20], esi
call fcn.14015bb30
mov rbx, qword [rsp + 0xa0]
mov rdx, qword [rsp + 0x60]
mov r10, qword [rsp + 0x50]
cmp dword [r10], 0
jne 0x14010d506
mov rcx, qword [rdx + 0x48]
test rcx, rcx
je 0x14010d506
mov r8, qword [rsp + 0xd8]
mov edx, r14d
call fcn.14010e490
mov r10, qword [rsp + 0x50]
mov eax, 0x1000
test dword [rbx + 0x38], eax
je 0x14010d517
mov byte [r10 + 0x41], 0xb9
jmp 0x14010d528
cmp dword [rsp + 0xa8], 0
sete al
add al, 0x26
mov byte [r10 + 0x41], al
mov dword [r10 + 0x44], r12d
movzx eax, byte [rbx + 0x3a]
and al, 1
mov byte [r10 + 0x42], al
test byte [rbx + 0x38], 0xf
jne 0x14010d541
mov byte [r10 + 0x43], 1
test ebp, ebp
je 0x14010c83c
mov r8, qword [rsp + 0x70]
xor ecx, ecx
mov qword [rsp + 0x60], rcx
jmp 0x14010c846
bt edx, 0xd
jae 0x14010dd5f
mov eax, dword [r11 + 0x34]
mov rcx, r11
inc dword [r11 + 0x38]
mov r14, rbx
mov edx, dword [r11 + 0x38]
mov dword [rsp + 0x94], eax
inc eax
mov dword [r11 + 0x34], eax
mov qword [rsp + 0xa0], rbx
mov dword [rsp + 0x84], edx
mov dword [rsp + 0x78], ebx
mov dword [rsp + 0x80], ebx
call fcn.14015b680
mov dword [rsp + 0x90], eax
mov r12, rbx
mov rax, qword [rsp + 0xd0]
mov dword [rsp + 0x88], ebx
mov qword [rsp + 0xc0], rbx
mov r15, qword [rax + 0x20]
mov rax, qword [rdi + 0x48]
mov rdi, qword [rsp + 0x70]
mov qword [rsp + 0xc8], r15
mov r13, qword [rax]
mov qword [rsp + 0x110], r13
mov rcx, qword [r13 + 0x20]
mov qword [rsp + 0xf0], rcx
mov byte [r10 + 0x41], 0x43
mov dword [r10 + 0x44], edx
movzx ecx, byte [rdi + 0x40]
cmp cl, 1
jbe 0x14010d745
mov ebx, ecx
sub ebx, esi
dec ebx
movsxd rcx, ebx
imul rdx, rcx, 0x68
mov rcx, qword [rsp + 0x98]
add rdx, 0x70
call fcn.140180020
mov qword [rsp + 0xb8], rax
mov rdx, rax
test rax, rax
jne 0x14010d640
mov rax, qword [rsp + 0xe0]
jmp 0x14010e2ed
lea eax, [rbx + 1]
movzx ecx, al
mov rax, qword [rsp + 0xd0]
mov dword [rdx + 4], ecx
mov dword [rdx], ecx
movups xmm0, xmmword [rax]
movups xmmword [rdx + 8], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rdx + 0x18], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rdx + 0x28], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rdx + 0x38], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rdx + 0x48], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rdx + 0x58], xmm1
movsd xmm0, qword [rax + 0x60]
movsd qword [rdx + 0x68], xmm0
mov r10, qword [rdi + 8]
cmp ebx, 1
jl 0x14010d70e
mov r8, qword [rsp + 0x50]
add rdx, 0x70
add r8, 0xb0
mov r9d, ebx
nop dword [rax + rax]
movzx eax, byte [r8]
lea rdx, [rdx + 0x68]
imul rcx, rax, 0x68
lea r8, [r8 + 0x70]
movups xmm0, xmmword [rcx + r10 + 8]
movups xmmword [rdx - 0x68], xmm0
movups xmm1, xmmword [rcx + r10 + 0x18]
movups xmmword [rdx - 0x58], xmm1
movups xmm0, xmmword [rcx + r10 + 0x28]
movups xmmword [rdx - 0x48], xmm0
movups xmm1, xmmword [rcx + r10 + 0x38]
movups xmmword [rdx - 0x38], xmm1
movups xmm0, xmmword [rcx + r10 + 0x48]
movups xmmword [rdx - 0x28], xmm0
movups xmm1, xmmword [rcx + r10 + 0x58]
movups xmmword [rdx - 0x18], xmm1
movsd xmm0, qword [rcx + r10 + 0x68]
movsd qword [rdx - 8], xmm0
sub r9, 1
jne 0x14010d6b0
mov r11, qword [rsp + 0x48]
test byte [rdi + 0x3c], 0x10
jne 0x14010d7ab
test byte [r15 + 0x30], 0x80
jne 0x14010d753
inc dword [r11 + 0x38]
xor r8d, r8d
mov r13d, dword [r11 + 0x38]
mov rcx, rbp
mov r9d, r13d
mov dword [rsp + 0x78], r13d
lea edx, [r8 + 0x4b]
call fcn.14015bc30
jmp 0x14010d791
mov rax, qword [rdi + 8]
mov qword [rsp + 0xb8], rax
jmp 0x14010d713
mov rcx, r15
call fcn.140138000
mov r13d, dword [r11 + 0x34]
mov edx, 0x76
mov r8d, r13d
mov dword [rsp + 0x78], r13d
mov rbx, rax
lea ecx, [r13 + 1]
mov dword [r11 + 0x34], ecx
mov rcx, rbp
movzx r9d, word [rax + 0x5e]
call fcn.14015bc30
mov rcx, qword [rsp + 0x48]
mov rdx, rbx
call fcn.14015ad20
mov rax, qword [rsp + 0x48]
mov r13, qword [rsp + 0x110]
inc dword [rax + 0x38]
mov eax, dword [rax + 0x38]
mov dword [rsp + 0x80], eax
mov r9d, dword [rsp + 0x84]
xor r8d, r8d
mov rcx, rbp
lea edx, [r8 + 0x47]
call fcn.14015bc30
cmp dword [rdi + 0x84], 1
mov esi, eax
mov dword [rsp + 0xa8], eax
jle 0x14010d8a9
mov r14, qword [rsp + 0x48]
xor eax, eax
mov r15, qword [rsp + 0x98]
mov ebx, eax
mov rbp, qword [rsp + 0xd8]
mov edi, eax
mov r8d, 0x8006
mov r10d, 0x3fff
nop
mov rdx, qword [rbp + 0x20]
movsxd rax, ebx
imul rcx, rax, 0x38
mov r9, qword [rdx + rdi]
add rcx, rdx
cmp rcx, r13
je 0x14010d85c
test word [rdx + rdi + 0x12], r8w
jne 0x14010d85c
test word [rdx + rdi + 0x14], r10w
je 0x14010d85c
test dword [r9 + 4], 0x400000
jne 0x14010d85c
xor r8d, r8d
mov rdx, r9
mov rcx, r15
call fcn.140145a80
mov r8, rax
mov rdx, r12
mov rcx, r14
call fcn.1401464d0
mov r12, rax
mov r8d, 0x8006
mov r10d, 0x3fff
inc ebx
add rdi, 0x38
cmp ebx, dword [rbp + 0x14]
jl 0x14010d800
mov rbp, qword [rsp + 0x40]
mov r15, qword [rsp + 0xc8]
mov r14, qword [rsp + 0xa0]
mov qword [rsp + 0xc0], r12
test r12, r12
je 0x14010d8a9
mov rcx, qword [rsp + 0x48]
mov r9, r12
xor r8d, r8d
mov edx, 0x1002c
call fcn.1401466f0
mov r12, rax
mov qword [rsp + 0xc0], rax
mov rcx, qword [rsp + 0x48]
lea r8, str.MULTI_INDEX_OR
mov edx, 1
call fcn.14015b780
mov rax, qword [rsp + 0xf0]
xor edi, edi
mov dword [rsp + 0x8c], edi
cmp dword [rax + 0x14], edi
jle 0x14010dc96
mov ecx, dword [rsp + 0x58]
xor esi, esi
mov qword [rsp + 0x108], rsi
nop word [rax + rax]
mov rax, qword [rax + 0x20]
cmp dword [rsi + rax + 0x1c], ecx
je 0x14010d90a
mov edx, 0x400
test word [rsi + rax + 0x14], dx
je 0x14010dc61
mov rdx, qword [rsi + rax]
xor r8d, r8d
mov rcx, qword [rsp + 0x98]
xor r13d, r13d
call fcn.140145a80
mov rbx, rax
mov qword [rsp + 0x100], rax
mov r14, rax
mov rax, qword [rsp + 0x98]
cmp byte [rax + 0x67], r13b
je 0x14010d948
mov rdx, rbx
mov rcx, rax
jmp 0x14010dc58
test r12, r12
je 0x14010d955
mov qword [r12 + 0x10], rbx
mov rbx, r12
mov rcx, qword [rsp + 0x48]
lea r9d, [rdi + 1]
lea r8, str.INDEX__d
mov edx, 1
call fcn.14015b780
mov eax, dword [rsp + 0x94]
xor r9d, r9d
mov rdx, qword [rsp + 0xb8]
mov r8, rbx
mov rcx, qword [rsp + 0x48]
mov dword [rsp + 0x38], eax
mov eax, 0x20
mov word [rsp + 0x30], ax
xor eax, eax
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rax
call fcn.140102c30
mov qword [rsp + 0xf8], rax
mov rbx, rax
test rax, rax
je 0x14010dc4d
mov rdx, qword [rsp + 0xb8]
lea r8, [rax + 0x360]
mov rcx, qword [rsp + 0x48]
xor r9d, r9d
call fcn.14010f460
mov rax, qword [rsp + 0x70]
test byte [rax + 0x3c], 0x10
jne 0x14010db90
mov rcx, qword [rsp + 0xf0]
mov r14d, edi
mov eax, 0xffffffff
mov ecx, dword [rcx + 0x14]
dec ecx
cmp edi, ecx
cmove r14d, eax
test byte [r15 + 0x30], 0x80
mov dword [rsp + 0x5c], r14d
jne 0x14010da54
mov r13d, dword [rsp + 0x80]
mov r9d, eax
mov r8d, dword [rsp + 0x58]
mov rdx, r15
mov rcx, rbp
mov dword [rsp + 0x20], r13d
call fcn.140142ba0
mov r8d, dword [rsp + 0x78]
xor r9d, r9d
mov dword [rsp + 0x28], r14d
mov rcx, rbp
mov dword [rsp + 0x20], r13d
lea edx, [r9 + 0x2f]
call fcn.14015bb30
mov r13d, eax
jmp 0x14010db88
mov rcx, r15
call fcn.140138000
mov rcx, qword [rsp + 0x48]
mov rsi, rax
movzx r12d, word [rax + 0x5e]
mov edx, r12d
call fcn.14013f1e0
xor ebx, ebx
mov dword [rsp + 0x68], eax
mov r15d, eax
mov ebp, r12d
test r12d, r12d
je 0x14010dad9
mov r14, qword [rsp + 0x40]
mov edi, eax
mov r12, qword [rsp + 0xc8]
mov r15d, dword [rsp + 0x58]
nop word [rax + rax]
mov rcx, qword [rsi + 8]
mov r8d, r15d
mov rdx, r12
mov dword [rsp + 0x20], edi
movsx r9d, word [rcx + rbx*2]
mov rcx, r14
call fcn.140142ba0
inc edi
inc rbx
cmp rbx, rbp
jl 0x14010daa0
mov r14d, dword [rsp + 0x5c]
mov r12d, ebp
mov r15d, dword [rsp + 0x68]
mov edi, dword [rsp + 0x8c]
mov rbp, qword [rsp + 0x40]
test r14d, r14d
je 0x14010db09
mov r8d, dword [rsp + 0x78]
xor r9d, r9d
mov dword [rsp + 0x28], r12d
mov rcx, rbp
mov dword [rsp + 0x20], r15d
lea edx, [r9 + 0x1d]
call fcn.14015bb30
mov r13d, eax
test r14d, r14d
js 0x14010db58
mov ebx, dword [rsp + 0x80]
mov r9d, r12d
mov r8d, r15d
mov dword [rsp + 0x20], ebx
mov edx, 0x61
mov rcx, rbp
call fcn.14015bbb0
mov r8d, dword [rsp + 0x78]
mov r9d, ebx
mov edx, 0x8a
mov dword [rsp + 0x28], r12d
mov rcx, rbp
mov dword [rsp + 0x20], r15d
call fcn.14015bb30
test r14d, r14d
je 0x14010db58
mov edx, reloc.WS2_32.dll_recv
mov rcx, rbp
call fcn.14015b1f0
mov rcx, qword [rsp + 0x48]
mov r8d, r12d
mov edx, r15d
call fcn.14013f1c0
mov rbx, qword [rsp + 0xf8]
mov rsi, qword [rsp + 0x108]
mov r15, qword [rsp + 0xc8]
mov r12, qword [rsp + 0xc0]
mov r14, qword [rsp + 0x100]
mov r9d, dword [rsp + 0x90]
mov edx, 0xa
mov r8d, dword [rsp + 0x84]
mov rcx, rbp
call fcn.14015bc30
test r13d, r13d
je 0x14010dbbd
mov edx, r13d
mov rcx, rbp
call fcn.14015b1a0
test byte [rbx + 0x44], 2
mov ecx, 1
mov eax, dword [rsp + 0x88]
mov rdx, qword [rbx + 0x3c0]
cmovne eax, ecx
mov dword [rsp + 0x88], eax
test dword [rdx + 0x38], 0x200
je 0x14010dc1d
test edi, edi
je 0x14010dbf9
mov rax, qword [rsp + 0xa0]
cmp qword [rdx + 0x20], rax
jne 0x14010dc1d
test byte [r15 + 0x30], 0x80
je 0x14010dc0f
mov rax, qword [rdx + 0x20]
mov ecx, dword [rax + 0x64]
and cl, 3
cmp cl, 2
je 0x14010dc1d
mov rdx, qword [rdx + 0x20]
mov qword [rsp + 0xa0], rdx
jmp 0x14010dc29
mov qword [rsp + 0xa0], 0
mov rcx, rbx
call fcn.140109920
test eax, eax
je 0x14010dc3e
mov rax, qword [rsp + 0x70]
or dword [rax + 0x44], 1
call fcn.140102580
mov rcx, qword [rsp + 0x48]
call fcn.14015b760
mov rcx, qword [rsp + 0x98]
mov rdx, r14
call fcn.1401460d0
mov ecx, dword [rsp + 0x58]
mov rax, qword [rsp + 0xf0]
inc edi
add rsi, 0x38
mov dword [rsp + 0x8c], edi
mov qword [rsp + 0x108], rsi
cmp edi, dword [rax + 0x14]
jl 0x14010d8f0
mov r14, qword [rsp + 0xa0]
mov esi, dword [rsp + 0xa8]
mov rcx, qword [rsp + 0x48]
call fcn.14015b760
mov rbx, qword [rsp + 0x50]
mov qword [rbx + 0x50], r14
test r14, r14
je 0x14010dcb8
mov eax, dword [rsp + 0x94]
mov dword [rbx + 8], eax
mov rdi, qword [rsp + 0x98]
test r12, r12
je 0x14010dcd9
mov rdx, r12
mov qword [r12 + 0x10], 0
mov rcx, rdi
call fcn.1401460d0
mov rcx, rbp
call fcn.14015b400
mov r8d, eax
mov edx, esi
call fcn.14015b260
mov edx, dword [rbx + 0xc]
mov rcx, rbp
call fcn.14015bb00
mov edx, dword [rsp + 0x90]
mov rcx, rbp
call fcn.14015b590
mov rcx, rbp
call fcn.14015b400
mov r8, qword [rsp + 0x70]
mov r10, rbx
mov dword [rbx + 0x48], eax
cmp byte [r8 + 0x40], 1
jbe 0x14010dd37
mov rdx, qword [rsp + 0xb8]
mov rcx, rdi
call fcn.140180440
mov r8, qword [rsp + 0x70]
mov r10, rbx
cmp dword [rsp + 0x88], 0
jne 0x14010ddc6
mov rdx, qword [rsp + 0x110]
mov rcx, r10
call fcn.14010f240
mov r13, qword [rsp + 0x40]
jmp 0x14010c83c
test r8b, 0x40
je 0x14010dd78
mov byte [r10 + 0x41], 0xb9
mov r13, rbp
mov r8, r12
mov rcx, rbx
jmp 0x14010c846
mov edi, dword [rsp + 0x58]
lea r14, [0x140000000]
movzx eax, byte [r15 + r14 + 0x1b7898]
mov r8d, edi
movzx edx, byte [r15 + r14 + 0x1bc7a8]
mov rcx, rbp
mov byte [r10 + 0x41], al
mov dword [r10 + 0x44], edi
call fcn.14015bc30
mov r10, qword [rsp + 0x50]
inc eax
mov r13, rbp
mov r8, r12
mov rcx, rbx
mov dword [r10 + 0x48], eax
mov byte [r10 + 0x43], 1
jmp 0x14010c846
mov r13, qword [rsp + 0x40]
jmp 0x14010c841
mov r13, rcx
mov rcx, rbx
jmp 0x14010c846
mov r10, qword [rsp + 0x50]
mov r15d, dword [rax + 0x14]
xor r14d, r14d
mov rbx, qword [rax + 0x20]
test r15d, r15d
jle 0x14010df3b
jmp 0x14010de05
mov r10, qword [rsp + 0x50]
movzx r11d, word [rbx + 0x12]
xor ebp, ebp
test r11b, 6
jne 0x14010df1a
mov rsi, qword [r10 + 0x68]
test qword [rbx + 0x30], rsi
je 0x14010de2a
or dword [r8 + 0x44], 2
jmp 0x14010df1a
mov rax, qword [rsp + 0xd0]
mov rdi, qword [rbx]
movzx eax, byte [rax + 0x3c]
test al, 0x58
je 0x14010de78
mov ecx, dword [rdi + 4]
test cl, 3
je 0x14010df15
test al, 8
je 0x14010de56
test cl, 1
je 0x14010df15
mov edx, dword [rdi + 0x34]
lea rcx, [r8 + 0x258]
call fcn.1401097a0
mov rcx, qword [rsp + 0x60]
test rsi, rax
jne 0x14010df1a
mov r10, qword [rsp + 0x50]
cmp r12d, 1
jne 0x14010de98
mov edx, dword [r10 + 4]
mov r8, rcx
mov rcx, rdi
call fcn.14013fbb0
test eax, eax
jne 0x14010de9e
lea r14d, [r12 + 1]
jmp 0x14010df15
cmp r12d, 3
jge 0x14010debd
movzx r11d, word [rbx + 0x12]
bt r11w, 0xc
jae 0x14010debd
mov rcx, qword [rsp + 0x60]
test r14d, r14d
jne 0x14010df1a
mov r14d, 3
jmp 0x14010df1a
bt r11w, 9
jae 0x14010dee7
mov rax, qword [rsp + 0x50]
mov edx, dword [rax + 0x2c]
test edx, edx
je 0x14010dee7
mov r8d, edx
mov rcx, r13
and edx, 1
shr r8d, 1
or edx, 0x10
call fcn.14015bc50
mov ebp, eax
mov r8d, dword [rsp + 0xb4]
mov r9d, reloc.WS2_32.dll_recv
mov rcx, qword [rsp + 0x48]
mov rdx, rdi
call fcn.1401406d0
test ebp, ebp
je 0x14010df10
mov edx, ebp
mov rcx, r13
call fcn.14015b1a0
or word [rbx + 0x12], 4
mov rcx, qword [rsp + 0x60]
mov r8, qword [rsp + 0x70]
dec r15d
add rbx, 0x38
test r15d, r15d
jg 0x14010de00
mov rax, qword [rsp + 0xd8]
mov rbx, qword [rax + 0x20]
mov r8, qword [rsp + 0x70]
mov r12d, r14d
test r14d, r14d
jg 0x14010dde0
mov r14, qword [rsp + 0xd8]
mov esi, dword [r14 + 0x1c]
test esi, esi
jle 0x14010e094
mov r15, qword [rsp + 0xd0]
lea rdi, [rbx + 0x14]
mov r12, qword [rsp + 0xe0]
mov r13d, listen
nop word [rax + rax]
test byte [rdi - 2], 6
jne 0x14010e086
movzx eax, word [rdi]
test al, 0x82
setne cl
bt ax, r13w
setb al
test al, cl
je 0x14010e086
mov eax, dword [rsp + 0x58]
cmp dword [rdi + 8], eax
jne 0x14010e086
test byte [r15 + 0x3c], 0x58
jne 0x14010e086
mov r8d, dword [rdi + 0xc]
mov r9, r12
mov rbp, qword [rdi - 0x14]
mov edx, eax
mov qword [rsp + 0x28], 0
mov rcx, r14
mov dword [rsp + 0x20], 0x83
call fcn.1401092b0
mov rbx, rax
test rax, rax
je 0x14010e086
test byte [rax + 0x12], 4
jne 0x14010e086
test byte [rax + 0x14], 1
je 0x14010e015
mov rax, qword [rax]
test dword [rax + 4], 0x1000
je 0x14010e015
mov rax, qword [rax + 0x20]
mov rcx, qword [rax + 0x20]
cmp dword [rcx], 1
jg 0x14010e086
mov rax, qword [rbx]
lea rdx, [rsp + 0x120]
mov r8d, dword [rsp + 0xb4]
mov r9d, reloc.WS2_32.dll_recv
mov rcx, qword [rsp + 0x48]
movups xmm0, xmmword [rax]
movaps xmmword [rsp + 0x120], xmm0
movups xmm1, xmmword [rax + 0x10]
movaps xmmword [rsp + 0x130], xmm1
movups xmm0, xmmword [rax + 0x20]
movaps xmmword [rsp + 0x140], xmm0
movups xmm1, xmmword [rax + 0x30]
movaps xmmword [rsp + 0x150], xmm1
movsd xmm0, qword [rax + 0x40]
movsd qword [rsp + 0x160], xmm0
mov rax, qword [rbp + 0x10]
mov qword [rsp + 0x130], rax
call fcn.1401406d0
or word [rbx + 0x12], 4
dec esi
add rdi, 0x38
test esi, esi
jg 0x14010df80
mov r15, qword [rsp + 0x50]
mov r13, qword [r15 + 0x38]
mov qword [rsp + 0xf8], r13
test r13, r13
je 0x14010e21d
movzx eax, byte [r15 + 0x40]
imul rcx, rax, 0x68
mov rax, qword [rsp + 0x70]
mov rax, qword [rax + 8]
mov rsi, qword [rcx + rax + 0x28]
test byte [rsi + 0x30], 0x80
jne 0x14010e103
mov rcx, qword [rsp + 0x48]
mov edx, 2
call fcn.14013f1e0
mov r8d, dword [r15 + 4]
lea r9d, [rdx - 3]
mov rdx, rsi
mov r14d, eax
mov rsi, qword [rsp + 0x40]
lea ecx, [rax + 1]
mov dword [rsp + 0x20], ecx
mov rcx, rsi
call fcn.140142ba0
mov ebp, 1
jmp 0x14010e17a
mov rcx, rsi
call fcn.140138000
mov rcx, qword [rsp + 0x48]
mov r15, rax
movzx ebp, word [rax + 0x5e]
lea edx, [rbp + 1]
call fcn.14013f1e0
mov r14d, eax
mov r12d, ebp
test ebp, ebp
je 0x14010e170
mov r13, qword [rsp + 0x40]
lea edi, [rax + 1]
mov ebp, dword [rsp + 0x58]
xor ebx, ebx
nop word [rax + rax]
mov rax, qword [r15 + 8]
mov r8d, ebp
mov rdx, rsi
mov dword [rsp + 0x20], edi
mov rcx, r13
movsx r9d, word [rax + rbx*2]
call fcn.140142ba0
inc edi
inc rbx
cmp rbx, r12
jl 0x14010e140
mov r13, qword [rsp + 0xf8]
mov ebp, r12d
mov rsi, qword [rsp + 0x40]
mov r15, qword [rsp + 0x50]
mov r8d, dword [r13]
lea ebx, [r14 + 1]
xor r9d, r9d
mov dword [rsp + 0x28], ebp
mov rcx, rsi
mov dword [rsp + 0x20], ebx
lea edx, [r9 + 0x1d]
call fcn.14015bb30
mov r9d, ebp
mov dword [rsp + 0x20], r14d
mov r8d, ebx
mov edx, 0x61
mov rcx, rsi
mov edi, eax
call fcn.14015bbb0
mov r8d, dword [r13]
mov r9d, r14d
mov edx, 0x8a
mov dword [rsp + 0x28], ebp
mov rcx, rsi
mov dword [rsp + 0x20], ebx
call fcn.14015bb30
mov r8d, dword [r13 + 4]
xor r9d, r9d
mov edx, 0xb5
mov dword [rsp + 0x28], ebp
mov rcx, rsi
mov dword [rsp + 0x20], ebx
call fcn.14015bb30
mov edx, reloc.WS2_32.dll_recv
mov rcx, rsi
call fcn.14015b1f0
mov edx, edi
call fcn.14015b1a0
mov rdi, qword [rsp + 0x48]
lea r8d, [rbp + 1]
mov rcx, rdi
mov edx, r14d
call fcn.14013f1c0
mov r14, qword [rsp + 0xd8]
jmp 0x14010e227
mov rsi, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x48]
mov r9d, dword [r15]
test r9d, r9d
je 0x14010e256
mov rcx, rsi
call fcn.14015b400
mov edx, 0x47
mov dword [r15 + 0x1c], eax
lea r8d, [rdx - 0x46]
call fcn.14015bc30
cmp qword [r15 + 0x38], 0
je 0x14010e284
mov rbx, qword [r15 + 0x38]
jmp 0x14010e263
mov rbx, qword [r15 + 0x38]
test rbx, rbx
je 0x14010e2e9
mov r9d, dword [rbx + 8]
xor r8d, r8d
mov rcx, rsi
lea edx, [r8 + 0x4a]
call fcn.14015bc30
mov rcx, rsi
call fcn.14015b400
mov dword [rbx + 0xc], eax
inc byte [rdi + 0x26]
cmp dword [r14 + 0x1c], 0
mov rbx, qword [r14 + 0x20]
jle 0x14010e2e9
xor eax, eax
test byte [rbx + 0x12], 6
jne 0x14010e2d5
mov rax, qword [rbx + 0x30]
test qword [r15 + 0x68], rax
jne 0x14010e2cd
mov rax, qword [rsp + 0xd0]
test byte [rax + 0x3c], 0x40
jne 0x14010e2cd
mov r8d, dword [rsp + 0xb4]
mov r9d, reloc.WS2_32.dll_recv
mov rdx, qword [rbx]
mov rcx, rdi
call fcn.1401406d0
or word [rbx + 0x12], 4
mov rax, qword [rsp + 0xe8]
inc eax
add rbx, 0x38
mov qword [rsp + 0xe8], rax
cmp eax, dword [r14 + 0x1c]
jl 0x14010e291
mov rax, qword [r15 + 0x68]
mov rcx, qword [rsp + 0x170]
xor rcx, rsp
call fcn.1400b5540
add rsp, 0x188
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret