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

Disassembly:
sub esp, 0x44
mov eax, dword [0x2a00294]
xor eax, esp
mov dword [esp + 0x40], eax
push ebp
mov ebp, dword [esp + 0x4c]
mov eax, ebp
push esi
push edi
mov esi, ecx
cmp dword [ebp + 0x14], 0x10
jb 0x2777478
mov eax, dword [ebp]
push dword [esp + 0x58]
push eax
push str.CdmEngine::AddKey:_invalid_key_set_id
push 2
push 0x57b
push 0x2879e94
push 0x28783b0
call fcn.0275d935
mov eax, dword [esi + 0x68]
add esp, 0x1c
test eax, eax
jne 0x27774cc
push 0x4c
call fcn.027f0aed
pop ecx
test eax, eax
je 0x27774b7
mov ecx, eax
call fcn.027732c7
jmp 0x27774b9
xor eax, eax
mov ecx, dword [esi + 0x68]
mov dword [esi + 0x68], eax
test ecx, ecx
je 0x27774cc
mov eax, dword [ecx]
push 1
call dword [eax]
mov eax, dword [esi + 0x68]
push ebp
lea ecx, [eax + 4]
call fcn.0270552f
push dword [esi + 0x44]
lea ecx, [esp + 0x1c]
xor edi, edi
call fcn.027669e6
push dword [esp + 0x58]
lea ecx, [esp + 0x1c]
call fcn.02767624
test al, al
je 0x277771a
mov ecx, dword [esi + 0x68]
xor eax, eax
cmp dword [esp + 0x58], 3
push ebx
sete al
push eax
call fcn.027788a6
push 0x180
call fcn.027f0aed
mov ebx, eax
pop ecx
test ebx, ebx
je 0x2777536
push ecx
push ecx
mov ecx, dword [esi + 8]
push esp
call fcn.02771307
push dword [esi + 0x44]
mov ecx, ebx
call fcn.02780de2
mov ecx, eax
jmp 0x2777538
xor ecx, ecx
mov edx, dword [esi + 0x64]
mov dword [esi + 0x64], ecx
test edx, edx
je 0x277754d
mov eax, dword [edx]
mov ecx, edx
push 1
call dword [eax]
mov ecx, dword [esi + 0x64]
mov eax, dword [ecx]
push dword [esi + 0x68]
call dword [eax + 8]
mov ecx, dword [esi + 0x64]
mov eax, dword [ecx]
call dword [eax + 0x9c]
sub eax, 1
je 0x27776a0
sub eax, 1
jne 0x2777719
and dword [esp + 0x10], edi
and dword [esp + 0x14], edi
and dword [esp + 0x18], edi
lea eax, [esp + 0x10]
push eax
lea eax, [esp + 0x3c]
push ebp
push eax
call fcn.02767511
pop ecx
pop ecx
push eax
lea ecx, [esp + 0x24]
call fcn.02768d68
lea ecx, [esp + 0x38]
mov bl, al
call fcn.027010f8
test bl, bl
je 0x277762f
mov edx, dword [esp + 0x10]
cmp edx, dword [esp + 0x14]
je 0x277764d
mov ecx, dword [esi + 0x64]
push dword [edx + 0x78]
mov eax, dword [ecx]
call dword [eax + 0x4c]
test eax, eax
jne 0x277760e
push dword [esp + 0x10]
lea eax, [esp + 0x3c]
push ebp
push eax
call fcn.02767511
pop ecx
pop ecx
push eax
lea ecx, [esp + 0x24]
call fcn.02766ea7
lea ecx, [esp + 0x38]
mov bl, al
call fcn.027010f8
test bl, bl
je 0x2777600
mov eax, dword [esp + 0x10]
cmp eax, dword [esp + 0x14]
jne 0x277757e
jmp 0x277764d
push 0x2879f30
push 1
push 0x5a9
jmp 0x277763b
push eax
push 0x2879ee8
push 1
push 0x5a1
push 0x2879e94
push 0x28783b0
call fcn.0275d935
add esp, 0x18
jmp 0x277764d
push 0x2879ea8
push 1
push 0x594
push 0x2879e94
push 0x28783b0
call fcn.0275d935
add esp, 0x14
xor eax, eax
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], eax
lea eax, [esp + 0x2c]
push eax
lea eax, [esp + 0x3c]
push ebp
push eax
call fcn.02767511
pop ecx
pop ecx
push eax
lea ecx, [esp + 0x24]
call fcn.02766ca1
lea ecx, [esp + 0x38]
mov bl, al
call fcn.027010f8
mov eax, 0xfb
lea ecx, [esp + 0x2c]
test bl, bl
cmove edi, eax
call fcn.0276a3b5
lea ecx, [esp + 0x10]
call fcn.027786a4
jmp 0x2777719
and dword [esp + 0x10], edi
lea eax, [esp + 0x10]
and dword [esp + 0x14], edi
and dword [esp + 0x18], edi
push eax
lea eax, [esp + 0x3c]
push ebp
push eax
call fcn.02767511
pop ecx
pop ecx
push eax
lea ecx, [esp + 0x24]
call fcn.02766ca1
lea ecx, [esp + 0x38]
mov bl, al
call fcn.027010f8
test bl, bl
jne 0x27776fe
push dword [esp + 0x5c]
push 0x2879f6c
push 0
push 0x5be
push 0x2879e94
push 0x28783b0
call fcn.0275d935
add esp, 0x18
push 0x66
pop edi
jmp 0x2777710
mov ecx, dword [esi + 0x64]
lea edx, [esp + 0x10]
push edx
mov eax, dword [ecx]
call dword [eax + 0x70]
test eax, eax
cmovne edi, eax
lea ecx, [esp + 0x10]
call fcn.0276a3b5
pop ebx
mov ecx, dword [esi + 0x64]
and dword [esi + 0x64], 0
test ecx, ecx
je 0x277772b
mov edx, dword [ecx]
push 1
call dword [edx]
lea ecx, [esp + 0x18]
call fcn.02766a4c
mov ecx, dword [esp + 0x4c]
mov eax, edi
pop edi
pop esi
pop ebp
xor ecx, esp
call fcn.027f10fe
add esp, 0x44
ret 8