Function at 0x426020
Capabilities:
Get file version info

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rbp
push rsi
push rdi
push r14
sub rsp, 0x280
mov rax, qword [0x004fb010]
xor rax, rsp
mov qword [rsp + 0x270], rax
mov rsi, rdx
mov rbx, rcx
xor r14d, r14d
lea rcx, [rsp + 0x160]
xor edx, edx
mov dword [rsp + 0x48], r14d
mov r8d, 0x104
call fcn.004a2370
xor edx, edx
lea rcx, [rsp + 0x50]
mov r8d, 0x104
call fcn.004a2370
mov r8d, 0x104
mov qword [rsp + 0x40], r14
lea rdx, [rsp + 0x160]
mov dword [rsp + 0x4c], r14d
xor ecx, ecx
call qword [sym.imp.api_ms_win_core_libraryloader_l1_2_0.dll_GetModuleFileNameA]
test eax, eax
je 0x426299
lea edx, [r14 + 0x5c]
lea rcx, [rsp + 0x160]
call fcn.004a1f04
test rax, rax
je 0x4260be
mov byte [rax + 1], r14b
lea r9, [0x004beba8]
lea r8, [rsp + 0x160]
lea rdx, str._s_s
lea rcx, [rsp + 0x50]
call fcn.004263c0
lea rdx, [rsp + 0x48]
lea rcx, [rsp + 0x50]
call qword [sym.imp.api_ms_win_core_versionansi_l1_1_1.dll_GetFileVersionInfoSizeA]
mov edi, eax
test eax, eax
je 0x426299
mov ecx, edi
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov rbp, rax
test rax, rax
je 0x4262cc
mov edx, dword [rsp + 0x48]
lea rcx, [rsp + 0x50]
mov r9, rax
mov r8d, edi
call qword [sym.imp.api_ms_win_core_versionansi_l1_1_1.dll_GetFileVersionInfoA]
lea r9, [rsp + 0x4c]
mov rcx, rbp
lea r8, [rsp + 0x40]
lea rdx, [0x004beb1c]
call qword [sym.imp.api_ms_win_core_versionansi_l1_1_0.dll_VerQueryValueA]
mov r8, qword [rsp + 0x40]
mov edi, 0x20
movzx ecx, word [r8 + 0xe]
movzx edx, word [r8 + 8]
movzx eax, word [r8 + 0xc]
movzx r9d, word [r8 + 0xa]
lea r8, str._u._u._u._u
mov dword [rsp + 0x30], eax
mov dword [rsp + 0x28], ecx
mov rcx, rbx
mov dword [rsp + 0x20], edx
mov edx, edi
call fcn.00425a50
mov rcx, rbp
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
test rbx, rbx
je 0x426299
mov ecx, edi
mov rax, rbx
nop dword [rax]
cmp byte [rax], r14b
je 0x42619e
inc rax
sub rcx, 1
jne 0x426190
sub rdi, rcx
test rcx, rcx
cmove rdi, r14
je 0x426299
test rsi, rsi
je 0x426299
lea rax, [rdi - 1]
cmp rax, 0x1e
ja 0x426299
xorps xmm0, xmm0
lea rdx, [rdi + 1]
lea rax, [rdx - 1]
mov r8d, 0x7ffffffe
movups xmmword [rsi], xmm0
movups xmmword [rsi + 0x10], xmm0
cmp rax, r8
ja 0x426291
sub r8, rdx
mov rcx, rsi
sub rbx, rsi
nop
lea rax, [r8 + rdx]
test rax, rax
je 0x42620c
movzx eax, byte [rbx + rcx]
test al, al
je 0x42620c
mov byte [rcx], al
inc rcx
sub rdx, 1
jne 0x4261f0
test rdx, rdx
lea rax, [rcx - 1]
cmovne rax, rcx
mov byte [rax], r14b
je 0x426299
mov edx, 0x7c
lea rcx, str.C:Usersjk_kanDesktopGerritSWMgrAsusSoftwareManagerAsusSoftwareManagerGiftBoxServiceGiftBoxServiceCModuleVersion.cpp
call fcn.004036d0
lea rbx, [0x004be930]
mov ecx, 4
lea r9, str.Module:__S_r_n
mov r8d, 0x11e
lea rdx, [rbx + rax*2]
lea rax, [rsp + 0x50]
mov qword [rsp + 0x20], rax
call fcn.0044a600
mov edx, 0x7c
lea rcx, str.C:Usersjk_kanDesktopGerritSWMgrAsusSoftwareManagerAsusSoftwareManagerGiftBoxServiceGiftBoxServiceCModuleVersion.cpp
call fcn.004036d0
lea r9, str.Version:__S_r_n
mov qword [rsp + 0x20], rsi
mov ecx, 4
mov r8d, 0x11f
lea rdx, [rbx + rax*2]
call fcn.0044a600
mov eax, 1
jmp 0x4262ce
test rdx, rdx
je 0x426299
mov byte [rsi], r14b
mov edx, 0x7c
lea rcx, str.C:Usersjk_kanDesktopGerritSWMgrAsusSoftwareManagerAsusSoftwareManagerGiftBoxServiceGiftBoxServiceCModuleVersion.cpp
call fcn.004036d0
lea rbx, [0x004be930]
mov ecx, 4
lea r9, str.Cant_get_module_version__r_n
mov r8d, 0x126
lea rdx, [rbx + rax*2]
call fcn.0044a600
xor eax, eax
mov rcx, qword [rsp + 0x270]
xor rcx, rsp
call fcn.00479310
lea r11, [rsp + 0x280]
mov rbx, qword [r11 + 0x30]
mov rbp, qword [r11 + 0x38]
mov rsp, r11
pop r14
pop rdi
pop rsi
ret