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

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xd8
mov rbx, qword [rcx + 0x10]
xor r10d, r10d
xor r13b, r13b
mov qword [rsp + 0x70], r10
mov rbp, r8
mov dword [rsp + 0x78], r10d
mov rdi, rdx
mov dword [rsp + 0x68], r10d
movsxd r9, dword [rbx + 0x90]
mov r14, rcx
mov r12d, r10d
mov qword [rsp + 0x88], rbx
mov dword [rsp + 0x7c], r9d
cmp dword [rbx + 0x94], r9d
jg 0x140212089
xor r9d, r9d
mov dword [rsp + 0x20], r10d
xor r8d, r8d
lea edx, [r10 + 0xe]
mov rcx, rbx
call fcn.1402471f0
mov dword [rsp + 0x7c], eax
xor r10d, r10d
jmp 0x1402120b0
lea rcx, [r9 + r9*2]
lea eax, [r9 + 1]
mov dword [rbx + 0x90], eax
mov rax, qword [rbx + 0x88]
mov qword [rax + rcx*8], send
mov qword [rax + rcx*8 + 8], r10
mov qword [rax + rcx*8 + 0x10], r10
mov r8, qword [rsp + 0x140]
mov r15d, r10d
mov rsi, qword [rdi + 0x20]
mov r11, r10
movsxd rax, dword [rdi + 0x14]
mov rcx, qword [rbp + 0x20]
mov rdx, qword [r8 + 0x60]
movabs r8, 0x8000000000000000
imul rax, rax, 0x38
mov dword [rsp + 0x48], r10d
add rax, rsi
mov qword [rsp + 0x60], r10
mov qword [rsp + 0x80], rcx
mov r10d, 3
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x50], rdx
cmp rsi, rax
jae 0x1402124fb
lea r8, [fcn.14021a1f0]
lea r9, [0x1402afe40]
nop dword [rax + rax]
test byte [rsi + 0x12], 2
mov rdi, qword [rsi]
jne 0x1402121e2
movzx ecx, byte [rbp + 0x3c]
test cl, 0x40
jne 0x1402121e2
mov eax, dword [rdi + 4]
and eax, 1
test cl, 8
je 0x14021215b
test eax, eax
je 0x1402121dd
mov eax, dword [rbp + 0x44]
cmp dword [rdi + 0x34], eax
jne 0x1402121dd
jmp 0x140212162
test eax, eax
jne 0x1402121dd
mov eax, dword [rbp + 0x44]
mov rdx, rdi
mov word [rsp + 0xbc], r10w
lea rcx, [rsp + 0x98]
mov qword [rsp + 0xa0], r8
mov qword [rsp + 0xa8], r9
mov dword [rsp + 0xc0], eax
call fcn.1402dff00
movzx eax, word [rsp + 0xbc]
test eax, eax
je 0x1402121d3
mov rcx, qword [r14]
xor r9d, r9d
xor r8d, r8d
mov rdx, rdi
call fcn.140219650
mov r15, qword [r14]
mov rbp, rax
test r12, r12
jne 0x14021226f
mov r12, rax
mov qword [rsp + 0x70], rax
mov rbp, qword [rsp + 0x130]
mov r15d, dword [rsp + 0x48]
mov rdx, qword [rsp + 0x50]
mov r11, qword [rsp + 0x60]
mov rax, qword [rsp + 0x40]
mov ecx, dword [rbp + 0x44]
cmp dword [rsi + 0x1c], ecx
jne 0x1402124c8
test byte [rsi + 0x14], 0x82
je 0x1402124c8
test byte [rbp + 0x3c], 0x58
je 0x140212214
mov rax, qword [rsi]
test byte [rax + 4], 3
je 0x1402124c3
cmp dword [rax + 0x34], ecx
jne 0x1402124c3
mov rax, qword [rsp + 0x138]
test qword [rsi + 0x28], rax
jne 0x1402124c3
movsxd rax, dword [rsi + 0x20]
test eax, eax
js 0x1402124c3
lea rdx, [rax + rax*2]
mov rax, qword [rbp + 0x20]
mov rcx, qword [rax + 8]
movzx edx, byte [rcx + rdx*8 + 0xc]
mov rcx, qword [rsi]
call fcn.1402992c0
test eax, eax
je 0x1402124b9
movsxd rcx, dword [rsi + 0x20]
cmp ecx, 0x40
jl 0x14021242d
movabs rdi, 0x8000000000000000
jmp 0x140212435
test rbp, rbp
je 0x1402121c6
mov eax, dword [r12 + 4]
and eax, 0x20000001
cmp eax, 0x20000000
je 0x14021229c
mov eax, dword [rbp + 4]
and eax, 0x20000001
cmp eax, 0x20000000
jne 0x14021237d
cmp byte [r14 + 0x124], 2
jae 0x14021237d
mov rdx, r12
mov rcx, r14
call fcn.140287ac0
mov rdx, rbp
mov rcx, r14
call fcn.140287ac0
xor edi, edi
lea rdx, [rsp + 0x58]
lea rcx, [0x1403fa694]
mov dword [rsp + 0x58], edi
call fcn.140297ce0
test eax, eax
mov rcx, r15
mov eax, 2
cmove edi, eax
mov edx, edi
add rdx, 0x48
call fcn.140280630
mov qword [rsp + 0x70], rax
mov r12, rax
test rax, rax
je 0x1402121c6
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 eax, 0xffffffff
mov word [r12 + 0x32], ax
mov byte [r12], 0x9b
test edi, edi
jne 0x140212360
mov eax, dword [rsp + 0x58]
mov ecx, 0x20800800
test eax, eax
mov dword [r12 + 8], eax
mov edx, 0x10800800
mov dword [r12 + 0x28], 1
cmovne ecx, edx
or dword [r12 + 4], ecx
jmp 0x1402121c6
lea rax, [r12 + 0x48]
mov qword [r12 + 8], rax
mov word [rax], gethostbyname
mov dword [r12 + 0x28], 1
jmp 0x1402121c6
mov edx, 0x48
mov rcx, r15
call fcn.140280630
mov rdi, rax
test rax, rax
je 0x14021240a
xor eax, eax
xorps xmm0, xmm0
movups xmmword [rdi], xmm0
mov rcx, rdi
movups xmmword [rdi + 0x10], xmm0
movups xmmword [rdi + 0x20], xmm0
movups xmmword [rdi + 0x30], xmm0
mov qword [rdi + 0x40], rax
mov eax, 0xffffffff
mov word [rdi + 0x32], ax
mov byte [rdi], 0x2c
mov qword [rdi + 0x18], rbp
mov eax, dword [rbp + 4]
and eax, 0x400208
mov qword [rdi + 0x10], r12
or dword [rdi + 4], eax
mov eax, dword [r12 + 4]
and eax, 0x400208
or dword [rdi + 4], eax
call fcn.14021a7d0
mov rax, qword [r14]
mov r8d, dword [rax + 0x94]
cmp dword [rdi + 0x28], r8d
jle 0x140212420
lea rdx, str.Expression_tree_is_too_large__maximum_depth__d_
mov rcx, r14
call fcn.140283150
mov r12, rdi
mov qword [rsp + 0x70], rdi
jmp 0x1402121c6
mov rcx, qword [r14]
mov rdx, r12
call fcn.140287b50
mov rcx, qword [r14]
mov rdx, rbp
call fcn.140287b50
mov r12, rdi
mov qword [rsp + 0x70], rdi
jmp 0x1402121c6
mov edi, 1
shl rdi, cl
test r13b, r13b
jne 0x140212465
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.140200310
mov r13b, 1
mov r11, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x50]
test r11, rdi
jne 0x1402124c3
mov rcx, qword [r14]
lea ebp, [r15 + 1]
mov r8d, ebp
call fcn.1402e3a10
test eax, eax
jne 0x140212f92
mov r11, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x50]
or r11, rdi
movsxd rcx, r15d
mov r15d, ebp
mov dword [rsp + 0x48], ebp
mov rbp, qword [rsp + 0x130]
mov rax, qword [rdx + 0x48]
mov qword [rsp + 0x60], r11
mov qword [rax + rcx*8], rsi
jmp 0x1402124c3
mov r11, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x50]
mov rax, qword [rsp + 0x40]
add rsi, 0x38
lea r8, [fcn.14021a1f0]
lea r9, [0x1402afe40]
mov r10d, 3
cmp rsi, rax
jb 0x140212120
mov rcx, qword [rsp + 0x80]
movabs r8, 0x8000000000000000
not r11
mov word [rdx + 0x3c], r15w
or r11, r8
mov word [rdx + 0x18], r15w
mov dword [rdx + 0x38], 0x4241
mov eax, 0x3f
mov r9, qword [rbp + 0x50]
movsx r8d, word [rcx + 0x36]
and r11, r9
mov qword [rsp + 0x60], r11
cmp ax, r8w
jge 0x140212539
mov r10d, eax
mov dword [rsp + 0x58], eax
xor eax, eax
jmp 0x140212549
xor eax, eax
mov dword [rsp + 0x58], r8d
mov r10d, r8d
cmp ax, r8w
jge 0x14021256c
mov edx, eax
nop dword [rax + rax]
mov ecx, r15d
mov eax, edx
inc r15d
bt r11, rax
cmovae r15d, ecx
inc edx
cmp edx, r10d
jl 0x140212550
mov dword [rsp + 0x48], r15d
test r9, r9
jns 0x14021257d
add r15d, 0xffffffc1
add r15d, r8d
mov dword [rsp + 0x48], r15d
mov rcx, qword [r14]
lea edi, [r15 + 1]
movsx rsi, di
movsx r15d, di
lea eax, [rsi + r15]
lea edx, [rax*2 + 9]
add edx, esi
lea eax, [rsi + 0xe]
and edx, 0xfffffff8
lea eax, [rdx + rax*8]
movsxd rbp, eax
test rcx, rcx
je 0x1402125b4
mov rdx, rbp
call fcn.140280630
jmp 0x1402125bc
mov rcx, rbp
call fcn.14029d740
mov r12, rax
test rax, rax
je 0x140212f92
mov r8, rbp
xor edx, edx
mov rcx, rax
call fcn.1402f5120
mov r10d, dword [rsp + 0x48]
lea rax, [r12 + 0x70]
mov rbp, qword [rsp + 0x128]
lea rdx, [rax + rsi*8]
mov qword [r12 + 0x40], rax
lea eax, [r15 + 1]
mov r15, qword [rsp + 0x80]
movsxd rcx, eax
mov word [r12 + 0x60], di
mov qword [r12 + 0x10], rdx
mov word [r12 + 0x5e], r10w
lea rax, [rdx + rcx*2]
xor ecx, ecx
mov qword [r12 + 8], rax
mov r13d, ecx
lea rax, [rax + rsi*2]
mov edi, ecx
mov qword [r12 + 0x38], rax
mov rax, qword [rsp + 0x50]
mov qword [rax + 0x20], r12
lea rax, str.auto_index
mov qword [r12], rax
mov rax, qword [rsp + 0x40]
mov qword [r12 + 0x18], r15
mov rsi, qword [rbp + 0x20]
cmp rsi, rax
jae 0x1402127be
mov rbx, qword [rsp + 0x130]
mov ebp, ecx
mov r15d, ecx
mov ecx, dword [rbx + 0x44]
cmp dword [rsi + 0x1c], ecx
jne 0x140212792
test byte [rsi + 0x14], 0x82
je 0x140212792
test byte [rbx + 0x3c], 0x58
je 0x140212698
mov rax, qword [rsi]
test byte [rax + 4], 3
je 0x14021278d
cmp dword [rax + 0x34], ecx
mov rax, qword [rsp + 0x40]
jne 0x140212792
mov rcx, qword [rsp + 0x138]
test qword [rsi + 0x28], rcx
jne 0x140212792
movsxd rax, dword [rsi + 0x20]
test eax, eax
js 0x14021278d
lea rdx, [rax + rax*2]
mov rax, qword [rbx + 0x20]
mov rcx, qword [rax + 8]
movzx edx, byte [rcx + rdx*8 + 0xc]
mov rcx, qword [rsi]
call fcn.1402992c0
test eax, eax
je 0x14021278d
mov edx, dword [rsi + 0x20]
cmp edx, 0x40
jl 0x1402126eb
movabs rax, 0x8000000000000000
jmp 0x1402126f5
mov ecx, edx
mov eax, 1
shl rax, cl
test rdi, rax
jne 0x14021278d
mov rcx, qword [rsi]
or rdi, rax
mov rax, qword [r12 + 8]
mov qword [rsp + 0x90], rdi
mov word [r15 + rax], dx
test dword [rcx + 4], 0x400
je 0x140212729
mov rdi, qword [rcx + 0x10]
mov rdx, qword [rcx + 0x18]
jmp 0x140212731
mov rdi, qword [rcx + 0x18]
mov rdx, qword [rcx + 0x10]
test dword [rdx + 4], 0x200
jne 0x140212758
test rdi, rdi
je 0x140212748
test dword [rdi + 4], 0x200
jne 0x140212755
mov rcx, r14
call fcn.1402875d0
test rax, rax
jne 0x140212765
mov rdx, rdi
mov rcx, r14
call fcn.1402875d0
test rax, rax
je 0x14021276a
mov rcx, qword [rax]
jmp 0x140212771
lea rcx, [0x1403d31fc]
mov rax, qword [r12 + 0x40]
inc r13d
mov rdi, qword [rsp + 0x90]
add r15, 2
mov qword [rax + rbp], rcx
add rbp, 8
mov rax, qword [rsp + 0x40]
add rsi, 0x38
cmp rsi, rax
jb 0x140212661
mov rbx, qword [rsp + 0x88]
xor ecx, ecx
mov r10d, dword [rsp + 0x48]
mov r15, qword [rsp + 0x80]
mov rbp, qword [rsp + 0x128]
mov r9d, dword [rsp + 0x58]
lea rdi, [0x1403d31fc]
test r9d, r9d
jle 0x140212810
mov r11, qword [rsp + 0x60]
movsxd rax, r13d
lea rdx, [rax*8]
lea r8, [rax + rax]
mov eax, ecx
bt r11, rax
jae 0x140212809
mov rax, qword [r12 + 8]
inc r13d
mov word [r8 + rax], cx
add r8, 2
mov rax, qword [r12 + 0x40]
mov qword [rdx + rax], rdi
add rdx, 8
inc ecx
cmp ecx, r9d
jl 0x1402127e3
mov rax, qword [rsp + 0x130]
cmp qword [rax + 0x50], 0
jge 0x14021286d
mov r8d, 0x3f
cmp r8w, word [r15 + 0x36]
jge 0x14021286d
movsxd rax, r13d
lea rcx, [rax*8]
lea rdx, [rax + rax]
nop dword [rax + rax]
mov rax, qword [r12 + 8]
lea rdx, [rdx + 2]
inc r13d
lea rcx, [rcx + 8]
mov word [rdx + rax - 2], r8w
inc r8d
mov rax, qword [r12 + 0x40]
mov qword [rcx + rax - 8], rdi
movsx eax, word [r15 + 0x36]
cmp r8d, eax
jl 0x140212840
mov rax, qword [r12 + 8]
mov edx, 0xffffffff
mov rsi, qword [rsp + 0x140]
xor r15d, r15d
movsxd rcx, r13d
mov word [rax + rcx*2], dx
lea edx, [r10 + 1]
mov rax, qword [r12 + 0x40]
mov qword [rax + rcx*8], rdi
mov eax, dword [r14 + 0x34]
mov dword [rsi + 8], eax
inc dword [r14 + 0x34]
movsxd rcx, dword [rbx + 0x90]
mov r8d, dword [rsi + 8]
cmp dword [rbx + 0x94], ecx
jg 0x1402128ca
mov r9d, edx
mov dword [rsp + 0x20], r15d
lea edx, [r15 + 0x74]
mov rcx, rbx
call fcn.1402471f0
jmp 0x1402128f8
lea eax, [rcx + 1]
mov dword [rbx + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rbx + 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], r15d
mov qword [rax + rcx*8 + 0x10], r15
mov rdi, qword [r14 + 0x10]
mov rdx, r12
mov rcx, r14
call fcn.14029bf90
mov r8, rax
test rax, rax
je 0x140212952
mov rax, qword [rdi]
cmp byte [rax + 0x67], 0
je 0x140212936
cmp qword [rax + 0x300], 0
jne 0x140212952
add dword [r8], 0xffffffff
jne 0x140212952
mov rcx, qword [r8 + 0x10]
mov rdx, r8
call fcn.1402804a0
jmp 0x140212952
movsxd rax, dword [rdi + 0x90]
lea rcx, [rax + rax*2]
mov rax, qword [rdi + 0x88]
mov byte [rax + rcx*8 - 0x17], 0xf8
mov qword [rax + rcx*8 - 8], r8
mov rax, qword [r14]
test dword [rax + 0x60], 0x80000
jne 0x1402129c8
mov edx, dword [r14 + 0x38]
inc edx
mov dword [r14 + 0x38], edx
mov dword [rsi + 0x34], edx
movsxd rcx, dword [rbx + 0x90]
cmp dword [rbx + 0x94], ecx
jg 0x140212997
mov r9d, edx
mov dword [rsp + 0x20], r15d
mov edx, 0x4d
mov r8d, 0x2710
mov rcx, rbx
call fcn.1402471f0
jmp 0x1402129c8
lea eax, [rcx + 1]
mov dword [rbx + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rbx + 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], r15d
mov qword [rax + rcx*8 + 0x10], r15
movzx eax, byte [rsi + 0x40]
imul rdx, rax, 0x68
mov rax, qword [rbp]
mov rbp, qword [rax + 8]
add rbp, rdx
test byte [rbp + 0x48], 0x20
je 0x140212ae7
movsxd r8, dword [rbx + 0x90]
mov esi, dword [rbp + 0x3c]
mov dword [rsp + 0x68], r8d
cmp dword [rbx + 0x94], r8d
jg 0x140212a1a
xor r9d, r9d
mov dword [rsp + 0x20], r15d
xor r8d, r8d
mov rcx, rbx
lea edx, [r9 + 0x47]
call fcn.1402471f0
mov dword [rsp + 0x68], eax
jmp 0x140212a45
lea rcx, [r8 + r8*2]
lea eax, [r8 + 1]
mov dword [rbx + 0x90], eax
mov rax, qword [rbx + 0x88]
mov qword [rax + rcx*8], 0x47
mov qword [rax + rcx*8 + 8], 0
mov qword [rax + rcx*8 + 0x10], r15
movsxd rcx, dword [rbx + 0x90]
mov edx, dword [rbp + 0x38]
cmp dword [rbx + 0x94], ecx
jg 0x140212a6f
xor r9d, r9d
mov dword [rsp + 0x20], edx
mov r8d, esi
mov rcx, rbx
lea edx, [r9 + 0xa]
call fcn.1402471f0
jmp 0x140212a9c
lea eax, [rcx + 1]
mov dword [rbx + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rbx + 0x88]
mov dword [rax + rcx*8], 0xa
mov dword [rax + rcx*8 + 4], esi
mov dword [rax + rcx*8 + 8], r15d
mov dword [rax + rcx*8 + 0xc], edx
mov qword [rax + rcx*8 + 0x10], r15
movsxd rdi, dword [rbx + 0x90]
cmp dword [rbx + 0x94], edi
jg 0x140212ac6
xor r9d, r9d
mov dword [rsp + 0x20], r15d
mov r8d, esi
mov rcx, rbx
lea edx, [r9 + 0xb]
call fcn.1402471f0
mov edi, eax
jmp 0x140212b41
lea eax, [rdi + 1]
mov dword [rbx + 0x90], eax
lea rcx, [rdi + rdi*2]
mov rax, qword [rbx + 0x88]
mov dword [rax + rcx*8], reloc.WS2_32.dll_inet_addr
mov dword [rax + rcx*8 + 4], esi
jmp 0x140212b33
movsxd rdi, dword [rbx + 0x90]
mov edx, dword [rsi + 4]
cmp dword [rbx + 0x94], edi
jg 0x140212b14
xor r9d, r9d
mov dword [rsp + 0x20], r15d
mov r8d, edx
mov rcx, rbx
lea edx, [r9 + 0x23]
call fcn.1402471f0
mov edi, eax
jmp 0x140212b41
lea eax, [rdi + 1]
mov dword [rbx + 0x90], eax
lea rcx, [rdi + rdi*2]
mov rax, qword [rbx + 0x88]
mov dword [rax + rcx*8], 0x23
mov dword [rax + rcx*8 + 4], edx
mov qword [rax + rcx*8 + 0x10], r15
mov qword [rax + rcx*8 + 8], 0
mov rsi, qword [rsp + 0x70]
mov eax, reloc.WS2_32.dll_recv
test rsi, rsi
je 0x140212b77
dec dword [r14 + 0x44]
mov r9d, eax
mov r8d, dword [r14 + 0x44]
mov rdx, rsi
mov rcx, r14
mov dword [rsp + 0x78], r8d
call fcn.140287e70
mov rax, qword [rsp + 0x50]
or dword [rax + 0x38], 0x20000
movzx eax, byte [r14 + 0x1f]
test al, al
jne 0x140212b8a
inc dword [r14 + 0x38]
mov r15d, dword [r14 + 0x38]
jmp 0x140212b9b
dec al
movzx eax, al
mov byte [r14 + 0x1f], al
mov r15d, dword [r14 + rax*4 + 0xd8]
mov r8, qword [rsp + 0x140]
xor eax, eax
mov dword [rsp + 0x38], eax
mov r9d, r15d
mov qword [rsp + 0x30], rax
mov rdx, r12
mov qword [rsp + 0x28], rax
mov rcx, r14
mov r8d, dword [r8 + 4]
mov dword [rsp + 0x20], eax
call fcn.140296e70
mov r9, qword [rsp + 0x140]
mov r12d, eax
mov r8d, dword [r9 + 0x34]
test r8d, r8d
je 0x140212c71
mov rax, qword [rsp + 0x50]
movsxd rdx, dword [rbx + 0x90]
movzx esi, word [rax + 0x18]
cmp dword [rbx + 0x94], edx
jg 0x140212c1a
xor r9d, r9d
mov dword [rsp + 0x20], r12d
mov edx, 0xb4
mov rcx, rbx
call fcn.1402471f0
mov r9, qword [rsp + 0x140]
mov edx, eax
jmp 0x140212c4c
lea rcx, [rdx + rdx*2]
xor r10d, r10d
lea eax, [rdx + 1]
mov dword [rbx + 0x90], eax
mov rax, qword [rbx + 0x88]
mov dword [rax + rcx*8], 0xb4
mov dword [rax + rcx*8 + 4], r8d
mov dword [rax + rcx*8 + 8], r10d
mov dword [rax + rcx*8 + 0xc], r12d
mov qword [rax + rcx*8 + 0x10], r10
mov rax, qword [rbx]
cmp byte [rax + 0x67], 0
jne 0x140212c6c
movsxd rax, edx
lea rcx, [rax + rax*2]
mov rax, qword [rbx + 0x88]
mov byte [rax + rcx*8 + 1], 0xfd
mov dword [rax + rcx*8 + 0x10], esi
mov rsi, qword [rsp + 0x70]
movsxd rcx, dword [rbx + 0x90]
mov edx, dword [r9 + 8]
cmp dword [rbx + 0x94], ecx
jg 0x140212c9f
xor eax, eax
mov r8d, edx
mov edx, 0x8a
mov dword [rsp + 0x20], eax
mov r9d, r15d
mov rcx, rbx
call fcn.1402471f0
jmp 0x140212cd0
lea eax, [rcx + 1]
xor r8d, r8d
mov dword [rbx + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rbx + 0x88]
mov dword [rax + rcx*8], 0x8a
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 8], r15d
mov dword [rax + rcx*8 + 0xc], r8d
mov qword [rax + rcx*8 + 0x10], r8
movsxd rdx, dword [rbx + 0x90]
test edx, edx
jle 0x140212cf6
mov rax, qword [rbx + 0x88]
lea rcx, [rdx + rdx*2]
mov edx, reloc.WS2_32.dll_recv
mov word [rax + rcx*8 - 0x16], dx
mov edx, dword [rbx + 0x90]
test rsi, rsi
je 0x140212d29
mov r9, qword [rbx + 0x18]
mov ecx, dword [rsp + 0x78]
not ecx
mov eax, dword [r9 + 0x48]
add eax, dword [r9 + 0x44]
jns 0x140212d1f
mov r8d, ecx
mov rdx, rbx
mov rcx, r9
call fcn.14025e8a0
jmp 0x140212d29
mov rax, qword [r9 + 0x50]
movsxd rcx, ecx
mov dword [rax + rcx*4], edx
test byte [rbp + 0x48], 0x20
lea rsi, [0x140433b88]
je 0x140212e92
mov ecx, dword [rsp + 0x68]
test ecx, ecx
jns 0x140212d4a
mov ecx, dword [rbx + 0x90]
dec ecx
mov rax, qword [rbx]
cmp byte [rax + 0x67], 0
je 0x140212d58
mov rcx, rsi
jmp 0x140212d6a
movsxd rax, ecx
lea rcx, [rax + rax*2]
mov rax, qword [rbx + 0x88]
lea rcx, [rax + rcx*8]
lea eax, [r12 + r13]
mov dword [rcx + 8], eax
mov ecx, edi
mov rax, qword [rsp + 0x140]
mov r11d, dword [rbp + 0x40]
mov rdx, qword [r14 + 0x10]
mov r10d, dword [rax + 8]
mov r9d, dword [rax + 4]
test edi, edi
jns 0x140212d97
mov ecx, dword [rdx + 0x90]
dec ecx
mov rax, qword [rdx]
cmp byte [rax + 0x67], 0
je 0x140212da5
mov r8, rsi
jmp 0x140212db7
movsxd rax, ecx
lea rcx, [rax + rax*2]
mov rax, qword [rdx + 0x88]
lea r8, [rax + rcx*8]
mov rax, qword [r14]
mov ecx, dword [rdx + 0x90]
cmp byte [rax + 0x67], 0
jne 0x140212e2f
cmp edi, ecx
jge 0x140212e2f
sub ecx, edi
lea rdx, [r8 + 0xc]
xor ebx, ebx
mov r8d, ecx
lea r14d, [rbx + 2]
nop dword [rax]
cmp dword [rdx - 8], r9d
jne 0x140212e15
movzx eax, byte [rdx - 0xc]
cmp al, 0x5e
jne 0x140212e09
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], ebx
mov word [rdx - 0xa], r14w
jmp 0x140212e15
cmp al, 0x87
jne 0x140212e15
mov byte [rdx - 0xc], 0x7e
mov dword [rdx - 8], r10d
add rdx, 0x18
sub r8, 1
jne 0x140212de0
mov rbx, qword [rsp + 0x88]
mov r14, qword [rsp + 0x120]
movsxd rcx, dword [rbx + 0x90]
cmp dword [rbx + 0x94], ecx
jg 0x140212e5e
xor eax, eax
mov r9d, edi
xor r8d, r8d
mov dword [rsp + 0x20], eax
mov rcx, rbx
lea edx, [rax + 8]
call fcn.1402471f0
and dword [rbp + 0x48], 0xffffffdf
jmp 0x140212f17
lea eax, [rcx + 1]
xor edx, edx
mov dword [rbx + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rbx + 0x88]
mov qword [rax + rcx*8], 8
mov dword [rax + rcx*8 + 8], edi
mov dword [rax + rcx*8 + 0xc], edx
mov qword [rax + rcx*8 + 0x10], rdx
and dword [rbp + 0x48], 0xffffffdf
jmp 0x140212f17
mov r8, qword [rsp + 0x140]
lea edx, [rdi + 1]
movsxd rcx, dword [rbx + 0x90]
mov r8d, dword [r8 + 4]
cmp dword [rbx + 0x94], ecx
jg 0x140212ec6
xor eax, eax
mov r9d, edx
mov rcx, rbx
mov dword [rsp + 0x20], eax
lea edx, [rax + 0x26]
call fcn.1402471f0
jmp 0x140212ef7
lea eax, [rcx + 1]
xor r9d, r9d
mov dword [rbx + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rbx + 0x88]
mov dword [rax + rcx*8], 0x26
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 [rbx + 0x90]
test eax, eax
jle 0x140212f17
lea rcx, [rax + rax*2]
mov edx, 3
mov rax, qword [rbx + 0x88]
mov word [rax + rcx*8 - 0x16], dx
mov edx, dword [rbx + 0x90]
test edi, edi
mov rax, qword [rbx]
lea ecx, [rdx - 1]
cmovns ecx, edi
cmp byte [rax + 0x67], 0
je 0x140212f33
mov rax, rsi
jmp 0x140212f45
movsxd rax, ecx
lea rcx, [rax + rax*2]
mov rax, qword [rbx + 0x88]
lea rax, [rax + rcx*8]
mov dword [rax + 8], edx
test r15d, r15d
je 0x140212f62
movzx eax, byte [r14 + 0x1f]
cmp al, 8
jae 0x140212f62
mov dword [r14 + rax*4 + 0xd8], r15d
inc byte [r14 + 0x1f]
mov eax, dword [rsp + 0x7c]
test eax, eax
mov edx, dword [rbx + 0x90]
lea ecx, [rdx - 1]
cmovns ecx, eax
mov rax, qword [rbx]
cmp byte [rax + 0x67], 0
jne 0x140212f8f
movsxd rax, ecx
lea rcx, [rax + rax*2]
mov rax, qword [rbx + 0x88]
lea rsi, [rax + rcx*8]
mov dword [rsi + 8], edx
mov rdx, qword [rsp + 0x70]
test rdx, rdx
je 0x140212fa4
mov rcx, qword [r14]
call fcn.140287b50
add rsp, 0xd8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret