Function at 0x40cca0
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0xb8
push esi
xor esi, esi
push edi
mov dword [esp + 0x10], esi
mov dword [esp + 0x1c], esi
mov dword [esp + 0x18], esi
cmp dword [0x62b120], esi
je 0x40ceb6
cmp dword [0x62b124], esi
je 0x40ceb6
mov edi, dword [0x62b11c]
test edi, edi
je 0x40ceb6
push 0x30
xorps xmm0, xmm0
lea eax, [esp + 0x64]
push esi
movq qword [esp + 0x5c], xmm0
push eax
mov dword [esp + 0x60], 0x5ed7f4
call fcn.00587250
add esp, 0xc
mov dword [esp + 0x60], 0x30
lea eax, [esp + 0x18]
push eax
lea eax, [esp + 0x20]
push eax
lea eax, [esp + 0x18]
push eax
push esi
push 0x10040
push edi
call dword [sym.imp.CRYPT32.dll_CryptAcquireCertificatePrivateKey]
test eax, eax
je 0x40ce64
mov ecx, dword [0x62b11c]
mov eax, dword [esp + 0x10]
movq xmm0, qword [esp + 0x54]
mov dword [esp + 0x68], eax
mov eax, dword [ecx + 0xc]
mov dword [esp + 0x64], eax
movq qword [esp + 0x70], xmm0
mov dword [esp + 0x6c], 1
movaps xmm0, xmmword [esp + 0x60]
movaps xmmword [esp + 0x90], xmm0
mov dword [esp + 0x78], esi
mov dword [esp + 0x7c], esi
movaps xmm0, xmmword [esp + 0x70]
movaps xmmword [esp + 0xa0], xmm0
movaps xmm0, xmmword [esp + 0x80]
movaps xmmword [esp + 0xb0], xmm0
xorps xmm0, xmm0
mov eax, dword [ecx + 8]
mov ecx, dword [ecx + 4]
mov dword [esp + 0x4c], eax
lea eax, [esp + 0x90]
movaps xmmword [esp + 0x20], xmm0
push 0x90
mov dword [esp + 0x2c], eax
lea eax, [esp + 0x50]
push esi
movq qword [esp + 0x38], xmm0
mov dword [esp + 0x38], eax
lea eax, [esp + 0x28]
push eax
push 2
push esi
push 0x10001
mov dword [esp + 0x68], ecx
mov dword [esp + 0x38], 0x1c
mov dword [esp + 0x3c], 1
mov dword [esp + 0x44], 1
mov dword [esp + 0x50], esi
call dword [sym.imp.CRYPT32.dll_CryptMsgCalculateEncodedLength]
mov dword [esp + 0x14], eax
test eax, eax
je 0x40ce64
push eax
call fcn.0058db11
mov ecx, dword [ebp + 8]
add esp, 4
mov dword [ecx], eax
test eax, eax
je 0x40cec0
push esi
push esi
lea eax, [esp + 0x28]
push eax
push 2
push esi
push 0x10001
call dword [sym.imp.CRYPT32.dll_CryptMsgOpenToEncode]
push 1
push 0x90
mov edi, eax
push 0x62c420
push edi
call dword [sym.imp.CRYPT32.dll_CryptMsgUpdate]
test eax, eax
je 0x40ce55
lea eax, [esp + 0x14]
push eax
mov eax, dword [ebp + 8]
push dword [eax]
push esi
push 2
push edi
call dword [sym.imp.CRYPT32.dll_CryptMsgGetParam]
test eax, eax
cmovne esi, dword [esp + 0x14]
test edi, edi
je 0x40ce60
push edi
call dword [sym.imp.CRYPT32.dll_CryptMsgClose]
test esi, esi
jne 0x40ce7c
mov edi, dword [ebp + 8]
mov eax, dword [edi]
test eax, eax
je 0x40ce7c
push eax
call fcn.0058c812
add esp, 4
mov dword [edi], 0
cmp dword [esp + 0x18], 0
je 0x40ceac
mov eax, dword [esp + 0x10]
test eax, eax
je 0x40ceac
cmp dword [esp + 0x1c], 0xffffffff
jne 0x40cea3
push eax
call dword [sym.imp.ncrypt.dll_NCryptFreeObject]
mov eax, esi
pop edi
pop esi
mov esp, ebp
pop ebp
ret 4
push 0
push eax
call dword [sym.imp.ADVAPI32.dll_CryptReleaseContext]
mov eax, esi
pop edi
pop esi
mov esp, ebp
pop ebp
ret 4
pop edi
xor eax, eax
pop esi
mov esp, ebp
pop ebp
ret 4
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0xfe
push 0x18d
mov edx, 0x5ed80c
xor ecx, ecx
call fcn.004b4f80
add esp, 0xc
push 0x18d
push 0x5ed828
push 0x5ed844
call fcn.004010e0
add esp, 0xc
push 0xfe
call fcn.005885bd
int3