Function at 0x140046d80
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 [0x14030b930]
xor rax, rsp
mov qword [rbp + 0xb10], rax
mov r13, rcx
mov byte [rbp - 0x10], 0
call fcn.140010400
mov rcx, rax
test rax, rax
je 0x140047f3e
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp - 8], rax
mov r8d, 2
lea rdx, [0x1402bbfc0]
lea rcx, [rbp - 8]
call fcn.140002a88
mov rbx, qword [rbp - 8]
mov r9, rbx
xor r8d, r8d
mov edx, 0x1175e
mov rcx, qword [r13]
call fcn.14001db50
nop
lea rdx, [rbx - 0x18]
mov r15, 0xffffffffffffffff
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140046e2e
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.140010400
mov rcx, rax
test rax, rax
je 0x140047f33
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x78], rax
lea rdx, [0x1402c1528]
cmp rdx, 0x10000
jae 0x140046e77
movzx edx, dx
lea rcx, [rsp + 0x78]
call fcn.140010c90
jmp 0x140046e98
mov rax, r15
nop word [rax + rax]
inc rax
cmp word [rdx + rax*2], 0
jne 0x140046e80
mov r8d, eax
lea rcx, [rsp + 0x78]
call fcn.140002a88
nop
call fcn.140010400
mov rcx, rax
test rax, rax
je 0x140047f33
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.140002bb4
mov edx, 0x2c
lea rcx, [rbp - 0x80]
call fcn.14006a700
mov r9, qword [rbp - 0x80]
xor r8d, r8d
mov edx, 0x1175f
mov rcx, qword [r13]
call fcn.14001db50
nop
mov rdx, qword [rbp - 0x80]
add rdx, 0xffffffffffffffe8
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140046f07
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 0x140046f26
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
call fcn.140010400
mov rcx, rax
test rax, rax
je 0x140047f3e
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x70], rax
call fcn.140010400
mov rcx, rax
test rax, rax
je 0x140047f49
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 0x140046f85
movzx edx, dx
lea rcx, [rsp + 0x68]
call fcn.140010c90
jmp 0x140046fa8
mov rax, r15
nop dword [rax + rax]
inc rax
cmp word [rdx + rax*2], 0
jne 0x140046f90
mov r8d, eax
lea rcx, [rsp + 0x68]
call fcn.140002a88
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 0x140046fcb
call qword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x1400474cc
mov rcx, rdi
call fcn.140222040
mov r12, rax
test rax, rax
je 0x1400474cc
mov r9, rax
mov r8d, edi
mov edx, dword [rbp - 0x78]
mov rcx, rbx
call qword [sym.imp.VERSION.dll_GetFileVersionInfoW]
mov rcx, r12
test eax, eax
je 0x1400474c7
lea r9, [rbp - 0x20]
lea r8, [rbp - 0x18]
lea rdx, [0x1402c1604]
call qword [sym.imp.VERSION.dll_VerQueryValueW]
mov rcx, r12
test eax, eax
je 0x1400474c7
mov rax, qword [rbp - 0x18]
mov esi, dword [rax + 8]
mov r14d, esi
shr r14d, 0x10
mov ebx, dword [rax + 0xc]
mov edi, ebx
shr edi, 0x10
call fcn.14021ef30
movzx eax, bx
movzx r9d, si
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], edi
mov r8d, r14d
lea rdx, str._d._d._d._d
lea rcx, [rsp + 0x70]
call fcn.140043f20
mov rdi, qword [rsp + 0x70]
lea rcx, [rdi - 0x18]
call fcn.140002c44
add rax, 0x18
mov qword [rbp - 0x60], rax
call fcn.140010400
mov rcx, rax
test rax, rax
je 0x140047f54
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.140002bb4
mov edx, 0x2c
lea rcx, [rbp - 0x58]
call fcn.14006a700
mov rbx, qword [rbp - 0x58]
mov r9, rbx
xor r8d, r8d
mov edx, 0x1175f
mov rcx, qword [r13]
call fcn.14001db50
nop
lea rdx, [rbx - 0x18]
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1400470dd
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 0x1400470fb
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov byte [rbp], 1
call fcn.140010400
mov rcx, rax
test rax, rax
je 0x140047f54
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp + 8], rax
mov r8d, 3
lea rdx, [0x1402c62d8]
lea rcx, [rbp + 8]
call fcn.140002a88
mov rbx, qword [rbp + 8]
mov r9, rbx
xor r8d, r8d
mov edx, 0x1175e
mov rcx, qword [r13]
call fcn.14001db50
nop
lea rdx, [rbx - 0x18]
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140047167
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
call fcn.140010400
mov rcx, rax
test rax, rax
je 0x140047f54
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp - 0x70], rax
lea rdx, str.Edge
cmp rdx, 0x10000
jae 0x1400471a4
movzx edx, dx
lea rcx, [rbp - 0x70]
call fcn.140010c90
jmp 0x1400471c7
mov rax, r15
nop word [rax + rax]
inc rax
cmp word [rdx + rax*2], 0
jne 0x1400471b0
mov r8d, eax
lea rcx, [rbp - 0x70]
call fcn.140002a88
nop
mov rbx, qword [rbp - 0x70]
mov r9, rbx
mov r8d, dword [0x14031ac60]
mov edx, 0x116b9
mov rcx, qword [r13]
call fcn.14001db50
nop
lea rdx, [rbx - 0x18]
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1400471fe
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
lea rcx, [rdi - 0x18]
call fcn.140002c44
add rax, 0x18
mov qword [rbp - 0x50], rax
call fcn.140010400
mov rcx, rax
test rax, rax
je 0x140047f54
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp - 0x48], rax
mov edi, dword [0x14031ac60]
lea rdx, [rbp - 0x50]
lea rcx, [rbp - 0x48]
call fcn.140002bb4
mov edx, 0x2c
lea rcx, [rbp - 0x48]
call fcn.14006a700
mov rbx, qword [rbp - 0x48]
mov r9, rbx
mov r8d, edi
mov edx, 0x116b8
mov rcx, qword [r13]
call fcn.14001db50
nop
lea rdx, [rbx - 0x18]
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140047282
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 0x1400472a0
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov byte [rbp + 0x10], 0
call fcn.140010400
mov rcx, rax
test rax, rax
je 0x140047f54
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp + 0x18], rax
lea r9, [rbp + 0x10]
mov r8d, dword [0x14031ac60]
mov edx, 0x1177b
mov rcx, r13
call fcn.1400713c0
nop
mov rdx, qword [rbp + 0x18]
add rdx, 0xffffffffffffffe8
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1400472fa
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov byte [rbp + 0x20], 0
call fcn.140010400
mov rcx, rax
test rax, rax
je 0x140047f54
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp + 0x28], rax
lea r9, [rbp + 0x20]
mov r8d, dword [0x14031ac60]
mov edx, 0x1177e
mov rcx, r13
call fcn.1400713c0
nop
mov rdx, qword [rbp + 0x28]
add rdx, 0xffffffffffffffe8
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140047354
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov byte [rbp + 0x30], 0
call fcn.140010400
mov rcx, rax
test rax, rax
je 0x140047f54
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp + 0x38], rax
lea r9, [rbp + 0x30]
mov r8d, dword [0x14031ac60]
mov edx, 0x1177c
mov rcx, r13
call fcn.1400713c0
nop
mov rdx, qword [rbp + 0x38]
add rdx, 0xffffffffffffffe8
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1400473ae
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov byte [rbp + 0x40], 0
call fcn.140010400
mov rcx, rax
test rax, rax
je 0x140047f54
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp + 0x48], rax
lea r9, [rbp + 0x40]
mov r8d, dword [0x14031ac60]
mov edx, 0x11780
mov rcx, r13
call fcn.1400713c0
nop
mov rdx, qword [rbp + 0x48]
add rdx, 0xffffffffffffffe8
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140047408
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov byte [rbp + 0x50], 1
call fcn.140010400
mov rcx, rax
test rax, rax
je 0x140047f54
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp + 0x58], rax
lea r9, [rbp + 0x50]
mov r8d, dword [0x14031ac60]
mov edx, 0x1177f
mov rcx, r13
call fcn.1400713c0
nop
mov rdx, qword [rbp + 0x58]
add rdx, 0xffffffffffffffe8
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140047462
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov byte [rbp + 0x60], 0
call fcn.140010400
mov rcx, rax
test rax, rax
je 0x140047f54
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp + 0x68], rax
lea r9, [rbp + 0x60]
mov r8d, dword [0x14031ac60]
mov edx, 0x1177d
mov rcx, r13
call fcn.1400713c0
nop
mov rdx, qword [rbp + 0x68]
add rdx, 0xffffffffffffffe8
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1400474bc
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
inc dword [0x14031ac60]
jmp 0x140047709
call fcn.14021ef30
lea rdx, [rbp + 0xe0]
lea rcx, str.windows_systemappsmicrosoft.microsoftedge_
call qword [sym.imp.KERNEL32.dll_FindFirstFileW]
cmp rax, 0xffffffffffffffff
jne 0x14004754f
lea rdx, [rbx - 0x18]
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140047501
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 0x14004751f
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.140212a70
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.140010400
nop
mov rcx, rax
test rax, rax
je 0x140047f5f
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 0x14004758f
movzx edx, dx
lea rcx, [rsp + 0x48]
call fcn.140010c90
jmp 0x1400475aa
mov rax, r15
inc rax
cmp word [rdx + rax*2], 0
jne 0x140047592
mov r8d, eax
lea rcx, [rsp + 0x48]
call fcn.140002a88
nop
lea rcx, [rbp + 0x10c]
mov rax, r15
inc rax
cmp word [rcx + rax*2], 0
jne 0x1400475b4
lea r12, [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 0x140047f91
movsxd rdx, eax
lea rcx, [rbp + 0x10c]
call fcn.14021ed58
mov rdx, rax
mov qword [rsp + 0x58], rax
mov ecx, 0x7fffffff
sub ecx, eax
cmp ecx, r14d
jl 0x140047f91
lea edi, [rax + r14]
test edi, edi
js 0x140047f91
mov ecx, 1
sub ecx, dword [rbx - 8]
mov eax, dword [rbx - 0xc]
sub eax, edi
or eax, ecx
jge 0x14004763d
mov edx, edi
lea rcx, [rsp + 0x48]
call fcn.140002a28
mov rbx, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x58]
cmp rsi, r14
ja 0x140047646
lea r12, [rbx + rsi*2]
lea rcx, [rbx + r14*2]
movsxd r8, edx
add r8, r8
je 0x14004767d
test rcx, rcx
je 0x14004766d
test r12, r12
je 0x140047666
mov rdx, r12
call fcn.1402171d0
jmp 0x14004767d
xor edx, edx
call fcn.140217880
call fcn.14021b9ac
mov dword [rax], 0x16
call fcn.14021b85c
cmp edi, dword [rbx - 0xc]
jg 0x140047f91
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]
inc rax
cmp word [rdx + rax*2], di
jne 0x1400476a0
mov r8d, eax
lea rcx, [rsp + 0x48]
call fcn.140005a94
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 0x140047717
lea rdx, [rbx - 0x18]
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140047709
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 0x1400474ea
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 0x140047f25
mov eax, dword [rsp + 0x60]
cmp rax, 0x7d2
jae 0x140047f8b
mov byte [rbp + rax + 0x330], dil
call fcn.140010400
mov rcx, rax
test rax, rax
je 0x140047f6a
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 0x1400477a0
lea rax, [rbp + 0x330]
movzx edx, ax
call fcn.140010c90
jmp 0x1400477ad
lea rdx, [rbp + 0x330]
call fcn.140012c50
nop
mov rbx, qword [rsp + 0x50]
cmp dword [rbx - 0x10], 0
jl 0x140047f06
lea rdx, str.Version
mov rcx, rbx
call fcn.140216d00
mov rdi, rax
test rax, rax
je 0x140047f06
sub rdi, rbx
sar rdi, 1
test edi, edi
js 0x140047f06
cmp dword [rbx - 0x10], 0
jle 0x140047f06
mov edx, 0x22
mov rcx, rbx
call fcn.140217120
test rax, rax
je 0x140047f06
sub rax, rbx
sar rax, 1
test eax, eax
js 0x140047f06
lea r8d, [rdi + 9]
mov r9d, eax
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x50]
call fcn.140012a40
nop
mov rbx, qword [rsp + 0x40]
cmp dword [rbx - 0x10], 0
jle 0x140047ee7
lea rdx, str.20.10240
mov rcx, rbx
call fcn.140216d00
test rax, rax
je 0x140047870
sub rax, rbx
sar rax, 1
test eax, eax
js 0x140047870
lea rdx, str.12.10240
mov rax, r15
inc rax
cmp word [rdx + rax*2], 0
jne 0x140047861
jmp 0x140047a7a
cmp dword [rbx - 0x10], 0
jl 0x140047a8c
lea rdx, str.25.10586
mov rcx, rbx
call fcn.140216d00
test rax, rax
je 0x1400478b1
sub rax, rbx
sar rax, 1
test eax, eax
js 0x1400478b1
lea rdx, str.13.10586
mov rax, r15
inc rax
cmp word [rdx + rax*2], 0
jne 0x1400478a2
jmp 0x140047a7a
cmp dword [rbx - 0x10], 0
jl 0x140047a8c
lea rdx, str.38.14393
mov rcx, rbx
call fcn.140216d00
test rax, rax
je 0x1400478f2
sub rax, rbx
sar rax, 1
test eax, eax
js 0x1400478f2
lea rdx, str.14.14393
mov rax, r15
inc rax
cmp word [rdx + rax*2], 0
jne 0x1400478e3
jmp 0x140047a7a
cmp dword [rbx - 0x10], 0
jl 0x140047a8c
lea rdx, str.40.15063
mov rcx, rbx
call fcn.140216d00
test rax, rax
je 0x140047933
sub rax, rbx
sar rax, 1
test eax, eax
js 0x140047933
lea rdx, str.15.15063
mov rax, r15
inc rax
cmp word [rdx + rax*2], 0
jne 0x140047924
jmp 0x140047a7a
cmp dword [rbx - 0x10], 0
jl 0x140047a8c
lea rdx, str.41.16299
mov rcx, rbx
call fcn.140216d00
test rax, rax
je 0x140047974
sub rax, rbx
sar rax, 1
test eax, eax
js 0x140047974
lea rdx, str.16.16299
mov rax, r15
inc rax
cmp word [rdx + rax*2], 0
jne 0x140047965
jmp 0x140047a7a
cmp dword [rbx - 0x10], 0
jl 0x140047a8c
lea rdx, str.42.17134
mov rcx, rbx
call fcn.140216d00
test rax, rax
je 0x1400479b5
sub rax, rbx
sar rax, 1
test eax, eax
js 0x1400479b5
lea rdx, str.17.17134
mov rax, r15
inc rax
cmp word [rdx + rax*2], 0
jne 0x1400479a6
jmp 0x140047a7a
cmp dword [rbx - 0x10], 0
jl 0x140047a8c
lea rdx, str.44.17763
mov rcx, rbx
call fcn.140216d00
test rax, rax
je 0x1400479fc
sub rax, rbx
sar rax, 1
test eax, eax
js 0x1400479fc
lea rdx, str.18.17763
mov rax, r15
nop word [rax + rax]
inc rax
cmp word [rdx + rax*2], 0
jne 0x1400479f0
jmp 0x140047a7a
cmp dword [rbx - 0x10], 0
jl 0x140047a8c
lea rdx, str.44.18362
mov rcx, rbx
call fcn.140216d00
test rax, rax
je 0x140047a3c
sub rax, rbx
sar rax, 1
test eax, eax
js 0x140047a3c
lea rdx, str.18.18363
mov rax, r15
nop
inc rax
cmp word [rdx + rax*2], 0
jne 0x140047a30
jmp 0x140047a7a
cmp dword [rbx - 0x10], 0
jl 0x140047a8c
lea rdx, str.44.19041
mov rcx, rbx
call fcn.140216d00
test rax, rax
je 0x140047a8c
sub rax, rbx
sar rax, 1
test eax, eax
js 0x140047a8c
lea rdx, str.18.19041
mov rax, r15
nop word [rax + rax]
inc rax
cmp word [rdx + rax*2], 0
jne 0x140047a70
mov r8d, eax
lea rcx, [rsp + 0x40]
call fcn.140002a88
mov rbx, qword [rsp + 0x40]
lea rdi, [rbx - 0x18]
mov rcx, rdi
call fcn.140002c44
add rax, 0x18
mov qword [rbp - 0x40], rax
call fcn.140010400
mov rcx, rax
test rax, rax
je 0x140047f80
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, r13
call fcn.140071440
nop
mov rdx, qword [rbp - 0x38]
add rdx, 0xffffffffffffffe8
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140047af2
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 0x140047b10
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov byte [rbp + 0x70], 1
call fcn.140010400
mov rcx, rax
test rax, rax
je 0x140047f80
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, r13
call fcn.1400713c0
nop
mov rdx, qword [rbp + 0x78]
add rdx, 0xffffffffffffffe8
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140047b66
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
call fcn.140010400
mov rcx, rax
test rax, rax
je 0x140047f80
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp - 0x68], rax
lea rdx, str.Edge
cmp rdx, 0x10000
jae 0x140047ba3
movzx edx, dx
lea rcx, [rbp - 0x68]
call fcn.140010c90
jmp 0x140047bbd
mov rax, r15
inc rax
cmp word [rdx + rax*2], 0
jne 0x140047ba6
mov r8d, eax
lea rcx, [rbp - 0x68]
call fcn.140002a88
nop
mov rbx, qword [rbp - 0x68]
mov r9, rbx
mov r8d, dword [0x14031ac60]
mov edx, 0x116b9
mov rcx, qword [r13]
call fcn.14001db50
nop
lea rdx, [rbx - 0x18]
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140047bf4
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rcx, rdi
call fcn.140002c44
add rax, 0x18
mov qword [rbp - 0x30], rax
call fcn.140010400
mov rcx, rax
test rax, rax
je 0x140047f75
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp - 0x28], rax
lea r9, [rbp - 0x30]
mov r8d, dword [0x14031ac60]
mov edx, 0x116b8
mov rcx, r13
call fcn.140071440
nop
mov rdx, qword [rbp - 0x28]
add rdx, 0xffffffffffffffe8
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140047c5a
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 0x140047c78
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov byte [rbp + 0x80], 0
call fcn.140010400
mov rcx, rax
test rax, rax
je 0x140047f75
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp + 0x88], rax
lea r9, [rbp + 0x80]
mov r8d, dword [0x14031ac60]
mov edx, 0x1177b
mov rcx, r13
call fcn.1400713c0
nop
mov rdx, qword [rbp + 0x88]
add rdx, 0xffffffffffffffe8
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140047cde
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov byte [rbp + 0x90], 0
call fcn.140010400
mov rcx, rax
test rax, rax
je 0x140047f75
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp + 0x98], rax
lea r9, [rbp + 0x90]
mov r8d, dword [0x14031ac60]
mov edx, 0x1177e
mov rcx, r13
call fcn.1400713c0
nop
mov rdx, qword [rbp + 0x98]
add rdx, 0xffffffffffffffe8
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140047d44
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov byte [rbp + 0xa0], 0
call fcn.140010400
mov rcx, rax
test rax, rax
je 0x140047f75
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp + 0xa8], rax
lea r9, [rbp + 0xa0]
mov r8d, dword [0x14031ac60]
mov edx, 0x1177c
mov rcx, r13
call fcn.1400713c0
nop
mov rdx, qword [rbp + 0xa8]
add rdx, 0xffffffffffffffe8
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140047daa
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov byte [rbp + 0xb0], 0
call fcn.140010400
mov rcx, rax
test rax, rax
je 0x140047f75
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp + 0xb8], rax
lea r9, [rbp + 0xb0]
mov r8d, dword [0x14031ac60]
mov edx, 0x11780
mov rcx, r13
call fcn.1400713c0
nop
mov rdx, qword [rbp + 0xb8]
add rdx, 0xffffffffffffffe8
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140047e10
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov byte [rbp + 0xc0], 1
call fcn.140010400
mov rcx, rax
test rax, rax
je 0x140047f75
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp + 0xc8], rax
lea r9, [rbp + 0xc0]
mov r8d, dword [0x14031ac60]
mov edx, 0x1177f
mov rcx, r13
call fcn.1400713c0
nop
mov rdx, qword [rbp + 0xc8]
add rdx, 0xffffffffffffffe8
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140047e76
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov byte [rbp + 0xd0], 0
call fcn.140010400
mov rcx, rax
test rax, rax
je 0x140047f75
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp + 0xd8], rax
lea r9, [rbp + 0xd0]
mov r8d, dword [0x14031ac60]
mov edx, 0x1177d
mov rcx, r13
call fcn.1400713c0
nop
mov rdx, qword [rbp + 0xd8]
add rdx, 0xffffffffffffffe8
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140047edc
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
inc dword [0x14031ac60]
mov rbx, qword [rsp + 0x40]
lea rdx, [rbx - 0x18]
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140047f01
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 0x140047f20
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 0x1400476ee
mov ecx, 0x80004005
call fcn.140002d08
int3
mov ecx, 0x80004005
call fcn.140002d08
nop
mov ecx, 0x80004005
call fcn.140002d08
nop
mov ecx, 0x80004005
call fcn.140002d08
int3
mov ecx, 0x80004005
call fcn.140002d08
nop
mov ecx, 0x80004005
call fcn.140002d08
nop
mov ecx, 0x80004005
call fcn.140002d08
int3
mov ecx, 0x80004005
call fcn.140002d08
nop
call fcn.1402130ac
int3
mov ecx, 0x80070057
call fcn.140002d08
int3