Function at 0x140009720
Capabilities:
Get file version info

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x2c0]
sub rsp, 0x3c0
mov rax, qword [0x140051268]
xor rax, rsp
mov qword [rbp + 0x2b0], rax
mov r14, rcx
mov qword [rbp + 0x40], rcx
xor r12d, r12d
mov dword [rsp + 0x34], r12d
call fcn.140002db0
mov rcx, rax
lea r9, [0x140036098]
lea r8, str.Utils::GetBinaryVersion
xor edx, edx
call fcn.1400151c0
mov ebx, r12d
mov qword [rsp + 0x78], rbx
call fcn.140002db0
cmp byte [rax + 0x64], r12b
je 0x1400097e4
lea ecx, [r12 + 0x28]
call fcn.14000e7f0
mov rbx, rax
mov qword [rbp + 0x88], rax
test rax, rax
je 0x1400097dc
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbx], xmm0
movups xmmword [rbx + 0x10], xmm0
mov qword [rbx + 0x20], rax
call fcn.140002db0
mov rdx, rax
lea r8, str.Utils::GetBinaryVersion
mov rcx, rbx
call fcn.140010790
mov rbx, rax
jmp 0x1400097df
mov rbx, r12
mov qword [rsp + 0x78], rbx
mov qword [r14], r12
mov qword [r14 + 0x10], r12
mov qword [r14 + 0x18], 7
mov word [r14], r12w
mov r8d, 7
lea rdx, str.0.0.0.0
mov rcx, r14
call fcn.140002c80
mov dword [rsp + 0x34], 1
xor edx, edx
mov r8d, 0x208
lea rcx, [rbp + 0xa0]
call fcn.140017ce0
mov r8d, 0x104
lea rdx, [rbp + 0xa0]
xor ecx, ecx
call qword [sym.imp.api_ms_win_core_libraryloader_l1_2_0.dll_GetModuleFileNameW]
test eax, eax
je 0x140009f24
mov dword [rbp + 0x90], r12d
mov dword [rbp + 0x94], r12d
mov qword [rbp + 0x88], r12
lea rdx, [rbp + 0x90]
lea rcx, [rbp + 0xa0]
call sub.api_ms_win_core_version_l1_1_1.dll_GetFileVersionInfoSizeW
mov esi, eax
test eax, eax
je 0x140009ef4
cmp dword [rbp + 0x90], 0
jne 0x140009ef4
mov ecx, esi
call fcn.14000e840
mov r15, rax
test rax, rax
je 0x140009ed2
mov r8d, esi
xor edx, edx
mov rcx, rax
call fcn.140017ce0
mov r9, r15
mov r8d, esi
mov edx, dword [rbp + 0x90]
lea rcx, [rbp + 0xa0]
call sub.api_ms_win_core_version_l1_1_1.dll_GetFileVersionInfoW
test eax, eax
je 0x140009e9c
lea r9, [rbp + 0x94]
lea r8, [rbp + 0x88]
lea rdx, [0x140036aec]
mov rcx, r15
call sub.api_ms_win_core_version_l1_1_0.dll_VerQueryValueW
test eax, eax
je 0x140009e86
cmp dword [rbp + 0x94], 0
je 0x140009e73
mov rdi, qword [rbp + 0x88]
test rdi, rdi
je 0x140009e46
cmp dword [rdi], 0xfeef04bd
jne 0x140009e38
movzx edx, word [rdi + 0xc]
lea rcx, [rbp + 0x68]
call fcn.14000cb40
mov r13, rax
movzx edx, word [rdi + 0xe]
lea rcx, [rbp - 0x40]
call fcn.14000cb40
mov r12, rax
movzx edx, word [rdi + 8]
lea rcx, [rbp - 0x60]
call fcn.14000cb40
mov rsi, rax
movzx edx, word [rdi + 0xa]
lea rcx, [rbp - 0x80]
call fcn.14000cb40
nop
mov r8, qword [rax + 0x10]
mov r9, qword [rax + 0x18]
mov rcx, r9
sub rcx, r8
mov r10d, 0x2e
cmp rcx, 1
mov rcx, rax
jb 0x14000998b
lea rdx, [r8 + 1]
mov qword [rax + 0x10], rdx
cmp r9, 8
jb 0x14000997e
mov rcx, qword [rax]
mov word [rcx + r8*2], r10w
xor edi, edi
mov word [rcx + rdx*2], di
jmp 0x1400099a9
mov qword [rsp + 0x20], 1
lea r9, [0x140036b18]
xor r8d, r8d
lea edx, [r8 + 1]
call fcn.140002ff0
xor edi, edi
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0x20], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0x30], xmm1
mov qword [rax + 0x10], rdi
mov qword [rax + 0x18], 7
mov word [rax], di
mov dword [rsp + 0x34], 3
mov r9, rsi
lea r8, [rbp + 0x20]
movzx edx, byte [rsp + 0x30]
lea rcx, [rsp + 0x58]
call fcn.140008b20
mov dword [rsp + 0x34], 7
mov rdx, qword [rsp + 0x68]
mov r8, qword [rsp + 0x70]
mov rax, r8
sub rax, rdx
cmp rax, 1
jb 0x140009a2f
lea rcx, [rdx + 1]
mov qword [rsp + 0x68], rcx
lea rax, [rsp + 0x58]
cmp r8, 8
cmovae rax, qword [rsp + 0x58]
mov esi, 0x2e
mov word [rax + rdx*2], si
mov word [rax + rcx*2], di
lea rax, [rsp + 0x58]
jmp 0x140009a55
mov qword [rsp + 0x20], 1
lea r9, [0x140036b18]
xor r8d, r8d
lea edx, [r8 + 1]
lea rcx, [rsp + 0x58]
call fcn.140002ff0
mov esi, 0x2e
movups xmm0, xmmword [rax]
movups xmmword [rbp], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0x10], xmm1
mov qword [rax + 0x10], rdi
mov qword [rax + 0x18], 7
mov word [rax], di
mov dword [rsp + 0x34], 0xf
mov r9, r12
lea r8, [rbp]
movzx edx, byte [rsp + 0x30]
lea rcx, [rsp + 0x38]
call fcn.140008b20
mov dword [rsp + 0x34], 0x1f
mov rdx, qword [rsp + 0x48]
mov r8, qword [rsp + 0x50]
mov rax, r8
sub rax, rdx
cmp rax, 1
jb 0x140009ad6
lea rcx, [rdx + 1]
mov qword [rsp + 0x48], rcx
lea rax, [rsp + 0x38]
cmp r8, 8
cmovae rax, qword [rsp + 0x38]
mov word [rax + rdx*2], si
mov word [rax + rcx*2], di
lea rax, [rsp + 0x38]
jmp 0x140009af7
mov qword [rsp + 0x20], 1
lea r9, [0x140036b18]
xor r8d, r8d
lea edx, [r8 + 1]
lea rcx, [rsp + 0x38]
call fcn.140002ff0
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x20], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x10], xmm1
mov qword [rax + 0x10], rdi
mov qword [rax + 0x18], 7
mov word [rax], di
mov dword [rsp + 0x34], 0x3f
mov r9, r13
lea r8, [rbp - 0x20]
movzx edx, byte [rsp + 0x30]
lea rcx, [rbp + 0x48]
call fcn.140008b20
mov dword [rsp + 0x34], 0x7f
lea rdx, [rbp + 0x48]
mov rcx, r14
call fcn.1400034a0
mov rdx, qword [rbp + 0x60]
cmp rdx, 8
jb 0x140009b87
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140009b81
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140009f98
call fcn.14000e830
nop
mov rdx, qword [rbp - 8]
cmp rdx, 8
jb 0x140009bc8
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x20]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140009bc2
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140009f9e
call fcn.14000e830
nop
mov rdx, qword [rsp + 0x50]
cmp rdx, 8
jb 0x140009c0a
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x38]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140009c05
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140009fa4
call fcn.14000e830
mov qword [rsp + 0x48], rdi
mov qword [rsp + 0x50], 7
mov word [rsp + 0x38], di
mov rdx, qword [rbp + 0x18]
cmp rdx, 8
jb 0x140009c5e
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140009c58
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140009faa
call fcn.14000e830
nop
mov rdx, qword [rsp + 0x70]
cmp rdx, 8
jb 0x140009ca0
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x58]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140009c9b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140009fb0
call fcn.14000e830
mov qword [rsp + 0x68], rdi
mov qword [rsp + 0x70], 7
mov word [rsp + 0x58], di
mov rdx, qword [rbp + 0x38]
cmp rdx, 8
jb 0x140009cf4
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x20]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140009cee
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140009fb6
call fcn.14000e830
nop
mov rdx, qword [rbp - 0x68]
cmp rdx, 8
jb 0x140009d34
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x80]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140009d2f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140009fbc
call fcn.14000e830
mov qword [rbp - 0x70], rdi
mov qword [rbp - 0x68], 7
mov word [rbp - 0x80], di
mov rdx, qword [rbp - 0x48]
cmp rdx, 8
jb 0x140009d84
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140009d7f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140009fc2
call fcn.14000e830
mov qword [rbp - 0x50], rdi
mov qword [rbp - 0x48], 7
mov word [rbp - 0x60], di
mov rdx, qword [rbp - 0x28]
cmp rdx, 8
jb 0x140009dd4
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140009dcf
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140009fc8
call fcn.14000e830
mov qword [rbp - 0x30], rdi
mov qword [rbp - 0x28], 7
mov word [rbp - 0x40], di
mov rdx, qword [rbp + 0x80]
cmp rdx, 8
jb 0x140009ec8
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140009e26
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140009f92
call fcn.14000e830
mov rcx, r15
call fcn.14000e830
jmp 0x140009f24
call fcn.140002db0
lea r9, str.Signature_not_correct
jmp 0x140009e52
call fcn.140002db0
lea r9, str.VS_FIXEDFILEINFO_buffer_is_NULL
mov rcx, rax
lea r8, str.Utils::GetBinaryVersion
mov edx, 5
call fcn.1400151c0
mov rcx, r15
call fcn.14000e830
jmp 0x140009f24
call fcn.140002db0
mov dword [rsp + 0x20], r12d
lea r9, str.VerQueryValue_returned_size___d
jmp 0x140009eb4
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
mov edi, eax
call fcn.140002db0
lea r9, str.VerQueryValue_failed_with_error__d
jmp 0x140009eb0
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
mov edi, eax
call fcn.140002db0
lea r9, str.GetFileVersionInfo_failed_with_error__d
mov dword [rsp + 0x20], edi
lea r8, str.Utils::GetBinaryVersion
mov edx, 5
mov rcx, rax
call fcn.1400151c0
mov rcx, r15
call fcn.14000e830
jmp 0x140009f24
call fcn.140002db0
mov rcx, rax
lea r9, str.Version_String_Allocation_failed
lea r8, str.Utils::GetBinaryVersion
mov edx, 5
call fcn.1400151c0
jmp 0x140009f24
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
mov edi, eax
call fcn.140002db0
mov rcx, rax
mov dword [rsp + 0x28], edi
mov dword [rsp + 0x20], esi
lea r9, str.GetFileVersionInfoSize_Return_Value____d_Error_Code_
lea r8, str.Utils::GetBinaryVersion
mov edx, 5
call fcn.1400151c0
call fcn.140002db0
mov rcx, rax
lea r9, [0x140036098]
lea r8, str.Utils::GetBinaryVersion
mov edx, 1
call fcn.1400151c0
nop
test rbx, rbx
je 0x140009f5f
mov rcx, rbx
call fcn.140011230
mov edx, 0x28
mov rcx, rbx
call fcn.14000e830
mov rax, r14
mov rcx, qword [rbp + 0x2b0]
xor rcx, rsp
call fcn.14000ee50
lea r11, [rsp + 0x3c0]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call fcn.14001bd00
nop
call fcn.14001bd00
nop
call fcn.14001bd00
nop
call fcn.14001bd00
nop
call fcn.14001bd00
nop
call fcn.14001bd00
nop
call fcn.14001bd00
nop
call fcn.14001bd00
nop
call fcn.14001bd00
nop
call fcn.14001bd00
int3