Function at 0x14000dd50
Capabilities:
Get disk size

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x3940]
mov eax, 0x3a40
call fcn.1400d3380
sub rsp, rax
mov qword [rbp - 0x80], 0xfffffffffffffffe
mov qword [rsp + 0x3a98], rbx
mov rax, qword [0x1401bce90]
xor rax, rsp
mov qword [rbp + 0x3930], rax
mov r14, r8
mov rsi, rdx
mov r13, rcx
mov qword [rsp + 0x50], rcx
mov byte [rsp + 0x30], 0
xor r15d, r15d
mov qword [rsp + 0x40], r15
mov ecx, dword [0x1401c4d60]
imul ecx, ecx
mov eax, 0x88888889
imul ecx
add edx, ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add edx, eax
imul edx, edx, 0xf
sub ecx, edx
cmp ecx, 8
jne 0x14000de0a
lea ecx, [r15 + 0x28]
call fcn.1400cd918
mov rdi, rax
mov ebx, r15d
call fcn.1400cebc4
add eax, dword [0x1401c4d60]
mov dword [rdi + rbx*4], eax
inc rbx
cmp rbx, 0xa
jl 0x14000dde2
mov eax, dword [rdi + 0x24]
mov dword [0x1401c4d60], eax
mov rcx, rdi
call fcn.1400cf37c
mov qword [rsp + 0x38], r15
mov qword [rsp + 0x48], r15
mov rcx, qword [r13 + 0xa0]
mov rax, qword [rcx]
lea r8, [rsp + 0x40]
lea rdx, [0x14014d1b0]
call qword [rax]
mov ebx, eax
mov eax, dword [0x1401c4d60]
lea ecx, [rax + 1]
imul ecx, eax
mov eax, 0x4ec4ec4f
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
imul edx, edx, 0xd
sub ecx, edx
cmp ecx, 1
jne 0x14000ded8
mov word [rbp + 0x350], r15w
xor edx, edx
mov r8d, 0x35d0
lea rcx, [rbp + 0x352]
call fcn.1400d3710
mov r10, r15
mov r9, r15
nop dword [rax + rax]
mov r8, r15
test r10, r10
je 0x14000deb2
test r8, r8
je 0x14000deb2
lea rax, [r9 + r8]
lea rdx, [rbp + 0x350]
lea rdx, [rdx + rax*2]
lea rax, [r9 + r8]
movzx ecx, word [rbp + rax*2 + 0x2aa]
inc cx
add cx, word [rdx - 2]
mov word [rdx], cx
inc r8
cmp r8, 0x53
jl 0x14000de83
inc r10
add r9, 0x53
cmp r9, 0x1ae9
jl 0x14000de80
movsx eax, word [rbp + 0x3920]
mov dword [0x1401c4d60], eax
test ebx, ebx
jns 0x14000df76
lea rcx, [0x1401bc9a8]
mov rax, qword [0x1401bc9a8]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x68], rax
mov r8d, ebx
lea rdx, str.injectHtmlToWindow_QueryInterface_pWebBrowser2__d
lea rcx, [rsp + 0x68]
call fcn.1400119e0
mov rax, qword [r13]
lea rdx, [rsp + 0x68]
mov rcx, r13
call qword [rax + RegisterTypeLib]
nop
mov rdx, qword [rsp + 0x68]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x14000df3b
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rcx, qword [rsp + 0x48]
test rcx, rcx
je 0x14000df4c
mov rax, qword [rcx]
call qword [rax + 0x10]
nop
mov rcx, qword [rsp + 0x38]
test rcx, rcx
je 0x14000df5d
mov rax, qword [rcx]
call qword [rax + 0x10]
nop
mov rcx, qword [rsp + 0x40]
test rcx, rcx
je 0x14000e43b
mov rax, qword [rcx]
call qword [rax + 0x10]
jmp 0x14000e43b
mov rax, qword [rsi]
lea r8, [rsp + 0x38]
lea rdx, [0x14014d1b0]
mov rcx, rsi
call qword [rax]
mov ebx, eax
test eax, eax
jns 0x14000e016
lea rcx, [0x1401bc9a8]
mov rax, qword [0x1401bc9a8]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x60], rax
mov r8d, ebx
lea rdx, str.injectHtmlToWindow_QueryInterface_IDispatch__d
lea rcx, [rsp + 0x60]
call fcn.1400119e0
mov rax, qword [r13]
lea rdx, [rsp + 0x60]
mov rcx, r13
call qword [rax + RegisterTypeLib]
nop
mov rdx, qword [rsp + 0x60]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x14000dfef
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rcx, qword [rsp + 0x48]
test rcx, rcx
je 0x14000e000
mov rax, qword [rcx]
call qword [rax + 0x10]
nop
mov rcx, qword [rsp + 0x38]
test rcx, rcx
je 0x14000e011
mov rax, qword [rcx]
call qword [rax + 0x10]
nop
jmp 0x14000df5d
mov rax, qword [rsp + 0x38]
cmp qword [rsp + 0x40], rax
je 0x14000e0a1
lea rcx, [0x1401bc9a8]
mov rax, qword [0x1401bc9a8]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x58], rax
lea rdx, str.injectHtmlToWindow_browsers_not_equal
lea rcx, [rsp + 0x58]
call fcn.1400119e0
mov rax, qword [r13]
lea rdx, [rsp + 0x58]
mov rcx, r13
call qword [rax + RegisterTypeLib]
nop
mov rdx, qword [rsp + 0x58]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x14000e07a
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rcx, qword [rsp + 0x48]
test rcx, rcx
je 0x14000e08b
mov rax, qword [rcx]
call qword [rax + 0x10]
nop
mov rcx, qword [rsp + 0x38]
test rcx, rcx
je 0x14000e09c
mov rax, qword [rcx]
call qword [rax + 0x10]
nop
jmp 0x14000df5d
mov rax, qword [r14]
mov ecx, dword [rax - 0x10]
inc ecx
movsxd rbx, ecx
lea rsi, [rbx + rbx]
mov rdx, rsi
mov ecx, 0x40
call qword [sym.imp.KERNEL32.dll_GlobalAlloc]
mov r12, rax
mov edi, dword [0x1401c4d60]
lea ecx, [rdi + 1]
imul ecx, edi
mov eax, 0x88888889
imul ecx
add edx, ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add edx, eax
imul edx, edx, 0xf
sub ecx, edx
cmp ecx, 1
jne 0x14000e105
mov qword [rsp + 0x20], r15
xor r9d, r9d
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetDiskFreeSpaceW]
mov edi, dword [0x1401c4d60]
test r12, r12
jne 0x14000e196
lea rcx, [0x1401bc9a8]
mov rax, qword [0x1401bc9a8]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x78], rax
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r8d, eax
lea rdx, str.injectHtmlToWindow_GlobalAlloc__d
lea rcx, [rsp + 0x78]
call fcn.1400119e0
mov rax, qword [r13]
lea rdx, [rsp + 0x78]
mov rcx, r13
call qword [rax + RegisterTypeLib]
nop
mov rdx, qword [rsp + 0x78]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x14000e16f
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rcx, qword [rsp + 0x48]
test rcx, rcx
je 0x14000e180
mov rax, qword [rcx]
call qword [rax + 0x10]
nop
mov rcx, qword [rsp + 0x38]
test rcx, rcx
je 0x14000e191
mov rax, qword [rcx]
call qword [rax + 0x10]
nop
jmp 0x14000df5d
mov r8, rsi
xor edx, edx
mov rcx, r12
call fcn.1400d3710
mov r8, qword [r14]
lea rax, [rbx - 1]
mov ecx, 0x80070057
mov edx, 0x7ffffffe
cmp rax, rdx
cmova r15d, ecx
test r15d, r15d
js 0x14000e208
mov rcx, r12
xor r9d, r9d
mov r15d, r9d
test rbx, rbx
je 0x14000e1fa
sub rdx, rbx
sub r8, r12
lea rax, [rdx + rbx]
test rax, rax
je 0x14000e1f5
movzx eax, word [r8 + rcx]
test ax, ax
je 0x14000e1f5
mov word [rcx], ax
add rcx, 2
dec rbx
jne 0x14000e1d4
jmp 0x14000e1fa
test rbx, rbx
jne 0x14000e204
sub rcx, 2
mov r15d, 0x8007007a
mov word [rcx], r9w
mov ecx, edi
imul ecx, edi
mov eax, 0x2aaaaaab
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
shl eax, 3
sub ecx, eax
cmp ecx, 0xe
jne 0x14000e29b
xor r13d, r13d
mov esi, r13d
lea r14, [rbp - 0x70]
nop word [rax + rax]
mov r8d, r13d
lea ebx, [r8 + 1]
lea ecx, [rsi + 1]
mov eax, edi
cdq
idiv ecx
mov ecx, edx
mov eax, edi
sub eax, esi
imul ecx, eax
mov eax, edi
cdq
idiv ebx
add ecx, eax
sub ecx, r8d
mov dword [r14], ecx
mov edx, ecx
lea rcx, [0x14014d9a0]
call fcn.1400cf1dc
mov r8d, ebx
add r14, 4
cmp ebx, 0xc
jge 0x14000e287
mov edi, dword [0x1401c4d60]
jmp 0x14000e243
inc esi
cmp esi, 0x14
jge 0x14000e296
mov edi, dword [0x1401c4d60]
jmp 0x14000e240
mov r13, qword [rsp + 0x50]
test r15d, r15d
jns 0x14000e326
lea rcx, [0x1401bc9a8]
mov rax, qword [0x1401bc9a8]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x70], rax
mov r8d, r15d
lea rdx, str.injectHtmlToWindow_StringCchCopy__d
lea rcx, [rsp + 0x70]
call fcn.1400119e0
mov rax, qword [r13]
lea rdx, [rsp + 0x70]
mov rcx, r13
call qword [rax + RegisterTypeLib]
nop
mov rdx, qword [rsp + 0x70]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x14000e2ff
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rcx, qword [rsp + 0x48]
test rcx, rcx
je 0x14000e310
mov rax, qword [rcx]
call qword [rax + 0x10]
nop
mov rcx, qword [rsp + 0x38]
test rcx, rcx
je 0x14000e321
mov rax, qword [rcx]
call qword [rax + 0x10]
nop
jmp 0x14000df5d
lea r8, [rsp + 0x48]
mov edx, 1
mov rcx, r12
call qword [sym.imp.ole32.dll_CreateStreamOnHGlobal]
mov ebx, eax
test eax, eax
je 0x14000e3c5
lea rcx, [0x1401bc9a8]
mov rax, qword [0x1401bc9a8]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x50], rax
mov r8d, ebx
lea rdx, str.injectHtmlToWindow_CreateStreamOnHGlobal__d
lea rcx, [rsp + 0x50]
call fcn.1400119e0
mov rax, qword [r13]
lea rdx, [rsp + 0x50]
mov rcx, r13
call qword [rax + RegisterTypeLib]
nop
mov rdx, qword [rsp + 0x50]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x14000e39e
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rcx, qword [rsp + 0x48]
test rcx, rcx
je 0x14000e3af
mov rax, qword [rcx]
call qword [rax + 0x10]
nop
mov rcx, qword [rsp + 0x38]
test rcx, rcx
je 0x14000e3c0
mov rax, qword [rcx]
call qword [rax + 0x10]
nop
jmp 0x14000df5d
mov r8, qword [rsp + 0x48]
mov rdx, qword [r13 + 0xa0]
mov rcx, r13
call fcn.14000e470
test eax, eax
jns 0x14000e404
mov rcx, qword [rsp + 0x48]
test rcx, rcx
je 0x14000e3ee
mov rax, qword [rcx]
call qword [rax + 0x10]
nop
mov rcx, qword [rsp + 0x38]
test rcx, rcx
je 0x14000e3ff
mov rax, qword [rcx]
call qword [rax + 0x10]
nop
jmp 0x14000df5d
mov byte [rsp + 0x30], 1
mov rcx, qword [rsp + 0x48]
test rcx, rcx
je 0x14000e41a
mov rax, qword [rcx]
call qword [rax + 0x10]
nop
mov rcx, qword [rsp + 0x38]
test rcx, rcx
je 0x14000e42b
mov rax, qword [rcx]
call qword [rax + 0x10]
nop
mov rcx, qword [rsp + 0x40]
test rcx, rcx
je 0x14000e43b
mov rdx, qword [rcx]
call qword [rdx + 0x10]
movzx eax, byte [rsp + 0x30]
mov rcx, qword [rbp + 0x3930]
xor rcx, rsp
call fcn.1400ce2d0
mov rbx, qword [rsp + 0x3a98]
add rsp, 0x3a40
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret