Function at 0x14003f370
Capabilities:
Check http status code

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
sub rsp, 0x40
cmp byte [rcx + 0x1c4], 0
mov rdi, r8
mov rsi, rdx
mov rbx, rcx
jne 0x14003f472
cmp byte [rcx + 0xb24], 0
jne 0x14003f472
mov r8d, reloc.WS2_32.dll_ntohs
lea rdx, [0x140006ec8]
mov rcx, rdi
call fcn.14003abe0
test eax, eax
je 0x14003f472
xor edx, edx
lea rcx, [rdi + 0xf]
lea r9, [rsp + 0x60]
lea r8d, [rdx + 0xa]
call fcn.140047b60
test eax, eax
jne 0x14003f3f6
mov rax, qword [rsp + 0x60]
mov qword [rbx + 0xe8], rax
mov qword [rbx + 0xf0], rax
xor eax, eax
mov rbx, qword [rsp + 0x70]
add rsp, 0x40
pop rdi
pop rsi
pop rbp
ret
cmp eax, 1
jne 0x14003f451
cmp qword [rbx + 0x740], 0
je 0x14003f426
lea rdx, [0x1400041f8]
mov rcx, rbx
call fcn.140034b00
mov eax, 0x3f
mov rbx, qword [rsp + 0x70]
add rsp, 0x40
pop rdi
pop rsi
pop rbp
ret
mov edx, 2
mov rcx, rsi
call fcn.140035670
lea rdx, [0x1400074b8]
mov rcx, rbx
call fcn.140034be0
xor eax, eax
mov rbx, qword [rsp + 0x70]
add rsp, 0x40
pop rdi
pop rsi
pop rbp
ret
lea rdx, [0x1400074d8]
mov rcx, rbx
call fcn.140034b00
mov eax, 8
mov rbx, qword [rsp + 0x70]
add rsp, 0x40
pop rdi
pop rsi
pop rbp
ret
mov r8d, reloc.WS2_32.dll_listen
lea rdx, [0x140006eb8]
mov rcx, rdi
call fcn.14003abe0
test eax, eax
je 0x14003f4df
mov rcx, rdi
call fcn.14003e2c0
mov rdi, rax
test rax, rax
je 0x14003fb12
cmp byte [rax], 0
jne 0x14003f4bc
mov rcx, rax
call qword [fcn.140001118]
xor eax, eax
mov rbx, qword [rsp + 0x70]
add rsp, 0x40
pop rdi
pop rsi
pop rbp
ret
mov rcx, qword [rbx + 0x13f8]
call qword [fcn.140001118]
xor eax, eax
mov qword [rbx + 0x13f8], rdi
mov rbx, qword [rsp + 0x70]
add rsp, 0x40
pop rdi
pop rsi
pop rbp
ret
cmp byte [rsi + 0x1b8], 0xa
jne 0x14003f542
cmp byte [rsi + 0x3ac], 0
je 0x14003f542
lea r9, [0x1400074f8]
mov qword [rsp + 0x20], 0xa
mov r8d, reloc.WS2_32.dll_recvfrom
lea rdx, [0x140007508]
mov rcx, rdi
call fcn.14003e1f0
test al, al
je 0x14003f542
xor edx, edx
mov rcx, rsi
call fcn.140035670
lea rdx, [0x140007520]
mov rcx, rbx
call fcn.140034be0
xor eax, eax
mov rbx, qword [rsp + 0x70]
add rsp, 0x40
pop rdi
pop rsi
pop rbp
ret
cmp byte [rsi + 0x1b8], 0xb
jne 0x14003f5a8
cmp byte [rsi + 0x3ac], 0
je 0x14003f5a8
lea r9, [0x14000754c]
mov qword [rsp + 0x20], 5
mov r8d, reloc.WS2_32.dll_recvfrom
lea rdx, [0x140007508]
mov rcx, rdi
call fcn.14003e1f0
test al, al
je 0x14003f5a8
mov edx, 1
mov rcx, rsi
call fcn.140035670
lea rdx, [0x140007558]
mov rcx, rbx
call fcn.140034be0
xor eax, eax
mov rbx, qword [rsp + 0x70]
add rsp, 0x40
pop rdi
pop rsi
pop rbp
ret
cmp byte [rsi + 0x1b8], 0xa
jne 0x14003f602
lea r9, [0x1400074f8]
mov qword [rsp + 0x20], 0xa
mov r8d, listen
lea rdx, [0x140006ed8]
mov rcx, rdi
call fcn.14003e1f0
test al, al
je 0x14003f602
xor edx, edx
mov rcx, rsi
call fcn.140035670
lea rdx, [0x140007580]
mov rcx, rbx
call fcn.140034be0
xor eax, eax
mov rbx, qword [rsp + 0x70]
add rsp, 0x40
pop rdi
pop rsi
pop rbp
ret
lea r9, [0x14000754c]
mov qword [rsp + 0x20], 5
mov r8d, listen
lea rdx, [0x140006ed8]
mov rcx, rdi
call fcn.14003e1f0
test al, al
je 0x14003f647
mov edx, 2
mov rcx, rsi
call fcn.140035670
xor eax, eax
mov rbx, qword [rsp + 0x70]
add rsp, 0x40
pop rdi
pop rsi
pop rbp
ret
cmp byte [rbx + 0x1c4], 0
jne 0x14003f704
mov r8d, reloc.WS2_32.dll_select
lea rdx, [0x140006ee8]
mov rcx, rdi
call fcn.14003abe0
test eax, eax
je 0x14003f6b4
lea rdx, [rdi + 0x12]
mov r8d, 1
mov rcx, rbx
call fcn.14003ade0
test eax, eax
jne 0x14003fc3f
cmp byte [rbx + 0x1c5], al
jne 0x14003fc3d
lea edx, [rax + 1]
mov rcx, rsi
call fcn.140035670
xor eax, eax
mov byte [rbx + 0x1c6], 1
mov rbx, qword [rsp + 0x70]
add rsp, 0x40
pop rdi
pop rsi
pop rbp
ret
cmp byte [rbx + 0x1c4], 0
jne 0x14003f704
mov r8d, reloc.WS2_32.dll_recvfrom
lea rdx, [0x1400075a8]
mov rcx, rdi
call fcn.14003abe0
test eax, eax
je 0x14003f704
cmp qword [rbx + 0x7c8], 0
je 0x14003f704
lea rdx, [rdi + 0x11]
xor r8d, r8d
mov rcx, rbx
call fcn.14003ade0
test eax, eax
je 0x14003fc3d
mov rbx, qword [rsp + 0x70]
add rsp, 0x40
pop rdi
pop rsi
pop rbp
ret
mov r8d, recvfrom
lea rdx, [0x1400075c0]
mov rcx, rdi
call fcn.14003abe0
test eax, eax
je 0x14003f787
xor ecx, ecx
lea rsi, [rdi + 0xc]
mov qword [rsp + 0x60], rcx
mov rcx, rsi
call fcn.140047cc0
mov rdi, rax
cmp rax, 0xffffffffffffffff
jne 0x14003f767
lea r9, [rsp + 0x60]
xor edx, edx
lea r8d, [rax + 0xb]
mov rcx, rsi
call fcn.140047b60
mov rdi, qword [rsp + 0x60]
xor eax, eax
mov qword [rbx + 0x1408], rdi
mov rbx, qword [rsp + 0x70]
add rsp, 0x40
pop rdi
pop rsi
pop rbp
ret
xor ecx, ecx
call fcn.14007d9fc
sub rdi, rax
mov qword [rbx + 0x1408], rdi
xor eax, eax
mov rbx, qword [rsp + 0x70]
add rsp, 0x40
pop rdi
pop rsi
pop rbp
ret
cmp byte [rbx + 0x1c4], 0
jne 0x14003f847
mov r8d, reloc.WLDAP32.dll_Ordinal_14
lea rdx, [0x1400075d0]
mov rcx, rdi
call fcn.14003abe0
test eax, eax
je 0x14003f847
movzx eax, byte [rdi + 0xe]
add rdi, 0xe
test al, al
je 0x14003f7dc
nop dword [rax]
movzx ecx, al
call fcn.14005e2c0
test eax, eax
jne 0x14003f7dc
cmp byte [rdi], 0x2a
je 0x14003f7dc
movzx eax, byte [rdi + 1]
inc rdi
test al, al
jne 0x14003f7c0
movzx ecx, byte [rdi]
call fcn.14005e2c0
test eax, eax
je 0x14003f82f
xor edx, edx
lea r9, [rbx + 0x150]
mov rcx, rdi
lea r8d, [rdx + 0xa]
call fcn.140047b60
test eax, eax
jne 0x14003fc3d
mov rax, qword [rbx + 0x150]
cmp qword [rbx + 0x11b0], rax
jne 0x14003fc3d
mov byte [rbx + 0x1c1], 1
xor eax, eax
mov rbx, qword [rsp + 0x70]
add rsp, 0x40
pop rdi
pop rsi
pop rbp
ret
xor ecx, ecx
mov qword [rbx + 0x11b0], rcx
xor eax, eax
mov rbx, qword [rsp + 0x70]
add rsp, 0x40
pop rdi
pop rsi
pop rbp
ret
cmp qword [rbx + 0xb40], 0
je 0x14003f961
cmp byte [rbx + 0x1367], 0
je 0x14003f961
mov r8d, listen
lea rdx, [0x140004b30]
mov rcx, rdi
call fcn.14003abe0
test eax, eax
je 0x14003f961
mov qword [rsp + 0x68], r14
mov r14, qword [rbx + 0x1320]
test r14, r14
jne 0x14003f897
mov r14, qword [rsi + 0xa0]
mov rax, qword [rsi + 0x3f8]
test byte [rax + 0x84], 2
jne 0x14003f8f4
mov rdx, r14
lea rcx, [0x140004e28]
call fcn.14003aa10
test eax, eax
jne 0x14003f8f4
lea rdx, [0x1400069c8]
mov rcx, r14
call fcn.14007df80
test eax, eax
je 0x14003f8f4
xor ecx, ecx
lea rdx, [0x14000718c]
nop word [rax + rax]
movzx eax, byte [r14 + rcx]
inc rcx
cmp al, byte [rdx + rcx - 1]
jne 0x14003f95c
cmp rcx, 6
jne 0x14003f8e0
mov sil, 1
mov edx, 2
mov rcx, rbx
mov r8d, edx
call fcn.14003b0b0
mov rax, qword [rbx + 0x1230]
lea rcx, [rdi + 0xb]
mov rdx, qword [rbx + 0xb40]
xor r9d, r9d
mov byte [rsp + 0x38], sil
mov r8b, 1
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x20], rcx
mov rcx, rbx
call fcn.140029560
mov edx, 2
mov rcx, rbx
call fcn.14003b0f0
mov r14, qword [rsp + 0x68]
xor eax, eax
mov rbx, qword [rsp + 0x70]
add rsp, 0x40
pop rdi
pop rsi
pop rbp
ret
xor sil, sil
jmp 0x14003f8f7
cmp byte [rbx + 0x1c4], 0
jne 0x14003f9c8
mov r8d, reloc.WLDAP32.dll_Ordinal_14
lea rdx, [0x1400075e0]
mov rcx, rdi
call fcn.14003abe0
test eax, eax
je 0x14003f9c8
cmp dword [rbx + 0x568], 0
jne 0x14003f995
cmp byte [rbx + 0xb09], 0
je 0x14003f9c8
lea rcx, [rdi + 0xe]
call fcn.140047cc0
mov qword [rbx + 0x180], rax
cmp byte [rbx + 0xb09], 0
je 0x14003fc3d
mov qword [rbx + 0x13d0], rax
xor eax, eax
mov rbx, qword [rsp + 0x70]
add rsp, 0x40
pop rdi
pop rsi
pop rbp
ret
mov r8d, reloc.WS2_32.dll_recvfrom
lea rdx, [0x1400075f0]
mov rcx, rdi
call fcn.14003abe0
test eax, eax
je 0x14003f9ef
mov ebp, dword [rbx + 0x158]
cmp ebp, 0x191
je 0x14003fa16
mov r8d, reloc.WS2_32.dll_send
lea rdx, [0x140007608]
mov rcx, rdi
call fcn.14003abe0
test eax, eax
je 0x14003fa60
mov ebp, dword [rbx + 0x158]
cmp ebp, 0x197
jne 0x14003fa60
mov rcx, rdi
call fcn.14003e2c0
mov rdi, rax
test rax, rax
je 0x14003fb12
cmp ebp, 0x197
mov r8, rax
mov rcx, rbx
sete dl
call fcn.14003fec0
mov rcx, rdi
mov ebx, eax
call qword [fcn.140001118]
test ebx, ebx
je 0x14003fc3d
mov eax, ebx
mov rbx, qword [rsp + 0x70]
add rsp, 0x40
pop rdi
pop rsi
pop rbp
ret
mov eax, dword [rbx + 0x158]
sub eax, 0x12c
cmp eax, 0x63
ja 0x14003fb24
mov r8d, 9
lea rdx, [0x140007620]
mov rcx, rdi
call fcn.14003abe0
test eax, eax
je 0x14003fb24
cmp qword [rbx + 0x190], 0
jne 0x14003fb24
mov rcx, rdi
call fcn.14003e2c0
test rax, rax
je 0x14003fb12
cmp byte [rax], 0
jne 0x14003fac9
mov rcx, rax
call qword [fcn.140001118]
xor eax, eax
mov rbx, qword [rsp + 0x70]
add rsp, 0x40
pop rdi
pop rsi
pop rbp
ret
cmp byte [rbx + 0xb16], 0
mov qword [rbx + 0x190], rax
je 0x14003fc3d
mov rcx, rax
call qword [fcn.140001128]
mov qword [rbx + 0x198], rax
test rax, rax
je 0x14003fb12
mov rdx, rsi
mov rcx, rbx
call fcn.140041850
test eax, eax
je 0x14003fc3d
mov rbx, qword [rsp + 0x70]
add rsp, 0x40
pop rdi
pop rsi
pop rbp
ret
mov eax, reloc.WLDAP32.dll_Ordinal_27
mov rbx, qword [rsp + 0x70]
add rsp, 0x40
pop rdi
pop rsi
pop rbp
ret
cmp qword [rbx + 0xb48], 0
je 0x14003fb94
mov r8d, reloc.WLDAP32.dll_Ordinal_26
lea rdx, [0x140007630]
mov rcx, rdi
call fcn.14003abe0
test eax, eax
je 0x14003fb94
mov rax, qword [rsi + 0x3f8]
test byte [rax + 0x8c], 1
je 0x14003fb94
mov rdx, qword [rbx + 0x1208]
lea r8, [rdi + 0x1a]
mov rcx, qword [rbx + 0xb48]
call fcn.140038a20
test eax, eax
je 0x14003fc3d
lea rdx, [0x140007650]
mov rcx, rbx
call fcn.140034be0
xor eax, eax
mov rbx, qword [rsp + 0x70]
add rsp, 0x40
pop rdi
pop rsi
pop rbp
ret
cmp qword [rbx + 0xb50], 0
je 0x14003fc1b
mov ebp, 8
lea rdx, [0x140007670]
mov r8d, ebp
mov rcx, rdi
call fcn.14003abe0
test eax, eax
je 0x14003fc1b
mov rax, qword [rsi + 0x3f8]
test byte [rax + 0x8c], 1
je 0x14003fc1b
cmp byte [rsi + 0x1b8], 0x14
mov eax, reloc.WS2_32.dll_recv
mov ecx, dword [rsi + 0x154]
cmove ebp, eax
call fcn.140037310
mov rdx, qword [rbx + 0xb50]
lea r8, [rdi + 8]
mov word [rsp + 0x28], ax
mov r9d, ebp
mov rax, qword [rsi + 0xa0]
mov rcx, rbx
mov qword [rsp + 0x20], rax
call fcn.140037a40
test eax, eax
je 0x14003fc3d
mov rbx, qword [rsp + 0x70]
add rsp, 0x40
pop rdi
pop rsi
pop rbp
ret
mov rax, qword [rsi + 0x3f8]
test dword [rax + 0x84], 0x40000
je 0x14003fc3d
mov rdx, rdi
mov rcx, rbx
call fcn.140054880
test eax, eax
jne 0x14003fc3f
xor eax, eax
mov rbx, qword [rsp + 0x70]
add rsp, 0x40
pop rdi
pop rsi
pop rbp
ret