Function at 0x140003f20
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
sub rsp, 0x3c0
lea rbp, [rsp + 0x50]
and rbp, 0xffffffffffffffe0
mov rax, qword [0x14014b080]
xor rax, rsp
mov qword [rbp + 0x360], rax
mov r13, rdx
mov rdi, rcx
mov rax, qword [0x14014ee20]
mov qword [rbp + 0x130], rax
test rdx, rdx
je 0x140004cc6
test rax, rax
je 0x140004cc6
xorps xmm0, xmm0
movups xmmword [rbp + 0x164], xmm0
movups xmmword [rbp + 0x174], xmm0
movups xmmword [rbp + 0x184], xmm0
movups xmmword [rbp + 0x194], xmm0
movups xmmword [rbp + 0x1a4], xmm0
movups xmmword [rbp + 0x1b4], xmm0
movups xmmword [rbp + 0x1c4], xmm0
movups xmmword [rbp + 0x1d4], xmm0
movups xmmword [rbp + 0x1e4], xmm0
mov dword [rbp + 0x160], __WSAFDIsSet
lea rcx, [rbp + 0x160]
call qword [sym.imp.KERNEL32.dll_GetVersionExA]
movabs rax, 0x100be528e705e6a0
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x60], rax
movabs rax, 0xcac72e3443c9387d
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x68], rax
movabs rax, 0xec884b3485fd2aa3
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x70], rax
movabs rcx, 0x4baca05dc5245a82
mov qword [rbp], rcx
mov rax, qword [rbp]
mov qword [rbp + 0x78], rax
movabs rax, 0x1065e55ae760e6cb
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x2c0], rax
movabs rax, 0xcaf52e0743a53818
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x2c8], rax
movabs rax, 0xece44b5885992a8d
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x2d0], rax
mov qword [rbp], rcx
mov rax, qword [rbp]
mov qword [rbp + 0x2d8], rax
vmovdqu ymm0, ymmword [rbp + 0x60]
vpxor ymm1, ymm0, ymmword [rbp + 0x2c0]
vmovdqu ymmword [rbp + 0x60], ymm1
lea r8, [rbp + 0x138]
lea rdx, [rbp + 0x60]
mov ecx, 2
vzeroupper
call qword [sym.imp.VERSION.dll_GetFileVersionInfoSizeExW]
xorps xmm0, xmm0
mov r15d, eax
movdqu xmmword [rbp + 0x140], xmm0
xor r14d, r14d
mov qword [rbp + 0x150], r14
xor r12d, r12d
xor ebx, ebx
test eax, eax
je 0x140004139
cmp r15, 0x1000
jb 0x140004100
lea rcx, [r15 + 0x27]
cmp rcx, r15
jbe 0x140004cf2
call fcn.1400e7cd8
test rax, rax
je 0x140004caf
lea rbx, [rax + 0x27]
and rbx, 0xffffffffffffffe0
mov qword [rbx - 8], rax
jmp 0x14000410b
mov rcx, r15
call fcn.1400e7cd8
mov rbx, rax
mov rsi, rbx
mov qword [rbp + 0x140], rbx
lea r14, [rbx + r15]
mov r12, r14
mov qword [rbp + 0x150], r14
mov r8, r15
xor edx, edx
mov rcx, rbx
call sub.VCRUNTIME140.dll_memset
mov qword [rbp + 0x148], r14
jmp 0x140004140
mov rsi, qword [rbp + 0x140]
sub r12, rbx
mov qword [rsp + 0x20], rsi
mov r9d, r12d
mov r8d, dword [rbp + 0x138]
lea rdx, [rbp + 0x60]
mov ecx, 2
call qword [sym.imp.VERSION.dll_GetFileVersionInfoExW]
xor r15d, r15d
mov qword [rbp + 0x120], r15
mov dword [rbp + 0x13c], r15d
lea r9, [rbp + 0x13c]
lea r8, [rbp + 0x120]
lea rdx, [0x1400fd8bc]
mov rcx, rsi
call qword [sym.imp.VERSION.dll_VerQueryValueW]
mov rax, qword [rbp + 0x120]
movzx ecx, word [rax + 0xe]
mov eax, 0x4a61
cmp cx, ax
jb 0x1400045e9
movabs rax, 0x591c973f92319285
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0xa0], rax
movabs rax, 0xa3814f6a31ca5e76
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0xa8], rax
movabs rax, 0xece42637f1d844e2
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0xb0], rax
movabs r12, 0x4baca05dc5245a82
mov qword [rbp], r12
mov rax, qword [rbp]
mov qword [rbp + 0xb8], rax
movabs r14, 0x1065e55ae760e6cb
mov qword [rbp], r14
mov rax, qword [rbp]
mov qword [rbp + 0x2e0], rax
movabs r15, 0xcaf52e0743a53818
mov qword [rbp], r15
mov rax, qword [rbp]
mov qword [rbp + 0x2e8], rax
movabs rbx, 0xece44b5885992a8d
mov qword [rbp], rbx
mov rax, qword [rbp]
mov qword [rbp + 0x2f0], rax
mov qword [rbp], r12
mov rax, qword [rbp]
mov qword [rbp + 0x2f8], rax
vmovdqu ymm0, ymmword [rbp + 0xa0]
vpxor ymm1, ymm0, ymmword [rbp + 0x2e0]
vmovdqa ymmword [rbp + 0xa0], ymm1
movabs rax, 0x7c01cb368b0492a5
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x40], rax
movabs rax, 0xcaf52e0743a53874
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x48], rax
mov qword [rbp], r14
mov rax, qword [rbp]
mov qword [rbp + 0x260], rax
mov qword [rbp], r15
mov rax, qword [rbp]
mov qword [rbp + 0x268], rax
vmovdqa xmm0, xmmword [rbp + 0x40]
vpxor xmm0, xmm0, xmmword [rbp + 0x260]
vmovdqa xmmword [rbp + 0x40], xmm0
lea rcx, [rbp + 0x40]
vzeroupper
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
lea rdx, [rbp + 0xa0]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rsi, rax
test rax, rax
je 0x140004c38
mov word [rbp + 0x330], 0xb848
mov word [rbp + 0x33a], 0xe0ff
mov rcx, qword [rbp + 0x130]
mov qword [rbp + 0x332], rcx
movabs rax, 0x591c973f92319285
mov qword [rbp], rax
mov rcx, qword [rbp]
mov qword [rbp + 0x80], rcx
movabs rax, 0xa3814f6a31ca5e76
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x88], rax
movabs rax, 0xece42637f1d844e2
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x90], rax
mov qword [rbp], r12
mov rax, qword [rbp]
mov qword [rbp + 0x98], rax
mov qword [rbp], r14
mov rax, qword [rbp]
mov qword [rbp + 0x300], rax
mov qword [rbp], r15
mov rax, qword [rbp]
mov qword [rbp + 0x308], rax
mov qword [rbp], rbx
mov rax, qword [rbp]
mov qword [rbp + 0x310], rax
mov qword [rbp], r12
mov rax, qword [rbp]
mov qword [rbp + 0x318], rax
vmovdqu ymm0, ymmword [rbp + 0x80]
vpxor ymm1, ymm0, ymmword [rbp + 0x300]
vmovdqa ymmword [rbp + 0x80], ymm1
vxorps xmm0, xmm0, xmm0
vmovups xmmword [rbp + 0xc0], xmm0
vxorps xmm1, xmm1, xmm1
vmovdqu xmmword [rbp + 0xd0], xmm1
lea rax, [rbp + 0x80]
mov rbx, 0xffffffffffffffff
mov r8, rbx
vzeroupper
nop
inc r8
cmp byte [rax + r8], 0
jne 0x140004400
lea rdx, [rbp + 0x80]
lea rcx, [rbp + 0xc0]
call fcn.140005ab0
nop
movabs rax, 0x7c0b9731940f92a5
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x340], rax
movabs rax, 0xcaf52e0726dd5d36
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x348], rax
mov qword [rbp], r14
mov rax, qword [rbp]
mov qword [rbp + 0x200], rax
mov qword [rbp], r15
mov rax, qword [rbp]
mov qword [rbp + 0x208], rax
movdqa xmm0, xmmword [rbp + 0x340]
pxor xmm0, xmmword [rbp + 0x200]
movdqa xmmword [rbp + 0x340], xmm0
xorps xmm0, xmm0
movups xmmword [rbp + 0x220], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x230], xmm1
lea rax, [rbp + 0x340]
inc rbx
cmp byte [rax + rbx], 0
jne 0x1400044a2
mov r8, rbx
lea rdx, [rbp + 0x340]
lea rcx, [rbp + 0x220]
call fcn.140005ab0
nop
lea rcx, [rbp + 0x220]
call fcn.140009e30
mov rdx, rax
lea r8, [rbp + 0xc0]
mov rcx, rdi
call fcn.1400030f0
mov rbx, rax
mov rdx, qword [rbp + 0x238]
cmp rdx, 0x10
jb 0x140004527
inc rdx
mov rcx, qword [rbp + 0x220]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140004522
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140004522
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400e7f64
movdqa xmm0, xmmword [0x1401371a0]
movdqu xmmword [rbp + 0x230], xmm0
mov byte [rbp + 0x220], 0
mov rdx, qword [rbp + 0xd8]
cmp rdx, 0x10
jb 0x140004582
inc rdx
mov rcx, qword [rbp + 0xc0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000457d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14000457d
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400e7f64
test rbx, rbx
je 0x140004c38
mov r9d, ntohs
mov r8, rbx
lea rdx, [rbp + 0x350]
mov rcx, rdi
call fcn.140002920
test al, al
je 0x140004c38
mov r9d, ntohs
lea r8, [rbp + 0x330]
mov rdx, rbx
mov rcx, rdi
call fcn.140002a60
test al, al
je 0x140004c38
mov rdx, qword [rsp + 0x420]
xor ecx, ecx
call rsi
mov r9d, ntohs
lea r8, [rbp + 0x350]
jmp 0x140004c63
mov eax, 0x47ba
cmp cx, ax
jb 0x140004a5d
movabs rax, 0x5401a13383279285
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x20], rax
movabs rax, 0xa394426426f7715c
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x28], rax
movabs rax, 0x98852837e9f56be0
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x30], rax
movabs rax, 0x4baca06fb64a35eb
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x38], rax
movabs rbx, 0x1065e55ae760e6cb
mov qword [rbp], rbx
mov rax, qword [rbp]
mov qword [rbp + 0x240], rax
movabs rsi, 0xcaf52e0743a53818
mov qword [rbp], rsi
mov rax, qword [rbp]
mov qword [rbp + 0x248], rax
movabs rax, 0xece44b5885992a8d
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x250], rax
movabs r12, 0x4baca05dc5245a82
mov qword [rbp], r12
mov rax, qword [rbp]
mov qword [rbp + 0x258], rax
vmovdqu ymm0, ymmword [rbp + 0x20]
vpxor ymm1, ymm0, ymmword [rbp + 0x240]
vmovdqa ymmword [rbp + 0x20], ymm1
movabs rax, 0x7c108368d40982ac
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x50], rax
movabs rax, 0xcaf52e6b2fc11674
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x58], rax
mov qword [rbp], rbx
mov rax, qword [rbp]
mov qword [rbp + 0x210], rax
mov qword [rbp], rsi
mov rax, qword [rbp]
mov qword [rbp + 0x218], rax
vmovdqa xmm0, xmmword [rbp + 0x50]
vpxor xmm0, xmm0, xmmword [rbp + 0x210]
vmovdqa xmmword [rbp + 0x50], xmm0
lea rcx, [rbp + 0x50]
vzeroupper
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
lea rdx, [rbp + 0x20]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov r14, rax
movabs rax, 0x6400a23383279285
mov qword [rbp], rax
mov rcx, qword [rbp]
mov qword [rbp + 0xe0], rcx
movabs rax, 0xba98414413f5775b
mov qword [rbp], rax
mov rcx, qword [rbp]
mov qword [rbp + 0xe8], rcx
movabs rax, 0xbcab2e34e7f05eec
mov qword [rbp], rax
mov rcx, qword [rbp]
mov qword [rbp + 0xf0], rcx
movabs rax, 0x2ac1d232a34a13cf
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0xf8], rax
movabs rax, 0xa5249f2e878a260b
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x100], rax
movabs rcx, 0xaef1a79bf9e9030c
mov qword [rbp], rcx
mov rax, qword [rbp]
mov qword [rbp + 0x108], rax
mov qword [rbp], rbx
mov rax, qword [rbp]
mov qword [rbp + 0x280], rax
mov qword [rbp], rsi
mov rax, qword [rbp]
mov qword [rbp + 0x288], rax
movabs rax, 0xece44b5885992a8d
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x290], rax
mov qword [rbp], r12
mov rax, qword [rbp]
mov qword [rbp + 0x298], rax
movabs rax, 0xa5249f2ee9e54f7f
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x2a0], rax
mov qword [rbp], rcx
mov rax, qword [rbp]
mov qword [rbp + 0x2a8], rax
vmovdqu ymm0, ymmword [rbp + 0xe0]
vpxor ymm1, ymm0, ymmword [rbp + 0x280]
vmovdqa ymmword [rbp + 0xe0], ymm1
vmovdqa xmm0, xmmword [rbp + 0x100]
vpxor xmm0, xmm0, xmmword [rbp + 0x2a0]
vmovdqa xmmword [rbp + 0x100], xmm0
movabs rax, 0x744b9068d40e8fbc
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x200], rax
movabs rax, 0xcaf52e0743a55474
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x208], rax
mov qword [rbp], rbx
mov rax, qword [rbp]
mov qword [rbp + 0x220], rax
mov qword [rbp], rsi
mov rax, qword [rbp]
mov qword [rbp + 0x228], rax
vmovdqa xmm0, xmmword [rbp + 0x200]
vpxor xmm0, xmm0, xmmword [rbp + 0x220]
vmovdqa xmmword [rbp + 0x200], xmm0
lea rcx, [rbp + 0x200]
vzeroupper
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
lea rdx, [rbp + 0xe0]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rbx, rax
test r14, r14
jne 0x14000491a
test rbx, rbx
jne 0x14000491a
mov r14, qword [rbp + 0x150]
mov rsi, qword [rbp + 0x140]
jmp 0x140004c86
mov qword [rbp + 0x210], r15
mov qword [rbp + 0x320], 0xb848
mov dword [rbp + 0x328], 0xe0ff0000
mov qword [rbp + 0x128], r15
lea rdx, [rbp + 0x210]
mov rcx, rdi
test r14, r14
je 0x1400049d1
lea r8, [rbp + 0x128]
call fcn.140003410
test al, al
jne 0x140004975
xor bl, bl
mov r14, qword [rbp + 0x150]
mov rsi, qword [rbp + 0x140]
jmp 0x140004c86
mov r9d, 8
lea r8, [rbp + 0x130]
mov rsi, qword [rbp + 0x210]
mov rdx, rsi
mov rcx, rdi
call fcn.140002a60
test al, al
jne 0x1400049ad
xor bl, bl
mov r14, qword [rbp + 0x150]
mov rsi, qword [rbp + 0x140]
jmp 0x140004c86
mov rbx, r14
mov rdx, qword [rsp + 0x420]
xor ecx, ecx
call rbx
mov r9d, 8
lea r8, [rbp + 0x128]
mov rdx, rsi
jmp 0x140004c66
lea r8, [rbp + 0x340]
call fcn.140003730
test al, al
jne 0x1400049f6
xor bl, bl
mov r14, qword [rbp + 0x150]
mov rsi, qword [rbp + 0x140]
jmp 0x140004c86
mov rax, qword [rbp + 0x130]
mov qword [rbp + 0x322], rax
mov r9d, ntohs
lea r8, [rbp + 0x320]
mov rsi, qword [rbp + 0x210]
mov rdx, rsi
mov rcx, rdi
call fcn.140002a60
test al, al
jne 0x140004a3c
xor bl, bl
mov r14, qword [rbp + 0x150]
mov rsi, qword [rbp + 0x140]
jmp 0x140004c86
mov rdx, qword [rsp + 0x420]
xor ecx, ecx
call rbx
mov r9d, ntohs
lea r8, [rbp + 0x340]
mov rdx, rsi
jmp 0x140004c66
mov eax, 0x42ee
cmp cx, ax
jb 0x140004c84
movabs rax, 0x5401a13383279285
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x20], rax
movabs rax, 0xa394426426f7715c
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x28], rax
movabs rax, 0x98852837e9f56be0
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x30], rax
movabs rax, 0x4baca06fb64a35eb
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x38], rax
movabs rcx, 0x1065e55ae760e6cb
mov qword [rbp], rcx
mov rax, qword [rbp]
mov qword [rbp + 0x240], rax
movabs rdx, 0xcaf52e0743a53818
mov qword [rbp], rdx
mov rax, qword [rbp]
mov qword [rbp + 0x248], rax
movabs rax, 0xece44b5885992a8d
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x250], rax
movabs r12, 0x4baca05dc5245a82
mov qword [rbp], r12
mov rax, qword [rbp]
mov qword [rbp + 0x258], rax
vmovdqu ymm0, ymmword [rbp + 0x20]
vpxor ymm1, ymm0, ymmword [rbp + 0x240]
vmovdqa ymmword [rbp + 0x20], ymm1
movabs rax, 0x7c108368d40982ac
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x200], rax
movabs rax, 0xcaf52e6b2fc11674
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x208], rax
mov qword [rbp], rcx
mov rax, qword [rbp]
mov qword [rbp + 0x220], rax
mov qword [rbp], rdx
mov rax, qword [rbp]
mov qword [rbp + 0x228], rax
vmovdqa xmm0, xmmword [rbp + 0x200]
vpxor xmm0, xmm0, xmmword [rbp + 0x220]
vmovdqa xmmword [rbp + 0x200], xmm0
lea rcx, [rbp + 0x200]
vzeroupper
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
lea rdx, [rbp + 0x20]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rsi, rax
test rax, rax
jne 0x140004bdb
xor bl, bl
mov r14, qword [rbp + 0x150]
mov rsi, qword [rbp + 0x140]
jmp 0x140004c86
mov qword [rbp + 0x128], r15
mov qword [rbp + 0x210], r15
lea r8, [rbp + 0x210]
lea rdx, [rbp + 0x128]
mov rcx, rdi
call fcn.140003410
test al, al
jne 0x140004c15
xor bl, bl
mov r14, qword [rbp + 0x150]
mov rsi, qword [rbp + 0x140]
jmp 0x140004c86
mov r9d, 8
lea r8, [rbp + 0x130]
mov rbx, qword [rbp + 0x128]
mov rdx, rbx
mov rcx, rdi
call fcn.140002a60
test al, al
jne 0x140004c4a
xor bl, bl
mov r14, qword [rbp + 0x150]
mov rsi, qword [rbp + 0x140]
jmp 0x140004c86
mov rdx, qword [rsp + 0x420]
xor ecx, ecx
call rsi
mov r9d, 8
lea r8, [rbp + 0x210]
mov rdx, rbx
mov qword [r13], rax
mov rcx, rdi
call fcn.140002a60
mov bl, 1
mov r14, qword [rbp + 0x150]
mov rsi, qword [rbp + 0x140]
jmp 0x140004c86
xor bl, bl
test rsi, rsi
je 0x140004cc1
sub r14, rsi
mov rax, rsi
cmp r14, 0x1000
jb 0x140004cb6
add r14, 0x27
mov rsi, qword [rsi - 8]
sub rax, rsi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140004cb6
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rdx, r14
mov rcx, rsi
call fcn.1400e7f64
movzx eax, bl
jmp 0x140004cc8
xor al, al
mov rcx, qword [rbp + 0x360]
xor rcx, rsp
call fcn.1400e7a20
mov rbx, qword [rsp + 0x410]
add rsp, 0x3c0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.140001db0
int3