Function at 0x100407740
Capabilities:
Query environment variable
Terminate process

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x48
mov esi, 1
mov r14d, ecx
mov r12, rdx
cmp ecx, 1
jle 0x1004078e6
mov edi, esi
nop word cs:[rax + rax]
movsxd rax, edi
mov rbx, qword [r12 + rax*8]
lea rdx, [rax*8]
movzx eax, byte [rbx]
cmp eax, 0x2d
je 0x100407900
mov ecx, 0x2d
cmp ecx, eax
jne 0x1004077b0
movzx r8d, byte [rbx + 1]
cmp ecx, r8d
jne 0x1004077b0
cmp byte [rbx + 2], 0
je 0x100407adc
nop dword [rax + rax]
cmp eax, 0x2d
jne 0x100407988
cmp byte [rbx + 1], 0x44
jne 0x100407988
cmp byte [rbx + 2], 0
jne 0x100407988
add edi, 1
cmp edi, r14d
jge 0x100407b30
mov rax, qword [r12 + rdx + 8]
lea r13, [rsp + 0x38]
mov edx, 0x2c
lea rbp, [rsp + 0x36]
mov word [rsp + 0x36], dx
mov r8, r13
mov rdx, rbp
mov rcx, rax
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x38], 0
call sub.msys_2.0.dll_strtok_r
test rax, rax
je 0x100407aba
mov dword [rsp + 0x2c], edi
mov rbx, qword [0x10044c2e0]
mov dword [rsp + 0x90], r14d
mov qword [rsp + 0x98], r12
mov r12, rax
nop dword [rax]
lea r15, str.exec
xor r14d, r14d
mov rsi, r15
mov rdi, r15
nop dword [rax + rax]
mov rcx, qword [rdi]
mov rdx, r12
call sub.msys_2.0.dll_strcmp
test eax, eax
je 0x100407940
add r14, 1
add rdi, 0x18
cmp r14, 9
jne 0x100407850
mov edx, dword [rbx + 0x6c]
mov r8, qword [rsp + 0x20]
xor ecx, ecx
call fcn.10041bd70
lea rcx, str.Ignoring_unrecognised_debug_flag__s
mov rsi, rax
call sub.msys_intl_8.dll_libintl_gettext
mov r9, rsi
xor edx, edx
xor ecx, ecx
mov r8, rax
call sub.msys_2.0.dll_error
mov r8, r13
mov rdx, rbp
xor ecx, ecx
call sub.msys_2.0.dll_strtok_r
mov r12, rax
test rax, rax
jne 0x100407838
mov edi, dword [rsp + 0x2c]
mov r14d, dword [rsp + 0x90]
mov r12, qword [rsp + 0x98]
test byte [rbx + 0x40], 0x10
jne 0x100407a31
nop dword [rax]
add edi, 1
cmp r14d, edi
jg 0x100407770
mov esi, edi
mov eax, esi
add rsp, 0x48
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
cmp byte [rbx + 1], 0x48
je 0x100407958
cmp eax, 0x2d
jne 0x10040778b
cmp byte [rbx + 1], 0x4c
je 0x100407970
cmp eax, 0x2d
jne 0x10040778b
cmp byte [rbx + 1], 0x50
jne 0x10040778b
cmp byte [rbx + 2], 0
jne 0x10040778b
xor ecx, ecx
call fcn.10040d650
jmp 0x1004078d8
lea rax, [r14 + r14*2]
movsxd rax, dword [rsi + rax*8 + 8]
or qword [rbx + 0x40], rax
jmp 0x10040789e
cmp byte [rbx + 2], 0
jne 0x100407906
mov ecx, 2
call fcn.10040d650
jmp 0x1004078d8
cmp byte [rbx + 2], 0
jne 0x100407915
mov ecx, 1
call fcn.10040d650
jmp 0x1004078d8
cmp byte [rbx], 0x2d
jne 0x1004078e4
cmp byte [rbx + 1], 0x4f
jne 0x1004078e4
cmp byte [rbx + 2], 0
lea rsi, [rbx + 2]
je 0x100407ae6
call sub.msys_2.0.dll___locale_ctype_ptr
movzx edx, byte [rbx + 2]
test byte [rdx + rax + 1], 4
je 0x100407b27
call sub.msys_2.0.dll___errno
mov ebx, dword [rax]
call sub.msys_2.0.dll___errno
lea rdx, [rsp + 0x38]
mov r8d, 0xa
mov rcx, rsi
mov dword [rax], 0
call sub.msys_2.0.dll_strtoul
mov rdx, qword [rsp + 0x38]
test rax, rax
jne 0x100407a15
cmp rsi, rdx
je 0x100407b27
cmp byte [rdx], 0
jne 0x100407b39
mov rsi, qword [0x10044c2e0]
mov word [rsi + 0x68], ax
call sub.msys_2.0.dll___errno
mov dword [rax], ebx
jmp 0x1004078d8
cmp byte [rdx], 0
jne 0x100407b39
cmp rax, 0xffffffffffffffff
je 0x100407a8e
cmp rax, 0xffff
jbe 0x1004079fe
mov rbx, rax
jmp 0x100407a9c
call sub.msys_2.0.dll___getreent
lea rcx, str.Valid_arguments_for__D:_n
lea rbp, [0x1004365f8]
mov rbx, qword [rax + 0x10]
lea rdi, str.__10s__s_n
call sub.msys_intl_8.dll_libintl_gettext
mov rcx, rax
mov rdx, rbx
call fcn.100431ac0
nop
mov rsi, qword [r15 + 0x10]
mov rbx, qword [r15]
add r15, 0x18
call sub.msys_2.0.dll___getreent
mov rdx, rdi
mov rcx, qword [rax + 0x10]
mov r9, rsi
mov r8, rbx
call sub.msys_2.0.dll_fprintf
cmp rbp, r15
jne 0x100407a60
xor ecx, ecx
call sub.msys_2.0.dll_exit
mov rbx, rax
call sub.msys_2.0.dll___errno
mov eax, dword [rax]
test eax, eax
jne 0x100407b01
lea rcx, str.Optimisation_level__lu_is_too_high.__If_you_want_to_find_files_very_quickly__consider_using_GNU_locate.
call sub.msys_intl_8.dll_libintl_gettext
mov r9, rbx
xor edx, edx
mov ecx, 1
mov r8, rax
call sub.msys_2.0.dll_error
lea rcx, str.Empty_argument_to_the__D_option.
call sub.msys_intl_8.dll_libintl_gettext
xor ecx, ecx
xor edx, edx
mov r8, rax
call sub.msys_2.0.dll_error
mov ecx, 1
call fcn.100406c30
mov esi, edi
add esi, 1
jmp 0x1004078e6
lea rcx, str.The__O_option_must_be_immediately_followed_by_a_decimal_integer
call sub.msys_intl_8.dll_libintl_gettext
xor edx, edx
mov ecx, 1
mov r8, rax
call sub.msys_2.0.dll_error
lea rcx, str.Invalid_optimisation_level__s
call sub.msys_intl_8.dll_libintl_gettext
mov rbx, rax
call sub.msys_2.0.dll___errno
mov r9, rsi
mov r8, rbx
mov ecx, 1
mov edx, dword [rax]
call sub.msys_2.0.dll_error
lea rcx, str.Please_specify_a_decimal_number_immediately_after__O
jmp 0x100407aed
lea rcx, str.Missing_argument_after_the__D_option.
jmp 0x100407ac1
lea rcx, str.Invalid_optimisation_level__s
call sub.msys_intl_8.dll_libintl_gettext
mov r9, rsi
xor edx, edx
mov ecx, 1
mov r8, rax
call sub.msys_2.0.dll_error
nop
nop dword [rax + rax]