Function at 0x140047c50
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 [0x14031b940]
xor rax, rsp
mov qword [rbp + 0xb10], rax
mov r12, rcx
mov byte [rbp - 0x10], 0
call fcn.140010070
mov rcx, rax
test rax, rax
je 0x140048e1a
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp - 8], rax
mov r8d, 2
lea rdx, [0x1402c9f90]
lea rcx, [rbp - 8]
call fcn.140002b6c
mov rbx, qword [rbp - 8]
mov r9, rbx
xor r8d, r8d
mov edx, 0x1175e
mov rcx, qword [r12]
call fcn.14001e4c0
nop
lea rdx, [rbx - 0x18]
mov r15, 0xffffffffffffffff
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140047cfe
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.140010070
mov rcx, rax
test rax, rax
je 0x140048e0f
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x78], rax
lea rdx, [0x1402cf0f8]
cmp rdx, 0x10000
jae 0x140047d47
movzx edx, dx
lea rcx, [rsp + 0x78]
call fcn.1400108d0
jmp 0x140047d66
mov r8, r15
nop word [rax + rax]
inc r8
cmp word [rdx + r8*2], 0
jne 0x140047d50
lea rcx, [rsp + 0x78]
call fcn.140002b6c
nop
call fcn.140010070
mov rcx, rax
test rax, rax
je 0x140048e0f
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.140002c9c
mov edx, 0x2c
lea rcx, [rbp - 0x80]
call fcn.140041950
mov r9, qword [rbp - 0x80]
xor r8d, r8d
mov edx, 0x1175f
mov rcx, qword [r12]
call fcn.14001e4c0
nop
mov rdx, qword [rbp - 0x80]
add rdx, 0xffffffffffffffe8
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140047dd5
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 0x140047df4
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
call fcn.140010070
mov rcx, rax
test rax, rax
je 0x140048e1a
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x70], rax
call fcn.140010070
mov rcx, rax
test rax, rax
je 0x140048e25
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 0x140047e53
movzx edx, dx
lea rcx, [rsp + 0x68]
call fcn.1400108d0
jmp 0x140047e76
mov r8, r15
nop word [rax + rax]
inc r8
cmp word [rdx + r8*2], 0
jne 0x140047e60
lea rcx, [rsp + 0x68]
call fcn.140002b6c
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 0x140047e99
call qword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x14004839d
mov rcx, rdi
call fcn.140232ba0
mov r13, rax
test rax, rax
je 0x14004839d
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 0x140048398
lea r9, [rbp - 0x20]
lea r8, [rbp - 0x18]
lea rdx, [0x1402cf22c]
call qword [sym.imp.VERSION.dll_VerQueryValueW]
test eax, eax
je 0x140048395
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.14022fb58
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.140044d60
mov rdi, qword [rsp + 0x70]
lea rcx, [rdi - 0x18]
call fcn.140002d2c
add rax, 0x18
mov qword [rbp - 0x60], rax
call fcn.140010070
mov rcx, rax
test rax, rax
je 0x140048e30
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.140002c9c
mov edx, 0x2c
lea rcx, [rbp - 0x58]
call fcn.140041950
mov rbx, qword [rbp - 0x58]
mov r9, rbx
xor r8d, r8d
mov edx, 0x1175f
mov rcx, qword [r12]
call fcn.14001e4c0
nop
lea rdx, [rbx - 0x18]
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140047fad
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 0x140047fcb
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov byte [rbp], 1
call fcn.140010070
mov rcx, rax
test rax, rax
je 0x140048e30
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp + 8], rax
mov r8d, 3
lea rdx, [0x1402d4508]
lea rcx, [rbp + 8]
call fcn.140002b6c
mov rbx, qword [rbp + 8]
mov r9, rbx
xor r8d, r8d
mov edx, 0x1175e
mov rcx, qword [r12]
call fcn.14001e4c0
nop
lea rdx, [rbx - 0x18]
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140048037
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
call fcn.140010070
mov rcx, rax
test rax, rax
je 0x140048e30
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp - 0x70], rax
lea rdx, str.Edge
cmp rdx, 0x10000
jae 0x140048074
movzx edx, dx
lea rcx, [rbp - 0x70]
call fcn.1400108d0
jmp 0x140048095
mov r8, r15
nop word [rax + rax]
inc r8
cmp word [rdx + r8*2], 0
jne 0x140048080
lea rcx, [rbp - 0x70]
call fcn.140002b6c
nop
mov rbx, qword [rbp - 0x70]
mov r9, rbx
mov r8d, dword [0x14032acb0]
mov edx, 0x116b9
mov rcx, qword [r12]
call fcn.14001e4c0
nop
lea rdx, [rbx - 0x18]
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1400480cc
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
lea rcx, [rdi - 0x18]
call fcn.140002d2c
add rax, 0x18
mov qword [rbp - 0x50], rax
call fcn.140010070
mov rcx, rax
test rax, rax
je 0x140048e30
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp - 0x48], rax
mov edi, dword [0x14032acb0]
lea rdx, [rbp - 0x50]
lea rcx, [rbp - 0x48]
call fcn.140002c9c
mov edx, 0x2c
lea rcx, [rbp - 0x48]
call fcn.140041950
mov rbx, qword [rbp - 0x48]
mov r9, rbx
mov r8d, edi
mov edx, 0x116b8
mov rcx, qword [r12]
call fcn.14001e4c0
nop
lea rdx, [rbx - 0x18]
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140048150
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 0x14004816e
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov byte [rbp + 0x10], 0
call fcn.140010070
mov rcx, rax
test rax, rax
je 0x140048e30
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp + 0x18], rax
lea r9, [rbp + 0x10]
mov r8d, dword [0x14032acb0]
mov edx, 0x1177b
mov rcx, r12
call fcn.14007c1d0
nop
mov rdx, qword [rbp + 0x18]
add rdx, 0xffffffffffffffe8
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1400481c8
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov byte [rbp + 0x20], 0
call fcn.140010070
mov rcx, rax
test rax, rax
je 0x140048e30
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp + 0x28], rax
lea r9, [rbp + 0x20]
mov r8d, dword [0x14032acb0]
mov edx, 0x1177e
mov rcx, r12
call fcn.14007c1d0
nop
mov rdx, qword [rbp + 0x28]
add rdx, 0xffffffffffffffe8
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140048222
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov byte [rbp + 0x30], 0
call fcn.140010070
mov rcx, rax
test rax, rax
je 0x140048e30
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp + 0x38], rax
lea r9, [rbp + 0x30]
mov r8d, dword [0x14032acb0]
mov edx, 0x1177c
mov rcx, r12
call fcn.14007c1d0
nop
mov rdx, qword [rbp + 0x38]
add rdx, 0xffffffffffffffe8
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14004827c
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov byte [rbp + 0x40], 0
call fcn.140010070
mov rcx, rax
test rax, rax
je 0x140048e30
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp + 0x48], rax
lea r9, [rbp + 0x40]
mov r8d, dword [0x14032acb0]
mov edx, 0x11780
mov rcx, r12
call fcn.14007c1d0
nop
mov rdx, qword [rbp + 0x48]
add rdx, 0xffffffffffffffe8
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1400482d6
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov byte [rbp + 0x50], 1
call fcn.140010070
mov rcx, rax
test rax, rax
je 0x140048e30
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp + 0x58], rax
lea r9, [rbp + 0x50]
mov r8d, dword [0x14032acb0]
mov edx, 0x1177f
mov rcx, r12
call fcn.14007c1d0
nop
mov rdx, qword [rbp + 0x58]
add rdx, 0xffffffffffffffe8
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140048330
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov byte [rbp + 0x60], 0
call fcn.140010070
mov rcx, rax
test rax, rax
je 0x140048e30
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp + 0x68], rax
lea r9, [rbp + 0x60]
mov r8d, dword [0x14032acb0]
mov edx, 0x1177d
mov rcx, r12
call fcn.14007c1d0
nop
mov rdx, qword [rbp + 0x68]
add rdx, 0xffffffffffffffe8
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14004838a
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
inc dword [0x14032acb0]
jmp 0x1400485d7
mov rcx, r13
call fcn.14022fb58
lea rdx, [rbp + 0xe0]
lea rcx, str.windows_systemappsmicrosoft.microsoftedge_
call qword [sym.imp.KERNEL32.dll_FindFirstFileW]
cmp rax, 0xffffffffffffffff
jne 0x140048420
lea rdx, [rbx - 0x18]
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1400483d2
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 0x1400483f0
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.140220eb0
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.140010070
nop
mov rcx, rax
test rax, rax
je 0x140048e3b
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 0x140048460
movzx edx, dx
lea rcx, [rsp + 0x48]
call fcn.1400108d0
jmp 0x140048479
mov r8, r15
inc r8
cmp word [rdx + r8*2], 0
jne 0x140048463
lea rcx, [rsp + 0x48]
call fcn.140002b6c
nop
lea rcx, [rbp + 0x10c]
mov rax, r15
inc rax
cmp word [rcx + rax*2], 0
jne 0x140048483
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 0x140048e6d
movsxd rdx, eax
lea rcx, [rbp + 0x10c]
call fcn.14022f980
mov rdx, rax
mov qword [rsp + 0x58], rax
mov ecx, 0x7fffffff
sub ecx, eax
cmp ecx, r14d
jl 0x140048e6d
lea edi, [rax + r14]
test edi, edi
js 0x140048e6d
mov ecx, 1
sub ecx, dword [rbx - 8]
mov eax, dword [rbx - 0xc]
sub eax, edi
or eax, ecx
jge 0x14004850c
mov edx, edi
lea rcx, [rsp + 0x48]
call fcn.140002b08
mov rbx, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x58]
cmp rsi, r14
ja 0x140048515
lea r13, [rbx + rsi*2]
movsxd r8, edx
add r8, r8
lea rcx, [rbx + r14*2]
je 0x14004854c
test rcx, rcx
je 0x14004853c
test r13, r13
je 0x140048535
mov rdx, r13
call fcn.1402544d0
jmp 0x14004854c
xor edx, edx
call fcn.140254b70
call fcn.14022a79c
mov dword [rax], 0x16
call fcn.14022a630
cmp edi, dword [rbx - 0xc]
jg 0x140048e6d
mov dword [rbx - 0x10], edi
movsxd rax, edi
xor edi, edi
mov word [rbx + rax*2], di
lea rdx, str._appxmanifest.xml
mov r8, r15
nop dword [rax + rax]
inc r8
cmp word [rdx + r8*2], di
jne 0x140048570
lea rcx, [rsp + 0x48]
call fcn.14000581c
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 0x1400485e5
lea rdx, [rbx - 0x18]
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1400485d7
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 0x1400483bb
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 0x140048e01
mov eax, dword [rsp + 0x60]
cmp rax, 0x7d2
jae 0x140048e67
mov byte [rbp + rax + 0x330], dil
call fcn.140010070
mov rcx, rax
test rax, rax
je 0x140048e46
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 0x14004866e
lea rax, [rbp + 0x330]
movzx edx, ax
call fcn.1400108d0
jmp 0x14004867b
lea rdx, [rbp + 0x330]
call fcn.1400131d0
nop
mov rbx, qword [rsp + 0x50]
cmp dword [rbx - 0x10], 0
jl 0x140048de2
lea rdx, str.Version
mov rcx, rbx
call fcn.1402250e8
mov rdi, rax
test rax, rax
je 0x140048de2
sub rdi, rbx
sar rdi, 1
test edi, edi
js 0x140048de2
cmp dword [rbx - 0x10], 0
jle 0x140048de2
mov edx, 0x22
mov rcx, rbx
call fcn.1402255b0
test rax, rax
je 0x140048de2
sub rax, rbx
sar rax, 1
test eax, eax
js 0x140048de2
lea r8d, [rdi + 9]
mov r9d, eax
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x50]
call fcn.140012fc0
nop
mov rbx, qword [rsp + 0x40]
cmp dword [rbx - 0x10], 0
jle 0x140048dc3
lea rdx, str.20.10240
mov rcx, rbx
call fcn.1402250e8
test rax, rax
je 0x140048740
sub rax, rbx
sar rax, 1
test eax, eax
js 0x140048740
lea rdx, str.12.10240
mov r8, r15
nop
inc r8
cmp word [rdx + r8*2], 0
jne 0x140048730
jmp 0x14004895b
cmp dword [rbx - 0x10], 0
jl 0x14004896a
lea rdx, str.25.10586
mov rcx, rbx
call fcn.1402250e8
test rax, rax
je 0x140048782
sub rax, rbx
sar rax, 1
test eax, eax
js 0x140048782
lea rdx, str.13.10586
mov r8, r15
inc r8
cmp word [rdx + r8*2], 0
jne 0x140048772
jmp 0x14004895b
cmp dword [rbx - 0x10], 0
jl 0x14004896a
lea rdx, str.38.14393
mov rcx, rbx
call fcn.1402250e8
test rax, rax
je 0x1400487c4
sub rax, rbx
sar rax, 1
test eax, eax
js 0x1400487c4
lea rdx, str.14.14393
mov r8, r15
inc r8
cmp word [rdx + r8*2], 0
jne 0x1400487b4
jmp 0x14004895b
cmp dword [rbx - 0x10], 0
jl 0x14004896a
lea rdx, str.40.15063
mov rcx, rbx
call fcn.1402250e8
test rax, rax
je 0x140048810
sub rax, rbx
sar rax, 1
test eax, eax
js 0x140048810
lea rdx, str.15.15063
mov r8, r15
nop word [rax + rax]
inc r8
cmp word [rdx + r8*2], 0
jne 0x140048800
jmp 0x14004895b
cmp dword [rbx - 0x10], 0
jl 0x14004896a
lea rdx, str.41.16299
mov rcx, rbx
call fcn.1402250e8
test rax, rax
je 0x140048852
sub rax, rbx
sar rax, 1
test eax, eax
js 0x140048852
lea rdx, str.16.16299
mov r8, r15
inc r8
cmp word [rdx + r8*2], 0
jne 0x140048842
jmp 0x14004895b
cmp dword [rbx - 0x10], 0
jl 0x14004896a
lea rdx, str.42.17134
mov rcx, rbx
call fcn.1402250e8
test rax, rax
je 0x140048894
sub rax, rbx
sar rax, 1
test eax, eax
js 0x140048894
lea rdx, str.17.17134
mov r8, r15
inc r8
cmp word [rdx + r8*2], 0
jne 0x140048884
jmp 0x14004895b
cmp dword [rbx - 0x10], 0
jl 0x14004896a
lea rdx, str.44.17763
mov rcx, rbx
call fcn.1402250e8
test rax, rax
je 0x1400488dd
sub rax, rbx
sar rax, 1
test eax, eax
js 0x1400488dd
lea rdx, str.18.17763
mov r8, r15
nop word [rax + rax]
inc r8
cmp word [rdx + r8*2], 0
jne 0x1400488d0
jmp 0x14004895b
cmp dword [rbx - 0x10], 0
jl 0x14004896a
lea rdx, str.44.18362
mov rcx, rbx
call fcn.1402250e8
test rax, rax
je 0x14004891d
sub rax, rbx
sar rax, 1
test eax, eax
js 0x14004891d
lea rdx, str.18.18363
mov r8, r15
nop
inc r8
cmp word [rdx + r8*2], 0
jne 0x140048910
jmp 0x14004895b
cmp dword [rbx - 0x10], 0
jl 0x14004896a
lea rdx, str.44.19041
mov rcx, rbx
call fcn.1402250e8
test rax, rax
je 0x14004896a
sub rax, rbx
sar rax, 1
test eax, eax
js 0x14004896a
lea rdx, str.18.19041
mov r8, r15
nop dword [rax + rax]
inc r8
cmp word [rdx + r8*2], 0
jne 0x140048950
lea rcx, [rsp + 0x40]
call fcn.140002b6c
mov rbx, qword [rsp + 0x40]
lea rdi, [rbx - 0x18]
mov rcx, rdi
call fcn.140002d2c
add rax, 0x18
mov qword [rbp - 0x40], rax
call fcn.140010070
mov rcx, rax
test rax, rax
je 0x140048e5c
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.14007c250
nop
mov rdx, qword [rbp - 0x38]
add rdx, 0xffffffffffffffe8
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1400489d0
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 0x1400489ee
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov byte [rbp + 0x70], 1
call fcn.140010070
mov rcx, rax
test rax, rax
je 0x140048e5c
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.14007c1d0
nop
mov rdx, qword [rbp + 0x78]
add rdx, 0xffffffffffffffe8
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140048a44
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
call fcn.140010070
mov rcx, rax
test rax, rax
je 0x140048e51
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp - 0x68], rax
lea rdx, str.Edge
cmp rdx, 0x10000
jae 0x140048a81
movzx edx, dx
lea rcx, [rbp - 0x68]
call fcn.1400108d0
jmp 0x140048a99
mov r8, r15
inc r8
cmp word [rdx + r8*2], 0
jne 0x140048a84
lea rcx, [rbp - 0x68]
call fcn.140002b6c
nop
mov rbx, qword [rbp - 0x68]
mov r9, rbx
mov r8d, dword [0x14032acb0]
mov edx, 0x116b9
mov rcx, qword [r12]
call fcn.14001e4c0
nop
lea rdx, [rbx - 0x18]
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140048ad0
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rcx, rdi
call fcn.140002d2c
add rax, 0x18
mov qword [rbp - 0x30], rax
call fcn.140010070
mov rcx, rax
test rax, rax
je 0x140048e51
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp - 0x28], rax
lea r9, [rbp - 0x30]
mov r8d, dword [0x14032acb0]
mov edx, 0x116b8
mov rcx, r12
call fcn.14007c250
nop
mov rdx, qword [rbp - 0x28]
add rdx, 0xffffffffffffffe8
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140048b36
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 0x140048b54
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov byte [rbp + 0x80], 0
call fcn.140010070
mov rcx, rax
test rax, rax
je 0x140048e51
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp + 0x88], rax
lea r9, [rbp + 0x80]
mov r8d, dword [0x14032acb0]
mov edx, 0x1177b
mov rcx, r12
call fcn.14007c1d0
nop
mov rdx, qword [rbp + 0x88]
add rdx, 0xffffffffffffffe8
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140048bba
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov byte [rbp + 0x90], 0
call fcn.140010070
mov rcx, rax
test rax, rax
je 0x140048e51
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp + 0x98], rax
lea r9, [rbp + 0x90]
mov r8d, dword [0x14032acb0]
mov edx, 0x1177e
mov rcx, r12
call fcn.14007c1d0
nop
mov rdx, qword [rbp + 0x98]
add rdx, 0xffffffffffffffe8
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140048c20
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov byte [rbp + 0xa0], 0
call fcn.140010070
mov rcx, rax
test rax, rax
je 0x140048e51
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp + 0xa8], rax
lea r9, [rbp + 0xa0]
mov r8d, dword [0x14032acb0]
mov edx, 0x1177c
mov rcx, r12
call fcn.14007c1d0
nop
mov rdx, qword [rbp + 0xa8]
add rdx, 0xffffffffffffffe8
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140048c86
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov byte [rbp + 0xb0], 0
call fcn.140010070
mov rcx, rax
test rax, rax
je 0x140048e51
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp + 0xb8], rax
lea r9, [rbp + 0xb0]
mov r8d, dword [0x14032acb0]
mov edx, 0x11780
mov rcx, r12
call fcn.14007c1d0
nop
mov rdx, qword [rbp + 0xb8]
add rdx, 0xffffffffffffffe8
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140048cec
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov byte [rbp + 0xc0], 1
call fcn.140010070
mov rcx, rax
test rax, rax
je 0x140048e51
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp + 0xc8], rax
lea r9, [rbp + 0xc0]
mov r8d, dword [0x14032acb0]
mov edx, 0x1177f
mov rcx, r12
call fcn.14007c1d0
nop
mov rdx, qword [rbp + 0xc8]
add rdx, 0xffffffffffffffe8
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140048d52
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov byte [rbp + 0xd0], 0
call fcn.140010070
mov rcx, rax
test rax, rax
je 0x140048e51
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp + 0xd8], rax
lea r9, [rbp + 0xd0]
mov r8d, dword [0x14032acb0]
mov edx, 0x1177d
mov rcx, r12
call fcn.14007c1d0
nop
mov rdx, qword [rbp + 0xd8]
add rdx, 0xffffffffffffffe8
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140048db8
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
inc dword [0x14032acb0]
mov rbx, qword [rsp + 0x40]
lea rdx, [rbx - 0x18]
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140048ddd
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 0x140048dfc
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 0x1400485bc
mov ecx, 0x80004005
call fcn.140002e3c
int3
mov ecx, 0x80004005
call fcn.140002e3c
nop
mov ecx, 0x80004005
call fcn.140002e3c
nop
mov ecx, 0x80004005
call fcn.140002e3c
int3
mov ecx, 0x80004005
call fcn.140002e3c
nop
mov ecx, 0x80004005
call fcn.140002e3c
nop
mov ecx, 0x80004005
call fcn.140002e3c
int3
mov ecx, 0x80004005
call fcn.140002e3c
nop
call fcn.140221364
int3
mov ecx, 0x80070057
call fcn.140002e3c
int3