Function at 0x100896e0
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1029e7ce
mov eax, dword fs:[0]
push eax
sub esp, 0x1c0
push ebx
push esi
push edi
mov eax, dword [0x1037c990]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov esi, dword [ebp + 0xc]
xor ebx, ebx
mov dword [ebp - 0x78], ebx
cmp esi, ebx
jne 0x1008972f
push ebx
push 0x5a2
push str..EngineCache.cpp
push 0x80070057
call fcn.100048f0
lea ecx, [ebp - 0xb8]
call fcn.10056ab0
mov dword [ebp - 4], ebx
mov ecx, dword [ebp + 0x10]
add ecx, 0x18
add eax, 0x18
push eax
call fcn.100036b0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xb8]
call fcn.10056b10
mov dword [ebp - 0x38], ebx
mov edi, 2
mov dword [ebp - 4], edi
mov eax, dword [esi]
lea ecx, [ebp - 0x38]
push ecx
push esi
mov edx, dword [eax + 0x4c]
call edx
cmp eax, ebx
jge 0x1008978a
push ebx
push 0x5a6
push str..EngineCache.cpp
push eax
call fcn.100048f0
mov byte [ebp - 4], 3
push 0x5a7
push str..EngineCache.cpp
push 0xe0e00000
cmp dword [ebp - 0x38], ebx
setne al
movzx ecx, al
push ecx
call fcn.10004930
add esp, 0x10
mov dword [ebp - 4], edi
mov dword [ebp - 0xd8], ebx
push esi
lea edx, [ebp - 0x7c]
push edx
call fcn.10090930
mov byte [ebp - 4], 7
mov eax, dword [ebp - 0x7c]
cmp eax, ebx
je 0x100897f4
mov ecx, dword [eax]
lea edx, [ebp - 0xd8]
push edx
push eax
mov eax, dword [ecx + 0xac]
call eax
cmp eax, ebx
jge 0x100897f4
push ebx
push 0x5b1
push str..EngineCache.cpp
push eax
call fcn.100048f0
lea ecx, [ebp - 0x13c]
call fcn.10002dd0
mov byte [ebp - 4], 8
mov dword [ebp - 0x124], ebx
lea ecx, [ebp - 0x13c]
call fcn.100041b0
lea ecx, [ebp - 0x134]
push ecx
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
cmp eax, ebx
jge 0x10089832
push ebx
push ebx
push 0x102b274a
push eax
call fcn.100048f0
mov dword [ebp - 0x124], edi
mov edx, 8
mov word [ebp - 0x134], dx
mov dword [ebp - 0x12c], ebx
mov eax, dword [esi]
lea ecx, [ebp - 0x12c]
push ecx
push esi
mov edx, dword [eax + 0x5c]
call edx
cmp eax, ebx
jge 0x1008986e
push ebx
push 0x5b5
push str..EngineCache.cpp
push eax
call fcn.100048f0
mov dword [ebp - 0x48], ebx
mov byte [ebp - 4], 0xa
mov eax, dword [esi]
lea ecx, [ebp - 0x48]
push ecx
push esi
mov edx, dword [eax + 0x20]
call edx
cmp eax, ebx
jge 0x10089896
push ebx
push 0x5b8
push str..EngineCache.cpp
push eax
call fcn.100048f0
mov byte [ebp - 4], 0xb
push 0x5b9
push str..EngineCache.cpp
push 0xe0e00000
cmp dword [ebp - 0x48], ebx
setne al
movzx ecx, al
push ecx
call fcn.10004930
add esp, 0x10
mov dword [ebp - 4], 0xa
mov dword [ebp - 0x2c], ebx
mov edi, 0x10
mov byte [ebp - 4], 0x10
mov byte [ebp - 0x16], 1
cmp word [ebp - 0xd8], bx
je 0x10089d7c
call fcn.10081500
cmp dword [eax + 0x1c], 6
jl 0x10089953
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x1c], esp
push 0x102bbbc0
call fcn.10035dd0
mov byte [ebp - 4], 0x11
push 0x5bf
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x28], esp
push str.CEngineCache::CachePackage
call fcn.10035dd0
mov byte [ebp - 4], 0x12
mov byte [ebp - 0x15], 0
lea edx, [ebp - 0x15]
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x40], str.Will_cache_only_present_files_as_package_is_a_bare_package
lea eax, [ebp - 0x24]
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x50], vtable.Nvidia::Logging::ChainLoggable_class_Nvidia::Logging::Chain_char_const_____59___class_Nvidia::Logging::Chain_struct_Nvidia::Logging::NullType__struct_Nvidia::Logging::NullType___.0
lea ecx, [ebp - 0x40]
mov dword [ebp - 0x4c], ecx
push 6
call fcn.10081500
push eax
mov byte [ebp - 4], 0x10
lea edi, [ebp - 0x50]
call fcn.10002b50
lea edx, [ebp - 0x2c]
push edx
push 0x102b3b0c
push 0x17
push ebx
push 0x102ab2f8
call dword [sym.imp.ole32.dll_CoCreateInstance]
cmp eax, ebx
jge 0x1008997f
push ebx
push 0x5c6
push str..EngineCache.cpp
push eax
call fcn.100048f0
lea eax, [ebp - 0x13c]
push eax
lea ecx, [ebp - 0xb8]
call fcn.100555b0
mov byte [ebp - 4], 0x13
lea ecx, [ebp - 0x168]
push ecx
mov ecx, eax
call fcn.101daa80
mov byte [ebp - 4], 0x15
lea ecx, [ebp - 0xb8]
call fcn.10056b10
mov dword [ebp - 0x44], ebx
mov byte [ebp - 4], 0x17
mov edx, dword [esi]
lea eax, [ebp - 0x44]
push eax
push esi
mov ecx, dword [edx + 0x6c]
call ecx
cmp eax, ebx
jge 0x100899da
push ebx
push 0x5c9
push str..EngineCache.cpp
push eax
call fcn.100048f0
lea edx, [ebp - 0xd4]
push edx
mov ecx, dword [ebp - 0x44]
call fcn.100bef40
mov byte [ebp - 4], 0x18
lea eax, [ebp - 0xcc]
push eax
mov edi, dword [sym.imp.OLEAUT32.dll_VariantCopy]
call edi
xor ebx, ebx
mov dword [ebp - 0x3c], ebx
mov eax, dword [ebp - 0xd4]
cmp eax, ebx
je 0x10089a28
mov ecx, dword [eax]
lea edx, [ebp - 0x3c]
push edx
lea edx, [ebp - 0xcc]
push edx
push 1
push eax
mov eax, dword [ecx + 0xc]
call eax
cmp eax, ebx
jl 0x10089825
cmp dword [ebp - 0x3c], ebx
seta al
test al, al
je 0x10089d08
lea ecx, [ebp - 0x4c]
push ecx
lea esi, [ebp - 0xd4]
call fcn.1004c580
mov byte [ebp - 4], 0x19
lea ecx, [ebp - 0x74]
call fcn.10002dd0
mov byte [ebp - 4], 0x1a
mov esi, dword [ebp - 0x4c]
mov dword [ebp - 0x5c], ebx
lea ecx, [ebp - 0x74]
call fcn.100041b0
lea edx, [ebp - 0x6c]
push edx
call edi
cmp eax, ebx
jl 0x10089825
mov dword [ebp - 0x5c], 2
mov eax, 8
mov word [ebp - 0x6c], ax
mov dword [ebp - 0x64], ebx
mov ecx, dword [esi]
lea edx, [ebp - 0x64]
push edx
push esi
mov eax, dword [ecx + 0x1c]
call eax
cmp eax, ebx
jl 0x10089ce5
lea ecx, [ebp - 0x74]
call fcn.10003840
cmp dword [ebp - 0x5c], 3
jne 0x10089abb
mov dword [ebp - 0x5c], 1
lea ecx, [ebp - 0x6c]
push ecx
call edi
cmp eax, ebx
jl 0x10089825
cmp dword [ebp - 0x5c], ebx
jne 0x10089ac7
mov dword [ebp - 0x5c], 1
push 0x102bcd0c
mov edx, dword [ebp - 0x74]
push edx
call fcn.10231204
add esp, 8
cmp eax, ebx
je 0x10089ae3
sub eax, dword [ebp - 0x74]
sar eax, 1
jns 0x10089b59
lea eax, [ebp - 0x74]
push eax
lea ecx, [ebp - 0x118]
call fcn.100555b0
mov byte [ebp - 4], 0x1b
lea ecx, [ebp - 0x168]
push ecx
lea edx, [ebp - 0xb8]
push edx
push eax
call fcn.10055620
mov byte [ebp - 4], 0x1c
mov ecx, eax
call fcn.101dc6d0
mov bl, al
mov byte [ebp - 4], 0x1d
lea ecx, [ebp - 0xa0]
call fcn.10004720
mov byte [ebp - 4], 0x1b
lea eax, [ebp - 0xb8]
push eax
mov esi, dword [sym.imp.KERNEL32.dll_DeleteCriticalSection]
call esi
mov byte [ebp - 4], 0x20
lea ecx, [ebp - 0x100]
call fcn.10004720
mov byte [ebp - 4], 0x1a
lea ecx, [ebp - 0x118]
push ecx
call esi
test bl, bl
je 0x10089bcf
mov edx, 9
mov word [ebp - 0xf4], dx
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0xec], eax
test eax, eax
je 0x10089b7a
mov ecx, dword [eax]
push eax
mov edx, dword [ecx + 4]
call edx
mov byte [ebp - 4], 0x23
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ecx]
sub esp, 0x10
mov eax, esp
mov esi, dword [ebp - 0xf4]
mov dword [eax], esi
mov esi, dword [ebp - 0xf0]
mov dword [eax + 4], esi
mov esi, dword [ebp - 0xec]
mov dword [eax + 8], esi
mov esi, dword [ebp - 0xe8]
mov dword [eax + 0xc], esi
push ecx
mov eax, dword [edx + 0x44]
call eax
test eax, eax
jl 0x10089cf6
mov byte [ebp - 4], 0x1a
lea ecx, [ebp - 0xf4]
push ecx
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
jmp 0x10089c98
call fcn.10081500
cmp dword [eax + 0x1c], 6
jl 0x10089c98
sub esp, 0x1c
mov dword [ebp - 0x1c], esp
mov ecx, esp
mov edi, 7
mov dword [ecx + 0x18], edi
xor esi, esi
mov dword [ecx + 0x14], esi
xor edx, edx
mov word [ecx + 4], dx
push 0x11
push 0x102bbbc0
call fcn.10035ce0
mov byte [ebp - 4], 0x24
push 0x5e3
sub esp, 0x1c
mov dword [ebp - 0x28], esp
mov ecx, esp
mov dword [ecx + 0x18], edi
mov dword [ecx + 0x14], esi
xor eax, eax
mov word [ecx + 4], ax
push 0x1a
push str.CEngineCache::CachePackage
call fcn.10035ce0
mov byte [ebp - 4], 0x25
mov byte [ebp - 0x15], 0
lea ecx, [ebp - 0x15]
mov dword [ebp - 0x80], ecx
mov dword [ebp - 0x144], 0x102bcd14
lea edx, [ebp - 0x84]
mov dword [ebp - 0x140], edx
lea eax, [ebp - 0x74]
mov dword [ebp - 0x14c], eax
lea ecx, [ebp - 0x144]
mov dword [ebp - 0x148], ecx
mov dword [ebp - 0x34], str.does_not_exist_in_package__removing_from_manifest_cache_list
lea edx, [ebp - 0x14c]
mov dword [ebp - 0x30], edx
mov dword [ebp - 0x24], 0x102bdcd8
lea eax, [ebp - 0x34]
mov dword [ebp - 0x20], eax
push 6
call fcn.10081500
push eax
mov byte [ebp - 4], 0x1a
lea edi, [ebp - 0x24]
call fcn.10002b50
mov byte [ebp - 4], 0x26
lea ecx, [ebp - 0x6c]
push ecx
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov byte [ebp - 4], 0x19
mov eax, dword [ebp - 0x74]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x10089cc9
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x18
mov eax, dword [ebp - 0x4c]
test eax, eax
je 0x100899ed
mov ecx, dword [eax]
push eax
mov edx, dword [ecx + 8]
call edx
jmp 0x100899ed
push ebx
push 0x5cf
push str..EngineCache.cpp
push eax
call fcn.100048f0
push 0
push 0x5df
push str..EngineCache.cpp
push eax
call fcn.100048f0
mov byte [ebp - 4], 0x17
lea eax, [ebp - 0xd4]
push eax
call fcn.10085de0
mov byte [ebp - 4], 0x15
lea ecx, [ebp - 0x44]
call fcn.1003ca30
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0x168]
call fcn.10056b10
xor ebx, ebx
mov esi, dword [ebp + 0xc]
mov edi, dword [sym.imp.OLEAUT32.dll_VariantCopy]
lea ecx, [ebp - 0x18c]
call fcn.10002dd0
mov byte [ebp - 4], 0x50
mov dword [ebp - 0x174], ebx
lea ecx, [ebp - 0x18c]
call fcn.100041b0
lea ecx, [ebp - 0x184]
push ecx
call edi
cmp eax, ebx
jge 0x1008a28a
push ebx
push ebx
push 0x102b274a
push eax
call fcn.100048f0
push ebx
push 0x1038e39c
push 0x1038e380
push ebx
push esi
call fcn.1022f4a1
add esp, 0x14
mov esi, eax
mov byte [ebp - 4], 0x2a
push 0x5ea
push str..EngineCache.cpp
push 0xe0e00000
cmp esi, ebx
setne cl
movzx edx, cl
push edx
call fcn.10004930
add esp, 0x10
mov dword [ebp - 4], edi
mov dword [ebp - 0x3c], ebx
mov eax, dword [esi]
lea ecx, [ebp - 0x3c]
push ecx
push esi
mov edx, dword [eax + 0xec]
call edx
push ebx
cmp eax, ebx
jge 0x10089de1
push 0x5ed
push str..EngineCache.cpp
push eax
call fcn.100048f0
push 0x1038e3d4
push 0x1038e3b8
push ebx
mov eax, dword [ebp - 0x48]
push eax
call fcn.1022f4a1
add esp, 0x14
mov esi, eax
mov byte [ebp - 4], 0x2e
push 0x5f0
push str..EngineCache.cpp
push 0xe0e00000
cmp esi, ebx
setne cl
movzx edx, cl
push edx
call fcn.10004930
add esp, 0x10
mov dword [ebp - 4], edi
mov dword [ebp - 0x44], ebx
mov eax, dword [esi]
lea ecx, [ebp - 0x44]
push ecx
push esi
mov edx, dword [eax + 0x64]
call edx
cmp eax, ebx
jge 0x10089e45
push ebx
push 0x5f3
push str..EngineCache.cpp
push eax
call fcn.100048f0
cmp byte [esi + 0x10d], 0
jne 0x10089e86
cmp word [ebp - 0x3c], bx
jne 0x10089e86
cmp word [ebp - 0x44], bx
jne 0x10089e86
lea eax, [ebp - 0x13c]
push eax
lea ecx, [ebp - 0xb8]
call fcn.100555b0
mov byte [ebp - 4], 0x32
mov dword [ebp - 0x78], 1
mov ecx, eax
call fcn.101dc530
test al, al
mov byte [ebp - 0x15], 1
je 0x10089e8a
mov byte [ebp - 0x15], 0
mov dword [ebp - 4], edi
test byte [ebp - 0x78], 1
je 0x10089ea2
and dword [ebp - 0x78], 0xfffffffe
lea ecx, [ebp - 0xb8]
call fcn.10056b10
cmp byte [ebp - 0x15], 0
je 0x1008a1eb
mov byte [ebp - 0x16], 0
lea ecx, [ebp - 0x2c]
push ecx
push 0x102b3b0c
push 0x17
push ebx
push 0x102ab2f8
call dword [sym.imp.ole32.dll_CoCreateInstance]
cmp eax, ebx
jge 0x10089edc
push ebx
push 0x5fb
push str..EngineCache.cpp
push eax
call fcn.100048f0
lea edx, [ebp - 0xd4]
push edx
mov ecx, dword [ebp - 0x38]
call fcn.100bef40
mov byte [ebp - 4], 0x33
mov edi, dword [sym.imp.OLEAUT32.dll_VariantCopy]
lea eax, [ebp - 0xcc]
push eax
call edi
mov dword [ebp - 0x28], ebx
mov eax, dword [ebp - 0xd4]
cmp eax, ebx
je 0x10089f28
mov ecx, dword [eax]
lea edx, [ebp - 0x28]
push edx
lea edx, [ebp - 0xcc]
push edx
push 1
push eax
mov eax, dword [ecx + 0xc]
call eax
cmp eax, ebx
jl 0x10089825
cmp dword [ebp - 0x28], ebx
seta al
test al, al
je 0x1008a1d3
lea ecx, [ebp - 0x1c]
push ecx
lea esi, [ebp - 0xd4]
call fcn.100909a0
mov byte [ebp - 4], 0x34
lea ecx, [ebp - 0x74]
call fcn.10002dd0
mov byte [ebp - 4], 0x35
mov esi, dword [ebp - 0x1c]
mov dword [ebp - 0x5c], ebx
lea ecx, [ebp - 0x74]
call fcn.100041b0
lea edx, [ebp - 0x6c]
push edx
call edi
cmp eax, ebx
jl 0x10089825
mov dword [ebp - 0x5c], 2
mov eax, 8
mov word [ebp - 0x6c], ax
mov dword [ebp - 0x64], ebx
mov ecx, dword [esi]
lea edx, [ebp - 0x64]
push edx
push esi
mov eax, dword [ecx + 0x30]
call eax
cmp eax, ebx
jl 0x1008a17a
mov dword [ebp - 0x4c], ebx
mov byte [ebp - 4], 0x37
lea ecx, [ebp - 0x4c]
push ecx
push 0x102b6dd4
push 0x17
push ebx
push 0x102ab218
call dword [sym.imp.ole32.dll_CoCreateInstance]
cmp eax, ebx
jl 0x1008a18b
lea edx, [ebp - 0x74]
push edx
lea ecx, [ebp - 0x118]
call fcn.100555b0
mov byte [ebp - 4], 0x38
lea ecx, [ebp - 0xb8]
push ecx
mov ecx, eax
call fcn.101daa00
mov byte [ebp - 4], 0x39
lea edx, [ebp - 0x9c]
push edx
mov ecx, eax
call fcn.10055810
mov byte [ebp - 4], 0x3a
lea eax, [ebp - 0x9c]
push eax
lea ecx, [ebp - 0x16c]
call fcn.10055870
mov byte [ebp - 4], 0x3d
lea ecx, [ebp - 0x94]
push ecx
call edi
mov byte [ebp - 4], 0x3c
lea ecx, [ebp - 0x9c]
call fcn.10004720
mov byte [ebp - 4], 0x40
lea ecx, [ebp - 0xa0]
call fcn.10004720
mov byte [ebp - 4], 0x3f
lea edx, [ebp - 0xb8]
push edx
mov esi, dword [sym.imp.KERNEL32.dll_DeleteCriticalSection]
call esi
mov byte [ebp - 4], 0x44
lea ecx, [ebp - 0x100]
call fcn.10004720
mov byte [ebp - 4], 0x43
lea eax, [ebp - 0x118]
push eax
call esi
mov esi, dword [ebp - 0x4c]
cmp dword [ebp - 0x154], ebx
je 0x1008a099
lea ecx, [ebp - 0x16c]
call fcn.100039a0
movzx ecx, word [eax]
cmp cx, bx
je 0x1008a099
cmp cx, 1
je 0x1008a099
cmp cx, 8
sete cl
test cl, cl
je 0x1008a19c
mov eax, dword [eax + 8]
jmp 0x1008a09b
xor eax, eax
mov ecx, dword [esi]
push eax
push esi
mov edx, dword [ecx + 0x20]
call edx
cmp eax, ebx
jl 0x1008a1b1
mov eax, 9
mov word [ebp - 0xf4], ax
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0xec], eax
cmp eax, ebx
je 0x1008a0cd
mov ecx, dword [eax]
push eax
mov edx, dword [ecx + 4]
call edx
mov byte [ebp - 4], 0x47
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ecx]
sub esp, 0x10
mov eax, esp
mov esi, dword [ebp - 0xf4]
mov dword [eax], esi
mov esi, dword [ebp - 0xf0]
mov dword [eax + 4], esi
mov esi, dword [ebp - 0xec]
mov dword [eax + 8], esi
mov esi, dword [ebp - 0xe8]
mov dword [eax + 0xc], esi
push ecx
mov eax, dword [edx + 0x44]
call eax
cmp eax, ebx
jl 0x1008a1c2
mov byte [ebp - 4], 0x43
lea ecx, [ebp - 0xf4]
push ecx
call edi
mov byte [ebp - 4], 0x48
lea edx, [ebp - 0x164]
push edx
call edi
mov byte [ebp - 4], 0x37
lea ecx, [ebp - 0x16c]
call fcn.10004720
mov byte [ebp - 4], 0x35
mov eax, dword [ebp - 0x4c]
cmp eax, ebx
je 0x1008a148
mov ecx, dword [eax]
push eax
mov edx, dword [ecx + 8]
call edx
mov byte [ebp - 4], 0x4b
lea eax, [ebp - 0x6c]
push eax
call edi
mov byte [ebp - 4], 0x34
lea ecx, [ebp - 0x74]
call fcn.10004720
mov byte [ebp - 4], 0x33
mov eax, dword [ebp - 0x1c]
cmp eax, ebx
je 0x10089ef5
mov ecx, dword [eax]
push eax
mov edx, dword [ecx + 8]
call edx
jmp 0x10089ef5
push ebx
push 0x600
push str..EngineCache.cpp
push eax
call fcn.100048f0
push ebx
push 0x602
push str..EngineCache.cpp
push eax
call fcn.100048f0
push ebx
push 0xb7
push str.c:dvsp4_build_sw_relgpu_drvinstaller_coreincAutoString.h
push 0xe0e00000
call fcn.100048f0
push ebx
push 0x604
push str..EngineCache.cpp
push eax
call fcn.100048f0
push ebx
push 0x607
push str..EngineCache.cpp
push eax
call fcn.100048f0
mov byte [ebp - 4], 0x10
lea eax, [ebp - 0xd4]
push eax
call fcn.10085de0
mov esi, dword [ebp + 0xc]
jmp 0x10089d3e
call fcn.10081500
cmp dword [eax + 0x1c], 6
jl 0x1008a262
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x1c], esp
push 0x102bbbc0
call fcn.10035dd0
mov byte [ebp - 4], 0x4e
push 0x60c
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x28], esp
push str.CEngineCache::CachePackage
call fcn.10035dd0
mov byte [ebp - 4], 0x4f
mov byte [ebp - 0x15], 0
lea ecx, [ebp - 0x15]
mov dword [ebp - 0x80], ecx
mov dword [ebp - 0x24], str.Will_cache_complete_manifest_list
lea edx, [ebp - 0x84]
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x34], vtable.Nvidia::Logging::ChainLoggable_class_Nvidia::Logging::Chain_char_const_____34___class_Nvidia::Logging::Chain_struct_Nvidia::Logging::NullType__struct_Nvidia::Logging::NullType___.0
lea eax, [ebp - 0x24]
mov dword [ebp - 0x30], eax
push 6
call fcn.10081500
push eax
mov byte [ebp - 4], 0x10
lea edi, [ebp - 0x34]
call fcn.10002b50
mov esi, dword [ebp + 0xc]
mov ecx, dword [esi]
lea edx, [ebp - 0x2c]
push edx
push esi
mov eax, dword [ecx + 0x6c]
call eax
cmp eax, ebx
jge 0x10089d38
push ebx
push 0x60d
push str..EngineCache.cpp
push eax
call fcn.100048f0
mov dword [ebp - 0x174], 2
mov edx, 8
mov word [ebp - 0x184], dx
mov dword [ebp - 0x17c], ebx
mov eax, dword [esi]
lea ecx, [ebp - 0x17c]
push ecx
push esi
mov edx, dword [eax + 0x24]
call edx
cmp eax, ebx
jge 0x1008a2ca
push ebx
push 0x612
push str..EngineCache.cpp
push eax
call fcn.100048f0
lea eax, [ebp - 0x13c]
push eax
lea ecx, [ebp - 0xb8]
call fcn.100555b0
mov byte [ebp - 4], 0x51
lea ecx, [ebp - 0x1c]
call fcn.10002d80
mov esi, eax
mov byte [ebp - 4], 0x52
lea ecx, [ebp - 0x118]
call fcn.10056ab0
mov edi, eax
mov byte [ebp - 4], 0x53
mov ebx, dword [ebp - 0x2c]
lea ecx, [ebp - 0x18c]
call fcn.10003840
push esi
push ebx
push eax
lea ecx, [ebp - 0xb8]
push ecx
lea edx, [ebp - 0x1a8]
push edx
mov edx, edi
mov ecx, dword [ebp + 8]
call fcn.1008c9e0
mov byte [ebp - 4], 0x55
lea ecx, [ebp - 0x118]
call fcn.10056b10
mov byte [ebp - 4], 0x56
lea ecx, [ebp - 0x1c]
call fcn.10004720
mov byte [ebp - 4], 0x57
lea ecx, [ebp - 0xb8]
call fcn.10056b10
mov eax, dword [ebp - 0x190]
cmp dword [eax - 0xc], 0
jne 0x1008a3d6
mov byte [ebp - 4], 0x50
lea ecx, [ebp - 0x1a8]
call fcn.10056b10
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0x18c]
call fcn.10002d20
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x2c]
call fcn.1003ca30
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x48]
push ecx
call fcn.100409e0
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x13c]
call fcn.10002d20
mov byte [ebp - 4], 2
lea edx, [ebp - 0x7c]
push edx
call fcn.1005b8c0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x38]
call fcn.1003ca30
xor al, al
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
xor ebx, ebx
mov dword [ebp - 0x8c], ebx
mov dword [ebp - 0x88], ebx
mov dword [ebp - 0x84], ebx
mov dword [ebp - 0x80], ebx
mov byte [ebp - 4], 0x58
mov dword [ebp - 0xbc], ebx
mov eax, dword [ebp - 0x38]
mov ecx, dword [eax]
lea edx, [ebp - 0xbc]
push edx
push eax
mov eax, dword [ecx + 0x28]
call eax
cmp eax, ebx
jge 0x1008a41e
push ebx
push 0x620
push str..EngineCache.cpp
push eax
call fcn.100048f0
push 0xffffffffffffffff
mov ecx, dword [ebp - 0xbc]
push ecx
lea ecx, [ebp - 0x8c]
call fcn.10094ed0
lea edx, [ebp - 0xd4]
push edx
mov ecx, dword [ebp - 0x38]
call fcn.100bef40
mov byte [ebp - 4], 0x59
jmp 0x1008a450
lea eax, [ebp - 0xcc]
push eax
mov edi, dword [sym.imp.OLEAUT32.dll_VariantCopy]
call edi
mov dword [ebp - 0x1c], 0
mov eax, dword [ebp - 0xd4]
test eax, eax
je 0x1008a48d
mov ecx, dword [eax]
lea edx, [ebp - 0x1c]
push edx
lea edx, [ebp - 0xcc]
push edx
push 1
push eax
mov eax, dword [ecx + 0xc]
call eax
test eax, eax
jl 0x1008a702
cmp dword [ebp - 0x1c], 0
seta al
test al, al
je 0x1008a739
lea ecx, [ebp - 0x28]
push ecx
lea esi, [ebp - 0xd4]
call fcn.100909a0
mov byte [ebp - 4], 0x5a
lea ecx, [ebp - 0x74]
call fcn.10002dd0
mov byte [ebp - 4], 0x5b
mov esi, dword [ebp - 0x28]
mov dword [ebp - 0x5c], 0
lea ecx, [ebp - 0x74]
call fcn.100041b0
lea edx, [ebp - 0x6c]
push edx
call edi
test eax, eax
jl 0x1008a702
mov dword [ebp - 0x5c], 2
mov eax, 8
mov word [ebp - 0x6c], ax
mov dword [ebp - 0x64], 0
mov ecx, dword [esi]
lea edx, [ebp - 0x64]
push edx
push esi
mov eax, dword [ecx + 0x30]
call eax
test eax, eax
jl 0x1008a711
mov esi, ebx
inc ebx
lea ecx, [ebp - 0xfc]
call fcn.10056c80
mov byte [ebp - 4], 0x5c
lea ecx, [ebp - 0x74]
call fcn.10003840
lea ecx, [ebp - 0xe4]
mov dword [ebp - 0x3c], ecx
mov eax, dword [eax]
sub eax, 0x10
push eax
call fcn.10004780
add esp, 4
add eax, 0x10
mov dword [ebp - 0xe4], eax
mov byte [ebp - 4], 0x5f
lea edx, [ebp - 0xb8]
push edx
lea ecx, [ebp - 0xfc]
call fcn.101daa00
mov edi, eax
mov byte [ebp - 4], 0x60
lea eax, [ebp - 0x118]
push eax
lea ecx, [ebp - 0x1a8]
call fcn.101daa80
mov byte [ebp - 4], 0x61
push edi
lea ecx, [ebp - 0x168]
push ecx
mov ecx, eax
call fcn.10055900
mov byte [ebp - 4], 0x62
cmp esi, dword [ebp - 0x88]
jae 0x1008a723
lea edx, [esi*8]
sub edx, esi
mov ecx, dword [ebp - 0x8c]
lea ecx, [ecx + edx*4]
add ecx, 0x18
add eax, 0x18
push eax
call fcn.100036b0
mov byte [ebp - 4], 0x63
lea edx, [ebp - 0x150]
mov dword [ebp - 0x3c], edx
mov byte [ebp - 4], 0x63
mov eax, dword [ebp - 0x150]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x1008a5e2
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x61
lea ecx, [ebp - 0x168]
push ecx
mov esi, dword [sym.imp.KERNEL32.dll_DeleteCriticalSection]
call esi
mov byte [ebp - 4], 0x67
lea edx, [ebp - 0x100]
mov dword [ebp - 0x3c], edx
mov byte [ebp - 4], 0x67
mov eax, dword [ebp - 0x100]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x1008a628
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x60
lea ecx, [ebp - 0x118]
push ecx
call esi
mov byte [ebp - 4], 0x6b
lea edx, [ebp - 0xa0]
mov dword [ebp - 0x3c], edx
mov byte [ebp - 4], 0x6b
mov eax, dword [ebp - 0xa0]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x1008a668
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x5f
lea ecx, [ebp - 0xb8]
push ecx
call esi
mov byte [ebp - 4], 0x6f
lea edx, [ebp - 0xe4]
mov dword [ebp - 0x3c], edx
mov byte [ebp - 4], 0x6f
mov eax, dword [ebp - 0xe4]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x1008a6a8
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x5b
lea ecx, [ebp - 0xfc]
push ecx
call esi
mov byte [ebp - 4], 0x73
lea edx, [ebp - 0x6c]
push edx
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov byte [ebp - 4], 0x5a
mov eax, dword [ebp - 0x74]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x1008a6e6
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x59
mov eax, dword [ebp - 0x28]
test eax, eax
je 0x1008a450
mov ecx, dword [eax]
push eax
mov edx, dword [ecx + 8]
call edx
jmp 0x1008a450
push 0
push 0
push 0x102b274a
push eax
call fcn.100048f0
push 0
push 0x627
push str..EngineCache.cpp
push eax
call fcn.100048f0
push 0
push 0x2c6
push str.c:dvsp4_build_sw_toolswin32msvc90VC_atlmfcinclude_atlcoll.h
push 0x80070057
call fcn.100048f0
mov byte [ebp - 4], 0x58
lea eax, [ebp - 0xd4]
push eax
call fcn.10085de0
lea ecx, [ebp - 0x8c]
push ecx
mov edi, dword [ebp + 8]
push edi
mov ebx, dword [ebp + 0xc]
mov ecx, ebx
call fcn.10081b80
push edi
lea esi, [ebp - 0x1a8]
mov ecx, ebx
call fcn.10081a40
push edi
mov ecx, ebx
call fcn.10083570
lea ecx, [ebp - 0x1cc]
call fcn.10002dd0
mov byte [ebp - 4], 0x77
mov eax, dword [ebp - 0x48]
mov edi, eax
mov esi, dword [eax]
add esi, 0x38
lea ecx, [ebp - 0x1cc]
call fcn.10002cd0
push eax
push edi
mov edx, dword [esi]
call edx
test eax, eax
jge 0x1008a7b4
push 0
push 0x632
push str..EngineCache.cpp
push eax
call fcn.100048f0
lea eax, [ebp - 0x1cc]
push eax
lea ecx, [ebp - 0xb8]
call fcn.100555b0
mov byte [ebp - 4], 0x78
mov ecx, dword [ebp + 8]
push ecx
lea esi, [ebp - 0xb8]
mov ecx, ebx
call fcn.100819a0
mov byte [ebp - 4], 0x77
mov ecx, esi
call fcn.10056b10
mov ecx, dword [ebp + 0x10]
add ecx, 0x18
lea edx, [ebp - 0x190]
push edx
call fcn.100036b0
mov byte [ebp - 4], 0x58
lea ecx, [ebp - 0x1cc]
call fcn.10002d20
mov byte [ebp - 4], 0x57
mov esi, dword [ebp - 0x8c]
test esi, esi
je 0x1008a82b
mov eax, dword [ebp - 0x88]
push eax
push esi
call fcn.10094c90
push esi
call fcn.1022f576
add esp, 0xc
mov byte [ebp - 4], 0x50
lea ecx, [ebp - 0x1a8]
call fcn.10056b10
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0x18c]
call fcn.10002d20
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x2c]
call fcn.1003ca30
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x48]
push ecx
call fcn.100409e0
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x13c]
call fcn.10002d20
mov byte [ebp - 4], 2
lea edx, [ebp - 0x7c]
push edx
call fcn.1005b8c0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x38]
call fcn.1003ca30
mov al, byte [ebp - 0x16]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc