Function at 0x4230c0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x43f7f8
mov eax, dword fs:[0]
push eax
sub esp, 0x64
mov eax, dword [0x44e2d0]
xor eax, esp
mov dword [esp + 0x60], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x44e2d0]
xor eax, esp
push eax
lea eax, [esp + 0x78]
mov dword fs:[0], eax
mov edi, edx
xor ebp, ebp
mov eax, ecx
mov dword [esp + 0x2c], edi
mov dword [esp + 0x70], 0xf
mov dword [esp + 0x6c], ebp
mov byte [esp + 0x5c], 0
lea esi, [eax + 1]
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x423110
sub eax, esi
push eax
push ecx
lea ecx, [esp + 0x60]
call fcn.004060e0
mov dword [esp + 0x80], ebp
cmp dword [edi + 8], ebp
mov dword [esp + 0x20], 0x80004005
je 0x4231fc
cmp dword [esp + 0x70], 0x10
mov eax, dword [esp + 0x5c]
jae 0x42314d
lea eax, [esp + 0x5c]
mov ecx, dword [esp + 0x6c]
push ecx
push eax
call dword [sym.imp.OLEAUT32.dll_DllRegisterServer]
mov dword [esp + 0x24], eax
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp dword [edi + 0x84], eax
je 0x4231d8
push ebp
push ebp
call dword [sym.imp.ole32.dll_CoInitializeEx]
mov eax, dword [edi + 4]
lea edx, [esp + 0x28]
push edx
lea esi, [edi + 4]
push 0x44770c
push eax
mov dword [esp + 0x34], ebp
call dword [sym.imp.ole32.dll_CoGetInterfaceAndReleaseStream]
cmp eax, ebp
mov dword [esp + 0x20], eax
jl 0x4231c2
mov eax, dword [esp + 0x28]
mov ecx, dword [eax]
lea edx, [esp + 0x24]
push edx
push eax
mov eax, dword [ecx + 0x28]
call eax
mov ecx, dword [esp + 0x28]
push esi
push ecx
push 0x44770c
mov dword [esp + 0x2c], eax
call dword [sym.imp.ole32.dll_CoMarshalInterThreadInterfaceInStream]
cmp eax, ebp
jge 0x4231c2
mov dword [esi], ebp
call dword [sym.imp.ole32.dll_CoUninitialize]
mov eax, dword [esp + 0x24]
push eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
jmp 0x4232a6
mov eax, dword [edi + 8]
mov edx, dword [eax]
mov edx, dword [edx + 0x28]
lea ecx, [esp + 0x24]
push ecx
push eax
call edx
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x24]
push eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
jmp 0x4232a6
cmp dword [edi + 0x68], ebp
je 0x4232a6
lea ecx, [esp + 0x18]
lea esi, [edi + 0x1258]
push ecx
lea ebx, [esp + 0x5c]
call fcn.004259f0
mov edi, dword [esp + 0x18]
test edi, edi
mov ebx, dword [esi + 4]
je 0x423228
cmp edi, esi
je 0x42322d
call fcn.0042931e
cmp dword [esp + 0x1c], ebx
je 0x423251
test edi, edi
jne 0x42323c
call fcn.0042931e
mov edx, dword [esp + 0x1c]
cmp edx, dword [edi + 4]
jne 0x42324a
call fcn.0042931e
mov eax, dword [esp + 0x1c]
mov ebp, dword [eax + 0x28]
mov eax, dword [esp + 0x2c]
cmp dword [eax + 0x78], 0
mov ecx, dword [esp + 0x5c]
je 0x42327e
cmp dword [esp + 0x70], 0x10
jae 0x42326a
lea ecx, [esp + 0x5c]
mov eax, dword [eax + 0x68]
mov edx, dword [eax]
push ebp
push 1
push ecx
push eax
mov eax, dword [edx + 0x118]
call eax
jmp 0x423295
cmp dword [esp + 0x70], 0x10
jae 0x423289
lea ecx, [esp + 0x5c]
mov eax, dword [eax + 0x68]
mov edx, dword [eax]
push ecx
push eax
mov eax, dword [edx + 0x20]
call eax
mov dword [esp + 0x20], eax
lea eax, [esp + 0x58]
call fcn.00425980
mov edi, dword [esp + 0x2c]
lea eax, [edi + 0x123c]
mov dword [esp + 0x54], eax
add eax, 4
push eax
mov dword [esp + 0x54], vtable.fund::lock::scoped_lock_class_fund::lock::critical_section_.0
mov dword [esp + 0x2c], eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov byte [esp + 0x80], 1
mov eax, dword [edi + 0x11f0]
mov ebp, dword [eax]
add edi, 0x11ec
mov ebx, edi
mov dword [esp + 0x24], edi
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x18], ebx
lea ebx, [ebx]
test ebx, ebx
mov esi, dword [edi + 4]
je 0x4232fb
cmp ebx, edi
je 0x423300
call fcn.0042931e
cmp ebp, esi
je 0x42347f
test ebx, ebx
jne 0x423311
call fcn.0042931e
cmp ebp, dword [ebx + 4]
jne 0x42331b
call fcn.0042931e
lea ecx, [ebp + 0x14]
mov eax, ecx
mov dword [esp + 0x4c], 0xf
mov dword [esp + 0x48], 0
mov byte [esp + 0x38], 0
lea esi, [eax + 1]
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x423338
sub eax, esi
push eax
push ecx
lea ecx, [esp + 0x3c]
call fcn.004060e0
cmp dword [esp + 0x70], 0x10
mov ecx, dword [esp + 0x5c]
jae 0x42335d
lea ecx, [esp + 0x5c]
mov esi, dword [esp + 0x48]
mov ebx, dword [esp + 0x6c]
cmp esi, ebx
mov eax, esi
jb 0x42336d
mov eax, ebx
mov ebp, dword [esp + 0x4c]
cmp ebp, 0x10
mov edi, dword [esp + 0x38]
mov edx, edi
jae 0x423380
lea edx, [esp + 0x38]
call section..text
test eax, eax
jne 0x42339b
cmp esi, ebx
jae 0x423392
or eax, 0xffffffff
jmp 0x423399
xor eax, eax
cmp esi, ebx
setne al
test eax, eax
sete bl
cmp ebp, 0x10
mov byte [esp + 0x80], 1
jb 0x4233b4
push edi
call fcn.004293c2
add esp, 4
test bl, bl
jne 0x4233d2
lea esi, [esp + 0x18]
call fcn.00427520
mov edi, dword [esp + 0x24]
mov ebp, dword [esp + 0x1c]
mov ebx, dword [esp + 0x18]
jmp 0x4232f0
mov edi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
cmp edi, dword [ecx + 4]
jne 0x4233e4
call fcn.0042931e
mov esi, dword [esp + 0x2c]
mov ecx, dword [esi + 0x11fc]
mov eax, dword [ecx + 4]
add esi, 0x11f8
cmp byte [eax + 0x15], 0
mov ebx, ecx
jne 0x423416
mov ecx, dword [edi + 0x10]
cmp ecx, dword [eax + 0xc]
jae 0x42340d
mov ebx, eax
mov eax, dword [eax]
jmp 0x423410
mov eax, dword [eax + 8]
cmp byte [eax + 0x15], 0
je 0x423402
mov ebp, dword [esi + 4]
mov eax, dword [ebp + 4]
cmp byte [eax + 0x15], 0
jne 0x423439
mov ecx, dword [edi + 0x10]
cmp dword [eax + 0xc], ecx
jae 0x42342f
mov eax, dword [eax + 8]
jmp 0x423433
mov ebp, eax
mov eax, dword [eax]
cmp byte [eax + 0x15], 0
je 0x423425
mov dword [esp + 0x2c], 0
mov edx, dword [esp + 0x2c]
push edx
push ebx
push esi
push ebp
push esi
lea edi, [esp + 0x40]
call fcn.00412300
add esp, 0x14
push ebx
push esi
push ebp
push esi
lea eax, [esp + 0x3c]
push eax
mov edi, esi
call fcn.0040a010
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
push ecx
mov ecx, dword [esp + 0x28]
push edx
lea eax, [esp + 0x20]
push eax
push ecx
call fcn.004252f0
mov edx, dword [esp + 0x28]
push edx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
xor eax, eax
cmp dword [esp + 0x20], eax
setge al
cmp dword [esp + 0x70], 0x10
mov esi, eax
jb 0x4234a9
mov ecx, dword [esp + 0x5c]
push ecx
call fcn.004293c2
add esp, 4
mov eax, esi
mov ecx, dword [esp + 0x78]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x60]
xor ecx, esp
call fcn.0042877c
add esp, 0x70
ret