Function at 0x140030750
Capabilities:
Get file version info

Disassembly:
test rdx, rdx
je 0x140030b7f
mov r11, rsp
push rbx
push r14
sub rsp, 0x68
mov rax, qword [0x140064018]
xor rax, rsp
mov qword [rsp + 0x40], rax
mov qword [r11 + 0x18], rbp
mov r14, rdx
mov qword [r11 + 0x20], rsi
lea rdx, [r11 - 0x40]
mov qword [r11 - 0x18], rdi
mov rbx, rcx
mov qword [r11 - 0x20], r12
call qword [sym.imp.VERSION.dll_GetFileVersionInfoSizeA]
mov edi, eax
test eax, eax
je 0x14003083f
test rbx, rbx
je 0x14003083f
mov ecx, edi
mov qword [rsp + 0x50], r15
mov edx, 1
call fcn.14003853c
mov r15, rax
test rax, rax
je 0x14003081f
mov r9, rax
mov r8d, edi
xor edx, edx
mov rcx, rbx
call qword [sym.imp.VERSION.dll_GetFileVersionInfoA]
lea r9, [rsp + 0x3c]
mov rcx, r15
lea r8, [rsp + 0x30]
lea rdx, [0x14005e050]
call qword [sym.imp.VERSION.dll_VerQueryValueA]
mov rcx, qword [rsp + 0x30]
movzx edi, word [rcx + 0x12]
movzx esi, word [rcx + 0x10]
movzx ebp, word [rcx + 0x16]
movzx r12d, word [rcx + 0x14]
mov rcx, r15
mov dword [rsp + 0x20], edi
mov dword [rsp + 0x24], esi
mov dword [rsp + 0x28], ebp
mov dword [rsp + 0x2c], r12d
call fcn.140038520
mov r15, qword [rsp + 0x50]
jmp 0x140030859
mov r12d, dword [rsp + 0x2c]
mov rcx, r15
mov ebp, dword [rsp + 0x28]
mov esi, dword [rsp + 0x24]
mov edi, dword [rsp + 0x20]
call fcn.140038520
mov r15, qword [rsp + 0x50]
jmp 0x140030859
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x20], xmm0
mov r12d, dword [rsp + 0x2c]
mov ebp, dword [rsp + 0x28]
mov esi, dword [rsp + 0x24]
mov edi, dword [rsp + 0x20]
xor ebx, ebx
mov ecx, ebx
cmp edi, 9
jg 0x140030867
lea ecx, [rbx + 1]
jmp 0x14003088f
mov r8d, edi
test edi, edi
jle 0x14003088f
nop
mov eax, 0x66666667
inc ecx
imul r8d
mov r8d, edx
sar r8d, 2
mov eax, r8d
shr eax, 0x1f
add r8d, eax
test r8d, r8d
jg 0x140030870
cmp esi, 9
jg 0x140030898
inc ecx
jmp 0x1400308bf
mov r8d, esi
test esi, esi
jle 0x1400308bf
nop
mov eax, 0x66666667
inc ecx
imul r8d
mov r8d, edx
sar r8d, 2
mov eax, r8d
shr eax, 0x1f
add r8d, eax
test r8d, r8d
jg 0x1400308a0
cmp ebp, 9
jg 0x1400308c8
inc ecx
jmp 0x1400308ef
mov r8d, ebp
test ebp, ebp
jle 0x1400308ef
nop
mov eax, 0x66666667
inc ecx
imul r8d
mov r8d, edx
sar r8d, 2
mov eax, r8d
shr eax, 0x1f
add r8d, eax
test r8d, r8d
jg 0x1400308d0
cmp r12d, 9
jg 0x1400308f9
inc ecx
jmp 0x140030920
mov r8d, r12d
test r12d, r12d
jle 0x140030920
mov eax, 0x66666667
inc ecx
imul r8d
mov r8d, edx
sar r8d, 2
mov eax, r8d
shr eax, 0x1f
add r8d, eax
test r8d, r8d
jg 0x140030901
movsxd rcx, ecx
mov edx, 1
add rcx, 4
call fcn.14003853c
mov qword [r14], rax
cmp edi, 9
jg 0x14003094f
test rax, rax
je 0x1400309ae
movzx ecx, byte [rsp + 0x20]
mov ebx, 1
add cl, 0x30
mov byte [rax], cl
jmp 0x1400309ae
test edi, edi
je 0x1400309ae
mov r10, rbx
nop word [rax + rax]
mov r8d, edi
mov r9d, 1
cmp edi, 0xa
jl 0x140030995
nop
mov eax, 0x66666667
lea r9d, [r9 + r9*4]
imul r8d
add r9d, r9d
mov r8d, edx
sar r8d, 2
mov eax, r8d
shr eax, 0x1f
add r8d, eax
cmp r8d, 0xa
jge 0x140030970
mov rax, qword [r14]
lea ecx, [r8 + 0x30]
imul r9d, r8d
inc ebx
mov byte [r10 + rax], cl
inc r10
sub edi, r9d
jne 0x140030960
mov rdx, qword [r14]
mov rdi, qword [rsp + 0x60]
test rdx, rdx
je 0x1400309c7
movsxd rax, ebx
inc ebx
mov byte [rax + rdx], 0x2e
mov rdx, qword [r14]
cmp esi, 9
jg 0x1400309e3
test rdx, rdx
je 0x140030a3e
movzx ecx, byte [rsp + 0x24]
movsxd rax, ebx
add cl, 0x30
inc ebx
mov byte [rax + rdx], cl
jmp 0x140030a3e
test esi, esi
je 0x140030a3e
movsxd r10, ebx
nop word [rax + rax]
mov r8d, esi
mov r9d, 1
cmp esi, 0xa
jl 0x140030a25
nop
mov eax, 0x66666667
lea r9d, [r9 + r9*4]
imul r8d
add r9d, r9d
mov r8d, edx
sar r8d, 2
mov eax, r8d
shr eax, 0x1f
add r8d, eax
cmp r8d, 0xa
jge 0x140030a00
mov rax, qword [r14]
lea ecx, [r8 + 0x30]
imul r9d, r8d
inc ebx
mov byte [r10 + rax], cl
inc r10
sub esi, r9d
jne 0x1400309f0
mov rdx, qword [r14]
mov rsi, qword [rsp + 0x98]
test rdx, rdx
je 0x140030a5a
movsxd rax, ebx
inc ebx
mov byte [rax + rdx], 0x2e
mov rdx, qword [r14]
cmp ebp, 9
jg 0x140030a76
test rdx, rdx
je 0x140030ace
movzx ecx, byte [rsp + 0x28]
movsxd rax, ebx
add cl, 0x30
inc ebx
mov byte [rax + rdx], cl
jmp 0x140030ace
test ebp, ebp
je 0x140030ace
movsxd r10, ebx
nop dword [rax]
mov r8d, ebp
mov r9d, 1
cmp ebp, 0xa
jl 0x140030ab5
nop
mov eax, 0x66666667
lea r9d, [r9 + r9*4]
imul r8d
add r9d, r9d
mov r8d, edx
sar r8d, 2
mov eax, r8d
shr eax, 0x1f
add r8d, eax
cmp r8d, 0xa
jge 0x140030a90
mov rax, qword [r14]
lea ecx, [r8 + 0x30]
imul r9d, r8d
inc ebx
mov byte [r10 + rax], cl
inc r10
sub ebp, r9d
jne 0x140030a80
mov rdx, qword [r14]
mov rbp, qword [rsp + 0x90]
test rdx, rdx
je 0x140030aea
movsxd rax, ebx
inc ebx
mov byte [rax + rdx], 0x2e
mov rdx, qword [r14]
cmp r12d, 9
jg 0x140030b07
test rdx, rdx
je 0x140030b57
movzx ecx, byte [rsp + 0x2c]
movsxd rax, ebx
add cl, 0x30
inc ebx
mov byte [rax + rdx], cl
jmp 0x140030b57
test r12d, r12d
je 0x140030b57
movsxd r9, ebx
nop
mov ecx, r12d
mov r8d, 1
cmp r12d, 0xa
jl 0x140030b3f
nop
mov eax, 0x66666667
lea r8d, [r8 + r8*4]
imul ecx
add r8d, r8d
mov ecx, edx
sar ecx, 2
mov eax, ecx
shr eax, 0x1f
add ecx, eax
cmp ecx, 0xa
jge 0x140030b20
mov rax, qword [r14]
lea edx, [rcx + 0x30]
imul r8d, ecx
inc ebx
mov byte [r9 + rax], dl
inc r9
sub r12d, r8d
jne 0x140030b10
mov rcx, qword [r14]
mov r12, qword [rsp + 0x58]
test rcx, rcx
je 0x140030b6b
movsxd rax, ebx
mov byte [rax + rcx], 0
mov rcx, qword [rsp + 0x40]
xor rcx, rsp
call fcn.140036180
add rsp, 0x68
pop r14
pop rbx
ret