// File: /workspace/github_c_makefile_star2_O0/adsr[P]phpspy/./phpspy_trace.c
// Function: trace_request_info_70
static int trace_request_info(trace_context_t *context) {
    int rv;
    sapi_globals_struct sapi_globals;
    trace_target_t *target;
    trace_request_t *request;

    memset(&sapi_globals, 0, sizeof(sapi_globals));
    request = &context->event.request;
    target = &context->target;

    try_copy_proc_mem("sapi_globals", (void*)target->sapi_globals_addr, &sapi_globals, sizeof(sapi_globals));
    #define try_copy_sapi_global_field(__field, __local) do {                                                   \
        if ((opt_capture_req_ ## __local) && sapi_globals.request_info.__field) {                               \
            try_copy_proc_mem(#__field, sapi_globals.request_info.__field, request->__local, PHPSPY_STR_SIZE);  \
        } else {                                                                                                \
            request->__local[0] = '-';                                                                          \
            request->__local[1] = '\0';                                                                         \
        }                                                                                                       \
    } while (0)
    try_copy_sapi_global_field(query_string, qstring);
    try_copy_sapi_global_field(cookie_data, cookie);
    try_copy_sapi_global_field(request_uri, uri);
    try_copy_sapi_global_field(path_translated, path);
    #undef try_copy_sapi_global_field

    request->ts = sapi_globals.global_request_time;

    try(rv, context->event_handler(context, PHPSPY_TRACE_EVENT_REQUEST));

    return PHPSPY_OK;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x1f0, %rsp            # imm = 0x1F0
movq %rdi, -0x10(%rbp)
leaq -0x1d4(%rbp), %rdi
xorl %esi, %esi
movl $0x1c0, %edx            # imm = 0x1C0
callq 0x6230
movq -0x10(%rbp), %rax
addq $0x28, %rax
addq $0x328, %rax            # imm = 0x328
movq %rax, -0x1e8(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x1e0(%rbp)
movq -0x10(%rbp), %rax
movl (%rax), %edi
movq -0x1e0(%rbp), %rax
movq 0x10(%rax), %rdx
leaq 0x2201b(%rip), %rsi     # 0x34c85
leaq -0x1d4(%rbp), %rcx
movl $0x1c0, %r8d            # imm = 0x1C0
callq 0x12680
movl %eax, -0x14(%rbp)
cmpl $0x0, %eax
je 0x12c8f
movl -0x14(%rbp), %eax
movl %eax, -0x4(%rbp)
jmp 0x12ea7
jmp 0x12c91
jmp 0x12c93
cmpl $0x0, 0x2985a(%rip)     # 0x3c4f4
je 0x12cec
cmpq $0x0, -0x1c4(%rbp)
je 0x12cec
jmp 0x12ca8
movq -0x10(%rbp), %rax
movl (%rax), %edi
movq -0x1c4(%rbp), %rdx
movq -0x1e8(%rbp), %rcx
addq $0x200, %rcx            # imm = 0x200
leaq 0x22338(%rip), %rsi     # 0x35002
movl $0x100, %r8d            # imm = 0x100
callq 0x12680
movl %eax, -0x14(%rbp)
cmpl $0x0, %eax
je 0x12ce8
movl -0x14(%rbp), %eax
movl %eax, -0x4(%rbp)
jmp 0x12ea7
jmp 0x12cea
jmp 0x12d08
movq -0x1e8(%rbp), %rax
movb $0x2d, 0x200(%rax)
movq -0x1e8(%rbp), %rax
movb $0x0, 0x201(%rax)
jmp 0x12d0a
jmp 0x12d0c
cmpl $0x0, 0x297e5(%rip)     # 0x3c4f8
je 0x12d65
cmpq $0x0, -0x1bc(%rbp)
je 0x12d65
jmp 0x12d21
movq -0x10(%rbp), %rax
movl (%rax), %edi
movq -0x1bc(%rbp), %rdx
movq -0x1e8(%rbp), %rcx
addq $0x300, %rcx            # imm = 0x300
leaq 0x222cc(%rip), %rsi     # 0x3500f
movl $0x100, %r8d            # imm = 0x100
callq 0x12680
movl %eax, -0x14(%rbp)
cmpl $0x0, %eax
je 0x12d61
movl -0x14(%rbp), %eax
movl %eax, -0x4(%rbp)
jmp 0x12ea7
jmp 0x12d63
jmp 0x12d81
movq -0x1e8(%rbp), %rax
movb $0x2d, 0x300(%rax)
movq -0x1e8(%rbp), %rax
movb $0x0, 0x301(%rax)
jmp 0x12d83
jmp 0x12d85
cmpl $0x0, 0x29770(%rip)     # 0x3c4fc
je 0x12dd7
cmpq $0x0, -0x1a4(%rbp)
je 0x12dd7
jmp 0x12d9a
movq -0x10(%rbp), %rax
movl (%rax), %edi
movq -0x1a4(%rbp), %rdx
movq -0x1e8(%rbp), %rcx
leaq 0x22266(%rip), %rsi     # 0x3501b
movl $0x100, %r8d            # imm = 0x100
callq 0x12680
movl %eax, -0x14(%rbp)
cmpl $0x0, %eax
je 0x12dd3
movl -0x14(%rbp), %eax
movl %eax, -0x4(%rbp)
jmp 0x12ea7
jmp 0x12dd5
jmp 0x12dec
movq -0x1e8(%rbp), %rax
movb $0x2d, (%rax)
movq -0x1e8(%rbp), %rax
movb $0x0, 0x1(%rax)
jmp 0x12dee
jmp 0x12df0
cmpl $0x0, 0x29709(%rip)     # 0x3c500
je 0x12e46
cmpq $0x0, -0x1ac(%rbp)
je 0x12e46
jmp 0x12e05
movq -0x10(%rbp), %rax
movl (%rax), %edi
movq -0x1ac(%rbp), %rdx
movq -0x1e8(%rbp), %rcx
addq $0x100, %rcx            # imm = 0x100
leaq 0x22200(%rip), %rsi     # 0x35027
movl $0x100, %r8d            # imm = 0x100
callq 0x12680
movl %eax, -0x14(%rbp)
cmpl $0x0, %eax
je 0x12e42
movl -0x14(%rbp), %eax
movl %eax, -0x4(%rbp)
jmp 0x12ea7
jmp 0x12e44
jmp 0x12e62
movq -0x1e8(%rbp), %rax
movb $0x2d, 0x100(%rax)
movq -0x1e8(%rbp), %rax
movb $0x0, 0x101(%rax)
jmp 0x12e64
movsd -0x1c(%rbp), %xmm0
movq -0x1e8(%rbp), %rax
movsd %xmm0, 0x400(%rax)
movq -0x10(%rbp), %rax
movq 0x798(%rax), %rax
movq -0x10(%rbp), %rdi
movl $0x5, %esi
callq *%rax
movl %eax, -0x14(%rbp)
cmpl $0x0, %eax
je 0x12e9e
movl -0x14(%rbp), %eax
movl %eax, -0x4(%rbp)
jmp 0x12ea7
jmp 0x12ea0
movl $0x0, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x1f0, %rsp            # imm = 0x1F0
popq %rbp
retq
nopw %cs:(%rax,%rax)