Function at 0x100042c0
Capabilities:
Check if file exists
Delete file
Get memory capacity

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1000ed94
mov eax, dword fs:[0]
push eax
sub esp, 0x9e4
mov eax, dword [0x10016034]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, ecx
mov dword [ebp - 0x980], eax
add eax, 8
push eax
lea eax, [ebp - 0x420]
push 0x104
push eax
call dword [sym.imp.MSVCR110.dll_wcscpy_s]
add esp, 0xc
lea eax, [ebp - 0x420]
push str.CrashRpt.xml
push eax
call dword [sym.imp.SHLWAPI.dll_PathAppendW]
lea eax, [ebp - 0x420]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x1000433f
lea eax, [ebp - 0x420]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
lea eax, [ebp - 0x9a8]
push eax
lea ecx, [ebp - 0x97c]
mov dword [ebp - 0x9a8], 0x80004005
call fcn.1000cfd0
mov dword [ebp - 4], 0
cmp dword [ebp - 0x9a8], 0
jl 0x10005916
mov ebx, dword [sym.imp.OLEAUT32.dll_SysReAllocString]
push ecx
mov esi, esp
push str.CrashInformation
call ebx
mov dword [esi], eax
test eax, eax
jne 0x1000438f
push 0x8007000e
call fcn.10001230
lea ecx, [ebp - 0x97c]
call fcn.1000d320
mov edi, eax
mov dword [ebp - 0x998], edi
test edi, edi
je 0x100043ac
mov ecx, dword [edi]
push edi
call dword [ecx + 4]
mov byte [ebp - 4], 1
test edi, edi
je 0x100043db
mov ecx, dword [ebp - 0x978]
test ecx, ecx
je 0x100043ce
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [ebp - 0x978], 0
mov eax, dword [edi]
lea ecx, [ebp - 0x978]
push ecx
push edi
call dword [eax + 0x44]
push 0x10011660
push ecx
mov esi, esp
push str.VERSION
call ebx
mov dword [esi], eax
test eax, eax
jne 0x100043fa
push 0x8007000e
call fcn.10001230
lea ecx, [ebp - 0x97c]
call fcn.1000d5a0
mov ecx, dword [ebp - 0x978]
test ecx, ecx
je 0x1000441f
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [ebp - 0x978], 0
mov eax, dword [section..data]
mov ecx, section..data
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x9a8], eax
lea ecx, [ebp - 0x9a8]
mov byte [ebp - 4], 2
call fcn.1000b5b0
lea eax, [ebp - 0x9a8]
push eax
push ecx
mov esi, esp
push 0x10011678
call ebx
mov dword [esi], eax
test eax, eax
jne 0x10004465
push 0x8007000e
call fcn.10001230
push edi
lea eax, [ebp - 0x97c]
push eax
call fcn.10005990
xor eax, eax
push 0x206
push eax
mov word [ebp - 0x218], ax
lea eax, [ebp - 0x216]
push eax
call sub.MSVCR110.dll_memset
mov eax, dword [ebp - 0x980]
add esp, 0xc
mov esi, dword [eax + 0x1918]
test esi, esi
je 0x100044d2
lea eax, [ebp - 0x218]
test eax, eax
je 0x100044d2
mov ecx, esi
call fcn.100010f0
test eax, eax
js 0x100044d2
push str.UNO_GetUUID
push dword [esi]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x100044d2
lea ecx, [ebp - 0x218]
push ecx
call eax
add esp, 4
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebp - 0x9ac]
call fcn.10009160
lea eax, [ebp - 0x9ac]
push eax
push ecx
mov esi, esp
push str.UUID
mov byte [ebp - 4], 3
call ebx
mov dword [esi], eax
test eax, eax
jne 0x10004509
push 0x8007000e
call fcn.10001230
push edi
lea eax, [ebp - 0x97c]
push eax
call fcn.10005990
mov byte [ebp - 4], 2
mov edx, dword [ebp - 0x9ac]
add edx, 0xfffffff0
or eax, 0xffffffff
lea ecx, [edx + 0xc]
lock xadd dword [ecx], eax
dec eax
test eax, eax
jg 0x1000453a
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [ebp - 0x980]
mov eax, dword [ecx + 0x438]
lea esi, [ecx + 0x438]
cmp dword [eax - 0xc], 0
jne 0x10004586
push ecx
lea eax, [ecx + 0x148c]
mov ecx, esp
mov dword [ebp - 0x974], esp
push eax
call fcn.10009160
push ecx
mov ecx, esp
push 0x1001168c
mov byte [ebp - 4], 4
call fcn.10009160
mov ecx, esi
mov byte [ebp - 4], 2
call fcn.1000c2a0
add esp, 8
push esi
push ecx
mov esi, esp
push 0x10011694
call ebx
mov dword [esi], eax
test eax, eax
jne 0x100045a1
push 0x8007000e
call fcn.10001230
push edi
lea eax, [ebp - 0x97c]
push eax
call fcn.10005990
mov ecx, dword [ebp - 0x980]
mov eax, dword [ecx + 0x43c]
lea esi, [ecx + 0x43c]
cmp dword [eax - 0xc], 0
jne 0x100045fa
push ecx
lea eax, [ecx + 0x148c]
mov ecx, esp
mov dword [ebp - 0x974], esp
push eax
call fcn.10009160
push ecx
mov ecx, esp
push str.Product
mov byte [ebp - 4], 5
call fcn.10009160
mov ecx, esi
mov byte [ebp - 4], 2
call fcn.1000c2a0
add esp, 8
push esi
push ecx
mov esi, esp
push 0x100116b0
call ebx
mov dword [esi], eax
test eax, eax
jne 0x10004615
push 0x8007000e
call fcn.10001230
push edi
lea eax, [ebp - 0x97c]
push eax
call fcn.10005990
mov ecx, dword [ebp - 0x980]
lea eax, [ecx + 0x430]
push eax
push ecx
mov esi, esp
push str.AppName
call ebx
mov dword [esi], eax
test eax, eax
jne 0x10004649
push 0x8007000e
call fcn.10001230
push edi
lea eax, [ebp - 0x97c]
push eax
call fcn.10005990
mov ecx, dword [ebp - 0x980]
mov eax, dword [ecx + 0x434]
lea esi, [ecx + 0x434]
cmp dword [eax - 0xc], 0
jne 0x100046a2
push ecx
lea eax, [ecx + 0x148c]
mov ecx, esp
mov dword [ebp - 0x974], esp
push eax
call fcn.10009160
push ecx
mov ecx, esp
push str.DisplayBuildNumber
mov byte [ebp - 4], 6
call fcn.10009160
mov ecx, esi
mov byte [ebp - 4], 2
call fcn.1000c2a0
add esp, 8
push esi
push ecx
mov esi, esp
push str.AppVersion
call ebx
mov dword [esi], eax
test eax, eax
jne 0x100046bd
push 0x8007000e
call fcn.10001230
push edi
lea eax, [ebp - 0x97c]
push eax
call fcn.10005990
mov ecx, dword [ebp - 0x980]
mov eax, dword [ecx + 0x18d8]
lea esi, [ecx + 0x18d8]
cmp dword [eax - 0xc], 0
jne 0x10004716
push ecx
lea eax, [ecx + 0x148c]
mov ecx, esp
mov dword [ebp - 0x974], esp
push eax
call fcn.10009160
push ecx
mov ecx, esp
push str.Version
mov byte [ebp - 4], 7
call fcn.10009160
mov ecx, esi
mov byte [ebp - 4], 2
call fcn.1000c2a0
add esp, 8
push esi
push ecx
mov esi, esp
push str.VersionName
call ebx
mov dword [esi], eax
test eax, eax
jne 0x10004731
push 0x8007000e
call fcn.10001230
push edi
lea eax, [ebp - 0x97c]
push eax
call fcn.10005990
mov ecx, dword [ebp - 0x980]
mov eax, dword [ecx + 0x18e0]
lea esi, [ecx + 0x18e0]
cmp dword [eax - 0xc], 0
jne 0x1000478a
push ecx
lea eax, [ecx + 0x148c]
mov ecx, esp
mov dword [ebp - 0x974], esp
push eax
call fcn.10009160
push ecx
mov ecx, esp
push 0x1001171c
mov byte [ebp - 4], 8
call fcn.10009160
mov ecx, esi
mov byte [ebp - 4], 2
call fcn.1000c2a0
add esp, 8
push esi
push ecx
mov esi, esp
push str.VersionType
call ebx
mov dword [esi], eax
test eax, eax
jne 0x100047a5
push 0x8007000e
call fcn.10001230
push edi
lea eax, [ebp - 0x97c]
push eax
call fcn.10005990
mov eax, dword [section..data]
mov ecx, section..data
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x9ac], eax
push str.kernel32.dll
mov byte [ebp - 4], 9
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov esi, eax
push str.IsWow64Process
push esi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [ebp - 0x98c], eax
test eax, eax
jne 0x100047fa
push esi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
xor eax, eax
jmp 0x10004825
lea eax, [ebp - 0x9a0]
push eax
mov dword [ebp - 0x9a0], 0
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [ebp - 0x98c]
push esi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov eax, dword [ebp - 0x9a0]
push eax
lea eax, [ebp - 0x9ac]
push 0x100107a8
push eax
call fcn.1000a6a0
add esp, 0xc
lea eax, [ebp - 0x9ac]
push eax
push ecx
mov esi, esp
push str.Is64BitOS
call ebx
mov dword [esi], eax
test eax, eax
jne 0x1000485b
push 0x8007000e
call fcn.10001230
push edi
lea eax, [ebp - 0x97c]
push eax
call fcn.10005990
mov eax, dword [section..data]
mov ecx, section..data
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x9a0], eax
lea ecx, [ebp - 0x9a0]
mov byte [ebp - 4], 0xa
call fcn.1000bf00
test eax, eax
je 0x100048bf
lea eax, [ebp - 0x9a0]
push eax
push ecx
mov esi, esp
push str.OSName
call ebx
mov dword [esi], eax
test eax, eax
jne 0x100048b2
push 0x8007000e
call fcn.10001230
push edi
lea eax, [ebp - 0x97c]
push eax
call fcn.10005990
mov eax, dword [section..data]
mov ecx, section..data
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x9bc], eax
mov byte [ebp - 4], 0xb
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push 0
push eax
call dword [sym.imp.USER32.dll_GetGuiResources]
push eax
lea eax, [ebp - 0x9bc]
push 0x100107a8
push eax
call fcn.1000a6a0
add esp, 0xc
lea eax, [ebp - 0x9bc]
push eax
push ecx
mov esi, esp
push str.GDICount
call ebx
mov dword [esi], eax
test eax, eax
jne 0x1000491e
push 0x8007000e
call fcn.10001230
push edi
lea eax, [ebp - 0x97c]
push eax
call fcn.10005990
mov eax, dword [section..data]
mov ecx, section..data
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x9b4], eax
mov byte [ebp - 4], 0xc
call fcn.1000c140
shrd eax, edx, 0x14
sar edx, 0x14
push edx
push eax
lea eax, [ebp - 0x9b4]
push str._I64d_MB
push eax
call fcn.1000a6a0
add esp, 0x10
lea eax, [ebp - 0x9b4]
push eax
push ecx
mov esi, esp
push str.VMSize
call ebx
mov dword [esi], eax
test eax, eax
jne 0x10004988
push 0x8007000e
call fcn.10001230
push edi
lea eax, [ebp - 0x97c]
push eax
call fcn.10005990
mov eax, dword [section..data]
mov ecx, section..data
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x9b0], eax
push 0x3c
lea eax, [ebp - 0x45c]
push 0
push eax
mov byte [ebp - 4], 0xd
call sub.MSVCR110.dll_memset
add esp, 0xc
lea eax, [ebp - 0x460]
push eax
mov dword [ebp - 0x460], 0x40
call dword [sym.imp.KERNEL32.dll_GlobalMemoryStatusEx]
test eax, eax
je 0x100049eb
mov ecx, dword [ebp - 0x458]
mov eax, dword [ebp - 0x454]
jmp 0x10004a02
xorps xmm0, xmm0
movlpd qword [ebp - 0x9f0], xmm0
mov eax, dword [ebp - 0x9ec]
mov ecx, dword [ebp - 0x9f0]
shrd ecx, eax, 0x14
sar eax, 0x14
push eax
push ecx
lea eax, [ebp - 0x9b0]
push str._I64d_MB
push eax
call fcn.1000a6a0
add esp, 0x10
lea eax, [ebp - 0x9b0]
push eax
push ecx
mov esi, esp
push str.RAMSize
call ebx
mov dword [esi], eax
test eax, eax
jne 0x10004a40
push 0x8007000e
call fcn.10001230
push edi
lea eax, [ebp - 0x97c]
push eax
call fcn.10005990
mov dword [ebp - 0x9e8], 0
mov dword [ebp - 0x9e4], 0
mov dword [ebp - 0x9e0], 0
mov dword [ebp - 0x9dc], 0
mov dword [ebp - 0x9d8], 0
mov dword [ebp - 0x9d4], 0
lea edx, [ebp - 0x9dc]
lea ecx, [ebp - 0x9e8]
mov byte [ebp - 4], 0xf
call fcn.1000c540
mov eax, dword [ebp - 0x9e4]
mov edx, dword [ebp - 0x9e8]
sub eax, edx
sar eax, 2
mov dword [ebp - 0x984], 0
mov dword [ebp - 0x994], eax
test eax, eax
jle 0x10004c11
mov ecx, dword [ebp - 0x9dc]
mov eax, edx
sub eax, ecx
mov dword [ebp - 0x990], ecx
mov dword [ebp - 0x98c], eax
lea ecx, [ecx]
push ecx
mov esi, esp
push str.VGAName
call ebx
mov dword [esi], eax
test eax, eax
je 0x10004385
push edi
lea ecx, [ebp - 0x97c]
call fcn.1000d200
mov edi, eax
mov dword [ebp - 0x974], edi
test edi, edi
je 0x10004b12
mov ecx, dword [edi]
push edi
call dword [ecx + 4]
mov byte [ebp - 4], 0x10
test edi, edi
je 0x10004b41
mov ecx, dword [ebp - 0x978]
test ecx, ecx
je 0x10004b34
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [ebp - 0x978], 0
mov eax, dword [edi]
lea ecx, [ebp - 0x978]
push ecx
push edi
call dword [eax + 0x44]
mov eax, dword [ebp - 0x994]
cmp eax, dword [ebp - 0x984]
jbe 0x10004d94
mov ecx, dword [ebp - 0x98c]
mov eax, dword [ebp - 0x990]
push dword [ecx + eax]
push ecx
mov esi, esp
push str.Value
call ebx
mov dword [esi], eax
test eax, eax
je 0x10004385
lea ecx, [ebp - 0x97c]
call fcn.1000d5a0
mov eax, dword [ebp - 0x9d8]
sub eax, dword [ebp - 0x9dc]
sar eax, 2
cmp eax, dword [ebp - 0x984]
jbe 0x10004d94
mov eax, dword [ebp - 0x990]
push dword [eax]
push ecx
mov esi, esp
push str.DriverVersion
call ebx
mov dword [esi], eax
test eax, eax
je 0x10004385
lea ecx, [ebp - 0x97c]
call fcn.1000d5a0
mov ecx, dword [ebp - 0x978]
test ecx, ecx
je 0x10004bdd
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [ebp - 0x978], 0
mov byte [ebp - 4], 0xf
test edi, edi
je 0x10004beb
mov eax, dword [edi]
push edi
call dword [eax + 8]
mov eax, dword [ebp - 0x984]
add dword [ebp - 0x990], 4
mov edi, dword [ebp - 0x998]
inc eax
mov dword [ebp - 0x984], eax
cmp eax, dword [ebp - 0x994]
jl 0x10004ae0
mov dword [ebp - 0x9d0], 0
mov dword [ebp - 0x9cc], 0
mov dword [ebp - 0x9c8], 0
lea ecx, [ebp - 0x9d0]
mov byte [ebp - 4], 0x11
call fcn.1000ca50
mov eax, dword [ebp - 0x9cc]
sub eax, dword [ebp - 0x9d0]
mov dword [ebp - 0x984], 0
sar eax, 2
mov dword [ebp - 0x994], eax
test eax, eax
jle 0x10004d47
push ecx
mov esi, esp
push str.CPUName
call ebx
mov dword [esi], eax
test eax, eax
je 0x10004385
push edi
lea ecx, [ebp - 0x97c]
call fcn.1000d200
mov edi, eax
mov dword [ebp - 0x974], edi
test edi, edi
je 0x10004c97
mov ecx, dword [edi]
push edi
call dword [ecx + 4]
mov byte [ebp - 4], 0x12
test edi, edi
je 0x10004cc6
mov ecx, dword [ebp - 0x978]
test ecx, ecx
je 0x10004cb9
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [ebp - 0x978], 0
mov eax, dword [edi]
lea ecx, [ebp - 0x978]
push ecx
push edi
call dword [eax + 0x44]
mov eax, dword [ebp - 0x984]
cmp dword [ebp - 0x994], eax
jbe 0x10004d94
mov ecx, dword [ebp - 0x9d0]
push dword [ecx + eax*4]
push ecx
mov esi, esp
push str.Value
call ebx
mov dword [esi], eax
test eax, eax
je 0x10004385
lea ecx, [ebp - 0x97c]
call fcn.1000d5a0
mov ecx, dword [ebp - 0x978]
test ecx, ecx
je 0x10004d1a
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [ebp - 0x978], 0
mov byte [ebp - 4], 0x11
test edi, edi
je 0x10004d28
mov eax, dword [edi]
push edi
call dword [eax + 8]
mov eax, dword [ebp - 0x984]
mov edi, dword [ebp - 0x998]
inc eax
mov dword [ebp - 0x984], eax
cmp eax, dword [ebp - 0x994]
jl 0x10004c65
mov eax, dword [section..data]
mov esi, dword [ebp - 0x980]
mov ecx, section..data
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x984], eax
mov byte [ebp - 4], 0x13
add esi, 0x210
je 0x10004db5
test esi, 0xffff0000
jne 0x10004d9f
movzx esi, si
mov ecx, esi
call fcn.10001360
test eax, eax
je 0x10004dc4
push esi
push eax
lea ecx, [ebp - 0x984]
call fcn.10009e00
jmp 0x10004dc4
push str.invalid_vector_T__subscript
call dword [sym.imp.MSVCP110.dll_void___cdecl_std::_Xout_of_range_char_const__]
mov ecx, esi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x10004da4
sub ecx, edx
sar ecx, 1
jmp 0x10004db7
xor ecx, ecx
push ecx
push esi
lea ecx, [ebp - 0x984]
call fcn.100099b0
lea eax, [ebp - 0x984]
push eax
push ecx
mov esi, esp
push str.ModName
mov byte [ebp - 4], 0x14
call ebx
mov dword [esi], eax
test eax, eax
jne 0x10004de9
push 0x8007000e
call fcn.10001230
mov edi, dword [ebp - 0x998]
push edi
lea eax, [ebp - 0x97c]
push eax
call fcn.10005990
mov byte [ebp - 4], 0x11
mov edx, dword [ebp - 0x984]
add edx, 0xfffffff0
or ecx, 0xffffffff
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x10004e20
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [ebp - 0x980]
add eax, 0x440
push eax
push ecx
mov esi, esp
push str.ModVersion
call ebx
mov dword [esi], eax
test eax, eax
jne 0x10004e46
push 0x8007000e
call fcn.10001230
push edi
lea eax, [ebp - 0x97c]
push eax
call fcn.10005990
mov ecx, dword [ebp - 0x980]
lea eax, [ecx + 0x444]
push eax
push ecx
mov esi, esp
push str.ExceptionCode
call ebx
mov dword [esi], eax
test eax, eax
jne 0x10004e7a
push 0x8007000e
call fcn.10001230
push edi
lea eax, [ebp - 0x97c]
push eax
call fcn.10005990
mov ecx, dword [ebp - 0x980]
lea eax, [ecx + 0x448]
push eax
push ecx
mov esi, esp
push str.Offset
call ebx
mov dword [esi], eax
test eax, eax
jne 0x10004eae
push 0x8007000e
call fcn.10001230
push edi
lea eax, [ebp - 0x97c]
push eax
call fcn.10005990
mov eax, dword [section..data]
mov ecx, section..data
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x994], eax
mov byte [ebp - 4], 0x15
call dword [sym.imp.MSVCR110.dll_clock]
mov ecx, dword [ebp - 0x980]
cdq
sub eax, dword [ecx + 0x1910]
push 0
sbb edx, dword [ecx + 0x1914]
push 0x3e8
push edx
push eax
call fcn.1000e710
push edx
push eax
lea eax, [ebp - 0x994]
push 0x100107a8
push eax
call fcn.1000a6a0
add esp, 0x10
lea eax, [ebp - 0x994]
push eax
push ecx
mov esi, esp
push str.SessionTime
call ebx
mov dword [esi], eax
test eax, eax
jne 0x10004f33
push 0x8007000e
call fcn.10001230
push edi
lea eax, [ebp - 0x97c]
push eax
call fcn.10005990
mov eax, dword [section..data]
mov ecx, section..data
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x9b8], eax
mov ecx, dword [ebp - 0x980]
mov byte [ebp - 4], 0x16
call fcn.10008610
push edx
push eax
lea eax, [ebp - 0x9b8]
push 0x100107a8
push eax
call fcn.1000a6a0
add esp, 0x10
lea eax, [ebp - 0x9b8]
push eax
push ecx
mov esi, esp
push str.MTBF
call ebx
mov dword [esi], eax
test eax, eax
jne 0x10004f9c
push 0x8007000e
call fcn.10001230
push edi
lea eax, [ebp - 0x97c]
push eax
call fcn.10005990
mov eax, dword [section..data]
mov ecx, section..data
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x9c0], eax
mov ecx, dword [ebp - 0x980]
mov byte [ebp - 4], 0x17
call fcn.100087c0
push eax
lea eax, [ebp - 0x9c0]
push 0x100107a8
push eax
call fcn.1000a6a0
add esp, 0xc
lea eax, [ebp - 0x9c0]
push eax
push ecx
mov esi, esp
push str.AbnormalTermCount
call ebx
mov dword [esi], eax
test eax, eax
jne 0x10005004
push 0x8007000e
call fcn.10001230
push edi
lea eax, [ebp - 0x97c]
push eax
call fcn.10005990
mov eax, dword [section..data]
mov ecx, section..data
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x9a4], eax
mov eax, dword [ebp - 0x980]
add eax, 0x1284
push eax
lea eax, [ebp - 0x9a4]
push 0x100118a0
push eax
mov byte [ebp - 4], 0x18
call fcn.1000a6a0
mov esi, dword [ebp - 0x9a4]
add esp, 0xc
mov edi, dword [esi - 0xc]
test edi, edi
jns 0x10005062
push 0x80070057
call fcn.10001230
mov eax, dword [esi - 8]
mov ecx, 1
sub ecx, dword [esi - 4]
sub eax, edi
or eax, ecx
jge 0x10005085
push edi
lea ecx, [ebp - 0x9a4]
call fcn.10009f30
mov esi, dword [ebp - 0x9a4]
lea eax, [edi + 1]
push eax
push esi
call dword [sym.imp.MSVCR110.dll__wcsupr_s]
add esp, 8
cmp edi, dword [esi - 8]
jg 0x10005058
xor eax, eax
mov dword [esi - 0xc], edi
mov word [esi + edi*2], ax
lea eax, [ebp - 0x9a4]
push eax
push ecx
mov edi, esp
push str.AppLanguage
call ebx
mov dword [edi], eax
test eax, eax
jne 0x100050c2
push 0x8007000e
call fcn.10001230
push dword [ebp - 0x998]
lea eax, [ebp - 0x97c]
push eax
call fcn.10005990
mov eax, dword [section..data]
mov ecx, section..data
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x9c4], eax
mov eax, dword [ebp - 0x980]
mov byte [ebp - 4], 0x19
mov edx, dword [eax + 0x192c]
lea edi, [eax + 0x44c]
mov ecx, edi
mov dword [ebp - 0x984], edx
lea eax, [ecx + 2]
mov dword [ebp - 0x98c], eax
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x10005111
sub ecx, dword [ebp - 0x98c]
sar ecx, 1
je 0x100051b6
push edi
mov edi, dword [sym.imp.MSVCR110.dll_wcscpy_s]
lea eax, [ebp - 0x96c]
push 0x200
push eax
mov dword [ebp - method.BaseReg.virtual_0], vtable.BaseReg.0
mov dword [ebp - 0x46c], SysReAllocString
call edi
add esp, 0xc
lea eax, [ebp - 0x56c]
push str.Boomerang_Force_Upload
push 0x80
push eax
call edi
add esp, 0xc
lea eax, [ebp - 0x464]
push eax
sub esp, 8
lea ecx, [ebp - 0x970]
mov dword [ebp - 0x468], 0
mov dword [ebp - 0x970], 0x10013284
mov dword [ebp - 0x464], 0
call fcn.1000ac90
test eax, eax
je 0x100051b0
xor edx, edx
cmp dword [ebp - 0x464], edx
setne dl
jmp 0x100051b6
mov edx, dword [ebp - 0x984]
push edx
lea eax, [ebp - 0x9c4]
push 0x100107a8
push eax
call fcn.1000a6a0
add esp, 0xc
lea eax, [ebp - 0x9c4]
push eax
push ecx
mov edi, esp
push str.ForceUpload
call ebx
mov dword [edi], eax
test eax, eax
jne 0x100051ec
push 0x8007000e
call fcn.10001230
push dword [ebp - 0x998]
lea eax, [ebp - 0x97c]
push eax
call fcn.10005990
mov eax, dword [section..data]
mov ecx, section..data
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x984], eax
mov byte [ebp - 4], 0x1a
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
push eax
lea eax, [ebp - 0x984]
push 0x100107a8
push eax
call fcn.1000a6a0
add esp, 0xc
lea eax, [ebp - 0x984]
push eax
push ecx
mov edi, esp
push str.ProcessID
call ebx
mov dword [edi], eax
test eax, eax
jne 0x10005254
push 0x8007000e
call fcn.10001230
push dword [ebp - 0x998]
lea eax, [ebp - 0x97c]
push eax
call fcn.10005990
mov eax, dword [section..data]
mov ecx, section..data
call dword [eax + 0xc]
lea ebx, [eax + 0x10]
mov dword [ebp - 0x9ec], ebx
mov byte [ebp - 4], 0x1b
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
push eax
lea eax, [ebp - 0x984]
push 0x100107a8
push eax
call fcn.1000a6a0
add esp, 0xc
lea eax, [ebp - 0x984]
push eax
push ecx
mov edi, esp
push str.ThreadID
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov dword [edi], eax
test eax, eax
jne 0x100052c0
push 0x8007000e
call fcn.10001230
push dword [ebp - 0x998]
lea eax, [ebp - 0x97c]
push eax
call fcn.10005990
lea eax, [ebp - 0x420]
push eax
lea ecx, [ebp - 0x97c]
call fcn.1000d0f0
mov eax, dword [section..data]
mov ecx, section..data
call dword [eax + 0xc]
lea edi, [eax + 0x10]
mov dword [ebp - 0x99c], edi
mov eax, str.CrashRpt.xml
mov byte [ebp - 4], 0x1c
test eax, 0xffff0000
jne 0x1000532d
movzx ecx, ax
call fcn.10001360
test eax, eax
je 0x10005345
mov edx, str.CrashRpt.xml
movzx ecx, dx
push ecx
push eax
lea ecx, [ebp - 0x99c]
call fcn.10009e00
jmp 0x1000533f
push 0xc
push str.CrashRpt.xml
lea ecx, [ebp - 0x99c]
call fcn.100099b0
mov edi, dword [ebp - 0x99c]
mov edx, dword [ebp - 0x980]
add edx, 0x418
mov byte [ebp - 4], 0x1d
mov ecx, dword [edx + 4]
lea eax, [ebp - 0x99c]
mov dword [ebp - 0x990], edx
cmp eax, ecx
jae 0x10005505
mov eax, dword [edx]
lea esi, [ebp - 0x99c]
cmp eax, esi
mov esi, dword [ebp - 0x9a4]
mov dword [ebp - 0x98c], eax
ja 0x10005505
lea eax, [ebp - 0x99c]
sub eax, dword [edx]
sar eax, 2
mov dword [ebp - 0x974], eax
mov eax, dword [edx + 8]
cmp ecx, eax
jne 0x10005419
sub eax, ecx
sar eax, 2
cmp eax, 1
jae 0x10005419
sub ecx, dword [edx]
mov eax, 0x3fffffff
sar ecx, 2
sub eax, ecx
cmp eax, 1
jae 0x100053c6
push str.vector_T__too_long
call dword [sym.imp.MSVCP110.dll_void___cdecl_std::_Xlength_error_char_const__]
lea eax, [ecx + 1]
mov dword [ebp - 0x988], eax
mov eax, dword [edx + 8]
sub eax, dword [ebp - 0x98c]
sar eax, 2
mov ecx, eax
shr ecx, 1
mov dword [ebp - 0x980], ecx
mov ecx, 0x3fffffff
sub ecx, dword [ebp - 0x980]
cmp ecx, eax
jae 0x100053f8
xor eax, eax
jmp 0x100053fe
add eax, dword [ebp - 0x980]
cmp eax, dword [ebp - 0x988]
mov ecx, edx
cmovb eax, dword [ebp - 0x988]
push eax
call fcn.10009bf0
mov edx, dword [ebp - 0x990]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x974]
lea ecx, [eax + ecx*4]
mov eax, dword [edx + 4]
mov dword [ebp - 0x988], eax
mov byte [ebp - 4], 0x1e
test eax, eax
je 0x100054fc
mov eax, dword [ecx]
mov ecx, dword [eax - 0x10]
sub eax, 0x10
mov dword [ebp - 0x980], eax
mov eax, dword [ecx]
call dword [eax + 0x10]
mov ecx, dword [ebp - 0x980]
mov edx, eax
cmp dword [ecx + 0xc], 0
lea eax, [ecx + 0xc]
mov dword [ebp - 0x974], eax
jl 0x10005493
cmp edx, dword [ecx]
jne 0x10005493
mov eax, ecx
mov ecx, dword [ebp - 0x974]
mov edx, 1
lock xadd dword [ecx], edx
inc edx
mov ecx, dword [ebp - 0x988]
mov edx, dword [ebp - 0x990]
add eax, 0x10
mov dword [ecx], eax
add dword [edx + 4], 4
jmp 0x10005636
mov eax, dword [edx]
push 2
push dword [ecx + 4]
mov ecx, edx
call dword [eax]
mov ecx, eax
mov dword [ebp - 0x98c], ecx
test ecx, ecx
jne 0x100054af
call fcn.10009a70
mov edx, dword [ebp - 0x980]
mov eax, dword [edx + 4]
mov dword [ecx + 4], eax
mov ecx, dword [edx + 4]
lea eax, [ecx*2 + 2]
push eax
lea eax, [edx + 0x10]
push eax
lea eax, [ecx*2 + 2]
push eax
mov eax, dword [ebp - 0x98c]
add eax, 0x10
push eax
call dword [sym.imp.MSVCR110.dll_memcpy_s]
mov eax, dword [ebp - 0x98c]
mov ecx, dword [ebp - 0x988]
mov edx, dword [ebp - 0x990]
add esp, 0x10
add eax, 0x10
mov dword [ecx], eax
add dword [edx + 4], 4
jmp 0x10005636
mov edx, dword [edx + 8]
cmp ecx, edx
jne 0x10005584
mov eax, edx
sub eax, ecx
sar eax, 2
cmp eax, 1
jae 0x10005584
mov eax, dword [ebp - 0x980]
mov eax, dword [eax + 0x418]
sub ecx, eax
mov dword [ebp - 0x974], eax
sar ecx, 2
mov eax, 0x3fffffff
sub eax, ecx
cmp eax, 1
jae 0x10005546
push str.vector_T__too_long
call dword [sym.imp.MSVCP110.dll_void___cdecl_std::_Xlength_error_char_const__]
sub edx, dword [ebp - 0x974]
inc ecx
sar edx, 2
mov dword [ebp - 0x988], ecx
mov ecx, edx
shr ecx, 1
mov eax, 0x3fffffff
sub eax, ecx
cmp eax, edx
jae 0x10005569
xor edx, edx
jmp 0x1000556b
add edx, ecx
cmp edx, dword [ebp - 0x988]
mov ecx, dword [ebp - 0x990]
cmovb edx, dword [ebp - 0x988]
push edx
call fcn.10009bf0
mov eax, dword [ebp - 0x990]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x988], ecx
mov byte [ebp - 4], 0x1f
test ecx, ecx
je 0x10005632
mov ecx, dword [edi - 0x10]
mov eax, dword [ecx]
call dword [eax + 0x10]
cmp dword [edi - 4], 0
mov edx, eax
lea eax, [edi - 4]
mov dword [ebp - 0x974], eax
jl 0x100055d2
cmp edx, dword [edi - 0x10]
jne 0x100055d2
mov ecx, dword [ebp - 0x974]
lea eax, [edi - 0x10]
mov edx, 1
lock xadd dword [ecx], edx
inc edx
jmp 0x10005621
mov eax, dword [edx]
push 2
push dword [edi - 0xc]
mov ecx, edx
call dword [eax]
mov ecx, eax
mov dword [ebp - 0x98c], ecx
test ecx, ecx
jne 0x100055ee
call fcn.10009a70
mov eax, dword [edi - 0xc]
mov dword [ecx + 4], eax
mov ecx, dword [edi - 0xc]
lea eax, [ecx*2 + 2]
push eax
lea eax, [ecx*2 + 2]
push edi
push eax
mov eax, dword [ebp - 0x98c]
add eax, 0x10
push eax
call dword [sym.imp.MSVCR110.dll_memcpy_s]
mov eax, dword [ebp - 0x98c]
add esp, 0x10
mov ecx, dword [ebp - 0x988]
add eax, 0x10
mov dword [ecx], eax
mov eax, dword [ebp - 0x990]
add dword [eax + 4], 4
lea edx, [edi - 0x10]
or edi, 0xffffffff
mov byte [ebp - 4], 0x1b
lea eax, [edx + 0xc]
mov ecx, edi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x10005656
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
add ebx, 0xfffffff0
mov byte [ebp - 4], 0x1a
lea eax, [ebx + 0xc]
mov ecx, edi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x10005673
mov ecx, dword [ebx]
push ebx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x19
mov edx, dword [ebp - 0x984]
add edx, 0xfffffff0
mov ecx, edi
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x10005696
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x18
mov edx, dword [ebp - 0x9c4]
add edx, 0xfffffff0
mov ecx, edi
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x100056b9
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
add esi, 0xfffffff0
mov byte [ebp - 4], 0x17
lea eax, [esi + 0xc]
mov ecx, edi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x100056d6
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x16
mov edx, dword [ebp - 0x9c0]
add edx, 0xfffffff0
mov ecx, edi
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x100056f9
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x15
mov edx, dword [ebp - 0x9b8]
add edx, 0xfffffff0
mov ecx, edi
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x1000571c
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x11
mov edx, dword [ebp - 0x994]
add edx, 0xfffffff0
mov ecx, edi
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x1000573f
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xf
mov eax, dword [ebp - 0x9d0]
mov ebx, dword [sym.imp.MSVCR110.dll_void___cdecl_operator_delete_void__]
test eax, eax
je 0x10005792
mov esi, eax
cmp eax, dword [ebp - 0x9cc]
je 0x1000578c
lea ecx, [ecx]
mov edx, dword [esi]
sub edx, 0x10
mov ecx, edi
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x1000577b
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
add esi, 4
cmp esi, dword [ebp - 0x9cc]
jne 0x10005760
mov eax, dword [ebp - 0x9d0]
push eax
call ebx
add esp, 4
mov byte [ebp - 4], 0xe
mov eax, dword [ebp - 0x9dc]
test eax, eax
je 0x100057e2
mov esi, eax
cmp eax, dword [ebp - 0x9d8]
je 0x100057dc
lea ebx, [ebx]
mov edx, dword [esi]
sub edx, 0x10
mov ecx, edi
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x100057cb
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
add esi, 4
cmp esi, dword [ebp - 0x9d8]
jne 0x100057b0
mov eax, dword [ebp - 0x9dc]
push eax
call ebx
add esp, 4
mov byte [ebp - 4], 0xd
mov eax, dword [ebp - 0x9e8]
test eax, eax
je 0x10005832
mov esi, eax
cmp eax, dword [ebp - 0x9e4]
je 0x1000582c
lea ebx, [ebx]
mov edx, dword [esi]
sub edx, 0x10
mov ecx, edi
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x1000581b
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
add esi, 4
cmp esi, dword [ebp - 0x9e4]
jne 0x10005800
mov eax, dword [ebp - 0x9e8]
push eax
call ebx
add esp, 4
mov byte [ebp - 4], 0xc
mov edx, dword [ebp - 0x9b0]
add edx, 0xfffffff0
mov ecx, edi
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x10005855
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xb
mov edx, dword [ebp - 0x9b4]
add edx, 0xfffffff0
mov ecx, edi
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x10005878
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xa
mov edx, dword [ebp - 0x9bc]
add edx, 0xfffffff0
mov ecx, edi
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x1000589b
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 9
mov edx, dword [ebp - 0x9a0]
add edx, 0xfffffff0
mov ecx, edi
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x100058be
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 2
mov edx, dword [ebp - 0x9ac]
add edx, 0xfffffff0
mov ecx, edi
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x100058e1
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 1
mov edx, dword [ebp - 0x9a8]
add edx, 0xfffffff0
lea eax, [edx + 0xc]
lock xadd dword [eax], edi
dec edi
test edi, edi
jg 0x10005902
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0
mov ecx, dword [ebp - 0x998]
test ecx, ecx
je 0x10005916
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x978]
test ecx, ecx
je 0x10005937
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [ebp - 0x978], 0
mov ecx, dword [ebp - 0x97c]
test ecx, ecx
je 0x10005951
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [ebp - 0x97c], 0
call dword [sym.imp.ole32.dll_CoUninitialize]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.1000d9da
mov esp, ebp
pop ebp
ret