Function at 0x1400e78f0
Capabilities:
Resolve dns

Disassembly:
mov r11, rsp
push rbx
push rdi
push r12
push r13
sub rsp, 0x128
mov rax, qword [0x14021d798]
xor rax, rsp
mov qword [rsp + 0x100], rax
mov dword [rsp + 0x44], r9d
mov r13d, r9d
mov r12, r8
mov rbx, rdx
mov rdi, rcx
test rcx, rcx
je 0x1400e80b5
test rdx, rdx
je 0x1400e80b5
test r8, r8
je 0x1400e80b5
mov qword [r11 - 0x30], r14
xor r14d, r14d
mov qword [r8], rcx
mov ecx, 0x1000
mov qword [r8 + 0x18], r14
mov qword [r11 + 0x20], rbp
mov qword [r8 + 0x10], 0x1000
call fcn.140184ca0
mov qword [r12 + 8], rax
test rax, rax
jne 0x1400e79ca
lea rbp, str.prepare_cgi_environment
mov r9d, 0x2c75
lea rax, str._s:_Not_enough_memory_for_environmental_buffer
mov qword [rsp + 0x28], rbp
mov r8, rbp
mov qword [rsp + 0x20], rax
xor edx, edx
mov rcx, rdi
call fcn.1400e1360
mov eax, 0xffffffff
mov rbp, qword [rsp + 0x168]
mov r14, qword [rsp + 0x118]
mov rcx, qword [rsp + 0x100]
xor rcx, rsp
call fcn.1401702b0
add rsp, 0x128
pop r13
pop r12
pop rdi
pop rbx
ret
mov ecx, 0x800
mov qword [r12 + 0x28], 0x100
mov qword [r12 + 0x30], r14
call fcn.140184ca0
mov qword [r12 + 0x20], rax
test rax, rax
jne 0x1400e7a26
lea rbp, str.prepare_cgi_environment
mov r9d, 0x2c7f
lea rax, str._s:_Not_enough_memory_for_environmental_variables
mov qword [rsp + 0x28], rbp
mov r8, rbp
mov qword [rsp + 0x20], rax
xor edx, edx
mov rcx, rdi
call fcn.1400e1360
mov rcx, qword [r12 + 8]
call fcn.140180564
jmp 0x1400e7997
mov r8, qword [rdi + 0x8e8]
lea rdx, str.SERVER_NAME_s
mov qword [rsp + 0x120], rsi
mov rcx, r12
mov qword [rsp + 0x110], r15
mov r8, qword [r8 + 0x108]
call fcn.1400d6df0
mov r8, qword [rdi + 0x8e8]
lea rdx, str.SERVER_ROOT_s
mov rcx, r12
mov r8, qword [r8 + 0x90]
call fcn.1400d6df0
mov r8, qword [rdi + 0x8e8]
lea rdx, str.DOCUMENT_ROOT_s
mov rcx, r12
mov r8, qword [r8 + 0x90]
call fcn.1400d6df0
lea r8, str.1.16
mov rcx, r12
lea rdx, str.SERVER_SOFTWARECivetWeb__s
call fcn.1400d6df0
lea r8, str.GATEWAY_INTERFACECGI_1.1
mov rcx, r12
lea rdx, [0x1401e16f8]
call fcn.1400d6df0
lea r8, str.SERVER_PROTOCOLHTTP_1.1
mov rcx, r12
lea rdx, [0x1401e16f8]
call fcn.1400d6df0
lea r8, str.REDIRECT_STATUS200
mov rcx, r12
lea rdx, [0x1401e16f8]
call fcn.1400d6df0
mov r8d, dword [rdi + 0x84]
lea rdx, str.SERVER_PORT_d
mov rcx, r12
call fcn.1400d6df0
lea rcx, [rdi + 0x91c]
mov byte [rsp + 0x48], r14b
test rcx, rcx
je 0x1400e7b4a
movzx eax, word [rcx]
cmp ax, 2
jne 0x1400e7b1c
mov edx, reloc.WS2_32.dll_recv
jmp 0x1400e7b27
cmp ax, 0x17
jne 0x1400e7b4a
mov edx, 0x1c
mov dword [rsp + 0x30], 2
lea r8, [rsp + 0x48]
mov dword [rsp + 0x28], r14d
mov r9d, 0x32
mov qword [rsp + 0x20], r14
call qword [sym.imp.WS2_32.dll_getnameinfo]
lea r8, [rsp + 0x48]
mov rcx, r12
lea rdx, str.REMOTE_ADDR_s
call fcn.1400d6df0
mov r8, qword [rdi + 0x10]
lea rdx, str.REQUEST_METHOD_s
mov rcx, r12
call fcn.1400d6df0
mov r8d, dword [rdi + 0x80]
lea rdx, str.REMOTE_PORT_d
mov rcx, r12
call fcn.1400d6df0
mov r8, qword [rdi + 0x18]
lea rdx, str.REQUEST_URI_s
mov rcx, r12
call fcn.1400d6df0
mov r8, qword [rdi + 0x28]
lea rdx, str.LOCAL_URI_s
mov rcx, r12
call fcn.1400d6df0
mov r8, qword [rdi + 0x20]
lea rdx, str.LOCAL_URI_RAW_s
mov rcx, r12
call fcn.1400d6df0
mov r9, qword [rdi + 0x28]
mov r8, 0xffffffffffffffff
nop dword [rax + rax]
inc r8
cmp byte [r9 + r8], r14b
jne 0x1400e7bd0
mov rcx, qword [rdi + 0x980]
test rcx, rcx
jne 0x1400e7c2f
movsxd rax, r8d
cmp byte [rax + r9 - 1], 0x2f
je 0x1400e7c04
mov r8, r9
lea rdx, str.SCRIPT_NAME_s
mov rcx, r12
call fcn.1400d6df0
jmp 0x1400e7c51
mov edx, 0x2f
mov rcx, rbx
call fcn.1401730f8
test rax, rax
je 0x1400e7c51
mov r8, qword [rdi + 0x28]
lea r9, [rax + 1]
lea rdx, str.SCRIPT_NAME_s_s
mov rcx, r12
call fcn.1400d6df0
jmp 0x1400e7c51
mov rax, 0xffffffffffffffff
inc rax
cmp byte [rcx + rax], r14b
jne 0x1400e7c36
sub r8d, eax
lea rdx, str.SCRIPT_NAME_.s
mov rcx, r12
call fcn.1400d6df0
mov r8, rbx
lea rdx, str.SCRIPT_FILENAME_s
mov rcx, r12
call fcn.1400d6df0
mov r8, qword [rdi + 0x8e8]
mov rcx, r12
mov r9, qword [rdi + 0x980]
mov r8, qword [r8 + 0x90]
test r9, r9
jne 0x1400e7c8e
lea rdx, str.PATH_TRANSLATED_s
call fcn.1400d6df0
jmp 0x1400e7c9a
lea rdx, str.PATH_TRANSLATED_s_s
call fcn.1400d6df0
cmp qword [rdi + 0x8f0], r14
lea rax, [0x1401badc0]
lea r8, [0x1401badc4]
mov rcx, r12
cmove r8, rax
lea rdx, str.HTTPS_s
call fcn.1400d6df0
mov eax, dword [rdi]
lea r15, [rdi + 0xa0]
lea rbx, [rdi + 0x4d8]
cmp eax, 1
jne 0x1400e7ced
mov edx, dword [r15]
lea rcx, [rdi + 0xa8]
mov rsi, rcx
lea rbp, [rdi + 0x4e0]
jmp 0x1400e7d05
lea rsi, [rdi + 0xa8]
cmp eax, 2
jne 0x1400e7d2a
mov edx, dword [rbx]
lea rcx, [rdi + 0x4e0]
mov rbp, rcx
lea r8, str.Content_Type
call fcn.1400d9960
test rax, rax
je 0x1400e7d31
mov r8, rax
lea rdx, str.CONTENT_TYPE_s
mov rcx, r12
call fcn.1400d6df0
jmp 0x1400e7d31
lea rbp, [rdi + 0x4e0]
mov r8, qword [rdi + 0x38]
test r8, r8
je 0x1400e7d49
lea rdx, str.QUERY_STRING_s
mov rcx, r12
call fcn.1400d6df0
mov eax, dword [rdi]
cmp eax, 1
jne 0x1400e7d58
mov rbp, rsi
mov rbx, r15
jmp 0x1400e7d5d
cmp eax, 2
jne 0x1400e7d85
mov edx, dword [rbx]
lea r8, str.Content_Length
mov rcx, rbp
call fcn.1400d9960
test rax, rax
je 0x1400e7d85
mov r8, rax
lea rdx, str.CONTENT_LENGTH_s
mov rcx, r12
call fcn.1400d6df0
lea rcx, [0x1401bae0c]
call fcn.1401892a0
test rax, rax
je 0x1400e7da8
mov r8, rax
lea rdx, str.PATH_s
mov rcx, r12
call fcn.1400d6df0
mov r8, qword [rdi + 0x980]
test r8, r8
je 0x1400e7dc3
lea rdx, str.PATH_INFO_s
mov rcx, r12
call fcn.1400d6df0
mov r8d, dword [rdi + 0x9a8]
test r8d, r8d
jle 0x1400e7dde
lea rdx, str.STATUS_d
mov rcx, r12
call fcn.1400d6df0
lea rcx, [0x1401bae40]
call fcn.1401892a0
test rax, rax
je 0x1400e7e01
mov r8, rax
lea rdx, str.COMSPEC_s
mov rcx, r12
call fcn.1400d6df0
lea rcx, str.SYSTEMROOT
call fcn.1401892a0
test rax, rax
je 0x1400e7e24
mov r8, rax
lea rdx, str.SYSTEMROOT_s
mov rcx, r12
call fcn.1400d6df0
lea rcx, str.SystemDrive
call fcn.1401892a0
test rax, rax
je 0x1400e7e47
mov r8, rax
lea rdx, str.SystemDrive_s
mov rcx, r12
call fcn.1400d6df0
lea rcx, str.ProgramFiles
call fcn.1401892a0
test rax, rax
je 0x1400e7e6a
mov r8, rax
lea rdx, str.ProgramFiles_s
mov rcx, r12
call fcn.1400d6df0
lea rcx, str.ProgramFiles_x86_
call fcn.1401892a0
test rax, rax
je 0x1400e7e8d
mov r8, rax
lea rdx, str.ProgramFiles_x86__s
mov rcx, r12
call fcn.1400d6df0
lea rcx, str.PERLLIB
call fcn.1401892a0
test rax, rax
je 0x1400e7eb0
mov r8, rax
lea rdx, str.PERLLIB_s
mov rcx, r12
call fcn.1400d6df0
mov r8, qword [rdi + 0x40]
test r8, r8
je 0x1400e7ede
lea rdx, str.REMOTE_USER_s
mov rcx, r12
call fcn.1400d6df0
lea r8, str.AUTH_TYPEDigest
mov rcx, r12
lea rdx, [0x1401e16f8]
call fcn.1400d6df0
cmp dword [r15], r14d
jle 0x1400e7fc4
lea rbp, str.prepare_cgi_environment
lea r13, str.HTTP__s
lea rbx, str._s:_HTTP_header_variable_too_long___s_
nop dword [rax]
mov rax, qword [rsi]
lea r8, [rsp + 0x80]
mov qword [rsp + 0x28], rax
lea rdx, [rsp + 0x40]
mov r9d, 0x80
mov qword [rsp + 0x20], r13
mov rcx, rdi
call fcn.1400e46d0
cmp dword [rsp + 0x40], 0
je 0x1400e7f56
mov rax, qword [rsi]
mov r9d, 0x2d00
mov qword [rsp + 0x30], rax
mov r8, rbp
mov qword [rsp + 0x28], rbp
xor edx, edx
mov rcx, rdi
mov qword [rsp + 0x20], rbx
call fcn.1400e1360
jmp 0x1400e7faf
movzx eax, byte [rsp + 0x80]
lea rbx, [rsp + 0x80]
test al, al
je 0x1400e7f8d
nop word [rax + rax]
cmp al, 0x2d
jne 0x1400e7f79
mov byte [rbx], 0x5f
mov al, 0x5f
movzx ecx, al
call fcn.140185994
mov byte [rbx], al
inc rbx
movzx eax, byte [rbx]
test al, al
jne 0x1400e7f70
mov r9, qword [rsi + 8]
lea r8, [rsp + 0x80]
lea rdx, str._s_s
mov rcx, r12
call fcn.1400d6df0
lea rbx, str._s:_HTTP_header_variable_too_long___s_
inc r14d
add rsi, 0x10
cmp r14d, dword [r15]
jl 0x1400e7f00
mov r13d, dword [rsp + 0x44]
mov rbx, qword [rdi + 0x8e8]
mov r15, qword [rsp + 0x110]
movsxd rax, r13d
mov rbx, qword [rbx + rax*8 + 0xb0]
nop
test rbx, rbx
je 0x1400e8086
movzx eax, byte [rbx]
test al, al
je 0x1400e8086
mov rdi, rbx
cmp al, 0x20
je 0x1400e7fff
cmp al, 9
jne 0x1400e8008
movzx eax, byte [rbx + 1]
inc rbx
jmp 0x1400e7ff4
mov edx, 0x2c
mov rcx, rbx
mov rsi, rbx
call fcn.140172574
mov rbx, rax
test rax, rax
je 0x1400e8028
sub rax, rdi
inc rbx
jmp 0x1400e803d
mov rax, 0xffffffffffffffff
nop
inc rax
cmp byte [rdi + rax], 0
jne 0x1400e8030
lea rbx, [rax + rdi]
lea edx, [rax - 1]
test edx, edx
js 0x1400e805d
movsxd rax, edx
movzx ecx, byte [rdi + rax]
cmp cl, 0x20
je 0x1400e8055
cmp cl, 9
jne 0x1400e805d
dec edx
sub rax, 1
jns 0x1400e8047
movsxd r8, edx
add r8, 1
je 0x1400e7fe0
test rbx, rbx
je 0x1400e8086
mov r9, rsi
lea rdx, str._.s
mov rcx, r12
call fcn.1400d6df0
jmp 0x1400e7fe0
mov rcx, qword [r12 + 0x30]
mov rax, qword [r12 + 0x20]
mov rsi, qword [rsp + 0x120]
mov qword [rax + rcx*8], 0
mov rax, qword [r12 + 8]
mov rcx, qword [r12 + 0x18]
mov byte [rcx + rax], 0
xor eax, eax
jmp 0x1400e799c
mov eax, 0xffffffff
jmp 0x1400e79ac