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

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xb8
mov rdi, qword [rcx + 0x10]
xor r11d, r11d
xor r13b, r13b
mov qword [rsp + 0x78], r11
mov rbp, rdx
mov byte [rsp + 0x68], r13b
mov rbx, rcx
mov dword [rsp + 0x70], r11d
movsxd r10, dword [rdi + 0x90]
mov r12d, r11d
mov dword [rsp + 0x6c], r11d
mov qword [rsp + 0xa0], rdi
mov dword [rsp + 0x74], r10d
cmp dword [rdi + 0x94], r10d
jg 0x140112d2e
xor r9d, r9d
mov dword [rsp + 0x20], r11d
xor r8d, r8d
lea edx, [r11 + 0xf]
mov rcx, rdi
call fcn.14019acc0
mov r9, qword [rsp + 0x118]
xor r11d, r11d
mov dword [rsp + 0x74], eax
jmp 0x140112d55
lea rcx, [r10 + r10*2]
lea eax, [r10 + 1]
mov dword [rdi + 0x90], eax
mov rax, qword [rdi + 0x88]
mov qword [rax + rcx*8], reloc.WS2_32.dll_ntohs
mov qword [rax + rcx*8 + 8], r11
mov qword [rax + rcx*8 + 0x10], r11
mov rax, qword [rbp]
mov r15d, r11d
mov r14, qword [rbp + 0x20]
movabs r10, 0x8000000000000000
mov r8, qword [r9 + 0x60]
mov dword [rsp + 0x100], r11d
mov rdx, qword [rax + 8]
movzx eax, byte [r9 + 0x40]
imul rsi, rax, 0x68
movsxd rax, dword [rbp + 0x14]
mov rbp, r11
add rsi, rdx
mov qword [rsp + 0x88], rdx
imul rax, rax, 0x38
mov rcx, qword [rsi + 0x28]
add rax, r14
mov qword [rsp + 0x80], rcx
mov qword [rsp + 0x60], rsi
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x48], r8
mov qword [rsp + 0x58], r11
cmp r14, rax
jae 0x1401131c1
nop word [rax + rax]
test byte [r14 + 0x12], 2
mov rsi, qword [r14]
jne 0x140113056
movzx r8d, byte [r9 + 0x40]
mov rcx, rsi
call fcn.1401797e0
test eax, eax
je 0x14011304c
mov r15, qword [rbx]
test rsi, rsi
je 0x140112e16
xor r9d, r9d
xor r8d, r8d
mov rdx, rsi
mov rcx, r15
call fcn.14017b170
mov r15, qword [rbx]
mov rbp, rax
xor esi, esi
jmp 0x140112e19
mov rbp, rsi
test r12, r12
jne 0x140112e2b
mov r12, rbp
mov qword [rsp + 0x78], rbp
jmp 0x14011303f
test rbp, rbp
je 0x14011303f
mov eax, dword [rbp + 4]
or eax, dword [r12 + 4]
and eax, 0x20000003
cmp eax, 0x20000000
jne 0x140112f82
cmp byte [rbx + 0x134], 2
jae 0x140112f82
test r15, r15
je 0x140112e6d
mov edx, 0x18
mov rcx, r15
call fcn.1401ccf60
jmp 0x140112e77
mov ecx, 0x18
call fcn.1401cd740
mov rcx, rax
test rax, rax
je 0x140112ea1
mov rax, qword [rbx + 0xc8]
mov qword [rcx], rax
lea rax, [fcn.14017b6c0]
mov qword [rbx + 0xc8], rcx
mov qword [rcx + 0x10], rax
mov qword [rcx + 8], r12
jmp 0x140112eb3
mov rcx, qword [rbx]
mov rdx, r12
call fcn.14017b6d0
lea rax, [fcn.14017b6c0]
mov r8, rbp
mov rdx, rax
mov rcx, rbx
call fcn.14013f340
lea rdx, [rsp + 0x50]
mov dword [rsp + 0x50], esi
lea rcx, [0x14020ce68]
call fcn.1401c7600
test eax, eax
mov rcx, r15
mov eax, 2
cmove esi, eax
mov edx, esi
add rdx, 0x48
call fcn.1401ccf60
mov qword [rsp + 0x78], rax
mov r12, rax
test rax, rax
je 0x14011303f
xorps xmm0, xmm0
xor eax, eax
movups xmmword [r12], xmm0
movups xmmword [r12 + 0x10], xmm0
movups xmmword [r12 + 0x20], xmm0
movups xmmword [r12 + 0x30], xmm0
mov qword [r12 + 0x40], rax
mov rax, 0xffffffffffffffff
mov word [r12 + 0x32], ax
mov byte [r12], 0x9b
test esi, esi
jne 0x140112f63
mov eax, dword [rsp + 0x50]
mov ecx, 0x20800800
test eax, eax
mov dword [r12 + 8], eax
mov edx, 0x10800800
mov r10d, 1
cmovne ecx, edx
mov dword [r12 + 0x28], r10d
or dword [r12 + 4], ecx
jmp 0x14011303f
lea rax, [r12 + 0x48]
mov r10d, 1
mov qword [r12 + 8], rax
mov word [rax], 0x30
mov dword [r12 + 0x28], r10d
jmp 0x14011303f
mov edx, 0x48
mov rcx, r15
call fcn.1401ccf60
mov rsi, rax
test rax, rax
je 0x140113021
xor eax, eax
xorps xmm0, xmm0
movups xmmword [rsi], xmm0
movups xmmword [rsi + 0x10], xmm0
movups xmmword [rsi + 0x20], xmm0
movups xmmword [rsi + 0x30], xmm0
mov qword [rsi + 0x40], rax
mov rax, 0xffffffffffffffff
mov word [rsi + 0x32], ax
mov byte [rsi], 0x2c
mov qword [rsi + 0x18], rbp
mov ecx, dword [rbp + 4]
and ecx, 0x400208
or ecx, dword [rsi + 4]
mov dword [rsi + 4], ecx
mov eax, dword [rbp + 0x28]
inc eax
mov dword [rsi + 0x28], eax
mov qword [rsi + 0x10], r12
mov eax, dword [r12 + 4]
and eax, 0x400208
or eax, ecx
mov ecx, dword [rsi + 0x28]
mov dword [rsi + 4], eax
mov eax, dword [r12 + 0x28]
cmp eax, ecx
jl 0x140113001
lea ecx, [rax + 1]
mov dword [rsi + 0x28], ecx
mov rax, qword [rbx]
mov r8d, dword [rax + 0x94]
cmp ecx, r8d
jle 0x140113037
lea rdx, str.Expression_tree_is_too_large__maximum_depth__d_
mov rcx, rbx
call fcn.1401c8980
jmp 0x140113037
mov rcx, qword [rbx]
mov rdx, r12
call fcn.14017b6d0
mov rcx, qword [rbx]
mov rdx, rbp
call fcn.14017b6d0
mov r12, rsi
mov qword [rsp + 0x78], rsi
mov rbp, qword [rsp + 0x58]
mov r15d, dword [rsp + 0x100]
mov rax, qword [rsp + 0x40]
mov r8, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x60]
mov edx, dword [rsi + 0x4c]
cmp dword [r14 + 0x1c], edx
jne 0x14011318f
test byte [r14 + 0x14], 0x82
je 0x14011318f
movzx ecx, byte [rsi + 0x44]
test cl, 0x58
je 0x1401130a5
mov rax, qword [r14]
mov r8d, dword [rax + 4]
test r8b, 3
je 0x140113185
cmp dword [rax + 0x34], edx
jne 0x140113185
test cl, 0x18
je 0x1401130a5
test r8b, 2
jne 0x140113185
mov rax, qword [rsp + 0x110]
test qword [r14 + 0x28], rax
jne 0x140113185
movsxd rax, dword [r14 + 0x20]
test eax, eax
js 0x140113185
lea rdx, [rax + rax*2]
mov rax, qword [rsi + 0x28]
mov rcx, qword [rax + 8]
movzx edx, byte [rcx + rdx*8 + 0xc]
mov rcx, qword [r14]
call fcn.14017d540
test eax, eax
je 0x140113185
movsxd rcx, dword [r14 + 0x20]
cmp ecx, 0x40
jl 0x1401130f9
movabs rsi, 0x8000000000000000
jmp 0x140113101
mov esi, 1
shl rsi, cl
test r13b, r13b
jne 0x140113131
mov rax, qword [rsp + 0x80]
lea rcx, [rcx + rcx*2]
lea rdx, str.automatic_index_on__s__s_
mov r9, qword [rax + 8]
mov r8, qword [rax]
mov r9, qword [r9 + rcx*8]
mov ecx, 0x11c
call fcn.1401ca090
mov r13b, 1
test rbp, rsi
jne 0x140113180
mov rdx, qword [rsp + 0x48]
lea ebp, [r15 + 1]
mov rcx, qword [rbx]
mov r8d, ebp
call fcn.1401117d0
test eax, eax
jne 0x140113cfb
mov r8, qword [rsp + 0x48]
movsxd rcx, r15d
mov r15d, ebp
mov dword [rsp + 0x100], ebp
mov rbp, qword [rsp + 0x58]
mov rax, qword [r8 + 0x48]
or rbp, rsi
mov rsi, qword [rsp + 0x60]
mov qword [rsp + 0x58], rbp
mov qword [rax + rcx*8], r14
jmp 0x14011318a
mov rsi, qword [rsp + 0x60]
mov r8, qword [rsp + 0x48]
mov rax, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x88]
add r14, 0x38
mov r9, qword [rsp + 0x118]
cmp r14, rax
jb 0x140112dd0
mov rcx, qword [rsp + 0x80]
xor r11d, r11d
movabs r10, 0x8000000000000000
mov word [r8 + 0x3c], r15w
mov word [r8 + 0x18], r15w
mov dword [r8 + 0x38], 0x4241
cmp byte [rcx + 0x3f], 2
jne 0x1401131e2
mov rbp, 0xffffffffffffffff
jmp 0x1401131ec
not rbp
or rbp, r10
and rbp, qword [rsi + 0x58]
movsx r8d, word [rcx + 0x36]
mov eax, 0x3f
mov qword [rsp + 0x58], rbp
cmp ax, r8w
jge 0x14011320a
mov r9d, eax
mov dword [rsp + 0x50], eax
jmp 0x140113218
mov dword [rsp + 0x50], r8d
mov r9d, r8d
cmp r11w, r8w
jge 0x14011323f
mov edx, r11d
nop dword [rax + rax]
mov ecx, r15d
mov eax, edx
inc r15d
bt rbp, rax
cmovae r15d, ecx
inc edx
cmp edx, r9d
jl 0x140113220
mov dword [rsp + 0x100], r15d
cmp qword [rsi + 0x58], 0
jge 0x140113255
add r15d, 0xffffffc1
add r15d, r8d
mov dword [rsp + 0x100], r15d
mov rcx, qword [rbx]
lea esi, [r15 + 1]
movsx rbp, si
mov eax, ebp
movsx r13d, si
add eax, r13d
lea edx, [rax*2 + 9]
add edx, ebp
lea eax, [rbp + 0xe]
and edx, 0xfffffff8
lea eax, [rdx + rax*8]
movsxd r14, eax
test rcx, rcx
je 0x14011328d
mov rdx, r14
call fcn.1401ccf60
jmp 0x140113295
mov rcx, r14
call fcn.1401cd740
mov r15, rax
test rax, rax
je 0x140113cfb
mov r8, r14
xor edx, edx
mov rcx, rax
call fcn.1400b4b10
mov r10d, dword [rsp + 0x100]
lea rax, [r15 + 0x70]
mov qword [r15 + 0x40], rax
lea rdx, [rax + rbp*8]
lea eax, [r13 + 1]
mov word [r15 + 0x60], si
mov rsi, qword [rsp + 0x108]
lea r14, [0x140206908]
movsxd rcx, eax
xor r11d, r11d
mov qword [r15 + 0x10], rdx
mov r13d, r11d
mov word [r15 + 0x5e], r10w
mov qword [rsp + 0x90], r11
lea rax, [rdx + rcx*2]
mov qword [r15 + 8], rax
lea rax, [rax + rbp*2]
mov rbp, qword [rsp + 0x80]
mov qword [r15 + 0x38], rax
mov rax, qword [rsp + 0x48]
mov qword [rax + 0x20], r15
lea rax, str.auto_index
mov qword [r15], rax
mov rax, qword [rsp + 0x40]
mov qword [r15 + 0x18], rbp
mov rsi, qword [rsi + 0x20]
cmp rsi, rax
jae 0x140113512
mov rdi, qword [rsp + 0x60]
mov ebp, r11d
mov r12, qword [rsp + 0x110]
mov qword [rsp + 0x88], r11
mov qword [rsp + 0x98], r11
nop word [rax + rax]
mov edx, dword [rdi + 0x4c]
cmp dword [rsi + 0x1c], edx
jne 0x1401134de
test byte [rsi + 0x14], 0x82
je 0x1401134de
movzx ecx, byte [rdi + 0x44]
test cl, 0x58
je 0x1401133ad
mov rax, qword [rsi]
mov r8d, dword [rax + 4]
test r8b, 3
je 0x1401134d9
cmp dword [rax + 0x34], edx
mov rax, qword [rsp + 0x40]
jne 0x1401134de
test cl, 0x18
je 0x1401133ad
test r8b, 2
jne 0x1401134de
test qword [rsi + 0x28], r12
jne 0x1401134de
movsxd rax, dword [rsi + 0x20]
test eax, eax
js 0x1401134d9
mov rdx, qword [rdi + 0x28]
lea rcx, [rax + rax*2]
mov rax, qword [rdx + 8]
movzx edx, byte [rax + rcx*8 + 0xc]
mov rcx, qword [rsi]
call fcn.14017d540
test eax, eax
je 0x1401134d9
mov ecx, dword [rsi + 0x20]
cmp ecx, 0x40
jl 0x1401133f8
movabs rax, 0x8000000000000000
jmp 0x140113400
mov eax, 1
shl rax, cl
mov r8, qword [rsp + 0x90]
test r8, rax
jne 0x1401134d9
mov r14, qword [rsi]
or r8, rax
mov rax, qword [r15 + 8]
mov qword [rsp + 0x90], r8
mov word [rax + rbp], cx
test dword [r14 + 4], 0x400
je 0x14011343b
mov rbp, qword [r14 + 0x10]
mov rdx, qword [r14 + 0x18]
jmp 0x140113443
mov rbp, qword [r14 + 0x18]
mov rdx, qword [r14 + 0x10]
test dword [rdx + 4], 0x200
jne 0x14011346a
test rbp, rbp
je 0x14011345a
test dword [rbp + 4], 0x200
jne 0x140113467
mov rcx, rbx
call fcn.14017d7c0
test rax, rax
jne 0x140113477
mov rdx, rbp
mov rcx, rbx
call fcn.14017d7c0
test rax, rax
je 0x14011347c
mov rcx, qword [rax]
jmp 0x140113483
lea rcx, [0x140206908]
mov r8, qword [rsp + 0x88]
inc r13d
mov rbp, qword [rsp + 0x98]
mov rax, qword [r15 + 0x40]
add rbp, 2
mov qword [rsp + 0x98], rbp
mov qword [r8 + rax], rcx
add r8, 8
mov rcx, qword [r14 + 0x10]
mov qword [rsp + 0x88], r8
test rcx, rcx
je 0x1401134d9
call fcn.14017dd70
mov ecx, dword [rsp + 0x68]
cmp al, 0x42
movzx ecx, cl
mov eax, 1
cmovne ecx, eax
mov dword [rsp + 0x68], ecx
mov rax, qword [rsp + 0x40]
add rsi, 0x38
cmp rsi, rax
jb 0x140113360
mov rdi, qword [rsp + 0xa0]
lea r14, [0x140206908]
mov r12, qword [rsp + 0x78]
xor r11d, r11d
mov r10d, dword [rsp + 0x100]
mov rbp, qword [rsp + 0x80]
mov r9d, dword [rsp + 0x50]
mov ecx, r11d
test r9d, r9d
jle 0x140113561
mov r11, qword [rsp + 0x58]
movsxd rax, r13d
lea rdx, [rax*8]
lea r8, [rax + rax]
mov eax, ecx
bt r11, rax
jae 0x140113557
mov rax, qword [r15 + 8]
inc r13d
mov word [r8 + rax], cx
add r8, 2
mov rax, qword [r15 + 0x40]
mov qword [rdx + rax], r14
add rdx, 8
inc ecx
cmp ecx, r9d
jl 0x140113533
xor r11d, r11d
mov r14, qword [rsp + 0x60]
lea r9, [0x140206908]
cmp qword [r14 + 0x58], 0
jge 0x1401135ba
mov r8d, 0x3f
cmp r8w, word [rbp + 0x36]
jge 0x1401135ba
movsxd rax, r13d
lea rcx, [rax*8]
lea rdx, [rax + rax]
mov rax, qword [r15 + 8]
lea rdx, [rdx + 2]
inc r13d
lea rcx, [rcx + 8]
mov word [rdx + rax - 2], r8w
inc r8d
mov rax, qword [r15 + 0x40]
mov qword [rcx + rax - 8], r9
movsx eax, word [rbp + 0x36]
cmp r8d, eax
jl 0x140113590
mov rax, qword [r15 + 8]
mov rdx, 0xffffffffffffffff
mov rbp, qword [rsp + 0x118]
movsxd rcx, r13d
mov word [rax + rcx*2], dx
lea edx, [r10 + 1]
mov rax, qword [r15 + 0x40]
mov qword [rax + rcx*8], r9
mov eax, dword [rbx + 0x34]
mov dword [rbp + 8], eax
inc dword [rbx + 0x34]
movsxd rcx, dword [rdi + 0x90]
mov r8d, dword [rbp + 8]
cmp dword [rdi + 0x94], ecx
jg 0x140113613
mov r9d, edx
mov dword [rsp + 0x20], r11d
mov edx, reloc.WS2_32.dll_WSACleanup
mov rcx, rdi
call fcn.14019acc0
jmp 0x140113641
lea eax, [rcx + 1]
mov dword [rdi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi + 0x88]
mov dword [rax + rcx*8], reloc.WS2_32.dll_WSACleanup
mov dword [rax + rcx*8 + 4], r8d
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], r11d
mov qword [rax + rcx*8 + 0x10], r11
mov rsi, qword [rbx + 0x10]
mov rdx, r15
mov rcx, rbx
call fcn.14015b410
mov rdx, rax
test rax, rax
je 0x1401136f4
mov rax, qword [rsi]
cmp byte [rax + 0x67], 0
je 0x1401136d8
cmp qword [rax + 0x308], 0
jne 0x1401136f4
add dword [rdx], 0xffffffff
jne 0x1401136f4
mov rcx, qword [rdx + 0x10]
cmp rdx, qword [rcx + 0x1f0]
jae 0x1401136bd
cmp rdx, qword [rcx + 0x1e0]
jb 0x1401136a1
mov rax, qword [rcx + 0x1d8]
mov qword [rdx], rax
mov qword [rcx + 0x1d8], rdx
jmp 0x1401136f4
cmp rdx, qword [rcx + 0x1e8]
jb 0x1401136bd
mov rax, qword [rcx + 0x1c8]
mov qword [rdx], rax
mov qword [rcx + 0x1c8], rdx
jmp 0x1401136f4
cmp qword [rcx + 0x308], 0
je 0x1401136ce
call fcn.1401cd4c0
jmp 0x1401136f4
mov rcx, rdx
call fcn.1401cd540
jmp 0x1401136f4
movsxd rax, dword [rsi + 0x90]
lea rcx, [rax + rax*2]
mov rax, qword [rsi + 0x88]
mov byte [rax + rcx*8 - 0x17], 0xf8
mov qword [rax + rcx*8 - 8], rdx
mov rax, qword [rbx]
test dword [rax + 0x60], 0x80000
jne 0x140113753
cmp byte [rsp + 0x68], 0
je 0x140113753
mov rax, qword [rsp + 0x108]
mov r8, rbp
mov rcx, rbx
mov rdx, qword [rax]
call fcn.14011e920
inc dword [rbx + 0x38]
mov edx, dword [rbx + 0x38]
mov dword [rbp + 0x34], edx
movsxd rcx, dword [rdi + 0x90]
cmp dword [rdi + 0x94], ecx
jg 0x14011379a
mov r9d, edx
mov dword [rsp + 0x20], 0
mov edx, 0x4d
mov r8d, 0x2710
mov rcx, rdi
call fcn.14019acc0
xor r9d, r9d
test byte [r14 + 0x48], 0x20
je 0x1401138c2
movsxd r8, dword [rdi + 0x90]
mov ebp, dword [r14 + 0x3c]
mov dword [rsp + 0x6c], r8d
cmp dword [rdi + 0x94], r8d
jg 0x1401137d0
mov dword [rsp + 0x20], r9d
xor r8d, r8d
xor r9d, r9d
mov rcx, rdi
lea edx, [r9 + 0x47]
call fcn.14019acc0
mov dword [rsp + 0x6c], eax
xor r9d, r9d
jmp 0x1401137fb
lea eax, [rcx + 1]
xor r9d, r9d
mov dword [rdi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi + 0x88]
mov dword [rax + rcx*8], 0x4d
mov dword [rax + rcx*8 + 4], 0x2710
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], r9d
mov qword [rax + rcx*8 + 0x10], r9
jmp 0x140113756
lea rcx, [r8 + r8*2]
lea eax, [r8 + 1]
mov dword [rdi + 0x90], eax
mov rax, qword [rdi + 0x88]
mov qword [rax + rcx*8], 0x47
mov qword [rax + rcx*8 + 8], 0
mov qword [rax + rcx*8 + 0x10], r9
movsxd rcx, dword [rdi + 0x90]
mov edx, dword [r14 + 0x38]
cmp dword [rdi + 0x94], ecx
jg 0x140113829
xor r9d, r9d
mov dword [rsp + 0x20], edx
mov r8d, ebp
mov rcx, rdi
lea edx, [r9 + 0xb]
call fcn.14019acc0
xor r9d, r9d
jmp 0x140113856
lea eax, [rcx + 1]
mov dword [rdi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi + 0x88]
mov dword [rax + rcx*8], listen
mov dword [rax + rcx*8 + 4], ebp
mov dword [rax + rcx*8 + 8], r9d
mov dword [rax + rcx*8 + 0xc], edx
mov qword [rax + rcx*8 + 0x10], r9
movsxd rsi, dword [rdi + 0x90]
cmp dword [rdi + 0x94], esi
jg 0x14011388b
mov dword [rsp + 0x20], r9d
mov r8d, ebp
xor r9d, r9d
mov rcx, rdi
lea edx, [r9 + 0xc]
call fcn.14019acc0
mov rbp, qword [rsp + 0x118]
mov esi, eax
jmp 0x14011391c
lea rcx, [rsi + rsi*2]
lea eax, [rsi + 1]
mov dword [rdi + 0x90], eax
mov rax, qword [rdi + 0x88]
mov dword [rax + rcx*8 + 4], ebp
mov rbp, qword [rsp + 0x118]
mov dword [rax + rcx*8], select
mov qword [rax + rcx*8 + 8], 0
mov qword [rax + rcx*8 + 0x10], r9
jmp 0x14011391c
movsxd rsi, dword [rdi + 0x90]
mov edx, dword [rbp + 4]
cmp dword [rdi + 0x94], esi
jg 0x1401138ef
mov dword [rsp + 0x20], r9d
mov r8d, edx
xor r9d, r9d
mov rcx, rdi
lea edx, [r9 + 0x24]
call fcn.14019acc0
mov esi, eax
jmp 0x14011391c
lea rcx, [rsi + rsi*2]
lea eax, [rsi + 1]
mov dword [rdi + 0x90], eax
mov rax, qword [rdi + 0x88]
mov dword [rax + rcx*8], 0x24
mov dword [rax + rcx*8 + 4], edx
mov qword [rax + rcx*8 + 8], 0
mov qword [rax + rcx*8 + 0x10], r9
mov eax, reloc.WS2_32.dll_recv
test r12, r12
je 0x14011394c
dec dword [rbx + 0x44]
mov r9d, eax
mov r8d, dword [rbx + 0x44]
mov rdx, r12
mov rcx, rbx
mov dword [rsp + 0x70], r8d
call fcn.140172cc0
mov rax, qword [rsp + 0x48]
or dword [rax + 0x38], 0x20000
movzx eax, byte [rbx + 0x1f]
test al, al
jne 0x14011395d
inc dword [rbx + 0x38]
mov r14d, dword [rbx + 0x38]
jmp 0x14011396d
dec al
movzx eax, al
mov byte [rbx + 0x1f], al
mov r14d, dword [rbx + rax*4 + 0xe8]
mov r8d, dword [rbp + 4]
xor eax, eax
mov dword [rsp + 0x38], eax
mov r9d, r14d
mov qword [rsp + 0x30], rax
mov rdx, r15
mov qword [rsp + 0x28], rax
mov rcx, rbx
mov dword [rsp + 0x20], eax
call fcn.140157f10
mov edx, dword [rbp + 0x34]
mov r15d, eax
test edx, edx
je 0x1401139d3
mov rax, qword [rsp + 0x48]
movsxd rcx, dword [rdi + 0x90]
movzx r8d, word [rax + 0x18]
cmp dword [rdi + 0x94], ecx
jg 0x140113a02
mov dword [rsp + 0x28], r8d
xor r9d, r9d
mov r8d, edx
mov dword [rsp + 0x20], r15d
mov edx, 0xb5
mov rcx, rdi
call fcn.14019ac20
xor r9d, r9d
movsxd rcx, dword [rdi + 0x90]
mov edx, dword [rbp + 8]
cmp dword [rdi + 0x94], ecx
jg 0x140113a35
mov dword [rsp + 0x20], r9d
mov r8d, edx
mov r9d, r14d
mov edx, 0x8a
mov rcx, rdi
call fcn.14019acc0
jmp 0x140113a63
lea eax, [rcx + 1]
xor r9d, r9d
mov dword [rdi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi + 0x88]
mov dword [rax + rcx*8], 0xfdb5
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 8], r9d
mov dword [rax + rcx*8 + 0xc], r15d
mov dword [rax + rcx*8 + 0x10], r8d
jmp 0x1401139d6
lea eax, [rcx + 1]
mov dword [rdi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi + 0x88]
mov dword [rax + rcx*8], 0x8a
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 8], r14d
mov dword [rax + rcx*8 + 0xc], r9d
mov qword [rax + rcx*8 + 0x10], r9
movsxd rdx, dword [rdi + 0x90]
test edx, edx
jle 0x140113a89
mov rax, qword [rdi + 0x88]
lea rcx, [rdx + rdx*2]
mov edx, reloc.WS2_32.dll_recv
mov word [rax + rcx*8 - 0x16], dx
mov edx, dword [rdi + 0x90]
test r12, r12
je 0x140113abc
mov r9, qword [rdi + 0x18]
mov ecx, dword [rsp + 0x70]
not ecx
mov eax, dword [r9 + 0x48]
add eax, dword [r9 + 0x44]
jns 0x140113ab2
mov r8d, ecx
mov rdx, rdi
mov rcx, r9
call fcn.140199f70
jmp 0x140113abc
mov rax, qword [r9 + 0x50]
movsxd rcx, ecx
mov dword [rax + rcx*4], edx
mov rax, qword [rsp + 0x60]
lea rbp, [0x140246fe0]
test byte [rax + 0x48], 0x20
je 0x140113c0f
mov rax, qword [rdi]
cmp byte [rax + 0x67], 0
je 0x140113ae0
mov rcx, rbp
jmp 0x140113af4
movsxd rax, dword [rsp + 0x6c]
lea rcx, [rax + rax*2]
mov rax, qword [rdi + 0x88]
lea rcx, [rax + rcx*8]
lea eax, [r15 + r13]
mov r15, qword [rsp + 0x60]
mov dword [rcx + 8], eax
mov rax, qword [rsp + 0x118]
mov rdx, qword [rbx + 0x10]
mov r11d, dword [r15 + 0x40]
mov r10d, dword [rax + 8]
mov r9d, dword [rax + 4]
mov rax, qword [rdx]
cmp byte [rax + 0x67], 0
je 0x140113b26
mov r8, rbp
jmp 0x140113b38
movsxd rax, esi
lea rcx, [rax + rax*2]
mov rax, qword [rdx + 0x88]
lea r8, [rax + rcx*8]
mov rax, qword [rbx]
mov ecx, dword [rdx + 0x90]
cmp byte [rax + 0x67], 0
jne 0x140113baa
cmp esi, ecx
jge 0x140113baa
sub ecx, esi
lea rdx, [r8 + 0xc]
xor r12d, r12d
mov r8d, ecx
lea r15d, [r12 + 2]
nop dword [rax]
cmp dword [rdx - 8], r9d
jne 0x140113b96
movzx eax, byte [rdx - 0xc]
cmp al, 0x5e
jne 0x140113b8a
mov ecx, dword [rdx - 4]
mov eax, dword [rdx]
add ecx, r11d
mov dword [rdx - 8], ecx
mov byte [rdx - 0xc], 0x50
mov dword [rdx - 4], eax
mov dword [rdx], r12d
mov word [rdx - 0xa], r15w
jmp 0x140113b96
cmp al, 0x87
jne 0x140113b96
mov byte [rdx - 0xc], 0x7e
mov dword [rdx - 8], r10d
add rdx, 0x18
sub r8, 1
jne 0x140113b60
mov r12, qword [rsp + 0x78]
mov r15, qword [rsp + 0x60]
movsxd rcx, dword [rdi + 0x90]
cmp dword [rdi + 0x94], ecx
jg 0x140113bda
xor eax, eax
mov r9d, esi
xor r8d, r8d
mov dword [rsp + 0x20], eax
mov rcx, rdi
lea edx, [rax + 9]
call fcn.14019acc0
and dword [r15 + 0x48], 0xffffffdf
jmp 0x140113c94
lea eax, [rcx + 1]
xor edx, edx
mov dword [rdi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi + 0x88]
mov qword [rax + rcx*8], 9
mov dword [rax + rcx*8 + 8], esi
mov dword [rax + rcx*8 + 0xc], edx
mov qword [rax + rcx*8 + 0x10], rdx
and dword [r15 + 0x48], 0xffffffdf
jmp 0x140113c94
mov rax, qword [rsp + 0x118]
lea edx, [rsi + 1]
movsxd rcx, dword [rdi + 0x90]
mov r8d, dword [rax + 4]
cmp dword [rdi + 0x94], ecx
jg 0x140113c43
xor eax, eax
mov r9d, edx
mov rcx, rdi
mov dword [rsp + 0x20], eax
lea edx, [rax + 0x27]
call fcn.14019acc0
jmp 0x140113c74
lea eax, [rcx + 1]
xor r9d, r9d
mov dword [rdi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi + 0x88]
mov dword [rax + rcx*8], 0x27
mov dword [rax + rcx*8 + 4], r8d
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], r9d
mov qword [rax + rcx*8 + 0x10], r9
movsxd rax, dword [rdi + 0x90]
test eax, eax
jle 0x140113c94
lea rcx, [rax + rax*2]
mov edx, 3
mov rax, qword [rdi + 0x88]
mov word [rax + rcx*8 - 0x16], dx
mov rax, qword [rdi]
mov edx, dword [rdi + 0x90]
cmp byte [rax + 0x67], 0
je 0x140113ca8
mov rax, rbp
jmp 0x140113cba
movsxd rax, esi
lea rcx, [rax + rax*2]
mov rax, qword [rdi + 0x88]
lea rax, [rax + rcx*8]
mov dword [rax + 8], edx
test r14d, r14d
je 0x140113cd5
movzx eax, byte [rbx + 0x1f]
cmp al, 8
jae 0x140113cd5
mov dword [rbx + rax*4 + 0xe8], r14d
inc byte [rbx + 0x1f]
mov rax, qword [rdi]
mov edx, dword [rdi + 0x90]
cmp byte [rax + 0x67], 0
jne 0x140113cf8
movsxd rax, dword [rsp + 0x74]
lea rcx, [rax + rax*2]
mov rax, qword [rdi + 0x88]
lea rbp, [rax + rcx*8]
mov dword [rbp + 8], edx
test r12, r12
je 0x140113d0b
mov rcx, qword [rbx]
mov rdx, r12
call fcn.14017b6d0
add rsp, 0xb8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret