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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x8c
push ebx
push esi
push edi
mov esi, eax
xor edi, edi
call fcn.00406030
imul esi, esi, 0x2c
mov dword [esp + 0x14], eax
mov eax, dword [ebp + 8]
lea esi, [esi + eax + 0x34]
mov dword [esp + 0x10], esi
mov dword [esi], edi
lea esp, [esp]
call fcn.00406030
mov ebx, 0x514ee0
call fcn.0040a7a0
test eax, eax
je 0x40bb91
push edi
call dword [0x4c91b8]
mov ebx, dword [esp + 0x14]
call fcn.00406cd0
mov eax, dword [0x514e14]
cmp eax, edi
jne 0x40b9fb
push 0xc
call fcn.004ae2dd
add esp, 4
cmp eax, edi
je 0x40b9ec
mov dword [eax], vtable.CControlManager.0
mov dword [eax + 4], edi
mov dword [eax + 8], edi
jmp 0x40b9ee
xor eax, eax
cmp eax, edi
mov dword [0x514e14], eax
je 0x40bb9c
mov esi, eax
mov eax, dword [eax + 4]
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x10]
call eax
test eax, eax
jne 0x40bc14
mov ecx, dword [esi + 8]
mov edx, dword [ecx]
mov eax, dword [edx + 8]
push 1
call eax
test eax, eax
jne 0x40bc14
mov ecx, dword [esi + 8]
mov edx, dword [ecx]
mov eax, dword [edx + 8]
push 0xd3
call eax
test eax, eax
jne 0x40bc14
mov eax, dword [0x514e14]
cmp eax, edi
jne 0x40ba70
push 0xc
call fcn.004ae2dd
add esp, 4
cmp eax, edi
je 0x40ba61
mov dword [eax], vtable.CControlManager.0
mov dword [eax + 4], edi
mov dword [eax + 8], edi
jmp 0x40ba63
xor eax, eax
cmp eax, edi
mov dword [0x514e14], eax
je 0x40bbba
mov esi, eax
mov eax, dword [eax + 4]
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
test eax, eax
jne 0x40bc14
mov ecx, dword [esi + 8]
mov edx, dword [ecx]
mov eax, dword [edx + 8]
push 0x1c
call eax
test eax, eax
jne 0x40bc14
mov ecx, dword [esi + 8]
mov edx, dword [ecx]
mov eax, dword [edx + 8]
push 0x9c
call eax
test eax, eax
jne 0x40bc14
mov eax, dword [0x514e14]
cmp eax, edi
jne 0x40bae5
push 0xc
call fcn.004ae2dd
add esp, 4
cmp eax, edi
je 0x40bad6
mov dword [eax], vtable.CControlManager.0
mov dword [eax + 4], edi
mov dword [eax + 8], edi
jmp 0x40bad8
xor eax, eax
cmp eax, edi
mov dword [0x514e14], eax
je 0x40bbd8
mov ecx, dword [eax + 8]
mov edx, dword [ecx]
lea esi, [eax + 8]
mov eax, dword [edx + 8]
push 0x2a
call eax
test eax, eax
jne 0x40bc14
mov ecx, dword [esi]
mov edx, dword [ecx]
mov eax, dword [edx + 8]
push 0x36
call eax
test eax, eax
jne 0x40bc14
mov eax, dword [0x514e14]
cmp eax, edi
jne 0x40bb43
push 0xc
call fcn.004ae2dd
add esp, 4
cmp eax, edi
je 0x40bb34
mov dword [eax], vtable.CControlManager.0
mov dword [eax + 4], edi
mov dword [eax + 8], edi
jmp 0x40bb36
xor eax, eax
cmp eax, edi
mov dword [0x514e14], eax
je 0x40bbf6
mov ecx, dword [eax + 8]
mov edx, dword [ecx]
lea esi, [eax + 8]
mov eax, dword [edx + 8]
push 0x1d
call eax
test eax, eax
jne 0x40bc14
mov ecx, dword [esi]
mov edx, dword [ecx]
mov eax, dword [edx + 8]
push 0x9d
call eax
test eax, eax
jne 0x40bc14
mov ecx, dword [esp + 0x10]
cmp dword [ecx], 0xff
jne 0x40b9a0
mov dword [ecx], 0xff
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
lea edx, [esp + 0x18]
push edx
mov edi, str.Doc_Class
call fcn.00409050
push 0x4e5328
lea eax, [esp + 0x1c]
push eax
call fcn.004b0afb
lea ecx, [esp + 0x58]
push ecx
mov edi, str.Doc_Class
call fcn.00409050
push 0x4e5328
lea edx, [esp + 0x5c]
push edx
call fcn.004b0afb
lea eax, [esp + 0x38]
push eax
mov edi, str.Doc_Class
call fcn.00409050
push 0x4e5328
lea ecx, [esp + 0x3c]
push ecx
call fcn.004b0afb
lea edx, [esp + 0x78]
push edx
mov edi, str.Doc_Class
call fcn.00409050
push 0x4e5328
lea eax, [esp + 0x7c]
push eax
call fcn.004b0afb
mov ecx, dword [esp + 0x10]
mov edi, 1
mov eax, edi
pop edi
pop esi
mov dword [ecx], 0xff
pop ebx
mov esp, ebp
pop ebp
ret 4