Function at 0x1009cc40
Capabilities:
Encrypt data via sspi

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x44
mov edx, dword [esp + 0x5c]
mov esi, dword [esp + 0x58]
lea ecx, [esp + 0x14]
call fcn.100a1050
mov eax, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
cmp eax, 2
jne 0x1009cc73
mov dword [esi], ebx
mov dword [esi + 4], edi
jmp 0x1009cefe
test eax, eax
je 0x1009cdda
mov edx, dword [esp + 0x5c]
mov ebp, dword [edx + 0xf8]
mov esi, dword [edx + 0x108]
mov eax, ebp
xor eax, esi
or eax, dword [edx + 0xfc]
jne 0x1009ce28
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x20]
cmp eax, ecx
cmovb ecx, eax
lea ebp, [ecx + ebx]
mov dword [esp], ecx
add edi, ebp
sub edi, esi
jbe 0x1009ccfd
mov eax, dword [edx + 0x100]
sub eax, esi
cmp eax, edi
jb 0x1009cf08
mov ecx, dword [edx + 0x104]
cmp edi, 2
lea eax, [ecx + esi]
jb 0x1009ccf3
mov dword [esp + 4], ecx
lea ecx, [edi - 1]
push ecx
push 0
push eax
call sub.VCRUNTIME140.dll_memset
mov edx, dword [esp + 0x68]
add esp, 0xc
mov eax, dword [esp + 4]
lea esi, [esi + edi - 1]
add eax, esi
inc esi
mov byte [eax], 0
mov dword [edx + 0x108], esi
cmp ebp, ebx
jb 0x1009cf5b
cmp ebp, esi
ja 0x1009cf67
mov eax, dword [edx + 0x104]
mov esi, dword [esp]
add eax, ebx
push esi
push dword [esp + 0x64]
push eax
call sub.VCRUNTIME140.dll_memcpy
mov edx, dword [esp + 0x68]
add esp, 0xc
mov ecx, dword [edx + 0x108]
cmp ecx, ebx
jb 0x1009cf73
mov eax, ecx
sub eax, ebp
jb 0x1009cf7f
mov ecx, dword [edx + 0x104]
mov dword [esp + 0x14], ebx
mov dword [esp + 0x18], 7
mov dword [esp + 8], 0
mov dword [esp + 0xc], 4
add ebx, ecx
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x20], esi
mov dword [esp + 0x24], 1
add ebp, ecx
lea ecx, [esp + 8]
mov dword [esp + 0x28], ebx
mov dword [esp + 0x2c], eax
lea eax, [esp + 0x14]
mov dword [esp + 0x30], 6
mov dword [esp + 0x34], ebp
mov dword [esp + 0x38], 0
mov dword [esp + 0x3c], 0
mov dword [esp + 0x40], 0
mov dword [esp + 0x10], eax
lea eax, [edx + 0x128]
push 0
push ecx
push 0
push eax
mov edi, edx
call dword [sym.imp.secur32.dll_EncryptMessage]
test eax, eax
je 0x1009cde9
mov esi, dword [esp + 0x58]
mov dword [esi + 4], eax
mov dword [esi], 0
jmp 0x1009cefe
mov byte [esi], 0
mov dword [esi + 4], 0x80090317
jmp 0x1009cefe
mov eax, dword [esp + 0x20]
mov esi, dword [edi + 0x108]
mov edx, edi
add eax, dword [esp + 0x14]
add eax, dword [esp + 0x2c]
cmp esi, eax
jb 0x1009ce09
mov esi, eax
mov dword [edx + 0x108], eax
mov eax, dword [esp]
xor ebp, ebp
mov dword [edx + 0xfc], 0
mov dword [edx + 0xf8], 0
mov dword [edx + 0x158], eax
cmp esi, ebp
je 0x1009ced8
lea eax, [edx + 8]
lea ecx, [edx + 0xc]
mov dword [esp], eax
mov dword [esp + 4], ecx
nop dword [eax]
mov ecx, esi
sub ecx, ebp
jb 0x1009cf4f
mov eax, dword [edx + 0xc0]
test eax, eax
je 0x1009cf3e
mov edx, dword [edx + 0x104]
mov esi, dword [esp]
add edx, ebp
cmp dword [esi], 2
jne 0x1009ce80
push ecx
push edx
push eax
push dword [esp + 0x10]
lea eax, [esp + 0x18]
push eax
call fcn.10152f50
add esp, 0x14
jmp 0x1009ce9c
mov dword [esp + 0x14], edx
mov dword [esp + 0x18], ecx
lea ecx, [esp + 0x14]
push ecx
push eax
push esi
lea eax, [esp + 0x14]
push eax
call fcn.100a8bd0
add esp, 0x10
cmp byte [esp + 8], 5
mov edx, dword [esp + 0x5c]
je 0x1009ceea
mov eax, dword [esp + 8]
mov ebx, dword [esp + 0xc]
mov edi, eax
shr edi, 0x10
cmp al, 4
jne 0x1009ceee
add ebp, ebx
mov dword [edx + 0xfc], 0
mov dword [edx + 0xf8], ebp
mov esi, dword [edx + 0x108]
cmp esi, ebp
jne 0x1009ce40
mov eax, dword [edx + 0x158]
mov esi, dword [esp + 0x58]
mov dword [esi + 4], eax
mov byte [esi], 4
jmp 0x1009cefe
mov ah, 0xd
mov al, 1
mov esi, dword [esp + 0x58]
mov byte [esi + 1], ah
mov word [esi + 2], di
mov byte [esi], al
mov dword [esi + 4], ebx
mov eax, esi
add esp, 0x44
pop esi
pop edi
pop ebx
pop ebp
ret
lea eax, [edx + 0x100]
push 1
push 1
push edi
push esi
push eax
call fcn.101c6630
mov edx, dword [esp + 0x70]
add esp, 0x14
mov esi, dword [edx + 0x108]
mov ecx, dword [edx + 0x104]
cmp edi, 2
lea eax, [ecx + esi]
jae 0x1009ccd2
jmp 0x1009ccf3
push 0x101dce44
push 0x29
push str.assertion_failed:__self.context.is_null__
call fcn.101cc940
push 0x101dc980
push esi
push ebp
call fcn.101ccc30
push 0x101dc900
push ebp
push ebx
call fcn.101cccf0
push 0x101dc900
push esi
push ebp
call fcn.101ccc90
push 0x101dc910
push ecx
push ebx
call fcn.101ccc90
push 0x101dc920
push ecx
push ebp
call fcn.101ccc90
int3