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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xd0
mov eax, dword [0x490270]
xor eax, esp
mov dword [esp + 0xcc], eax
push esi
push edi
lea esi, [ebp + 8]
mov dword [esp + 0xc], ecx
lea edi, [esp + 0x98]
mov dword [esp + 0x10], 0x4391f4
movsd dword es:[edi], dword [esi]
lea eax, [esp + 0x10]
push eax
push str.HeartbeatAdapter::FShouldActivate
push 0x32
movsd dword es:[edi], dword [esi]
mov ecx, 0x7a05cd
push 0x2d
pop edx
mov dword [esp + 0x20], str.Information
movsd dword es:[edi], dword [esi]
mov dword [esp + 0x24], str.Entering
movsd dword es:[edi], dword [esi]
mov esi, dword [ebp + 0x1c]
call fcn.0040a95e
test esi, esi
je 0x4263da
push 0xa
pop ecx
lea edi, [esp + 0x50]
mov edx, 0x5460
rep movsd dword es:[edi], dword [esi]
jmp 0x42640b
mov ecx, dword [esp + 0xc]
lea edx, [esp + 0xa8]
push edx
mov ecx, dword [ecx + 8]
mov eax, dword [ecx]
call dword [eax + 0x50]
mov esi, eax
lea edi, [esp + 0x50]
mov eax, dword [esp + 0xc]
push 0xa
pop ecx
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [eax + 8]
mov eax, dword [ecx]
call dword [eax + 0x4c]
mov edx, dword [eax + 0x2f8]
xor eax, eax
xor esi, esi
inc esi
movzx ecx, al
cmp dword [esp + 0x60], esi
push eax
mov dword [esp + 0x28], eax
cmove ecx, esi
cmp dword [esp + 0x68], edx
mov dword [esp + 0x2c], eax
lea eax, [esp + 0x28]
push eax
lea eax, [esp + 0xa0]
mov dword [esp + 0x14], ecx
push eax
setb byte [esp + 0x15]
call dword [sym.imp.webservices.dll_WsDateTimeToFileTime]
mov eax, dword [0x438c50]
mov ecx, dword [0x438c54]
cmp dword [esp + 0x24], eax
jne 0x426463
cmp dword [esp + 0x28], ecx
jne 0x426463
xor edx, edx
inc edx
xor eax, eax
mov ecx, edx
jmp 0x42646a
xor eax, eax
xor edx, edx
mov ecx, eax
inc edx
test cl, cl
je 0x426488
mov ecx, dword [esp + 0xc]
test cl, cl
je 0x426481
cmp byte [esp + 9], 0
je 0x4266a9
mov eax, edx
jmp 0x4266a9
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], eax
lea eax, [esp + 0x1c]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemTimeAsFileTime]
mov eax, dword [esp + 0x64]
xor edx, edx
push 0x3c
pop ecx
div ecx
push 0x18
pop ecx
xor edx, edx
div ecx
push 0xc9
cdq
push 0x2a69c000
push edx
push eax
call fcn.004319bf
add dword [esp + 0x1c], eax
lea edi, [esp + 0x78]
adc dword [esp + 0x20], edx
xor eax, eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
lea eax, [esp + 0x78]
push eax
lea eax, [esp + 0x20]
push eax
call dword [sym.imp.KERNEL32.dll_FileTimeToSystemTime]
mov esi, dword [sym.imp.OLEAUT32.dll_VariantTimeToSystemTime]
lea eax, [esp + 0x40]
push eax
lea eax, [esp + 0x7c]
xorps xmm0, xmm0
push eax
movsd qword [esp + 0x48], xmm0
call esi
xor eax, eax
lea edi, [esp + 0x88]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
lea eax, [esp + 0x88]
push eax
lea eax, [esp + 0x28]
push eax
call dword [sym.imp.KERNEL32.dll_FileTimeToSystemTime]
lea eax, [esp + 0x48]
xorps xmm0, xmm0
push eax
lea eax, [esp + 0x8c]
movsd qword [esp + 0x4c], xmm0
push eax
call esi
movsd xmm0, qword [esp + 0x40]
subsd xmm0, qword [esp + 0x48]
andps xmm0, xmmword [0x488e70]
comisd xmm0, xmmword [0x488e40]
seta byte [esp + 0xb]
xor eax, eax
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], eax
lea eax, [esp + 0x38]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemTimeAsFileTime]
mov esi, dword [sym.imp.Mso20Win32Client.dll_Ordinal_855]
lea eax, [esp + 0x1c]
push eax
lea eax, [esp + 0x28]
push eax
call esi
cmp eax, 0xffffffff
lea eax, [esp + 0x38]
push eax
sete byte [esp + 0xe]
lea eax, [esp + 0x28]
push eax
call esi
mov ecx, dword [esp + 0xc]
test eax, eax
setg al
cmp byte [esp + 0xa], 0
je 0x426601
test cl, cl
je 0x426601
cmp dword [ebp + 0x18], 2
je 0x42665d
lea ecx, [esp + 0x10]
mov dword [esp + 0x10], 0x4394e4
push ecx
lea ecx, [esp + 0x30]
mov dword [esp + 0x18], str.Return
push ecx
xor eax, eax
mov dword [esp + 0x34], 0x4391f4
push str.HeartbeatAdapter::FShouldActivate
inc eax
mov dword [esp + 0x3c], str.Information
push ecx
mov byte [esp + 0x28], al
mov ecx, 0x7a05ce
mov dword [esp + 0x44], str.Activation_required_based_on_AVS_OLS_out_of_sync
push 0x2d
pop edx
call fcn.00409a2d
xor eax, eax
inc eax
jmp 0x4266a9
test al, al
je 0x42665d
test cl, cl
je 0x426617
cmp byte [esp + 9], 0
je 0x42665d
cmp byte [esp + 0xb], 0
je 0x42665d
xor eax, eax
mov dword [esp + 0x2c], 0x4394e4
inc eax
mov dword [esp + 0x30], str.Return
mov byte [esp + 0x34], al
lea eax, [esp + 0x2c]
push eax
lea eax, [esp + 0x14]
mov dword [esp + 0x14], 0x4391f4
push eax
push str.HeartbeatAdapter::FShouldActivate
push ecx
mov dword [esp + 0x24], str.Information
mov ecx, 0x7a05cf
mov dword [esp + 0x28], str.Activation_required_based_on_SPP
jmp 0x4265f1
lea eax, [esp + 0x2c]
mov dword [esp + 0x2c], 0x4394e4
push eax
lea eax, [esp + 0x14]
mov dword [esp + 0x34], str.Return
push eax
push str.HeartbeatAdapter::FShouldActivate
push ecx
push 0x2d
pop edx
mov ecx, 0x7a05d0
mov byte [esp + 0x44], 0
mov dword [esp + 0x20], 0x4391f4
mov dword [esp + 0x24], str.Information
mov dword [esp + 0x28], str.Exiting
call fcn.00409a2d
xor eax, eax
mov ecx, dword [esp + 0xd4]
pop edi
pop esi
xor ecx, esp
call fcn.00430c8a
mov esp, ebp
pop ebp
ret 0x18