Function at 0x18001f860
Capabilities:
Get file version info

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rsi
push rdi
sub rsp, 0x2f8
mov rax, qword [0x1800623f8]
xor rax, rsp
mov qword [rsp + 0x2e8], rax
cmp qword [rsp + 0x310], 0
je 0x18001f8a9
cmp qword [rsp + 0x318], 0
jne 0x18001fb81
mov dword [rsp + 0xa8], 0
mov dword [rsp + 0x9c], 0xe
cmp dword [rsp + 0x9c], 0
jle 0x18001f91f
mov eax, dword [rsp + 0x9c]
cdq
and eax, 1
xor eax, edx
sub eax, edx
cdqe
add rax, 4
cmp rax, 4
jbe 0x18001f902
mov dword [rsp + 0xa8], 4
mov eax, dword [rsp + 0x9c]
sub eax, 2
mov dword [rsp + 0x9c], eax
jmp 0x18001f8bf
mov dword [rsp + 0xa8], 4
mov eax, dword [rsp + 0x9c]
dec eax
mov dword [rsp + 0x9c], eax
jmp 0x18001f8bf
mov dword [rsp + 0x8c], 6
mov dword [rsp + 0x7c], 7
mov eax, dword [rsp + 0x7c]
test eax, eax
jle 0x18001f990
mov eax, dword [rsp + 0x7c]
cmp eax, 1
jle 0x18001f963
mov eax, dword [rsp + 0x8c]
and eax, 0x169a
mov dword [rsp + 0x8c], eax
mov eax, dword [rsp + 0x7c]
sub eax, 2
mov dword [rsp + 0x7c], eax
jmp 0x18001f932
mov eax, dword [rsp + 0x8c]
cmp eax, 0x809
jle 0x18001f984
mov eax, dword [rsp + 0x8c]
and eax, 0x82
mov dword [rsp + 0x8c], eax
mov eax, dword [rsp + 0x7c]
dec eax
mov dword [rsp + 0x7c], eax
jmp 0x18001f932
mov dword [rsp + 0x98], 3
mov dword [rsp + 0xa0], 0xc
cmp dword [rsp + 0xa0], 0
jle 0x18001fa07
mov eax, dword [rsp + 0xa0]
cdq
and eax, 1
xor eax, edx
sub eax, edx
cdqe
add rax, 4
cmp rax, 4
jbe 0x18001f9e9
mov dword [rsp + 0x98], 0
mov eax, dword [rsp + 0xa0]
sub eax, 2
mov dword [rsp + 0xa0], eax
jmp 0x18001f9a6
mov dword [rsp + 0x98], 4
mov eax, dword [rsp + 0xa0]
sub eax, 2
mov dword [rsp + 0xa0], eax
jmp 0x18001f9a6
mov dword [rsp + 0x80], 5
mov dword [rsp + 0x90], 4
mov eax, dword [rsp + 0x90]
test eax, eax
jle 0x18001fa8b
mov eax, dword [rsp + 0x90]
cmp eax, 1
jle 0x18001fa5a
mov eax, dword [rsp + 0x80]
and eax, 0x1952
mov dword [rsp + 0x80], eax
mov eax, dword [rsp + 0x90]
sub eax, 2
mov dword [rsp + 0x90], eax
jmp 0x18001fa1d
mov eax, dword [rsp + 0x80]
cmp eax, 0x806
jle 0x18001fa79
mov eax, dword [rsp + 0x80]
and eax, 0x7f
mov dword [rsp + 0x80], eax
mov eax, dword [rsp + 0x90]
dec eax
mov dword [rsp + 0x90], eax
jmp 0x18001fa1d
mov dword [rsp + 0x94], 2
mov dword [rsp + 0xa4], 0x10
cmp dword [rsp + 0xa4], 0
jle 0x18001fb01
mov eax, dword [rsp + 0xa4]
cdq
and eax, 1
xor eax, edx
sub eax, edx
cdqe
add rax, 4
cmp rax, 4
jbe 0x18001fae3
mov dword [rsp + 0x94], 4
mov eax, dword [rsp + 0xa4]
dec eax
mov dword [rsp + 0xa4], eax
jmp 0x18001faa1
mov dword [rsp + 0x94], 4
mov eax, dword [rsp + 0xa4]
sub eax, 2
mov dword [rsp + 0xa4], eax
jmp 0x18001faa1
mov dword [rsp + 0x88], 7
mov dword [rsp + 0x84], 0x14
cmp dword [rsp + 0x84], 0
jle 0x18001fb77
mov eax, dword [rsp + 0x84]
cdq
and eax, 1
xor eax, edx
sub eax, edx
cdqe
add rax, 4
cmp rax, 4
jbe 0x18001fb5a
mov dword [rsp + 0x88], 0
mov eax, dword [rsp + 0x84]
sub eax, 2
mov dword [rsp + 0x84], eax
jmp 0x18001fb17
mov dword [rsp + 0x88], 0
mov eax, dword [rsp + 0x84]
dec eax
mov dword [rsp + 0x84], eax
jmp 0x18001fb17
mov eax, 1
jmp 0x18002038b
mov dword [rsp + 0x58], 1
mov rax, qword [rsp + 0x310]
mov dword [rax], 0xffffffff
mov rax, qword [rsp + 0x318]
mov dword [rax], 0xffffffff
cmp qword [rsp + 0x320], 0
je 0x18001fbbe
mov rax, qword [rsp + 0x320]
mov dword [rax], 0xffffffff
cmp qword [rsp + 0x328], 0
je 0x18001fbd7
mov rax, qword [rsp + 0x328]
mov dword [rax], 0xffffffff
lea rax, [rsp + 0x68]
lea rcx, [0x18005b8e8]
mov rdi, rax
mov rsi, rcx
mov ecx, 0xe
rep movsb byte [rdi], byte [rsi]
mov dword [rsp + 0x20], 0xbaf
lea r9, [rsp + 0x38]
lea r8, [rsp + 0x48]
mov edx, 0xd
lea rcx, [rsp + 0x68]
call fcn.18003bca0
lea rax, [rsp + 0x48]
mov qword [rsp + 0x30], rax
xor edx, edx
mov rcx, qword [rsp + 0x30]
call sub.VERSION.dll_GetFileVersionInfoSizeA
mov dword [rsp + 0x78], eax
mov eax, dword [rsp + 0x78]
mov ecx, eax
call fcn.18004ac6c
mov qword [rsp + 0x2d8], rax
mov rax, qword [rsp + 0x2d8]
mov qword [rsp + 0x60], rax
mov eax, dword [rsp + 0x78]
mov r8d, eax
xor edx, edx
mov rcx, qword [rsp + 0x60]
call fcn.18004ab10
mov r9, qword [rsp + 0x60]
mov r8d, dword [rsp + 0x78]
xor edx, edx
mov rcx, qword [rsp + 0x30]
call sub.VERSION.dll_GetFileVersionInfoA
test eax, eax
je 0x180020159
mov dword [rsp + 0xac], 0
lea rax, [rsp + 0xd8]
lea rcx, [0x18005b8f8]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x1a
rep movsb byte [rdi], byte [rsi]
mov dword [rsp + 0x20], 0x1793
lea r9, [rsp + 0xb0]
lea r8, [rsp + 0xb8]
mov edx, 0x19
lea rcx, [rsp + 0xd8]
call fcn.18003bca0
lea r9, [rsp + 0xac]
lea r8, [rsp + 0xf8]
lea rdx, [rsp + 0xb8]
mov rcx, qword [rsp + 0x60]
call sub.VERSION.dll_VerQueryValueA
test eax, eax
je 0x180020159
mov qword [rsp + 0x100], 0
lea rax, [rsp + 0x110]
lea rcx, [0x18005b918]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x29
rep movsb byte [rdi], byte [rsi]
mov dword [rsp + 0x20], 0x8a4
lea r9, [rsp + 0x108]
lea r8, [rsp + 0x140]
mov edx, 0x28
lea rcx, [rsp + 0x110]
call fcn.18003bca0
mov rax, qword [rsp + 0xf8]
movzx eax, word [rax + 2]
mov rcx, qword [rsp + 0xf8]
movzx ecx, word [rcx]
mov dword [rsp + 0x20], eax
mov r9d, ecx
lea r8, [rsp + 0x140]
mov edx, 0x104
lea rcx, [rsp + 0x170]
call fcn.18004aad8
lea r9, [rsp + 0xac]
lea r8, [rsp + 0x100]
lea rdx, [rsp + 0x170]
mov rcx, qword [rsp + 0x60]
call sub.VERSION.dll_VerQueryValueA
test eax, eax
je 0x180020159
mov qword [rsp + 0x280], 0
mov qword [rsp + 0x288], 0
lea r8, [rsp + 0x288]
lea rdx, [0x18005b914]
mov rcx, qword [rsp + 0x100]
call fcn.18004a9c8
mov qword [rsp + 0x280], rax
cmp qword [rsp + 0x280], 0
je 0x180020151
mov rax, qword [rsp + 0x310]
cmp dword [rax], 0xffffffff
jne 0x18001fe1f
mov rcx, qword [rsp + 0x280]
call fcn.18004a9bc
mov rcx, qword [rsp + 0x310]
mov dword [rcx], eax
jmp 0x18002012e
mov rax, qword [rsp + 0x318]
cmp dword [rax], 0xffffffff
jne 0x18001fe48
mov rcx, qword [rsp + 0x280]
call fcn.18004a9bc
mov rcx, qword [rsp + 0x318]
mov dword [rcx], eax
jmp 0x18002012e
cmp qword [rsp + 0x320], 0
je 0x18001fe7c
mov rax, qword [rsp + 0x320]
cmp dword [rax], 0xffffffff
jne 0x18001fe7c
mov rcx, qword [rsp + 0x280]
call fcn.18004a9bc
mov rcx, qword [rsp + 0x320]
mov dword [rcx], eax
jmp 0x18002012e
cmp qword [rsp + 0x328], 0
je 0x18001feb0
mov rax, qword [rsp + 0x328]
cmp dword [rax], 0xffffffff
jne 0x18001feb0
mov rcx, qword [rsp + 0x280]
call fcn.18004a9bc
mov rcx, qword [rsp + 0x328]
mov dword [rcx], eax
jmp 0x18002012e
mov dword [rsp + 0x2a0], 7
mov dword [rsp + 0x2ac], 0xb
mov eax, dword [rsp + 0x2ac]
test eax, eax
jle 0x18001ff36
mov eax, dword [rsp + 0x2ac]
cmp eax, 1
jle 0x18001ff03
mov eax, dword [rsp + 0x2a0]
and eax, 0x66b
mov dword [rsp + 0x2a0], eax
mov eax, dword [rsp + 0x2ac]
sub eax, 2
mov dword [rsp + 0x2ac], eax
jmp 0x18001fec6
mov eax, dword [rsp + 0x2a0]
cmp eax, 0x80d
jle 0x18001ff24
mov eax, dword [rsp + 0x2a0]
and eax, 0x86
mov dword [rsp + 0x2a0], eax
mov eax, dword [rsp + 0x2ac]
dec eax
mov dword [rsp + 0x2ac], eax
jmp 0x18001fec6
mov dword [rsp + 0x290], 2
mov dword [rsp + 0x298], 0xa
mov eax, dword [rsp + 0x298]
test eax, eax
jle 0x18001ffbc
mov eax, dword [rsp + 0x298]
cmp eax, 1
jle 0x18001ff89
mov eax, dword [rsp + 0x290]
and eax, 0x2106
mov dword [rsp + 0x290], eax
mov eax, dword [rsp + 0x298]
sub eax, 2
mov dword [rsp + 0x298], eax
jmp 0x18001ff4c
mov eax, dword [rsp + 0x290]
cmp eax, 0x80c
jle 0x18001ffaa
mov eax, dword [rsp + 0x290]
and eax, 0x85
mov dword [rsp + 0x290], eax
mov eax, dword [rsp + 0x298]
dec eax
mov dword [rsp + 0x298], eax
jmp 0x18001ff4c
mov dword [rsp + 0x2a4], 8
mov dword [rsp + 0x2b4], 0xc
cmp dword [rsp + 0x2b4], 0
jle 0x180020032
mov eax, dword [rsp + 0x2b4]
cdq
and eax, 1
xor eax, edx
sub eax, edx
cdqe
add rax, 4
cmp rax, 4
jbe 0x180020014
mov dword [rsp + 0x2a4], 4
mov eax, dword [rsp + 0x2b4]
dec eax
mov dword [rsp + 0x2b4], eax
jmp 0x18001ffd2
mov dword [rsp + 0x2a4], 0
mov eax, dword [rsp + 0x2b4]
sub eax, 2
mov dword [rsp + 0x2b4], eax
jmp 0x18001ffd2
mov dword [rsp + 0x29c], 7
mov dword [rsp + 0x294], 4
mov eax, dword [rsp + 0x294]
test eax, eax
jle 0x1800200b6
mov eax, dword [rsp + 0x294]
cmp eax, 1
jle 0x180020085
mov eax, dword [rsp + 0x29c]
and eax, 0x21f3
mov dword [rsp + 0x29c], eax
mov eax, dword [rsp + 0x294]
sub eax, 2
mov dword [rsp + 0x294], eax
jmp 0x180020048
mov eax, dword [rsp + 0x29c]
cmp eax, 0x806
jle 0x1800200a4
mov eax, dword [rsp + 0x29c]
and eax, 0x7f
mov dword [rsp + 0x29c], eax
mov eax, dword [rsp + 0x294]
dec eax
mov dword [rsp + 0x294], eax
jmp 0x180020048
mov dword [rsp + 0x2b0], 0
mov dword [rsp + 0x2a8], 0xe
cmp dword [rsp + 0x2a8], 0
jle 0x18002012c
mov eax, dword [rsp + 0x2a8]
cdq
and eax, 1
xor eax, edx
sub eax, edx
cdqe
add rax, 4
cmp rax, 4
jbe 0x18002010f
mov dword [rsp + 0x2b0], 4
mov eax, dword [rsp + 0x2a8]
sub eax, 2
mov dword [rsp + 0x2a8], eax
jmp 0x1800200cc
mov dword [rsp + 0x2b0], 4
mov eax, dword [rsp + 0x2a8]
dec eax
mov dword [rsp + 0x2a8], eax
jmp 0x1800200cc
jmp 0x180020151
lea r8, [rsp + 0x288]
lea rdx, [0x18005b944]
xor ecx, ecx
call fcn.18004a9c8
mov qword [rsp + 0x280], rax
jmp 0x18001fde7
mov dword [rsp + 0x58], 0
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0x2e0], rax
mov rcx, qword [rsp + 0x2e0]
call fcn.180049df8
mov dword [rsp + 0x2c0], 4
mov dword [rsp + 0x2d0], 3
mov eax, dword [rsp + 0x2d0]
test eax, eax
jle 0x1800201f7
mov eax, dword [rsp + 0x2d0]
cmp eax, 1
jle 0x1800201c6
mov eax, dword [rsp + 0x2c0]
and eax, 0xdd8
mov dword [rsp + 0x2c0], eax
mov eax, dword [rsp + 0x2d0]
sub eax, 2
mov dword [rsp + 0x2d0], eax
jmp 0x180020189
mov eax, dword [rsp + 0x2c0]
cmp eax, 0x805
jle 0x1800201e5
mov eax, dword [rsp + 0x2c0]
and eax, 0x7e
mov dword [rsp + 0x2c0], eax
mov eax, dword [rsp + 0x2d0]
dec eax
mov dword [rsp + 0x2d0], eax
jmp 0x180020189
mov dword [rsp + 0x2cc], 2
mov dword [rsp + 0x2d4], 4
mov eax, dword [rsp + 0x2d4]
test eax, eax
jle 0x18002027b
mov eax, dword [rsp + 0x2d4]
cmp eax, 1
jle 0x18002024a
mov eax, dword [rsp + 0x2cc]
and eax, 0x1176
mov dword [rsp + 0x2cc], eax
mov eax, dword [rsp + 0x2d4]
sub eax, 2
mov dword [rsp + 0x2d4], eax
jmp 0x18002020d
mov eax, dword [rsp + 0x2cc]
cmp eax, 0x806
jle 0x180020269
mov eax, dword [rsp + 0x2cc]
and eax, 0x7f
mov dword [rsp + 0x2cc], eax
mov eax, dword [rsp + 0x2d4]
dec eax
mov dword [rsp + 0x2d4], eax
jmp 0x18002020d
mov dword [rsp + 0x2b8], 2
mov dword [rsp + 0x2bc], 0xa
mov eax, dword [rsp + 0x2bc]
test eax, eax
jle 0x180020301
mov eax, dword [rsp + 0x2bc]
cmp eax, 1
jle 0x1800202ce
mov eax, dword [rsp + 0x2b8]
and eax, 0x2106
mov dword [rsp + 0x2b8], eax
mov eax, dword [rsp + 0x2bc]
sub eax, 2
mov dword [rsp + 0x2bc], eax
jmp 0x180020291
mov eax, dword [rsp + 0x2b8]
cmp eax, 0x80c
jle 0x1800202ef
mov eax, dword [rsp + 0x2b8]
and eax, 0x85
mov dword [rsp + 0x2b8], eax
mov eax, dword [rsp + 0x2bc]
dec eax
mov dword [rsp + 0x2bc], eax
jmp 0x180020291
mov dword [rsp + 0x2c8], 7
mov dword [rsp + 0x2c4], 0xa
mov eax, dword [rsp + 0x2c4]
test eax, eax
jle 0x180020387
mov eax, dword [rsp + 0x2c4]
cmp eax, 1
jle 0x180020354
mov eax, dword [rsp + 0x2c8]
and eax, 0x23c7
mov dword [rsp + 0x2c8], eax
mov eax, dword [rsp + 0x2c4]
sub eax, 2
mov dword [rsp + 0x2c4], eax
jmp 0x180020317
mov eax, dword [rsp + 0x2c8]
cmp eax, 0x80c
jle 0x180020375
mov eax, dword [rsp + 0x2c8]
and eax, 0x85
mov dword [rsp + 0x2c8], eax
mov eax, dword [rsp + 0x2c4]
dec eax
mov dword [rsp + 0x2c4], eax
jmp 0x180020317
mov eax, dword [rsp + 0x58]
mov rcx, qword [rsp + 0x2e8]
xor rcx, rsp
call fcn.180049ea0
add rsp, 0x2f8
pop rdi
pop rsi
ret