Function at 0x140109380
Capabilities:
Check for time delay via gettickcount
Check for time delay via queryperformancecounter

Disassembly:
mov r11, rsp
push rbp
push rbx
push rdi
push r13
push r14
lea rbp, [r11 - 0x5f]
sub rsp, 0x100
mov rax, qword [0x1402e1040]
xor rax, rsp
mov qword [rbp + 0x17], rax
xor r13d, r13d
mov qword [rsp + 0x38], rdx
mov qword [rbp - 0x69], rcx
mov rdi, r8
mov byte [rbp - 1], 0
mov rbx, rdx
mov byte [rbp + 1], 0
mov r14, rcx
mov dword [rsp + 0x40], r13d
test r8, r8
je 0x14010ad1a
cmp dword [r8], 0xc0dedbad
jne 0x14010ad1a
mov qword [r11 + 0x20], rsi
mov qword [r11 - 0x30], r12
mov qword [r11 - 0x38], r15
cmp byte [rcx + 0x22c], r13b
je 0x140109442
mov r13d, Ordinal_46
xor r8d, r8d
mov edx, r13d
mov dword [rsp + 0x40], r13d
mov rcx, rdi
call fcn.140107630
cmp dword [rdi + 0x58], 0x10
je 0x140109442
mov rax, qword [rdi + 0xd8]
mov dword [rdi + 0x58], reloc.WS2_32.dll_recv
dec dword [rax + 0x1c]
mov rcx, qword [rdi + 0xd8]
cmp dword [rcx + 0x1c], 0
jne 0x140109432
call fcn.14010cca0
mov rcx, rdi
call fcn.1401080f0
mov rcx, rdi
call fcn.14010c880
movabs r15, 0x20c49ba5e353f7
lea rsi, [0x140000000]
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [r14 + 0x22a]
xor r12d, r12d
mov byte [rsp + 0x30], 0
mov byte [r14 + 0x22a], r12b
test al, al
je 0x14010948f
mov rdx, qword [r14 + 0x40]
test rdx, rdx
je 0x14010948f
mov rdx, qword [rdx]
mov rcx, r14
call fcn.14010ca40
mov ecx, dword [rdi + 0x58]
lea eax, [rcx - 4]
cmp eax, 0xb
ja 0x1401094a4
cmp qword [rdi + 0x20], r12
je case.default.0x1401094e5
lea eax, [rcx - 3]
cmp eax, 0xc
ja 0x1401094ce
lea r9, [rsp + 0x40]
mov rdx, rbx
lea r8, [rsp + 0x30]
mov rcx, rdi
call fcn.140109030
mov r13d, dword [rsp + 0x40]
test al, al
jne 0x14010a93c
movsxd rdx, dword [rdi + 0x58]
cmp edx, 0x11
ja case.default.0x1401094e5
mov ecx, dword [rsi + rdx*4 + 0x10ad24]
add rcx, rsi
jmp rcx
mov rcx, rdi
call fcn.140131c00
mov dword [rsp + 0x40], eax
mov r13d, eax
test eax, eax
jne case.0x1401094e5.1
cmp dword [rdi + 0x58], 2
je 0x14010950b
mov dword [rdi + 0x58], 2
mov r8d, 1
lea rcx, [rbp - 0x31]
mov rdx, rdi
call fcn.140124f70
mov r8d, 2
lea rcx, [rbp - 0x21]
mov rdx, rdi
call fcn.140124f70
movups xmm0, xmmword [rax]
movups xmmword [rbx], xmm0
mov eax, dword [rdi + 0x2f8]
test eax, eax
je 0x14010954f
mov edx, eax
mov r8d, 0xa
mov rcx, rdi
call fcn.14010c470
mov eax, dword [rdi + 0x2fc]
test eax, eax
je 0x140109569
mov edx, eax
mov r8d, 2
mov rcx, rdi
call fcn.14010c470
cmp dword [rdi + 0x58], 3
je case.0x1401094e5.3
mov rax, qword [rdi + 0x258]
cmp byte [rdi + 0x129a], 4
mov qword [rdi + 0x10e0], rax
mov rax, qword [rdi + 0x200]
mov qword [rdi + 0x10e8], rax
sete al
mov byte [rdi + 0x12ad], al
mov dword [rdi + 0x58], 3
lea rcx, [rdi + 0xf0]
mov byte [rsp + 0x48], r12b
mov rdx, rdi
call fcn.14011d540
lea r8, [rsp + 0x48]
mov rcx, rdi
lea rdx, [rbp - 0x39]
call fcn.140119990
movzx r15d, byte [rsp + 0x48]
mov ebx, eax
mov rsi, qword [rbp - 0x39]
mov r13d, eax
test eax, eax
jne 0x140109661
cmp qword [rsi + 0x470], 1
jbe 0x14010964e
mov byte [rbp], 1
mov dword [rsp + 0x40], eax
mov rcx, qword [rdi + 0xd8]
mov rdx, qword [rcx + 0x40]
test rdx, rdx
je 0x140109608
mov rdx, qword [rdx]
call fcn.14010ca40
test ebx, ebx
jne case.0x1401094e5.1
mov r8d, 3
lea rcx, [rbp - 0x11]
mov rdx, rdi
call fcn.140124f70
movups xmm0, xmmword [rax]
mov rax, qword [rsp + 0x38]
movups xmmword [rax], xmm0
mov eax, dword [rdi + 0x58]
test r15b, r15b
je 0x140109789
cmp eax, 4
je case.0x1401094e5.1
mov dword [rdi + 0x58], 4
jmp case.0x1401094e5.1
test r15b, r15b
jne 0x140109661
lea rdx, [rbp]
mov rcx, rdi
call fcn.14011a6c0
mov ebx, eax
mov r13d, ebx
cmp ebx, 0x59
je 0x140109709
test ebx, ebx
je 0x140109709
test rsi, rsi
je 0x140109709
mov rcx, rdi
call fcn.1401080f0
mov r9, qword [rdi + 0xe8]
mov r14, qword [rdi + 0xc20]
test r9, r9
je 0x1401096bd
test byte [r9 + 4], 0x20
je 0x1401096bd
mov rax, qword [r9 + 0x10]
test rax, rax
je 0x1401096bd
mov r9, qword [r9 + 0x20]
mov edx, 5
mov r8d, 2
mov rcx, rdi
call rax
mov rdx, rsi
mov rcx, r14
call fcn.14011e500
mov r8, qword [rdi + 0xe8]
test r8, r8
je 0x1401096f2
test byte [r8 + 4], 0x20
je 0x1401096f2
mov rax, qword [r8 + 0x18]
test rax, rax
je 0x1401096f2
mov r8, qword [r8 + 0x20]
mov edx, 5
mov rcx, rdi
call rax
mov r8b, 1
mov rdx, rsi
mov rcx, rdi
call fcn.140115760
mov dword [rsp + 0x40], ebx
jmp 0x1401095f0
mov dword [rsp + 0x40], ebx
cmp ebx, 0x59
jne 0x1401095f0
cmp dword [rdi + 0x58], 1
je 0x140109723
mov dword [rdi + 0x58], 1
lea r8, [rdi + 0x28]
mov rdx, rdi
lea rcx, [r14 + 0x40]
call fcn.140132d70
mov rcx, qword [rdi + 0x18]
mov rax, qword [rdi + 0x10]
test rcx, rcx
je 0x140109746
mov qword [rcx + 0x10], rax
jmp 0x14010974a
mov qword [r14 + 8], rax
mov rcx, qword [rdi + 0x10]
mov rax, qword [rdi + 0x18]
test rcx, rcx
je 0x140109770
mov qword [rcx + 0x18], rax
xor r13d, r13d
mov dword [rsp + 0x40], r13d
mov qword [rdi + 0x10], r12
mov qword [rdi + 0x18], r12
jmp case.0x1401094e5.1
mov qword [r14 + 0x10], rax
xor r13d, r13d
mov dword [rsp + 0x40], r13d
mov qword [rdi + 0x10], r12
mov qword [rdi + 0x18], r12
jmp case.0x1401094e5.1
cmp byte [rbp], 0
mov r12d, 0xffffffff
je 0x1401097aa
cmp eax, 7
je case.0x1401094e5.1
mov dword [rdi + 0x58], 7
jmp case.0x1401094e5.1
cmp eax, 5
je case.0x1401094e5.1
mov dword [rdi + 0x58], 5
jmp case.0x1401094e5.1
mov r8, qword [rdi + 0x20]
cmp byte [r8 + 0x3a0], r12b
je 0x1401097d5
mov rsi, qword [r8 + 0xd8]
jmp 0x1401097eb
cmp byte [r8 + 0x3a9], r12b
je 0x1401097e7
mov rsi, qword [r8 + 0x80]
jmp 0x1401097eb
mov rsi, qword [r8 + 0x50]
mov r8d, dword [r8 + 0x15c]
mov rdx, rsi
mov rcx, rdi
call fcn.140133b70
mov qword [rsp + 0x40], rax
mov rbx, rax
mov rcx, rdi
test rax, rax
je 0x14010982f
mov r8, rsi
mov qword [rdi + 0xd30], rax
lea rdx, [0x1402b0068]
mov byte [rdi + 0xd50], 1
call fcn.140101ff0
xor r13d, r13d
jmp 0x140109865
mov rax, qword [rdi + 0x20]
lea rdx, [rsp + 0x40]
cmp byte [rax + 0x3b9], r12b
je 0x140109848
call fcn.140126bf0
jmp 0x14010984d
call fcn.14011d0c0
mov rbx, qword [rsp + 0x40]
mov r13d, eax
test rbx, rbx
je 0x140109865
mov rdx, rbx
mov rcx, rdi
call fcn.140134e80
mov rdx, rdi
mov dword [rsp + 0x40], r13d
mov rcx, r14
call fcn.14010b1d0
mov r12d, eax
test eax, eax
jne 0x14010ac45
test rbx, rbx
je 0x14010997e
mov rax, qword [rdi + 0xd30]
mov rbx, qword [rdi + 0x20]
test rax, rax
je 0x1401098a8
mov qword [rbx + 0x30], rax
mov qword [rdi + 0xd30], 0
lea rdx, [rbp]
mov rcx, rdi
call fcn.14011a6c0
mov r13d, eax
test eax, eax
je 0x140109950
mov rcx, rdi
call fcn.1401080f0
mov r9, qword [rdi + 0xe8]
mov rsi, qword [rdi + 0xc20]
test r9, r9
je 0x1401098fe
test byte [r9 + 4], 0x20
je 0x1401098fe
mov rax, qword [r9 + 0x10]
test rax, rax
je 0x1401098fe
mov r9, qword [r9 + 0x20]
mov edx, 5
mov r8d, 2
mov rcx, rdi
call rax
mov rdx, rbx
mov rcx, rsi
call fcn.14011e500
mov r8, qword [rdi + 0xe8]
test r8, r8
je 0x140109933
test byte [r8 + 4], 0x20
je 0x140109933
mov rax, qword [r8 + 0x18]
test rax, rax
je 0x140109933
mov r8, qword [r8 + 0x20]
mov edx, 5
mov rcx, rdi
call rax
mov r8b, 1
mov rdx, rbx
mov rcx, rdi
call fcn.140115760
mov dword [rsp + 0x40], r13d
mov qword [rdi + 0x20], 0
jmp 0x14010997e
cmp byte [rbp], 0
mov r12d, 0xffffffff
mov eax, dword [rdi + 0x58]
mov dword [rsp + 0x40], r13d
je 0x140109972
cmp eax, 7
je 0x14010997e
mov dword [rdi + 0x58], 7
jmp 0x14010997e
cmp eax, 5
je 0x14010997e
mov dword [rdi + 0x58], 5
test r13d, r13d
je case.0x1401094e5.1
mov byte [rsp + 0x30], 1
jmp case.0x1401094e5.1
mov rax, qword [rdi + 0x20]
cmp byte [rax + 0x3a6], r12b
je 0x1401099a5
mov byte [rax + 0x3a6], r12b
lea r9, [rbp - 1]
xor r8d, r8d
xor edx, edx
mov rcx, rdi
call fcn.14010d140
mov r13d, eax
mov dword [rsp + 0x40], eax
mov rax, qword [rdi + 0x20]
cmp byte [rax + 0x3a4], r12b
je 0x140109a27
xor r13d, r13d
xor r8d, r8d
xor edx, edx
mov dword [rsp + 0x40], r13d
mov rcx, rdi
mov r12d, 0xffffffff
call fcn.140107630
cmp dword [rdi + 0x58], 3
je case.0x1401094e5.1
mov rax, qword [rdi + 0x258]
cmp byte [rdi + 0x129a], 4
mov qword [rdi + 0x10e0], rax
mov rax, qword [rdi + 0x200]
mov qword [rdi + 0x10e8], rax
sete al
mov byte [rdi + 0x12ad], al
mov dword [rdi + 0x58], 3
jmp case.0x1401094e5.1
test r13d, r13d
jne 0x140109987
cmp dword [rdi + 0x58], 7
mov r12d, 0xffffffff
je case.0x1401094e5.1
mov dword [rdi + 0x58], 7
jmp case.0x1401094e5.1
lea r9, [rbp]
xor r8d, r8d
xor edx, edx
mov rcx, rdi
call fcn.14010d140
mov r13d, eax
mov dword [rsp + 0x40], eax
cmp byte [rbp], r12b
je 0x140109a70
test eax, eax
jne 0x140109a78
jmp 0x140109a30
test eax, eax
je case.0x1401094e5.1
mov r8b, 1
mov edx, eax
mov rcx, rdi
call fcn.140107630
mov byte [rsp + 0x30], 1
jmp case.0x1401094e5.1
test r13d, r13d
jne 0x140109b5b
mov rax, qword [rdi + 0x20]
cmp byte [rax + 0x3a7], r12b
je 0x140109ab7
mov dword [rdi + 0x58], 9
mov r12d, 0xffffffff
jmp case.0x1401094e5.1
test r13d, r13d
jne 0x140109b5b
mov rbx, qword [rdi + 0x20]
mov byte [rbp - 1], r12b
mov rax, qword [rbx + 0x250]
test rax, rax
je 0x140109af6
cmp byte [rax + 0x24], r12b
je 0x140109af6
cmp byte [rbx + 0x3ae], r12b
je 0x140109aff
mov rax, qword [rbx + 0x3c8]
cmp qword [rax + 0x30], r12
jne 0x140109b2d
mov byte [rbp - 1], 1
jmp 0x140109b2d
cmp byte [rbx + 0x3ae], r12b
jne 0x140109b2d
mov rax, qword [rbx + 0x3c8]
mov r8, qword [rax + 0x28]
test r8, r8
je 0x140109b22
lea rdx, [rbp - 1]
mov rcx, rdi
call r8
mov r13d, eax
test eax, eax
je 0x140109b26
jmp 0x140109b2d
mov byte [rbp - 1], 1
mov byte [rbx + 0x3ae], 1
mov edx, dword [rdi + 0x58]
mov dword [rsp + 0x40], r13d
test r13d, r13d
jne 0x140109b5b
cmp byte [rbp - 1], r12b
jne 0x140109bc7
cmp edx, 8
je 0x140109b50
mov dword [rdi + 0x58], 8
mov r12d, 0xffffffff
jmp case.0x1401094e5.1
mov r8b, 1
mov edx, r13d
mov rcx, rdi
call fcn.140107630
mov byte [rsp + 0x30], 1
jmp case.0x1401094e5.1
mov rcx, qword [rdi + 0x20]
test rcx, rcx
je 0x140109bb1
mov rax, qword [rcx + 0x3c8]
cmp qword [rax + 0x30], r12
je 0x140109bb1
mov byte [rbp - 1], r12b
lea rdx, [rbp - 1]
mov rax, qword [rcx + 0x3c8]
mov rcx, rdi
call qword [rax + 0x30]
mov edx, dword [rdi + 0x58]
mov r13d, eax
mov dword [rsp + 0x40], eax
test eax, eax
je 0x140109bbd
jmp 0x140109a78
xor r13d, r13d
mov byte [rbp - 1], 1
mov dword [rsp + 0x40], r13d
cmp byte [rbp - 1], r12b
je case.0x1401094e5.1
cmp edx, 9
je 0x140109bd3
mov dword [rdi + 0x58], 9
mov r12d, 0xffffffff
jmp case.0x1401094e5.1
cmp qword [rdi + 0x2b0], r12
je 0x140109c78
mov rax, qword [rdi + 0xd8]
test rax, rax
je 0x140109bfe
mov byte [rax + 0x22b], 1
mov eax, dword [rdi + 0x1364]
lea r8, [rdi + 0x1332]
mov r9d, dword [rdi + 0x1360]
lea rdx, [rdi + 0x1304]
mov rcx, qword [rdi + 0x2b8]
mov dword [rsp + 0x20], eax
call qword [rdi + 0x2b0]
mov ecx, eax
mov rax, qword [rdi + 0xd8]
test rax, rax
je 0x140109c3f
mov byte [rax + 0x22b], r12b
test ecx, ecx
je 0x140109c75
lea rdx, str.operation_aborted_by_pre_request_callback
mov rcx, rdi
call fcn.140101e00
mov r13d, Ordinal_46
mov dword [rsp + 0x40], r13d
xor r8d, r8d
mov edx, r13d
mov rcx, rdi
call fcn.140107630
mov byte [rsp + 0x30], 1
jmp case.0x1401094e5.1
mov edx, dword [rdi + 0x58]
cmp byte [rdi + 0xa39], 1
mov rax, qword [rdi + 0x20]
jne 0x140109cb5
cmp byte [rax + 0x3a6], r12b
je 0x140109c95
mov byte [rax + 0x3a6], r12b
cmp dword [rdi + 0x58], 0xf
je 0x140109ca2
mov dword [rdi + 0x58], reloc.WS2_32.dll_ntohs
xor r13d, r13d
mov r12d, 0xffffffff
mov dword [rsp + 0x40], r13d
jmp case.0x1401094e5.1
mov rax, qword [rax + 0x3c8]
xor r13d, r13d
mov r8, qword [rax + 0x10]
test r8, r8
je 0x140109cd8
lea rdx, [rbp + 1]
mov rcx, rdi
call r8
mov edx, dword [rdi + 0x58]
mov r13d, eax
mov dword [rsp + 0x40], r13d
test r13d, r13d
jne 0x140109e54
cmp byte [rbp + 1], r12b
jne 0x140109d8d
cmp byte [rdi + 0x12a2], r12b
je 0x140109d76
mov rax, qword [rdi + 0x12b0]
movzx ecx, byte [rax + 0x40]
sub cl, 5
test cl, 0xfd
jne 0x140109d76
xor r8d, r8d
xor edx, edx
mov rcx, rdi
call fcn.140107630
mov rcx, qword [rdi + 0x20]
mov rax, rcx
neg rax
sbb ebx, ebx
add ebx, 0x10
cmp dword [rdi + 0x58], ebx
je 0x140109b50
mov dword [rdi + 0x58], ebx
test rcx, rcx
jne 0x140109d55
mov rax, qword [rdi + 0xd8]
dec dword [rax + 0x1c]
mov rcx, qword [rdi + 0xd8]
cmp dword [rcx + 0x1c], r12d
jne 0x140109d55
call fcn.14010cca0
mov rdx, qword [rsi + rbx*8 + 0x26fc50]
test rdx, rdx
je 0x140109b50
mov rcx, rdi
call rdx
mov r12d, 0xffffffff
jmp case.0x1401094e5.1
cmp edx, 0xa
je 0x140109d82
mov dword [rdi + 0x58], 0xa
mov r12d, 0xffffffff
jmp case.0x1401094e5.1
mov rax, qword [rdi + 0x20]
cmp byte [rax + 0x3ad], r12b
je 0x140109db1
cmp edx, 0xb
je 0x140109da6
mov dword [rdi + 0x58], listen
mov r12d, 0xffffffff
jmp case.0x1401094e5.1
cmp edx, 0xc
je 0x140109b50
cmp byte [0x1402e3f79], r12b
mov dword [rdi + 0x58], listen
mov byte [rdi + 0x1d4], r12b
je 0x140109e06
lea rcx, [rbp + 7]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov r8, qword [0x1402e3f70]
mov rax, qword [rbp + 7]
cqo
idiv r8
mov qword [rbp - 0x59], rax
mov rax, qword [rbp + 7]
cqo
idiv r8
imul rax, rdx, 0xf4240
cqo
idiv r8
jmp 0x140109e2c
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, eax
mov eax, 0x10624dd3
mul ecx
shr edx, 6
mov eax, edx
mov qword [rbp - 0x59], rax
imul eax, edx, 0x3e8
sub ecx, eax
imul eax, ecx, 0x3e8
mov dword [rbp - 0x51], eax
lea r8, [rbp - 0x79]
movaps xmm0, xmmword [rbp - 0x59]
mov edx, 7
mov rcx, rdi
movdqa xmmword [rbp - 0x79], xmm0
call fcn.140124d20
mov r12d, 0xffffffff
jmp case.0x1401094e5.1
cmp r13d, 0x37
jne 0x140109f18
mov rax, qword [rdi + 0x20]
cmp byte [rax + 0x3a7], r12b
je 0x140109f18
lea rdx, [rbp - 0x79]
mov qword [rbp - 0x79], r12
mov rcx, rdi
call fcn.1401327a0
test eax, eax
je 0x140109e8f
mov r13d, eax
mov dword [rsp + 0x40], eax
mov byte [rsp + 0x30], 1
xor r8d, r8d
mov edx, r13d
mov rcx, rdi
call fcn.140107630
mov rbx, qword [rbp - 0x79]
test rbx, rbx
je 0x140109f05
test eax, eax
je 0x140109ec4
cmp eax, 0x37
je 0x140109ec4
mov rcx, rbx
mov dword [rsp + 0x40], eax
mov r13d, eax
call qword [0x1402e1138]
jmp case.0x1401094e5.1
mov r8d, 2
mov rdx, rbx
mov rcx, rdi
call fcn.1401321c0
mov r13d, eax
test eax, eax
jne 0x140109ef2
cmp dword [rdi + 0x58], 2
je 0x140109ee9
mov dword [rdi + 0x58], 2
mov r12d, 0xffffffff
xor r13d, r13d
mov rcx, rbx
mov dword [rsp + 0x40], r13d
call qword [0x1402e1138]
jmp case.0x1401094e5.1
mov rcx, rbx
mov byte [rsp + 0x30], 1
call qword [0x1402e1138]
jmp case.0x1401094e5.1
cmp qword [rdi + 0x20], r12
je 0x140109987
xor r8d, r8d
mov edx, r13d
mov rcx, rdi
call fcn.140107630
mov byte [rsp + 0x30], 1
jmp case.0x1401094e5.1
mov rcx, qword [rdi + 0x20]
test rcx, rcx
je 0x140109f8a
mov rax, qword [rcx + 0x3c8]
cmp qword [rax + 0x38], r12
je 0x140109f8a
mov byte [rbp + 1], r12b
lea rdx, [rbp + 1]
mov rax, qword [rcx + 0x3c8]
mov rcx, rdi
call qword [rax + gethostname]
mov edx, dword [rdi + 0x58]
mov r13d, eax
mov dword [rsp + 0x40], eax
test eax, eax
je 0x140109f96
xor r8d, r8d
mov edx, eax
mov rcx, rdi
call fcn.140107630
mov byte [rsp + 0x30], 1
jmp case.0x1401094e5.1
xor r13d, r13d
mov byte [rbp + 1], 1
mov dword [rsp + 0x40], r13d
cmp byte [rbp + 1], r12b
je case.0x1401094e5.1
mov rax, qword [rdi + 0x20]
movzx ecx, byte [rax + 0x3ad]
neg cl
sbb eax, eax
add eax, 0xc
cmp edx, eax
je 0x140109b50
mov rdx, qword [rsi + rax*8 + 0x26fc50]
mov dword [rdi + 0x58], eax
test rdx, rdx
je 0x140109b50
mov rcx, rdi
call rdx
mov r12d, 0xffffffff
jmp case.0x1401094e5.1
mov rax, qword [rdi + 0x20]
xor r8d, r8d
mov dword [rbp + 3], r8d
xor r13d, r13d
mov rcx, qword [rax + 0x3c8]
mov rax, qword [rcx + 0x20]
test rax, rax
je 0x14010a00f
lea rdx, [rbp + 3]
mov rcx, rdi
call rax
mov edx, dword [rdi + 0x58]
mov r13d, eax
mov r8d, dword [rbp + 3]
mov dword [rsp + 0x40], r13d
test r13d, r13d
jne 0x140109c5d
test r8d, r8d
je case.0x1401094e5.1
cmp r8d, 1
mov eax, 0xa
mov ecx, listen
cmove eax, ecx
jmp 0x140109fb2
mov rax, qword [rdi + 0x20]
cmp byte [rax + 0x3b6], r12b
je 0x14010a060
mov rax, qword [r14 + 0x40]
test rax, rax
je 0x14010a060
mov rdx, qword [rax]
mov rcx, r14
call fcn.14010ca40
mov edx, dword [rdi + 0x58]
mov rax, qword [rdi + 0x20]
cmp qword [rax + 0x3e8], 0xffffffffffffffff
jne 0x14010a0bb
cmp qword [rax + 0x3f0], 0xffffffffffffffff
jne 0x14010a0bb
cmp byte [rdi + 0x12a2], r12b
je 0x14010a09f
mov rax, qword [rax + 0x3c8]
test dword [rax + 0x94], 0x1000
jne 0x14010a09f
mov rax, qword [rdi + 0x12b0]
mov byte [rax + 0x40], 7
cmp dword [rdi + 0x58], 0xf
je 0x140109b50
mov dword [rdi + 0x58], reloc.WS2_32.dll_ntohs
mov r12d, 0xffffffff
jmp case.0x1401094e5.1
cmp edx, 0xd
je 0x140109b50
mov dword [rdi + 0x58], reloc.WS2_32.dll_listen
mov r12d, 0xffffffff
jmp case.0x1401094e5.1
mov rcx, rdi
call fcn.140125960
test eax, eax
je 0x14010a0f2
mov r9d, Ordinal_46
mov r13d, r9d
mov dword [rsp + 0x40], r9d
jmp 0x14010a113
movups xmm0, xmmword [rbx]
lea rdx, [rbp - 0x79]
mov rcx, rdi
movaps xmmword [rbp - 0x79], xmm0
call fcn.14013e2c0
mov dword [rsp + 0x40], eax
mov r13d, eax
mov r9d, eax
test eax, eax
je 0x14010a17e
mov r8, qword [rdi + 0x20]
mov rax, qword [r8 + 0x3c8]
test byte [rax + 0x94], 2
jne 0x14010a16b
cmp r9d, 0x5c
je 0x14010a16b
test r8, r8
je 0x14010a159
mov rcx, qword [r8 + 0x250]
test rcx, rcx
je 0x14010a159
nop
mov rax, qword [rcx]
mov edx, dword [rax + 8]
test dl, 4
jne 0x14010a16b
test dl, 3
jne 0x14010a159
mov rcx, qword [rcx + 8]
test rcx, rcx
jne 0x14010a140
mov al, 1
cmp al, byte [r8 + 0x3a6]
je 0x14010a16b
mov byte [r8 + 0x3a6], al
mov r8b, 1
mov edx, r9d
mov rcx, rdi
call fcn.140107630
jmp case.0x1401094e5.1
mov rcx, qword [rdi + 0x328]
xor r10d, r10d
test rcx, rcx
je 0x14010a261
mov rax, qword [rdi + 0xab0]
sub rax, qword [rdi + 0xb68]
je 0x14010a261
cmp rax, r15
jge 0x14010a1c5
imul rax, rax, 0x3e8
cqo
idiv rcx
movabs rcx, 0x7fffffffffffffff
mov r10, rax
jmp 0x14010a1e5
cqo
idiv rcx
movabs rcx, 0x7fffffffffffffff
cmp rax, r15
jge 0x14010a1e2
imul r10, rax, 0x3e8
jmp 0x14010a1e5
mov r10, rcx
movups xmm0, xmmword [rdi + 0xb58]
movups xmm1, xmmword [rbx]
movq rax, xmm0
movq r8, xmm1
sub r8, rax
cmp r8, r15
jge 0x14010a254
movabs rax, 0xffdf3b645a1cac09
cmp r8, rax
jg 0x14010a21c
movabs rcx, 0x8000000000000000
jmp 0x14010a254
psrldq xmm1, 8
movd ecx, xmm1
psrldq xmm0, 8
movd eax, xmm0
sub ecx, eax
mov eax, 0x10624dd3
add ecx, 0x3e7
imul ecx
sar edx, 6
mov eax, edx
shr eax, 0x1f
add edx, eax
imul rax, r8, 0x3e8
movsxd rcx, edx
add rcx, rax
cmp rcx, r10
jge 0x14010a25e
sub r10, rcx
jmp 0x14010a261
xor r10d, r10d
mov rcx, qword [rdi + 0x330]
xor r9d, r9d
test rcx, rcx
je 0x14010a344
mov rax, qword [rdi + 0xaa8]
sub rax, qword [rdi + 0xb80]
je 0x14010a344
cmp rax, r15
jge 0x14010a2a8
imul rax, rax, 0x3e8
cqo
idiv rcx
movabs rcx, 0x7fffffffffffffff
mov r9, rax
jmp 0x14010a2c8
cqo
idiv rcx
movabs rcx, 0x7fffffffffffffff
cmp rax, r15
jge 0x14010a2c5
imul r9, rax, 0x3e8
jmp 0x14010a2c8
mov r9, rcx
movups xmm0, xmmword [rdi + 0xb70]
movups xmm1, xmmword [rbx]
movq rax, xmm0
movq r8, xmm1
sub r8, rax
cmp r8, r15
jge 0x14010a337
movabs rax, 0xffdf3b645a1cac09
cmp r8, rax
jg 0x14010a2ff
movabs rcx, 0x8000000000000000
jmp 0x14010a337
psrldq xmm1, 8
movd ecx, xmm1
psrldq xmm0, 8
movd eax, xmm0
sub ecx, eax
mov eax, 0x10624dd3
add ecx, 0x3e7
imul ecx
sar edx, 6
mov eax, edx
shr eax, 0x1f
add edx, eax
imul rax, r8, 0x3e8
movsxd rcx, edx
add rcx, rax
cmp rcx, r9
jge 0x14010a341
sub r9, rcx
jmp 0x14010a344
xor r9d, r9d
test r10, r10
jne 0x14010a373
test r9, r9
jne 0x14010a373
cmp dword [rdi + 0x58], 0xd
je 0x14010a35b
mov dword [rdi + 0x58], reloc.WS2_32.dll_listen
movups xmm0, xmmword [rbx]
lea rdx, [rbp - 0x79]
mov rcx, rdi
movaps xmmword [rbp - 0x79], xmm0
call fcn.140125160
jmp case.0x1401094e5.1
mov r8d, listen
mov rcx, rdi
cmp r10, r9
jl 0x14010a38e
mov rdx, r10
call fcn.14010c470
jmp case.0x1401094e5.1
mov rdx, r9
call fcn.14010c470
jmp case.0x1401094e5.1
mov rcx, qword [rdi + 0x328]
xor r15d, r15d
xor r14b, r14b
mov qword [rbp - 0x79], r15
xor esi, esi
movabs r9, 0x20c49ba5e353f7
test rcx, rcx
je 0x14010a490
mov rax, qword [rdi + 0xab0]
sub rax, qword [rdi + 0xb68]
je 0x14010a490
cmp rax, r9
jge 0x14010a3f5
imul rax, rax, 0x3e8
cqo
idiv rcx
movabs rcx, 0x7fffffffffffffff
mov rsi, rax
jmp 0x14010a415
cqo
idiv rcx
movabs rcx, 0x7fffffffffffffff
cmp rax, r9
jge 0x14010a412
imul rsi, rax, 0x3e8
jmp 0x14010a415
mov rsi, rcx
movups xmm0, xmmword [rdi + 0xb58]
movups xmm1, xmmword [rbx]
movq rax, xmm0
movq r8, xmm1
sub r8, rax
cmp r8, r9
jge 0x14010a484
movabs rax, 0xffdf3b645a1cac09
cmp r8, rax
jg 0x14010a44c
movabs rcx, 0x8000000000000000
jmp 0x14010a484
psrldq xmm1, 8
movd ecx, xmm1
psrldq xmm0, 8
movd eax, xmm0
sub ecx, eax
mov eax, 0x10624dd3
add ecx, 0x3e7
imul ecx
sar edx, 6
mov eax, edx
shr eax, 0x1f
add edx, eax
imul rax, r8, 0x3e8
movsxd rcx, edx
add rcx, rax
cmp rcx, rsi
jge 0x14010a48e
sub rsi, rcx
jmp 0x14010a490
xor esi, esi
mov rcx, qword [rdi + 0x330]
xor ebx, ebx
test rcx, rcx
je 0x14010a576
mov rax, qword [rdi + 0xaa8]
sub rax, qword [rdi + 0xb80]
je 0x14010a576
cmp rax, r9
jge 0x14010a4d6
imul rax, rax, 0x3e8
cqo
idiv rcx
movabs rcx, 0x7fffffffffffffff
mov rbx, rax
jmp 0x14010a4f6
cqo
idiv rcx
movabs rcx, 0x7fffffffffffffff
cmp rax, r9
jge 0x14010a4f3
imul rbx, rax, 0x3e8
jmp 0x14010a4f6
mov rbx, rcx
mov rax, qword [rsp + 0x38]
movups xmm0, xmmword [rdi + 0xb70]
movups xmm1, xmmword [rax]
movq rax, xmm0
movq r8, xmm1
sub r8, rax
cmp r8, r9
jge 0x14010a56a
movabs rax, 0xffdf3b645a1cac09
cmp r8, rax
jg 0x14010a532
movabs rcx, 0x8000000000000000
jmp 0x14010a56a
psrldq xmm1, 8
movd ecx, xmm1
psrldq xmm0, 8
movd eax, xmm0
sub ecx, eax
mov eax, 0x10624dd3
add ecx, 0x3e7
imul ecx
sar edx, 6
mov eax, edx
shr eax, 0x1f
add edx, eax
imul rax, r8, 0x3e8
movsxd rcx, edx
add rcx, rax
cmp rcx, rbx
jge 0x14010a574
sub rbx, rcx
jmp 0x14010a576
xor ebx, ebx
test rsi, rsi
jne 0x14010a80b
test rbx, rbx
jne 0x14010a80b
mov rcx, rdi
call fcn.140131750
mov r13d, eax
mov dword [rsp + 0x40], eax
cmp byte [rdi + 0x1ca], r12b
jne 0x14010a62c
cmp eax, 0x38
je 0x14010a62c
cmp eax, 0x5c
je 0x14010a5ba
test eax, eax
je 0x14010a664
mov r8, qword [rdi + 0x20]
mov rax, qword [r8 + 0x3c8]
test byte [rax + 0x94], 2
jne 0x14010a610
cmp r13d, 0x5c
je 0x14010a610
test r8, r8
je 0x14010a5fe
mov rcx, qword [r8 + 0x250]
test rcx, rcx
je 0x14010a5fe
mov rax, qword [rcx]
mov edx, dword [rax + 8]
test dl, 4
jne 0x14010a610
test dl, 3
jne 0x14010a5fe
mov rcx, qword [rcx + 8]
test rcx, rcx
jne 0x14010a5e5
mov al, 1
cmp al, byte [r8 + 0x3a6]
je 0x14010a610
mov byte [r8 + 0x3a6], al
mov r8b, 1
mov edx, r13d
mov rcx, rdi
call fcn.140107630
mov rcx, r15
call qword [0x1402e1138]
jmp case.0x1401094e5.1
lea rdx, [rbp - 0x79]
mov rcx, rdi
call fcn.1401327a0
mov r15, qword [rbp - 0x79]
mov ecx, eax
test eax, eax
mov eax, r13d
jne 0x14010a694
test r15, r15
setne r14b
test r14b, r14b
je 0x14010a5b2
xor r13d, r13d
mov byte [rdi + 0x1ca], 1
mov dword [rsp + 0x40], r13d
cmp byte [rdi + 0x1ca], r12b
je 0x14010a7d8
mov rbx, qword [rdi + 0x148]
test rbx, rbx
je 0x14010a6d9
lea rax, str.cw_out
cmp qword [rbx], rax
je 0x14010a6a5
mov rbx, qword [rbx + 8]
test rbx, rbx
jne 0x14010a684
jmp 0x14010a6d9
test r13d, r13d
jne 0x14010a64c
mov r13d, ecx
mov dword [rsp + 0x40], ecx
jmp 0x14010a5ba
test rbx, rbx
je 0x14010a6d9
cmp byte [rbx + 0x28], r12b
lea rax, [0x140223be9]
lea r8, str._not
mov rcx, rdi
cmovne r8, rax
lea rdx, str.cw_out_is_spaused
call fcn.1401022e0
cmp byte [rbx + 0x28], r12b
jne 0x14010a7d8
test r14b, r14b
jne 0x14010a78c
cmp qword [rdi + 0x1b0], r12
jne 0x14010a76e
cmp qword [rdi + 0x1a8], r12
je 0x14010a744
mov rcx, r15
call qword [0x1402e1138]
mov r15, qword [rdi + 0x1a8]
mov r8d, 1
mov rdx, r15
mov qword [rdi + 0x1a8], r12
mov rcx, rdi
call fcn.1401321c0
mov dword [rsp + 0x40], eax
mov r13d, eax
test eax, eax
je 0x14010a744
mov r8b, 1
mov byte [rsp + 0x30], 1
mov edx, eax
mov rcx, rdi
call fcn.140107630
mov r13d, eax
mov dword [rsp + 0x40], eax
test r13d, r13d
jne 0x14010a7fd
cmp dword [rdi + 0x58], 0xf
je 0x14010a75a
mov dword [rdi + 0x58], reloc.WS2_32.dll_ntohs
mov rcx, r15
mov r12d, 0xffffffff
call qword [0x1402e1138]
jmp case.0x1401094e5.1
mov rcx, r15
call qword [0x1402e1138]
mov r15, qword [rdi + 0x1b0]
mov ebx, 3
mov qword [rdi + 0x1b0], r12
jmp 0x14010a791
mov ebx, 2
xor r8d, r8d
xor edx, edx
mov rcx, rdi
call fcn.140107630
mov r8d, ebx
mov rdx, r15
mov rcx, rdi
call fcn.1401321c0
mov dword [rsp + 0x40], eax
mov r13d, eax
test eax, eax
jne 0x14010a7fd
cmp dword [rdi + 0x58], 2
je 0x14010a7c4
mov dword [rdi + 0x58], 2
mov rcx, r15
mov r12d, 0xffffffff
call qword [0x1402e1138]
jmp case.0x1401094e5.1
cmp byte [rdi + 0x129b], r12b
je 0x14010a7fd
mov rcx, rdi
call fcn.140132c30
test al, al
jne 0x14010a7fd
xor edx, edx
mov r8d, 8
mov rcx, rdi
call fcn.14010c470
mov rcx, r15
call qword [0x1402e1138]
jmp case.0x1401094e5.1
mov r15, qword [rsp + 0x38]
lea rdx, [rbp - 0x79]
mov rcx, rdi
movups xmm0, xmmword [r15]
movaps xmmword [rbp - 0x79], xmm0
call fcn.140125160
cmp dword [rdi + 0x58], 0xe
je 0x14010a831
mov dword [rdi + 0x58], reloc.WLDAP32.dll_Ordinal_14
cmp rsi, rbx
mov r8d, listen
mov rcx, rdi
cmovge rbx, rsi
mov rdx, rbx
call fcn.14010c470
jmp 0x14010a8fc
mov rax, qword [rdi + 0x20]
mov r12d, 0xffffffff
test rax, rax
je 0x14010a894
cmp byte [rax + 0x3b6], 0
je 0x14010a87a
mov rdx, qword [r14 + 0x40]
test rdx, rdx
je 0x14010a87a
mov rdx, qword [rdx]
mov rcx, r14
call fcn.14010ca40
xor r8d, r8d
mov edx, r13d
mov rcx, rdi
call fcn.140107630
test r13d, r13d
cmove r13d, eax
mov dword [rsp + 0x40], r13d
cmp byte [rdi + 0x12a2], 0
je 0x14010a8be
mov rax, qword [rdi + 0x12b0]
cmp byte [rax + 0x40], 7
je 0x14010a8be
cmp dword [rdi + 0x58], 0
mov r15, qword [rsp + 0x38]
je 0x14010a8fc
mov dword [rdi + 0x58], 0
jmp 0x14010a8fc
cmp dword [rdi + 0x58], 0x10
je case.0x1401094e5.1
mov rax, qword [rdi + 0xd8]
mov dword [rdi + 0x58], reloc.WS2_32.dll_recv
dec dword [rax + 0x1c]
mov rcx, qword [rdi + 0xd8]
cmp dword [rcx + 0x1c], 0
jne 0x14010a8e7
call fcn.14010cca0
mov rcx, rdi
call fcn.1401080f0
mov rcx, rdi
call fcn.14010c880
mov r15, qword [rsp + 0x38]
mov eax, dword [rdi + 0x58]
mov r14, qword [rbp - 0x69]
sub eax, 3
cmp eax, 5
ja 0x14010a935
cmp r12d, 0xffffffff
je 0x14010a935
cmp byte [r14 + 0x22a], 0
jne 0x14010a935
lea r9, [rsp + 0x40]
mov rdx, r15
lea r8, [rsp + 0x30]
mov rcx, rdi
call fcn.140109030
mov r13d, dword [rsp + 0x40]
lea rsi, [0x140000000]
mov eax, dword [rdi + 0x58]
cmp eax, 0x10
jge 0x14010ac09
test r13d, r13d
je 0x14010ab4e
mov rdx, qword [r14 + 0x40]
test rdx, rdx
je 0x14010a968
mov rdx, qword [rdx]
mov rcx, r14
call fcn.14010ca40
mov eax, dword [rdi + 0x58]
mov r15, qword [rdi + 0x20]
test r15, r15
je 0x14010aa8b
cmp byte [rsp + 0x30], 0
je 0x14010ab0c
cmp r13d, 0x1c
lea rsi, [r15 + 0x250]
mov r14d, 2
sete r12b
mov byte [rsp + 0x48], r12b
lea r12, [fcn.140046f00]
mov rbx, qword [rsi]
test rbx, rbx
je 0x14010a9e0
nop dword [rax]
mov rax, qword [rbx]
mov r10, qword [rax + 0x58]
cmp r12, r10
je 0x14010a9d7
xor r9d, r9d
mov qword [rsp + 0x20], 0
mov r8d, 2
mov rdx, rdi
mov rcx, rbx
call r10
mov rbx, qword [rbx + 8]
test rbx, rbx
jne 0x14010a9b0
add rsi, 8
sub r14, 1
jne 0x14010a9a1
movzx r12d, byte [rsp + 0x48]
lea rdx, [rdi + 0x40]
lea rcx, [r15 + 0x458]
xor r8d, r8d
call fcn.140132df0
mov r9, qword [rdi + 0xe8]
mov rbx, qword [rdi + 0xc20]
mov qword [rdi + 0x20], r14
test r9, r9
je 0x14010aa3e
test byte [r9 + 4], 0x20
je 0x14010aa3e
mov rax, qword [r9 + 0x10]
test rax, rax
je 0x14010aa3e
mov r9, qword [r9 + 0x20]
mov edx, 5
mov r8d, 2
mov rcx, rdi
call rax
mov rdx, r15
mov rcx, rbx
call fcn.14011e500
mov r8, qword [rdi + 0xe8]
test r8, r8
je 0x14010aa73
test byte [r8 + 4], 0x20
je 0x14010aa73
mov rax, qword [r8 + 0x18]
test rax, rax
je 0x14010aa73
mov r8, qword [r8 + 0x20]
mov edx, 5
mov rcx, rdi
call rax
movzx r8d, r12b
mov rdx, r15
mov rcx, rdi
call fcn.140115760
mov r14, qword [rbp - 0x69]
jmp 0x14010ab0c
cmp eax, 3
jne 0x14010ab0c
cmp byte [0x1402e3f79], 0
je 0x14010aace
lea rcx, [rbp + 0xf]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov r8, qword [0x1402e3f70]
mov rax, qword [rbp + 0xf]
cqo
idiv r8
mov qword [rbp - 0x49], rax
mov rax, qword [rbp + 0xf]
cqo
idiv r8
imul rax, rdx, 0xf4240
cqo
idiv r8
jmp 0x14010aaf4
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, eax
mov eax, 0x10624dd3
mul ecx
shr edx, 6
mov eax, edx
mov qword [rbp - 0x49], rax
imul eax, edx, 0x3e8
sub ecx, eax
imul eax, ecx, 0x3e8
mov dword [rbp - 0x41], eax
lea rdx, [rbp - 0x79]
movaps xmm0, xmmword [rbp - 0x49]
mov rcx, rdi
movdqa xmmword [rbp - 0x79], xmm0
call fcn.140125290
cmp dword [rdi + 0x58], 0x10
je 0x14010ac03
mov rax, qword [rdi + 0xd8]
mov dword [rdi + 0x58], reloc.WS2_32.dll_recv
dec dword [rax + 0x1c]
mov rcx, qword [rdi + 0xd8]
cmp dword [rcx + 0x1c], 0
jne 0x14010ab39
call fcn.14010cca0
mov rcx, rdi
call fcn.1401080f0
mov rcx, rdi
call fcn.14010c880
jmp 0x14010ac03
cmp qword [rdi + 0x20], 0
je 0x14010ac09
mov rcx, rdi
call fcn.140125960
test eax, eax
je 0x14010ac09
mov r8, qword [rdi + 0x20]
mov r13d, Ordinal_46
mov dword [rsp + 0x40], r13d
test r8, r8
je 0x14010aba9
mov rcx, qword [r8 + 0x250]
test rcx, rcx
je 0x14010aba9
nop dword [rax]
mov rax, qword [rcx]
mov edx, dword [rax + 8]
test dl, 4
jne 0x14010abbb
test dl, 3
jne 0x14010aba9
mov rcx, qword [rcx + 8]
test rcx, rcx
jne 0x14010ab90
mov al, 1
cmp al, byte [r8 + 0x3a6]
je 0x14010abbb
mov byte [r8 + 0x3a6], al
mov eax, dword [rdi + 0x58]
xor ebx, ebx
cmp eax, 0xf
setge bl
add ebx, 0xf
cmp eax, ebx
je 0x14010ac03
mov dword [rdi + 0x58], ebx
cmp eax, 0xf
jl 0x14010abf1
mov rax, qword [rdi + 0xd8]
dec dword [rax + 0x1c]
mov rcx, qword [rdi + 0xd8]
cmp dword [rcx + 0x1c], 0
jne 0x14010abf1
call fcn.14010cca0
mov rdx, qword [rsi + rbx*8 + 0x26fc50]
test rdx, rdx
je 0x14010ac03
mov rcx, rdi
call rdx
mov r12d, 0xffffffff
cmp dword [rdi + 0x58], 0x10
je 0x14010ac78
mov rbx, qword [rsp + 0x38]
lea rsi, [0x140000000]
movabs r15, 0x20c49ba5e353f7
cmp r12d, 0xffffffff
je 0x140109460
cmp byte [r14 + 0x22a], 0
je 0x14010ac3e
jmp 0x14010944c
mov dword [rdi + 0x5c], r13d
mov eax, r12d
mov r12, qword [rsp + 0xf8]
mov rsi, qword [rsp + 0x148]
mov r15, qword [rsp + 0xf0]
mov rcx, qword [rbp + 0x17]
xor rcx, rsp
call fcn.140171bd0
add rsp, 0x100
pop r14
pop r13
pop rdi
pop rbx
pop rbp
ret
mov rax, qword [rdi + 0x9f8]
test rax, rax
je 0x14010ac8e
mov edx, r13d
mov rcx, rdi
call rax
jmp 0x14010acae
lea r8, [rdi + 0x60]
lea rcx, [r14 + 0x20]
mov dword [r8 + 0x18], 1
mov rdx, r8
mov qword [r8 + 0x20], rdi
mov dword [r8 + 0x28], r13d
call fcn.140132d70
cmp dword [rdi + 0x58], 0x11
je 0x14010acbb
mov dword [rdi + 0x58], reloc.WS2_32.dll_recvfrom
lea r8, [rdi + 0x28]
mov rdx, rdi
lea rcx, [r14 + 0x60]
call fcn.140132d70
mov rcx, qword [rdi + 0x18]
mov rax, qword [rdi + 0x10]
test rcx, rcx
je 0x14010acde
mov qword [rcx + 0x10], rax
jmp 0x14010ace2
mov qword [r14 + 8], rax
mov rcx, qword [rdi + 0x10]
mov rax, qword [rdi + 0x18]
test rcx, rcx
je 0x14010acf5
mov qword [rcx + 0x18], rax
jmp 0x14010acf9
mov qword [r14 + 0x10], rax
mov qword [rdi + 0x10], 0
xor eax, eax
mov qword [rdi + 0x18], 0
jmp 0x14010ac45
mov eax, 4
jmp 0x14010ac45
mov eax, 2
jmp 0x14010ac5d