Function at 0x140047e80
Capabilities:
Get file version info

Disassembly:
mov r11, rsp
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x4f0
mov qword [r11 - 0x2d8], 0xfffffffffffffffe
mov qword [r11 + 8], rbx
mov qword [r11 + 0x18], rsi
mov rax, qword [0x14009b038]
xor rax, rsp
mov qword [rsp + 0x4e0], rax
mov rsi, r9
mov r14d, edx
mov dword [rsp + 0x30], edx
mov qword [r11 - 0x2a0], r9
mov r15, qword [rsp + 0x548]
mov qword [rsp + 0x58], r15
xor ebx, ebx
mov dword [rsp + 0x390], ebx
movdqa xmm0, xmmword [0x1400812a0]
movdqu xmmword [rsp + 0x3d0], xmm0
mov word [rsp + 0x3c0], bx
xor r8d, r8d
lea rdx, [0x140077e2c]
lea rcx, [r11 - 0x158]
call fcn.14000fab0
nop
movdqa xmm0, xmmword [0x1400812a0]
movdqu xmmword [rsp + 0x3b0], xmm0
mov word [rsp + 0x3a0], bx
xor r8d, r8d
lea rdx, [0x140077e2c]
lea rcx, [rsp + 0x3a0]
call fcn.14000fab0
nop
mov rax, qword [0x14009e568]
mov rcx, rax
mov rdx, qword [0x14009e570]
cmp rax, rdx
je 0x140047f93
cmp dword [rcx], r14d
je 0x140047f66
add rcx, 8
cmp rcx, rdx
jne 0x140047f56
jmp 0x140047f93
cmp r14d, 0xffffffff
je 0x140047f93
cmp rax, rdx
je 0x1400489f9
cmp dword [rax], r14d
jne 0x140047f85
mov byte [rax + 5], 1
mov rdx, qword [0x14009e570]
add rax, 8
cmp rax, rdx
jne 0x140047f75
jmp 0x1400489f9
mov dword [rsp + 0x398], r14d
mov word [rsp + 0x39c], 0x101
mov rax, qword [rsp + 0x398]
mov qword [rsp + 0x268], rax
lea rdx, [rsp + 0x268]
call fcn.14004abb0
xor edx, edx
mov r8d, 0x110
lea rcx, [rsp + 0x280]
call sub.VCRUNTIME140.dll_memset
mov rdx, rsi
lea rcx, [rsp + 0x280]
call fcn.14000edd0
nop
mov rax, qword [rsp + 0x280]
movsxd rcx, dword [rax + 4]
test byte [rsp + rcx + 0x290], 6
jne 0x140048162
mov dword [rsp + 0x394], ebx
lea rax, [0x140077e29]
mov qword [rsp + 0x268], rax
cmp qword [rsi + 0x18], 8
jb 0x140048024
mov rcx, qword [rsi]
jmp 0x140048027
mov rcx, rsi
lea rdx, [rsp + 0x394]
call qword [sym.imp.VERSION.dll_GetFileVersionInfoSizeW]
mov edi, eax
test eax, eax
je 0x140048141
mov ecx, edi
call fcn.140062b2c
mov r12, rax
cmp qword [rsi + 0x18], 8
jb 0x140048055
mov rcx, qword [rsi]
jmp 0x140048058
mov rcx, rsi
mov r9, r12
mov r8d, edi
mov edx, dword [rsp + 0x394]
call qword [sym.imp.VERSION.dll_GetFileVersionInfoW]
test eax, eax
je 0x140048138
mov dword [rsp + 0x390], ebx
lea r9, [rsp + 0x390]
lea r8, [rsp + 0x270]
lea rdx, str.VarFileInfoTranslation
mov rcx, r12
call qword [sym.imp.VERSION.dll_VerQueryValueW]
mov r15d, ebx
mov eax, dword [rsp + 0x390]
test rax, 0xfffffffffffffffc
jbe 0x140048113
mov rdi, rbx
nop
mov rax, qword [rsp + 0x270]
movzx r9d, word [rdi + rax + 2]
movzx r8d, word [rdi + rax]
lea rdx, str.StringFileInfo_04x_04xCompanyName
lea rcx, [rsp + 0x410]
call qword [sym.imp.USER32.dll_wsprintfW]
lea r9, [rsp + 0x398]
lea r8, [rsp + 0x268]
lea rdx, [rsp + 0x410]
mov rcx, r12
call qword [sym.imp.VERSION.dll_VerQueryValueW]
inc r15d
lea rdi, [rdi + 4]
mov ecx, dword [rsp + 0x390]
shr rcx, 2
movsxd rax, r15d
cmp rax, rcx
jb 0x1400480b0
mov rdx, qword [rsp + 0x268]
or r8, 0xffffffffffffffff
nop
inc r8
cmp word [rdx + r8*2], 0
jne 0x140048120
lea rcx, [rsp + 0x3c0]
call fcn.14000fab0
mov rcx, r12
call fcn.140062b24
nop
jmp 0x140048152
lea r8, [rsp + 0x3a0]
mov rdx, rsi
call fcn.14000e340
mov edi, dword [rsp + 0x544]
shl rdi, 0x20
mov eax, dword [rsp + 0x540]
or rdi, rax
movdqa xmm0, xmmword [0x1400812a0]
movdqu xmmword [rsp + 0x190], xmm0
mov word [rsp + 0x180], bx
or r9, 0xffffffffffffffff
xor r8d, r8d
lea rdx, [rsp + 0x3a0]
lea rcx, [rsp + 0x180]
call fcn.140010290
lea rdx, [rsp + 0x180]
lea rcx, [rsp + 0x248]
call fcn.140019700
mov r12, rax
movdqa xmm0, xmmword [0x1400812a0]
movdqu xmmword [rsp + 0x1b0], xmm0
mov word [rsp + 0x1a0], bx
or r9, 0xffffffffffffffff
xor r8d, r8d
lea rdx, [rsp + 0x3c0]
lea rcx, [rsp + 0x1a0]
call fcn.140010290
lea rdx, [rsp + 0x1a0]
lea rcx, [rsp + 0x220]
call fcn.140019700
mov r13, rax
movdqa xmm0, xmmword [0x1400812a0]
movdqu xmmword [rsp + 0x1d0], xmm0
mov word [rsp + 0x1c0], bx
or r9, 0xffffffffffffffff
xor r8d, r8d
mov rdx, rsi
lea rcx, [rsp + 0x1c0]
call fcn.140010290
lea rdx, [rsp + 0x1c0]
lea rcx, [rsp + 0x200]
call fcn.140019700
mov r15, rax
mov edx, r14d
lea rcx, [rsp + 0x1e0]
call fcn.14000bc50
mov r14, rax
lea r9, [rsp + 0x40a]
movabs r8, 0xcccccccccccccccd
nop
sub r9, 2
mov rax, r8
mul rdi
shr rdx, 3
movzx eax, dx
shl ax, 2
lea ecx, [rax + rdx]
add cx, cx
sub di, cx
add di, 0x30
mov word [r9], di
mov rdi, rdx
test rdx, rdx
jne 0x140048280
movdqa xmm0, xmmword [0x1400812a0]
movdqu xmmword [rsp + 0x70], xmm0
mov word [rsp + 0x60], bx
lea rax, [rsp + 0x40a]
cmp r9, rax
je 0x1400482ea
lea r8, [rsp + 0x40a]
sub r8, r9
sar r8, 1
mov rdx, r9
lea rcx, [rsp + 0x60]
call fcn.14000fab0
nop
movdqa xmm0, xmmword [0x1400812a0]
movdqu xmmword [rsp + 0x48], xmm0
mov word [rsp + 0x38], bx
mov dword [rsp + 0x390], 7
mov rdx, qword [0x14009f4e0]
inc rdx
cmp rdx, 8
jb 0x140048322
lea rcx, [rsp + 0x38]
call fcn.1400103a0
or r9, 0xffffffffffffffff
xor r8d, r8d
lea rdx, [0x14009f4d0]
lea rcx, [rsp + 0x38]
call fcn.140010540
mov edx, 0x2c
lea rcx, [rsp + 0x38]
call fcn.14000f960
mov rax, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x48]
sub rax, rcx
mov rdx, qword [rsp + 0x70]
cmp rdx, rax
jbe 0x14004838a
mov rax, qword [rsp + 0x78]
sub rax, rdx
cmp rax, rcx
jb 0x14004838a
mov qword [rsp + 0x20], 0xffffffffffffffff
xor r9d, r9d
lea r8, [rsp + 0x38]
lea rcx, [rsp + 0x60]
call fcn.140011090
jmp 0x1400483a0
or r9, 0xffffffffffffffff
xor r8d, r8d
lea rdx, [rsp + 0x60]
lea rcx, [rsp + 0x38]
call fcn.140010540
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], 7
mov dword [rsp + 0x390], 0xf
mov word [rax], bx
movups xmmword [rsp + 0x90], xmm1
movups xmmword [rsp + 0x80], xmm0
mov edx, 0x2c
lea rcx, [rsp + 0x80]
call fcn.14000f960
movups xmm0, xmmword [rsp + 0x80]
movups xmmword [rsp + 0x160], xmm0
movups xmm1, xmmword [rsp + 0x90]
movdqu xmmword [rsp + 0x170], xmm1
movdqa xmm0, xmmword [0x1400812a0]
movdqu xmmword [rsp + 0x90], xmm0
mov word [rsp + 0x80], bx
mov dword [rsp + 0x390], 0x1f
mov rcx, qword [r14 + 0x10]
movdqa xmm0, xmm1
psrldq xmm0, 8
movq rax, xmm0
movq rdx, xmm1
sub rax, rdx
cmp rcx, rax
jbe 0x140048471
mov rax, qword [r14 + 0x18]
sub rax, rcx
cmp rax, rdx
jb 0x140048471
mov qword [rsp + 0x20], 0xffffffffffffffff
xor r9d, r9d
lea r8, [rsp + 0x160]
mov rcx, r14
call fcn.140011090
jmp 0x140048488
or r9, 0xffffffffffffffff
xor r8d, r8d
mov rdx, r14
lea rcx, [rsp + 0x160]
call fcn.140010540
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], 7
mov dword [rsp + 0x390], 0x3f
mov word [rax], bx
movups xmmword [rsp + 0xb0], xmm1
movups xmmword [rsp + 0xa0], xmm0
mov edx, 0x2c
lea rcx, [rsp + 0xa0]
call fcn.14000f960
movups xmm0, xmmword [rsp + 0xa0]
movups xmmword [rsp + 0x140], xmm0
movups xmm1, xmmword [rsp + 0xb0]
movdqu xmmword [rsp + 0x150], xmm1
movdqa xmm0, xmmword [0x1400812a0]
movdqu xmmword [rsp + 0xb0], xmm0
mov word [rsp + 0xa0], bx
mov dword [rsp + 0x390], 0x7f
mov rcx, qword [r15 + 0x10]
movdqa xmm0, xmm1
psrldq xmm0, 8
movq rax, xmm0
movq rdx, xmm1
sub rax, rdx
cmp rcx, rax
jbe 0x140048559
mov rax, qword [r15 + 0x18]
sub rax, rcx
cmp rax, rdx
jb 0x140048559
mov qword [rsp + 0x20], 0xffffffffffffffff
xor r9d, r9d
lea r8, [rsp + 0x140]
mov rcx, r15
call fcn.140011090
jmp 0x140048570
or r9, 0xffffffffffffffff
xor r8d, r8d
mov rdx, r15
lea rcx, [rsp + 0x140]
call fcn.140010540
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], 7
mov dword [rsp + 0x390], 0xff
mov word [rax], bx
movups xmmword [rsp + 0xd0], xmm1
movups xmmword [rsp + 0xc0], xmm0
mov edx, 0x2c
lea rcx, [rsp + 0xc0]
call fcn.14000f960
movups xmm0, xmmword [rsp + 0xc0]
movups xmmword [rsp + 0x120], xmm0
movups xmm1, xmmword [rsp + 0xd0]
movdqu xmmword [rsp + 0x130], xmm1
movdqa xmm0, xmmword [0x1400812a0]
movdqu xmmword [rsp + 0xd0], xmm0
mov word [rsp + 0xc0], bx
mov dword [rsp + 0x390], 0x1ff
mov rcx, qword [r13 + 0x10]
movdqa xmm0, xmm1
psrldq xmm0, 8
movq rax, xmm0
movq rdx, xmm1
sub rax, rdx
cmp rcx, rax
jbe 0x140048641
mov rax, qword [r13 + 0x18]
sub rax, rcx
cmp rax, rdx
jb 0x140048641
mov qword [rsp + 0x20], 0xffffffffffffffff
xor r9d, r9d
lea r8, [rsp + 0x120]
mov rcx, r13
call fcn.140011090
jmp 0x140048658
or r9, 0xffffffffffffffff
xor r8d, r8d
mov rdx, r13
lea rcx, [rsp + 0x120]
call fcn.140010540
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], 7
mov dword [rsp + 0x390], 0x3ff
mov word [rax], bx
movups xmmword [rsp + 0xf0], xmm1
movups xmmword [rsp + 0xe0], xmm0
mov edx, 0x2c
lea rcx, [rsp + 0xe0]
call fcn.14000f960
movups xmm0, xmmword [rsp + 0xe0]
movups xmmword [rsp + 0x100], xmm0
movups xmm1, xmmword [rsp + 0xf0]
movdqu xmmword [rsp + 0x110], xmm1
movdqa xmm0, xmmword [0x1400812a0]
movdqu xmmword [rsp + 0xf0], xmm0
mov word [rsp + 0xe0], bx
mov dword [rsp + 0x390], 0x7ff
mov rcx, qword [r12 + 0x10]
movdqa xmm0, xmm1
psrldq xmm0, 8
movq rax, xmm0
movq rdx, xmm1
sub rax, rdx
cmp rcx, rax
jbe 0x14004872b
mov rax, qword [r12 + 0x18]
sub rax, rcx
cmp rax, rdx
jb 0x14004872b
mov qword [rsp + 0x20], 0xffffffffffffffff
xor r9d, r9d
lea r8, [rsp + 0x100]
mov rcx, r12
call fcn.140011090
jmp 0x140048742
or r9, 0xffffffffffffffff
xor r8d, r8d
mov rdx, r12
lea rcx, [rsp + 0x100]
call fcn.140010540
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], 7
mov dword [rsp + 0x390], 0xfff
mov word [rax], bx
movups xmmword [rsp + 0x3f0], xmm1
movups xmmword [rsp + 0x3e0], xmm0
lea rdx, [rsp + 0x3e0]
mov rcx, qword [rsp + 0x58]
call fcn.140010b70
nop
mov r8, qword [rsp + 0x3f8]
cmp r8, 8
jb 0x1400487a5
inc r8
mov rdx, qword [rsp + 0x3e0]
call fcn.1400107d0
nop
mov r8, qword [rsp + 0x118]
cmp r8, 8
jb 0x1400487c3
inc r8
mov rdx, qword [rsp + 0x100]
call fcn.1400107d0
movdqa xmm0, xmmword [0x1400812a0]
movdqu xmmword [rsp + 0x110], xmm0
mov word [rsp + 0x100], bx
mov r8, qword [rsp + 0x138]
cmp r8, 8
jb 0x1400487fa
inc r8
mov rdx, qword [rsp + 0x120]
call fcn.1400107d0
movdqa xmm0, xmmword [0x1400812a0]
movdqu xmmword [rsp + 0x130], xmm0
mov word [rsp + 0x120], bx
mov r8, qword [rsp + 0x158]
cmp r8, 8
jb 0x140048831
inc r8
mov rdx, qword [rsp + 0x140]
call fcn.1400107d0
movdqa xmm0, xmmword [0x1400812a0]
movdqu xmmword [rsp + 0x150], xmm0
mov word [rsp + 0x140], bx
mov r8, qword [rsp + 0x178]
cmp r8, 8
jb 0x140048868
inc r8
mov rdx, qword [rsp + 0x160]
call fcn.1400107d0
movdqa xmm0, xmmword [0x1400812a0]
movdqu xmmword [rsp + 0x170], xmm0
mov word [rsp + 0x160], bx
mov r8, qword [rsp + 0x50]
cmp r8, 8
jb 0x140048899
inc r8
mov rdx, qword [rsp + 0x38]
call fcn.1400107d0
movdqa xmm0, xmmword [0x1400812a0]
movdqu xmmword [rsp + 0x48], xmm0
mov word [rsp + 0x38], bx
mov r8, qword [rsp + 0x78]
cmp r8, 8
jb 0x1400488c4
inc r8
mov rdx, qword [rsp + 0x60]
call fcn.1400107d0
movdqa xmm0, xmmword [0x1400812a0]
movdqu xmmword [rsp + 0x70], xmm0
mov word [rsp + 0x60], bx
mov r8, qword [rsp + 0x1f8]
cmp r8, 8
jb 0x1400488f5
inc r8
mov rdx, qword [rsp + 0x1e0]
call fcn.1400107d0
movdqa xmm0, xmmword [0x1400812a0]
movdqu xmmword [rsp + 0x1f0], xmm0
mov word [rsp + 0x1e0], bx
mov r8, qword [rsp + 0x218]
cmp r8, 8
jb 0x14004892c
inc r8
mov rdx, qword [rsp + 0x200]
call fcn.1400107d0
movdqa xmm0, xmmword [0x1400812a0]
movdqu xmmword [rsp + 0x210], xmm0
mov word [rsp + 0x200], bx
mov r8, qword [rsp + 0x238]
cmp r8, 8
jb 0x140048963
inc r8
mov rdx, qword [rsp + 0x220]
call fcn.1400107d0
movdqa xmm0, xmmword [0x1400812a0]
movdqu xmmword [rsp + 0x230], xmm0
mov word [rsp + 0x220], bx
mov r8, qword [rsp + 0x260]
cmp r8, 8
jb 0x14004899b
inc r8
mov rdx, qword [rsp + 0x248]
call fcn.1400107d0
nop
mov rax, qword [rsp + 0x280]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_ifstream_char__struct_std::char_traits_char__.0
mov qword [rsp + rcx + 0x280], rax
mov rax, qword [rsp + 0x280]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xb0]
mov dword [rsp + rcx + 0x27c], edx
lea rcx, [rsp + 0x290]
call fcn.14000f7c0
lea rcx, [rsp + 0x298]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_istream_char__struct_std::char_traits_char__::destructor_void____ptr64]
lea rcx, [rsp + 0x330]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::destructor_void____ptr64]
nop
mov r8, qword [rsp + 0x3b8]
cmp r8, 8
jb 0x140048a17
inc r8
mov rdx, qword [rsp + 0x3a0]
call fcn.1400107d0
movdqa xmm0, xmmword [0x1400812a0]
movdqu xmmword [rsp + 0x3b0], xmm0
mov word [rsp + 0x3a0], bx
mov r8, qword [rsp + 0x3d8]
cmp r8, 8
jb 0x140048a4e
inc r8
mov rdx, qword [rsp + 0x3c0]
call fcn.1400107d0
movdqa xmm0, xmmword [0x1400812a0]
movdqu xmmword [rsp + 0x3d0], xmm0
mov word [rsp + 0x3c0], bx
mov r8, qword [rsi + 0x18]
cmp r8, 8
jb 0x140048a7c
inc r8
mov rdx, qword [rsi]
call fcn.1400107d0
mov qword [rsi + 0x10], rbx
mov qword [rsi + 0x18], 7
mov word [rsi], bx
mov rcx, qword [rsp + 0x4e0]
xor rcx, rsp
call fcn.140062800
lea r11, [rsp + 0x4f0]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret