Function at 0x1401808b0
Capabilities:
Terminate process

Disassembly:
mov word [rsp + 0x20], r9w
mov word [rsp + 0x18], r8w
mov dword [rsp + 0x10], edx
mov qword [rsp + 8], rcx
push rdi
mov eax, 0x1170
call fcn.14037c5f0
sub rsp, rax
lea rdi, [rsp + 0x40]
mov ecx, 0x44c
mov eax, 0xcccccccc
rep stosd dword [rdi], eax
mov rcx, qword [rsp + 0x1180]
mov rax, qword [0x140575740]
xor rax, rsp
mov qword [rsp + 0x1160], rax
movsxd rax, dword [rsp + 0x1188]
mov rcx, qword [rsp + 0x1180]
mov rax, qword [rcx + rax*8 + 0x1f0]
mov qword [rsp + 0x40], rax
movsxd rax, dword [rsp + 0x1188]
mov rcx, qword [rsp + 0x1180]
mov rax, qword [rcx + rax*8 + 0x1f0]
add rax, 0xc4
mov rcx, rax
call fcn.140168da0
cmp dword [rsp + 0x11a8], 0x32
jne 0x140181246
movzx eax, word [rsp + 0x1190]
movsxd rcx, dword [rsp + 0x1188]
mov rdx, qword [rsp + 0x1180]
mov rcx, qword [rdx + rcx*8 + 0x1f0]
mov edx, eax
mov rcx, qword [rcx + 0xc8]
call fcn.140141340
mov qword [rsp + 0x58], rax
mov eax, 1
imul rax, rax, 0
mov rcx, qword [rsp + 0x11b0]
movzx eax, byte [rcx + rax]
mov byte [rsp + 0x10f0], al
cmp byte [rsp + 0x10f0], 2
je 0x1401809bb
cmp byte [rsp + 0x10f0], 3
je 0x140180b38
jmp 0x140181241
movzx eax, word [rsp + 0x58]
and eax, 0x4000
cmp eax, 0x4000
jne 0x140180b33
movzx eax, word [rsp + 0x58]
btc eax, 0xe
mov word [rsp + 0x58], ax
movzx eax, word [rsp + 0x58]
bts eax, 0xf
mov word [rsp + 0x58], ax
movzx eax, word [rsp + 0x1190]
movsxd rcx, dword [rsp + 0x1188]
mov rdx, qword [rsp + 0x1180]
mov rcx, qword [rdx + rcx*8 + 0x1f0]
mov r8, qword [rsp + 0x58]
mov edx, eax
mov rcx, qword [rcx + 0xc8]
call fcn.140141090
mov rax, qword [rsp + 0x1180]
cmp qword [rax + 0x20], 0
je 0x140180a5a
mov eax, 4
imul rax, rax, 2
mov rcx, qword [rsp + 0x1180]
add rax, qword [rcx + 0x20]
mov ecx, 8
imul rcx, rcx, 0
mov rax, qword [rax + rcx]
mov qword [rsp + 0x10f8], rax
jmp 0x140180a66
mov qword [rsp + 0x10f8], 0
movzx eax, word [rsp + 0x1190]
mov dword [rsp + 0x28], eax
mov eax, dword [rsp + 0x1188]
mov dword [rsp + 0x20], eax
lea r9, str.Data_Channel_ACK_on_session:__u_for_StreamId:__u
mov r8d, 2
mov edx, 8
mov rcx, qword [rsp + 0x10f8]
call fcn.1401589b0
movsxd rax, dword [rsp + 0x1188]
mov rcx, qword [rsp + 0x1180]
mov rax, qword [rcx + rax*8 + 0x1f0]
add rax, 0xc4
mov rcx, rax
call fcn.140168d80
mov rax, qword [rsp + 0x1180]
cmp qword [rax + 0x270], 0
je 0x140180b0c
movsxd rax, dword [rsp + 0x1188]
movzx r8d, word [rsp + 0x1190]
mov rcx, qword [rsp + 0x1180]
mov rdx, qword [rcx + rax*8 + 0x1f0]
mov rcx, qword [rsp + 0x1180]
mov rax, qword [rsp + 0x1180]
call qword [rax + 0x270]
nop
movsxd rax, dword [rsp + 0x1188]
mov rcx, qword [rsp + 0x1180]
mov rax, qword [rcx + rax*8 + 0x1f0]
add rax, 0xc4
mov rcx, rax
call fcn.140168da0
nop
jmp 0x140181241
mov byte [rsp + 0x74], 2
mov rax, qword [rsp + 0x11b0]
add rax, 0xc
mov qword [rsp + 0x88], rax
mov eax, 2
imul rax, rax, 4
mov rcx, qword [rsp + 0x11b0]
movzx ecx, word [rcx + rax]
call qword [sym.imp.WS2_32.dll_ntohs]
movzx eax, ax
mov dword [rsp + 0x90], eax
mov dword [rsp + 0x94], 1
movsxd rax, dword [rsp + 0x90]
mov rcx, qword [rsp + 0x88]
mov byte [rcx + rax], 0
mov rax, qword [rsp + 0x1180]
cmp qword [rax + 0x20], 0
je 0x140180bd0
mov eax, 4
imul rax, rax, 2
mov rcx, qword [rsp + 0x1180]
add rax, qword [rcx + 0x20]
mov ecx, 8
imul rcx, rcx, 0
mov rax, qword [rax + rcx]
mov qword [rsp + 0x1100], rax
jmp 0x140180bdc
mov qword [rsp + 0x1100], 0
movzx eax, word [rsp + 0x1190]
mov rcx, qword [rsp + 0x88]
mov qword [rsp + 0x30], rcx
mov dword [rsp + 0x28], eax
mov eax, dword [rsp + 0x1188]
mov dword [rsp + 0x20], eax
lea r9, str.Data_Channel_Open_request_on_session:__u_for_StreamId:__u___s_
mov r8d, 2
mov edx, 8
mov rcx, qword [rsp + 0x1100]
call fcn.1401589b0
movzx eax, word [rsp + 0x58]
and eax, 0x8000
cmp eax, 0x8000
jne 0x140180c9c
mov rax, qword [rsp + 0x1180]
cmp qword [rax + 0x20], 0
je 0x140180c6b
mov eax, 4
imul rax, rax, 2
mov rcx, qword [rsp + 0x1180]
add rax, qword [rcx + 0x20]
mov ecx, 8
imul rcx, rcx, 0
mov rax, qword [rax + rcx]
mov qword [rsp + 0x1108], rax
jmp 0x140180c77
mov qword [rsp + 0x1108], 0
lea r9, str....This_stream_ID_already_exists_
mov r8d, 2
mov edx, 8
mov rcx, qword [rsp + 0x1108]
call fcn.1401589b0
nop
jmp 0x140181241
mov qword [rsp + 0x58], 0
mov qword [rsp + 0xa8], 0
movzx eax, word [rsp + 0x58]
bts eax, 0xf
mov word [rsp + 0x58], ax
mov eax, 1
imul rax, rax, 1
mov rcx, qword [rsp + 0x11b0]
movzx eax, byte [rcx + rax]
mov dword [rsp + 0x1110], eax
cmp dword [rsp + 0x1110], 0x82
ja case.0x140180d0d.3
movsxd rax, dword [rsp + 0x1110]
lea rcx, [0x140000000]
movzx eax, byte [rcx + rax + 0x181914]
mov eax, dword [rcx + rax*4 + 0x1818f8]
add rax, rcx
jmp rax
mov rax, qword [rsp + 0x1180]
cmp qword [rax + 0x20], 0
je 0x140180d4a
mov eax, 4
imul rax, rax, 2
mov rcx, qword [rsp + 0x1180]
add rax, qword [rcx + 0x20]
mov ecx, 8
imul rcx, rcx, 0
mov rax, qword [rax + rcx]
mov qword [rsp + 0x1118], rax
jmp 0x140180d56
mov qword [rsp + 0x1118], 0
lea r9, str....Reliable
mov r8d, 2
mov edx, 8
mov rcx, qword [rsp + 0x1118]
call fcn.1401589b0
nop
jmp case.0x140180d0d.3
mov rax, qword [rsp + 0x1180]
cmp qword [rax + 0x20], 0
je 0x140180db6
mov eax, 4
imul rax, rax, 2
mov rcx, qword [rsp + 0x1180]
add rax, qword [rcx + 0x20]
mov ecx, 8
imul rcx, rcx, 0
mov rax, qword [rax + rcx]
mov qword [rsp + 0x1120], rax
jmp 0x140180dc2
mov qword [rsp + 0x1120], 0
lea r9, str....Reliable___UNORDERED
mov r8d, 2
mov edx, 8
mov rcx, qword [rsp + 0x1120]
call fcn.1401589b0
movzx eax, word [rsp + 0x5a]
bts eax, 7
mov word [rsp + 0x5a], ax
jmp case.0x140180d0d.3
mov rax, qword [rsp + 0x1180]
cmp qword [rax + 0x20], 0
je 0x140180e2f
mov eax, 4
imul rax, rax, 2
mov rcx, qword [rsp + 0x1180]
add rax, qword [rcx + 0x20]
mov ecx, 8
imul rcx, rcx, 0
mov rax, qword [rax + rcx]
mov qword [rsp + 0x1128], rax
jmp 0x140180e3b
mov qword [rsp + 0x1128], 0
lea r9, str....Partial_Reliable___REXMIT
mov r8d, 2
mov edx, 8
mov rcx, qword [rsp + 0x1128]
call fcn.1401589b0
movzx eax, word [rsp + 0x5a]
or eax, 1
mov word [rsp + 0x5a], ax
mov eax, 4
imul rax, rax, 0
mov rcx, qword [rsp + 0x11b0]
mov ecx, dword [rcx + rax + 4]
call qword [sym.imp.WS2_32.dll_ntohl]
mov word [rsp + 0xaa], ax
jmp case.0x140180d0d.3
mov rax, qword [rsp + 0x1180]
cmp qword [rax + 0x20], 0
je 0x140180eca
mov eax, 4
imul rax, rax, 2
mov rcx, qword [rsp + 0x1180]
add rax, qword [rcx + 0x20]
mov ecx, 8
imul rcx, rcx, 0
mov rax, qword [rax + rcx]
mov qword [rsp + 0x1130], rax
jmp 0x140180ed6
mov qword [rsp + 0x1130], 0
lea r9, str....Partial_Reliable___UNORDERED__REXMIT
mov r8d, 2
mov edx, 8
mov rcx, qword [rsp + 0x1130]
call fcn.1401589b0
movzx eax, word [rsp + 0x5a]
bts eax, 7
mov word [rsp + 0x5a], ax
movzx eax, word [rsp + 0x5a]
or eax, 1
mov word [rsp + 0x5a], ax
mov eax, 4
imul rax, rax, 0
mov rcx, qword [rsp + 0x11b0]
mov ecx, dword [rcx + rax + 4]
call qword [sym.imp.WS2_32.dll_ntohl]
mov word [rsp + 0xaa], ax
jmp case.0x140180d0d.3
mov rax, qword [rsp + 0x1180]
cmp qword [rax + 0x20], 0
je 0x140180f73
mov eax, 4
imul rax, rax, 2
mov rcx, qword [rsp + 0x1180]
add rax, qword [rcx + 0x20]
mov ecx, 8
imul rcx, rcx, 0
mov rax, qword [rax + rcx]
mov qword [rsp + 0x1138], rax
jmp 0x140180f7f
mov qword [rsp + 0x1138], 0
lea r9, str....Partial_Reliable___TIMED
mov r8d, 2
mov edx, 8
mov rcx, qword [rsp + 0x1138]
call fcn.1401589b0
movzx eax, word [rsp + 0x5a]
or eax, 2
mov word [rsp + 0x5a], ax
mov eax, 4
imul rax, rax, 0
mov rcx, qword [rsp + 0x11b0]
mov ecx, dword [rcx + rax + 4]
call qword [sym.imp.WS2_32.dll_ntohl]
mov word [rsp + 0xaa], ax
jmp case.0x140180d0d.3
mov rax, qword [rsp + 0x1180]
cmp qword [rax + 0x20], 0
je 0x14018100e
mov eax, 4
imul rax, rax, 2
mov rcx, qword [rsp + 0x1180]
add rax, qword [rcx + 0x20]
mov ecx, 8
imul rcx, rcx, 0
mov rax, qword [rax + rcx]
mov qword [rsp + 0x1140], rax
jmp 0x14018101a
mov qword [rsp + 0x1140], 0
lea r9, str....Partial_Reliable___TIMED__UNORDERED
mov r8d, 2
mov edx, 8
mov rcx, qword [rsp + 0x1140]
call fcn.1401589b0
movzx eax, word [rsp + 0x5a]
or eax, 2
mov word [rsp + 0x5a], ax
movzx eax, word [rsp + 0x5a]
bts eax, 7
mov word [rsp + 0x5a], ax
mov eax, 4
imul rax, rax, 0
mov rcx, qword [rsp + 0x11b0]
mov ecx, dword [rcx + rax + 4]
call qword [sym.imp.WS2_32.dll_ntohl]
mov word [rsp + 0xaa], ax
movzx eax, word [rsp + 0x1190]
movsxd rcx, dword [rsp + 0x1188]
mov rdx, qword [rsp + 0x1180]
mov rcx, qword [rdx + rcx*8 + 0x1f0]
mov r8, qword [rsp + 0x58]
mov edx, eax
mov rcx, qword [rcx + 0xc8]
call fcn.140141090
movzx eax, word [rsp + 0x1190]
movsxd rcx, dword [rsp + 0x1188]
mov rdx, qword [rsp + 0x1180]
mov rcx, qword [rdx + rcx*8 + 0x1f0]
mov r8, qword [rsp + 0xa8]
mov edx, eax
mov rcx, qword [rcx + 0xd0]
call fcn.140141090
cmp dword [rsp + 0x94], 0
jne 0x14018118a
mov rax, qword [rsp + 0x1180]
cmp qword [rax + 0x20], 0
je 0x140181129
mov eax, 4
imul rax, rax, 2
mov rcx, qword [rsp + 0x1180]
add rax, qword [rcx + 0x20]
mov ecx, 8
imul rcx, rcx, 0
mov rax, qword [rax + rcx]
mov qword [rsp + 0x1148], rax
jmp 0x140181135
mov qword [rsp + 0x1148], 0
lea r9, str....Responding_with_DataChannel_ACK
mov r8d, 2
mov edx, 8
mov rcx, qword [rsp + 0x1148]
call fcn.1401589b0
mov dword [rsp + 0x28], 1
lea rax, [rsp + 0x74]
mov qword [rsp + 0x20], rax
mov r9d, 0x32
movzx r8d, word [rsp + 0x1190]
mov edx, dword [rsp + 0x1188]
mov rcx, qword [rsp + 0x1180]
call fcn.140180570
nop
movsxd rax, dword [rsp + 0x1188]
mov rcx, qword [rsp + 0x1180]
mov rax, qword [rcx + rax*8 + 0x1f0]
add rax, 0xc4
mov rcx, rax
call fcn.140168d80
mov rax, qword [rsp + 0x1180]
cmp qword [rax + 0x260], 0
je 0x14018121a
mov rax, qword [rsp + 0x11b0]
add rax, 0xc
movsxd rcx, dword [rsp + 0x1188]
mov edx, dword [rsp + 0x90]
mov dword [rsp + 0x20], edx
mov r9, rax
movzx r8d, word [rsp + 0x1190]
mov rax, qword [rsp + 0x1180]
mov rdx, qword [rax + rcx*8 + 0x1f0]
mov rcx, qword [rsp + 0x1180]
mov rax, qword [rsp + 0x1180]
call qword [rax + 0x260]
mov dword [rsp + 0x94], eax
movsxd rax, dword [rsp + 0x1188]
mov rcx, qword [rsp + 0x1180]
mov rax, qword [rcx + rax*8 + 0x1f0]
add rax, 0xc4
mov rcx, rax
call fcn.140168da0
nop
jmp 0x140181743
movzx eax, byte [rsp + 0x11a0]
and eax, 3
cmp eax, 3
jne 0x1401813a0
mov rax, qword [rsp + 0x1180]
cmp qword [rax + 0x180], 0
je 0x14018139b
movsxd rax, dword [rsp + 0x1188]
mov rcx, qword [rsp + 0x1180]
mov rax, qword [rcx + rax*8 + 0x1f0]
cmp dword [rax + 0xc0], 2
jne 0x14018139b
movsxd rax, dword [rsp + 0x1188]
mov rcx, qword [rsp + 0x1180]
mov rax, qword [rcx + rax*8 + 0x1f0]
add rax, 0xc4
mov rcx, rax
call fcn.140168d80
movsxd rax, dword [rsp + 0x1188]
mov rcx, qword [rsp + 0x1180]
mov rax, qword [rcx + rax*8 + 0x1f0]
add rax, 0x78
movsxd rcx, dword [rsp + 0x1188]
mov qword [rsp + 0x30], rax
mov eax, dword [rsp + 0x11b8]
mov dword [rsp + 0x28], eax
mov rax, qword [rsp + 0x11b0]
mov qword [rsp + 0x20], rax
mov r9d, dword [rsp + 0x11a8]
movzx r8d, word [rsp + 0x1190]
mov rax, qword [rsp + 0x1180]
mov rdx, qword [rax + rcx*8 + 0x1f0]
mov rcx, qword [rsp + 0x1180]
mov rax, qword [rsp + 0x1180]
call qword [rax + 0x180]
movsxd rax, dword [rsp + 0x1188]
mov rcx, qword [rsp + 0x1180]
cmp qword [rcx + rax*8 + 0x1f0], 0
je 0x14018136f
movsxd rax, dword [rsp + 0x1188]
mov rcx, qword [rsp + 0x1180]
mov rax, qword [rcx + rax*8 + 0x1f0]
cmp dword [rax + 0xc0], 2
je 0x140181374
jmp 0x1401818cd
movsxd rax, dword [rsp + 0x1188]
mov rcx, qword [rsp + 0x1180]
mov rax, qword [rcx + rax*8 + 0x1f0]
add rax, 0xc4
mov rcx, rax
call fcn.140168da0
nop
jmp 0x140181743
movzx eax, word [rsp + 0x1190]
movsxd rcx, dword [rsp + 0x1188]
mov rdx, qword [rsp + 0x1180]
mov rcx, qword [rdx + rcx*8 + 0x1f0]
mov edx, eax
mov rcx, qword [rcx + 0xe0]
call fcn.140141340
mov qword [rsp + 0xb8], rax
cmp qword [rsp + 0xb8], 0
jne 0x1401813fd
movzx eax, byte [rsp + 0x11a0]
and eax, 2
test eax, eax
je 0x1401813fd
call fcn.14016e790
mov qword [rsp + 0xb8], rax
cmp qword [rsp + 0xb8], 0
je 0x140181743
movzx eax, byte [rsp + 0x11a0]
and eax, 2
test eax, eax
je 0x14018142a
mov rax, qword [rsp + 0xb8]
mov dword [rax + 8], 0
mov rax, qword [rsp + 0xb8]
cmp dword [rax + 8], 0
jl 0x140181743
mov rax, qword [rsp + 0xb8]
mov eax, dword [rax + 8]
add eax, dword [rsp + 0x11b8]
mov rcx, qword [rsp + 0xb8]
cmp eax, dword [rcx + 0xc]
jle 0x140181526
mov rax, qword [rsp + 0xb8]
mov eax, dword [rax + 8]
add eax, dword [rsp + 0x11b8]
cdqe
mov dword [rsp + 0x20], 0xe36
lea r9, [0x140566c80]
mov r8d, 1
mov rdx, rax
mov rax, qword [rsp + 0xb8]
mov rcx, qword [rax]
call fcn.1403bab60
mov qword [rsp + 0x1150], rax
mov rax, qword [rsp + 0xb8]
mov rcx, qword [rsp + 0x1150]
mov qword [rax], rcx
cmp qword [rsp + 0x1150], 0
jne 0x140181509
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rsp + 0x20], eax
mov r9d, 0xfe
mov r8d, 0xe36
lea rdx, [0x140566cd0]
xor ecx, ecx
call fcn.14014da80
mov r8d, 0xe36
lea rdx, [0x140566d20]
lea rcx, [0x140566d68]
call fcn.140015e70
mov ecx, 0xfe
call fcn.14038e600
nop
mov rax, qword [rsp + 0xb8]
mov eax, dword [rax + 8]
add eax, dword [rsp + 0x11b8]
mov rcx, qword [rsp + 0xb8]
mov dword [rcx + 0xc], eax
movsxd rax, dword [rsp + 0x11b8]
mov rcx, qword [rsp + 0xb8]
mov rdx, qword [rsp + 0xb8]
mov edx, dword [rdx + 8]
mov ecx, dword [rcx + 0xc]
sub ecx, edx
movsxd rcx, ecx
mov rdx, qword [rsp + 0xb8]
movsxd rdx, dword [rdx + 8]
mov r8, qword [rsp + 0xb8]
add rdx, qword [r8]
mov qword [rsp + 0x1158], rdx
mov r9, rax
mov r8, qword [rsp + 0x11b0]
mov rdx, rcx
mov rax, qword [rsp + 0x1158]
mov rcx, rax
call fcn.140168c00
mov rax, qword [rsp + 0xb8]
mov eax, dword [rax + 8]
add eax, dword [rsp + 0x11b8]
mov rcx, qword [rsp + 0xb8]
mov dword [rcx + 8], eax
movzx eax, word [rsp + 0x1190]
movsxd rcx, dword [rsp + 0x1188]
mov rdx, qword [rsp + 0x1180]
mov rcx, qword [rdx + rcx*8 + 0x1f0]
mov r8, qword [rsp + 0xb8]
mov edx, eax
mov rcx, qword [rcx + 0xe0]
call fcn.140141090
movzx eax, byte [rsp + 0x11a0]
and eax, 1
test eax, eax
je 0x140181743
mov rax, qword [rsp + 0x1180]
cmp qword [rax + 0x180], 0
je 0x140181734
movsxd rax, dword [rsp + 0x1188]
mov rcx, qword [rsp + 0x1180]
mov rax, qword [rcx + rax*8 + 0x1f0]
cmp dword [rax + 0xc0], 2
jne 0x140181734
movsxd rax, dword [rsp + 0x1188]
mov rcx, qword [rsp + 0x1180]
mov rax, qword [rcx + rax*8 + 0x1f0]
add rax, 0xc4
mov rcx, rax
call fcn.140168d80
movsxd rax, dword [rsp + 0x1188]
mov rcx, qword [rsp + 0x1180]
mov rax, qword [rcx + rax*8 + 0x1f0]
add rax, 0x78
movsxd rcx, dword [rsp + 0x1188]
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0xb8]
mov eax, dword [rax + 8]
mov dword [rsp + 0x28], eax
mov rax, qword [rsp + 0xb8]
mov rax, qword [rax]
mov qword [rsp + 0x20], rax
mov r9d, dword [rsp + 0x11a8]
movzx r8d, word [rsp + 0x1190]
mov rax, qword [rsp + 0x1180]
mov rdx, qword [rax + rcx*8 + 0x1f0]
mov rcx, qword [rsp + 0x1180]
mov rax, qword [rsp + 0x1180]
call qword [rax + 0x180]
movsxd rax, dword [rsp + 0x1188]
mov rcx, qword [rsp + 0x1180]
cmp qword [rcx + rax*8 + 0x1f0], 0
je 0x140181708
movsxd rax, dword [rsp + 0x1188]
mov rcx, qword [rsp + 0x1180]
mov rax, qword [rcx + rax*8 + 0x1f0]
cmp dword [rax + 0xc0], 2
je 0x14018170d
jmp 0x1401818cd
movsxd rax, dword [rsp + 0x1188]
mov rcx, qword [rsp + 0x1180]
mov rax, qword [rcx + rax*8 + 0x1f0]
add rax, 0xc4
mov rcx, rax
call fcn.140168da0
nop
mov rax, qword [rsp + 0xb8]
mov dword [rax + 8], 0xffffffff
mov rax, qword [rsp + 0x40]
cmp qword [rax + 0xf0], 0
je 0x1401818a6
mov rax, qword [rsp + 0x40]
movzx eax, byte [rax + 0xf0]
cmp eax, 0xff
jne 0x1401818a6
mov rax, qword [rsp + 0x40]
movzx eax, word [rax + 0xf2]
mov word [rsp + 0xc0], ax
movzx eax, word [rsp + 0xc0]
cdq
sub eax, edx
sar eax, 1
sub eax, 2
mov dword [rsp + 0xc4], eax
mov rax, qword [rsp + 0x40]
movsxd rax, dword [rax + 0x174]
mov rcx, qword [rsp + 0x40]
mov rcx, qword [rcx + 0x168]
add rcx, rax
mov rax, rcx
movzx ecx, word [rsp + 0xc0]
sub rax, rcx
mov ecx, 4
imul rcx, rcx, 0
mov rdx, qword [rsp + 0x40]
mov edx, dword [rdx + 0xb0]
cmp dword [rax + rcx], edx
ja 0x1401818a6
mov eax, dword [rsp + 0xc4]
shl eax, 1
cdqe
shl rax, 1
cmp rax, 0x1000
ja 0x140181880
cmp dword [rsp + 0xc4], 0
jle 0x140181853
movsxd rax, dword [rsp + 0xc4]
shl rax, 1
mov rcx, qword [rsp + 0x40]
movsxd rcx, dword [rcx + 0x174]
mov rdx, qword [rsp + 0x40]
mov rdx, qword [rdx + 0x168]
add rdx, rcx
mov rcx, rdx
movzx edx, word [rsp + 0xc0]
sub rcx, rdx
add rcx, 4
mov r9, rax
mov r8, rcx
mov edx, 0x1000
lea rcx, [rsp + 0xe0]
call fcn.140168c00
nop
mov rax, qword [rsp + 0x40]
mov qword [rax + 0xf0], 0
mov r8d, dword [rsp + 0xc4]
lea rdx, [rsp + 0xe0]
mov rcx, qword [rsp + 0x40]
call fcn.140176030
nop
jmp 0x1401818a6
mov rax, qword [rsp + 0x40]
mov qword [rax + 0xf0], 0
xor r8d, r8d
lea rdx, [rsp + 0xe0]
mov rcx, qword [rsp + 0x40]
call fcn.140176030
nop
movsxd rax, dword [rsp + 0x1188]
mov rcx, qword [rsp + 0x1180]
mov rax, qword [rcx + rax*8 + 0x1f0]
add rax, 0xc4
mov rcx, rax
call fcn.140168d80
nop
mov rcx, rsp
lea rdx, reloc.WS2_32.dll_connect
call fcn.14037c300
mov rcx, qword [rsp + 0x1160]
xor rcx, rsp
call fcn.14037c650
add rsp, 0x1170
pop rdi
ret