Function at 0x100354b0
Capabilities:
Access peb ldr_data
Get ntdll base address
Get process heap flags

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x10083b80
mov eax, dword fs:[0]
push eax
sub esp, 0x18
push ebx
push esi
push edi
mov eax, dword [section..data]
xor eax, esp
push eax
lea eax, [esp + 0x28]
mov dword fs:[0], eax
mov edi, ecx
mov dword [esp + 0x18], edi
push str.ResetCache
lea ecx, [esp + 0x14]
call fcn.10022bb0
mov dword [esp + 0x30], 0
mov edx, dword [esp + 0x10]
call fcn.100394f0
mov dword [esp + 0x30], 0xffffffff
or ebx, 0xffffffff
mov edx, dword [esp + 0x10]
mov eax, ebx
add edx, 0xfffffff0
lea ecx, [edx + 0xc]
lock xadd dword [ecx], eax
dec eax
test eax, eax
jg 0x10035529
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
cmp byte [edi], 0
jne 0x1003554d
mov ecx, edi
call fcn.100358a0
mov eax, 1
mov ecx, dword [esp + 0x28]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
call fcn.10021470
xor ecx, ecx
mov edx, eax
test edx, edx
setne cl
test ecx, ecx
jne 0x10035569
push 0x80004005
call fcn.10021340
mov eax, dword [edx]
mov ecx, edx
call dword [eax + 0xc]
add eax, 0x10
mov dword [esp + 0x1c], eax
mov dword [esp + 0x30], 1
lea ecx, [esp + 0x10]
push str.ResetCache:_requesting_through_IPC
mov dword [esp + 0x18], 0
call fcn.10022bb0
mov byte [esp + 0x30], 2
mov edx, dword [esp + 0x10]
call fcn.100394f0
mov byte [esp + 0x30], 1
mov ecx, ebx
mov edx, dword [esp + 0x10]
add edx, 0xfffffff0
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x100355c5
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push 0x1388
lea eax, [esp + 0x20]
push eax
lea eax, [esp + 0x1c]
push eax
push ecx
mov eax, esp
mov dword [esp + 0x20], esp
push dword [edi + 0x50]
push 0x10094e78
push eax
call fcn.1003a800
mov byte [esp + 0x4c], 3
add esp, 8
mov ecx, dword [0x100b2ce4]
mov esi, esp
lea ecx, [ecx - 0x10]
call fcn.100236e0
mov edx, 1
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0x44], 1
lea ecx, [edx + 9]
call fcn.10022720
mov esi, dword [esp + 0x28]
add esp, 0x14
mov dword [esp + 0x10], eax
push esi
push eax
lea eax, [esp + 0x1c]
push str.ResetCache:_IPC_result:_bOK_d__ErrCode_d
push eax
call fcn.1003a800
add esp, 0x10
mov byte [esp + 0x30], 4
mov edx, dword [esp + 0x14]
call fcn.100394f0
mov byte [esp + 0x30], 1
mov ecx, ebx
mov edx, dword [esp + 0x14]
add edx, 0xfffffff0
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x10035667
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
cmp dword [esp + 0x10], 0
je 0x1003567a
mov dword [esp + 0x14], 1
test esi, esi
je 0x10035682
mov dword [esp + 0x14], 0
add edi, 0x34
push edi
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov esi, dword [esp + 0x18]
mov eax, dword [esi + 0x2c]
lea ecx, [esi + 0x2c]
push dword [eax + 4]
call fcn.10037dd0
mov eax, dword [esi + 0x2c]
mov ecx, esi
mov dword [eax + 4], eax
mov eax, dword [esi + 0x2c]
mov dword [eax], eax
mov eax, dword [esi + 0x2c]
mov dword [eax + 8], eax
mov dword [esi + 0x30], 0
call fcn.100358a0
push edi
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov edi, dword [esp + 0x14]
mov ecx, str.failure
test edi, edi
mov eax, str.success
cmove eax, ecx
push eax
lea eax, [esp + 0x18]
push str.ResetCache:_out___s_
push eax
call fcn.1003a800
add esp, 0xc
mov byte [esp + 0x30], 5
mov edx, dword [esp + 0x14]
call fcn.100394f0
mov byte [esp + 0x30], 1
mov ecx, ebx
mov edx, dword [esp + 0x14]
add edx, 0xfffffff0
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x1003571a
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov dword [esp + 0x30], 0xffffffff
mov esi, dword [esp + 0x1c]
add esi, 0xfffffff0
lea eax, [esi + 0xc]
lock xadd dword [eax], ebx
dec ebx
test ebx, ebx
jg 0x1003573d
mov ecx, dword [esi]
push esi
mov edx, dword [ecx]
call dword [edx + 4]
mov eax, edi
mov ecx, dword [esp + 0x28]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret