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

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0xb0]
sub rsp, 0x1b0
mov rax, qword [0x1401150f8]
xor rax, rsp
mov qword [rbp + 0xa0], rax
mov rsi, qword [rcx]
lea rax, [rcx + 0x158]
movsxd rbx, edx
lea r11, [rcx + 0x340]
mov r15, r8
mov qword [rbp + 0x18], r8
imul r8, rbx, 0x58
mov r10, qword [rsi + 0x10]
xor r12d, r12d
add r11, r8
mov qword [rbp - 0x50], rax
mov rax, qword [rsi]
mov r14, rcx
movsxd r8, dword [rcx + 0x54]
mov edx, r12d
mov qword [rbp - 0x30], rax
movzx eax, byte [r11 + 0x2c]
mov r13, qword [r11 + 0x48]
imul rdi, rax, 0x78
mov qword [rsp + 0x78], rcx
add rdi, qword [rcx + 8]
mov ecx, r12d
mov dword [rbp - 0x7c], ebx
mov qword [rbp - 0x28], rsi
mov qword [rsp + 0x58], r10
mov r9d, dword [rdi + 0x50]
mov dword [rsp + 0x40], r9d
mov qword [rsp + 0x50], r11
mov qword [rbp], r13
test r8, r8
jle 0x140085767
lea rax, [r14 + 0x58]
nop
cmp dword [rax], r9d
je 0x140085913
inc edx
inc rcx
add rax, 4
cmp rcx, r8
jl 0x140085750
mov rax, r12
mov edx, 1
not rax
mov ecx, ebx
and rax, r15
mov qword [r11 + 0x50], rax
mov r15, qword [r14 + 0x28]
shr r15, cl
and r15d, 1
test byte [r13 + 0x28], 0x40
mov qword [rbp - 0x68], r15
mov dword [rbp - 0x18], r15d
je 0x14008579f
test byte [r14 + 0x32], 0x20
mov dword [rbp - 0x60], edx
je 0x1400857a3
mov dword [rbp - 0x60], r12d
mov rbx, qword [r10 + 0x30]
movsxd r14, dword [rbx + 0x78]
lea eax, [r14 + 1]
mov dword [rbx + 0x78], eax
lea eax, [r14 - 1]
test r14d, eax
jne 0x1400857ea
mov rdx, qword [rbx + 0x80]
lea eax, [r14*2 + 1]
mov rcx, qword [rbx]
movsxd r8, eax
shl r8, 2
call fcn.140017ab0
mov r10, qword [rsp + 0x58]
mov r11, qword [rsp + 0x50]
mov qword [rbx + 0x80], rax
mov rcx, qword [rbx + 0x80]
or edx, 0xffffffff
test rcx, rcx
je 0x1400857fd
mov dword [rcx + r14*4], edx
not r14d
mov dword [r11 + 0x10], r14d
mov dword [r11 + 0xc], r14d
mov rbx, qword [r10 + 0x30]
mov r8d, dword [rbx + 0x78]
mov dword [rbp - 0x80], r8d
lea eax, [r8 + 1]
mov dword [rbx + 0x78], eax
lea eax, [r8 - 1]
test r8d, eax
jne 0x14008585a
mov rdx, qword [rbx + 0x80]
lea eax, [r8*2 + 1]
mov rcx, qword [rbx]
movsxd r8, eax
shl r8, 2
call fcn.140017ab0
mov r10, qword [rsp + 0x58]
or edx, 0xffffffff
mov r11, qword [rsp + 0x50]
mov r8d, dword [rbp - 0x80]
mov qword [rbx + 0x80], rax
mov rcx, qword [rbx + 0x80]
test rcx, rcx
je 0x14008586c
movsxd rax, r8d
mov dword [rcx + rax*4], edx
not r8d
mov dword [rbp - 0x80], r8d
mov dword [r11 + 0x18], r8d
cmp byte [r11 + 0x2c], r12b
jbe 0x1400858aa
test byte [rdi + 0x44], 8
je 0x1400858aa
mov r9d, dword [rsi + 0x54]
xor r8d, r8d
inc r9d
mov dword [rsp + 0x20], r12d
mov dword [rsi + 0x54], r9d
mov rcx, r10
mov dword [r11], r9d
lea edx, [r8 + 0x17]
call fcn.140037d60
mov r11, qword [rsp + 0x50]
mov r8d, dword [rdi + 0x48]
mov r9d, 0x200
mov qword [rbp + 0x20], 0xa
test r8b, 0x10
je 0x140085924
mov ebx, dword [rdi + 0x3c]
xor r9d, r9d
mov eax, dword [rdi + 0x38]
mov r8d, ebx
mov r13, qword [rsp + 0x58]
mov rcx, r13
mov dword [rsp + 0x20], eax
lea edx, [r9 + 0x11]
call fcn.140037d60
mov r9d, r14d
mov dword [rsp + 0x20], r12d
mov r8d, ebx
mov edx, reloc.WS2_32.dll_sendto
mov rcx, r13
call fcn.140037d60
mov r11, qword [rsp + 0x50]
mov r14, qword [rsp + 0x78]
mov dword [r11 + 0x34], eax
mov byte [r11 + 0x2d], 0xe
jmp 0x140085b9a
mov ecx, edx
mov edx, 1
mov eax, edx
shl rax, cl
jmp 0x14008576f
mov edx, dword [r13 + 0x28]
mov eax, 0x400
test eax, edx
je 0x140085be8
movzx r14d, word [r13 + 0x2c]
inc dword [rsi + 0x70]
mov ecx, dword [rsi + 0x44]
mov r12d, dword [rsi + 0x48]
lea edx, [r14 + 2]
mov dword [rsp + 0x68], r12d
mov dword [rbp - 0x78], edx
cmp edx, ecx
jg 0x140085962
lea eax, [r12 + rdx]
sub ecx, edx
mov dword [rsi + 0x48], eax
mov dword [rsi + 0x44], ecx
jmp 0x140085973
mov eax, dword [rsi + 0x54]
lea r12d, [rax + 1]
add eax, edx
mov dword [rsi + 0x54], eax
mov dword [rsp + 0x68], r12d
mov r15d, dword [r11 + 0xc]
xor edi, edi
mov dword [rsp + 0x64], r15d
mov ebx, edi
test r14d, r14d
jle 0x1400859f9
lea r15d, [r12 + 2]
mov r12, qword [rbp - 0x68]
nop
mov rax, qword [r13 + 0x38]
mov rdx, qword [rdi + rax]
test rdx, rdx
je 0x1400859e2
test byte [rdx + 0x1a], 1
mov rcx, rsi
je 0x1400859cd
lea eax, [r15 + rbx]
mov r9d, ebx
mov dword [rsp + 0x28], eax
mov r8, r11
mov dword [rsp + 0x20], r12d
call fcn.140084ff0
mov r11, qword [rsp + 0x50]
mov ecx, dword [r11 + 0x10]
mov dword [rsp + 0x64], ecx
jmp 0x1400859e2
mov rdx, qword [rdx]
lea r8d, [r15 + rbx]
mov rdx, qword [rdx + 0x18]
call fcn.140052c90
mov r11, qword [rsp + 0x50]
inc ebx
add rdi, 8
cmp ebx, r14d
jl 0x140085990
mov r12d, dword [rsp + 0x68]
xor edi, edi
mov r15d, dword [rsp + 0x64]
mov r8d, dword [r13 + 0x18]
mov r9d, r12d
mov rcx, qword [rsp + 0x58]
mov edx, reloc.WS2_32.dll_socket
mov dword [rsp + 0x20], edi
call fcn.140037d60
mov rcx, qword [rsp + 0x58]
lea r9d, [r12 + 1]
mov r8d, r14d
mov dword [rsp + 0x20], edi
mov edx, reloc.WS2_32.dll_socket
call fcn.140037d60
cmp byte [r13 + 0x1c], 0
mov eax, 0xfffffff5
mov r8d, dword [rsp + 0x40]
mov edi, 0xfffffffe
mov rcx, qword [rsp + 0x58]
mov r9d, r15d
mov rbx, qword [r13 + 0x20]
cmovne edi, eax
lea edx, [rax + 0x17]
mov dword [rsp + 0x20], r12d
call fcn.140037d60
mov rcx, qword [rsp + 0x58]
mov r9d, edi
mov r8, rbx
mov edx, eax
call fcn.1400387d0
xor r11d, r11d
mov byte [r13 + 0x1c], 0
mov ebx, r11d
test r14d, r14d
jle 0x140085aba
mov rsi, qword [rsp + 0x50]
cmp ebx, 0x10
jge 0x140085ab3
movzx eax, word [r13 + 0x1e]
movzx ecx, bx
shr ax, cl
test al, 1
je 0x140085aac
mov rdx, qword [r13 + 0x38]
mov rcx, rsi
movsxd rax, ebx
mov rdx, qword [rdx + rax*8]
call fcn.140084ea0
inc ebx
cmp ebx, r14d
jl 0x140085a85
mov rsi, qword [rbp - 0x28]
xor r11d, r11d
mov rdx, qword [rsp + 0x50]
mov ecx, 0x9f
mov eax, dword [rsp + 0x40]
mov ebx, 0xa
mov r14, qword [rsp + 0x78]
mov r8d, ebx
mov r10d, dword [rbp - 0x78]
mov r13, qword [rsp + 0x58]
mov dword [rdx + 0x30], eax
mov eax, 0x9a
cmp byte [r14 + 0x36], 0
lea r9d, [r10 - 1]
cmovne eax, ecx
add r9d, r12d
mov byte [rdx + 0x2d], al
lea rcx, [rsi + 0x94]
mov eax, dword [r13 + 0x3c]
mov dword [rdx + 0x34], eax
mov edx, dword [rcx]
cmp edx, r12d
jl 0x140085b31
cmp edx, r9d
jg 0x140085b31
cmp byte [rcx - 6], 0
je 0x140085b2e
movzx eax, byte [rsi + 0x1f]
cmp al, 8
jae 0x140085b2a
movzx eax, al
mov dword [rsi + rax*4 + 0x24], edx
inc byte [rsi + 0x1f]
mov byte [rcx - 6], 0
mov dword [rcx], r11d
add rcx, 0x14
sub r8, 1
jne 0x140085b06
cmp r10d, dword [rsi + 0x44]
jle 0x140085b49
mov dword [rsi + 0x44], r10d
mov dword [rsi + 0x48], r12d
dec dword [rsi + 0x70]
lea rcx, [rsi + 0x94]
mov r8, rbx
mov edx, dword [rcx]
test edx, edx
je 0x140085b88
mov eax, dword [rsi + 0x70]
cmp dword [rcx - 4], eax
jle 0x140085b88
cmp byte [rcx - 6], 0
je 0x140085b80
movzx eax, byte [rsi + 0x1f]
cmp al, 8
jae 0x140085b7c
movzx eax, al
mov dword [rsi + rax*4 + 0x24], edx
inc byte [rsi + 0x1f]
mov byte [rcx - 6], 0
xor r12d, r12d
mov dword [rcx], r12d
jmp 0x140085b8b
xor r12d, r12d
add rcx, 0x14
sub r8, 1
jne 0x140085b56
mov r11, qword [rsp + 0x50]
mov r9d, 0x200
lea rdx, [r14 + 0x158]
mov r15d, dword [rdx + 0x14]
mov rbx, qword [rdx + 0x20]
test r15d, r15d
jle 0x140086f82
nop dword [rax + rax]
movzx ecx, word [rbx + 0x1c]
mov edi, r12d
test cl, 6
jne 0x140086f5e
mov rax, qword [rbx + 0x30]
test qword [r11 + 0x50], rax
je 0x140086ed3
mov byte [r14 + 0x37], 1
jmp 0x140086f5e
test dl, 5
setne cl
bt edx, 8
setb al
test al, cl
je 0x140085ca6
mov rax, qword [r13 + 0x38]
xor r9d, r9d
mov r8, r11
mov rcx, rsi
mov rdx, qword [rax]
inc dword [rsi + 0x54]
mov ebx, dword [rsi + 0x54]
mov dword [rsp + 0x28], ebx
mov dword [rsp + 0x20], r15d
call fcn.140084ff0
mov edi, eax
cmp eax, ebx
je 0x140085c31
mov edx, ebx
mov rcx, rsi
call fcn.1400541f0
mov rax, qword [rsp + 0x50]
mov r8d, edi
mov r13, qword [rsp + 0x58]
mov edx, 0x26
mov rcx, r13
mov dword [rsp + 0x20], r12d
mov ebx, dword [rax + 0x10]
mov r9d, ebx
call fcn.140037d60
mov r8d, dword [rsp + 0x40]
mov r9d, ebx
mov edx, 0x49
mov dword [rsp + 0x20], edi
mov rcx, r13
call fcn.140037d60
mov r8d, 1
mov edx, edi
mov rcx, rsi
call fcn.1400514f0
mov edx, dword [rsp + 0x40]
mov r9d, edi
or r8d, 0xffffffff
mov rcx, rsi
call fcn.140051380
mov r11, qword [rsp + 0x50]
mov r14, qword [rsp + 0x78]
mov byte [r11 + 0x2d], 0x9f
jmp 0x140085b9a
mov eax, edx
and eax, 0x102
cmp eax, 0x102
jne 0x140085ebf
xor r8d, r8d
mov dword [rbp - 0x40], r12d
mov qword [rbp - 0x38], r8
mov edi, 0x9f
mov r15d, edi
mov eax, r12d
test dl, 0x20
je 0x140085ce3
mov rax, qword [r13 + 0x38]
mov r8, qword [rax]
mov eax, 1
mov qword [rbp - 0x38], r8
test dl, 0x10
je 0x140085cf3
movsxd rcx, eax
mov rax, qword [r13 + 0x38]
mov r12, qword [rax + rcx*8]
cmp dword [rbp - 0x18], 0
je 0x140085d06
mov rax, r8
mov qword [rbp - 0x38], r12
mov r8, r12
mov r12, rax
test r8, r8
je 0x140085d7a
mov rbx, qword [r8]
mov rcx, rsi
lea r8, [rbp - 0x78]
mov dword [rsp + 0x48], 0x413f4042
mov rdx, qword [rbx + 0x18]
call fcn.140052b30
movzx ecx, byte [rbx]
mov r9d, r14d
mov r8d, dword [rsp + 0x40]
sub ecx, 0x50
movsxd rcx, ecx
mov edi, eax
mov dword [rsp + 0x20], eax
movzx edx, byte [rsp + rcx + 0x48]
mov rcx, qword [rsp + 0x58]
call fcn.140037d60
mov r8d, 1
mov edx, edi
mov rcx, rsi
call fcn.1400514f0
mov edx, dword [rbp - 0x78]
mov rcx, rsi
call fcn.1400541f0
mov rdx, qword [rbp - 0x38]
mov rcx, qword [rsp + 0x50]
call fcn.140084ea0
mov edi, r15d
jmp 0x140085da5
cmp dword [rbp - 0x68], 0
mov edx, 0x6d
mov r8d, dword [rsp + 0x40]
mov eax, 0x6a
mov rcx, qword [rsp + 0x58]
cmovne edx, eax
mov r9d, r14d
mov dword [rsp + 0x20], 0
call fcn.140037d60
test r12, r12
je 0x140085dfa
mov rbx, qword [r12]
mov rcx, rsi
inc dword [rsi + 0x54]
mov r13d, dword [rsi + 0x54]
mov r8d, r13d
mov rdx, qword [rbx + 0x18]
call fcn.140052c90
movzx eax, byte [rbx]
sub al, 0x50
test al, 0xfd
je 0x140085dd8
mov eax, 0x52
lea r15d, [rax - 2]
jmp 0x140085de3
mov eax, 0x51
mov r15d, 0x53
cmp dword [rbp - 0x68], 0
mov rdx, r12
mov rcx, qword [rsp + 0x50]
cmovne r15d, eax
call fcn.140084ea0
jmp 0x140085dfe
mov r13d, dword [rbp - 0x40]
mov r11, qword [rsp + 0x50]
cmp dword [rbp - 0x68], 0
mov r10, qword [rsp + 0x58]
sete al
xor r12d, r12d
add al, 7
mov ecx, dword [r10 + 0x3c]
mov byte [r11 + 0x2d], al
mov eax, dword [rsp + 0x40]
mov dword [r11 + 0x30], eax
mov dword [r11 + 0x34], ecx
cmp r15d, edi
je 0x140086ec6
inc dword [rsi + 0x54]
lea edx, [r12 + 0x68]
mov ebx, dword [rsi + 0x54]
mov r8d, eax
mov r9d, ebx
mov dword [rsp + 0x20], r12d
mov rcx, r10
call fcn.140037d60
mov edx, dword [rsp + 0x40]
mov r9d, ebx
or r8d, 0xffffffff
mov rcx, rsi
call fcn.140051380
mov r8d, r13d
mov dword [rsp + 0x20], ebx
mov r13, qword [rsp + 0x58]
mov r9d, r14d
mov rcx, r13
mov edx, r15d
call fcn.140037d60
mov rax, qword [r13]
mov ecx, dword [r13 + 0x3c]
dec ecx
cmp byte [rax + 0x51], r12b
je 0x140085ea1
mov r14, qword [rsp + 0x78]
lea rax, [0x140120b10]
mov byte [rax + 3], 0x53
jmp 0x140085b95
mov r14, qword [rsp + 0x78]
movsxd rax, ecx
lea rcx, [rax + rax*2]
mov rax, qword [r13 + 8]
mov byte [rax + rcx*8 + 3], 0x53
lea rax, [rax + rcx*8]
jmp 0x140085b95
test r9d, edx
je 0x1400865c3
mov rax, qword [rsp + 0x50]
xor r11d, r11d
mov r10, qword [r13 + 0x20]
mov edi, r11d
movzx ebx, word [r13 + 0x18]
xor r14b, r14b
mov qword [rbp - 0x58], r12
mov eax, dword [rax + 8]
mov dword [rsp + 0x68], eax
mov rax, qword [rsp + 0x78]
mov qword [rbp - 0x48], r11
mov byte [rsp + 0x44], dil
mov byte [rsp + 0x60], dil
test byte [rax + 0x32], 1
mov qword [rbp - 0x20], r10
je 0x140085f21
cmp byte [rax + 0x34], dil
jle 0x140085f21
lea r9d, [r11 + 1]
cmp word [r10 + 0x5e], bx
jbe 0x140085f27
movzx r14d, r9b
mov edi, r9d
jmp 0x140085f27
mov r9d, 1
movzx r15d, bx
mov r8d, r15d
test dl, 0x20
je 0x140085f45
mov rax, qword [r13 + 0x38]
inc r8d
mov edi, r9d
mov r12, qword [rax + r15*8]
mov qword [rbp - 0x58], r12
test dl, 0x10
je 0x140085ff4
mov rax, qword [r13 + 0x38]
mov edi, r9d
movsxd rcx, r8d
mov rax, qword [rax + rcx*8]
mov ecx, 0x100
mov qword [rbp - 0x48], rax
test word [rax + 0x1c], cx
je 0x140085fc3
mov r9d, dword [rsi + 0x54]
mov r8d, r11d
mov rax, qword [rsp + 0x50]
inc r9d
mov dword [rsi + 0x54], r9d
mov edx, reloc.WS2_32.dll_socket
movzx ecx, bx
mov dword [rsp + 0x20], r11d
mov dword [rax + 0x24], r9d
mov rax, qword [r10 + 0x38]
cmp byte [rcx + rax], 1
mov rcx, qword [rsp + 0x58]
sete r8b
xor r8d, dword [rbp - 0x68]
call fcn.140037d60
mov rcx, qword [rsp + 0x58]
mov r9d, 1
mov r10, qword [rbp - 0x20]
mov eax, dword [rcx + 0x3c]
mov rcx, qword [rsp + 0x50]
mov dword [rcx + 0x28], eax
test r12, r12
jne 0x140085ff4
mov rax, qword [r10 + 8]
movzx ecx, bx
movsx rdx, word [rax + rcx*2]
test edx, edx
js 0x140085ff4
mov rax, qword [r10 + 0x18]
lea rdx, [rdx + rdx*2]
add rdx, rdx
movzx r14d, r14b
mov rcx, qword [rax + 8]
cmp byte [rcx + rdx*8 + 0x28], r12b
cmove r14d, r9d
mov rdx, qword [rsp + 0x50]
lea rax, [rbp - 0x70]
mov r9d, edi
mov qword [rsp + 0x20], rax
mov rdi, qword [rbp - 0x68]
mov rcx, rsi
mov r8d, edi
call fcn.1400851d0
mov r9d, eax
mov dword [rsp + 0x48], eax
mov rax, qword [rbp - 0x70]
test rax, rax
je 0x14008602f
movzx ecx, bx
movzx edx, byte [rcx + rax]
mov byte [rsp + 0x44], dl
mov rax, qword [rsp + 0x50]
xor r10d, r10d
mov eax, dword [rax + 0x10]
mov dword [rsp + 0x6c], eax
mov rax, qword [rbp - 0x20]
movzx r8d, word [rax + 0x5e]
cmp bx, r8w
jae 0x140086062
mov rax, qword [rax + 0x38]
mov edx, r10d
movzx ecx, bx
cmp byte [rcx + rax], r10b
sete dl
cmp edi, edx
je 0x14008606c
test edi, edi
je 0x140086088
cmp r8w, bx
jne 0x140086088
mov rax, qword [rbp - 0x48]
mov rcx, r12
mov byte [rsp + 0x60], r14b
mov r12, rax
mov qword [rbp - 0x48], rcx
xor r14b, r14b
mov qword [rbp - 0x58], rax
jmp 0x14008608c
mov rcx, qword [rbp - 0x48]
test r12, r12
je 0x1400860a4
test byte [r12 + 0x1a], 0x28
jne 0x1400860a4
mov dword [rbp - 0x7c], r10d
mov eax, 1
jmp 0x1400860ac
mov eax, 1
mov dword [rbp - 0x7c], eax
test rcx, rcx
je 0x1400860bc
test byte [rcx + 0x1a], 0x28
mov dword [rsp + 0x64], r10d
je 0x1400860c0
mov dword [rsp + 0x64], eax
test r12, r12
jne 0x140086292
test bx, bx
jne 0x140086292
mov dword [rsp + 0x70], r10d
mov edi, r15d
test r14b, r14b
je 0x140086109
mov rcx, qword [rsp + 0x58]
xor r8d, r8d
add r9d, r15d
mov dword [rsp + 0x20], r10d
lea edx, [r8 + 0x1a]
call fcn.140037d60
mov dword [rbp - 0x7c], 0
mov dword [rsp + 0x70], 1
inc edi
mov r9, qword [rbp - 0x70]
mov r8d, edi
mov edx, dword [rsp + 0x48]
mov rcx, rsi
movzx eax, r14b
sub r8d, eax
call fcn.140084f30
mov ecx, dword [rsp + 0x70]
lea rbx, [0x140000000]
mov edx, dword [rbp - 0x7c]
mov r14, qword [rbp - 0x68]
mov r9d, dword [rsp + 0x6c]
mov r8d, dword [rsp + 0x68]
lea eax, [rdx + rcx*2]
mov dword [rsp + 0x28], edi
lea ecx, [r14 + rax*2]
mov eax, dword [rsp + 0x48]
movzx edx, byte [rcx + rbx + 0xf35a8]
mov rcx, qword [rsp + 0x58]
mov dword [rsp + 0x20], eax
call fcn.140038090
mov rdi, qword [rbp - 0x48]
test rdi, rdi
je 0x140086338
mov rax, qword [rdi]
mov r8d, 1
mov r14d, dword [rsp + 0x48]
mov rcx, rsi
add r14d, r15d
mov edx, r14d
mov rbx, qword [rax + 0x18]
call fcn.1400514f0
mov r8d, r14d
mov rcx, rsi
mov rdx, rbx
call fcn.140052c90
mov r10, qword [rsp + 0x58]
mov r8, rdi
mov rdx, qword [rsp + 0x50]
mov rcx, r10
call fcn.140085650
mov rcx, rbx
call fcn.14004fc70
test eax, eax
je 0x1400861dd
mov r9d, dword [rsp + 0x6c]
mov r8d, r14d
mov edx, 0x4c
mov dword [rsp + 0x20], 0
mov rcx, r10
call fcn.140037d60
movzx edx, byte [rsp + 0x44]
mov rcx, rbx
call fcn.14004da20
cmp al, 0x41
je 0x140086282
movzx edx, byte [rsp + 0x44]
mov rcx, rbx
call fcn.14004fce0
test eax, eax
jne 0x140086282
mov rcx, qword [rsi + 0x10]
lea rdi, [rsp + 0x44]
mov qword [rbp - 0x18], rcx
lea ebx, [rax + 1]
cmp byte [rdi], 0x41
jne 0x140086224
dec ebx
inc r14d
inc rdi
test ebx, ebx
jg 0x140086213
movsxd rax, ebx
cmp rax, 1
jle 0x140086242
nop dword [rax]
cmp byte [rdi + rax - 1], 0x41
jne 0x140086242
dec ebx
dec rax
cmp rax, 1
jg 0x140086230
test ebx, ebx
jle 0x14008627e
mov r9d, ebx
mov dword [rsp + 0x20], 0
mov r8d, r14d
mov edx, 0x30
call fcn.140037d60
mov rcx, qword [rbp - 0x18]
mov r9d, ebx
mov r8, rdi
or edx, 0xffffffff
call fcn.1400387d0
mov r8d, ebx
mov edx, r14d
mov rcx, rsi
call fcn.1400514f0
mov rdi, qword [rbp - 0x48]
mov r14, qword [rbp - 0x68]
lea rbx, [0x140000000]
jmp 0x140086368
mov dword [rsp + 0x70], eax
mov edi, r15d
test r12, r12
je 0x1400860da
mov rax, qword [r12]
lea r8d, [r15 + r9]
mov rcx, rsi
mov r12, qword [rax + 0x18]
mov rdx, r12
call fcn.140052c90
mov r10, qword [rsp + 0x58]
mov r8, qword [rbp - 0x58]
mov rcx, r10
mov rdx, qword [rsp + 0x50]
call fcn.140085650
mov rcx, r12
call fcn.14004fc70
test eax, eax
je 0x1400862fd
mov r8d, dword [rsp + 0x48]
mov edx, 0x4c
mov r9d, dword [rsp + 0x6c]
add r8d, r15d
mov rcx, r10
mov dword [rsp + 0x20], 0
call fcn.140037d60
mov rcx, qword [rbp - 0x70]
test rcx, rcx
je 0x14008632f
movzx ebx, bx
add rbx, rcx
mov rcx, r12
movzx edx, byte [rbx]
call fcn.14004da20
cmp al, 0x41
jne 0x14008631d
mov byte [rbx], al
movzx edx, byte [rbx]
mov rcx, r12
call fcn.14004fce0
test eax, eax
je 0x14008632f
mov byte [rbx], 0x41
mov r12, qword [rbp - 0x58]
jmp 0x140086107
cmp byte [rsp + 0x60], 0
je 0x14008636b
mov r9d, dword [rsp + 0x48]
xor r8d, r8d
mov rcx, qword [rsp + 0x58]
add r9d, r15d
mov dword [rsp + 0x20], 0
lea edx, [r8 + 0x1a]
call fcn.140037d60
mov dword [rsp + 0x64], 0
inc r15d
mov rdx, qword [rbp - 0x70]
mov rcx, qword [rbp - 0x30]
call fcn.140017670
mov rcx, qword [rsp + 0x58]
mov eax, dword [rcx + 0x3c]
mov rcx, qword [rsp + 0x50]
mov dword [rcx + 0x34], eax
test r15d, r15d
je 0x1400863c6
mov eax, dword [rsp + 0x64]
mov r9d, dword [rsp + 0x6c]
mov dword [rsp + 0x28], r15d
mov r15d, dword [rsp + 0x68]
mov r8d, r15d
lea eax, [rax + r14*2]
mov r14, qword [rsp + 0x58]
movzx edx, byte [rax + rbx + 0xf3788]
mov rcx, r14
mov eax, dword [rsp + 0x48]
mov dword [rsp + 0x20], eax
call fcn.140038090
jmp 0x1400863d0
mov r15d, dword [rsp + 0x68]
mov r14, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x50]
mov rdx, r12
call fcn.140084ea0
mov rcx, qword [rsp + 0x50]
mov rdx, rdi
call fcn.140084ea0
cmp dword [rbp - 0x60], 0
jne 0x140086569
mov rbx, qword [rbp - 0x20]
mov rbx, qword [rbx + 0x18]
test byte [rbx + 0x46], 0x20
jne 0x140086473
inc dword [rsi + 0x54]
xor r12d, r12d
mov ebx, dword [rsi + 0x54]
mov r8d, r15d
mov r9d, ebx
mov dword [rsp + 0x20], r12d
mov rcx, r14
lea edx, [r12 + 0x71]
call fcn.140037d60
mov edi, dword [rsp + 0x40]
mov r9d, ebx
or r8d, 0xffffffff
mov edx, edi
mov rcx, rsi
call fcn.140051380
mov r8, qword [rsp + 0x78]
mov rcx, r14
cmp byte [r8 + 0x36], r12b
mov r8d, edi
je 0x14008645f
xor r9d, r9d
mov dword [rsp + 0x20], ebx
lea edx, [r12 + 0x49]
call fcn.140037d60
jmp 0x14008656c
mov edx, 0x43
mov dword [rsp + 0x20], r12d
call fcn.140037d60
jmp 0x14008656c
cmp dword [rsp + 0x40], r15d
je 0x140086569
mov rbx, qword [rbx + 0x10]
test rbx, rbx
je 0x140086499
mov eax, dword [rbx + 0x64]
and al, 3
cmp al, 2
je 0x140086499
mov rbx, qword [rbx + 0x28]
test rbx, rbx
jne 0x140086487
movzx ecx, word [rbx + 0x5e]
mov edx, dword [rsi + 0x44]
mov r14d, dword [rsi + 0x48]
cmp ecx, edx
jg 0x1400864b6
lea eax, [r14 + rcx]
sub edx, ecx
mov dword [rsi + 0x48], eax
mov dword [rsi + 0x44], edx
jmp 0x1400864c2
mov eax, dword [rsi + 0x54]
lea r14d, [rax + 1]
add eax, ecx
mov dword [rsi + 0x54], eax
xor r12d, r12d
mov edi, r12d
cmp r12w, word [rbx + 0x5e]
jae 0x140086542
mov r13, qword [rbp - 0x20]
mov rsi, qword [rsp + 0x58]
nop dword [rax + rax]
movzx r8d, word [r13 + 0x60]
mov edx, r12d
test r8d, r8d
jle 0x140086511
mov rax, qword [rbx + 8]
mov r9, qword [r13 + 8]
movsxd rcx, edi
movzx r10d, word [rax + rcx*2]
nop dword [rax]
movsxd rax, edx
cmp r10w, word [r9 + rax*2]
je 0x140086514
inc edx
cmp edx, r8d
jl 0x140086500
or edx, 0xffffffff
lea eax, [r14 + rdi]
movsx r9d, dx
mov edx, 0x2f
mov dword [rsp + 0x20], eax
mov r8d, r15d
mov rcx, rsi
call fcn.140037d60
movzx eax, word [rbx + 0x5e]
inc edi
cmp edi, eax
jl 0x1400864e0
mov rsi, qword [rbp - 0x28]
mov r13, qword [rbp]
movzx eax, word [rbx + 0x5e]
mov edx, 0x45
mov r9d, dword [rbp - 0x80]
mov r8d, dword [rsp + 0x40]
mov rcx, qword [rsp + 0x58]
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], r14d
call fcn.140038090
jmp 0x14008656c
xor r12d, r12d
test dword [r13 + 0x28], 0x1000
mov r11, qword [rsp + 0x50]
je 0x140086582
mov byte [r11 + 0x2d], 0x9f
jmp 0x14008658f
cmp dword [rbp - 0x68], 0
sete al
add al, 7
mov byte [r11 + 0x2d], al
mov r14, qword [rsp + 0x78]
mov r9d, 0x200
mov dword [r11 + 0x30], r15d
movzx eax, byte [r13 + 0x2a]
and al, 1
mov byte [r11 + 0x2e], al
test byte [r13 + 0x28], 0xf
mov r13, qword [rsp + 0x58]
jne 0x140085ba0
mov byte [r11 + 0x2f], 1
jmp 0x140085ba0
bt edx, 0xd
jae 0x140086e59
mov eax, dword [rsi + 0x50]
inc dword [rsi + 0x54]
mov ebx, dword [rsi + 0x54]
mov r14, qword [rsp + 0x58]
mov dword [rbp - 0x40], eax
mov rcx, r14
inc eax
mov qword [rbp - 8], r12
mov dword [rsi + 0x50], eax
mov dword [rbp - 0x10], ebx
mov dword [rsp + 0x48], r12d
mov dword [rsp + 0x6c], r12d
call fcn.140038130
mov rcx, qword [r13 + 0x38]
mov rdx, qword [rdi + 0x28]
mov r15, qword [rsp + 0x50]
mov r13, qword [rsp + 0x78]
mov dword [rbp - 0x78], eax
mov rax, qword [rcx]
mov dword [rsp + 0x64], r12d
mov qword [rbp - 0x70], r12
mov qword [rbp - 0x58], rdx
mov rcx, qword [rax + 0x10]
mov qword [rbp + 0x10], rcx
mov byte [r15 + 0x2d], sendto
mov dword [r15 + 0x30], ebx
movzx ecx, byte [r13 + 0x39]
mov qword [rbp - 0x18], rax
cmp cl, 1
jbe 0x140086780
movzx ebx, cl
sub ebx, dword [rbp - 0x7c]
mov rcx, qword [rbp - 0x30]
dec ebx
movsxd rax, ebx
imul rdx, rax, 0x78
sub rdx, 0xffffffffffffff80
call fcn.140017900
mov qword [rbp - 0x38], rax
mov rdx, rax
test rax, rax
jne 0x140086675
mov rax, qword [rbp + 0x18]
jmp 0x140087201
lea eax, [rbx + 1]
movzx ecx, al
mov dword [rdx + 4], ecx
mov dword [rdx], ecx
movups xmm0, xmmword [rdi + 8]
movups xmmword [rdx + 8], xmm0
movups xmm1, xmmword [rdi + 0x18]
movups xmmword [rdx + 0x18], xmm1
movups xmm0, xmmword [rdi + 0x28]
movups xmmword [rdx + 0x28], xmm0
movups xmm1, xmmword [rdi + 0x38]
movups xmmword [rdx + 0x38], xmm1
movups xmm0, xmmword [rdi + 0x48]
movups xmmword [rdx + 0x48], xmm0
movups xmm1, xmmword [rdi + 0x58]
movups xmmword [rdx + 0x58], xmm1
movups xmm0, xmmword [rdi + 0x68]
movups xmmword [rdx + 0x68], xmm0
movsd xmm1, qword [rdi + 0x78]
movsd qword [rdx + 0x78], xmm1
mov r10, qword [r13 + 8]
cmp ebx, 1
jl 0x140086748
sub rdx, 0xffffffffffffff80
mov r9d, ebx
lea r8, [r15 + 0x84]
nop dword [rax]
movzx eax, byte [r8]
lea rdx, [rdx + 0x78]
imul rcx, rax, 0x78
lea r8, [r8 + 0x58]
movups xmm0, xmmword [rcx + r10 + 8]
movups xmmword [rdx - 0x78], xmm0
movups xmm1, xmmword [rcx + r10 + 0x18]
movups xmmword [rdx - 0x68], xmm1
movups xmm0, xmmword [rcx + r10 + 0x28]
movups xmmword [rdx - 0x58], xmm0
movups xmm1, xmmword [rcx + r10 + 0x38]
movups xmmword [rdx - 0x48], xmm1
movups xmm0, xmmword [rcx + r10 + 0x48]
movups xmmword [rdx - 0x38], xmm0
movups xmm1, xmmword [rcx + r10 + 0x58]
movups xmmword [rdx - 0x28], xmm1
movups xmm0, xmmword [rcx + r10 + 0x68]
movups xmmword [rdx - 0x18], xmm0
movsd xmm1, qword [rcx + r10 + 0x78]
movsd qword [rdx - 8], xmm1
sub r9, 1
jne 0x1400866e0
mov rdx, qword [rbp - 0x58]
test byte [r13 + 0x32], 8
jne 0x1400867e1
test byte [rdx + 0x46], 0x20
jne 0x14008678a
inc dword [rsi + 0x54]
xor r8d, r8d
mov eax, dword [rsi + 0x54]
mov rcx, r14
mov r9d, eax
mov dword [rsp + 0x48], eax
mov dword [rsp + 0x20], r12d
lea edx, [r8 + 0x1a]
call fcn.140037d60
jmp 0x1400867d7
mov rax, qword [r13 + 8]
mov qword [rbp - 0x38], rax
jmp 0x14008674c
mov rbx, qword [rdx + 0x10]
test rbx, rbx
je 0x1400867a5
mov eax, dword [rbx + 0x64]
and al, 3
cmp al, 2
je 0x1400867a5
mov rbx, qword [rbx + 0x28]
test rbx, rbx
jne 0x140086793
mov edi, dword [rsi + 0x50]
mov edx, 0x39
mov r8d, edi
mov dword [rsp + 0x48], edi
mov rcx, r14
mov dword [rsp + 0x20], r12d
lea eax, [rdi + 1]
mov dword [rsi + 0x50], eax
movzx r9d, word [rbx + 0x5e]
call fcn.140037d60
mov rdx, rbx
mov rcx, rsi
call fcn.1400388e0
inc dword [rsi + 0x54]
mov eax, dword [rsi + 0x54]
mov dword [rsp + 0x6c], eax
mov r9d, dword [rbp - 0x10]
xor r8d, r8d
mov rcx, r14
mov dword [rsp + 0x20], r12d
mov r13, r14
lea edx, [r8 + 0x17]
call fcn.140037d60
mov dword [rbp - 0x68], eax
mov rax, qword [rbp - 0x50]
mov ecx, dword [rax + 0x14]
cmp ecx, 1
jle 0x14008692b
mov ebx, r12d
test ecx, ecx
jle 0x14008692b
mov r13, qword [rbp - 0x30]
mov rdi, r12
mov r14, qword [rbp - 0x18]
mov r8d, 0x1fff
mov r15, r12
mov rsi, rax
mov rdx, qword [rsi + 0x20]
movsxd rax, ebx
imul rcx, rax, 0x38
mov r10, qword [rdi + rdx]
add rcx, rdx
cmp rcx, r14
je 0x140086886
test byte [r10 + 4], 1
jne 0x140086886
test byte [rdi + rdx + 0x1c], 2
jne 0x140086886
test word [rdi + rdx + 0x1a], r8w
je 0x140086886
xor r9d, r9d
xor r8d, r8d
mov rdx, r10
mov rcx, r13
call fcn.14004ea80
mov r8, rax
mov rdx, r15
mov rcx, r13
call fcn.14004e410
mov r15, rax
mov r8d, 0x1fff
inc ebx
add rdi, 0x38
cmp ebx, dword [rsi + 0x14]
jl 0x140086831
mov rsi, qword [rbp - 0x28]
test r15, r15
mov r13, qword [rsp + 0x58]
mov qword [rbp - 0x70], r15
mov r15, qword [rsp + 0x50]
je 0x140086930
mov rcx, qword [rsi]
mov r9d, 1
xor r8d, r8d
lea edx, [r9 + 0x47]
call fcn.14004df70
mov rdi, qword [rsi]
mov rbx, rax
test rax, rax
jne 0x1400868eb
xor edx, edx
mov rcx, rdi
call fcn.14004e850
mov rdx, qword [rbp - 0x70]
mov rcx, rdi
call fcn.14004e850
mov rdx, rbx
mov qword [rbp - 0x70], rbx
jmp 0x140086934
mov rdx, qword [rbp - 0x70]
mov rcx, rbx
mov qword [rax + 0x18], rdx
mov eax, dword [rdx + 4]
and eax, 0x200100
or dword [rbx + 4], eax
call fcn.14004de40
mov rax, qword [rsi]
mov r8d, dword [rax + 0x74]
cmp dword [rbx + 0x28], r8d
jle 0x140086922
lea rdx, str.Expression_tree_is_too_large__maximum_depth__d_
mov rcx, rsi
call fcn.14001a630
mov rdx, rbx
mov qword [rbp - 0x70], rbx
jmp 0x140086934
mov rdx, r12
jmp 0x140086934
mov rdx, qword [rbp - 0x70]
mov rax, qword [rbp + 0x10]
mov r9d, 0xf0
mov dword [rsp + 0x70], r9d
mov r14d, r12d
mov dword [rbp - 0x28], r12d
cmp dword [rax + 0x14], r12d
jle 0x140086d3b
mov ecx, dword [rsp + 0x40]
mov r8, r12
mov qword [rbp + 8], r12
nop
mov rax, qword [rax + 0x20]
cmp dword [r8 + rax + 0xc], ecx
je 0x14008697d
mov r10d, 0x400
test word [r8 + rax + 0x1a], r10w
je 0x140086d1a
mov r8, qword [r8 + rax]
mov ebx, r12d
mov dword [rbp - 0x60], ebx
test rdx, rdx
je 0x14008699a
test byte [r8 + 4], 1
jne 0x14008699a
mov qword [rdx + 0x10], r8
mov r8, rdx
mov eax, dword [rbp - 0x40]
mov rcx, rsi
mov rdx, qword [rbp - 0x38]
mov dword [rsp + 0x30], eax
mov word [rsp + 0x28], r9w
xor r9d, r9d
mov qword [rsp + 0x20], r12
call fcn.14008e4b0
mov qword [rbp + 0x28], rax
mov rdi, rax
test rax, rax
je 0x140086d0d
movzx ecx, byte [r15 + 0x2c]
lea r8, [rax + 0x340]
mov r9d, dword [rbp - 0x7c]
mov rdx, qword [rbp - 0x38]
mov word [rsp + 0x28], r12w
mov dword [rsp + 0x20], ecx
mov rcx, rsi
call fcn.140084b20
mov rax, qword [rsp + 0x78]
test byte [rax + 0x32], 8
jne 0x140086c46
mov rcx, qword [rbp + 0x10]
mov ebx, r14d
mov r10, qword [rbp - 0x58]
mov eax, dword [rcx + 0x14]
mov ecx, 0xffffffff
dec eax
cmp r14d, eax
cmove ebx, ecx
test byte [r10 + 0x46], 0x20
mov dword [rbp - 0x20], ebx
jne 0x140086a69
mov eax, dword [rsp + 0x6c]
mov r8d, ecx
mov r9d, dword [rsp + 0x40]
mov rcx, rsi
mov byte [rsp + 0x28], r12b
mov rdx, r10
mov dword [rsp + 0x20], eax
call fcn.140051730
mov r8d, dword [rsp + 0x48]
xor r9d, r9d
mov edx, 0x83
mov dword [rsp + 0x28], ebx
mov rcx, r13
mov dword [rsp + 0x20], eax
call fcn.140038090
mov ebx, eax
jmp 0x140086c46
mov rcx, r10
call fcn.14005a260
mov edx, dword [rsi + 0x44]
mov r8d, dword [rsi + 0x48]
mov qword [rbp], rax
movzx edi, word [rax + 0x5e]
mov dword [rsp + 0x68], r8d
cmp edi, edx
jg 0x140086a97
lea ecx, [r8 + rdi]
sub edx, edi
mov dword [rsi + 0x48], ecx
mov dword [rsi + 0x44], edx
jmp 0x140086aac
mov eax, dword [rsi + 0x54]
lea r8d, [rax + 1]
add eax, edi
mov dword [rsi + 0x54], eax
mov rax, qword [rbp]
mov dword [rsp + 0x68], r8d
mov r14, r12
mov r15, rdi
test edi, edi
je 0x140086b52
lea rdx, [rsi + 0x88]
mov edi, r8d
nop dword [rax]
nop dword [rax + rax]
mov rax, qword [rax + 8]
mov ecx, r12d
mov r8, rdx
movsx ebx, word [rax + r14*2]
nop
mov eax, dword [rsp + 0x40]
cmp dword [r8 + 0xc], r12d
jle 0x140086b00
cmp dword [r8], eax
jne 0x140086b00
movsx eax, word [r8 + 4]
cmp eax, ebx
je 0x140086bd8
mov eax, dword [rsp + 0x40]
inc ecx
add r8, 0x14
cmp ecx, 0xa
jl 0x140086ae0
mov rcx, qword [rsi + 0x10]
mov r9d, ebx
mov r8d, eax
mov dword [rsp + 0x20], edi
mov rdx, r10
call fcn.140051650
mov edx, dword [rsp + 0x40]
mov r9d, edi
mov r8d, ebx
mov rcx, rsi
call fcn.140051380
mov r10, qword [rbp - 0x58]
mov rax, qword [rbp]
lea rdx, [rsi + 0x88]
inc edi
inc r14
cmp r14, r15
jl 0x140086ad0
mov ebx, dword [rbp - 0x20]
mov edi, r15d
mov r14d, dword [rsp + 0x68]
mov r15d, dword [rsp + 0x48]
test ebx, ebx
je 0x140086b80
xor r9d, r9d
mov dword [rsp + 0x28], edi
mov r8d, r15d
mov dword [rsp + 0x20], r14d
mov rcx, r13
lea edx, [r9 + 0x46]
call fcn.140038090
mov dword [rbp - 0x60], eax
test ebx, ebx
js 0x140086c28
mov eax, dword [rsp + 0x6c]
mov r9d, edi
mov r8d, r14d
mov dword [rsp + 0x20], eax
mov edx, 0x31
mov rcx, r13
call fcn.140037d60
mov r9d, dword [rsp + 0x6c]
mov r8d, r15d
mov edx, WSAStartup
mov dword [rsp + 0x20], r12d
mov rcx, r13
call fcn.140037d60
test ebx, ebx
je 0x140086c28
mov rax, qword [r13]
mov ecx, dword [r13 + 0x3c]
dec ecx
cmp byte [rax + 0x51], r12b
je 0x140086c15
lea rax, [0x140120b10]
jmp 0x140086c24
mov eax, dword [rsi + 0x74]
mov rcx, rsi
mov dword [r8 + 0x10], eax
inc dword [rsi + 0x74]
mov edx, dword [r8 + 0xc]
call fcn.1400515b0
mov r8d, dword [r8 + 0xc]
cmp r8d, edi
je 0x140086b37
mov r9d, edi
mov dword [rsp + 0x20], r12d
mov edx, 0x20
mov rcx, r13
call fcn.140037d60
jmp 0x140086b33
movsxd rax, ecx
lea rcx, [rax + rax*2]
mov rax, qword [r13 + 8]
lea rax, [rax + rcx*8]
mov byte [rax + 3], 0x10
mov r8d, edi
mov edx, r14d
mov rcx, rsi
call fcn.140054240
mov r15, qword [rsp + 0x50]
mov ebx, dword [rbp - 0x60]
mov rdi, qword [rbp + 0x28]
mov r14d, dword [rbp - 0x28]
mov r9d, dword [rbp - 0x78]
mov edx, 0xf
mov r8d, dword [rbp - 0x10]
mov rcx, r13
mov dword [rsp + 0x20], r12d
call fcn.140037d60
test ebx, ebx
je 0x140086ca1
mov ecx, dword [r13 + 0x3c]
mov rax, qword [r13 + 0x30]
dec ecx
mov dword [rax + 0x64], ecx
mov edx, dword [r13 + 0x3c]
test ebx, ebx
jns 0x140086c7c
lea ebx, [rdx - 1]
mov rax, qword [r13]
cmp byte [rax + 0x51], r12b
je 0x140086c8f
lea rax, [0x140120b10]
jmp 0x140086c9e
movsxd rax, ebx
lea rcx, [rax + rax*2]
mov rax, qword [r13 + 8]
lea rax, [rax + rcx*8]
mov dword [rax + 8], edx
cmp byte [rdi + 0x37], r12b
mov ecx, 1
mov eax, dword [rsp + 0x64]
mov rdx, qword [rdi + 0x388]
cmovne eax, ecx
mov dword [rsp + 0x64], eax
test dword [rdx + 0x28], 0x200
je 0x140086d01
test r14d, r14d
je 0x140086cd4
mov rax, qword [rbp - 8]
cmp qword [rdx + 0x20], rax
jne 0x140086d01
mov rax, qword [rbp - 0x58]
test byte [rax + 0x46], 0x20
je 0x140086ced
mov rax, qword [rdx + 0x20]
mov ecx, dword [rax + 0x64]
and cl, 3
cmp cl, 2
je 0x140086d01
mov rbx, qword [rdx + 0x20]
mov eax, 0x1000
or word [rsp + 0x70], ax
mov qword [rbp - 8], rbx
jmp 0x140086d05
mov qword [rbp - 8], r12
mov rcx, rdi
call fcn.14008eee0
mov r9d, dword [rsp + 0x70]
mov r8, qword [rbp + 8]
mov ecx, dword [rsp + 0x40]
mov rax, qword [rbp + 0x10]
inc r14d
mov rdx, qword [rbp - 0x70]
add r8, 0x38
mov dword [rbp - 0x28], r14d
mov qword [rbp + 8], r8
cmp r14d, dword [rax + 0x14]
jl 0x140086960
mov rax, qword [rbp - 8]
mov qword [r15 + 0x38], rax
test rax, rax
je 0x140086d4f
mov eax, dword [rbp - 0x40]
mov dword [r15 + 8], eax
mov rdx, qword [rbp - 0x70]
mov rbx, qword [rbp - 0x30]
test rdx, rdx
je 0x140086d68
mov rcx, rbx
mov qword [rdx + 0x10], r12
call fcn.14004e850
mov ecx, dword [rbp - 0x68]
mov edx, dword [r13 + 0x3c]
test ecx, ecx
jns 0x140086d76
lea ecx, [rdx - 1]
mov rax, qword [r13]
cmp byte [rax + 0x51], r12b
je 0x140086d89
lea rax, [0x140120b10]
jmp 0x140086d98
movsxd rax, ecx
lea rcx, [rax + rax*2]
mov rax, qword [r13 + 8]
lea rax, [rax + rcx*8]
mov dword [rax + 4], edx
xor r8d, r8d
mov r9d, dword [r15 + 0xc]
mov rcx, r13
mov dword [rsp + 0x20], r12d
lea edx, [r8 + 0xe]
call fcn.140037d60
mov rdx, qword [r13 + 0x30]
mov r8, qword [rdx + 0x80]
test r8, r8
je 0x140086dd4
or eax, 0xffffffff
sub eax, dword [rbp - 0x78]
movsxd rcx, eax
mov eax, dword [r13 + 0x3c]
mov dword [r8 + rcx*4], eax
mov eax, dword [r13 + 0x3c]
mov r14, qword [rsp + 0x78]
dec eax
mov dword [rdx + 0x64], eax
cmp byte [r14 + 0x39], 1
jbe 0x140086e3d
mov rcx, qword [rbp - 0x38]
test rcx, rcx
je 0x140086e3d
test rbx, rbx
je 0x140086e38
cmp qword [rbx + 0x328], r12
je 0x140086e0d
mov rdx, rcx
mov rcx, rbx
call fcn.140017620
jmp 0x140086e3d
cmp rcx, qword [rbx + 0x170]
jb 0x140086e38
cmp rcx, qword [rbx + 0x178]
jae 0x140086e38
mov rax, qword [rbx + 0x168]
mov qword [rcx], rax
dec dword [rbx + 0x154]
mov qword [rbx + 0x168], rcx
jmp 0x140086e3d
call fcn.1400175b0
cmp dword [rsp + 0x64], r12d
jne 0x140085b95
mov rdx, qword [rbp - 0x18]
mov rcx, r15
call fcn.140084ea0
jmp 0x140085b95
mov r13, qword [rsp + 0x58]
test r8b, 0x20
je 0x140086e73
mov r14, qword [rsp + 0x78]
mov byte [r11 + 0x2d], 0x9f
jmp 0x140085ba0
movsxd rcx, r15d
lea rdx, [0x140000000]
mov r9d, r14d
mov dword [rsp + 0x20], r12d
movzx eax, byte [rcx + rdx + 0xf59c4]
movzx edx, byte [rcx + rdx + 0xf38f4]
mov rcx, r13
mov byte [r11 + 0x2d], al
mov eax, dword [rsp + 0x40]
mov r8d, eax
mov dword [r11 + 0x30], eax
call fcn.140037d60
mov r11, qword [rsp + 0x50]
inc eax
mov r14, qword [rsp + 0x78]
mov dword [r11 + 0x34], eax
mov byte [r11 + 0x2f], 1
jmp 0x140085b9a
mov r14, qword [rsp + 0x78]
mov r13, r10
jmp 0x140085b9a
cmp dword [r11], 0
mov r14, qword [rbx]
je 0x140086ee3
test byte [r14 + 4], 1
je 0x140086f5e
test r9w, cx
je 0x140086f03
mov r8d, dword [r11 + 0x24]
xor r9d, r9d
mov rcx, r13
mov dword [rsp + 0x20], r12d
lea edx, [r9 + 0x2e]
call fcn.140037d60
mov edi, eax
mov r8d, dword [rbp - 0x80]
mov r9d, sendto
mov rdx, r14
mov rcx, rsi
call fcn.140053640
test edi, edi
je 0x140086f59
mov edx, dword [r13 + 0x3c]
mov rcx, qword [r13 + 0x30]
dec edx
mov dword [rcx + 0x64], edx
mov edx, dword [r13 + 0x3c]
test edi, edi
jns 0x140086f34
lea edi, [rdx - 1]
mov rax, qword [r13]
cmp byte [rax + 0x51], 0
je 0x140086f47
lea rax, [0x140120b10]
jmp 0x140086f56
movsxd rax, edi
lea rcx, [rax + rax*2]
mov rax, qword [r13 + 8]
lea rax, [rax + rcx*8]
mov dword [rax + 8], edx
or word [rbx + 0x1c], 4
mov r11, qword [rsp + 0x50]
dec r15d
mov r14, qword [rsp + 0x78]
add rbx, 0x38
mov r9d, 0x200
test r15d, r15d
jg 0x140085bc0
mov rdx, qword [rbp - 0x50]
mov r15d, dword [rdx + 0x14]
mov r14, qword [rdx + 0x20]
test r15d, r15d
jle 0x14008713f
mov r8d, 0xb
nop dword [rax]
test byte [r14 + 0x1c], 6
jne 0x14008712f
movzx eax, word [r14 + 0x1a]
test al, 0x82
setne cl
bt ax, r8w
setb al
test al, cl
je 0x14008712f
mov ecx, dword [rsp + 0x40]
cmp dword [r14 + 0xc], ecx
jne 0x14008712f
mov rax, qword [rsp + 0x50]
cmp dword [rax], 0
jne 0x14008712f
movzx eax, word [r14 + 0x10]
mov rdi, r12
mov r13, qword [r14]
mov dword [rbp + 0x5c], ecx
lea rcx, [rbp + 0x30]
mov word [rbp + 0x88], ax
mov qword [rbp + 0x30], rdx
mov qword [rbp + 0x38], rdx
mov qword [rbp + 0x48], r12
mov word [rbp + 0x50], 0x100
mov qword [rbp + 0x40], r12
mov qword [rbp + 0x54], 0x83
mov byte [rbp + 0x52], 1
call fcn.1400894b0
mov rbx, rax
test rax, rax
je 0x14008705d
nop dword [rax]
mov rax, qword [rbx + 0x28]
test qword [rbp + 0x18], rax
jne 0x14008704c
test rax, rax
jne 0x140087045
test byte [rbx + 0x1a], 0x82
jne 0x140087060
test rdi, rdi
cmove rdi, rbx
lea rcx, [rbp + 0x30]
call fcn.1400894b0
mov rbx, rax
test rax, rax
jne 0x140087030
mov rbx, rdi
test rbx, rbx
je 0x140087125
test byte [rbx + 0x1c], 4
jne 0x140087125
mov rcx, qword [rbp - 0x30]
mov edx, 0x48
call fcn.140017900
mov rdi, rax
test rax, rax
je 0x140087125
mov rcx, qword [rbx]
mov r9d, sendto
mov r8d, dword [rbp - 0x80]
mov rdx, rdi
movups xmm0, xmmword [rcx]
movups xmmword [rax], xmm0
movups xmm1, xmmword [rcx + 0x10]
movups xmmword [rax + 0x10], xmm1
movups xmm0, xmmword [rcx + 0x20]
movups xmmword [rax + 0x20], xmm0
movups xmm1, xmmword [rcx + 0x30]
movups xmmword [rax + 0x30], xmm1
movsd xmm0, qword [rcx + 0x40]
mov rcx, rsi
movsd qword [rax + 0x40], xmm0
mov rax, qword [r13 + 0x10]
mov qword [rdi + 0x10], rax
call fcn.140053640
mov rcx, qword [rbp - 0x30]
test rcx, rcx
je 0x14008711d
cmp qword [rcx + 0x328], 0
je 0x1400870f2
mov rdx, rdi
call fcn.140017620
jmp 0x140087125
cmp rdi, qword [rcx + 0x170]
jb 0x14008711d
cmp rdi, qword [rcx + 0x178]
jae 0x14008711d
mov rax, qword [rcx + 0x168]
mov qword [rdi], rax
dec dword [rcx + 0x154]
mov qword [rcx + 0x168], rdi
jmp 0x140087125
mov rcx, rdi
call fcn.1400175b0
mov rdx, qword [rbp - 0x50]
mov r8d, 0xb
dec r15d
add r14, 0x38
test r15d, r15d
jg 0x140086fa0
mov rdi, qword [rsp + 0x50]
mov r9d, dword [rdi]
test r9d, r9d
je 0x1400871fd
mov rcx, qword [rsp + 0x58]
mov edx, reloc.WS2_32.dll_socket
mov dword [rsp + 0x20], r12d
mov eax, dword [rcx + 0x3c]
lea r8d, [rdx - 0x16]
mov dword [rdi + 0x1c], eax
call fcn.140037d60
lea rcx, [rsi + 0x94]
mov eax, 0xa
nop word [rax + rax]
mov edx, dword [rcx]
test edx, edx
je 0x1400871a9
cmp byte [rcx - 6], 0
je 0x1400871a2
movzx eax, byte [rsi + 0x1f]
cmp al, 8
jae 0x14008719e
movzx eax, al
mov dword [rsi + rax*4 + 0x24], edx
inc byte [rsi + 0x1f]
mov byte [rcx - 6], 0
mov rax, qword [rbp + 0x20]
mov dword [rcx], r12d
add rcx, 0x14
sub rax, 1
mov qword [rbp + 0x20], rax
jne 0x140087180
mov r14, qword [rbp - 0x50]
cmp dword [r14 + 0x14], 0
mov rbx, qword [r14 + 0x20]
jle 0x1400871fd
test byte [rbx + 0x1c], 6
jne 0x1400871f0
mov rax, qword [rbx + 0x30]
test qword [rdi + 0x50], rax
jne 0x1400871f0
mov r8d, dword [rbp - 0x80]
mov r9d, sendto
mov rdx, qword [rbx]
mov rcx, rsi
call fcn.140053640
or word [rbx + 0x1c], 4
inc r12d
add rbx, 0x38
cmp r12d, dword [r14 + 0x14]
jl 0x1400871c6
mov rax, qword [rdi + 0x50]
mov rcx, qword [rbp + 0xa0]
xor rcx, rsp
call fcn.1400c0280
mov rbx, qword [rsp + 0x200]
add rsp, 0x1b0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret