Function at 0x1400da940
Capabilities:
Terminate process

Disassembly:
mov r11, rsp
push rbp
push rbx
lea rbp, [r11 - 0x838]
sub rsp, 0x928
mov rax, qword [0x14021d798]
xor rax, rsp
mov qword [rbp + 0x7f0], rax
mov rax, qword [rcx + 0x8e8]
mov qword [r11 + 0x20], rsi
mov qword [r11 - 0x18], rdi
xor edi, edi
mov qword [r11 - 0x20], r12
mov qword [r11 - 0x28], r13
mov r13, rcx
mov qword [r11 - 0x30], r14
mov r14, rdx
movsxd r12, r8d
mov qword [rsp + 0x50], 0xffffffffffffffff
mov qword [rsp + 0x58], 0xffffffffffffffff
mov qword [rsp + 0x60], 0xffffffffffffffff
mov rdx, qword [rax + r12*8 + 0xc8]
mov qword [r11 - 0x38], r15
mov qword [rbp - 0x60], rdi
mov qword [rbp - 0x80], rdi
mov qword [rbp - 0x78], rdi
mov qword [rbp], rdi
mov qword [rbp + 8], rdi
mov qword [rbp + 0x10], rdi
mov dword [rbp + 0x18], edi
mov dword [rsp + 0x78], edi
test rdx, rdx
je 0x1400daa0d
lea r15, [0x1401b8d41]
sub r15, rdx
lea rsi, [rdx - 1]
movzx ecx, byte [r15 + rsi]
call fcn.140185968
movzx ecx, byte [rsi + 1]
lea rsi, [rsi + 1]
mov ebx, eax
call fcn.140185968
cmp eax, ebx
jne 0x1400daa0d
cmp byte [rsi], dil
jne 0x1400da9e3
mov dword [rsp + 0x78], 1
mov rax, qword [r13 + 0x8e0]
lea r8, [rbp - 0x50]
mov rbx, rdi
mov r9d, r12d
mov rdx, r14
mov qword [rsp + 0x70], rbx
mov rcx, r13
mov esi, dword [rax + 0xf0]
call fcn.1400e78f0
test eax, eax
je 0x1400daa4d
mov rcx, rdi
call fcn.140180564
mov rcx, rdi
call fcn.140180564
jmp 0x1400db2c9
lea rax, [0x1401e16f8]
mov qword [rsp + 0x28], r14
mov r9d, 0x30c
mov qword [rsp + 0x20], rax
lea r8, [rbp + 0x4e0]
mov rcx, r13
lea rdx, [rbp - 0x70]
call fcn.1400e46d0
cmp dword [rbp - 0x70], ebx
je 0x1400daad6
lea rax, str.Error:_CGI_program___s_:_Path_too_long
mov qword [rsp + 0x28], r14
mov r9d, 0x2d7c
mov qword [rsp + 0x20], rax
lea r8, str.handle_cgi_request
xor edx, edx
mov rcx, r13
call fcn.1400e1360
lea r9, str.CGI_path_too_long
mov edx, 0x1f4
lea r8, str.Error:__s
mov rcx, r13
call fcn.1400e35f0
mov rcx, qword [rbp - 0x30]
call fcn.140180564
mov rcx, qword [rbp - 0x48]
call fcn.140180564
jmp 0x1400db2c9
mov edx, 0x2f
lea rcx, [rbp + 0x4e0]
call fcn.1401730f8
mov rbx, rax
test rax, rax
je 0x1400daaf7
mov byte [rax], dil
inc rbx
jmp 0x1400dab03
mov word [rbp + 0x4e0], 0x2e
mov rbx, r14
mov edx, 0x2000
lea rcx, [rsp + 0x50]
mov r8d, 0x8000
call fcn.14018b008
test eax, eax
jne 0x1400db336
mov edx, 0x2000
lea rcx, [rsp + 0x58]
mov r8d, 0x8000
call fcn.14018b008
test eax, eax
jne 0x1400db336
mov edx, 0x2000
lea rcx, [rsp + 0x60]
mov r8d, 0x8000
call fcn.14018b008
test eax, eax
jne 0x1400db336
lea ecx, [rax + 0x10]
call fcn.140184ca0
mov qword [rbp - 0x58], rax
mov r15, rax
mov rcx, r13
test rax, rax
jne 0x1400dabc7
lea rax, str.Error:_CGI_program___s_:_Out_or_memory
mov qword [rsp + 0x28], r14
mov r9d, 0x2d9a
mov qword [rsp + 0x20], rax
lea r8, str.handle_cgi_request
xor edx, edx
call fcn.1400e1360
mov r9, r14
lea r8, str.Error:_Out_of_memory___s_
mov edx, 0x1f4
mov rcx, r13
call fcn.1400e35f0
mov rcx, qword [rbp - 0x30]
call fcn.140180564
mov rcx, qword [rbp - 0x48]
call fcn.140180564
mov rbx, rdi
jmp 0x1400db2c9
mov r8, qword [rbp - 0x48]
lea rax, [rbp + 0x4e0]
mov dword [rsp + 0x40], r12d
mov rdx, rbx
mov r12, qword [rbp - 0x30]
mov qword [rsp + 0x38], rax
mov r9, r12
lea rax, [rsp + 0x60]
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x58]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x50]
mov qword [rsp + 0x20], rax
call fcn.1400ed5c0
cmp rax, 0xffffffffffffffff
jne 0x1400dac6d
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, eax
call fcn.14018a088
mov qword [rsp + 0x30], rax
lea r8, str.handle_cgi_request
lea rax, str.Error:_CGI_program___s_:_Can_not_spawn_CGI_process:__s
mov qword [rsp + 0x28], r14
mov r9d, 0x2da9
mov qword [rsp + 0x20], rax
xor edx, edx
mov rcx, r13
call fcn.1400e1360
lea r8, str.Error:_Cannot_spawn_CGI_process
mov edx, 0x1f4
mov rcx, r13
call fcn.1400e35f0
mov rcx, r15
call fcn.140180564
mov rcx, r12
jmp 0x1400dabb1
mov qword [r15], rax
mov qword [r15 + 8], 1
mov ecx, dword [rsp + 0x50]
call fcn.14018a820
mov ecx, dword [rsp + 0x5c]
call fcn.14018a820
mov ecx, dword [rsp + 0x64]
call fcn.14018a820
mov ecx, dword [rsp + 0x54]
lea rdx, [0x1401bb0c8]
mov r12, 0xffffffffffffffff
mov dword [rsp + 0x64], r12d
mov dword [rsp + 0x5c], r12d
mov dword [rsp + 0x50], r12d
call fcn.140188184
mov qword [rbp - 0x60], rax
mov rbx, rax
test rax, rax
je 0x1400db1e5
mov ecx, dword [rsp + 0x58]
lea rdx, [0x1401e4664]
call fcn.140188184
mov qword [rbp - 0x80], rax
test rax, rax
je 0x1400db1e5
mov ecx, dword [rsp + 0x60]
lea rdx, [0x1401e4664]
call fcn.140188184
mov qword [rbp - 0x78], rax
test rax, rax
je 0x1400db1e5
xor edx, edx
mov rcx, rbx
call fcn.140188d80
mov rcx, qword [rbp - 0x80]
xor edx, edx
call fcn.140188d80
mov rcx, qword [rbp - 0x78]
xor edx, edx
call fcn.140188d80
mov rax, qword [rbp - 0x80]
mov qword [rbp + 0x20], rax
cmp qword [r13 + 0x960], rdi
jne 0x1400dad3d
cmp dword [r13 + 0x970], edi
je 0x1400dad7f
xor r9d, r9d
mov r8, r12
mov rdx, rbx
mov rcx, r13
call fcn.1400d9580
test eax, eax
jne 0x1400dad7f
lea rax, str.Error:_CGI_program___s_:_Forward_body_data_failed
mov qword [rsp + 0x28], r14
mov r9d, 0x2dea
mov qword [rsp + 0x20], rax
lea r8, str.handle_cgi_request
xor edx, edx
mov rcx, r13
call fcn.1400e1360
jmp 0x1400db239
mov rcx, rbx
call fcn.140181244
mov rcx, rsi
mov qword [rbp - 0x60], rdi
mov dword [rsp + 0x54], r12d
mov dword [rsp + 0x68], edi
call fcn.140184ca0
mov qword [rsp + 0x70], rax
mov rbx, rax
mov r9d, esi
test rax, rax
jne 0x1400dadf1
lea r8, str.Error:_Not_enough_memory_for_CGI_buffer___u_bytes_
mov edx, 0x1f4
mov rcx, r13
call fcn.1400e35f0
lea rax, str.Error:_CGI_program___s_:_Not_enough_memory_for_buffer___u_bytes_
mov dword [rsp + 0x30], esi
mov qword [rsp + 0x28], r14
lea r8, str.handle_cgi_request
mov r9d, 0x2e04
mov qword [rsp + 0x20], rax
xor edx, edx
mov rcx, r13
call fcn.1400e1360
jmp 0x1400db239
mov rcx, qword [rbp - 0x80]
lea rax, [rsp + 0x68]
mov r8, rbx
mov qword [rsp + 0x20], rax
mov rdx, r13
call fcn.1400e9fa0
mov dword [rsp + 0x7c], eax
test eax, eax
jg 0x1400daeb5
mov rcx, qword [rbp - 0x78]
mov r9d, esi
mov r8, rbx
mov rdx, r13
call fcn.1400e8d30
xor edx, edx
mov qword [rsp + 0x38], rbx
lea r8, str.handle_cgi_request
mov rcx, r13
test eax, eax
jle 0x1400dae6c
mov dword [rsp + 0x30], eax
mov r9d, 0x2e19
lea rax, str.Error:_CGI_program___s__sent_error_message:___.s_
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x20], rax
call fcn.1400e1360
mov r9, r14
lea r8, str.Error:_CGI_program___s__failed.
jmp 0x1400db22c
mov ebx, dword [rsp + 0x68]
lea rdi, str.Error:_CGI_program_sent_malformed_or_too_big____u_bytes__HTTP_headers:___.s_
mov dword [rsp + 0x30], ebx
mov r9d, 0x2e27
mov dword [rsp + 0x28], esi
mov qword [rsp + 0x20], rdi
call fcn.1400e1360
mov rax, qword [rsp + 0x70]
mov r9d, esi
mov qword [rsp + 0x28], rax
mov r8, rdi
mov edx, 0x1f4
mov dword [rsp + 0x20], ebx
mov rcx, r13
call fcn.1400e35f0
jmp 0x1400db239
cdqe
lea rdx, [rbp + 0xc8]
add rax, rbx
mov qword [rbp - 0x10], rbx
lea rcx, [rbp - 0x10]
mov qword [rbp - 8], rax
mov byte [rax - 1], dil
call fcn.1400e6b70
mov esi, eax
mov dword [rbp + 0xc0], eax
lea rax, [0x1401e4f0c]
mov edx, esi
lea r8, str.Status
mov qword [rbp - 0x68], rax
lea rcx, [rbp + 0xc8]
call fcn.1400d9960
mov rbx, rax
test rax, rax
je 0x1400daf32
mov rcx, rax
call fcn.140188e58
mov dword [r13 + 0x9a8], eax
mov rsi, rbx
movzx ecx, byte [rsi]
mov qword [rbp - 0x68], rsi
call fcn.140189b50
test eax, eax
jne 0x1400daf2d
cmp byte [rsi], 0x20
jne 0x1400daf5e
inc rsi
jmp 0x1400daf18
lea r8, str.Location
mov edx, esi
lea rcx, [rbp + 0xc8]
call fcn.1400d9960
test rax, rax
mov ecx, 0xc8
mov edx, 0x133
cmovne ecx, edx
mov dword [r13 + 0x9a8], ecx
cmp dword [r13 + 0x988], edi
jne 0x1400db125
mov rax, qword [r13 + 0x8e8]
lea r14, [0x1401b8df4]
mov rsi, qword [rax + 0x58]
nop dword [rax]
movzx ecx, byte [r14]
mov r15, rsi
call fcn.140185968
movzx ecx, byte [rsi]
mov ebx, eax
call fcn.140185968
inc rsi
lea r14, [r14 + 1]
cmp eax, ebx
jne 0x1400db125
cmp byte [r15], dil
jne 0x1400daf80
mov eax, dword [r13]
cmp eax, 1
jne 0x1400dafc3
mov edx, dword [r13 + 0xa0]
lea rcx, [r13 + 0xa8]
jmp 0x1400dafda
cmp eax, 2
jne 0x1400db0e6
mov edx, dword [r13 + 0x4d8]
lea rcx, [r13 + 0x4e0]
lea r8, str.Connection
call fcn.1400d9960
mov rbx, rax
test rax, rax
je 0x1400db0e6
test rbx, rbx
je 0x1400db125
movzx eax, byte [rbx]
test al, al
je 0x1400db125
mov rdi, rbx
cmp al, 0x20
je 0x1400db011
cmp al, 9
jne 0x1400db01a
movzx eax, byte [rbx + 1]
inc rbx
jmp 0x1400db006
mov edx, 0x2c
mov rcx, rbx
mov r15, rbx
mov r14, rbx
call fcn.140172574
mov rbx, rax
test rax, rax
je 0x1400db03d
inc rbx
sub rax, rdi
jmp 0x1400db04d
mov rax, r12
inc rax
cmp byte [rdi + rax], 0
jne 0x1400db040
lea rbx, [rax + rdi]
lea edx, [rax - 1]
test edx, edx
js 0x1400db06d
movsxd rax, edx
movzx ecx, byte [rdi + rax]
cmp cl, 0x20
je 0x1400db065
cmp cl, 9
jne 0x1400db06d
dec edx
sub rax, 1
jns 0x1400db057
movsxd rsi, edx
add rsi, 1
je 0x1400daff2
mov r8, rsi
mov edx, 0x3d
mov rcx, r15
call fcn.140173250
test rax, rax
je 0x1400db095
mov rsi, rax
sub rsi, r14
test rbx, rbx
je 0x1400db125
test rsi, rsi
je 0x1400db130
lea rax, str.keep_alive
lea r14, [rax - 1]
sub r15, rax
movzx ecx, byte [r15 + r14 + 1]
call fcn.140185968
movzx ecx, byte [r14 + 1]
lea r14, [r14 + 1]
mov edi, eax
call fcn.140185968
cmp eax, edi
jne 0x1400daff2
cmp byte [r14], 0
je 0x1400db130
sub rsi, 1
jne 0x1400db0b5
jmp 0x1400db130
mov eax, dword [r13]
cmp eax, 1
jne 0x1400db0f5
mov rcx, qword [r13 + 0x30]
jmp 0x1400db101
cmp eax, 2
jne 0x1400db125
mov rcx, qword [r13 + 0x4c8]
test rcx, rcx
je 0x1400db125
lea rdx, [0x1401b9b7c]
nop dword [rax]
movzx eax, byte [rcx + rdi]
inc rdi
cmp al, byte [rdx + rdi - 1]
jne 0x1400db125
cmp rdi, 4
jne 0x1400db110
jmp 0x1400db130
mov dword [r13 + 0x988], 1
mov r9, qword [rbp - 0x68]
lea rdx, str.HTTP_1.1__d__s_r_n
mov r8d, dword [r13 + 0x9a8]
mov rcx, r13
call fcn.1400e2a00
mov eax, dword [rbp + 0xc0]
test eax, eax
jle 0x1400db180
lea rbx, [rbp + 0xc8]
mov edi, eax
nop dword [rax]
mov r9, qword [rbx + 8]
lea rdx, str._s:__s_r_n
mov r8, qword [rbx]
mov rcx, r13
call fcn.1400e2a00
lea rbx, [rbx + 0x10]
sub rdi, 1
jne 0x1400db160
mov r8d, 2
lea rdx, [0x1401e4654]
mov rcx, r13
call fcn.1400e6000
mov eax, dword [rsp + 0x68]
mov rcx, r13
sub eax, dword [rsp + 0x7c]
mov rdx, qword [rbp - 8]
movsxd r8, eax
call fcn.1400e6000
mov eax, dword [rsp + 0x78]
lea rdx, [rbp]
movabs r9, 0x7fffffffffffffff
mov dword [rsp + 0x20], eax
xor r8d, r8d
mov rcx, r13
call fcn.1400eb600
mov rcx, qword [rbp - 0x30]
call fcn.140180564
mov rcx, qword [rbp - 0x48]
call fcn.140180564
mov r15, qword [rbp - 0x58]
jmp 0x1400db24b
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, eax
call fcn.14018a088
mov qword [rsp + 0x30], rax
lea r8, str.handle_cgi_request
mov rbx, rax
mov qword [rsp + 0x28], r14
lea rax, str.Error:_CGI_program___s_:_Can_not_open_fd:__s
mov r9d, 0x2dd3
xor edx, edx
mov qword [rsp + 0x20], rax
mov rcx, r13
call fcn.1400e1360
mov r9, rbx
lea r8, str.Error:_CGI_can_not_open_fd_nfdopen:__s
mov edx, 0x1f4
mov rcx, r13
call fcn.1400e35f0
mov rcx, qword [rbp - 0x30]
call fcn.140180564
mov rcx, qword [rbp - 0x48]
call fcn.140180564
mov rbx, qword [r15]
xor edx, edx
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
jne 0x1400db264
cmp rbx, r12
je 0x1400db2b0
jmp 0x1400db26b
cmp eax, 0x102
jne 0x1400db2b0
mov rbx, qword [r15]
mov edx, reloc.WS2_32.dll_shutdown
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_TerminateProcess]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
nop word [rax + rax]
mov rbx, qword [r15]
xor edx, edx
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
jne 0x1400db2a9
cmp rbx, r12
jne 0x1400db290
jmp 0x1400db2b0
cmp eax, 0x102
je 0x1400db290
lock xadd qword [r15 + 8], r12
cmp r12, 1
jne 0x1400db2c4
mov rcx, r15
call fcn.140180564
mov rbx, qword [rsp + 0x70]
mov ecx, dword [rsp + 0x50]
mov r15, qword [rsp + 0x900]
mov r14, qword [rsp + 0x908]
mov r13, qword [rsp + 0x910]
mov r12, qword [rsp + 0x918]
mov rdi, qword [rsp + 0x920]
mov rsi, qword [rsp + 0x958]
cmp ecx, 0xffffffff
je 0x1400db307
call fcn.14018a820
mov ecx, dword [rsp + 0x5c]
cmp ecx, 0xffffffff
je 0x1400db315
call fcn.14018a820
mov ecx, dword [rsp + 0x64]
cmp ecx, 0xffffffff
je 0x1400db323
call fcn.14018a820
mov rax, qword [rbp - 0x60]
test rax, rax
je 0x1400db382
mov rcx, rax
call fcn.140181244
jmp 0x1400db390
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, eax
call fcn.14018a088
mov qword [rsp + 0x30], rax
lea r8, str.handle_cgi_request
mov rbx, rax
mov qword [rsp + 0x28], r14
lea rax, str.Error:_CGI_program___s_:_Can_not_create_CGI_pipes:__s
mov r9d, 0x2d8f
xor edx, edx
mov qword [rsp + 0x20], rax
mov rcx, r13
call fcn.1400e1360
mov r9, rbx
lea r8, str.Error:_Cannot_create_CGI_pipe:__s
jmp 0x1400daba0
mov ecx, dword [rsp + 0x54]
cmp ecx, 0xffffffff
je 0x1400db390
call fcn.14018a820
mov rax, qword [rbp - 0x80]
test rax, rax
je 0x1400db3a3
mov rcx, rax
call fcn.140181244
jmp 0x1400db3b1
mov ecx, dword [rsp + 0x58]
cmp ecx, 0xffffffff
je 0x1400db3b1
call fcn.14018a820
mov rax, qword [rbp - 0x78]
test rax, rax
je 0x1400db3c4
mov rcx, rax
call fcn.140181244
jmp 0x1400db3d2
mov ecx, dword [rsp + 0x60]
cmp ecx, 0xffffffff
je 0x1400db3d2
call fcn.14018a820
mov rcx, rbx
call fcn.140180564
mov rcx, qword [rbp + 0x7f0]
xor rcx, rsp
call fcn.1401702b0
add rsp, 0x928
pop rbx
pop rbp
ret