Function at 0x100080e3
Capabilities:
Create process on windows

Disassembly:
push 0x2a4
mov eax, 0x10111834
call fcn.1011094d
mov ebx, ecx
mov eax, dword [ebp + 0x10]
lea esi, [ebp + 0x18]
lea edi, [ebp - 0x278]
mov dword [ebp - 0x228], eax
mov eax, dword [ebp + 0x14]
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x264], eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
xor esi, esi
mov edi, 0x80004005
mov dword [ebp - 0x240], esi
mov dword [ebp - 0x258], esi
mov dword [ebp - 0x248], esi
mov dword [ebp - 0x250], esi
mov dword [ebp - 0x24c], esi
or dword [ebp - 0x238], 0xffffffff
xor ecx, ecx
mov eax, dword [ebp + 0xc]
inc ecx
mov dword [ebp - 4], esi
mov dword [ebp - 0x224], esi
mov dword [ebp - 0x260], esi
mov dword [ebp - 0x234], esi
test eax, eax
je 0x10008168
mov dword [ebp - 0x23c], esi
test al, 0x20
je 0x1000816e
mov dword [ebp - 0x23c], ecx
mov ecx, ebx
call fcn.10009b00
mov dword [ebp - 0x230], eax
mov eax, dword [ebp - 0x228]
push 8
pop ecx
cmp word [eax], si
jne 0x100081b0
cmp word [ebp - 0x278], cx
jne 0x10008ad7
push dword [ebp - 0x270]
call dword [sym.imp.OLEAUT32.dll_VariantInit]
test eax, eax
je 0x10008ad7
mov eax, dword [ebp - 0x228]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantInit]
cmp eax, 0x104
jb 0x100081d3
mov edx, 0xa058
mov ecx, dword [ebp - 0x230]
call fcn.10046129
jmp 0x10008ad7
mov ecx, dword [ebp - 0x228]
lea edx, [ebp - 0x224]
call fcn.10046129
test eax, eax
jne 0x10008ad7
call fcn.1000b398
test eax, eax
js 0x10008ac1
mov dword [ebp - 0x244], esi
call fcn.1006257d
cmp eax, 0x401
je 0x10008218
mov dword [ebp - 0x25c], esi
cmp eax, 0x40d
jne 0x10008222
mov dword [ebp - 0x25c], 1
mov eax, dword [ebp - 0x228]
cmp word [eax], si
je 0x10008267
push ecx
push 5
push str.http:
push 5
pop edx
mov ecx, eax
call fcn.10046129
test eax, eax
jne 0x10008261
push ecx
mov ecx, dword [ebp - 0x228]
push 6
push str.https:
push 6
pop edx
call fcn.10046129
test eax, eax
je 0x10008ad7
mov eax, dword [ebp - 0x228]
cmp dword [ebp - 0x23c], 0
push 2
pop ecx
je 0x10008287
cmp dword [ebx + 0x3c], ecx
je 0x10008287
push eax
call dword [sym.imp.MSOHEV.dll__HevFIsHTMLOrMHTML_4]
test eax, eax
jne 0x10008ad7
push 8
pop eax
cmp word [ebp - 0x278], ax
jne 0x100083d2
push dword [ebp - 0x270]
call dword [sym.imp.OLEAUT32.dll_VariantInit]
test eax, eax
je 0x100083d2
lea eax, [ebp - 0x258]
push eax
push ecx
mov ecx, 0x20019
call fcn.1001fa55
pop ecx
push eax
push esi
push dword [ebp - 0x270]
push SysReAllocString
call dword [sym.imp.advapi32.dll_RegOpenKeyExW]
xor ecx, ecx
test eax, eax
sete cl
mov dword [ebp - 0x254], ecx
test eax, eax
jne 0x100083ca
push dword [ebp - 0x270]
call dword [sym.imp.OLEAUT32.dll_VariantInit]
inc eax
xor ecx, ecx
push 2
pop edx
mov dword [ebp - 0x22c], eax
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov dword [ebp - 0x250], eax
pop ecx
test eax, eax
je 0x10008ad7
push dword [ebp - 0x22c]
mov ecx, dword [ebp - 0x270]
mov edx, eax
call fcn.10046129
push 0x105
lea eax, [ebp - 0x220]
push eax
push dword [ebp - 0x250]
call dword [sym.imp.MSOHEV.dll__WzRegistryProgIDFromDocProgID_12]
push 1
push eax
call dword [sym.imp.MSOHEV.dll__WHeviAppFromProgId_8]
mov dword [ebp - 0x238], eax
test eax, eax
je 0x10008385
cmp eax, 1
je 0x10008385
cmp eax, 3
je 0x10008385
push 2
pop ecx
cmp eax, ecx
je 0x10008385
cmp eax, 4
je 0x10008385
cmp eax, 5
je 0x10008385
cmp eax, 6
je 0x10008385
cmp eax, 7
je 0x10008385
cmp eax, 8
jne 0x100083d2
mov eax, dword [ebp - 0x22c]
xor ecx, ecx
push 2
pop edx
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
pop ecx
mov ecx, eax
mov dword [ebp - 0x248], ecx
test ecx, ecx
je 0x10008ad7
push dword [ebp - 0x22c]
mov edx, ecx
mov ecx, dword [ebp - 0x250]
call fcn.10046129
mov ecx, dword [ebp - 0x254]
test ecx, ecx
jne 0x10008482
lea eax, [ebp - 0x244]
push eax
push esi
push 1
push dword [ebp - 0x228]
call dword [sym.imp.MSOHEV.dll__HevFGetProgIDFromFile_16]
test eax, eax
je 0x10008ad7
mov eax, dword [ebp - 0x244]
test eax, eax
jle 0x10008ad7
inc eax
xor ecx, ecx
push 2
pop edx
mov dword [ebp - 0x244], eax
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
pop ecx
mov ecx, eax
mov dword [ebp - 0x248], ecx
test ecx, ecx
je 0x10008ad7
lea eax, [ebp - 0x244]
push eax
push ecx
push 1
push dword [ebp - 0x228]
call dword [sym.imp.MSOHEV.dll__HevFGetProgIDFromFile_16]
test eax, eax
je 0x10008ad7
cmp dword [ebp - 0x244], 0
jle 0x10008ad7
push 0x105
lea eax, [ebp - 0x220]
push eax
mov eax, dword [ebp - 0x248]
push eax
call dword [sym.imp.MSOHEV.dll__WzRegistryProgIDFromDocProgID_12]
push 1
push eax
call dword [sym.imp.MSOHEV.dll__WHeviAppFromProgId_8]
mov ecx, eax
mov dword [ebp - 0x238], ecx
jmp 0x10008488
mov ecx, dword [ebp - 0x238]
xor eax, eax
inc eax
push 2
pop edx
test ecx, ecx
je 0x100084c6
cmp ecx, eax
je 0x100084c6
cmp ecx, 3
je 0x100084c6
cmp ecx, edx
je 0x100084c6
cmp ecx, 4
je 0x100084c6
cmp ecx, 5
je 0x100084c6
cmp ecx, 6
je 0x100084c6
cmp ecx, 7
je 0x100084c6
cmp ecx, 8
je 0x100084c6
mov dword [ebp - 0x22c], esi
mov dword [ebp - 0x234], esi
jmp 0x100084ee
mov dword [ebp - 0x22c], eax
test ecx, ecx
je 0x100084d8
cmp ecx, eax
je 0x100084d8
cmp ecx, edx
jne 0x100084de
mov dword [ebp - 0x234], eax
mov eax, dword [ebp - 0x224]
mov dword [ebp - 0x224], eax
test eax, eax
jne 0x100084f7
mov eax, dword [ebx + 0x24]
mov dword [ebp - 0x224], eax
mov eax, dword [ebp - 0x228]
cmp word [eax], si
je 0x100088b1
push 0x7f02
push esi
mov dword [ebp - 0x2ac], esi
mov dword [ebp - 0x29c], esi
mov dword [ebp - 0x298], esi
mov dword [ebp - 0x294], esi
mov dword [ebp - 0x2b0], 0x10119f0c
mov dword [ebp - 0x290], 0x4b1
mov dword [ebp - 0x288], esi
mov dword [ebp - 0x28c], esi
call dword [sym.imp.USER32.dll_LoadIconW]
mov dword [ebp - 0x27c], eax
mov eax, dword [ebp + 0xc]
mov byte [ebp - 4], 1
test eax, eax
jne 0x100085f3
cmp dword [ebx + 0x3c], eax
je 0x1000856e
cmp dword [ebx + 0x3c], 3
jne 0x100085f3
mov ecx, dword [ebp - 0x228]
lea edx, [ebp - 0x254]
mov dword [ebp - 0x254], esi
call fcn.10046129
cmp dword [ebp - 0x254], 0
mov edx, dword [ebp - 0x224]
push 2
pop ecx
jbe 0x100085da
mov dword [ebx + 0x3c], ecx
mov eax, dword [ebp + 0xc]
cmp dword [ebx + 0x3c], 1
je 0x100085fe
cmp dword [ebx + 0x3c], ecx
je 0x100085fe
test eax, eax
jne 0x100085fe
push dword [ebx + 0x3c]
lea ecx, [ebp - 0x2b0]
push dword [ebx + 0x30]
push dword [ebx + 0x2c]
push dword [ebp - 0x230]
call fcn.10046129
mov ecx, eax
mov dword [ebx + 0x20], 1
mov dword [ebp - 0x224], ecx
jmp 0x1000869b
test edx, edx
je 0x1000859a
cmp dword [ebp - 0x234], 0
mov eax, dword [ebp + 0xc]
je 0x1000859d
mov dword [ebx + 0x3c], 1
jmp 0x1000859d
mov edx, dword [ebp - 0x224]
push 2
pop ecx
jmp 0x1000859d
cmp dword [ebx + 0x30], 0
je 0x10008621
push dword [ebx + 0x30]
call dword [sym.imp.OLEAUT32.dll_VariantInit]
mov edx, dword [ebp - 0x224]
test eax, eax
push 1
pop eax
cmove edx, eax
mov dword [ebp - 0x224], edx
test edx, edx
jne 0x10008664
push dword [ebp - 0x25c]
mov edx, dword [ebx + 0x2c]
push dword [ebx + 0x30]
mov ecx, dword [ebp - 0x230]
call fcn.10046129
test eax, eax
jne 0x1000865e
mov edi, esi
cmp dword [ebp - 0x29c], edi
je 0x10008ad7
push dword [ebp - 0x29c]
call fcn.10046129
jmp 0x10008ad7
mov edx, dword [ebp - 0x224]
mov eax, dword [ebp + 0xc]
test al, 2
je 0x10008675
mov ecx, esi
mov dword [ebp - 0x224], esi
jmp 0x10008691
test al, 0x20
jne 0x10008686
xor eax, eax
mov ecx, 0x4b2
inc eax
cmp dword [ebx + 0x3c], eax
jne 0x1000868b
mov ecx, 0x4b1
mov dword [ebp - 0x224], ecx
test edx, edx
jne 0x1000869b
xor eax, eax
inc eax
mov dword [ebx + 0x20], eax
mov eax, ecx
sub eax, esi
je 0x10008891
sub eax, 0x4b1
je 0x1000888a
sub eax, 1
je 0x100086ba
sub eax, 6
jne 0x10008640
cmp dword [ebx + 0x3c], 3
jne 0x100087b4
xor eax, eax
cmp ecx, 0x4b8
push esi
push esi
sete al
mov ecx, ebx
push eax
push esi
push dword [ebp - 0x228]
call fcn.10046129
test eax, eax
jns 0x100086f9
mov ecx, dword [ebp - 0x230]
mov edx, 0xa049
call fcn.10046129
jmp 0x10008640
mov eax, dword [ebp - 0x224]
cmp eax, 0x4b8
jne 0x10008736
lea eax, [ebp - 0x24c]
mov ecx, ebx
push eax
push dword [ebp - 0x228]
call fcn.10009690
mov edi, eax
test edi, edi
jns 0x1000877d
push esi
push esi
push esi
push esi
push dword [ebp - 0x228]
mov ecx, ebx
call fcn.10046129
jmp 0x10008640
cmp dword [ebp - 0x22c], 0
jne 0x10008783
mov ecx, dword [ebp - 0x228]
lea edx, [ebp - 0x24c]
call fcn.10009f68
mov edi, eax
test edi, edi
jns 0x1000877d
cmp dword [ebp - 0x23c], 0
je 0x10008771
mov edx, 0xa04c
mov ecx, dword [ebp - 0x230]
call fcn.10046129
mov edi, esi
cmp dword [ebp - 0x29c], 0
jmp 0x10008648
mov eax, dword [ebp - 0x224]
cmp eax, 0x4b8
je 0x10008793
cmp dword [ebp - 0x22c], 0
jne 0x1000879f
mov eax, dword [ebp - 0x24c]
mov dword [ebp - 0x228], eax
xor eax, eax
mov dword [ebp + 0xc], 4
inc eax
mov dword [ebp - 0x260], eax
jmp 0x10008891
cmp dword [ebp - 0x234], 0
jne 0x1000878a
push ecx
push dword [ebp - 0x228]
call fcn.10046129
test eax, eax
jns 0x10008793
cmp dword [ebx + 0x28], esi
je 0x1000885d
cmp dword [ebp + 0xc], 4
jne 0x100087e3
mov edx, 0xa046
jmp 0x10008764
cmp dword [ebp - 0x23c], 0
je 0x10008771
push 0xa05a
lea ecx, [ebp - 0x22c]
mov dword [ebp - 0x22c], esi
mov dword [ebp - 0x234], esi
call fcn.10046129
push 0xa04b
lea ecx, [ebp - 0x234]
call fcn.10046129
push 0x2124
push dword [ebp - 0x22c]
push dword [ebp - 0x234]
push dword [ebp - 0x230]
call dword [sym.imp.USER32.dll_MessageBoxW]
push dword [ebp - 0x234]
mov ebx, dword [sym.imp.OLEAUT32.dll_SysStringLen]
xor edi, edi
cmp eax, 6
mov eax, 0x80004005
cmove edi, eax
call ebx
push dword [ebp - 0x22c]
call ebx
jmp 0x10008771
cmp dword [ebp - 0x22c], 0
jne 0x1000879f
mov ecx, dword [ebp - 0x228]
lea edx, [ebp - 0x24c]
call fcn.10009f68
mov edi, eax
test edi, edi
jns 0x10008793
jmp 0x10008756
mov dword [ebp + 0xc], 0x24
cmp dword [ebp - 0x29c], 0
je 0x100088a5
push dword [ebp - 0x29c]
call fcn.10046129
mov ecx, dword [ebp - 0x238]
mov eax, dword [ebp - 0x228]
cmp dword [ebp - 0x22c], 0
je 0x10008a59
cmp ecx, 3
jne 0x10008998
cmp dword [ebx + 0x34], esi
je 0x100089a8
mov ecx, eax
mov dword [ebp - 0x224], esi
call fcn.10006afa
push eax
push dword [ebp - 0x228]
lea ecx, [ebp - 0x224]
call fcn.10046129
mov edi, eax
test edi, edi
jns 0x10008906
push dword [ebp - 0x224]
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
jmp 0x10008ad7
mov ecx, dword [ebx + 0x34]
call fcn.10006afa
push eax
push dword [ebx + 0x34]
lea ecx, [ebp - 0x224]
call fcn.10046129
mov edi, eax
test edi, edi
js 0x100088f5
test byte [ebp + 0xc], 0x20
jne 0x10008967
mov eax, dword [ebx + 0x34]
test eax, eax
je 0x1000898d
cmp word [eax], si
je 0x1000898d
xor eax, eax
inc eax
push eax
push 0x10119158
lea ecx, [ebp - 0x224]
call fcn.10046129
mov edi, eax
test edi, edi
js 0x100088f5
push 9
push 0x10119160
lea ecx, [ebp - 0x224]
call fcn.10046129
mov edi, eax
test edi, edi
js 0x100088f5
push dword [ebp - 0x224]
call dword [sym.imp.MSOHEV.dll__PHevCreateFileInfoFromURL_4]
push dword [ebp - 0x224]
mov dword [ebp - 0x240], eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov eax, dword [ebp - 0x240]
jmp 0x100089b5
xor eax, eax
inc eax
push eax
push 0x1011915c
jmp 0x1000893e
cmp ecx, 4
jne 0x100089a8
cmp dword [ebx + 0x38], 0
je 0x100089a8
push dword [ebx + 0x38]
jmp 0x100089a9
push eax
call dword [sym.imp.MSOHEV.dll__PHevCreateFileInfoFromURL_4]
mov dword [ebp - 0x240], eax
test eax, eax
je 0x10008ad7
mov ecx, dword [ebp - 0x248]
test ecx, ecx
je 0x10008ac6
cmp word [ecx], si
je 0x10008ac6
push esi
push ecx
push eax
call dword [sym.imp.MSOHEV.dll__FHevAddToFileInfo_12]
test eax, eax
je 0x10008ac6
mov eax, dword [ebp + 0xc]
test al, 0x20
je 0x10008a08
mov ecx, dword [ebp - 0x238]
call fcn.10046129
test eax, eax
jne 0x10008a05
mov edi, 0x80004005
jmp 0x10008ac6
mov eax, dword [ebp + 0xc]
test al, 2
je 0x10008a16
xor eax, eax
lea esi, [eax + 1]
jmp 0x10008ac6
push eax
push dword [ebp - 0x240]
push dword [ebp - 0x238]
call dword [sym.imp.MSOHEV.dll__FHevActivateApp_12]
test eax, eax
jne 0x10008ab6
mov edi, 0x80004005
cmp dword [ebp - 0x23c], eax
je 0x10008ac6
cmp dword [ebx + 0x28], esi
je 0x10008ac6
mov ecx, dword [ebp - 0x230]
mov edx, 0xa04d
call fcn.10046129
jmp 0x10008ac6
cmp dword [ebp - 0x260], 0
je 0x10008aba
mov edi, dword [sym.imp.SHELL32.dll_ShellExecuteW]
push 5
push 0x101191c8
push esi
push eax
push str.edit
push esi
call edi
cmp eax, 0x20
ja 0x10008ab6
push 5
push 0x101191c8
push esi
push dword [ebp - 0x228]
push str.open
push esi
call edi
cmp eax, 0x20
ja 0x10008ab6
cmp dword [ebp - 0x23c], 0
mov edi, 0x80004005
je 0x10008ad7
cmp dword [ebx + 0x28], esi
je 0x10008ad7
mov edx, 0xa04d
jmp 0x100081c3
mov edi, esi
jmp 0x10008ac6
mov edi, 0x80004005
jmp 0x10008ad7
call fcn.10046129
mov ebx, dword [ebp - 0x240]
test ebx, ebx
je 0x10008ad7
push ebx
call dword [sym.imp.MSOHEV.dll__HevDestroyFileInfo_4]
cmp dword [ebp - 0x258], 0
je 0x10008aec
push dword [ebp - 0x258]
call dword [sym.imp.advapi32.dll_RegCloseKey]
mov eax, dword [ebp - 0x248]
test eax, eax
je 0x10008afd
mov ecx, eax
call fcn.1005352c
mov eax, dword [ebp - 0x250]
test eax, eax
je 0x10008b0e
mov ecx, eax
call fcn.1005352c
mov eax, dword [ebp - 0x264]
test eax, eax
je 0x10008b23
xor ecx, ecx
test edi, edi
sets cl
dec ecx
mov word [eax], cx
push dword [ebp - 0x24c]
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov eax, esi
call fcn.101108ff
ret 0x20