Function at 0x140084840
Capabilities:
Get system information on windows

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0xc8
mov rbx, qword [0x140207460]
mov rax, qword [rbx]
mov qword [rsp + 0xb8], rax
xor eax, eax
lea rax, [rsp + 0x58]
mov rbp, rdx
mov rsi, r9
mov qword [rsp + 0x20], rax
mov rbx, qword [0x140207c90]
mov rdi, rcx
lea r12, [rsp + 0xa0]
mov r9, r12
lea r8, [rsp + 0x50]
lea rdx, [0x1401d933c]
mov qword [rsp + 0x60], 0
mov qword [rsp + 0x68], 0
mov qword [rsp + 0x70], rbx
mov qword [rsp + 0x80], 0
mov qword [rsp + 0x88], 0
mov qword [rsp + 0x90], rbx
call fcn.14000e670
test eax, eax
js 0x140084034
mov rdx, qword [rsp + 0x50]
test rdx, rdx
je 0x140084034
mov r8, qword [rsp + 0xa0]
lea r13, [rsp + 0x60]
mov rcx, r13
call fcn.14007e800
mov r14, qword [rsp + 0x70]
mov rcx, r14
call fcn.140083dd0
test eax, eax
js 0x140084008
mov r15, qword [rsp + 0x58]
mov rcx, r15
call sub.msvcrt.dll_strlen
mov rdx, r15
mov r8, rax
lea rax, [rsp + 0x80]
mov rcx, rax
mov qword [rsp + 0x38], rax
call fcn.14007e800
mov rax, qword [rsi]
mov r15, qword [rsp + 0x70]
mov qword [rsp + 0xb0], rbx
mov qword [rsp + 0xa0], 0
mov r14, qword [rsi + 0x10]
mov r8, r15
mov rcx, rax
mov qword [rsp + 0x40], rax
mov qword [rsp + 0xa8], 0
mov rdx, r14
call fcn.1400839e0
mov rbx, rax
test rax, rax
je 0x1400841f0
mov r15, qword [rsp + 0x90]
lea rdx, [0x1401d9346]
mov rcx, r15
call sub.msvcrt.dll_strcmp
test eax, eax
jne 0x140084068
test rbp, rbp
je 0x1400841c8
mov rcx, rbp
call fcn.140039100
test eax, eax
jne 0x140084360
mov r15d, dword [rsi + 0x18]
mov rdi, qword [rbx]
test r15d, r15d
jne 0x140084390
test rdi, rdi
je 0x140084568
mov rcx, qword [rsi + 8]
mov rbx, qword [rbx + 8]
lea rdx, str.WORKTREE
test rcx, rcx
je 0x140083fe4
call fcn.1400202e0
mov rdx, rax
lea r9, [0x1401d9346]
mov r8, rbx
lea rcx, str._s:.gitmodules__multiple_configurations_found_for_submodule._s._s._Skipping_second_one_
call fcn.1400a0c10
xor ebx, ebx
jmp 0x1400841d5
mov rax, qword [0x1402078f0]
lea rcx, str.ignoring_suspicious_submodule_name:__s
mov eax, dword [rax]
test eax, eax
je 0x140084024
call sub.libintl_8.dll_libintl_gettext
mov rcx, rax
mov rdx, r14
call fcn.1400a0c10
mov rcx, r13
call fcn.14007d7e0
xor ebx, ebx
mov rsi, qword [0x140207460]
mov rax, qword [rsp + 0xb8]
sub rax, qword [rsi]
jne 0x140084799
mov eax, ebx
add rsp, 0xc8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
lea rdx, str.fetchrecursesubmodules
mov rcx, r15
call sub.msvcrt.dll_strcmp
test eax, eax
je 0x140084120
lea rdx, [0x1401d93c1]
mov rcx, r15
call sub.msvcrt.dll_strcmp
test eax, eax
jne 0x1400842d8
test rbp, rbp
je 0x1400841c8
mov r11d, dword [rsi + 0x18]
test r11d, r11d
je 0x140084510
lea rdx, [0x1401d93c8]
mov rcx, rbp
call sub.msvcrt.dll_strcmp
test eax, eax
je 0x140084100
lea rdx, [0x1401d93d2]
mov rcx, rbp
call sub.msvcrt.dll_strcmp
test eax, eax
je 0x140084100
lea rdx, [0x1401d93d8]
mov rcx, rbp
call sub.msvcrt.dll_strcmp
test eax, eax
je 0x140084100
lea rdx, [0x1401d93dc]
mov rcx, rbp
call sub.msvcrt.dll_strcmp
test eax, eax
jne 0x14008477e
nop dword [rax]
mov rcx, qword [rbx + 0x20]
call fcn.1400d2670
mov rcx, rbp
call fcn.1400a5f80
mov qword [rbx + 0x20], rax
xor ebx, ebx
jmp 0x1400841d5
mov r12, qword [rsi + 0x10]
call fcn.140025cb0
movsxd rdx, dword [r12 + 0x20]
test edx, edx
je 0x1400844f0
lea rcx, [rdx + rdx*2]
lea rcx, [rdx + rcx*4]
mov rdx, qword [0x1402079b0]
lea rdx, [rdx + rcx*8]
cmp qword [rdx + 0x10], 0x20
mov rdx, qword [r12]
je 0x140084660
mov rcx, qword [r12 + 8]
xor rdx, qword [rax]
xor rcx, qword [rax + 8]
or rdx, rcx
je 0x1400845c8
mov r12d, 1
mov r14d, dword [rsi + 0x18]
xor r12d, 1
test r14d, r14d
jne 0x140084580
cmp dword [rbx + 0x18], 0xfffffffe
je 0x140084580
mov rcx, qword [rsi + 8]
mov rbx, qword [rbx + 8]
lea rdx, str.WORKTREE
test rcx, rcx
je 0x1400841aa
call fcn.1400202e0
mov rdx, rax
mov r8, rbx
lea r9, str.fetchrecursesubmodules
lea rcx, str._s:.gitmodules__multiple_configurations_found_for_submodule._s._s._Skipping_second_one_
xor ebx, ebx
call fcn.1400a0c10
jmp 0x1400841d5
mov rcx, rdi
mov ebx, 0xffffffff
call fcn.14000d120
mov rcx, r13
call fcn.14007d7e0
mov rcx, qword [rsp + 0x38]
call fcn.14007d7e0
jmp 0x140084036
mov ecx, 0x68
call fcn.1400a5fa0
mov rcx, r15
mov rbx, rax
call sub.msvcrt.dll_strlen
mov rdx, r15
mov rcx, r12
lea r15, [rbx + 0x40]
mov r8, rax
call fcn.14007e800
xor edx, edx
mov rcx, r12
call fcn.14007d860
pxor xmm0, xmm0
mov rcx, r15
mov qword [rbx], 0
movups xmmword [rbx + 0x20], xmm0
mov r9, qword [0x140207cf0]
mov qword [rbx + 8], rax
mov qword [rbx + 0x10], 0
mov dword [rbx + 0x30], 0
mov qword [rbx + 0x38], 0
mov dword [rbx + 0x18], 0xfffffffe
mov dword [rbx + 0x64], 0xffffffff
movdqu xmm1, xmmword [r14]
mov qword [rsp + 0x48], rax
movups xmmword [rbx + 0x40], xmm1
movdqu xmm2, xmmword [r14 + 0x10]
movups xmmword [rbx + 0x50], xmm2
mov eax, dword [r14 + 0x20]
mov dword [rbx + 0x60], eax
mov rax, qword [r9]
mov rax, qword [rax + 0x100]
mov rdx, qword [rax + 0x10]
call fcn.14001f7c0
mov rcx, qword [rsp + 0x48]
mov r15d, eax
call fcn.14001f750
mov ecx, 0x18
add r15d, eax
call fcn.1400a5fa0
mov rcx, qword [rsp + 0x40]
mov dword [rax + 8], r15d
mov rdx, rax
mov qword [rax], 0
add rcx, 0x30
mov qword [rax + 0x10], rbx
call fcn.14001fb20
jmp 0x140083f77
lea rdx, [0x1401d9427]
mov rcx, r15
call sub.msvcrt.dll_strcmp
test eax, eax
je 0x140084480
lea rdx, [0x1401d942b]
mov rcx, r15
call sub.msvcrt.dll_strcmp
test eax, eax
jne 0x1400845e0
test rbp, rbp
je 0x1400841c8
mov r8d, dword [rsi + 0x18]
test r8d, r8d
jne 0x140084323
mov ecx, dword [rbx + 0x30]
test ecx, ecx
jne 0x14008472d
lea rdx, [rbx + 0x30]
mov rcx, rbp
call fcn.1400872d0
test eax, eax
js 0x14008433d
cmp dword [rbx + 0x30], 5
jne 0x140083ffa
mov rax, qword [0x1402078f0]
lea rcx, str.invalid_value_for__s
cmp dword [rax], 0
je 0x140084358
call sub.libintl_8.dll_libintl_gettext
mov rcx, rax
mov rdx, rdi
call fcn.1400a08a0
mov rax, qword [0x1402078f0]
lea rcx, str.ignoring__s_which_may_be_interpreted_as_a_command_line_option:__s
mov r10d, dword [rax]
test r10d, r10d
jne 0x140084558
mov r8, rbp
mov rdx, rdi
xor ebx, ebx
call fcn.1400a0c10
jmp 0x1400841d5
test rdi, rdi
je 0x140084568
mov r9, qword [0x140207cf0]
lea r15, [rbx + 0x40]
mov r14, qword [rsi]
mov rcx, r15
mov rax, qword [r9]
mov qword [rsp + 0x48], r9
mov rax, qword [rax + 0x100]
mov rdx, qword [rax + 0x10]
call fcn.14001f7c0
mov rcx, rdi
mov dword [rsp + 0x40], eax
call fcn.14001f750
mov edi, dword [rsp + 0x40]
xor r8d, r8d
mov rdx, r12
mov rcx, r14
mov qword [rsp + 0xb0], rbx
mov qword [rsp + 0xa0], 0
add edi, eax
mov dword [rsp + 0xa8], edi
call fcn.14001fbb0
mov rcx, rax
call fcn.1400d2670
mov rdi, qword [rbx]
mov r9, qword [rsp + 0x48]
mov rcx, rdi
mov qword [rsp + 0x40], r9
call fcn.1400d2670
mov rcx, rbp
call fcn.1400a5f80
mov r9, qword [rsp + 0x40]
mov rcx, r15
mov rsi, qword [rsi]
mov qword [rbx], rax
mov rbp, rax
mov rax, qword [r9]
mov rax, qword [rax + 0x100]
mov rdx, qword [rax + 0x10]
call fcn.14001f7c0
mov rcx, rbp
mov edi, eax
call fcn.14001f750
mov ecx, 0x18
add edi, eax
call fcn.1400a5fa0
mov rcx, rsi
mov qword [rax + 0x10], rbx
mov rdx, rax
xor ebx, ebx
mov dword [rax + 8], edi
mov qword [rax], 0
call fcn.14001fc90
jmp 0x1400841d5
test rbp, rbp
je 0x1400841c8
mov rcx, rbp
call fcn.140039100
test eax, eax
jne 0x140084360
mov r9d, dword [rsi + 0x18]
mov rcx, qword [rbx + 0x10]
test r9d, r9d
jne 0x140084698
test rcx, rcx
je 0x140084698
mov rcx, qword [rsi + 8]
mov rbx, qword [rbx + 8]
lea rdx, str.WORKTREE
test rcx, rcx
je 0x1400844cf
call fcn.1400202e0
mov rdx, rax
mov r8, rbx
lea r9, [0x1401d9427]
lea rcx, str._s:.gitmodules__multiple_configurations_found_for_submodule._s._s._Skipping_second_one_
xor ebx, ebx
call fcn.1400a0c10
jmp 0x1400841d5
mov rdx, qword [0x140207cf0]
mov rdx, qword [rdx]
mov rdx, qword [rdx + 0x100]
jmp 0x140084149
cmp qword [rbx + 0x20], 0
je 0x1400840ac
mov rcx, qword [rsi + 8]
mov rbx, qword [rbx + 8]
lea rdx, str.WORKTREE
test rcx, rcx
je 0x140084537
call fcn.1400202e0
mov rdx, rax
mov r8, rbx
lea r9, [0x1401d93c1]
lea rcx, str._s:.gitmodules__multiple_configurations_found_for_submodule._s._s._Skipping_second_one_
xor ebx, ebx
call fcn.1400a0c10
jmp 0x1400841d5
call sub.libintl_8.dll_libintl_gettext
mov rcx, rax
jmp 0x14008437a
mov r9, qword [0x140207cf0]
lea r15, [rbx + 0x40]
jmp 0x14008440d
mov rcx, rbp
call fcn.1400090b0
test eax, eax
je 0x1400845ba
cmp eax, 1
je 0x140084650
lea rdx, [0x1401d928f]
mov rcx, rbp
call sub.msvcrt.dll_strcmp
test eax, eax
je 0x14008479e
test r12d, r12d
jne 0x1400847a6
mov eax, 0xfffffffd
mov dword [rbx + 0x18], eax
xor ebx, ebx
jmp 0x1400841d5
mov eax, dword [rax + 0x10]
cmp dword [r12 + 0x10], eax
jne 0x14008416d
xor r12d, r12d
jmp 0x140084173
lea rdx, [0x1401d9432]
mov rcx, r15
call sub.msvcrt.dll_strcmp
test eax, eax
jne 0x1400846b0
mov edx, dword [rsi + 0x18]
test edx, edx
jne 0x140084718
cmp dword [rbx + 0x64], 0xffffffff
je 0x140084718
mov rcx, qword [rsi + 8]
mov r8, qword [rbx + 8]
lea rdx, str.WORKTREE
test rcx, rcx
je 0x140084632
mov qword [rsp + 0x40], r8
call fcn.1400202e0
mov r8, qword [rsp + 0x40]
mov rdx, rax
lea r9, [0x1401d9432]
lea rcx, str._s:.gitmodules__multiple_configurations_found_for_submodule._s._s._Skipping_second_one_
xor ebx, ebx
call fcn.1400a0c10
jmp 0x1400841d5
mov eax, 2
jmp 0x1400845ba
mov rcx, qword [r12 + 8]
xor rdx, qword [rax]
xor rcx, qword [rax + 8]
or rdx, rcx
jne 0x14008416d
mov rdx, qword [r12 + 0x10]
mov rcx, qword [r12 + 0x18]
xor rdx, qword [rax + 0x10]
xor rcx, qword [rax + 0x18]
or rdx, rcx
jne 0x14008416d
jmp 0x1400845d6
call fcn.1400d2670
mov rcx, rbp
call fcn.1400a5f80
mov qword [rbx + 0x10], rax
xor ebx, ebx
jmp 0x1400841d5
lea rdx, [0x1401d943a]
mov rcx, r15
call sub.msvcrt.dll_strcmp
test eax, eax
jne 0x140083ffa
mov eax, dword [rsi + 0x18]
mov rcx, qword [rbx + 0x28]
test eax, eax
jne 0x140084766
test rcx, rcx
je 0x140084766
mov rcx, qword [rsi + 8]
mov rbx, qword [rbx + 8]
lea rdx, str.WORKTREE
test rcx, rcx
je 0x1400846fb
call fcn.1400202e0
mov rdx, rax
mov r8, rbx
lea r9, [0x1401d943a]
lea rcx, str._s:.gitmodules__multiple_configurations_found_for_submodule._s._s._Skipping_second_one_
xor ebx, ebx
call fcn.1400a0c10
jmp 0x1400841d5
mov rdx, rbp
mov rcx, rdi
call fcn.140009190
mov dword [rbx + 0x64], eax
xor ebx, ebx
jmp 0x1400841d5
mov rcx, qword [rsi + 8]
mov rbx, qword [rbx + 8]
lea rdx, str.WORKTREE
test rcx, rcx
je 0x140084749
call fcn.1400202e0
mov rdx, rax
mov r8, rbx
lea r9, [0x1401d942b]
lea rcx, str._s:.gitmodules__multiple_configurations_found_for_submodule._s._s._Skipping_second_one_
xor ebx, ebx
call fcn.1400a0c10
jmp 0x1400841d5
call fcn.1400d2670
mov rcx, rbp
call fcn.1400a5f80
mov qword [rbx + 0x28], rax
xor ebx, ebx
jmp 0x1400841d5
mov r8, qword [rsp + 0x70]
mov rdx, rbp
lea rcx, str.Invalid_parameter__s_for_config_option_submodule._s.ignore
xor ebx, ebx
call fcn.1400a0c10
jmp 0x1400841d5
call fcn.1401be670
or eax, 0xffffffff
jmp 0x1400845ba
mov r8, rbp
mov rdx, rdi
lea rcx, [0x1401d9299]
call fcn.1400a08a0
nop
nop dword [rax]
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x58
mov rbp, qword [0x140207460]
mov rax, qword [rbp]
mov qword [rsp + 0x48], rax
mov rax, qword [r9 + 0xe8]
mov rbx, rcx
mov rsi, rdx
mov rdi, r8
mov qword [rsp + 0x28], 0
mov qword [rsp + 0x20], rax
call fcn.140025cb0
mov rdx, rsi
lea r9, [rsp + 0x20]
mov r8, rdi
mov rcx, rbx
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x38], 1
call fcn.140083e30
mov rdx, qword [rsp + 0x48]
sub rdx, qword [rbp]
jne 0x14008482f
add rsp, 0x58
pop rbx
pop rsi
pop rdi
pop rbp
ret
call fcn.1401be670
nop
nop word cs:[rax + rax]
sub rsp, 0x28
call fcn.140008ed0
test eax, eax
js 0x140084861
je 0x140084858
add rsp, 0x28
ret
add rsp, 0x28
jmp fcn.14008c870
call fcn.140083590
nop
nop word [rax + rax]