// File: /workspace/github_c_makefile_star2_O0/SimpleDoger[P]Darknet_CPU_Only/data.c
// Function: load_thread
void *load_thread(void *ptr)
{
    //printf("Loading data: %d\n", rand());
    load_args a = *(struct load_args*)ptr;
    if(a.exposure == 0) a.exposure = 1;
    if(a.saturation == 0) a.saturation = 1;
    if(a.aspect == 0) a.aspect = 1;

    if (a.type == OLD_CLASSIFICATION_DATA){
        *a.d = load_data_old(a.paths, a.n, a.m, a.labels, a.classes, a.w, a.h);
    } else if (a.type == REGRESSION_DATA){
        *a.d = load_data_regression(a.paths, a.n, a.m, a.classes, a.min, a.max, a.size, a.angle, a.aspect, a.hue, a.saturation, a.exposure);
    } else if (a.type == CLASSIFICATION_DATA){
        *a.d = load_data_augment(a.paths, a.n, a.m, a.labels, a.classes, a.hierarchy, a.min, a.max, a.size, a.angle, a.aspect, a.hue, a.saturation, a.exposure, a.center);
    } else if (a.type == SUPER_DATA){
        *a.d = load_data_super(a.paths, a.n, a.m, a.w, a.h, a.scale);
    } else if (a.type == WRITING_DATA){
        *a.d = load_data_writing(a.paths, a.n, a.m, a.w, a.h, a.out_w, a.out_h);
    } else if (a.type == ISEG_DATA){
        *a.d = load_data_iseg(a.n, a.paths, a.m, a.w, a.h, a.classes, a.num_boxes, a.scale, a.min, a.max, a.angle, a.aspect, a.hue, a.saturation, a.exposure);
    } else if (a.type == INSTANCE_DATA){
        *a.d = load_data_mask(a.n, a.paths, a.m, a.w, a.h, a.classes, a.num_boxes, a.coords, a.min, a.max, a.angle, a.aspect, a.hue, a.saturation, a.exposure);
    } else if (a.type == SEGMENTATION_DATA){
        *a.d = load_data_seg(a.n, a.paths, a.m, a.w, a.h, a.classes, a.min, a.max, a.angle, a.aspect, a.hue, a.saturation, a.exposure, a.scale);
    } else if (a.type == REGION_DATA){
        *a.d = load_data_region(a.n, a.paths, a.m, a.w, a.h, a.num_boxes, a.classes, a.jitter, a.hue, a.saturation, a.exposure);
    } else if (a.type == DETECTION_DATA){
        *a.d = load_data_detection(a.n, a.paths, a.m, a.w, a.h, a.num_boxes, a.classes, a.jitter, a.hue, a.saturation, a.exposure);
    } else if (a.type == SWAG_DATA){
        *a.d = load_data_swag(a.paths, a.n, a.classes, a.jitter);
    } else if (a.type == COMPARE_DATA){
        *a.d = load_data_compare(a.n, a.paths, a.m, a.classes, a.w, a.h);
    } else if (a.type == IMAGE_DATA){
        *(a.im) = load_image_color(a.path, 0, 0);
        *(a.resized) = resize_image(*(a.im), a.w, a.h);
    } else if (a.type == LETTERBOX_DATA){
        *(a.im) = load_image_color(a.path, 0, 0);
        *(a.resized) = letterbox_image(*(a.im), a.w, a.h);
    } else if (a.type == TAG_DATA){
        *a.d = load_data_tag(a.paths, a.n, a.m, a.classes, a.min, a.max, a.size, a.angle, a.aspect, a.hue, a.saturation, a.exposure);
    }
    free(ptr);
    return 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r14
pushq %rbx
subq $0x500, %rsp            # imm = 0x500
movq %rdi, -0x18(%rbp)
movq -0x18(%rbp), %rsi
leaq -0xc0(%rbp), %rdi
movl $0xa8, %edx
callq 0x3280
movss -0x4c(%rbp), %xmm0
xorps %xmm1, %xmm1
ucomiss %xmm1, %xmm0
jne 0x36563
jp 0x36563
movss 0x3aaae(%rip), %xmm0    # 0x7100c
movss %xmm0, -0x4c(%rbp)
movss -0x50(%rbp), %xmm0
xorps %xmm1, %xmm1
ucomiss %xmm1, %xmm0
jne 0x3657f
jp 0x3657f
movss 0x3aa92(%rip), %xmm0    # 0x7100c
movss %xmm0, -0x50(%rbp)
movss -0x54(%rbp), %xmm0
xorps %xmm1, %xmm1
ucomiss %xmm1, %xmm0
jne 0x3659b
jp 0x3659b
movss 0x3aa76(%rip), %xmm0    # 0x7100c
movss %xmm0, -0x54(%rbp)
cmpl $0x9, -0x28(%rbp)
jne 0x36608
movq -0x40(%rbp), %rax
movq %rax, -0x468(%rbp)
movq -0xb8(%rbp), %rsi
movl -0xa8(%rbp), %edx
movl -0xa4(%rbp), %ecx
movq -0xa0(%rbp), %r8
movl -0x70(%rbp), %r9d
movl -0x94(%rbp), %r10d
movl -0x98(%rbp), %eax
leaq -0x100(%rbp), %rdi
movl %r10d, (%rsp)
movl %eax, 0x8(%rsp)
callq 0x36da0
movq -0x468(%rbp), %rdi
leaq -0x100(%rbp), %rsi
movl $0x40, %edx
callq 0x3280
jmp 0x36d85
cmpl $0xe, -0x28(%rbp)
jne 0x36685
movq -0x40(%rbp), %rax
movq %rax, -0x470(%rbp)
movq -0xb8(%rbp), %rsi
movl -0xa8(%rbp), %edx
movl -0xa4(%rbp), %ecx
movl -0x70(%rbp), %r8d
movl -0x7c(%rbp), %r9d
movl -0x78(%rbp), %r10d
movl -0x74(%rbp), %eax
movss -0x58(%rbp), %xmm0
movss -0x54(%rbp), %xmm1
movss -0x48(%rbp), %xmm2
movss -0x50(%rbp), %xmm3
movss -0x4c(%rbp), %xmm4
leaq -0x140(%rbp), %rdi
movl %r10d, (%rsp)
movl %eax, 0x8(%rsp)
callq 0x36e80
movq -0x470(%rbp), %rdi
leaq -0x140(%rbp), %rsi
movl $0x40, %edx
callq 0x3280
jmp 0x36d83
cmpl $0x0, -0x28(%rbp)
jne 0x36722
movq -0x40(%rbp), %rax
movq %rax, -0x478(%rbp)
movq -0xb8(%rbp), %rsi
movl -0xa8(%rbp), %edx
movl -0xa4(%rbp), %ecx
movq -0xa0(%rbp), %r8
movl -0x70(%rbp), %r9d
movq -0x20(%rbp), %r14
movl -0x7c(%rbp), %ebx
movl -0x78(%rbp), %r11d
movl -0x74(%rbp), %r10d
movss -0x58(%rbp), %xmm0
movss -0x54(%rbp), %xmm1
movss -0x48(%rbp), %xmm2
movss -0x50(%rbp), %xmm3
movss -0x4c(%rbp), %xmm4
movl -0x64(%rbp), %eax
leaq -0x180(%rbp), %rdi
movq %r14, (%rsp)
movl %ebx, 0x8(%rsp)
movl %r11d, 0x10(%rsp)
movl %r10d, 0x18(%rsp)
movl %eax, 0x20(%rsp)
callq 0x36f90
movq -0x478(%rbp), %rdi
leaq -0x180(%rbp), %rsi
movl $0x40, %edx
callq 0x3280
jmp 0x36d81
cmpl $0xc, -0x28(%rbp)
jne 0x36783
movq -0x40(%rbp), %rax
movq %rax, -0x480(%rbp)
movq -0xb8(%rbp), %rsi
movl -0xa8(%rbp), %edx
movl -0xa4(%rbp), %ecx
movl -0x94(%rbp), %r8d
movl -0x98(%rbp), %r9d
movl -0x68(%rbp), %eax
leaq -0x1c0(%rbp), %rdi
movl %eax, (%rsp)
callq 0x370c0
movq -0x480(%rbp), %rdi
leaq -0x1c0(%rbp), %rsi
movl $0x40, %edx
callq 0x3280
jmp 0x36d7f
cmpl $0x6, -0x28(%rbp)
jne 0x367f3
movq -0x40(%rbp), %rax
movq %rax, -0x488(%rbp)
movq -0xb8(%rbp), %rsi
movl -0xa8(%rbp), %edx
movl -0xa4(%rbp), %ecx
movl -0x94(%rbp), %r8d
movl -0x98(%rbp), %r9d
movl -0x90(%rbp), %r10d
movl -0x8c(%rbp), %eax
leaq -0x200(%rbp), %rdi
movl %r10d, (%rsp)
movl %eax, 0x8(%rsp)
callq 0x372b0
movq -0x488(%rbp), %rdi
leaq -0x200(%rbp), %rsi
movl $0x40, %edx
callq 0x3280
jmp 0x36d7d
cmpl $0x11, -0x28(%rbp)
jne 0x36893
movq -0x40(%rbp), %rax
movq %rax, -0x490(%rbp)
movl -0xa8(%rbp), %esi
movq -0xb8(%rbp), %rdx
movl -0xa4(%rbp), %ecx
movl -0x94(%rbp), %r8d
movl -0x98(%rbp), %r9d
movl -0x70(%rbp), %r14d
movl -0x80(%rbp), %ebx
movl -0x68(%rbp), %r11d
movl -0x7c(%rbp), %r10d
movl -0x78(%rbp), %eax
movss -0x58(%rbp), %xmm0
movss -0x54(%rbp), %xmm1
movss -0x48(%rbp), %xmm2
movss -0x50(%rbp), %xmm3
movss -0x4c(%rbp), %xmm4
leaq -0x240(%rbp), %rdi
movl %r14d, (%rsp)
movl %ebx, 0x8(%rsp)
movl %r11d, 0x10(%rsp)
movl %r10d, 0x18(%rsp)
movl %eax, 0x20(%rsp)
callq 0x34d40
movq -0x490(%rbp), %rdi
leaq -0x240(%rbp), %rsi
movl $0x40, %edx
callq 0x3280
jmp 0x36d7b
cmpl $0x10, -0x28(%rbp)
jne 0x36933
movq -0x40(%rbp), %rax
movq %rax, -0x498(%rbp)
movl -0xa8(%rbp), %esi
movq -0xb8(%rbp), %rdx
movl -0xa4(%rbp), %ecx
movl -0x94(%rbp), %r8d
movl -0x98(%rbp), %r9d
movl -0x70(%rbp), %r14d
movl -0x80(%rbp), %ebx
movl -0x60(%rbp), %r11d
movl -0x7c(%rbp), %r10d
movl -0x78(%rbp), %eax
movss -0x58(%rbp), %xmm0
movss -0x54(%rbp), %xmm1
movss -0x48(%rbp), %xmm2
movss -0x50(%rbp), %xmm3
movss -0x4c(%rbp), %xmm4
leaq -0x280(%rbp), %rdi
movl %r14d, (%rsp)
movl %ebx, 0x8(%rsp)
movl %r11d, 0x10(%rsp)
movl %r10d, 0x18(%rsp)
movl %eax, 0x20(%rsp)
callq 0x35060
movq -0x498(%rbp), %rdi
leaq -0x280(%rbp), %rsi
movl $0x40, %edx
callq 0x3280
jmp 0x36d79
cmpl $0xf, -0x28(%rbp)
jne 0x369ca
movq -0x40(%rbp), %rax
movq %rax, -0x4a0(%rbp)
movl -0xa8(%rbp), %esi
movq -0xb8(%rbp), %rdx
movl -0xa4(%rbp), %ecx
movl -0x94(%rbp), %r8d
movl -0x98(%rbp), %r9d
movl -0x70(%rbp), %ebx
movl -0x7c(%rbp), %r11d
movl -0x78(%rbp), %r10d
movss -0x58(%rbp), %xmm0
movss -0x54(%rbp), %xmm1
movss -0x48(%rbp), %xmm2
movss -0x50(%rbp), %xmm3
movss -0x4c(%rbp), %xmm4
movl -0x68(%rbp), %eax
leaq -0x2c0(%rbp), %rdi
movl %ebx, (%rsp)
movl %r11d, 0x8(%rsp)
movl %r10d, 0x10(%rsp)
movl %eax, 0x18(%rsp)
callq 0x349d0
movq -0x4a0(%rbp), %rdi
leaq -0x2c0(%rbp), %rsi
movl $0x40, %edx
callq 0x3280
jmp 0x36d77
cmpl $0x3, -0x28(%rbp)
jne 0x36a48
movq -0x40(%rbp), %rax
movq %rax, -0x4a8(%rbp)
movl -0xa8(%rbp), %esi
movq -0xb8(%rbp), %rdx
movl -0xa4(%rbp), %ecx
movl -0x94(%rbp), %r8d
movl -0x98(%rbp), %r9d
movl -0x80(%rbp), %r10d
movl -0x70(%rbp), %eax
movss -0x5c(%rbp), %xmm0
movss -0x48(%rbp), %xmm1
movss -0x50(%rbp), %xmm2
movss -0x4c(%rbp), %xmm3
leaq -0x300(%rbp), %rdi
movl %r10d, (%rsp)
movl %eax, 0x8(%rsp)
callq 0x35350
movq -0x4a8(%rbp), %rdi
leaq -0x300(%rbp), %rsi
movl $0x40, %edx
callq 0x3280
jmp 0x36d75
cmpl $0x1, -0x28(%rbp)
jne 0x36ac6
movq -0x40(%rbp), %rax
movq %rax, -0x4b0(%rbp)
movl -0xa8(%rbp), %esi
movq -0xb8(%rbp), %rdx
movl -0xa4(%rbp), %ecx
movl -0x94(%rbp), %r8d
movl -0x98(%rbp), %r9d
movl -0x80(%rbp), %r10d
movl -0x70(%rbp), %eax
movss -0x5c(%rbp), %xmm0
movss -0x48(%rbp), %xmm1
movss -0x50(%rbp), %xmm2
movss -0x4c(%rbp), %xmm3
leaq -0x340(%rbp), %rdi
movl %r10d, (%rsp)
movl %eax, 0x8(%rsp)
callq 0x360a0
movq -0x4b0(%rbp), %rdi
leaq -0x340(%rbp), %rsi
movl $0x40, %edx
callq 0x3280
jmp 0x36d73
cmpl $0x7, -0x28(%rbp)
jne 0x36b15
movq -0x40(%rbp), %rax
movq %rax, -0x4b8(%rbp)
movq -0xb8(%rbp), %rsi
movl -0xa8(%rbp), %edx
movl -0x70(%rbp), %ecx
movss -0x5c(%rbp), %xmm0
leaq -0x380(%rbp), %rdi
callq 0x35d40
movq -0x4b8(%rbp), %rdi
leaq -0x380(%rbp), %rsi
movl $0x40, %edx
callq 0x3280
jmp 0x36d71
cmpl $0x5, -0x28(%rbp)
jne 0x36b76
movq -0x40(%rbp), %rax
movq %rax, -0x4c0(%rbp)
movl -0xa8(%rbp), %esi
movq -0xb8(%rbp), %rdx
movl -0xa4(%rbp), %ecx
movl -0x70(%rbp), %r8d
movl -0x94(%rbp), %r9d
movl -0x98(%rbp), %eax
leaq -0x3c0(%rbp), %rdi
movl %eax, (%rsp)
callq 0x35770
movq -0x4c0(%rbp), %rdi
leaq -0x3c0(%rbp), %rsi
movl $0x40, %edx
callq 0x3280
jmp 0x36d6f
cmpl $0x4, -0x28(%rbp)
jne 0x36c35
movq -0x38(%rbp), %rax
movq %rax, -0x4d0(%rbp)
movq -0xb0(%rbp), %rsi
leaq -0x3d8(%rbp), %rdi
xorl %ecx, %ecx
movl %ecx, %edx
callq 0xf510
movq -0x4d0(%rbp), %rax
movq -0x3d8(%rbp), %rcx
movq %rcx, (%rax)
movq -0x3d0(%rbp), %rcx
movq %rcx, 0x8(%rax)
movq -0x3c8(%rbp), %rcx
movq %rcx, 0x10(%rax)
movq -0x30(%rbp), %rax
movq %rax, -0x4c8(%rbp)
movq -0x38(%rbp), %rax
movl -0x94(%rbp), %esi
movl -0x98(%rbp), %edx
leaq -0x3f0(%rbp), %rdi
movq (%rax), %rcx
movq %rcx, (%rsp)
movq 0x8(%rax), %rcx
movq %rcx, 0x8(%rsp)
movq 0x10(%rax), %rax
movq %rax, 0x10(%rsp)
callq 0xfc00
movq -0x4c8(%rbp), %rax
movq -0x3f0(%rbp), %rcx
movq %rcx, (%rax)
movq -0x3e8(%rbp), %rcx
movq %rcx, 0x8(%rax)
movq -0x3e0(%rbp), %rcx
movq %rcx, 0x10(%rax)
jmp 0x36d6d
cmpl $0xd, -0x28(%rbp)
jne 0x36cf1
movq -0x38(%rbp), %rax
movq %rax, -0x4e0(%rbp)
movq -0xb0(%rbp), %rsi
leaq -0x408(%rbp), %rdi
xorl %ecx, %ecx
movl %ecx, %edx
callq 0xf510
movq -0x4e0(%rbp), %rax
movq -0x408(%rbp), %rcx
movq %rcx, (%rax)
movq -0x400(%rbp), %rcx
movq %rcx, 0x8(%rax)
movq -0x3f8(%rbp), %rcx
movq %rcx, 0x10(%rax)
movq -0x30(%rbp), %rax
movq %rax, -0x4d8(%rbp)
movq -0x38(%rbp), %rax
movl -0x94(%rbp), %esi
movl -0x98(%rbp), %edx
leaq -0x420(%rbp), %rdi
movq (%rax), %rcx
movq %rcx, (%rsp)
movq 0x8(%rax), %rcx
movq %rcx, 0x8(%rsp)
movq 0x10(%rax), %rax
movq %rax, 0x10(%rsp)
callq 0x12c60
movq -0x4d8(%rbp), %rax
movq -0x420(%rbp), %rcx
movq %rcx, (%rax)
movq -0x418(%rbp), %rcx
movq %rcx, 0x8(%rax)
movq -0x410(%rbp), %rcx
movq %rcx, 0x10(%rax)
jmp 0x36d6b
cmpl $0x8, -0x28(%rbp)
jne 0x36d69
movq -0x40(%rbp), %rax
movq %rax, -0x4e8(%rbp)
movq -0xb8(%rbp), %rsi
movl -0xa8(%rbp), %edx
movl -0xa4(%rbp), %ecx
movl -0x70(%rbp), %r8d
movl -0x7c(%rbp), %r9d
movl -0x78(%rbp), %r10d
movl -0x74(%rbp), %eax
movss -0x58(%rbp), %xmm0
movss -0x54(%rbp), %xmm1
movss -0x48(%rbp), %xmm2
movss -0x50(%rbp), %xmm3
movss -0x4c(%rbp), %xmm4
leaq -0x460(%rbp), %rdi
movl %r10d, (%rsp)
movl %eax, 0x8(%rsp)
callq 0x373e0
movq -0x4e8(%rbp), %rdi
leaq -0x460(%rbp), %rsi
movl $0x40, %edx
callq 0x3280
jmp 0x36d6b
jmp 0x36d6d
jmp 0x36d6f
jmp 0x36d71
jmp 0x36d73
jmp 0x36d75
jmp 0x36d77
jmp 0x36d79
jmp 0x36d7b
jmp 0x36d7d
jmp 0x36d7f
jmp 0x36d81
jmp 0x36d83
jmp 0x36d85
movq -0x18(%rbp), %rdi
callq 0x3030
xorl %eax, %eax
addq $0x500, %rsp            # imm = 0x500
popq %rbx
popq %r14
popq %rbp
retq
nopl (%rax)