Function at 0x140003dc0
Capabilities:
Get file version info

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x80]
sub rsp, 0x180
mov rax, qword [0x140043040]
xor rax, rsp
mov qword [rbp + 0x70], rax
mov rbx, rdx
mov r13, rcx
mov qword [rbp - 0x50], rcx
xor r12d, r12d
mov rcx, rdx
cmp qword [rdx + 0x18], 0xf
jbe 0x140003e04
mov rcx, qword [rdx]
lea rdx, [rbp - 0x20]
call qword [sym.imp.VERSION.dll_GetFileVersionInfoSizeA]
mov r15d, eax
test eax, eax
je 0x140004303
xorps xmm0, xmm0
movdqu xmmword [rbp + 8], xmm0
mov qword [rbp + 0x18], r12
cmp r15, 0x1000
jb 0x140003e57
lea rcx, [r15 + 0x27]
cmp rcx, r15
jbe 0x140004498
call fcn.14000d110
test rax, rax
je 0x14000449e
lea rdi, [rax + 0x27]
and rdi, 0xffffffffffffffe0
mov qword [rdi - 8], rax
jmp 0x140003e62
mov rcx, r15
call fcn.14000d110
mov rdi, rax
mov qword [rbp + 8], rdi
lea r14, [rdi + r15]
mov qword [rbp + 0x18], r14
mov r8, r15
xor edx, edx
mov rcx, rdi
call fcn.14002f8b0
mov qword [rbp + 0x10], r14
cmp qword [rbx + 0x18], 0xf
jbe 0x140003e89
mov rbx, qword [rbx]
mov r9, rdi
mov r8d, r15d
mov edx, dword [rbp - 0x20]
mov rcx, rbx
call qword [sym.imp.VERSION.dll_GetFileVersionInfoA]
test eax, eax
je 0x1400042cb
movabs rax, 0x911b8364baa7006f
mov qword [rsp + 0x20], rax
movabs rax, 0x72971c8325d7e8f1
mov qword [rsp + 0x28], rax
movabs rax, 0x4be3e894e4c4d60b
mov qword [rsp + 0x30], rax
movabs rax, 0x6385c8cd6ca53eea
mov qword [rsp + 0x38], rax
movabs rcx, 0xf477ea22c8c65633
mov qword [rbp + 0x30], rcx
movabs rcx, 0x13e548df4ab186b8
mov qword [rbp + 0x38], rcx
movabs rcx, 0x258c81e085a8a565
mov qword [rbp + 0x40], rcx
mov qword [rbp + 0x48], rax
movdqa xmm0, xmmword [rsp + 0x20]
xorps xmm0, xmmword [rbp + 0x30]
movdqa xmmword [rsp + 0x20], xmm0
movdqa xmm1, xmmword [rsp + 0x30]
xorps xmm1, xmmword [rbp + 0x40]
movdqa xmmword [rsp + 0x30], xmm1
lea r9, [rbp - 0x48]
lea r8, [rbp - 0x58]
lea rdx, [rsp + 0x20]
mov rcx, rdi
call qword [sym.imp.VERSION.dll_VerQueryValueA]
test eax, eax
je 0x1400042cb
mov r15d, r12d
test dword [rbp - 0x48], 0xfffffffc
jbe 0x1400042cb
mov rsi, 0xffffffffffffffff
nop dword [rax]
nop word [rax + rax]
mov eax, r15d
lea rbx, [rax*4]
mov rdx, qword [rbp - 0x58]
movzx edx, word [rbx + rdx]
lea rcx, [rbp + 0x30]
call fcn.140003ab0
nop
mov rdx, qword [rbp - 0x58]
movzx edx, word [rbx + rdx + 2]
lea rcx, [rbp - 0x18]
call fcn.140003ab0
nop
movabs rax, 0x8712ae47a4af106f
mov qword [rsp + 0x20], rax
movabs rax, 0x7d8a21ab3ad8f4db
mov qword [rsp + 0x28], rax
movabs rcx, 0x258c81e085a8a565
mov qword [rsp + 0x30], rcx
movabs rax, 0x6385c8cd6ca53eea
mov qword [rsp + 0x38], rax
movabs rdx, 0xf477ea22c8c65633
mov qword [rbp + 0x50], rdx
movabs r8, 0x13e548df4ab186b8
mov qword [rbp + 0x58], r8
mov qword [rbp + 0x60], rcx
mov qword [rbp + 0x68], rax
movdqa xmm0, xmmword [rsp + 0x20]
xorps xmm0, xmmword [rbp + 0x50]
movdqa xmmword [rsp + 0x20], xmm0
movdqa xmm1, xmmword [rsp + 0x30]
xorps xmm1, xmmword [rbp + 0x60]
movdqa xmmword [rsp + 0x30], xmm1
movabs r9, 0xb210844bbab2056f
mov qword [rsp + 0x60], r9
movabs r9, 0x4f8a2eb103d4ead1
mov qword [rsp + 0x68], r9
mov qword [rsp + 0x70], rcx
mov qword [rsp + 0x78], rax
mov qword [rbp + 0x50], rdx
mov qword [rbp + 0x58], r8
mov qword [rbp + 0x60], rcx
mov qword [rbp + 0x68], rax
movdqa xmm0, xmmword [rsp + 0x60]
xorps xmm0, xmmword [rbp + 0x50]
movdqa xmmword [rsp + 0x60], xmm0
movdqa xmm1, xmmword [rsp + 0x70]
xorps xmm1, xmmword [rbp + 0x60]
movdqa xmmword [rsp + 0x70], xmm1
lea r8, [rbp + 0x30]
lea rdx, [rsp + 0x60]
lea rcx, [rbp - 0x78]
call fcn.140008820
nop
lea rdx, [rbp - 0x18]
cmp qword [rbp], 0xf
cmova rdx, qword [rbp - 0x18]
mov r8, qword [rbp - 8]
mov rcx, rax
call fcn.140001db0
xorps xmm0, xmm0
movups xmmword [rsp + 0x40], xmm0
mov qword [rsp + 0x50], r12
mov qword [rsp + 0x58], r12
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x40], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rsp + 0x50], xmm1
mov qword [rax + 0x10], r12
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
lea rax, [rsp + 0x20]
mov r8, rsi
nop
inc r8
cmp byte [rax + r8], 0
jne 0x1400040e0
lea rdx, [rsp + 0x20]
lea rcx, [rsp + 0x40]
call fcn.140001db0
xorps xmm0, xmm0
movups xmmword [rbp - 0x40], xmm0
mov qword [rbp - 0x30], r12
mov qword [rbp - 0x28], r12
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x40], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x30], xmm1
mov qword [rax + 0x10], r12
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
mov rdx, qword [rsp + 0x58]
cmp rdx, 0xf
jbe 0x140004163
inc rdx
mov rcx, qword [rsp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000415e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400044a4
call fcn.14000d14c
mov qword [rsp + 0x50], r12
mov qword [rsp + 0x58], 0xf
mov byte [rsp + 0x40], 0
mov rdx, qword [rbp - 0x60]
cmp rdx, 0xf
jbe 0x1400041b1
inc rdx
mov rcx, qword [rbp - 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400041ac
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400044aa
call fcn.14000d14c
mov qword [rbp - 0x68], r12
mov qword [rbp - 0x60], 0xf
mov byte [rbp - 0x78], 0
lea rdx, [rbp - 0x40]
cmp qword [rbp - 0x28], 0xf
cmova rdx, qword [rbp - 0x40]
lea r9, [rbp + 0x20]
lea r8, [rbp - 0x50]
mov rcx, rdi
call qword [sym.imp.VERSION.dll_VerQueryValueA]
test eax, eax
jne 0x14000434f
mov rdx, qword [rbp - 0x28]
cmp rdx, 0xf
jbe 0x140004223
inc rdx
mov rcx, qword [rbp - 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000421e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400044b0
call fcn.14000d14c
mov qword [rbp - 0x30], r12
mov qword [rbp - 0x28], 0xf
mov byte [rbp - 0x40], 0
mov rdx, qword [rbp]
cmp rdx, 0xf
jbe 0x14000426e
inc rdx
mov rcx, qword [rbp - 0x18]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140004269
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400044b6
call fcn.14000d14c
mov qword [rbp - 8], r12
mov qword [rbp], 0xf
mov byte [rbp - 0x18], 0
mov rdx, qword [rbp + 0x48]
cmp rdx, 0xf
jbe 0x1400042b9
inc rdx
mov rcx, qword [rbp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400042b4
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400044bc
call fcn.14000d14c
inc r15d
mov eax, dword [rbp - 0x48]
shr eax, 2
cmp r15d, eax
jb 0x140003f70
test rdi, rdi
je 0x140004303
sub r14, rdi
mov rax, rdi
cmp r14, 0x1000
jb 0x1400042f8
add r14, 0x27
mov rdi, qword [rdi - 8]
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000449e
mov rdx, r14
mov rcx, rdi
call fcn.14000d14c
xorps xmm0, xmm0
movups xmmword [r13], xmm0
mov qword [r13 + 0x10], r12
mov qword [r13 + 0x18], r12
xor r8d, r8d
lea rdx, [0x14003c42d]
mov rcx, r13
call fcn.1400020f0
mov rax, r13
mov rcx, qword [rbp + 0x70]
xor rcx, rsp
call fcn.14000d0f0
mov rbx, qword [rsp + 0x1d0]
add rsp, 0x180
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
xorps xmm0, xmm0
movups xmmword [r13], xmm0
mov qword [r13 + 0x10], r12
mov qword [r13 + 0x18], r12
mov rdx, qword [rbp - 0x50]
inc rsi
cmp byte [rdx + rsi], 0
jne 0x140004363
mov r8, rsi
mov rcx, r13
call fcn.1400020f0
nop
mov rdx, qword [rbp - 0x28]
cmp rdx, 0xf
jbe 0x1400043b3
inc rdx
mov rcx, qword [rbp - 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400043ae
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400044b0
call fcn.14000d14c
mov qword [rbp - 0x30], r12
mov qword [rbp - 0x28], 0xf
mov byte [rbp - 0x40], 0
mov rdx, qword [rbp]
cmp rdx, 0xf
jbe 0x1400043fe
inc rdx
mov rcx, qword [rbp - 0x18]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400043f9
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400044b6
call fcn.14000d14c
mov qword [rbp - 8], r12
mov qword [rbp], 0xf
mov byte [rbp - 0x18], 0
mov rdx, qword [rbp + 0x48]
cmp rdx, 0xf
jbe 0x140004445
inc rdx
mov rcx, qword [rbp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140004440
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400044bc
call fcn.14000d14c
mov qword [rbp + 0x40], r12
mov qword [rbp + 0x48], 0xf
mov byte [rbp + 0x30], 0
test rdi, rdi
je 0x140004325
sub r14, rdi
mov rax, rdi
cmp r14, 0x1000
jb 0x140004482
add r14, 0x27
mov rdi, qword [rdi - 8]
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140004492
mov rdx, r14
mov rcx, rdi
call fcn.14000d14c
jmp 0x140004325
call fcn.140013dec
int3
call fcn.140001400
int3
call fcn.140013dec
nop
call fcn.140013dec
nop
call fcn.140013dec
nop
call fcn.140013dec
nop
call fcn.140013dec
nop
call fcn.140013dec
int3