Function at 0x140044ae0
Capabilities:
Get file version info
Read file on windows

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0xb20]
sub rsp, 0xc20
mov rax, qword [0x14030a918]
xor rax, rsp
mov qword [rbp + 0xb10], rax
mov r12, rcx
mov byte [rbp - 0x10], 0
call fcn.140010210
mov rcx, rax
test rax, rax
je 0x140045cae
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp - 8], rax
mov r8d, 2
lea rdx, [0x1402bb110]
lea rcx, [rbp - 8]
call fcn.140002aa8
mov rbx, qword [rbp - 8]
mov r9, rbx
xor r8d, r8d
mov edx, 0x1175e
mov rcx, qword [r12]
call fcn.14001dce0
nop
lea rdx, [rbx - 0x18]
mov r15, 0xffffffffffffffff
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140044b8e
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
lea rax, [rsp + 0x78]
mov qword [rsp + 0x58], rax
call fcn.140010210
mov rcx, rax
test rax, rax
je 0x140045ca3
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x78], rax
lea rdx, [0x1402c0228]
cmp rdx, 0x10000
jae 0x140044bd7
movzx edx, dx
lea rcx, [rsp + 0x78]
call fcn.140010ac0
jmp 0x140044bf8
mov rax, r15
nop word [rax + rax]
inc rax
cmp word [rdx + rax*2], 0
jne 0x140044be0
mov r8d, eax
lea rcx, [rsp + 0x78]
call fcn.140002aa8
nop
call fcn.140010210
mov rcx, rax
test rax, rax
je 0x140045ca3
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp - 0x80], rax
lea rdx, [rsp + 0x78]
lea rcx, [rbp - 0x80]
call fcn.140002bd8
mov edx, 0x2c
lea rcx, [rbp - 0x80]
call fcn.14003ef70
mov r9, qword [rbp - 0x80]
xor r8d, r8d
mov edx, 0x1175f
mov rcx, qword [r12]
call fcn.14001dce0
nop
mov rdx, qword [rbp - 0x80]
add rdx, 0xffffffffffffffe8
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140044c67
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rdx, qword [rsp + 0x78]
add rdx, 0xffffffffffffffe8
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140044c86
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
call fcn.140010210
mov rcx, rax
test rax, rax
je 0x140045cae
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x70], rax
call fcn.140010210
mov rcx, rax
test rax, rax
je 0x140045cb9
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x68], rax
lea rdx, str.C:Program_Files__x86_MicrosoftEdgeApplicationmsedge.exe
cmp rdx, 0x10000
jae 0x140044ce5
movzx edx, dx
lea rcx, [rsp + 0x68]
call fcn.140010ac0
jmp 0x140044d08
mov rax, r15
nop dword [rax + rax]
inc rax
cmp word [rdx + rax*2], 0
jne 0x140044cf0
mov r8d, eax
lea rcx, [rsp + 0x68]
call fcn.140002aa8
nop
lea rdx, [rbp - 0x78]
mov rbx, qword [rsp + 0x68]
mov rcx, rbx
call qword [sym.imp.VERSION.dll_GetFileVersionInfoSizeW]
mov edi, eax
test eax, eax
jne 0x140044d2b
call qword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x14004522f
mov rcx, rdi
call fcn.140220fc0
mov r13, rax
test rax, rax
je 0x14004522f
mov r9, rax
mov r8d, edi
mov edx, dword [rbp - 0x78]
mov rcx, rbx
call qword [sym.imp.VERSION.dll_GetFileVersionInfoW]
mov rcx, r13
test eax, eax
je 0x14004522a
lea r9, [rbp - 0x20]
lea r8, [rbp - 0x18]
lea rdx, [0x1402c035c]
call qword [sym.imp.VERSION.dll_VerQueryValueW]
test eax, eax
je 0x140045227
mov rdx, qword [rbp - 0x18]
mov ecx, dword [rdx + 8]
mov r14d, ecx
shr r14d, 0x10
movzx esi, cx
mov ecx, dword [rdx + 0xc]
mov edi, ecx
shr edi, 0x10
movzx ebx, cx
mov rcx, r13
call fcn.14021deb0
mov r9d, esi
mov r8d, r14d
mov dword [rsp + 0x28], ebx
mov dword [rsp + 0x20], edi
lea rdx, str._d._d._d._d
lea rcx, [rsp + 0x70]
call fcn.140041c70
mov rdi, qword [rsp + 0x70]
lea rcx, [rdi - 0x18]
call fcn.140002c68
add rax, 0x18
mov qword [rbp - 0x60], rax
call fcn.140010210
mov rcx, rax
test rax, rax
je 0x140045cc4
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp - 0x58], rax
lea rdx, [rbp - 0x60]
lea rcx, [rbp - 0x58]
call fcn.140002bd8
mov edx, 0x2c
lea rcx, [rbp - 0x58]
call fcn.14003ef70
mov rbx, qword [rbp - 0x58]
mov r9, rbx
xor r8d, r8d
mov edx, 0x1175f
mov rcx, qword [r12]
call fcn.14001dce0
nop
lea rdx, [rbx - 0x18]
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140044e3f
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rdx, qword [rbp - 0x60]
add rdx, 0xffffffffffffffe8
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140044e5d
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov byte [rbp], 1
call fcn.140010210
mov rcx, rax
test rax, rax
je 0x140045cc4
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp + 8], rax
mov r8d, 3
lea rdx, [0x1402c5238]
lea rcx, [rbp + 8]
call fcn.140002aa8
mov rbx, qword [rbp + 8]
mov r9, rbx
xor r8d, r8d
mov edx, 0x1175e
mov rcx, qword [r12]
call fcn.14001dce0
nop
lea rdx, [rbx - 0x18]
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140044ec9
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
call fcn.140010210
mov rcx, rax
test rax, rax
je 0x140045cc4
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp - 0x70], rax
lea rdx, str.Edge
cmp rdx, 0x10000
jae 0x140044f06
movzx edx, dx
lea rcx, [rbp - 0x70]
call fcn.140010ac0
jmp 0x140044f27
mov rax, r15
nop dword [rax]
inc rax
cmp word [rdx + rax*2], 0
jne 0x140044f10
mov r8d, eax
lea rcx, [rbp - 0x70]
call fcn.140002aa8
nop
mov rbx, qword [rbp - 0x70]
mov r9, rbx
mov r8d, dword [0x140319ca0]
mov edx, 0x116b9
mov rcx, qword [r12]
call fcn.14001dce0
nop
lea rdx, [rbx - 0x18]
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140044f5e
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
lea rcx, [rdi - 0x18]
call fcn.140002c68
add rax, 0x18
mov qword [rbp - 0x50], rax
call fcn.140010210
mov rcx, rax
test rax, rax
je 0x140045cc4
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp - 0x48], rax
mov edi, dword [0x140319ca0]
lea rdx, [rbp - 0x50]
lea rcx, [rbp - 0x48]
call fcn.140002bd8
mov edx, 0x2c
lea rcx, [rbp - 0x48]
call fcn.14003ef70
mov rbx, qword [rbp - 0x48]
mov r9, rbx
mov r8d, edi
mov edx, 0x116b8
mov rcx, qword [r12]
call fcn.14001dce0
nop
lea rdx, [rbx - 0x18]
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140044fe2
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rdx, qword [rbp - 0x50]
add rdx, 0xffffffffffffffe8
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140045000
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov byte [rbp + 0x10], 0
call fcn.140010210
mov rcx, rax
test rax, rax
je 0x140045cc4
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp + 0x18], rax
lea r9, [rbp + 0x10]
mov r8d, dword [0x140319ca0]
mov edx, 0x1177b
mov rcx, r12
call fcn.14006e0c0
nop
mov rdx, qword [rbp + 0x18]
add rdx, 0xffffffffffffffe8
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14004505a
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov byte [rbp + 0x20], 0
call fcn.140010210
mov rcx, rax
test rax, rax
je 0x140045cc4
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp + 0x28], rax
lea r9, [rbp + 0x20]
mov r8d, dword [0x140319ca0]
mov edx, 0x1177e
mov rcx, r12
call fcn.14006e0c0
nop
mov rdx, qword [rbp + 0x28]
add rdx, 0xffffffffffffffe8
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1400450b4
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov byte [rbp + 0x30], 0
call fcn.140010210
mov rcx, rax
test rax, rax
je 0x140045cc4
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp + 0x38], rax
lea r9, [rbp + 0x30]
mov r8d, dword [0x140319ca0]
mov edx, 0x1177c
mov rcx, r12
call fcn.14006e0c0
nop
mov rdx, qword [rbp + 0x38]
add rdx, 0xffffffffffffffe8
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14004510e
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov byte [rbp + 0x40], 0
call fcn.140010210
mov rcx, rax
test rax, rax
je 0x140045cc4
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp + 0x48], rax
lea r9, [rbp + 0x40]
mov r8d, dword [0x140319ca0]
mov edx, 0x11780
mov rcx, r12
call fcn.14006e0c0
nop
mov rdx, qword [rbp + 0x48]
add rdx, 0xffffffffffffffe8
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140045168
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov byte [rbp + 0x50], 1
call fcn.140010210
mov rcx, rax
test rax, rax
je 0x140045cc4
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp + 0x58], rax
lea r9, [rbp + 0x50]
mov r8d, dword [0x140319ca0]
mov edx, 0x1177f
mov rcx, r12
call fcn.14006e0c0
nop
mov rdx, qword [rbp + 0x58]
add rdx, 0xffffffffffffffe8
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1400451c2
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov byte [rbp + 0x60], 0
call fcn.140010210
mov rcx, rax
test rax, rax
je 0x140045cc4
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp + 0x68], rax
lea r9, [rbp + 0x60]
mov r8d, dword [0x140319ca0]
mov edx, 0x1177d
mov rcx, r12
call fcn.14006e0c0
nop
mov rdx, qword [rbp + 0x68]
add rdx, 0xffffffffffffffe8
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14004521c
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
inc dword [0x140319ca0]
jmp 0x140045479
mov rcx, r13
call fcn.14021deb0
lea rdx, [rbp + 0xe0]
lea rcx, str.windows_systemappsmicrosoft.microsoftedge_
call qword [sym.imp.KERNEL32.dll_FindFirstFileW]
cmp rax, 0xffffffffffffffff
jne 0x1400452b2
lea rdx, [rbx - 0x18]
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140045264
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x70]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], r15d
sub r15d, 1
jg 0x140045282
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rcx, qword [rbp + 0xb10]
xor rcx, rsp
call fcn.1402117c0
lea r11, [rsp + 0xc20]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call fcn.140010210
nop
mov rcx, rax
test rax, rax
je 0x140045ccf
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x48], rax
lea rdx, str.windows_systemapps_
cmp rdx, 0x10000
jae 0x1400452f2
movzx edx, dx
lea rcx, [rsp + 0x48]
call fcn.140010ac0
jmp 0x14004530d
mov rax, r15
inc rax
cmp word [rdx + rax*2], 0
jne 0x1400452f5
mov r8d, eax
lea rcx, [rsp + 0x48]
call fcn.140002aa8
nop
lea rcx, [rbp + 0x10c]
mov rax, r15
nop word [rax + rax]
inc rax
cmp word [rcx + rax*2], 0
jne 0x140045320
lea r13, [rbp + 0x10c]
lea rsi, [rbp + 0x10c]
mov rbx, qword [rsp + 0x48]
sub rsi, rbx
sar rsi, 1
mov r14d, dword [rbx - 0x10]
test eax, eax
js 0x140045d01
movsxd rdx, eax
lea rcx, [rbp + 0x10c]
call fcn.14021dcd8
mov rdx, rax
mov qword [rsp + 0x58], rax
mov ecx, 0x7fffffff
sub ecx, eax
cmp ecx, r14d
jl 0x140045d01
lea edi, [rax + r14]
test edi, edi
js 0x140045d01
mov ecx, 1
sub ecx, dword [rbx - 8]
mov eax, dword [rbx - 0xc]
sub eax, edi
or eax, ecx
jge 0x1400453a9
mov edx, edi
lea rcx, [rsp + 0x48]
call fcn.140002a48
mov rbx, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x58]
cmp rsi, r14
ja 0x1400453b2
lea r13, [rbx + rsi*2]
lea rcx, [rbx + r14*2]
movsxd r8, edx
add r8, r8
je 0x1400453e9
test rcx, rcx
je 0x1400453d9
test r13, r13
je 0x1400453d2
mov rdx, r13
call fcn.140215f40
jmp 0x1400453e9
xor edx, edx
call fcn.1402165f0
call fcn.14021a92c
mov dword [rax], 0x16
call fcn.14021a7dc
cmp edi, dword [rbx - 0xc]
jg 0x140045d01
mov dword [rbx - 0x10], edi
movsxd rax, edi
xor edi, edi
mov word [rbx + rax*2], di
lea rdx, str._appxmanifest.xml
mov rax, r15
nop dword [rax + rax]
inc rax
cmp word [rdx + rax*2], di
jne 0x140045410
mov r8d, eax
lea rcx, [rsp + 0x48]
call fcn.140005abc
mov qword [rsp + 0x30], rdi
mov dword [rsp + 0x28], 0x80
mov dword [rsp + 0x20], 3
xor r9d, r9d
mov edx, 0x80000000
lea r8d, [r9 + 1]
mov rbx, qword [rsp + 0x48]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov rsi, rax
cmp rax, 0xffffffffffffffff
jne 0x140045487
lea rdx, [rbx - 0x18]
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140045479
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x68]
add rdx, 0xffffffffffffffe8
jmp 0x14004524d
mov dword [rsp + 0x60], edi
mov qword [rsp + 0x20], rdi
lea r9, [rsp + 0x60]
mov r8d, 0x7d0
lea rdx, [rbp + 0x330]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x140045c95
mov eax, dword [rsp + 0x60]
cmp rax, 0x7d2
jae 0x140045cfb
mov byte [rbp + rax + 0x330], dil
call fcn.140010210
mov rcx, rax
test rax, rax
je 0x140045cda
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x50], rax
lea rax, [rbp + 0x330]
lea rcx, [rsp + 0x50]
cmp rax, 0x10000
jae 0x140045510
lea rax, [rbp + 0x330]
movzx edx, ax
call fcn.140010ac0
jmp 0x14004551d
lea rdx, [rbp + 0x330]
call fcn.140012ab0
nop
mov rbx, qword [rsp + 0x50]
cmp dword [rbx - 0x10], 0
jl 0x140045c76
lea rdx, str.Version
mov rcx, rbx
call fcn.140215a78
mov rdi, rax
test rax, rax
je 0x140045c76
sub rdi, rbx
sar rdi, 1
test edi, edi
js 0x140045c76
cmp dword [rbx - 0x10], 0
jle 0x140045c76
mov edx, 0x22
mov rcx, rbx
call fcn.140215e94
test rax, rax
je 0x140045c76
sub rax, rbx
sar rax, 1
test eax, eax
js 0x140045c76
lea r8d, [rdi + 9]
mov r9d, eax
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x50]
call fcn.1400128a0
nop
mov rbx, qword [rsp + 0x40]
cmp dword [rbx - 0x10], 0
jle 0x140045c57
lea rdx, str.20.10240
mov rcx, rbx
call fcn.140215a78
test rax, rax
je 0x1400455e0
sub rax, rbx
sar rax, 1
test eax, eax
js 0x1400455e0
lea rdx, str.12.10240
mov rax, r15
inc rax
cmp word [rdx + rax*2], 0
jne 0x1400455d1
jmp 0x1400457ea
cmp dword [rbx - 0x10], 0
jl 0x1400457fc
lea rdx, str.25.10586
mov rcx, rbx
call fcn.140215a78
test rax, rax
je 0x140045621
sub rax, rbx
sar rax, 1
test eax, eax
js 0x140045621
lea rdx, str.13.10586
mov rax, r15
inc rax
cmp word [rdx + rax*2], 0
jne 0x140045612
jmp 0x1400457ea
cmp dword [rbx - 0x10], 0
jl 0x1400457fc
lea rdx, str.38.14393
mov rcx, rbx
call fcn.140215a78
test rax, rax
je 0x140045662
sub rax, rbx
sar rax, 1
test eax, eax
js 0x140045662
lea rdx, str.14.14393
mov rax, r15
inc rax
cmp word [rdx + rax*2], 0
jne 0x140045653
jmp 0x1400457ea
cmp dword [rbx - 0x10], 0
jl 0x1400457fc
lea rdx, str.40.15063
mov rcx, rbx
call fcn.140215a78
test rax, rax
je 0x1400456a3
sub rax, rbx
sar rax, 1
test eax, eax
js 0x1400456a3
lea rdx, str.15.15063
mov rax, r15
inc rax
cmp word [rdx + rax*2], 0
jne 0x140045694
jmp 0x1400457ea
cmp dword [rbx - 0x10], 0
jl 0x1400457fc
lea rdx, str.41.16299
mov rcx, rbx
call fcn.140215a78
test rax, rax
je 0x1400456e4
sub rax, rbx
sar rax, 1
test eax, eax
js 0x1400456e4
lea rdx, str.16.16299
mov rax, r15
inc rax
cmp word [rdx + rax*2], 0
jne 0x1400456d5
jmp 0x1400457ea
cmp dword [rbx - 0x10], 0
jl 0x1400457fc
lea rdx, str.42.17134
mov rcx, rbx
call fcn.140215a78
test rax, rax
je 0x140045725
sub rax, rbx
sar rax, 1
test eax, eax
js 0x140045725
lea rdx, str.17.17134
mov rax, r15
inc rax
cmp word [rdx + rax*2], 0
jne 0x140045716
jmp 0x1400457ea
cmp dword [rbx - 0x10], 0
jl 0x1400457fc
lea rdx, str.44.17763
mov rcx, rbx
call fcn.140215a78
test rax, rax
je 0x14004576c
sub rax, rbx
sar rax, 1
test eax, eax
js 0x14004576c
lea rdx, str.18.17763
mov rax, r15
nop word [rax + rax]
inc rax
cmp word [rdx + rax*2], 0
jne 0x140045760
jmp 0x1400457ea
cmp dword [rbx - 0x10], 0
jl 0x1400457fc
lea rdx, str.44.18362
mov rcx, rbx
call fcn.140215a78
test rax, rax
je 0x1400457ac
sub rax, rbx
sar rax, 1
test eax, eax
js 0x1400457ac
lea rdx, str.18.18363
mov rax, r15
nop
inc rax
cmp word [rdx + rax*2], 0
jne 0x1400457a0
jmp 0x1400457ea
cmp dword [rbx - 0x10], 0
jl 0x1400457fc
lea rdx, str.44.19041
mov rcx, rbx
call fcn.140215a78
test rax, rax
je 0x1400457fc
sub rax, rbx
sar rax, 1
test eax, eax
js 0x1400457fc
lea rdx, str.18.19041
mov rax, r15
nop word [rax + rax]
inc rax
cmp word [rdx + rax*2], 0
jne 0x1400457e0
mov r8d, eax
lea rcx, [rsp + 0x40]
call fcn.140002aa8
mov rbx, qword [rsp + 0x40]
lea rdi, [rbx - 0x18]
mov rcx, rdi
call fcn.140002c68
add rax, 0x18
mov qword [rbp - 0x40], rax
call fcn.140010210
mov rcx, rax
test rax, rax
je 0x140045cf0
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp - 0x38], rax
lea r9, [rbp - 0x40]
xor r8d, r8d
mov edx, 0x1175f
mov rcx, r12
call fcn.14006e140
nop
mov rdx, qword [rbp - 0x38]
add rdx, 0xffffffffffffffe8
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140045862
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rdx, qword [rbp - 0x40]
add rdx, 0xffffffffffffffe8
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140045880
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov byte [rbp + 0x70], 1
call fcn.140010210
mov rcx, rax
test rax, rax
je 0x140045cf0
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp + 0x78], rax
lea r9, [rbp + 0x70]
xor r8d, r8d
mov edx, 0x1175e
mov rcx, r12
call fcn.14006e0c0
nop
mov rdx, qword [rbp + 0x78]
add rdx, 0xffffffffffffffe8
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1400458d6
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
call fcn.140010210
mov rcx, rax
test rax, rax
je 0x140045cf0
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp - 0x68], rax
lea rdx, str.Edge
cmp rdx, 0x10000
jae 0x140045913
movzx edx, dx
lea rcx, [rbp - 0x68]
call fcn.140010ac0
jmp 0x14004592d
mov rax, r15
inc rax
cmp word [rdx + rax*2], 0
jne 0x140045916
mov r8d, eax
lea rcx, [rbp - 0x68]
call fcn.140002aa8
nop
mov rbx, qword [rbp - 0x68]
mov r9, rbx
mov r8d, dword [0x140319ca0]
mov edx, 0x116b9
mov rcx, qword [r12]
call fcn.14001dce0
nop
lea rdx, [rbx - 0x18]
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140045964
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rcx, rdi
call fcn.140002c68
add rax, 0x18
mov qword [rbp - 0x30], rax
call fcn.140010210
mov rcx, rax
test rax, rax
je 0x140045ce5
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp - 0x28], rax
lea r9, [rbp - 0x30]
mov r8d, dword [0x140319ca0]
mov edx, 0x116b8
mov rcx, r12
call fcn.14006e140
nop
mov rdx, qword [rbp - 0x28]
add rdx, 0xffffffffffffffe8
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1400459ca
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rdx, qword [rbp - 0x30]
add rdx, 0xffffffffffffffe8
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1400459e8
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov byte [rbp + 0x80], 0
call fcn.140010210
mov rcx, rax
test rax, rax
je 0x140045ce5
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp + 0x88], rax
lea r9, [rbp + 0x80]
mov r8d, dword [0x140319ca0]
mov edx, 0x1177b
mov rcx, r12
call fcn.14006e0c0
nop
mov rdx, qword [rbp + 0x88]
add rdx, 0xffffffffffffffe8
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140045a4e
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov byte [rbp + 0x90], 0
call fcn.140010210
mov rcx, rax
test rax, rax
je 0x140045ce5
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp + 0x98], rax
lea r9, [rbp + 0x90]
mov r8d, dword [0x140319ca0]
mov edx, 0x1177e
mov rcx, r12
call fcn.14006e0c0
nop
mov rdx, qword [rbp + 0x98]
add rdx, 0xffffffffffffffe8
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140045ab4
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov byte [rbp + 0xa0], 0
call fcn.140010210
mov rcx, rax
test rax, rax
je 0x140045ce5
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp + 0xa8], rax
lea r9, [rbp + 0xa0]
mov r8d, dword [0x140319ca0]
mov edx, 0x1177c
mov rcx, r12
call fcn.14006e0c0
nop
mov rdx, qword [rbp + 0xa8]
add rdx, 0xffffffffffffffe8
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140045b1a
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov byte [rbp + 0xb0], 0
call fcn.140010210
mov rcx, rax
test rax, rax
je 0x140045ce5
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp + 0xb8], rax
lea r9, [rbp + 0xb0]
mov r8d, dword [0x140319ca0]
mov edx, 0x11780
mov rcx, r12
call fcn.14006e0c0
nop
mov rdx, qword [rbp + 0xb8]
add rdx, 0xffffffffffffffe8
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140045b80
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov byte [rbp + 0xc0], 1
call fcn.140010210
mov rcx, rax
test rax, rax
je 0x140045ce5
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp + 0xc8], rax
lea r9, [rbp + 0xc0]
mov r8d, dword [0x140319ca0]
mov edx, 0x1177f
mov rcx, r12
call fcn.14006e0c0
nop
mov rdx, qword [rbp + 0xc8]
add rdx, 0xffffffffffffffe8
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140045be6
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov byte [rbp + 0xd0], 0
call fcn.140010210
mov rcx, rax
test rax, rax
je 0x140045ce5
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp + 0xd8], rax
lea r9, [rbp + 0xd0]
mov r8d, dword [0x140319ca0]
mov edx, 0x1177d
mov rcx, r12
call fcn.14006e0c0
nop
mov rdx, qword [rbp + 0xd8]
add rdx, 0xffffffffffffffe8
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140045c4c
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
inc dword [0x140319ca0]
mov rbx, qword [rsp + 0x40]
lea rdx, [rbx - 0x18]
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140045c71
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rbx, qword [rsp + 0x50]
lea rdx, [rbx - 0x18]
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140045c90
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rbx, qword [rsp + 0x48]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x14004545e
mov ecx, 0x80004005
call fcn.140002d2c
int3
mov ecx, 0x80004005
call fcn.140002d2c
nop
mov ecx, 0x80004005
call fcn.140002d2c
nop
mov ecx, 0x80004005
call fcn.140002d2c
int3
mov ecx, 0x80004005
call fcn.140002d2c
nop
mov ecx, 0x80004005
call fcn.140002d2c
nop
mov ecx, 0x80004005
call fcn.140002d2c
int3
mov ecx, 0x80004005
call fcn.140002d2c
nop
call fcn.140211dfc
int3
mov ecx, 0x80070057
call fcn.140002d2c
int3