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

Disassembly:
sub esp, 0x60
push ebx
mov ebx, dword [esp + 0x68]
push ebp
push esi
push edi
mov edi, dword [esp + 0x84]
test edi, edi
mov ebp, 1
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0xffff
jbe 0x10cde029
mov eax, dword [ebx + 0xbe]
mov ecx, dword [ebx + 0x10]
lea esi, [edi*8]
push eax
push esi
push ecx
call sym.PBVM90.dll_pbstg_alc
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x1c], eax
lea ecx, [edi + edi]
mov dword [edx], eax
mov eax, dword [ebx + 0xbe]
mov edx, dword [ebx + 0x10]
push eax
push ecx
push edx
call sym.PBVM90.dll_pbstg_alc
mov ecx, dword [esp + 0x80]
mov edi, dword [esp + 0x1c]
mov dword [ecx], eax
mov ecx, esi
mov esi, dword [esp + 0x78]
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, dword [esp + 0x84]
cmp dword [esp + 0x98], 1
jne 0x10cde47e
lea edx, [esp + 0x38]
mov esi, dword [esp + 0x88]
push edx
mov edx, dword [esp + 0x90]
push edx
mov eax, 1
sub esp, 0x10
xor ecx, ecx
mov edx, esp
push ebx
mov dword [edx], esi
mov esi, dword [esp + 0x48]
mov dword [edx + 4], esi
mov dword [edx + 8], eax
mov dword [edx + 0xc], ecx
call sym.PBVM90.dll_rtRoutineInfo
mov ebp, eax
test ebp, ebp
jne 0x10cde07a
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x60
ret
mov eax, dword [esp + 0x62]
mov ecx, dword [esp + 0x4e]
cmp eax, 1
mov dword [esp + 0x8c], eax
mov dword [esp + 0x20], ecx
jne 0x10cde0a0
cmp edi, ecx
jae 0x10cde0ae
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x60
ret
cmp edi, ecx
je 0x10cde0ae
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x60
ret
mov eax, dword [ebx + 0xbe]
mov ecx, dword [ebx + 0x10]
lea esi, [edi*4]
push eax
push esi
push ecx
call sym.PBVM90.dll_pbstg_alc
mov ecx, dword [esp + 0x90]
mov dword [ecx], eax
xor eax, eax
test edi, edi
jbe 0x10cde0e4
mov edx, dword [ecx]
inc eax
cmp eax, edi
mov dword [edx + eax*4 - 4], 0
jb 0x10cde0d5
mov eax, dword [ebx + 0xbe]
mov ecx, dword [ebx + 0x10]
push eax
push esi
push ecx
call sym.PBVM90.dll_pbstg_alc
mov ecx, dword [esp + 0x94]
mov dword [ecx], eax
xor eax, eax
test edi, edi
jbe 0x10cde113
mov edx, dword [ecx]
inc eax
cmp eax, edi
mov dword [edx + eax*4 - 4], 0
jb 0x10cde104
xor eax, eax
test edi, edi
mov dword [esp + 0x7c], eax
jbe 0x10cde455
mov ecx, dword [esp + 0x66]
mov edx, dword [esp + 0x5a]
mov dword [esp + 0x98], ecx
mov ecx, dword [esp + 0x1c]
lea edi, [edx + 4]
mov dword [esp + 0x78], edi
lea esi, [ecx + 4]
test ebp, ebp
je 0x10cde44e
cmp dword [esp + 0x8c], 1
jne 0x10cde15a
cmp eax, dword [esp + 0x20]
jae 0x10cde42c
mov ax, word [edi]
mov edx, eax
and edx, 0x2000
cmp dx, 0x2000
jne 0x10cde183
mov ecx, dword [esp + 0x98]
mov edx, dword [ecx]
add ecx, 4
mov dword [esp + 0x18], edx
mov dword [esp + 0x98], ecx
mov bp, word [esi]
and bp, 0xc0
cmp bp, 0x80
jne 0x10cde225
test al, 0xc0
jne 0x10cde1b3
lea eax, [esp + 0x14]
lea edi, [esi - 4]
push eax
push 1
push edi
push ebx
call fcn.10cde4f0
add esp, 0x10
jmp 0x10cde269
cmp bp, 0x80
jne 0x10cde225
mov cl, al
and cl, 0xc0
cmp cl, 0xc0
jne 0x10cde225
lea edx, [esp + 0x14]
lea ebp, [esi - 4]
push edx
push 0
push ebp
push ebx
call fcn.10cde4f0
or byte [esi], 0xc0
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x48]
add esp, 0x10
lea ecx, [esp + 0x10]
push eax
mov eax, dword [esp + 0x1c]
push ecx
push edx
lea ecx, [edi - 4]
push eax
push ecx
push ebp
push ebx
call fcn.10cde580
mov ebp, eax
mov eax, dword [esp + 0x2c]
add esp, 0x1c
cmp eax, 1
jne 0x10cde42c
mov edx, dword [esp + 0x90]
mov ecx, dword [esp + 0x7c]
mov eax, dword [edx]
mov dword [eax + ecx*4], 1
jmp 0x10cde42c
test bp, bp
jne 0x10cde23b
mov dl, al
and dl, 0xc0
cmp dl, 0x80
jne 0x10cde23b
xor ebp, ebp
jmp 0x10cde42c
cmp bp, 0xc0
jne 0x10cde2ef
test al, 0xc0
jne 0x10cde2d7
mov eax, dword [esp + 0x88]
push 0
lea edi, [esi - 4]
push 0
push 1
push edi
push eax
push ebx
call fcn.10cc0620
add esp, 0x18
and word [esi], 0xff3f
mov ecx, dword [edi]
mov eax, dword [esp + 0x14]
mov dword [esp + 0x28], ecx
mov edx, dword [edi + 4]
lea ecx, [esp + 0x10]
push eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x30], edx
mov edx, dword [esp + 0x3c]
push ecx
mov ecx, dword [esp + 0x80]
push edx
add ecx, 0xfffffffc
push eax
push ecx
push edi
push ebx
call fcn.10cde580
mov ebp, eax
mov eax, dword [esp + 0x2c]
add esp, 0x1c
cmp eax, 1
jne 0x10cde2ba
lea edx, [esp + 0x28]
push edx
push ebx
call sym.PBVM90.dll_rtDataFree
mov eax, dword [esp + 0x94]
mov edx, dword [esp + 0x7c]
mov edi, dword [esp + 0x78]
mov ecx, dword [eax]
mov dword [ecx + edx*4], 1
jmp 0x10cde42c
cmp bp, 0xc0
jne 0x10cde2ef
mov cl, al
and cl, 0xc0
cmp cl, 0x80
jne 0x10cde2ef
xor ebp, ebp
jmp 0x10cde42c
test bp, bp
jne 0x10cde3b2
mov dl, al
and dl, 0xc0
cmp dl, 0xc0
jne 0x10cde357
mov ecx, dword [esi - 4]
lea eax, [esi - 4]
mov dword [esp + 0x28], ecx
mov ecx, dword [esp + 0x14]
mov edx, dword [eax + 4]
push ecx
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x30], edx
lea edx, [esp + 0x14]
push edx
mov edx, dword [esp + 0x20]
push ecx
lea ecx, [edi - 4]
push edx
push ecx
push eax
push ebx
call fcn.10cde580
or byte [esi], 0xc0
mov ebp, eax
mov eax, dword [esp + 0x2c]
add esp, 0x1c
cmp eax, 1
jne 0x10cde418
lea edx, [esp + 0x28]
push edx
push ebx
call sym.PBVM90.dll_rtDataFree
jmp 0x10cde418
test bp, bp
jne 0x10cde3b2
test al, 0xc0
jne 0x10cde3b2
mov ecx, dword [esi - 4]
lea eax, [esi - 4]
mov dword [esp + 0x28], ecx
mov ecx, dword [esp + 0x14]
mov edx, dword [eax + 4]
push ecx
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x30], edx
lea edx, [esp + 0x14]
push edx
mov edx, dword [esp + 0x20]
push ecx
lea ecx, [edi - 4]
push edx
push ecx
push eax
push ebx
call fcn.10cde580
mov ebp, eax
mov eax, dword [esp + 0x2c]
add esp, 0x1c
cmp eax, 1
jne 0x10cde3a9
lea edx, [esp + 0x28]
push edx
push ebx
call sym.PBVM90.dll_rtDataFree
mov eax, dword [esp + 0x94]
jmp 0x10cde41f
cmp bp, 0x80
jne 0x10cde3e8
and al, 0xc0
cmp al, 0x80
jne 0x10cde3e8
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x38]
lea ecx, [esp + 0x10]
push eax
mov eax, dword [esp + 0x1c]
push ecx
push edx
lea ecx, [edi - 4]
push eax
lea edx, [esi - 4]
push ecx
push edx
push ebx
call fcn.10cde580
add esp, 0x1c
mov ebp, eax
jmp 0x10cde42c
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x38]
lea ecx, [esp + 0x10]
push eax
mov eax, dword [esp + 0x1c]
push ecx
push edx
lea ecx, [edi - 4]
push eax
lea edx, [esi - 4]
push ecx
push edx
push ebx
call fcn.10cde580
mov ebp, eax
mov eax, dword [esp + 0x2c]
add esp, 0x1c
cmp eax, 1
jne 0x10cde42c
mov eax, dword [esp + 0x90]
mov ecx, dword [eax]
mov edx, dword [esp + 0x7c]
mov dword [ecx + edx*4], 1
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0x84]
inc eax
add edi, 8
add esi, 8
cmp eax, ecx
mov dword [esp + 0x7c], eax
mov dword [esp + 0x78], edi
jb 0x10cde13e
mov edi, dword [esp + 0x84]
mov eax, dword [esp + 0x4e]
test eax, eax
jle 0x10cde47e
mov eax, dword [esp + 0x5a]
push eax
push ebx
call sym.PBVM90.dll_ob_free_value
mov ecx, dword [esp + 0x5e]
push ecx
push ebx
call sym.PBVM90.dll_ob_free_value
mov edx, dword [esp + 0x66]
push edx
push ebx
call sym.PBVM90.dll_ob_free_value
xor esi, esi
test edi, edi
jbe 0x10cde4e5
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x94], eax
cmp ebp, 1
jne 0x10cde4e5
lea ecx, [esp + 0x24]
lea edx, [esp + 0x74]
push ecx
mov ecx, dword [esp + 0x8c]
lea eax, [esp + 0x18]
push edx
mov edx, dword [esp + 0x9c]
push eax
push ecx
push edx
push ebx
call fcn.10c63300
mov eax, dword [esp + 0x98]
mov dx, word [esp + 0x2c]
add esp, 0x18
inc esi
mov ecx, dword [eax]
mov word [ecx + esi*2 - 2], dx
mov ecx, dword [esp + 0x94]
add ecx, 8
cmp esi, edi
mov dword [esp + 0x94], ecx
jb 0x10cde48f
pop edi
mov eax, ebp
pop esi
pop ebp
pop ebx
add esp, 0x60
ret