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

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov dword [rsp + 0x10], edx
mov qword [rsp + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x8b8]
sub rsp, 0x9b8
xor r14d, r14d
movsxd r11, edx
mov r10, r9
lea r9, [rcx + 0xd7c0]
mov ebx, r14d
mov edx, 1
mov rax, r11
mov r13, rcx
mov ecx, dword [rbp + 0x930]
shl rax, 7
mov qword [rsp + 0x68], r14
mov r8d, r14d
add r9, rax
xor eax, eax
cmp ecx, 0x3f
setg bl
lea edi, [rax + 0x40]
mov qword [rbp - 0x50], rax
neg ebx
mov qword [rbp - 0x48], rax
mov qword [rbp - 0x40], rax
mov qword [rbp - 0x38], rax
mov eax, VarI4FromDisp
mov qword [rsp + 0x50], r9
sub eax, ecx
mov qword [rsp + 0x30], r14
mov qword [rbp - 0x60], rdx
and ebx, eax
mov qword [rsp + 0x78], rdx
mov dword [rbp + 0x7b0], r14d
add ebx, ecx
test ebx, ebx
jle 0x1400141a3
mov eax, dword [r13 + 0xda24]
movzx edx, byte [r13 + 0x408]
mov esi, dword [rbp + 0x908]
mov r15d, dword [rbp + 0x908]
mov dword [rsp + 0x74], eax
lea eax, [r11 + 1]
mov r11d, dword [rbp + 0x908]
cdqe
sar rax, 1
add rax, r13
movzx r12d, byte [rax + rdx*4 + 0xd0ad]
mov qword [rsp + 0x48], r12
nop dword [rax]
mov rdx, qword [rbp + 0x928]
mov ecx, r14d
movsxd r9, ebx
movsx eax, word [r10 + r9*2]
test eax, eax
sets cl
neg ecx
mov dword [rbp + 0x930], ecx
lea r14d, [rcx + rax]
lea rax, [0x140000000]
movzx eax, byte [r9 + rax + 0xd3570]
xor r14d, ecx
movsx r8d, word [rdx + rax*2]
mov dword [rsp + 0x70], r8d
cmp r14d, 1
jg 0x140013ade
test r14d, r14d
jne 0x1400133dd
cmp ebx, 1
jle 0x1400133d7
movsxd rax, ebx
cmp word [r10 + rax*2 - 2], 0
jne 0x1400133d7
dec ebx
cmp ebx, 1
jg 0x1400133c4
xor ecx, ecx
mov edx, ecx
jmp 0x1400133ef
add r8d, ecx
xor r8d, ecx
mov edx, r8d
mov dword [rsp + 0x70], r8d
imul edx, r8d
mov rcx, qword [rsp + 0x50]
movsxd r8, ebx
mov r9d, edi
lea rax, [r8 + r8]
and edi, 0x3f
sub r9d, ebx
movzx r10d, word [rax + rcx]
mov qword [rbp - 0x80], rax
movsxd rax, edi
mov eax, dword [rbp + rax*4 + 0x7b0]
add eax, edx
mov dword [rsp + 0x38], eax
mov dword [rbp + r8*4 + 0x7b0], eax
test r10d, r10d
jle 0x1400134d7
cmp r10d, 4
jge 0x14001343a
lea eax, [r10 - 1]
jmp 0x1400134a4
xor eax, eax
test r10d, r10d
mov ecx, r10d
mov edx, eax
setne dl
shr ecx, 1
or ecx, r10d
mov eax, ecx
shr eax, 2
or ecx, eax
mov eax, ecx
shr eax, 4
or ecx, eax
mov eax, ecx
shr eax, 8
or ecx, eax
mov eax, ecx
shr eax, 0x10
or eax, ecx
shr eax, 1
inc eax
imul ecx, eax, 0x77cb531
lea rax, [0x140000000]
shr rcx, 0x1b
movzx eax, byte [rcx + rax + 0xd87f0]
add eax, 0xfffffffd
add edx, eax
xor eax, eax
mov ecx, eax
cmp edx, 3
mov eax, 3
setg cl
sub eax, edx
neg ecx
and eax, ecx
add eax, 3
add eax, edx
movsxd rcx, eax
lea rdx, [0x140000000]
movzx eax, byte [r8 + rdx + 0xd87b0]
add rax, r12
shl rax, 5
add rax, rcx
movzx ecx, byte [rcx + rdx + 0xd3550]
add ecx, dword [r13 + rax*8 + 0xda2c]
mov dword [rsp + 0x20], ecx
jmp 0x1400134dd
xor eax, eax
mov dword [rsp + 0x20], eax
lea eax, [rbx + 0x3e]
sar eax, 6
or r12d, 0xffffffff
mov dword [rbp + 0x910], r12d
mov dword [rsp + 0x60], eax
mov rax, qword [rsp + 0x68]
mov ecx, edi
sar rax, cl
test al, 1
je 0x1400139e5
movsxd r10, edi
lea edx, [r9 + 0x37]
shl r10, 5
sar edx, 6
movzx eax, byte [rbp + r10 - 0x40]
add edx, 7
mov ecx, eax
mov dword [rsp + 0x64], eax
sar eax, 1
and ecx, 1
mov dword [rsp + 0x58], eax
lea rax, [0x140000000]
mov dword [rsp + 0x5c], ecx
movzx ecx, byte [r8 + rax + 0xd87b0]
movsxd rax, edx
add rcx, qword [rsp + 0x48]
lea r8, [0x140000000]
shl rcx, 5
mov qword [rbp - 0x68], rcx
add rcx, rax
movzx eax, byte [rax + r8 + 0xd3550]
mov r8d, dword [r13 + rcx*8 + 0xda2c]
mov ecx, dword [rbp + r10 - 0x3c]
add r8d, eax
movsxd rax, edi
mov eax, dword [rbp + rax*4 + 0x7b0]
add r8d, dword [rsp + 0x20]
mov dword [rsp + 0x40], eax
mov eax, r8d
imul eax, dword [r13 + 0xda24]
add ecx, eax
sub ecx, dword [rsp + 0x40]
add ecx, dword [rsp + 0x38]
cmp ecx, r12d
ja 0x1400135cb
mov esi, dword [rbp + r10 - 0x38]
lea eax, [rdi*2 + 1]
mov r15d, edx
add esi, r8d
xor r10d, r10d
lea r11d, [r9 - 1]
mov dword [rsp + 0x24], eax
mov r12d, ecx
mov dword [rbp + 0x910], ecx
mov dword [rsp + 0x28], r10d
jmp 0x1400135ce
xor r10d, r10d
mov eax, dword [rsp + 0x60]
add eax, 0x10
cmp r9d, eax
jge 0x140013867
mov rcx, qword [rbp + 0x918]
mov r8d, r10d
movsxd rdx, edi
lea rax, [rdx + rdx]
mov qword [rbp - 0x70], rax
movsx eax, word [rax + rcx]
test eax, eax
sets r8b
neg r8d
lea r13d, [r8 + rax]
xor r13d, r8d
cmp r13d, 2
jg 0x14001384d
cmp r9d, 6
jge 0x140013623
mov r10d, r8d
lea r12d, [r9 + 0x16]
neg r10d
jmp 0x14001364d
lea edx, [r9 + 0x36]
mov eax, r8d
mov r10d, r9d
sar edx, 6
lea ecx, [rdx + 2]
lea r12d, [rdx + 0x1c]
shl eax, cl
sub r10d, eax
lea eax, [rdx*4]
movsxd rdx, edi
sub r10d, eax
sub r10d, 6
mov rcx, qword [rbp + 0x928]
mov dword [rsp + 0x3c], r12d
lea rax, [0x140000000]
movzx eax, byte [rdx + rax + 0xd3570]
movsx edx, word [rcx + rax*2]
mov rax, qword [rbp - 0x70]
mov rcx, qword [rbp + 0x920]
movzx eax, word [rax + rcx]
mov rcx, qword [rbp - 0x68]
add edx, r8d
xor edx, r8d
sub edx, eax
movsxd rax, r12d
lea r12, [0x140000000]
add rcx, rax
movzx eax, byte [rax + r12 + 0xd3550]
mov r12, qword [rbp + 0x900]
imul edx, edx
mov ecx, dword [r12 + rcx*8 + 0xda2c]
add ecx, eax
movsxd rax, dword [rsp + 0x5c]
add ecx, dword [rsp + 0x20]
mov dword [rsp + 0x44], ecx
movsxd rcx, dword [rsp + 0x58]
lea rax, [rax + rcx*2]
shl rax, 4
mov qword [rbp - 0x78], rax
mov ecx, dword [rbp + rax - 0x4c]
add ecx, edx
mov edx, dword [rsp + 0x44]
mov eax, edx
imul eax, dword [r12 + 0xda24]
add ecx, eax
sub ecx, dword [rsp + 0x40]
add ecx, dword [rsp + 0x38]
cmp ecx, dword [rbp + 0x910]
ja 0x140013721
mov eax, dword [rsp + 0x64]
mov r15d, dword [rsp + 0x3c]
mov r11d, r10d
mov dword [rsp + 0x24], eax
mov rax, qword [rbp - 0x78]
mov dword [rbp + 0x910], ecx
mov esi, dword [rbp + rax - 0x48]
lea eax, [r8 + 1]
add esi, edx
xor eax, r8d
mov dword [rsp + 0x28], eax
movsxd rdx, edi
mov eax, dword [rsp + 0x60]
add eax, 2
cmp r9d, eax
jge 0x140013859
lea eax, [r13 - 2]
cmp eax, 2
ja 0x140013859
mov rcx, qword [rbp - 0x68]
mov eax, r9d
lea r10, [0x140000000]
sar eax, 1
mov dword [rbp - 0x78], eax
add eax, 0x1e
mov dword [rsp + 0x3c], eax
cdqe
add rcx, rax
movzx eax, byte [rax + r10 + 0xd3550]
xor r10d, r10d
mov r12d, dword [r12 + rcx*8 + 0xda2c]
mov rcx, qword [rbp + 0x928]
add r12d, eax
lea eax, [r8 + r13]
add r12d, dword [rsp + 0x20]
xor eax, r8d
cmp eax, 2
lea rax, [0x140000000]
mov dword [rsp + 0x44], r12d
movzx eax, byte [rdx + rax + 0xd3570]
setg r10b
movsx edx, word [rcx + rax*2]
mov rax, qword [rbp - 0x70]
mov rcx, qword [rbp + 0x920]
movzx eax, word [rax + rcx]
movsxd rcx, dword [rsp + 0x58]
add edx, r8d
xor edx, r8d
add r10d, 2
imul eax, r10d
sub edx, eax
movsxd rax, dword [rsp + 0x5c]
lea r13, [rax + rcx*2]
mov eax, r12d
mov r12d, dword [rbp + 0x910]
imul edx, edx
imul eax, dword [rsp + 0x74]
add r13, r13
mov ecx, dword [rbp + r13*8 - 0x4c]
add ecx, edx
add ecx, eax
sub ecx, dword [rsp + 0x40]
add ecx, dword [rsp + 0x38]
cmp ecx, r12d
ja 0x140013860
mov edx, dword [rbp - 0x78]
mov eax, dword [rsp + 0x64]
mov esi, dword [rsp + 0x44]
add esi, dword [rbp + r13*8 - 0x48]
mov r15d, dword [rsp + 0x3c]
mov dword [rsp + 0x24], eax
mov r12d, ecx
mov dword [rbp + 0x910], ecx
lea ecx, [rdx + 1]
mov eax, r8d
lea r11d, [r10 - 2]
shl eax, cl
mov ecx, edx
shl r11d, cl
sub r11d, eax
lea eax, [r9 - 1]
sar eax, 1
add r11d, eax
lea eax, [r8 + r10]
xor eax, r8d
mov dword [rsp + 0x28], eax
jmp 0x140013860
mov r12, qword [rbp + 0x900]
jmp 0x140013724
mov r12d, dword [rbp + 0x910]
mov r13, qword [rbp + 0x900]
mov r9, qword [rsp + 0x78]
mov ecx, edi
movsxd r8, ebx
mov rax, r9
sar rax, cl
test al, 1
jne 0x1400139ea
mov rdi, qword [rbp - 0x80]
mov r10d, dword [r13 + 0xda24]
mov ecx, dword [rsp + 0x28]
mov eax, dword [rsp + 0x24]
mov r12, r8
mov edx, 1
shl r12, 5
mov byte [rbp + r12 - 0x50], al
mov eax, dword [rbp + 0x910]
mov dword [rbp + r12 - 0x44], ecx
mov dword [rbp + r12 - 0x4c], eax
mov ecx, ebx
mov eax, edx
shl rax, cl
mov byte [rbp + r12 - 0x4f], r15b
mov word [rbp + r12 - 0x4e], r11w
or r9, rax
mov dword [rbp + r12 - 0x48], esi
mov qword [rbp - 0x80], rax
mov qword [rsp + 0x78], r9
test r14d, r14d
je 0x140014177
mov r14d, dword [rbp + 0x930]
cmp ebx, dword [rbp + 0x940]
mov rax, qword [rbp + 0x920]
movzx r9d, word [rdi + rax]
lea rdx, [0x140000000]
mov eax, 0
movzx ecx, byte [r8 + rdx + 0xd87b0]
cmovl r10d, eax
sub r9d, dword [rsp + 0x70]
add rcx, qword [rsp + 0x48]
mov edi, 9
imul r9d, r9d
shl rcx, 5
sub edi, r14d
movsxd rax, edi
mov byte [rbp + r12 - 0x3f], dil
add rcx, rax
movzx eax, byte [rax + rdx + 0xd3550]
mov rdx, qword [rsp + 0x30]
mov r8d, dword [r13 + rcx*8 + 0xda2c]
lea ecx, [rbx + 1]
add r8d, eax
and ecx, 0x3f
add r8d, dword [rsp + 0x20]
sar rdx, cl
movzx eax, cl
add al, al
and edx, 1
movsxd rcx, ecx
add al, dl
mov byte [rbp + r12 - 0x40], al
xor eax, eax
mov word [rbp + r12 - 0x3e], ax
movsxd rax, edx
lea rdi, [rax + rcx*2]
mov eax, r8d
add rdi, rdi
imul eax, r10d
mov edx, dword [rbp + rdi*8 - 0x4c]
add edx, r9d
mov r9, qword [rsp + 0x68]
or r9, qword [rbp - 0x80]
add edx, eax
lea eax, [r14 + 1]
xor eax, r14d
xor r14d, r14d
mov dword [rbp + r12 - 0x3c], edx
mov ecx, dword [rbp + rdi*8 - 0x48]
mov dword [rbp + r12 - 0x34], eax
mov eax, r14d
add ecx, r8d
cmp edx, dword [rbp + 0x910]
mov r8, qword [rsp + 0x30]
setb al
mov dword [rbp + r12 - 0x38], ecx
mov ecx, ebx
shl rax, cl
mov qword [rsp + 0x68], r9
lea edx, [r14 + 1]
or r8, rax
mov qword [rsp + 0x30], r8
jmp 0x14001417f
mov r9, qword [rsp + 0x78]
movsxd rcx, edi
xor eax, eax
shl rcx, 5
movzx edi, byte [rbp + rcx - 0x50]
shr edi, 1
cmp dword [rbp + rcx - 0x44], eax
setne al
sub edi, eax
and edi, 0x3f
je 0x140013a13
mov r9d, edi
sub r9d, ebx
jmp 0x1400134f2
mov rax, qword [rsp + 0x50]
lea rdi, [r8 + r8]
movzx ecx, word [rdi + rax]
cmp ecx, 0xfff
jge 0x140013a69
inc ecx
call fcn.140012e00
movsxd r8, ebx
movsxd rdx, eax
lea rax, [0x140000000]
movzx ecx, byte [r8 + rax + 0xd87b0]
movzx eax, byte [rdx + rax + 0xd3550]
add rcx, qword [rsp + 0x48]
shl rcx, 5
add rcx, rdx
mov edx, dword [r13 + rcx*8 + 0xda2c]
add edx, eax
sub edx, dword [rsp + 0x20]
jmp 0x140013a8d
lea rax, [0x140000000]
movzx eax, byte [r8 + rax + 0xd87b0]
movsxd r8, ebx
add rax, qword [rsp + 0x48]
shl rax, 8
mov edx, dword [rax + r13 + 0xda2c]
mov r10d, dword [r13 + 0xda24]
mov ecx, edx
imul ecx, r10d
add ecx, dword [rsp + 0x38]
cmp ecx, r12d
jbe 0x140013aba
cmp r15d, 8
jg 0x14001388a
lea eax, [r11 + rbx]
cmp eax, 0x3f
jne 0x14001388a
xor r12d, r12d
mov dword [rbp + 0x910], ecx
mov esi, edx
mov eax, r12d
mov ecx, r12d
mov r15d, r12d
mov dword [rsp + 0x24], eax
mov dword [rsp + 0x28], ecx
mov r11d, r12d
jmp 0x140013892
cmp ebx, dword [rbp + 0x940]
mov rax, qword [rsp + 0x50]
mov r12d, dword [r13 + 0xda24]
movzx eax, word [rax + r9*2]
mov rdx, qword [rbp + 0x920]
mov r11d, 0
movzx r10d, word [rdx + r9*2]
cmovl r12d, r11d
lea edi, [r8 + rcx]
xor edi, ecx
mov dword [rbp + r9*4 + 0x7b0], r11d
test eax, eax
jle 0x140013bca
cmp eax, 4
jge 0x140013b2a
dec eax
jmp 0x140013b8f
test eax, eax
mov ecx, eax
mov edx, r11d
setne dl
shr ecx, 1
or ecx, eax
mov eax, ecx
shr eax, 2
or ecx, eax
mov eax, ecx
shr eax, 4
or ecx, eax
mov eax, ecx
shr eax, 8
or ecx, eax
mov eax, ecx
shr eax, 0x10
or eax, ecx
shr eax, 1
inc eax
imul ecx, eax, 0x77cb531
lea rax, [0x140000000]
shr rcx, 0x1b
movzx eax, byte [rcx + rax + 0xd87f0]
mov ecx, r11d
add eax, 0xfffffffd
add edx, eax
mov eax, 3
cmp edx, 3
setg cl
sub eax, edx
neg ecx
and eax, ecx
add eax, 3
add eax, edx
mov rsi, qword [rsp + 0x48]
movsxd rcx, eax
lea rdx, [0x140000000]
movzx r8d, byte [rcx + rdx + 0xd3550]
movzx eax, byte [r9 + rdx + 0xd87b0]
add rax, rsi
shl rax, 5
add rax, rcx
mov ecx, dword [rbp + 0x930]
add r8d, dword [r13 + rax*8 + 0xda2c]
jmp 0x140013bd9
mov rsi, qword [rsp + 0x48]
mov r8d, r11d
lea rdx, [0x140000000]
movzx edx, byte [r9 + rdx + 0xd87b0]
add rdx, rsi
shl rdx, 5
cmp r14d, 2
jg 0x140013d04
lea r11d, [r10 + r10]
lea rsi, [0x140000000]
sub r11d, edi
mov edi, ecx
neg edi
lea r15d, [rdi + 0xb]
add edi, 9
movsxd rax, r15d
lea rcx, [rax + rdx]
movzx eax, byte [rax + rsi + 0xd3550]
mov esi, dword [r13 + rcx*8 + 0xda2c]
mov ecx, r12d
add esi, eax
mov eax, r11d
add esi, r8d
imul eax, r11d
sub r11d, r10d
lea r10, [0x140000000]
imul ecx, esi
add eax, ecx
movsxd rcx, edi
add rdx, rcx
movzx ecx, byte [rcx + r10 + 0xd3550]
imul r11d, r11d
mov edx, dword [r13 + rdx*8 + 0xda2c]
add edx, ecx
add edx, r8d
mov ecx, edx
imul ecx, r12d
add r11d, ecx
cmp r11d, eax
ja 0x140013c7a
mov r15d, edi
mov esi, edx
mov eax, r11d
dec r14d
xor ecx, ecx
mov r11d, ecx
mov r8d, dword [rbp + 0x930]
mov rdi, qword [rsp + 0x30]
shl r9, 5
lea edx, [rbx + 1]
and edx, 0x3f
mov byte [rbp + r9 - 0x3f], r15b
mov word [rbp + r9 - 0x3e], r11w
mov ecx, edx
movsxd rdx, edx
sar rdi, cl
add cl, cl
and edi, 1
add cl, dil
mov byte [rbp + r9 - 0x40], cl
movsxd rcx, edi
lea rdi, [rcx + rdx*2]
add rdi, rdi
mov edx, dword [rbp + rdi*8 - 0x4c]
add edx, eax
lea eax, [r8 + r14]
xor eax, r8d
mov r8, qword [rsp + 0x30]
mov dword [rbp + r9 - 0x3c], edx
mov ecx, dword [rbp + rdi*8 - 0x48]
mov dword [rbp + r9 - 0x34], eax
mov edx, 1
add ecx, esi
mov eax, edx
mov dword [rbp + r9 - 0x38], ecx
mov ecx, ebx
shl rax, cl
or qword [rsp + 0x68], rax
or r8, rax
mov qword [rsp + 0x30], r8
jmp 0x14001417c
cmp r14d, 3
jg 0x140013d9f
mov esi, dword [r13 + rdx*8 + 0xda94]
mov r11d, ecx
lea eax, [r10 + r10*2]
sub eax, edi
inc esi
mov ecx, r12d
add esi, r8d
mov edi, eax
neg r11d
mov r15d, ntohs
imul ecx, esi
imul eax, edi
sub edi, r10d
add eax, ecx
lea ecx, [r11 + 0xb]
lea r10, [0x140000000]
imul edi, edi
mov dword [rbp + 0x910], ecx
movsxd rcx, ecx
add rdx, rcx
movzx ecx, byte [rcx + r10 + 0xd3550]
mov r10d, dword [r13 + rdx*8 + 0xda2c]
add r10d, ecx
add r10d, r8d
mov r8d, dword [rbp + 0x930]
mov ecx, r10d
imul ecx, r12d
add edi, ecx
cmp edi, eax
ja 0x140013c86
mov r15d, dword [rbp + 0x910]
xor eax, eax
mov esi, r10d
mov r11d, eax
mov eax, edi
dec r14d
jmp 0x140013c86
mov eax, r10d
imul eax, r14d
sub eax, edi
cmp r14d, 6
jg 0x140013e58
mov r11d, ecx
mov dword [rbp + 0x910], eax
lea r15d, [r14 + 0xa]
movsxd rax, r15d
lea rdi, [0x140000000]
neg r11d
lea rcx, [rax + rdx]
movzx eax, byte [rax + rdi + 0xd3550]
mov edi, dword [rbp + 0x910]
mov esi, dword [r13 + rcx*8 + 0xda2c]
mov ecx, r12d
add esi, eax
mov eax, edi
add esi, r8d
imul eax, edi
sub edi, r10d
lea r10, [0x140000000]
imul ecx, esi
add eax, ecx
lea ecx, [r15 - 1]
imul edi, edi
mov dword [rbp + 0x910], ecx
movsxd rcx, ecx
add rdx, rcx
movzx ecx, byte [rcx + r10 + 0xd3550]
mov r10d, dword [r13 + rdx*8 + 0xda2c]
add r10d, ecx
add r10d, r8d
mov r8d, dword [rbp + 0x930]
mov ecx, r10d
imul ecx, r12d
add edi, ecx
cmp edi, eax
ja 0x140013c86
mov r15d, dword [rbp + 0x910]
mov esi, r10d
mov eax, edi
dec r14d
jmp 0x140013c86
imul eax, eax
mov r11d, r14d
cmp r14d, 8
jg 0x140013ed7
mov esi, dword [r13 + rdx*8 + 0xdab4]
mov edx, dword [r13 + rdx*8 + 0xdaac]
add ecx, ecx
sub r11d, ecx
lea r10d, [r10 + r10*2]
add edx, r8d
add r10d, r10d
add esi, 2
mov ecx, r12d
add esi, r8d
mov r8d, dword [rbp + 0x930]
sub r10d, edi
sub r11d, 7
mov r15d, send
imul ecx, esi
imul r10d, r10d
add eax, ecx
lea ecx, [rdx + 1]
imul ecx, r12d
add r10d, ecx
cmp r10d, eax
ja 0x140013c86
mov r15d, reloc.WS2_32.dll_recv
mov r11d, r8d
lea esi, [rdx + 1]
lea r14d, [r15 - 0xa]
neg r11d
mov eax, r10d
jmp 0x140013c86
cmp r14d, 0xc
jg 0x140013f61
mov esi, dword [r13 + rdx*8 + 0xdabc]
mov edx, dword [r13 + rdx*8 + 0xdab4]
lea ecx, [rcx*4]
sub r11d, ecx
add edx, r8d
lea r10d, [r10*8]
sub r10d, edi
add esi, 3
mov ecx, r12d
add esi, r8d
mov r8d, dword [rbp + 0x930]
sub r11d, 9
imul r10d, r10d
mov r15d, socket
imul ecx, esi
add eax, ecx
lea ecx, [rdx + 2]
imul ecx, r12d
add r10d, ecx
cmp r10d, eax
ja 0x140013c86
lea eax, [r8 + r8]
mov r15d, send
mov r11d, 1
sub r11d, eax
mov eax, r10d
lea esi, [rdx + 2]
lea r14d, [r15 - 9]
jmp 0x140013c86
cmp r14d, 0x14
jg 0x140013fef
mov esi, dword [r13 + rdx*8 + 0xdac4]
mov edx, dword [r13 + rdx*8 + 0xdabc]
lea ecx, [rcx*8]
sub r11d, ecx
lea r10d, [r10 + r10*2]
add edx, r8d
shl r10d, 2
add esi, 4
mov ecx, r12d
add esi, r8d
mov r8d, dword [rbp + 0x930]
sub r10d, edi
sub r11d, 0xd
mov r15d, reloc.WS2_32.dll_send
imul ecx, esi
imul r10d, r10d
add eax, ecx
lea ecx, [rdx + 3]
imul ecx, r12d
add r10d, ecx
cmp r10d, eax
ja 0x140013c86
lea eax, [r8*4]
mov r15d, socket
mov r11d, 3
sub r11d, eax
mov eax, r10d
lea esi, [rdx + 3]
lea r14d, [r15 - 6]
jmp 0x140013c86
cmp r14d, 0x24
jg 0x140014079
mov esi, dword [r13 + rdx*8 + 0xdacc]
mov edx, dword [r13 + rdx*8 + 0xdac4]
shl ecx, 4
sub r11d, ecx
lea r10d, [r10 + r10*4]
add edx, r8d
shl r10d, 2
add esi, 5
mov ecx, r12d
add esi, r8d
mov r8d, dword [rbp + 0x930]
sub r10d, edi
sub r11d, 0x15
mov r15d, socket
imul ecx, esi
imul r10d, r10d
add eax, ecx
lea ecx, [rdx + 4]
imul ecx, r12d
add r10d, ecx
cmp r10d, eax
ja 0x140013c86
lea eax, [r8*8]
mov r15d, reloc.WS2_32.dll_send
mov r11d, 7
sub r11d, eax
mov eax, r10d
lea esi, [rdx + 4]
lea r14d, [r15 + 1]
jmp 0x140013c86
cmp r14d, 0x44
jg 0x1400140fd
mov esi, dword [r13 + rdx*8 + 0xdad4]
mov edx, dword [r13 + rdx*8 + 0xdacc]
shl ecx, 5
sub r11d, ecx
lea r10d, [r10 + r10*8]
add edx, r8d
shl r10d, 2
add esi, 6
mov ecx, r12d
add esi, r8d
mov r8d, dword [rbp + 0x930]
sub r10d, edi
sub r11d, 0x25
mov r15d, socket
imul ecx, esi
imul r10d, r10d
add eax, ecx
lea ecx, [rdx + 5]
imul ecx, r12d
add r10d, ecx
cmp r10d, eax
jae 0x140013c86
mov eax, r8d
mov r15d, socket
mov r11d, reloc.WS2_32.dll_ntohs
shl eax, 4
lea esi, [rdx + 5]
lea r14d, [r15 + 0x10]
sub r11d, eax
mov eax, r10d
jmp 0x140013c86
mov esi, dword [r13 + rdx*8 + 0xdadc]
mov edx, dword [r13 + rdx*8 + 0xdad4]
shl ecx, 9
imul r10d, r10d, 0x44
sub r11d, ecx
sub r10d, edi
add esi, 0xa
add esi, r8d
add edx, r8d
mov ecx, r12d
imul r10d, r10d
sub r11d, 0x45
mov r15d, socket
imul ecx, esi
add eax, ecx
lea ecx, [rdx + 6]
imul ecx, r12d
add r10d, ecx
cmp r10d, eax
jae 0x140013c7f
mov r8d, dword [rbp + 0x930]
mov r15d, socket
mov r11d, 0x1f
mov eax, r8d
lea esi, [rdx + 6]
lea r14d, [r15 + 0x2f]
shl eax, 5
sub r11d, eax
mov eax, r10d
jmp 0x140013c86
mov r8, qword [rsp + 0x30]
xor r14d, r14d
mov r12, qword [rsp + 0x48]
mov r10, qword [rbp + 0x918]
mov edi, ebx
dec ebx
test ebx, ebx
jg 0x140013370
mov r11d, dword [rbp + 0x908]
mov r9, qword [rsp + 0x50]
mov rsi, qword [rbp + 0x938]
sar r8, 1
movsx rax, r14w
mov rsi, qword [rsi]
and r8d, 1
mov rdi, r10
mov ecx, reloc.OLEAUT32.dll_VarI4FromDisp
mov qword [rsp + 0x30], r8
rep stosw word [rdi], ax
mov rax, qword [r13 + 0x88]
mov qword [rbp + 0x900], rax
movsxd rax, r8d
add rax, rax
mov eax, dword [rbp + rax*8 - 0x28]
mov dword [rbp + 0x930], eax
movsxd rax, r11d
shl rax, 6
mov qword [rbp + 0x910], rax
nop dword [rax]
nop dword [rax + rax]
mov byte [rsi], r11b
mov byte [rsi + 1], dl
movsxd rdi, edx
lea rcx, [rax + rdi]
movsxd rbx, r8d
add rsi, 0x10
movzx eax, word [r13 + rcx*2 + 0xd7c0]
lea r14, [rcx*8]
mov word [rsi - 0xe], ax
mov rax, qword [r14 + r13 + 0xd1c0]
mov qword [rsi - 8], rax
lea rax, [rdi + rdi]
add rbx, rax
lea r15, [rax + r9]
movzx r9d, word [rax + r9]
add rbx, rbx
movzx r12d, byte [rbp + rbx*8 - 0x4f]
cmp r12b, 7
jl 0x14001432b
test r9d, r9d
jle 0x14001427f
mov r8d, edx
mov rcx, r13
mov edx, r11d
call fcn.140013120
mov r10, qword [rbp + 0x918]
mov r11d, dword [rbp + 0x908]
xor eax, eax
mov word [r15], ax
mov rdx, qword [r14 + r13 + 0xd1c0]
movzx r9d, byte [rbp + rbx*8 - 0x50]
movsxd r8, r11d
lea rax, [rdx + 1]
mov qword [r14 + r13 + 0xd1c0], rax
mov rax, qword [r13 + r8*8 + 0xd190]
mov rcx, qword [rax + rdi*8]
mov byte [rdx + rcx], r12b
mov rax, qword [r13 + r8*8 + 0xd1a8]
mov r8d, r9d
mov rcx, qword [rax + rdi*8]
movzx eax, word [rbp + rbx*8 - 0x4e]
sar r8d, 1
mov word [rcx + rdx*2], ax
mov rax, qword [rbp + 0x920]
lea ecx, [r8 - 1]
and ecx, 0x3f
and r9d, 1
movsxd rdx, ecx
movzx edi, word [rax + rdx*2]
mov rax, qword [rbp + 0x900]
movzx ecx, byte [rdx + rax]
mov rax, qword [rbp + 0x910]
mov edx, r8d
imul di, word [rbp + rbx*8 - 0x44]
mov r8d, r9d
mov r9, qword [rsp + 0x50]
mov qword [rbp - 0x60], rdx
mov word [r10 + rcx*2], di
mov qword [rsp + 0x30], r8
test edx, edx
jne 0x140014200
mov rax, qword [rbp + 0x938]
mov qword [rax], rsi
mov eax, dword [rbp + 0x930]
jmp 0x140014382
inc r9d
cmp r9d, 0xfff
jl 0x140014353
mov r8d, edx
mov rcx, r13
mov edx, r11d
call fcn.140013120
mov rdx, qword [rbp - 0x60]
mov r8, qword [rsp + 0x30]
xor eax, eax
mov r9d, eax
mov rcx, qword [rsp + 0x50]
movsxd rax, edx
mov edx, dword [rbp + 0x930]
add rax, rax
mov word [rax + rcx], r9w
movsxd rcx, r8d
add rcx, rax
mov rax, qword [rbp + 0x938]
add rcx, rcx
mov qword [rax], rsi
sub edx, dword [rbp + rcx*8 - 0x48]
mov eax, edx
add rsp, 0x9b8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret