Function at 0x10013a68
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x240c
call fcn.10020f30
mov eax, dword [0x100682b0]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0xc]
push ebx
mov ebx, dword [ebp + 0x1c]
push esi
mov esi, dword [ebp + 8]
push edi
mov edi, dword [ebp + 0x20]
dec eax
mov dword [ebp - 0x2320], esi
mov dword [ebp - 0x2324], edi
cmp eax, 0x94
ja case.0x10012735.17
movzx eax, byte [eax + 0x10014344]
jmp dword [eax*4 + 0x100142a4]
cmp dword [esi + 0x544], 0
je 0x10012c17
mov eax, dword [ebx + 8]
cmp eax, 1
jb 0x10012c17
dec eax
cmp eax, 4
ja case.default.0x1001275f
jmp dword [eax*4 + 0x100143dc]
mov ecx, dword [ebx]
mov ebx, dword [ecx + 8]
test ebx, ebx
je 0x1001277e
push ebx
call dword [sym.imp.KERNEL32.dll_lstrlenW]
inc eax
cmp eax, 0x3fffffff
jle 0x1001278a
xor eax, eax
push eax
lea edx, [esi + 0x28]
push edx
jmp 0x10012bd2
lea edi, [eax + eax]
mov eax, edi
call fcn.1001b580
mov esi, esp
mov edx, 3
mov ecx, edi
mov eax, ebx
call fcn.10001000
mov esi, dword [ebp - 0x2320]
push eax
lea edx, [esi + 0x28]
push edx
jmp 0x10012bd2
mov eax, dword [ebx]
mov edi, dword [eax + 8]
test edi, edi
jne 0x100127c1
xor eax, eax
jmp 0x100127fa
push edi
call dword [sym.imp.KERNEL32.dll_lstrlenW]
inc eax
cmp eax, 0x3fffffff
jle 0x100127d4
xor eax, eax
jmp 0x100127fa
lea esi, [eax + eax]
mov eax, esi
call fcn.1001b580
mov ecx, esi
mov edx, 3
mov eax, edi
mov esi, esp
mov dword [ebp - 0x2324], esp
call fcn.10001000
mov esi, dword [ebp - 0x2320]
push eax
lea ecx, [esi + 0x12c]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov edx, dword [ebx]
mov ebx, dword [edx + 0x18]
test ebx, ebx
jne 0x10012b98
xor eax, eax
jmp 0x10012bcd
mov ecx, dword [ebx]
mov edi, dword [ecx + 8]
test edi, edi
jne 0x10012829
xor eax, eax
jmp 0x10012862
push edi
call dword [sym.imp.KERNEL32.dll_lstrlenW]
inc eax
cmp eax, 0x3fffffff
jle 0x1001283c
xor eax, eax
jmp 0x10012862
lea esi, [eax + eax]
mov eax, esi
call fcn.1001b580
mov ecx, esi
mov edx, 3
mov eax, edi
mov esi, esp
mov dword [ebp - 0x2324], esp
call fcn.10001000
mov esi, dword [ebp - 0x2320]
push eax
lea edx, [esi + 0x230]
push edx
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov eax, dword [ebx]
mov edi, dword [eax + 0x18]
test edi, edi
jne 0x1001287d
xor eax, eax
jmp 0x100128b6
push edi
call dword [sym.imp.KERNEL32.dll_lstrlenW]
inc eax
cmp eax, 0x3fffffff
jle 0x10012890
xor eax, eax
jmp 0x100128b6
lea esi, [eax + eax]
mov eax, esi
call fcn.1001b580
mov ecx, esi
mov edx, 3
mov eax, edi
mov esi, esp
mov dword [ebp - 0x2324], esp
call fcn.10001000
mov esi, dword [ebp - 0x2320]
push eax
lea ecx, [esi + 0x12c]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov edx, dword [ebx]
mov ebx, dword [edx + 0x28]
test ebx, ebx
je 0x10012ba7
push ebx
call dword [sym.imp.KERNEL32.dll_lstrlenW]
inc eax
cmp eax, 0x3fffffff
jg 0x10012ba7
lea edi, [eax + eax]
mov eax, edi
call fcn.1001b580
mov esi, esp
mov ecx, edi
jmp 0x10012bbb
mov ecx, dword [ebx]
mov edi, dword [ecx + 8]
test edi, edi
jne 0x10012904
xor eax, eax
jmp 0x1001293d
push edi
call dword [sym.imp.KERNEL32.dll_lstrlenW]
inc eax
cmp eax, 0x3fffffff
jle 0x10012917
xor eax, eax
jmp 0x1001293d
lea esi, [eax + eax]
mov eax, esi
call fcn.1001b580
mov ecx, esi
mov edx, 3
mov eax, edi
mov esi, esp
mov dword [ebp - 0x2324], esp
call fcn.10001000
mov esi, dword [ebp - 0x2320]
push eax
lea edx, [esi + 0x334]
push edx
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov eax, dword [ebx]
mov edi, dword [eax + 0x18]
test edi, edi
jne 0x10012958
xor eax, eax
jmp 0x10012991
push edi
call dword [sym.imp.KERNEL32.dll_lstrlenW]
inc eax
cmp eax, 0x3fffffff
jle 0x1001296b
xor eax, eax
jmp 0x10012991
lea esi, [eax + eax]
mov eax, esi
call fcn.1001b580
mov ecx, esi
mov edx, 3
mov eax, edi
mov esi, esp
mov dword [ebp - 0x2324], esp
call fcn.10001000
mov esi, dword [ebp - 0x2320]
push eax
lea ecx, [esi + 0x230]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov edx, dword [ebx]
mov edi, dword [edx + 0x28]
test edi, edi
jne 0x100129ac
xor eax, eax
jmp 0x100129e5
push edi
call dword [sym.imp.KERNEL32.dll_lstrlenW]
inc eax
cmp eax, 0x3fffffff
jle 0x100129bf
xor eax, eax
jmp 0x100129e5
lea esi, [eax + eax]
mov eax, esi
call fcn.1001b580
mov ecx, esi
mov edx, 3
mov eax, edi
mov esi, esp
mov dword [ebp - 0x2324], esp
call fcn.10001000
mov esi, dword [ebp - 0x2320]
push eax
lea eax, [esi + 0x12c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov ecx, dword [ebx]
mov ebx, dword [ecx + 0x38]
test ebx, ebx
je 0x1001277e
push ebx
call dword [sym.imp.KERNEL32.dll_lstrlenW]
inc eax
cmp eax, 0x3fffffff
jg 0x1001277e
lea esi, [eax + eax]
mov eax, esi
call fcn.1001b580
mov edi, esp
mov ecx, esi
mov edx, 3
mov eax, ebx
mov esi, edi
call fcn.10001000
mov esi, dword [ebp - 0x2320]
push eax
lea edx, [esi + 0x28]
push edx
jmp 0x10012bd2
mov eax, dword [ebx]
mov edi, dword [eax + 8]
test edi, edi
jne 0x10012a4c
xor eax, eax
jmp 0x10012a85
push edi
call dword [sym.imp.KERNEL32.dll_lstrlenW]
inc eax
cmp eax, 0x3fffffff
jle 0x10012a5f
xor eax, eax
jmp 0x10012a85
lea esi, [eax + eax]
mov eax, esi
call fcn.1001b580
mov ecx, esi
mov edx, 3
mov eax, edi
mov esi, esp
mov dword [ebp - 0x2324], esp
call fcn.10001000
mov esi, dword [ebp - 0x2320]
push eax
lea ecx, [esi + 0x438]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov edx, dword [ebx]
mov edi, dword [edx + 0x18]
test edi, edi
jne 0x10012aa0
xor eax, eax
jmp 0x10012ad9
push edi
call dword [sym.imp.KERNEL32.dll_lstrlenW]
inc eax
cmp eax, 0x3fffffff
jle 0x10012ab3
xor eax, eax
jmp 0x10012ad9
lea esi, [eax + eax]
mov eax, esi
call fcn.1001b580
mov ecx, esi
mov edx, 3
mov eax, edi
mov esi, esp
mov dword [ebp - 0x2324], esp
call fcn.10001000
mov esi, dword [ebp - 0x2320]
push eax
lea eax, [esi + 0x334]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov ecx, dword [ebx]
mov edi, dword [ecx + 0x28]
test edi, edi
jne 0x10012af4
xor eax, eax
jmp 0x10012b2d
push edi
call dword [sym.imp.KERNEL32.dll_lstrlenW]
inc eax
cmp eax, 0x3fffffff
jle 0x10012b07
xor eax, eax
jmp 0x10012b2d
lea esi, [eax + eax]
mov eax, esi
call fcn.1001b580
mov ecx, esi
mov edx, 3
mov eax, edi
mov esi, esp
mov dword [ebp - 0x2324], esp
call fcn.10001000
mov esi, dword [ebp - 0x2320]
push eax
lea edx, [esi + 0x230]
push edx
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov eax, dword [ebx]
mov edi, dword [eax + 0x38]
test edi, edi
jne 0x10012b48
xor eax, eax
jmp 0x10012b81
push edi
call dword [sym.imp.KERNEL32.dll_lstrlenW]
inc eax
cmp eax, 0x3fffffff
jle 0x10012b5b
xor eax, eax
jmp 0x10012b81
lea esi, [eax + eax]
mov eax, esi
call fcn.1001b580
mov ecx, esi
mov edx, 3
mov eax, edi
mov esi, esp
mov dword [ebp - 0x2324], esp
call fcn.10001000
mov esi, dword [ebp - 0x2320]
push eax
lea ecx, [esi + 0x12c]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov edx, dword [ebx]
mov ebx, dword [edx + 0x48]
test ebx, ebx
je 0x10012ba7
push ebx
call dword [sym.imp.KERNEL32.dll_lstrlenW]
inc eax
cmp eax, 0x3fffffff
jle 0x10012bab
xor eax, eax
jmp 0x10012bcd
lea esi, [eax + eax]
mov eax, esi
call fcn.1001b580
mov edi, esp
mov ecx, esi
mov esi, edi
mov edx, 3
mov eax, ebx
call fcn.10001000
mov esi, dword [ebp - 0x2320]
push eax
lea eax, [esi + 0x28]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
call dword [sym.imp.USER32.dll_GetFocus]
mov ecx, dword [esi + 0x544]
mov ebx, dword [sym.imp.USER32.dll_SendMessageA]
push 0x10001
push 1
push 0x201
push ecx
mov edi, eax
call ebx
mov edx, dword [esi + 0x544]
push 0x10001
push 1
push 0x202
push edx
call ebx
push edi
call dword [sym.imp.USER32.dll_SetFocus]
xor eax, eax
jmp 0x10014289
cmp dword [esi + 0x548], 0
je 0x10012c5c
lea eax, [ebp - 0x2334]
push eax
call dword [sym.imp.USER32.dll_GetCursorPos]
movzx ecx, word [ebp - 0x2330]
movzx edx, word [ebp - 0x2334]
mov eax, dword [esi + 0x548]
shl ecx, 0x10
or ecx, edx
push ecx
push 2
push 0xa1
push eax
call dword [sym.imp.USER32.dll_PostMessageA]
xor eax, eax
jmp 0x10014289
cmp dword [esi + 0x548], 0
je 0x10012ca1
lea ecx, [ebp - 0x2334]
push ecx
call dword [sym.imp.USER32.dll_GetCursorPos]
movzx edx, word [ebp - 0x2330]
movzx eax, word [ebp - 0x2334]
mov ecx, dword [esi + 0x548]
shl edx, 0x10
or edx, eax
push edx
push 2
push 0xa2
push ecx
call dword [sym.imp.USER32.dll_PostMessageA]
xor eax, eax
jmp 0x10014289
mov edx, dword [ebx]
mov ebx, dword [edx + 8]
test ebx, ebx
je 0x10012cc0
push ebx
call dword [sym.imp.KERNEL32.dll_lstrlenW]
inc eax
cmp eax, 0x3fffffff
jle 0x10012cd0
xor eax, eax
push eax
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
xor eax, eax
jmp 0x10014289
lea edi, [eax + eax]
mov eax, edi
call fcn.1001b580
mov esi, esp
mov edx, 3
mov ecx, edi
mov eax, ebx
call fcn.10001000
push eax
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
xor eax, eax
jmp 0x10014289
cmp dword [ebx + 8], 0
jne 0x10012d08
mov eax, 0x80070057
jmp 0x10014289
mov eax, dword [ebx]
cmp dword [eax + 8], 0
je 0x10012cfe
test edi, edi
je 0x10012c17
mov ecx, 9
mov word [edi], cx
mov edx, dword [ebx]
mov eax, dword [edx + 8]
lea esi, [edi + 8]
push eax
call fcn.100121f0
jmp 0x10014289
cmp dword [ebx + 8], 1
jb 0x10012cfe
mov ebx, dword [ebx]
cmp word [ebx], 5
jne 0x10012d76
fld qword [ebx + 8]
fnstcw word [ebp - 0x231e]
movzx eax, word [ebp - 0x231e]
or eax, 0xc00
mov dword [ebp - 0x2324], eax
fldcw word [ebp - 0x2324]
fistp qword [ebp - 0x2334]
mov eax, dword [ebp - 0x2334]
fldcw word [ebp - 0x231e]
jmp 0x10012d79
mov eax, dword [ebx + 8]
test eax, eax
je 0x10012cfe
test edi, edi
je 0x10012dbf
mov eax, dword [eax]
mov ecx, 0x13
mov word [ebp - 0x23a8], cx
mov edx, dword [ebp - 0x23a8]
mov ecx, dword [ebp - 0x23a4]
mov dword [edi], edx
mov edx, dword [ebp - 0x239c]
mov dword [edi + 4], ecx
mov dword [edi + 8], eax
mov dword [ebp - 0x23a0], eax
lea eax, [ebp - 0x23a8]
push eax
mov dword [edi + 0xc], edx
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
xor eax, eax
jmp 0x10014289
cmp dword [ebx + 8], 2
jb 0x10012cfe
mov ebx, dword [ebx]
cmp word [ebx + 0x10], 5
jne 0x10012e0e
fld qword [ebx + 0x18]
fnstcw word [ebp - 0x231e]
movzx eax, word [ebp - 0x231e]
or eax, 0xc00
mov dword [ebp - 0x2324], eax
fldcw word [ebp - 0x2324]
fistp qword [ebp - 0x2334]
mov eax, dword [ebp - 0x2334]
fldcw word [ebp - 0x231e]
jmp 0x10012e11
mov eax, dword [ebx + 0x18]
test eax, eax
je 0x10012cfe
mov ecx, dword [ebx + 8]
mov dword [eax], ecx
xor eax, eax
jmp 0x10014289
cmp dword [ebx + 8], 1
jb 0x10012cfe
mov ebx, dword [ebx]
cmp word [ebx], 5
jne 0x10012e6c
fld qword [ebx + 8]
fnstcw word [ebp - 0x231e]
movzx eax, word [ebp - 0x231e]
or eax, 0xc00
mov dword [ebp - 0x2328], eax
fldcw word [ebp - 0x2328]
fistp qword [ebp - 0x2334]
mov ebx, dword [ebp - 0x2334]
fldcw word [ebp - 0x231e]
jmp 0x10012e6f
mov ebx, dword [ebx + 8]
test ebx, ebx
je 0x10012cfe
mov edx, 8
lea eax, [ebp - 0x2328]
mov word [edi], dx
push eax
mov edi, ebx
call fcn.10003800
call fcn.10012100
mov ecx, dword [ebp - 0x2324]
lea edi, [ebp - 0x2328]
mov dword [ecx + 8], eax
call fcn.100038a0
xor eax, eax
jmp 0x10014289
cmp dword [ebx + 8], 2
jb 0x10012cfe
mov ebx, dword [ebx]
cmp word [ebx + 0x10], 5
jne 0x10012ef5
fld qword [ebx + 0x18]
fnstcw word [ebp - 0x231e]
movzx eax, word [ebp - 0x231e]
or eax, 0xc00
mov dword [ebp - 0x2328], eax
fldcw word [ebp - 0x2328]
fistp qword [ebp - 0x2334]
mov eax, dword [ebp - 0x2334]
fldcw word [ebp - 0x231e]
jmp 0x10012ef8
mov eax, dword [ebx + 0x18]
test eax, eax
je 0x10012cfe
mov edx, dword [ebx + 8]
push edx
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
xor eax, eax
jmp 0x10014289
push ebx
call fcn.10001030
add esp, 4
test edi, edi
je 0x10012f64
mov edx, dword [ebp - 0x2394]
mov esi, dword [ebp - 0x238c]
mov ecx, 3
mov word [ebp - 0x2398], cx
mov ecx, dword [ebp - 0x2398]
mov dword [edi], ecx
mov dword [edi + 4], edx
lea edx, [ebp - 0x2398]
xor ebx, ebx
mov dword [edi + 8], eax
push edx
mov dword [ebp - 0x2390], eax
mov word [ebp - 0x2398], bx
mov dword [edi + 0xc], esi
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
xor eax, eax
jmp 0x10014289
test edi, edi
je 0x10012fba
mov esi, dword [esi + 0x548]
mov ecx, dword [ebp - 0x2384]
mov edx, dword [ebp - 0x237c]
mov eax, 3
mov word [ebp - 0x2388], ax
mov eax, dword [ebp - 0x2388]
mov dword [edi], eax
mov dword [edi + 4], ecx
lea ecx, [ebp - 0x2388]
xor ebx, ebx
mov dword [edi + 8], esi
push ecx
mov dword [ebp - 0x2380], esi
mov word [ebp - 0x2388], bx
mov dword [edi + 0xc], edx
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
xor eax, eax
jmp 0x10014289
cmp dword [ebx + 8], 1
jb 0x10012cfe
mov ebx, dword [ebx]
cmp word [ebx], 5
jne 0x10013008
fld qword [ebx + 8]
fnstcw word [ebp - 0x231e]
movzx eax, word [ebp - 0x231e]
or eax, 0xc00
mov dword [ebp - 0x2328], eax
fldcw word [ebp - 0x2328]
fistp qword [ebp - 0x2334]
mov esi, dword [ebp - 0x2334]
fldcw word [ebp - 0x231e]
jmp 0x1001300b
mov esi, dword [ebx + 8]
push esi
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x10012cfe
test edi, edi
je 0x10013040
push 0
push 0
push 0xf0
mov edx, 0xb
push esi
mov word [edi], dx
call dword [sym.imp.USER32.dll_SendMessageA]
dec eax
neg eax
sbb eax, eax
inc eax
mov word [edi + 8], ax
xor eax, eax
jmp 0x10014289
cmp dword [ebx + 8], 2
jb 0x10012cfe
mov ebx, dword [ebx]
cmp word [ebx + 0x10], 5
jne 0x1001308f
fld qword [ebx + 0x18]
fnstcw word [ebp - 0x231e]
movzx eax, word [ebp - 0x231e]
or eax, 0xc00
mov dword [ebp - 0x2328], eax
fldcw word [ebp - 0x2328]
fistp qword [ebp - 0x2334]
mov esi, dword [ebp - 0x2334]
fldcw word [ebp - 0x231e]
jmp 0x10013092
mov esi, dword [ebx + 0x18]
test esi, esi
je 0x10012cfe
cmp word [ebx], 5
jne 0x100130d5
fld qword [ebx + 8]
fnstcw word [ebp - 0x231e]
movzx eax, word [ebp - 0x231e]
or eax, 0xc00
mov dword [ebp - 0x2328], eax
fldcw word [ebp - 0x2328]
fistp qword [ebp - 0x2334]
mov ebx, dword [ebp - 0x2334]
fldcw word [ebp - 0x231e]
jmp 0x100130d8
mov ebx, dword [ebx + 8]
test ebx, ebx
je 0x10012cfe
xor eax, eax
push 0x1ffe
push eax
lea ecx, [ebp - 0x2106]
push ecx
mov word [ebp - 0x2108], ax
call fcn.1001ba60
push ebx
push esi
lea edx, [ebp - 0x2108]
push str.__s___s
push edx
call dword [sym.imp.USER32.dll_wsprintfW]
push 0x44
lea eax, [ebp - 0x240c]
push 0
push eax
call fcn.1001ba60
add esp, 0x28
xor eax, eax
lea ecx, [ebp - 0x2134]
push ecx
lea edx, [ebp - 0x240c]
push edx
push eax
push eax
push eax
push eax
push eax
push eax
mov dword [ebp - 0x2134], eax
mov dword [ebp - 0x2130], eax
mov dword [ebp - 0x212c], eax
mov dword [ebp - 0x2128], eax
lea eax, [ebp - 0x2108]
push eax
push esi
mov dword [ebp - 0x240c], 0x44
call dword [sym.imp.KERNEL32.dll_CreateProcessW]
mov ecx, dword [ebp - 0x2134]
push 0xffffffffffffffff
push ecx
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov edx, dword [ebp - 0x2134]
mov esi, dword [sym.imp.KERNEL32.dll_CloseHandle]
push edx
call esi
mov eax, dword [ebp - 0x2130]
push eax
call esi
xor eax, eax
jmp 0x10014289
test edi, edi
je 0x100131db
mov ecx, 3
mov word [ebp - 0x23c8], cx
mov edx, dword [ebp - 0x23c8]
mov ecx, dword [ebp - 0x23c4]
mov dword [edi], edx
mov edx, dword [ebp - 0x23bc]
mov eax, 2
mov dword [edi + 4], ecx
mov dword [edi + 8], eax
mov dword [ebp - 0x23c0], eax
lea eax, [ebp - 0x23c8]
push eax
mov dword [edi + 0xc], edx
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
xor eax, eax
jmp 0x10014289
mov ebx, dword [ebx]
cmp word [ebx], 5
jne 0x1001321f
fld qword [ebx + 8]
fnstcw word [ebp - 0x231e]
movzx eax, word [ebp - 0x231e]
or eax, 0xc00
mov dword [ebp - 0x2328], eax
fldcw word [ebp - 0x2328]
fistp qword [ebp - 0x2334]
mov ecx, dword [ebp - 0x2334]
fldcw word [ebp - 0x231e]
jmp 0x10013222
mov ecx, dword [ebx + 8]
cmp word [ebx + 0x10], 5
jne 0x1001325e
fld qword [ebx + 0x18]
fnstcw word [ebp - 0x231e]
movzx eax, word [ebp - 0x231e]
or eax, 0xc00
mov dword [ebp - 0x2328], eax
fldcw word [ebp - 0x2328]
fistp qword [ebp - 0x2334]
mov eax, dword [ebp - 0x2334]
fldcw word [ebp - 0x231e]
jmp 0x10013261
mov eax, dword [ebx + 0x18]
sub eax, 0
je 0x10013277
dec eax
je 0x10013270
mov eax, reloc.OLEAUT32.dll_SysReAllocString
jmp 0x1001327c
mov eax, SysReAllocString
jmp 0x1001327c
mov eax, SysReAllocString
push ecx
push eax
call dword [sym.imp.SHLWAPI.dll_SHDeleteKeyW]
test edi, edi
je 0x100132c4
mov ecx, 3
mov word [ebp - 0x23b8], cx
mov edx, dword [ebp - 0x23b8]
mov ecx, dword [ebp - 0x23b4]
mov dword [edi], edx
mov edx, dword [ebp - 0x23ac]
mov dword [edi + 4], ecx
mov dword [edi + 8], eax
mov dword [ebp - 0x23b0], eax
lea eax, [ebp - 0x23b8]
push eax
mov dword [edi + 0xc], edx
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
xor eax, eax
jmp 0x10014289
call fcn.10015c50
xor eax, eax
jmp 0x10014289
cmp dword [ebx + 8], 1
jb 0x10012cfe
mov ebx, dword [ebx]
mov ecx, dword [ebx]
mov edx, dword [ebx + 4]
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [ebx + 8]
mov dword [eax + 4], edx
mov edx, dword [ebx + 0xc]
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edx
call fcn.10005870
mov ebx, eax
add esp, 0x10
test ebx, ebx
je 0x10012cfe
push ebx
call dword [sym.imp.KERNEL32.dll_lstrlenW]
inc eax
cmp eax, 0x3fffffff
jle 0x10013323
xor eax, eax
jmp 0x10013343
lea esi, [eax + eax]
mov eax, esi
call fcn.1001b580
mov ecx, esi
mov edx, 3
mov eax, ebx
mov esi, esp
mov dword [ebp - 0x2324], esp
call fcn.10001000
push eax
lea ecx, [ebp - 0x2124]
call fcn.10005a60
sub esp, 0x1c
lea eax, [ebp - 0x2124]
mov esi, esp
mov dword [ebp - 0x232c], esp
call fcn.100021b0
lea eax, [ebp - 0x21e8]
push eax
call fcn.10004110
add esp, 0x20
push eax
lea ecx, [ebp - 0x2124]
call fcn.10002330
lea ecx, [ebp - 0x21e8]
call fcn.100021d0
test edi, edi
je 0x100133c7
cmp dword [ebp - 0x2110], 0x10
mov eax, dword [ebp - 0x2124]
mov ecx, 8
mov word [edi], cx
jae 0x100133ac
lea eax, [ebp - 0x2124]
push eax
lea ebx, [ebp - 0x2378]
call fcn.10003770
call fcn.10012100
mov dword [edi + 8], eax
mov edi, ebx
call fcn.100038a0
lea ecx, [ebp - 0x2124]
call fcn.100021d0
xor eax, eax
jmp 0x10014289
cmp dword [ebx + 8], 1
jb 0x10012cfe
mov ebx, dword [ebx]
mov edx, dword [ebx]
mov ecx, dword [ebx + 4]
sub esp, 0x10
mov eax, esp
mov dword [eax], edx
mov edx, dword [ebx + 8]
mov dword [eax + 4], ecx
mov ecx, dword [ebx + 0xc]
mov dword [eax + 8], edx
mov dword [eax + 0xc], ecx
call fcn.10005870
mov edi, eax
add esp, 0x10
test edi, edi
je 0x10012cfe
push edi
call dword [sym.imp.KERNEL32.dll_lstrlenW]
inc eax
cmp eax, 0x3fffffff
jle 0x10013425
xor eax, eax
jmp 0x1001343f
lea ebx, [eax + eax]
mov eax, ebx
call fcn.1001b580
mov esi, esp
mov edx, 3
mov ecx, ebx
mov eax, edi
call fcn.10001000
push eax
lea ecx, [ebp - 0x2124]
call fcn.10005a60
sub esp, 0x1c
lea eax, [ebp - 0x2124]
mov esi, esp
mov dword [ebp - 0x232c], esp
call fcn.100021b0
lea edi, [ebp - 0x2290]
call fcn.100043b0
add esp, 0x1c
push eax
lea ecx, [ebp - 0x2124]
call fcn.10002330
mov ecx, edi
call fcn.100021d0
mov esi, dword [ebp - 0x2324]
test esi, esi
je 0x100134c4
cmp dword [ebp - 0x2110], 0x10
mov eax, dword [ebp - 0x2124]
mov edx, 8
mov word [esi], dx
jae 0x100134a9
lea eax, [ebp - 0x2124]
push eax
lea ebx, [ebp - 0x2358]
call fcn.10003770
call fcn.10012100
mov edi, ebx
mov dword [esi + 8], eax
call fcn.100038a0
lea ecx, [ebp - 0x2124]
call fcn.100021d0
xor eax, eax
jmp 0x10014289
test edi, edi
je 0x10013538
push 0x103
lea eax, [ebp - 0x107]
push 0
push eax
mov byte [ebp - 0x108], 0
call fcn.1001ba60
add esp, 0xc
lea ecx, [ebp - 0x108]
push 0x104
push ecx
call fcn.10004600
push eax
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
lea eax, [ebp - 0x108]
mov edx, 8
push eax
lea ebx, [ebp - 0x2360]
mov word [edi], dx
call fcn.10003770
call fcn.10012100
mov dword [edi + 8], eax
mov edi, ebx
call fcn.100038a0
xor eax, eax
jmp 0x10014289
cmp dword [ebx + 8], 5
jb 0x10012cfe
mov eax, dword [ebx]
mov edx, dword [eax + 0x40]
sub esp, 0x10
mov ecx, esp
mov dword [ecx], edx
mov edx, dword [eax + 0x44]
mov dword [ecx + 4], edx
mov edx, dword [eax + 0x48]
mov eax, dword [eax + 0x4c]
mov dword [ecx + 8], edx
mov dword [ecx + 0xc], eax
call fcn.10005870
mov esi, eax
add esp, 0x10
test esi, esi
je 0x100135a8
push esi
call dword [sym.imp.KERNEL32.dll_lstrlenW]
inc eax
cmp eax, 0x3fffffff
jle 0x10013588
xor eax, eax
jmp 0x100135a8
lea edi, [eax + eax]
mov eax, edi
call fcn.1001b580
mov eax, esi
mov edx, 3
mov ecx, edi
mov esi, esp
mov dword [ebp - 0x233c], esp
call fcn.10001000
push eax
lea ecx, [ebp - 0x2124]
call fcn.10005a60
mov eax, dword [ebx]
mov edx, dword [eax + 0x30]
sub esp, 0x10
mov ecx, esp
mov dword [ecx], edx
mov edx, dword [eax + 0x34]
mov dword [ecx + 4], edx
mov edx, dword [eax + 0x38]
mov eax, dword [eax + 0x3c]
mov dword [ecx + 8], edx
mov dword [ecx + 0xc], eax
call fcn.10005870
mov esi, eax
add esp, 0x10
test esi, esi
je 0x10013613
push esi
call dword [sym.imp.KERNEL32.dll_lstrlenW]
inc eax
cmp eax, 0x3fffffff
jle 0x100135f3
xor eax, eax
jmp 0x10013613
lea edi, [eax + eax]
mov eax, edi
call fcn.1001b580
mov eax, esi
mov edx, 3
mov ecx, edi
mov esi, esp
mov dword [ebp - 0x233c], esp
call fcn.10001000
push eax
lea ecx, [ebp - 0x215c]
call fcn.10005a60
mov eax, dword [ebx]
mov edx, dword [eax + 0x20]
sub esp, 0x10
mov ecx, esp
mov dword [ecx], edx
mov edx, dword [eax + 0x24]
mov dword [ecx + 4], edx
mov edx, dword [eax + 0x28]
mov eax, dword [eax + 0x2c]
mov dword [ecx + 8], edx
mov dword [ecx + 0xc], eax
call fcn.10005870
mov esi, eax
add esp, 0x10
test esi, esi
je 0x1001367e
push esi
call dword [sym.imp.KERNEL32.dll_lstrlenW]
inc eax
cmp eax, 0x3fffffff
jle 0x1001365e
xor eax, eax
jmp 0x1001367e
lea edi, [eax + eax]
mov eax, edi
call fcn.1001b580
mov eax, esi
mov edx, 3
mov ecx, edi
mov esi, esp
mov dword [ebp - 0x233c], esp
call fcn.10001000
push eax
lea ecx, [ebp - 0x2140]
call fcn.10005a60
mov eax, dword [ebx]
movsx ecx, word [eax + 0x18]
mov edx, dword [eax]
sub esp, 0x10
mov dword [ebp - 0x233c], ecx
mov ecx, esp
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov dword [ecx + 8], edx
mov dword [ecx + 0xc], eax
call fcn.10005870
add esp, 0x10
push 2
xor ecx, ecx
lea esi, [ebp - 0x2220]
lea edx, [ebp - 0x2124]
mov dword [ebp - 0x232c], eax
call fcn.10002200
mov ecx, 0x1005e3e0
mov edi, eax
call fcn.10007b50
mov ecx, esi
mov bl, al
call fcn.100021d0
test bl, bl
je 0x10013724
sub esp, 0x1c
lea eax, [ebp - 0x2124]
mov esi, esp
mov dword [ebp - 0x2340], esp
call fcn.100021b0
lea edi, [ebp - 0x2178]
call fcn.100043b0
add esp, 0x1c
push eax
lea ecx, [ebp - 0x2124]
call fcn.10002330
mov ecx, edi
call fcn.100021d0
push 2
xor ecx, ecx
lea esi, [ebp - 0x2300]
lea edx, [ebp - 0x215c]
call fcn.10002200
mov ecx, 0x1005e3e0
mov edi, eax
call fcn.10007b50
mov ecx, esi
mov bl, al
call fcn.100021d0
test bl, bl
je 0x10013789
sub esp, 0x1c
lea eax, [ebp - 0x215c]
mov esi, esp
mov dword [ebp - 0x2340], esp
call fcn.100021b0
lea edi, [ebp - 0x2258]
call fcn.100043b0
add esp, 0x1c
push eax
lea ecx, [ebp - 0x215c]
call fcn.10002330
mov ecx, edi
call fcn.100021d0
cmp dword [ebp - 0x2148], 0x10
mov eax, dword [ebp - 0x215c]
jae 0x1001379e
lea eax, [ebp - 0x215c]
push eax
call fcn.1001ae52
movzx ecx, ax
add esp, 4
mov dword [ebp - 0x2340], ecx
push 2
xor ecx, ecx
lea esi, [ebp - 0x2194]
lea edx, [ebp - 0x2140]
call fcn.10002200
mov ecx, 0x1005e3e0
mov edi, eax
call fcn.10007b50
mov ecx, esi
mov bl, al
call fcn.100021d0
test bl, bl
je 0x10013815
sub esp, 0x1c
lea eax, [ebp - 0x2140]
mov esi, esp
mov dword [ebp - 0x2338], esp
call fcn.100021b0
lea edi, [ebp - 0x21b0]
call fcn.100043b0
add esp, 0x1c
push eax
lea ecx, [ebp - 0x2140]
call fcn.10002330
mov ecx, edi
call fcn.100021d0
mov ecx, dword [ebp - 0x2140]
mov eax, 0x10
cmp dword [ebp - 0x212c], eax
jae 0x1001382e
lea ecx, [ebp - 0x2140]
cmp dword [ebp - 0x2110], eax
mov eax, dword [ebp - 0x2124]
jae 0x10013842
lea eax, [ebp - 0x2124]
mov edx, dword [ebp - 0x233c]
push edx
mov edx, dword [ebp - 0x2320]
push ecx
mov ecx, dword [ebp - 0x2340]
push ecx
mov ecx, dword [edx + 0x53c]
push eax
mov eax, dword [ebp - 0x232c]
call fcn.10008730
mov ecx, dword [ebp - 0x2324]
test ecx, ecx
je 0x1001387e
mov edx, 3
mov word [ecx], dx
mov dword [ecx + 8], eax
lea ecx, [ebp - 0x2140]
call fcn.100021d0
lea ecx, [ebp - 0x215c]
call fcn.100021d0
lea ecx, [ebp - 0x2124]
call fcn.100021d0
xor eax, eax
jmp 0x10014289
cmp dword [ebx + 8], 1
jb 0x10012cfe
mov ebx, dword [ebx]
mov ecx, dword [ebx]
mov edx, dword [ebx + 4]
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [ebx + 8]
mov dword [eax + 4], edx
mov edx, dword [ebx + 0xc]
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edx
call fcn.10005870
mov ebx, eax
add esp, 0x10
test ebx, ebx
je 0x10012cfe
push ebx
call dword [sym.imp.KERNEL32.dll_lstrlenW]
inc eax
cmp eax, 0x3fffffff
jle 0x100138f2
xor eax, eax
jmp 0x10013912
lea esi, [eax + eax]
mov eax, esi
call fcn.1001b580
mov ecx, esi
mov edx, 3
mov eax, ebx
mov esi, esp
mov dword [ebp - 0x232c], esp
call fcn.10001000
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x2338], esp
push eax
call fcn.10005a60
lea esi, [ebp - 0x2124]
call fcn.10004750
add esp, 0x1c
test edi, edi
je 0x10013969
cmp dword [ebp - 0x2110], 0x10
mov eax, 8
mov word [edi], ax
mov eax, dword [ebp - 0x2124]
jae 0x1001394e
mov eax, esi
push eax
lea ebx, [ebp - 0x235c]
call fcn.10003770
call fcn.10012100
mov dword [edi + 8], eax
mov edi, ebx
call fcn.100038a0
lea ecx, [ebp - 0x2124]
call fcn.100021d0
xor eax, eax
jmp 0x10014289
mov ebx, dword [ebx]
mov ecx, dword [ebx]
mov edx, dword [ebx + 4]
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [ebx + 8]
mov dword [eax + 4], edx
mov edx, dword [ebx + 0xc]
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edx
call fcn.10005870
mov ecx, dword [ebx + 0x10]
mov edx, dword [ebx + 0x14]
add esp, 0x10
push eax
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [ebx + 0x18]
mov dword [eax + 4], edx
mov edx, dword [ebx + 0x1c]
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edx
call fcn.10005870
mov ecx, dword [ebx + 0x20]
mov edx, dword [ebx + 0x24]
add esp, 0x10
push eax
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [ebx + 0x28]
mov dword [eax + 4], edx
mov edx, dword [ebx + 0x2c]
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edx
call fcn.10005870
mov edx, dword [ebx + 0x30]
mov ecx, esp
mov dword [ecx], edx
mov edx, dword [ebx + 0x34]
mov dword [ecx + 4], edx
mov edx, dword [ebx + 0x38]
mov esi, eax
mov eax, dword [ebx + 0x3c]
mov dword [ecx + 8], edx
mov dword [ecx + 0xc], eax
call fcn.10005870
add esp, 0x10
mov ecx, esi
mov edx, eax
call fcn.10018560
add esp, 8
test edi, edi
je 0x10013a61
mov ecx, 8
mov word [edi], cx
lea edi, [ebp - 0x21cc]
call fcn.10003f00
cmp dword [eax + 0x14], 0x10
jb 0x10013a35
mov eax, dword [eax]
push eax
lea ebx, [ebp - 0x2350]
call fcn.10003770
call fcn.10012100
mov edx, dword [ebp - 0x2324]
mov edi, ebx
mov dword [edx + 8], eax
call fcn.100038a0
lea ecx, [ebp - 0x21cc]
call fcn.100021d0
xor eax, eax
jmp 0x10014289
push 0x103
lea eax, [ebp - 0x107]
push 0
push eax
mov byte [ebp - 0x108], 0
call fcn.1001ba60
add esp, 0xc
push 0x104
lea ecx, [ebp - 0x108]
push ecx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryA]
push str.temp
lea edx, [ebp - 0x108]
push edx
call dword [sym.imp.SHLWAPI.dll_PathAppendA]
lea eax, [ebp - 0x108]
push eax
call dword [sym.imp.SHLWAPI.dll_PathAddBackslashA]
test edi, edi
je 0x10013ae3
lea edx, [ebp - 0x108]
mov ecx, 8
push edx
lea ebx, [ebp - 0x2368]
mov word [edi], cx
call fcn.10003770
call fcn.10012100
mov dword [edi + 8], eax
mov edi, ebx
call fcn.100038a0
xor eax, eax
jmp 0x10014289
push 0x103
lea eax, [ebp - 0x107]
push 0
push eax
mov byte [ebp - 0x108], 0
call fcn.1001ba60
add esp, 0xc
lea ecx, [ebp - 0x108]
push ecx
push 0x104
call dword [sym.imp.KERNEL32.dll_GetTempPathA]
lea edx, [ebp - 0x108]
push edx
call dword [sym.imp.SHLWAPI.dll_PathAddBackslashA]
test edi, edi
je 0x10013b53
lea ecx, [ebp - 0x108]
mov eax, 8
push ecx
lea ebx, [ebp - 0x2370]
mov word [edi], ax
call fcn.10003770
call fcn.10012100
mov dword [edi + 8], eax
mov edi, ebx
call fcn.100038a0
xor eax, eax
jmp 0x10014289
push ebx
call fcn.10005890
add esp, 4
jmp 0x10014289
push 0x103
lea edx, [ebp - 0x107]
push 0
push edx
mov byte [ebp - 0x108], 0
call fcn.1001ba60
add esp, 0xc
push 0x104
lea eax, [ebp - 0x108]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
mov ebx, dword [ebx]
mov ecx, dword [ebx]
mov edx, dword [ebx + 4]
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [ebx + 8]
mov dword [eax + 4], edx
mov edx, dword [ebx + 0xc]
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edx
call fcn.10005870
add esp, 0x10
test eax, eax
je 0x10012cfe
push 0
push 0x80
push 3
push 0
push 3
push SysReAllocString
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov esi, eax
push 0
push esi
call dword [sym.imp.KERNEL32.dll_GetFileSize]
push esi
mov ebx, eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
test edi, edi
je 0x10013c02
mov eax, 3
mov word [edi], ax
mov dword [edi + 8], ebx
xor eax, eax
jmp 0x10014289
test edi, edi
je 0x10013c4e
mov ecx, 8
mov word [edi], cx
lea ecx, [ebp - 0x2204]
call fcn.10004ab0
cmp dword [eax + 0x14], 0x10
jb 0x10013c28
mov eax, dword [eax]
push eax
lea ebx, [ebp - 0x234c]
call fcn.10003770
call fcn.10012100
mov dword [edi + 8], eax
mov edi, ebx
call fcn.100038a0
lea ecx, [ebp - 0x2204]
call fcn.100021d0
xor eax, eax
jmp 0x10014289
test edi, edi
je 0x10013c69
mov edx, 3
mov word [edi], dx
call fcn.10004c80
mov dword [edi + 8], eax
xor eax, eax
jmp 0x10014289
mov ebx, dword [ebx]
mov ecx, dword [ebx]
mov edx, dword [ebx + 4]
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [ebx + 8]
mov dword [eax + 4], edx
mov edx, dword [ebx + 0xc]
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edx
call fcn.10005870
add esp, 0x10
mov ebx, eax
test edi, edi
je 0x10013d30
mov eax, 8
mov word [edi], ax
test ebx, ebx
jne 0x10013caf
xor eax, eax
jmp 0x10013ce2
push ebx
call dword [sym.imp.KERNEL32.dll_lstrlenW]
inc eax
cmp eax, 0x3fffffff
jle 0x10013cc2
xor eax, eax
jmp 0x10013ce2
lea esi, [eax + eax]
mov eax, esi
call fcn.1001b580
mov ecx, esi
mov edx, 3
mov eax, ebx
mov esi, esp
mov dword [ebp - 0x232c], esp
call fcn.10001000
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x2338], esp
push eax
call fcn.10005a60
lea ecx, [ebp - 0x223c]
push ecx
call fcn.10005090
add esp, 0x20
cmp dword [eax + 0x14], 0x10
jb 0x10013d0a
mov eax, dword [eax]
push eax
lea ebx, [ebp - 0x2364]
call fcn.10003770
call fcn.10012100
mov dword [edi + 8], eax
mov edi, ebx
call fcn.100038a0
lea ecx, [ebp - 0x223c]
call fcn.100021d0
xor eax, eax
jmp 0x10014289
test edi, edi
je 0x10013d7c
mov edx, 8
lea ecx, [ebp - 0x2274]
mov word [edi], dx
call fcn.10005370
cmp dword [eax + 0x14], 0x10
jb 0x10013d56
mov eax, dword [eax]
push eax
lea ebx, [ebp - 0x2354]
call fcn.10003770
call fcn.10012100
mov dword [edi + 8], eax
mov edi, ebx
call fcn.100038a0
lea ecx, [ebp - 0x2274]
call fcn.100021d0
xor eax, eax
jmp 0x10014289
test edi, edi
je 0x10013dc8
mov eax, 8
lea esi, [ebp - 0x22ac]
mov word [edi], ax
call fcn.10005700
cmp dword [eax + 0x14], 0x10
jb 0x10013da2
mov eax, dword [eax]
push eax
lea ebx, [ebp - 0x2374]
call fcn.10003770
call fcn.10012100
mov dword [edi + 8], eax
mov edi, ebx
call fcn.100038a0
lea ecx, [ebp - 0x22ac]
call fcn.100021d0
xor eax, eax
jmp 0x10014289
cmp dword [ebx + 8], 1
jb 0x10012cfe
mov ebx, dword [ebx]
push ebx
lea edx, [ebp - 0x2134]
xor ecx, ecx
push edx
mov word [ebp - 0x2134], cx
call dword [sym.imp.OLEAUT32.dll_VariantCopyInd]
test eax, eax
jns 0x10013e0e
mov ecx, 0xa
push eax
mov word [ebp - 0x2134], cx
mov dword [ebp - 0x212c], eax
call fcn.100096d0
push 8
push 0
lea edx, [ebp - 0x2134]
push edx
mov eax, edx
push eax
call dword [sym.imp.OLEAUT32.dll_VariantTimeToDosDateTime]
mov ecx, dword [ebp - 0x212c]
push 0x40
push 0x1005e388
push ecx
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
lea edx, [ebp - 0x2134]
push edx
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
xor eax, eax
jmp 0x10014289
test edi, edi
je 0x10013040
mov eax, 0xb
mov word [edi], ax
call fcn.100057f0
mov word [edi + 8], ax
xor eax, eax
jmp 0x10014289
cmp dword [ebx + 8], 2
jb 0x10012cfe
mov esi, dword [ebx]
mov ecx, dword [esi + 0x10]
mov edx, dword [esi + 0x14]
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [esi + 0x18]
mov dword [eax + 4], edx
mov edx, dword [esi + 0x1c]
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edx
call fcn.10005870
mov ecx, dword [esi]
mov edx, dword [esi + 4]
mov dword [ebp - 0x2320], eax
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [esi + 8]
mov dword [eax + 4], edx
mov edx, dword [esi + 0xc]
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edx
call fcn.10005870
xor ebx, ebx
add esp, 0x10
mov esi, eax
cmp edi, ebx
je 0x10013fc3
mov eax, 8
mov word [edi], ax
cmp esi, ebx
jne 0x10013edf
mov dword [ebp - 0x2324], ebx
jmp 0x10013f1c
push esi
call dword [sym.imp.KERNEL32.dll_lstrlenW]
inc eax
cmp eax, 0x3fffffff
jle 0x10013ef6
mov dword [ebp - 0x2324], ebx
jmp 0x10013f1c
lea ebx, [eax + eax]
mov eax, ebx
call fcn.1001b580
mov eax, esi
mov edx, 3
mov ecx, ebx
mov esi, esp
mov dword [ebp - 0x232c], esp
call fcn.10001000
mov dword [ebp - 0x2324], eax
mov eax, dword [ebp - 0x2320]
test eax, eax
jne 0x10013f2a
xor esi, esi
jmp 0x10013f5f
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
inc eax
cmp eax, 0x3fffffff
jle 0x10013f3d
xor esi, esi
jmp 0x10013f5f
lea esi, [eax + eax]
mov eax, esi
call fcn.1001b580
mov eax, dword [ebp - 0x2320]
mov ebx, esp
mov ecx, esi
mov edx, 3
mov esi, ebx
call fcn.10001000
mov esi, eax
mov edx, dword [ebp - 0x2324]
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x2338], esp
push edx
call fcn.10005a60
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x2338], esp
push esi
call fcn.10005a60
lea esi, [ebp - 0x22e4]
call fcn.10008d10
add esp, 0x38
cmp dword [eax + 0x14], 0x10
jb 0x10013f9d
mov eax, dword [eax]
push eax
lea ebx, [ebp - 0x2344]
call fcn.10003770
call fcn.10012100
mov dword [edi + 8], eax
mov edi, ebx
call fcn.100038a0
lea ecx, [ebp - 0x22e4]
call fcn.100021d0
xor eax, eax
jmp 0x10014289
cmp dword [ebx + 8], 2
jb 0x10012cfe
mov esi, dword [ebx]
mov ecx, dword [esi + 0x20]
mov edx, dword [esi + 0x24]
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [esi + 0x28]
mov dword [eax + 4], edx
mov edx, dword [esi + 0x2c]
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edx
call fcn.10005870
mov edx, dword [esi + 0x10]
mov ecx, esp
mov dword [ecx], edx
mov edx, dword [esi + 0x14]
mov dword [ecx + 4], edx
mov edx, dword [esi + 0x18]
mov dword [ebp - 0x2320], eax
mov eax, dword [esi + 0x1c]
mov dword [ecx + 8], edx
mov dword [ecx + 0xc], eax
call fcn.10005870
add esp, 0x10
mov esi, eax
test edi, edi
je 0x10014134
mov ecx, 0xb
mov word [edi], cx
test esi, esi
jne 0x1001403c
mov dword [ebp - 0x2324], eax
jmp 0x10014084
push esi
call dword [sym.imp.KERNEL32.dll_lstrlenW]
inc eax
cmp eax, 0x3fffffff
jle 0x10014057
mov dword [ebp - 0x2324], 0
jmp 0x10014084
add eax, eax
mov dword [ebp - 0x232c], eax
call fcn.1001b580
mov ecx, dword [ebp - 0x232c]
mov eax, esi
mov edx, 3
mov esi, esp
mov dword [ebp - 0x2340], esp
call fcn.10001000
mov dword [ebp - 0x2324], eax
mov eax, dword [ebp - 0x2320]
test eax, eax
jne 0x10014092
xor esi, esi
jmp 0x100140cb
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
inc eax
cmp eax, 0x3fffffff
jle 0x100140a5
xor esi, esi
jmp 0x100140cb
lea esi, [eax + eax]
mov eax, esi
call fcn.1001b580
mov eax, dword [ebp - 0x2320]
mov ecx, esi
mov edx, 3
mov esi, esp
mov dword [ebp - 0x232c], esp
call fcn.10001000
mov esi, eax
mov edx, dword [ebx]
sub esp, 0x10
mov ebx, esp
mov dword [ebp - 0x2338], esp
push ebx
mov dword [ebp - 0x232c], edx
call dword [sym.imp.OLEAUT32.dll_VariantClear]
mov eax, dword [ebp - 0x232c]
push eax
push ebx
call dword [sym.imp.OLEAUT32.dll_VariantCopyInd]
test eax, eax
jns 0x100140fd
push eax
call fcn.10018c50
mov edx, dword [ebp - 0x2324]
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x2338], esp
push edx
call fcn.10005a60
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x2338], esp
push esi
call fcn.10005a60
call fcn.10008fa0
movzx eax, al
add esp, 0x48
mov word [edi + 8], ax
xor eax, eax
jmp 0x10014289
cmp dword [ebx + 8], 1
jb 0x10012cfe
mov ebx, dword [ebx]
mov ecx, dword [ebx]
mov edx, dword [ebx + 4]
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [ebx + 8]
mov dword [eax + 4], edx
mov edx, dword [ebx + 0xc]
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edx
call fcn.10005870
add esp, 0x10
mov ebx, eax
test edi, edi
je 0x1001421b
mov eax, 8
mov word [edi], ax
test ebx, ebx
jne 0x10014184
xor esi, esi
jmp 0x100141b3
push ebx
call dword [sym.imp.KERNEL32.dll_lstrlenW]
inc eax
cmp eax, 0x3fffffff
jle 0x10014197
xor esi, esi
jmp 0x100141b3
lea edi, [eax + eax]
mov eax, edi
call fcn.1001b580
mov esi, esp
mov edx, 3
mov ecx, edi
mov eax, ebx
call fcn.10001000
mov esi, eax
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x2338], esp
push 0x1005e45c
call fcn.10005a60
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x2338], esp
push esi
call fcn.10005a60
lea edi, [ebp - 0x231c]
call fcn.10009170
add esp, 0x38
cmp dword [eax + 0x14], 0x10
jb 0x100141ef
mov eax, dword [eax]
push eax
lea ebx, [ebp - 0x236c]
call fcn.10003770
call fcn.10012100
mov ecx, dword [ebp - 0x2324]
mov edi, ebx
mov dword [ecx + 8], eax
call fcn.100038a0
lea ecx, [ebp - 0x231c]
call fcn.100021d0
xor eax, eax
jmp 0x10014289
test edi, edi
je 0x10014264
mov edx, 8
lea esi, [ebp - 0x22c8]
mov word [edi], dx
call fcn.10004db0
cmp dword [eax + 0x14], 0x10
jb 0x1001423e
mov eax, dword [eax]
push eax
lea ebx, [ebp - 0x2348]
call fcn.10003770
call fcn.10012100
mov dword [edi + 8], eax
mov edi, ebx
call fcn.100038a0
lea ecx, [ebp - 0x22c8]
call fcn.100021d0
xor eax, eax
jmp 0x10014289
test edi, edi
je 0x10013c69
mov eax, 3
mov word [edi], ax
call fcn.10004f50
mov dword [edi + 8], eax
xor eax, eax
jmp 0x10014289
mov eax, 0x80004001
lea esp, [ebp - 0x2418]
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.10019170
mov esp, ebp
pop ebp
ret 0x24