Function at 0x140003d60
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 [0x140142080]
xor rax, rsp
mov qword [rbp + 0x360], rax
mov r13, rdx
mov rdi, rcx
mov rax, qword [0x140146110]
mov qword [rbp + 0x130], rax
test rdx, rdx
je 0x140004b06
test rax, rax
je 0x140004b06
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, 0x65f462fbb9910f96
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x60], rax
movabs rax, 0x7033d0931a7b9d7b
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x68], rax
movabs rax, 0x761c7dbb429cdca9
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x70], rax
movabs rcx, 0xd14a15d6177195d0
mov qword [rbp], rcx
mov rax, qword [rbp]
mov qword [rbp + 0x78], rax
movabs rax, 0x659a6289b9f40ffd
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x2c0], rax
movabs rax, 0x7001d0a01a179d1e
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x2c8], rax
movabs rax, 0x76707dd742f8dc87
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 0x140003f79
cmp r15, 0x1000
jb 0x140003f40
lea rcx, [r15 + 0x27]
cmp rcx, r15
jbe 0x140004b32
call fcn.1400dcea8
test rax, rax
je 0x140004aef
lea rbx, [rax + 0x27]
and rbx, 0xffffffffffffffe0
mov qword [rbx - 8], rax
jmp 0x140003f4b
mov rcx, r15
call fcn.1400dcea8
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 0x140003f80
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, [0x1400f295c]
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 0x140004429
movabs rax, 0x2ce310eccca57bb3
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0xa0], rax
movabs rax, 0x1975b1cd6878fb70
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0xa8], rax
movabs rax, 0x767010b836b9b2e8
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0xb0], rax
movabs r12, 0xd14a15d6177195d0
mov qword [rbp], r12
mov rax, qword [rbp]
mov qword [rbp + 0xb8], rax
movabs r14, 0x659a6289b9f40ffd
mov qword [rbp], r14
mov rax, qword [rbp]
mov qword [rbp + 0x2e0], rax
movabs r15, 0x7001d0a01a179d1e
mov qword [rbp], r15
mov rax, qword [rbp]
mov qword [rbp + 0x2e8], rax
movabs rbx, 0x76707dd742f8dc87
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, 0x9fe4ce5d5907b93
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x40], rax
movabs rax, 0x7001d0a01a179d72
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 0x140004a78
mov word [rbp + 0x330], 0xb848
mov word [rbp + 0x33a], 0xe0ff
mov rcx, qword [rbp + 0x130]
mov qword [rbp + 0x332], rcx
movabs rax, 0x2ce310eccca57bb3
mov qword [rbp], rax
mov rcx, qword [rbp]
mov qword [rbp + 0x80], rcx
movabs rax, 0x1975b1cd6878fb70
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x88], rax
movabs rax, 0x767010b836b9b2e8
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 0x140004240
lea rdx, [rbp + 0x80]
lea rcx, [rbp + 0xc0]
call fcn.140005910
nop
movabs rax, 0x9f410e2ca9b7b93
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x340], rax
movabs rax, 0x7001d0a07f6ff830
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 0x1400042e2
mov r8, rbx
lea rdx, [rbp + 0x340]
lea rcx, [rbp + 0x220]
call fcn.140005910
nop
lea rcx, [rbp + 0x220]
call fcn.140009c20
mov rdx, rax
lea r8, [rbp + 0xc0]
mov rcx, rdi
call fcn.140002f00
mov rbx, rax
mov rdx, qword [rbp + 0x238]
cmp rdx, 0x10
jb 0x140004367
inc rdx
mov rcx, qword [rbp + 0x220]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140004362
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140004362
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400dd134
movdqa xmm0, xmmword [0x14012c730]
movdqu xmmword [rbp + 0x230], xmm0
mov byte [rbp + 0x220], 0
mov rdx, qword [rbp + 0xd8]
cmp rdx, 0x10
jb 0x1400043c2
inc rdx
mov rcx, qword [rbp + 0xc0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400043bd
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1400043bd
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400dd134
test rbx, rbx
je 0x140004a78
mov r9d, ntohs
mov r8, rbx
lea rdx, [rbp + 0x350]
mov rcx, rdi
call fcn.140002730
test al, al
je 0x140004a78
mov r9d, ntohs
lea r8, [rbp + 0x330]
mov rdx, rbx
mov rcx, rdi
call fcn.140002870
test al, al
je 0x140004a78
mov rdx, qword [rsp + 0x420]
xor ecx, ecx
call rsi
mov r9d, ntohs
lea r8, [rbp + 0x350]
jmp 0x140004aa3
mov eax, 0x47ba
cmp cx, ax
jb 0x14000489d
movabs rax, 0x21fe26e0ddb37bb3
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x20], rax
movabs rax, 0x1960bcc37f45d45a
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x28], rax
movabs rax, 0x2111eb82e949dea
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x30], rax
movabs rax, 0xd14a15e4641ffab9
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x38], rax
movabs rbx, 0x659a6289b9f40ffd
mov qword [rbp], rbx
mov rax, qword [rbp]
mov qword [rbp + 0x240], rax
movabs rsi, 0x7001d0a01a179d1e
mov qword [rbp], rsi
mov rax, qword [rbp]
mov qword [rbp + 0x248], rax
movabs rax, 0x76707dd742f8dc87
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x250], rax
movabs r12, 0xd14a15d6177195d0
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, 0x9ef04bb8a9d6b9a
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x50], rax
movabs rax, 0x7001d0cc7673b372
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, 0x11ff25e0ddb37bb3
mov qword [rbp], rax
mov rcx, qword [rbp]
mov qword [rbp + 0xe0], rcx
movabs rax, 0x6cbfe34a47d25d
mov qword [rbp], rax
mov rcx, qword [rbp]
mov qword [rbp + 0xe8], rcx
movabs rax, 0x263f18bb2091a8e6
mov qword [rbp], rax
mov rcx, qword [rbp]
mov qword [rbp + 0xf0], rcx
movabs rax, 0xb02767b9711fdc9d
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0xf8], rax
movabs rax, 0x6d024dbddf8776e5
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x100], rax
movabs rcx, 0x2bcc72f405b16372
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, 0x76707dd742f8dc87
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, 0x6d024dbdb1e81f91
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, 0x1b417bb8a9a668a
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x200], rax
movabs rax, 0x7001d0a01a17f172
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 0x14000475a
test rbx, rbx
jne 0x14000475a
mov r14, qword [rbp + 0x150]
mov rsi, qword [rbp + 0x140]
jmp 0x140004ac6
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 0x140004811
lea r8, [rbp + 0x128]
call fcn.140003220
test al, al
jne 0x1400047b5
xor bl, bl
mov r14, qword [rbp + 0x150]
mov rsi, qword [rbp + 0x140]
jmp 0x140004ac6
mov r9d, 8
lea r8, [rbp + 0x130]
mov rsi, qword [rbp + 0x210]
mov rdx, rsi
mov rcx, rdi
call fcn.140002870
test al, al
jne 0x1400047ed
xor bl, bl
mov r14, qword [rbp + 0x150]
mov rsi, qword [rbp + 0x140]
jmp 0x140004ac6
mov rbx, r14
mov rdx, qword [rsp + 0x420]
xor ecx, ecx
call rbx
mov r9d, 8
lea r8, [rbp + 0x128]
mov rdx, rsi
jmp 0x140004aa6
lea r8, [rbp + 0x340]
call fcn.140003540
test al, al
jne 0x140004836
xor bl, bl
mov r14, qword [rbp + 0x150]
mov rsi, qword [rbp + 0x140]
jmp 0x140004ac6
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.140002870
test al, al
jne 0x14000487c
xor bl, bl
mov r14, qword [rbp + 0x150]
mov rsi, qword [rbp + 0x140]
jmp 0x140004ac6
mov rdx, qword [rsp + 0x420]
xor ecx, ecx
call rbx
mov r9d, ntohs
lea r8, [rbp + 0x340]
mov rdx, rsi
jmp 0x140004aa6
mov eax, 0x42ee
cmp cx, ax
jb 0x140004ac4
movabs rax, 0x21fe26e0ddb37bb3
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x20], rax
movabs rax, 0x1960bcc37f45d45a
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x28], rax
movabs rax, 0x2111eb82e949dea
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x30], rax
movabs rax, 0xd14a15e4641ffab9
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x38], rax
movabs rcx, 0x659a6289b9f40ffd
mov qword [rbp], rcx
mov rax, qword [rbp]
mov qword [rbp + 0x240], rax
movabs rdx, 0x7001d0a01a179d1e
mov qword [rbp], rdx
mov rax, qword [rbp]
mov qword [rbp + 0x248], rax
movabs rax, 0x76707dd742f8dc87
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x250], rax
movabs r12, 0xd14a15d6177195d0
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, 0x9ef04bb8a9d6b9a
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x200], rax
movabs rax, 0x7001d0cc7673b372
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 0x140004a1b
xor bl, bl
mov r14, qword [rbp + 0x150]
mov rsi, qword [rbp + 0x140]
jmp 0x140004ac6
mov qword [rbp + 0x128], r15
mov qword [rbp + 0x210], r15
lea r8, [rbp + 0x210]
lea rdx, [rbp + 0x128]
mov rcx, rdi
call fcn.140003220
test al, al
jne 0x140004a55
xor bl, bl
mov r14, qword [rbp + 0x150]
mov rsi, qword [rbp + 0x140]
jmp 0x140004ac6
mov r9d, 8
lea r8, [rbp + 0x130]
mov rbx, qword [rbp + 0x128]
mov rdx, rbx
mov rcx, rdi
call fcn.140002870
test al, al
jne 0x140004a8a
xor bl, bl
mov r14, qword [rbp + 0x150]
mov rsi, qword [rbp + 0x140]
jmp 0x140004ac6
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.140002870
mov bl, 1
mov r14, qword [rbp + 0x150]
mov rsi, qword [rbp + 0x140]
jmp 0x140004ac6
xor bl, bl
test rsi, rsi
je 0x140004b01
sub r14, rsi
mov rax, rsi
cmp r14, 0x1000
jb 0x140004af6
add r14, 0x27
mov rsi, qword [rsi - 8]
sub rax, rsi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140004af6
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.1400dd134
movzx eax, bl
jmp 0x140004b08
xor al, al
mov rcx, qword [rbp + 0x360]
xor rcx, rsp
call fcn.1400dcbf0
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.140001c30
int3