Function at 0x40eb30
Capabilities:
Create process on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x557aa8
mov eax, dword fs:[0]
push eax
sub esp, 0x2c4
mov eax, dword [0x5c1f64]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x264], ecx
lea ecx, [ebp - 0x28c]
call fcn.0041d7da
xorps xmm0, xmm0
mov dword [ebp - 4], 0
movlpd qword [ebp - 0x240], xmm0
movlpd qword [ebp - 0x238], xmm0
movlpd qword [ebp - 0x230], xmm0
call fcn.0041c899
xor ecx, ecx
mov edx, eax
test edx, edx
setne cl
test ecx, ecx
jne 0x40ebac
push 0x80004005
call fcn.004026e0
mov eax, dword [edx]
mov ecx, edx
mov eax, dword [eax + 0xc]
call eax
lea esi, [eax + 0x10]
mov dword [ebp - 0x254], esi
mov byte [ebp - 4], 1
call fcn.0041c899
xor ecx, ecx
mov edx, eax
test edx, edx
setne cl
test ecx, ecx
jne 0x40ebde
push 0x80004005
call fcn.004026e0
mov eax, dword [edx]
mov ecx, edx
mov eax, dword [eax + 0xc]
call eax
lea edi, [eax + 0x10]
mov dword [ebp - 0x248], edi
push 0x5cc5d0
lea ecx, [ebp - 0x260]
mov byte [ebp - 4], 2
mov dword [ebp - 0x258], 0
call fcn.00409c00
mov byte [ebp - 4], 3
lea ecx, [esi - 0x10]
mov eax, dword [ebp - 0x260]
or esi, 0xffffffff
mov dword [ebp - 0x24c], ecx
lea edx, [eax - 0x10]
mov dword [ebp - 0x244], edx
cmp edx, ecx
je 0x40eca5
add ecx, 0xc
mov dword [ebp - 0x25c], ecx
cmp dword [ecx], 0
jl 0x40ec90
mov eax, dword [ebp - 0x24c]
mov ecx, dword [edx]
cmp ecx, dword [eax]
mov eax, dword [ebp - 0x260]
jne 0x40ec90
push edx
call fcn.00409cb0
mov edx, dword [ebp - 0x25c]
add esp, 4
mov dword [ebp - 0x250], eax
mov ecx, esi
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x40ec85
mov eax, dword [ebp - 0x24c]
push eax
mov ecx, dword [eax]
mov edx, dword [ecx]
call dword [edx + 4]
mov eax, dword [ebp - 0x250]
add eax, 0x10
mov dword [ebp - 0x254], eax
jmp 0x40ec9f
push dword [eax - 0xc]
lea ecx, [ebp - 0x254]
push eax
call fcn.00409d90
mov edx, dword [ebp - 0x244]
mov byte [ebp - 4], 2
mov eax, esi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40ecbd
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push 0x59e7c0
lea ecx, [ebp - 0x24c]
call fcn.00409830
push 0x5cc5d0
lea ecx, [ebp - 0x244]
mov byte [ebp - 4], 4
call fcn.00409c00
lea eax, [ebp - 0x244]
mov byte [ebp - 4], 5
push eax
lea eax, [ebp - 0x24c]
push eax
lea eax, [ebp - 0x25c]
push eax
call fcn.00409100
add esp, 0xc
mov byte [ebp - 4], 6
add edi, 0xfffffff0
mov ecx, dword [eax]
lea edx, [ecx - 0x10]
cmp edx, edi
je 0x40ed63
cmp dword [edi + 0xc], 0
jl 0x40ed54
mov eax, dword [edx]
cmp eax, dword [edi]
jne 0x40ed54
push edx
call fcn.00409cb0
add esp, 4
mov dword [ebp - 0x250], eax
mov ecx, esi
lea edx, [edi + 0xc]
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x40ed49
mov ecx, dword [edi]
push edi
mov edx, dword [ecx]
call dword [edx + 4]
mov eax, dword [ebp - 0x250]
add eax, 0x10
mov dword [ebp - 0x248], eax
jmp 0x40ed63
push dword [ecx - 0xc]
push ecx
lea ecx, [ebp - 0x248]
call fcn.00409d90
mov byte [ebp - 4], 5
mov eax, esi
mov edx, dword [ebp - 0x25c]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40ed84
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 4
mov eax, esi
mov edx, dword [ebp - 0x244]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40eda5
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 2
mov eax, esi
mov edx, dword [ebp - 0x24c]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40edc6
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push 0xb
push str.MrMAPI.exe
lea ecx, [ebp - 0x254]
call fcn.0040a080
push 0xc
push str.MrMAPI.exe_
lea ecx, [ebp - 0x248]
call fcn.0040a080
mov esi, dword [ebp - 0x254]
lea eax, [ebp - 0x240]
push 0
push eax
push esi
call fcn.0041e44a
test eax, eax
je 0x40eeff
push dword [ebp - 0x264]
lea ecx, [ebp - 0x250]
call fcn.004098d0
push eax
lea eax, [ebp - 0x248]
mov byte [ebp - 4], 7
push eax
lea eax, [ebp - 0x244]
push eax
call fcn.00409100
mov byte [ebp - 4], 2
add esp, 0xc
mov edx, dword [ebp - 0x250]
or eax, 0xffffffff
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40ee55
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push 0x44
lea eax, [ebp - 0x2d0]
push 0
push eax
call fcn.00539550
add esp, 0xc
mov dword [ebp - 0x2d0], 0x44
lea eax, [ebp - 0x274]
xorps xmm0, xmm0
movups xmmword [ebp - 0x274], xmm0
push eax
lea eax, [ebp - 0x2d0]
push eax
push 0
push 0
push 0
push 0
push 0
push 0
push dword [ebp - 0x244]
push 0
call dword [sym.imp.KERNEL32.dll_CreateProcessW]
test eax, eax
je 0x40eebb
push 0x3e8
push dword [ebp - 0x274]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
jmp 0x40eec7
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x258], eax
push dword [ebp - 0x274]
mov edi, dword [sym.imp.KERNEL32.dll_CloseHandle]
call edi
push dword [ebp - 0x270]
call edi
mov edx, dword [ebp - 0x244]
or edi, 0xffffffff
add edx, 0xfffffff0
mov eax, edi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40ef2e
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
jmp 0x40ef2e
xor edx, edx
mov dword [ebp - 0x258], 2
mov ecx, str.WARNING:_MrMAPI.exe_not_in_the_same_directory_with_CalCheck.exe._Recurrence_data_will_not_be_parsed.
mov dword [0x5c2904], 0
call fcn.0040c770
xor edx, edx
mov ecx, str._________Please_place_MrMAPI.exe_in_the_same_directory_with_CalCheck.exe_to_get_additional_data.
call fcn.0040c770
or edi, 0xffffffff
mov byte [ebp - 4], 1
mov eax, edi
mov edx, dword [ebp - 0x248]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40ef4f
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0
add esi, 0xfffffff0
lock xadd dword [esi + 0xc], edi
dec edi
test edi, edi
jg 0x40ef68
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
lea ecx, [ebp - 0x28c]
call fcn.0041d7fe
mov eax, dword [ebp - 0x258]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00535f55
mov esp, ebp
pop ebp
ret