Function at 0x424060
Capabilities:
Encrypt data using rc4 via winapi
Encrypt or decrypt via wincrypt
Hash data via wincrypt
Hash data with md5
Initialize hashing via wincrypt

Disassembly:
sub esp, 0x14
push ebx
push ebp
push esi
mov esi, dword [sym.imp.ADVAPI32.dll_CryptAcquireContextW]
push edi
push 0xf0000000
push 1
xor ebp, ebp
push str.Microsoft_Enhanced_Cryptographic_Provider_v1.0
push ebp
lea eax, [esp + 0x28]
push eax
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x30], ebp
mov dword [esp + 0x28], ebp
call esi
test eax, eax
jne 0x4240dc
push 0xf0000008
push 1
push str.Microsoft_Enhanced_Cryptographic_Provider_v1.0
push ebp
lea ecx, [esp + 0x28]
push ecx
call esi
test eax, eax
jne 0x4240dc
mov edi, dword [sym.imp.KERNEL32.dll_GetLastError]
call edi
push eax
push str.TICKET:Error__lu__during_CryptAcquireContext_
push 0x31
push ecx
call fcn.0041ef10
add esp, 4
push eax
mov ebx, 0x2000002
mov ecx, str..Ticket.cpp
call fcn.0041f0d0
add esp, 0x10
jmp 0x4242a0
push str.TICKET:A_cryptographic_provider_has_been_acquired.
push 0x35
call fcn.0041ef10
push eax
mov ebx, 0x2000040
mov ecx, str..Ticket.cpp
call fcn.0041f0d0
mov eax, dword [esp + 0x24]
add esp, 0xc
lea edx, [esp + 0x14]
push edx
push ebp
push ebp
push 0x8003
push eax
call dword [sym.imp.ADVAPI32.dll_CryptCreateHash]
test eax, eax
je 0x424450
push str.TICKET:A_hash_object_has_been_created.
push 0x4b
call fcn.0041ef10
push eax
mov ecx, str..Ticket.cpp
call fcn.0041f0d0
add esp, 0xc
push ebp
push str.Error_verifying
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov ecx, dword [esp + 0x18]
push eax
push str.Error_verifying
push ecx
call dword [sym.imp.ADVAPI32.dll_CryptHashData]
test eax, eax
je 0x42441f
push str.TICKET:The_password_has_been_added_to_the_hash.
push 0x5b
call fcn.0041ef10
push eax
mov ecx, str..Ticket.cpp
call fcn.0041f0d0
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x24]
add esp, 0xc
lea edx, [esp + 0x1c]
push edx
push 0x800000
push eax
push 0x6801
push ecx
call dword [sym.imp.ADVAPI32.dll_CryptDeriveKey]
test eax, eax
je 0x4243ee
push str.TICKET:An_encryption_key_is_derived_from_the_password_hash.
push 0x6c
call fcn.0041ef10
push eax
mov ecx, str..Ticket.cpp
call fcn.0041f0d0
add esp, 0xc
push 0x10
call fcn.00453ad5
mov edi, dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
add esp, 4
cmp esi, ebp
je 0x4243c7
push str.TICKET:Memory_has_been_allocated_for_the_buffer.
push 0x90
call fcn.0041ef10
push eax
mov ecx, str..Ticket.cpp
call fcn.0041f0d0
add esp, 0xc
push 0x4b3520
mov dword [esp + 0x24], 8
call dword [sym.imp.KERNEL32.dll_GetSystemTime]
push 0x4b3518
push 0x4b3520
call dword [sym.imp.KERNEL32.dll_SystemTimeToFileTime]
push 8
push 0x4b3518
push 0x10
push esi
call fcn.004505a2
add esp, 0x10
cmp eax, ebp
je 0x42424b
push eax
push str.TICKET:error_memcpy__d_
push 0xa4
push ecx
call fcn.0041ef10
add esp, 4
push eax
mov ebx, 0x2000002
mov ecx, str..Ticket.cpp
call fcn.0041f0d0
add esp, 0x10
mov eax, dword [esp + 0x1c]
push 0x10
lea edx, [esp + 0x24]
push edx
push esi
push ebp
push 1
push ebp
push eax
call dword [sym.imp.ADVAPI32.dll_CryptEncrypt]
test eax, eax
jne 0x42439c
call edi
push eax
push str.TICKET:Error__lu__during_CryptEncrypt.
push 0xb2
push ecx
call fcn.0041ef10
add esp, 4
push eax
mov ebx, 0x2000002
mov ecx, str..Ticket.cpp
call fcn.0041f0d0
add esp, 0x10
cmp esi, ebp
je 0x4242a0
push esi
call fcn.004539ce
add esp, 4
mov eax, dword [esp + 0x14]
cmp eax, ebp
je 0x4242e0
push eax
call dword [sym.imp.ADVAPI32.dll_CryptDestroyHash]
test eax, eax
jne 0x4242dc
call edi
push eax
push str.TICKET:Error__lu__during_CryptDestroyHash.
push 0xca
push ecx
call fcn.0041ef10
add esp, 4
push eax
mov ebx, 0x2000002
mov ecx, str..Ticket.cpp
call fcn.0041f0d0
add esp, 0x10
mov dword [esp + 0x14], ebp
mov eax, dword [esp + 0x1c]
cmp eax, ebp
je 0x42431c
push eax
call dword [sym.imp.ADVAPI32.dll_CryptDestroyKey]
test eax, eax
jne 0x42431c
call edi
push eax
push str.TICKET:Error__lu__during_CryptDestroyKey_
push 0xd6
push ecx
call fcn.0041ef10
add esp, 4
push eax
mov ebx, 0x2000002
mov ecx, str..Ticket.cpp
call fcn.0041f0d0
add esp, 0x10
mov eax, dword [esp + 0x18]
cmp eax, ebp
je 0x424359
push ebp
push eax
call dword [sym.imp.ADVAPI32.dll_CryptReleaseContext]
test eax, eax
jne 0x424359
call edi
push eax
push str.TICKET:Error__lu__during_CryptReleaseContext_
push 0xe0
push ecx
call fcn.0041ef10
add esp, 4
push eax
mov ebx, 0x2000002
mov ecx, str..Ticket.cpp
call fcn.0041f0d0
add esp, 0x10
mov ecx, dword [0x4b3518]
mov edx, dword [0x4b351c]
push ecx
push edx
push str.TICKET:Origin__8X__8X
push 0xe4
call fcn.0041ef10
push eax
mov ebx, 0x2000040
mov ecx, str..Ticket.cpp
call fcn.0041f0d0
mov eax, dword [0x4b3510]
mov edx, dword [0x4b3514]
add esp, 0x14
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
ret
mov eax, dword [esp + 0x20]
cmp eax, 8
jne 0x4243b7
push eax
push esi
push eax
push 0x4b3510
call fcn.004505a2
jmp 0x424290
push eax
push str.Inconsistent_encrypted_block_size__lu_bytes_
push 0xb9
jmp 0x424277
push str.TICKET:Out_of_memory.
push 0x94
call fcn.0041ef10
push eax
mov ebx, 0x2000002
mov ecx, str..Ticket.cpp
call fcn.0041f0d0
add esp, 0xc
jmp 0x424293
mov edi, dword [sym.imp.KERNEL32.dll_GetLastError]
call edi
push eax
push str.TICKET:Error__lu__during_CryptDeriveKey_
push 0x70
push ecx
call fcn.0041ef10
add esp, 4
push eax
mov ebx, 0x2000002
mov ecx, str..Ticket.cpp
call fcn.0041f0d0
add esp, 0x10
jmp 0x4242a0
mov edi, dword [sym.imp.KERNEL32.dll_GetLastError]
call edi
push eax
push str.TICKET:Error__lu__during_CryptHashData.
push 0x5f
push ecx
call fcn.0041ef10
add esp, 4
push eax
mov ebx, 0x2000002
mov ecx, str..Ticket.cpp
call fcn.0041f0d0
add esp, 0x10
jmp 0x4242a0
mov edi, dword [sym.imp.KERNEL32.dll_GetLastError]
call edi
push eax
push str.TICKET:Error__lu__during_CryptCreateHash_
push 0x4f
push ecx
call fcn.0041ef10
add esp, 4
push eax
mov ebx, 0x2000002
mov ecx, str..Ticket.cpp
call fcn.0041f0d0
add esp, 0x10
jmp 0x4242a0