Function at 0x140020220
Capabilities:
Resolve dns

Disassembly:
push rbp
push rdi
push rsi
push rbx
mov eax, 0x1388
call fcn.140008490
sub rsp, rax
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x1330], rcx
mov qword [rbp + 0x1338], rdx
mov qword [rbp + 0x1340], r8
mov qword [rbp + 0x1348], r9
call fcn.1400fe040
mov qword [rbp + 0x1148], rax
lea rdx, [rbp + 0x1358]
lea rax, [rbp + 0x1148]
mov rcx, rax
call fcn.1400fe200
mov qword [rbp + 0x1140], rax
mov rax, qword [rbp + 0x1338]
add rax, 8
lea rdx, str.http
mov rcx, rax
call fcn.14012d9a0
test al, al
je 0x1400202d7
mov ecx, 0x10
call fcn.140131750
mov rbx, rax
lea rax, str.Only_HTTP_scheme_is_supported
mov rdx, rax
mov rcx, rbx
call fcn.14001c150
lea rax, [fcn.14001c1c0]
mov r8, rax
lea rax, [0x14013e420]
mov rdx, rax
mov rcx, rbx
call fcn.140131e30
mov qword [rbp + 0x1110], 0
mov qword [rbp + 0x1118], 0
mov qword [rbp + 0x1120], 0
mov qword [rbp + 0x1128], 0
mov qword [rbp + 0x1130], 0
mov qword [rbp + 0x1138], 0
mov rax, qword [rbp + 0x1338]
movzx eax, byte [rax + 1]
mov ecx, eax
call fcn.14001e1d0
mov dword [rbp + 0x1114], eax
mov dword [rbp + 0x1118], 1
mov rax, qword [rbp + 0x1338]
add rax, 0x88
mov rcx, rax
call fcn.140049440
test al, al
je 0x14002035d
lea rax, [0x140137fe8]
jmp 0x140020372
mov rax, qword [rbp + 0x1338]
add rax, 0x88
mov rcx, rax
call fcn.140049420
mov qword [rbp + 0x12d0], rax
mov rax, qword [rbp + 0x1338]
add rax, 0x68
mov rcx, rax
call fcn.140049420
mov rcx, rax
lea r8, [rbp + 0x1108]
lea rdx, [rbp + 0x1110]
mov rax, qword [rbp + 0x12d0]
mov r9, r8
mov r8, rdx
mov rdx, rax
mov rax, qword [sym.imp.WS2_32.dll_getaddrinfo]
call rax
test eax, eax
setne al
test al, al
je 0x14002043e
mov ecx, 0x20
call fcn.140131750
mov rbx, rax
mov rax, qword [sym.imp.WSOCK32.dll_WSAGetLastError]
call rax
mov esi, eax
mov rax, qword [rbp + 0x1338]
lea rdx, [rax + 0x68]
lea rax, [rbp + 0x1150]
mov r8, rdx
lea rdx, str.Failed_to_get_address_info_of
mov rcx, rax
call fcn.14012dc00
lea rax, [rbp + 0x1150]
mov r9, rax
lea r8, [0x1401351c0]
mov edx, esi
mov rcx, rbx
call fcn.1400cf310
lea rax, [rbp + 0x1150]
mov rcx, rax
call fcn.14010ce50
mov r8, qword [fcn.1400cf460]
lea rax, [0x14013fda0]
mov rdx, rax
mov rcx, rbx
call fcn.140131e30
mov rdx, qword [rbp + 0x1108]
mov rax, qword [sym.imp.WS2_32.dll_freeaddrinfo]
mov qword [rbp + 0x1178], rax
lea rcx, [rbp + 0x1178]
lea rax, [rbp + 0x10f0]
mov r8, rcx
mov rcx, rax
call fcn.1400c8370
mov rdx, qword [rbp + 0x1350]
lea rax, [rbp + 0x1180]
mov rcx, rax
call fcn.140102b10
mov rax, qword [rbp + 0x1338]
lea rdx, [rax + 8]
lea rax, [rbp + 0x10d0]
mov r9, qword [rbp + 0x1348]
mov r8, qword [rbp + 0x1340]
lea rcx, [rbp + 0x1180]
mov qword [rsp + 0x20], rcx
mov rcx, rax
call fcn.14001c510
lea rax, [rbp + 0x1180]
mov rcx, rax
call fcn.140102cb0
mov rax, qword [rbp + 0x1338]
movzx edx, byte [rax + 1]
lea rax, [rbp + 0x10c8]
mov rcx, rax
call fcn.14001f5a0
lea rax, [rbp + 0x1358]
mov rcx, rax
call fcn.1400443a0
test rax, rax
js 0x14002050e
mov rdx, qword [rbp + 0x1140]
lea rax, [rbp + 0x10c7]
mov rcx, rax
call fcn.1401310b0
mov rbx, rax
jmp 0x140020515
mov rbx, 0xffffffffffffffff
lea rax, [rbp + 0x10f0]
mov rcx, rax
call fcn.14003a740
mov rax, qword [rax + 0x10]
mov esi, eax
lea rax, [rbp + 0x10f0]
mov rcx, rax
call fcn.14003a740
mov rdx, qword [rax + 0x20]
lea rax, [rbp + 0x10c8]
mov r9, rbx
mov r8d, esi
mov rcx, rax
call fcn.14001f370
lea rax, [rbp + 0x10d0]
mov rcx, rax
call fcn.1400465a0
mov qword [rbp + 0x12f8], rax
lea rax, [rbp + 0x10d0]
mov rcx, rax
call fcn.140046570
mov qword [rbp + 0x12f0], rax
jmp 0x1400205f9
lea rax, [rbp + 0x1358]
mov rcx, rax
call fcn.1400443a0
test rax, rax
js 0x1400205af
mov rdx, qword [rbp + 0x1140]
lea rax, [rbp + 0x10c7]
mov rcx, rax
call fcn.1401310b0
mov rcx, rax
jmp 0x1400205b6
mov rcx, 0xffffffffffffffff
mov r8, qword [rbp + 0x12f8]
mov rdx, qword [rbp + 0x12f0]
lea rax, [rbp + 0x10c8]
mov r9, rcx
mov rcx, rax
call fcn.14001ef50
mov qword [rbp + 0x12b8], rax
mov rax, qword [rbp + 0x12b8]
sub qword [rbp + 0x12f8], rax
mov rax, qword [rbp + 0x12b8]
add qword [rbp + 0x12f0], rax
cmp qword [rbp + 0x12f8], 0
jne 0x140020580
mov word [rbp + 0xbe], 0xa0d
mov dword [rbp + 0xba], 0xa0d0a0d
mov rcx, qword [rbp + 0x1330]
call fcn.140021370
lea rax, [rbp + 0xa0]
mov rcx, rax
call fcn.140104120
mov byte [rbp + 0x12ef], 0
mov byte [rbp + 0x12ee], 0
mov qword [rbp + 0x12e0], 0
mov byte [rbp + 0x12df], 0
mov qword [rbp + 0x98], 0
mov byte [rbp + 0x12de], 0
lea rax, [rbp + 0x1358]
mov rcx, rax
call fcn.1400443a0
test rax, rax
js 0x140020696
mov rdx, qword [rbp + 0x1140]
lea rax, [rbp + 0x10c7]
mov rcx, rax
call fcn.1401310b0
mov rbx, rax
jmp 0x14002069d
mov rbx, 0xffffffffffffffff
lea rax, [rbp + 0xc0]
mov rcx, rax
call fcn.140042d10
mov rsi, rax
lea rax, [rbp + 0xc0]
mov rcx, rax
call fcn.1400fc5c0
mov rdx, rax
lea rax, [rbp + 0x10c8]
mov r9, rbx
mov r8, rsi
mov rcx, rax
call fcn.14001ee30
mov qword [rbp + 0x12c8], rax
cmp qword [rbp + 0x12c8], 0
je 0x14002102a
lea rax, [rbp + 0xc0]
mov rcx, rax
call fcn.1400fc5e0
mov rdx, qword [rbp + 0x12c8]
lea rsi, [rax + rdx]
lea rax, [rbp + 0xc0]
mov rcx, rax
call fcn.1400fc5e0
mov rbx, rax
lea rax, [rbp + 0xa0]
mov rcx, rax
call fcn.140103be0
mov qword [rbp + 0x11a0], rax
lea rdx, [rbp + 0x11a0]
lea rax, [rbp + 0x1198]
mov rcx, rax
call fcn.14002b900
mov rdx, qword [rbp + 0x1198]
lea rax, [rbp + 0xa0]
mov r9, rsi
mov r8, rbx
mov rcx, rax
call fcn.140103eb0
movzx eax, byte [rbp + 0x12ef]
xor eax, 1
test al, al
je 0x140020b04
lea rax, [rbp + 0xba]
mov rcx, rax
call fcn.140042d20
mov rdi, rax
lea rax, [rbp + 0xba]
mov rcx, rax
call fcn.140042d60
mov rsi, rax
lea rax, [rbp + 0xa0]
mov rcx, rax
call fcn.140046540
mov rbx, rax
lea rax, [rbp + 0xa0]
mov rcx, rax
call fcn.140046630
mov r9, rdi
mov r8, rsi
mov rdx, rbx
mov rcx, rax
call fcn.1401291d0
mov qword [rbp + 0x90], rax
lea rax, [rbp + 0xa0]
mov rcx, rax
call fcn.140046540
mov qword [rbp + 0x11a8], rax
lea rdx, [rbp + 0x11a8]
lea rax, [rbp + 0x90]
mov rcx, rax
call fcn.14002cc80
test al, al
jne 0x14002102d
lea rax, [rbp + 0xa0]
mov rcx, rax
call fcn.140046630
mov qword [rbp + 0x88], rax
lea rax, [rbp + 0x90]
mov edx, 2
mov rcx, rax
call fcn.140031020
mov qword [rbp + 0x80], rax
lea rax, [rbp - 0x10]
mov rcx, qword [rbp + 0x80]
mov rdx, qword [rbp + 0x88]
mov r8, rcx
mov rcx, rax
call fcn.14001dde0
mov rax, qword [rbp - 0x10]
mov qword [rbp + 0x78], rax
lea rax, [rbp - 0x10]
add rax, 8
mov rcx, rax
call fcn.140128de0
mov rdx, rax
mov rax, qword [rbp + 0x1330]
mov rcx, rax
call fcn.14001c4c0
lea rax, [rbp + 0x20]
mov rcx, qword [rbp + 0x80]
mov rdx, qword [rbp + 0x78]
mov r8, rcx
mov rcx, rax
call fcn.14001e2c0
mov rax, qword [rbp + 0x20]
mov qword [rbp + 0x78], rax
lea rax, [rbp + 0x20]
add rax, 8
mov rcx, rax
call fcn.140128e20
mov rdx, rax
lea rax, [rbp - 0x50]
mov rcx, rax
call fcn.14010b860
lea rax, [rbp + 0x20]
add rax, 0x28
mov rcx, rax
call fcn.140128e20
mov rdx, rax
lea rax, [rbp - 0x30]
mov rcx, rax
call fcn.14010b860
lea rax, [rbp - 0x50]
lea rdx, str.transfer_encoding
mov rcx, rax
call fcn.14012d0b0
test al, al
je 0x14002097f
lea rax, [rbp - 0x30]
lea rdx, str.chunked
mov rcx, rax
call fcn.14012d0b0
test al, al
je 0x140020918
mov byte [rbp + 0x12df], 1
jmp 0x1400209e4
mov ecx, 0x10
call fcn.140131750
mov rbx, rax
lea rax, [rbp + 0x11b0]
lea rdx, [rbp - 0x30]
mov r8, rdx
lea rdx, str.Unsupported_transfer_encoding:
mov rcx, rax
call fcn.14012dc00
lea rax, [rbp + 0x11b0]
mov rdx, rax
mov rcx, rbx
call fcn.14001c230
lea rax, [rbp + 0x11b0]
mov rcx, rax
call fcn.14010ce50
lea rax, [fcn.14001c2a0]
mov r8, rax
lea rax, [0x14013e440]
mov rdx, rax
mov rcx, rbx
call fcn.140131e30
lea rax, [rbp - 0x50]
lea rdx, str.content_length
mov rcx, rax
call fcn.14012d0b0
test al, al
je 0x1400209e4
lea rax, [rbp - 0x30]
mov rcx, rax
call fcn.140049080
mov rbx, rax
lea rax, [rbp - 0x30]
mov rcx, rax
call fcn.140049620
mov rdx, rbx
mov rcx, rax
call fcn.14001d890
mov qword [rbp + 0x12e0], rax
mov byte [rbp + 0x12ee], 1
mov rax, qword [rbp + 0x1330]
lea rcx, [rax + 0x40]
mov rax, qword [rbp + 0x12e0]
mov rdx, rax
call fcn.140103f50
mov rax, qword [rbp + 0x1330]
lea rbx, [rax + 0x28]
lea rax, [rbp - 0x50]
mov rcx, rax
call fcn.140128e20
mov rsi, rax
lea rax, [rbp - 0x30]
mov rcx, rax
call fcn.140128e20
mov rdx, rax
lea rax, [rbp + 0x11d0]
mov r8, rdx
mov rdx, rsi
mov rcx, rax
call fcn.1400fbcc0
lea rax, [rbp + 0x11d0]
mov rdx, rax
mov rcx, rbx
call fcn.140102ae0
lea rax, [rbp + 0x11d0]
mov rcx, rax
call fcn.1400fbd20
lea rdx, [rbp + 0x80]
lea rax, [rbp + 0x78]
mov rcx, rax
call fcn.14002cc80
test al, al
je 0x140020a61
mov ebx, 0
jmp 0x140020a66
mov ebx, 1
lea rax, [rbp - 0x30]
mov rcx, rax
call fcn.14010ce50
cmp ebx, 1
jne 0x140020a7e
mov ebx, 1
jmp 0x140020a83
mov ebx, 0
lea rax, [rbp - 0x50]
mov rcx, rax
call fcn.14010ce50
cmp ebx, 1
jne 0x140020a9b
mov ebx, 1
jmp 0x140020aa0
mov ebx, 0
lea rax, [rbp + 0x20]
mov rcx, rax
call fcn.1400fb8d0
cmp ebx, 1
jne 0x140020ab6
jmp 0x14002087a
lea rax, [rbp + 0x80]
mov edx, 2
mov rcx, rax
call fcn.140031020
mov rbx, rax
lea rax, [rbp + 0xa0]
mov rcx, rax
call fcn.140046630
mov rdx, rax
lea rax, [rbp + 0xa0]
mov r8, rbx
mov rcx, rax
call fcn.140103ce0
mov byte [rbp + 0x12ef], 1
lea rax, [rbp - 0x10]
mov rcx, rax
call fcn.1400fb770
cmp byte [rbp + 0x12ef], 0
je 0x140020667
cmp byte [rbp + 0x12df], 0
je 0x140020f5e
mov rax, qword [rbp + 0x98]
test rax, rax
je 0x140020cd7
lea rax, [rbp + 0xa0]
mov rcx, rax
call fcn.1400465a0
mov qword [rbp + 0x1210], rax
lea rdx, [rbp + 0x1210]
lea rax, [rbp + 0x98]
mov rcx, rax
call fcn.140128520
mov rax, qword [rax]
mov qword [rbp + 0x12c0], rax
mov rax, qword [rbp + 0x1330]
lea rsi, [rax + 0x40]
mov rbx, qword [rbp + 0x12c0]
lea rax, [rbp + 0xa0]
mov rcx, rax
call fcn.140103c80
mov qword [rbp + 0x1218], rax
lea rax, [rbp + 0x1218]
mov rdx, rbx
mov rcx, rax
call fcn.140031280
mov rdi, rax
lea rax, [rbp + 0xa0]
mov rcx, rax
call fcn.140103c80
mov rbx, rax
mov rax, qword [rbp + 0x1330]
add rax, 0x40
mov rcx, rax
call fcn.140103be0
mov qword [rbp + 0x1228], rax
lea rdx, [rbp + 0x1228]
lea rax, [rbp + 0x1220]
mov rcx, rax
call fcn.14002b900
mov rax, qword [rbp + 0x1220]
mov r9, rdi
mov r8, rbx
mov rdx, rax
mov rcx, rsi
call fcn.140103e10
mov rbx, qword [rbp + 0x12c0]
lea rax, [rbp + 0xa0]
mov rcx, rax
call fcn.140103c80
mov qword [rbp + 0x1240], rax
lea rax, [rbp + 0x1240]
mov rdx, rbx
mov rcx, rax
call fcn.140031280
mov qword [rbp + 0x1238], rax
lea rdx, [rbp + 0x1238]
lea rax, [rbp + 0x1230]
mov rcx, rax
call fcn.14002b900
lea rax, [rbp + 0xa0]
mov rcx, rax
call fcn.140103c80
mov qword [rbp + 0x1250], rax
lea rdx, [rbp + 0x1250]
lea rax, [rbp + 0x1248]
mov rcx, rax
call fcn.14002b900
mov rcx, qword [rbp + 0x1230]
mov rdx, qword [rbp + 0x1248]
lea rax, [rbp + 0xa0]
mov r8, rcx
mov rcx, rax
call fcn.140103ce0
mov rax, qword [rbp + 0x98]
sub rax, qword [rbp + 0x12c0]
mov qword [rbp + 0x98], rax
mov rax, qword [rbp + 0x98]
test rax, rax
jne 0x140020cbb
mov byte [rbp + 0x12de], 1
lea rax, [rbp + 0xa0]
mov rcx, rax
call fcn.1400465f0
test al, al
je 0x140020b1e
jmp 0x140021025
cmp byte [rbp + 0x12de], 0
je 0x140020e1f
lea rax, [rbp + 0xa0]
mov rcx, rax
call fcn.1400465a0
cmp rax, 1
setbe al
test al, al
jne 0x14002101e
lea rax, [rbp + 0xa0]
mov rcx, rax
call fcn.140103c80
mov rsi, rax
lea rax, [rbp + 0xbe]
mov rcx, rax
call fcn.140042c70
mov rbx, rax
lea rax, [rbp + 0xbe]
mov rcx, rax
call fcn.140042cb0
mov r8, rsi
mov rdx, rbx
mov rcx, rax
call fcn.140128f70
xor eax, 1
test al, al
je 0x140020d85
mov ecx, 0x10
call fcn.140131750
mov rbx, rax
lea rax, str.Invalid_chunk
mov rdx, rax
mov rcx, rbx
call fcn.14001c1f0
lea rax, [fcn.14001c2a0]
mov r8, rax
lea rax, [0x14013e440]
mov rdx, rax
mov rcx, rbx
call fcn.140131e30
mov byte [rbp + 0x12de], 0
lea rax, [rbp + 0xa0]
mov rcx, rax
call fcn.140103c80
mov qword [rbp + 0x1268], rax
lea rax, [rbp + 0x1268]
mov edx, 2
mov rcx, rax
call fcn.140031280
mov qword [rbp + 0x1260], rax
lea rdx, [rbp + 0x1260]
lea rax, [rbp + 0x1258]
mov rcx, rax
call fcn.14002b900
lea rax, [rbp + 0xa0]
mov rcx, rax
call fcn.140103c80
mov qword [rbp + 0x1278], rax
lea rdx, [rbp + 0x1278]
lea rax, [rbp + 0x1270]
mov rcx, rax
call fcn.14002b900
mov rcx, qword [rbp + 0x1258]
mov rdx, qword [rbp + 0x1270]
lea rax, [rbp + 0xa0]
mov r8, rcx
mov rcx, rax
call fcn.140103ce0
lea rax, [rbp + 0xbe]
mov rcx, rax
call fcn.140042c70
mov rdi, rax
lea rax, [rbp + 0xbe]
mov rcx, rax
call fcn.140042cb0
mov rsi, rax
lea rax, [rbp + 0xa0]
mov rcx, rax
call fcn.140103be0
mov rbx, rax
lea rax, [rbp + 0xa0]
mov rcx, rax
call fcn.140103c80
mov r9, rdi
mov r8, rsi
mov rdx, rbx
mov rcx, rax
call fcn.140129220
mov qword [rbp + 0x70], rax
lea rax, [rbp + 0xa0]
mov rcx, rax
call fcn.140103be0
mov qword [rbp + 0x1280], rax
lea rdx, [rbp + 0x1280]
lea rax, [rbp + 0x70]
mov rcx, rax
call fcn.14002cd00
test al, al
jne 0x140021024
lea rax, [rbp + 0xa0]
mov rcx, rax
call fcn.140103c80
mov rcx, rax
mov rax, qword [rbp + 0x70]
mov rdx, rax
call fcn.14001da40
mov qword [rbp + 0x98], rax
lea rax, [rbp + 0x70]
mov edx, 2
mov rcx, rax
call fcn.140031280
mov qword [rbp + 0x1290], rax
lea rdx, [rbp + 0x1290]
lea rax, [rbp + 0x1288]
mov rcx, rax
call fcn.14002b900
lea rax, [rbp + 0xa0]
mov rcx, rax
call fcn.140103c80
mov qword [rbp + 0x12a0], rax
lea rdx, [rbp + 0x12a0]
lea rax, [rbp + 0x1298]
mov rcx, rax
call fcn.14002b900
mov rcx, qword [rbp + 0x1288]
mov rdx, qword [rbp + 0x1298]
lea rax, [rbp + 0xa0]
mov r8, rcx
mov rcx, rax
call fcn.140103ce0
mov rax, qword [rbp + 0x98]
test rax, rax
je 0x140021030
jmp 0x140020b1e
mov rax, qword [rbp + 0x1330]
lea rbx, [rax + 0x40]
lea rax, [rbp + 0xa0]
mov rcx, rax
call fcn.140103be0
mov rdi, rax
lea rax, [rbp + 0xa0]
mov rcx, rax
call fcn.140103c80
mov rsi, rax
mov rax, qword [rbp + 0x1330]
add rax, 0x40
mov rcx, rax
call fcn.140103be0
mov qword [rbp + 0x12b0], rax
lea rdx, [rbp + 0x12b0]
lea rax, [rbp + 0x12a8]
mov rcx, rax
call fcn.14002b900
mov rax, qword [rbp + 0x12a8]
mov r9, rdi
mov r8, rsi
mov rdx, rax
mov rcx, rbx
call fcn.140103e10
lea rax, [rbp + 0xa0]
mov rcx, rax
call fcn.140103cb0
cmp byte [rbp + 0x12ee], 0
je 0x140021010
mov rax, qword [rbp + 0x1330]
add rax, 0x40
mov rcx, rax
call fcn.1400465a0
cmp qword [rbp + 0x12e0], rax
ja 0x140021010
mov eax, 1
jmp 0x140021015
mov eax, 0
test al, al
jne 0x140021033
jmp 0x140020667
nop
jmp 0x140020667
nop
jmp 0x140020667
nop
jmp 0x140021034
nop
jmp 0x140021034
nop
jmp 0x140021034
nop
lea rax, [rbp + 0xa0]
mov rcx, rax
call fcn.140104350
lea rax, [rbp + 0x10c8]
mov rcx, rax
call fcn.14001f6f0
lea rax, [rbp + 0x10d0]
mov rcx, rax
call fcn.140104350
lea rax, [rbp + 0x10f0]
mov rcx, rax
call fcn.1400c83c0
jmp 0x1400211b3
mov rax, qword [rbp + 0x1330]
add rsp, 0x1388
pop rbx
pop rsi
pop rdi
pop rbp
ret