Function at 0x1403254d0
Capabilities:
Check http status code

Disassembly:
push rbp
push rbx
push rdi
push r15
lea rbp, [rsp - 0x3f]
sub rsp, 0xe8
xor ebx, ebx
mov rdi, rcx
mov dword [rbp + 0x67], ebx
mov r15, qword [rcx + 8]
cmp dword [r15 + 0xc8], 2
je 0x140325511
mov rcx, qword [r15 + 0xb8]
mov rax, qword [rcx]
call qword [rax + 0x98]
test rax, rax
je 0x140325f07
mov eax, dword [r15 + 0xc8]
cmp eax, 2
jne 0x14032553e
cmp byte [r15 + 0xd8], bl
je 0x140325f07
mov rcx, rdi
add rsp, 0xe8
pop r15
pop rdi
pop rbx
pop rbp
jmp fcn.140323ae0
cmp eax, 1
jne 0x14032555c
mov rax, qword [r15 + 0xc0]
mov rcx, qword [rax + 8]
mov dword [rcx + 0x70], ebx
mov dword [r15 + 0xc8], 5
mov eax, dword [r15 + 0xc8]
mov qword [rsp + 0xc8], r14
cmp eax, 5
jne 0x140325617
mov rcx, rdi
call fcn.1403244e0
test al, al
jne 0x140325607
mov rcx, qword [r15 + 0xb8]
mov rax, qword [rcx]
call qword [rax + 0x68]
xor edx, edx
mov rcx, rdi
call fcn.14030b280
or r14, 0xffffffffffffffff
lea r8, [0x14000f578]
xor r9d, r9d
mov dword [rsp + 0x20], r14d
lea rdx, [rbp + 0x7f]
lea rcx, [0x140579a60]
call fcn.14039d940
lea r8, [rbp + 0x7f]
mov rcx, rdi
lea edx, [r14 + 0x13]
call fcn.14030b1f0
mov rcx, qword [rbp + 0x7f]
mov eax, dword [rcx]
test eax, eax
je 0x1403255ec
cmp eax, r14d
je 0x1403255fa
lock xadd dword [rcx], r14d
cmp r14d, 1
jne 0x1403255fa
mov rcx, qword [rbp + 0x7f]
mov edx, 2
lea r8d, [rdx + 6]
call fcn.140379300
mov rcx, rdi
call fcn.140323930
jmp 0x140325eff
mov eax, dword [r15 + 0xc8]
cmp eax, 5
je 0x140325eff
cmp eax, 4
jne 0x140325681
mov edx, dword [r15 + 0xe0]
mov rcx, qword [r15 + 0xb8]
call fcn.140383aa0
cmp rax, 0xffffffffffffffff
jne 0x140325652
mov rcx, qword [r15 + 0xb8]
mov rax, qword [rcx]
call qword [rax + 0xf0]
mov rcx, rdi
call fcn.140323c80
jmp 0x140325eff
sub dword [r15 + 0xe0], eax
jne 0x140325eff
mov rax, qword [r15 + 0xc0]
mov rcx, qword [rax + 8]
cmp dword [rcx + 0x8c], 0x197
jne 0x140325681
mov dword [r15 + 0xc8], 3
mov rcx, qword [r15 + 0xc0]
mov qword [rsp + 0xe0], rsi
mov qword [rsp + 0xd0], r13
call fcn.140335a90
mov ebx, eax
cmp eax, 0xc8
jne 0x14032572f
mov rcx, qword [r15 + 0xb8]
lea rdx, [rbp - 9]
mov dword [r15 + 0xc8], 2
call fcn.1402ffec0
mov rdx, rax
mov rcx, rdi
call fcn.14030b210
lea rcx, [rbp - 9]
call fcn.140302c20
mov rcx, qword [r15 + 0xb8]
call fcn.1402ffef0
movzx edx, ax
mov rcx, rdi
call fcn.14030b220
mov edx, 3
mov dword [r15 + 0x98], 1
mov rcx, rdi
mov dword [r15 + 0x94], 1
call fcn.14030b280
lea rcx, [r15 + 0xd0]
call fcn.14032e940
mov rax, qword [r15 + 0xd0]
mov byte [rax + 0x40], 0
jmp 0x140325ee7
cmp ebx, 0x197
jne 0x140325d5b
lea r13, [r15 + 0xd0]
mov qword [rsp + 0xd8], r12
mov rcx, r13
call fcn.14032fc80
test al, al
je 0x14032575e
mov rcx, r13
call fcn.14032e940
cmp byte [r15 + 0xde], 0
mov rbx, qword [r13]
mov qword [rbp + 0x77], rbx
je 0x1403257a7
cmp dword [rbx + 0x44], 1
je 0x1403257a7
lea rcx, [rbp - 1]
call fcn.1403c7f30
mov rdx, rax
mov rcx, r13
call fcn.14032d830
lea rcx, [rbp - 1]
call fcn.14032d3f0
mov rcx, r13
call fcn.14032e940
mov rbx, qword [r13]
mov qword [rbp + 0x77], rbx
mov byte [rbx + 0x40], 1
mov rcx, qword [r15 + 0xc0]
lea rdx, [rbp - 0x29]
add rcx, 0x10
mov rax, qword [rcx]
call qword [rax + gethostname]
mov r8b, 1
mov rcx, rbx
mov rdx, rax
call fcn.140330260
mov r12, qword [rbp - 0x29]
or r14, 0xffffffffffffffff
mov eax, dword [r12]
test eax, eax
je 0x1403257f9
cmp eax, r14d
je 0x1403258aa
mov eax, r14d
lock xadd dword [r12], eax
cmp eax, 1
jne 0x1403258aa
mov r12, qword [rbp - 0x29]
movsxd rsi, dword [r12 + 0xc]
movsxd r13, dword [r12 + 8]
add rsi, 2
add r13, 2
lea rsi, [r12 + rsi*8]
lea r13, [r12 + r13*8]
cmp r13, rsi
je 0x14032589b
nop dword [rax]
mov rbx, qword [rsi - 8]
sub rsi, 8
test rbx, rbx
je 0x140325892
mov rcx, qword [rbx + 8]
mov eax, dword [rcx]
test eax, eax
je 0x140325848
cmp eax, 0xffffffff
je 0x14032585a
mov eax, r14d
lock xadd dword [rcx], eax
cmp eax, 1
jne 0x14032585a
mov rcx, qword [rbx + 8]
mov edx, 1
lea r8d, [rdx + 7]
call fcn.140379300
mov rcx, qword [rbx]
mov eax, dword [rcx]
test eax, eax
je 0x140325874
cmp eax, 0xffffffff
je 0x140325885
mov eax, r14d
lock xadd dword [rcx], eax
cmp eax, 1
jne 0x140325885
mov rcx, qword [rbx]
mov edx, 1
lea r8d, [rdx + 7]
call fcn.140379300
mov edx, select
mov rcx, rbx
call fcn.1404e1830
cmp rsi, r13
jne 0x140325820
mov rbx, qword [rbp + 0x77]
mov rcx, r12
call fcn.1404e1e20
lea r13, [r15 + 0xd0]
cmp dword [rbx + 0x44], 3
mov r12, qword [rsp + 0xd8]
jne 0x14032592e
mov rcx, qword [r15 + 0xb8]
mov rax, qword [rcx]
call qword [rax + 0x68]
xor edx, edx
mov rcx, rdi
call fcn.14030b280
xor r9d, r9d
mov dword [rsp + 0x20], r14d
lea r8, [0x14000f5a8]
lea rdx, [rbp - 0x79]
lea rcx, [0x140579a60]
call fcn.14039d940
lea r8, [rbp - 0x79]
mov edx, reloc.WS2_32.dll_select
mov rcx, rdi
call fcn.14030b1f0
mov rcx, qword [rbp - 0x79]
mov eax, dword [rcx]
test eax, eax
je 0x140325ed7
cmp eax, 0xffffffff
je 0x140325ee7
lock xadd dword [rcx], r14d
cmp r14d, 1
jne 0x140325ee7
mov rcx, qword [rbp - 0x79]
jmp 0x140325ed7
mov r8d, r14d
lea rdx, [0x14000f5d8]
lea rcx, [rbp - 0x69]
call fcn.14037a370
mov rcx, qword [r15 + 0xc0]
lea rsi, [0x1400495e0]
add rcx, 0x10
mov qword [rbp - 0x71], rsi
lea r9, [rbp - 0x71]
lea r8, [rbp - 0x69]
lea rdx, [rbp + 0x6f]
mov rax, qword [rcx]
call qword [rax + 0x40]
mov rcx, qword [rbp - 0x71]
mov eax, dword [rcx]
test eax, eax
je 0x140325988
cmp eax, 0xffffffff
je 0x140325996
mov eax, r14d
lock xadd dword [rcx], eax
cmp eax, 1
jne 0x140325996
mov rcx, qword [rbp - 0x71]
mov edx, 1
lea r8d, [rdx + 7]
call fcn.140379300
mov rcx, qword [rbp - 0x69]
mov eax, dword [rcx]
test eax, eax
je 0x1403259b5
cmp eax, 0xffffffff
je 0x1403259c3
mov eax, r14d
lock xadd dword [rcx], eax
cmp eax, 1
jne 0x1403259c3
mov rcx, qword [rbp - 0x69]
mov edx, 1
lea r8d, [rdx + 7]
call fcn.140379300
mov rax, qword [rbp + 0x6f]
cmp dword [rax + 4], 0
jne 0x140325a9e
mov r8d, r14d
lea rdx, [0x14000f5f0]
lea rcx, [rbp - 0x59]
call fcn.14037a370
mov rcx, qword [r15 + 0xc0]
lea r9, [rbp - 0x61]
add rcx, 0x10
mov qword [rbp - 0x61], rsi
lea r8, [rbp - 0x59]
lea rdx, [rbp - 0x21]
mov rax, qword [rcx]
call qword [rax + 0x40]
mov rdx, qword [rbp + 0x6f]
mov rcx, qword [rax]
mov qword [rbp + 0x6f], rcx
mov qword [rax], rdx
mov rcx, qword [rbp - 0x21]
mov eax, dword [rcx]
test eax, eax
je 0x140325a32
cmp eax, 0xffffffff
je 0x140325a40
mov eax, r14d
lock xadd dword [rcx], eax
cmp eax, 1
jne 0x140325a40
mov rcx, qword [rbp - 0x21]
mov edx, 1
lea r8d, [rdx + 7]
call fcn.140379300
mov rcx, qword [rbp - 0x61]
mov eax, dword [rcx]
test eax, eax
je 0x140325a5f
cmp eax, 0xffffffff
je 0x140325a6d
mov eax, r14d
lock xadd dword [rcx], eax
cmp eax, 1
jne 0x140325a6d
mov rcx, qword [rbp - 0x61]
mov edx, 1
lea r8d, [rdx + 7]
call fcn.140379300
mov rcx, qword [rbp - 0x59]
mov eax, dword [rcx]
test eax, eax
je 0x140325a8c
cmp eax, 0xffffffff
je 0x140325a9a
mov eax, r14d
lock xadd dword [rcx], eax
cmp eax, 1
jne 0x140325a9a
mov rcx, qword [rbp - 0x59]
mov edx, 1
lea r8d, [rdx + 7]
call fcn.140379300
mov rax, qword [rbp + 0x6f]
mov rcx, qword [rax + 0x10]
lea r8, [0x1400015bc]
movsxd rdx, dword [rax + 4]
add rcx, rax
mov r9, r14
call fcn.14037bf70
test eax, eax
jne 0x140325ac1
mov sil, 1
jmp 0x140325b26
mov rax, qword [rbp + 0x6f]
lea r8, [0x14000f600]
mov r9, r14
mov rcx, qword [rax + 0x10]
movsxd rdx, dword [rax + 4]
add rcx, rax
call fcn.14037bf70
test eax, eax
jne 0x140325aeb
xor sil, sil
jmp 0x140325bc2
mov rcx, qword [r15 + 0xc0]
add rcx, 0x10
mov rax, qword [rcx]
call qword [rax + 0x18]
mov rcx, qword [r15 + 0xc0]
mov ebx, eax
add rcx, 0x10
shl ebx, 8
mov rdx, qword [rcx]
call qword [rdx + 0x20]
add eax, ebx
cmp eax, 0x100
setle sil
test sil, sil
je 0x140325bbe
mov rcx, qword [r15 + 0xb8]
mov rax, qword [rcx]
call qword [rax + 0xf0]
mov rcx, qword [r15 + 0xb8]
lea rdx, [rbp - 0x19]
call fcn.140382830
mov rcx, qword [rbp - 0x19]
mov eax, dword [rcx]
test eax, eax
je 0x140325b65
cmp eax, 0xffffffff
je 0x140325b73
mov eax, r14d
lock xadd dword [rcx], eax
cmp eax, 1
jne 0x140325b73
mov rcx, qword [rbp - 0x19]
mov edx, 1
lea r8d, [rdx + 7]
call fcn.140379300
mov rcx, qword [r15 + 0xc0]
test rcx, rcx
je 0x140325b8a
mov rax, qword [rcx]
mov edx, 1
call qword [rax + 0x18]
mov ecx, 0x18
call fcn.1404e17f4
lea rcx, [rbp + 7]
mov rbx, rax
call fcn.1403c7f30
mov rdx, rax
xor r8d, r8d
mov rcx, rbx
call fcn.140332fb0
lea rcx, [rbp + 7]
mov qword [r15 + 0xc0], rax
call fcn.1403c8020
mov rbx, qword [rbp + 0x77]
cmp dword [rbx + 0x44], 2
jne 0x140325c85
lea rdx, [r15 + 0xa8]
mov r8, r13
mov rcx, rdi
call fcn.14030b1b0
cmp dword [rbx + 0x44], 2
jne 0x140325c85
xor r9d, r9d
mov dword [rsp + 0x20], r14d
lea r8, [0x14000f610]
lea rdx, [rbp - 0x51]
lea rcx, [0x140579a60]
call fcn.14039d940
lea r8, [rbp - 0x51]
mov edx, listen
mov rcx, rdi
call fcn.14030b1f0
mov rcx, qword [rbp - 0x51]
mov eax, dword [rcx]
test eax, eax
je 0x140325c37
cmp eax, 0xffffffff
je 0x140325c45
mov eax, r14d
lock xadd dword [rcx], eax
cmp eax, 1
jne 0x140325c45
mov rcx, qword [rbp - 0x51]
mov edx, 2
lea r8d, [rdx + 6]
call fcn.140379300
mov rcx, qword [r15 + 0xb8]
mov rax, qword [rcx]
call qword [rax + 0xf0]
mov rcx, qword [rbp + 0x6f]
mov eax, dword [rcx]
test eax, eax
je 0x140325c7b
cmp eax, 0xffffffff
je 0x140325ee7
lock xadd dword [rcx], r14d
cmp r14d, 1
jne 0x140325ee7
mov rcx, qword [rbp + 0x6f]
mov edx, 1
jmp 0x140325edc
mov dword [r15 + 0xc8], 3
test sil, sil
je 0x140325d1a
mov rax, qword [r15 + 0xb8]
lea rcx, [r15 + 0xa8]
mov dword [rbp + 0x67], 3
mov rsi, qword [rax]
call fcn.14030c460
lea rdx, [rbp - 0x11]
movzx edi, ax
lea rcx, [r15 + 0xa8]
call fcn.14030c070
mov rcx, qword [r15 + 0xb8]
mov rdx, rax
mov r9d, 3
mov dword [rsp + 0x20], 2
movzx r8d, di
call qword [rsi + 0xe8]
mov rcx, qword [rbp - 0x11]
mov eax, dword [rcx]
test eax, eax
je 0x140325d0a
cmp eax, 0xffffffff
je 0x140325d22
mov eax, r14d
lock xadd dword [rcx], eax
cmp eax, 1
jne 0x140325d22
mov rcx, qword [rbp - 0x11]
mov edx, 2
lea r8d, [rdx + 6]
call fcn.140379300
jmp 0x140325d22
mov rcx, rdi
call fcn.140324b10
mov rcx, qword [rbp + 0x6f]
mov eax, dword [rcx]
test eax, eax
je 0x140325d48
cmp eax, 0xffffffff
je 0x140325eef
lock xadd dword [rcx], r14d
cmp r14d, 1
jne 0x140325eef
mov rcx, qword [rbp + 0x6f]
mov edx, 1
lea r8d, [rdx + 7]
call fcn.140379300
jmp 0x140325eef
mov rcx, qword [r15 + 0xb8]
mov rax, qword [rcx]
call qword [rax + 0x68]
xor edx, edx
mov rcx, rdi
call fcn.14030b280
or r14, 0xffffffffffffffff
lea eax, [rbx - 0x193]
xor r9d, r9d
mov dword [rsp + 0x20], r14d
test eax, 0xfffffffd
je 0x140325e91
cmp ebx, 0x194
jne 0x140325ded
lea r8, [0x14000a208]
lea rdx, [rbp - 0x49]
lea rcx, [0x140579790]
call fcn.14039d940
lea r8, [rbp - 0x49]
mov rcx, rdi
lea edx, [r14 + 3]
call fcn.14030b1f0
mov rcx, qword [rbp - 0x49]
mov eax, dword [rcx]
test eax, eax
je 0x140325ed7
cmp eax, r14d
je 0x140325ee7
lock xadd dword [rcx], r14d
cmp r14d, 1
jne 0x140325ee7
mov rcx, qword [rbp - 0x49]
jmp 0x140325ed7
cmp ebx, 0x1f7
jne 0x140325e49
lea r8, [0x14000a218]
lea rdx, [rbp - 0x41]
lea rcx, [0x140579790]
call fcn.14039d940
lea r8, [rbp - 0x41]
xor edx, edx
mov rcx, rdi
call fcn.14030b1f0
mov rcx, qword [rbp - 0x41]
mov eax, dword [rcx]
test eax, eax
je 0x140325ed7
cmp eax, 0xffffffff
je 0x140325ee7
lock xadd dword [rcx], r14d
cmp r14d, 1
jne 0x140325ee7
mov rcx, qword [rbp - 0x41]
jmp 0x140325ed7
lea r8, [0x14000f640]
lea rdx, [rbp - 0x39]
lea rcx, [0x140579a60]
call fcn.14039d940
lea r8, [rbp - 0x39]
mov edx, reloc.WS2_32.dll_select
mov rcx, rdi
call fcn.14030b1f0
mov rcx, qword [rbp - 0x39]
mov eax, dword [rcx]
test eax, eax
je 0x140325ed7
cmp eax, 0xffffffff
je 0x140325ee7
lock xadd dword [rcx], r14d
cmp r14d, 1
jne 0x140325ee7
mov rcx, qword [rbp - 0x39]
jmp 0x140325ed7
lea r8, [0x14000f628]
lea rdx, [rbp - 0x31]
lea rcx, [0x140579a60]
call fcn.14039d940
lea r8, [rbp - 0x31]
mov edx, 3
mov rcx, rdi
call fcn.14030b1f0
mov rcx, qword [rbp - 0x31]
mov eax, dword [rcx]
test eax, eax
je 0x140325ed7
cmp eax, 0xffffffff
je 0x140325ee7
lock xadd dword [rcx], r14d
cmp r14d, 1
jne 0x140325ee7
mov rcx, qword [rbp - 0x31]
mov edx, 2
mov r8d, 8
call fcn.140379300
mov rcx, rdi
call fcn.140323930
mov r13, qword [rsp + 0xd0]
mov rsi, qword [rsp + 0xe0]
mov r14, qword [rsp + 0xc8]
add rsp, 0xe8
pop r15
pop rdi
pop rbx
pop rbp
ret