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

Disassembly:
sub esp, 0x48
push ebx
mov ebx, dword [esp + 0x50]
push ebp
push esi
mov eax, dword [ebx]
mov dword [esp + 0x30], ecx
push edi
mov ecx, ebx
call dword [eax + 0x30]
test ax, ax
mov dword [esp + 0x28], eax
je 0x6be169
mov ecx, dword [ebx + 0x1c]
mov esi, dword [ebx + 0x20]
xor eax, eax
mov dword [esp + 0x24], ecx
mov ax, word [ebx + 0xa]
mov ecx, dword [ebx + 0x24]
cmp eax, 8
mov dword [esp + 0x18], esi
mov dword [esp + 0x1c], eax
mov dword [esp + 0x38], ecx
jbe 0x6bdea3
mov dword [esp + 0x1c], 8
mov eax, dword [esp + 0x1c]
test esi, esi
mov ebp, 2
mov edi, 0xc
je 0x6bdec6
mov dword [esp + 0x14], 0x12
mov dword [esp + 0x2c], edi
mov ebp, dword [esp + 0x14]
mov edi, 0x18
test ecx, ecx
je 0x6bded4
or ebp, 0x40
mov dword [esp + 0x3c], edi
add edi, 4
test eax, eax
mov dword [esp + 0x30], edi
je 0x6bdee8
mov edx, eax
lea edi, [edi + eax*8]
shl edx, 8
or ebp, edx
jmp 0x6bdef1
or ebp, 0x100
add edi, 8
mov eax, dword [esp + 0x60]
mov dword [esp + 0x14], ebp
test eax, eax
je 0x6bdf51
mov ecx, dword [eax]
lea edx, [esp + 0x40]
push edx
push eax
call dword [ecx + 0x34]
cmp dword [esp + 0x40], 0x64
jne 0x6bdf51
cmp dword [esp + 0x54], ebp
jne 0x6bdf51
mov ebp, dword [esp + 0x28]
mov ecx, dword [esp + 0x50]
and ebp, 0xffff
mov eax, ebp
imul eax, edi
cmp ecx, eax
jne 0x6bdf51
mov ecx, dword [esp + 0x70]
mov eax, dword [esp + 0x4c]
cmp eax, ecx
jne 0x6bdf51
mov edx, dword [esp + 0x74]
mov eax, dword [esp + 0x48]
cmp eax, edx
jne 0x6bdf51
mov eax, dword [esp + 0x60]
mov dword [esp + 0x60], eax
jmp 0x6bdfe3
push str.NiDX8VertexBufferManager::CreateVertexBuffer
mov ecx, 0x7dea78
mov dword [esp + 0x24], 0
call fcn.00693f00
mov ebp, dword [esp + 0x28]
mov eax, dword [esp + 0x34]
and ebp, 0xffff
lea edx, [esp + 0x20]
mov esi, ebp
mov eax, dword [eax + 8]
imul esi, edi
push edx
mov edx, dword [esp + 0x74]
mov ecx, dword [eax]
push edx
mov edx, dword [esp + 0x1c]
push edx
mov edx, dword [esp + 0x80]
push edx
push esi
push eax
call dword [ecx + 0x5c]
mov ecx, 0x7dea78
mov ebx, eax
call fcn.00693f10
test ebx, ebx
je 0x6bdfc8
push ebx
call fcn.006c20a0
push eax
push str.NiDX8VertexBufferManager::CreateVertexBuffer_FAILED_n_____s
call fcn.006e9a00
add esp, 0xc
mov dword [esp + 0x20], 0
mov ecx, dword [esp + 0x64]
mov eax, dword [esp + 0x20]
mov ebx, dword [esp + 0x5c]
mov dword [esp + 0x60], eax
mov dword [ecx], esi
mov esi, dword [esp + 0x18]
mov byte [esp + 0x6c], 1
test eax, eax
mov dword [esp + 0x10], 0
je 0x6be169
mov edx, dword [eax]
lea ecx, [esp + 0x10]
push 0
push ecx
push 0
push 0
push eax
call dword [edx + 0x2c]
test eax, eax
jne 0x6be169
mov ecx, dword [esp + 0x68]
test ecx, ecx
je 0x6be067
mov edx, dword [esp + 0x10]
test esi, esi
je 0x6be024
mov eax, dword [esp + 0x2c]
add eax, edx
jmp 0x6be026
xor eax, eax
push edi
push eax
mov eax, dword [ebx + 0x20]
push edx
xor edx, edx
mov dx, word [ebx + 8]
push edx
mov edx, dword [ebx + 0x1c]
push eax
push 0xc
push edx
call fcn.006fa000
mov al, byte [esp + 0x6c]
test al, al
jne 0x6be0d1
mov esi, dword [esp + 0x60]
push esi
mov eax, dword [esi]
call dword [eax + 0x30]
neg eax
sbb eax, eax
pop edi
not eax
and eax, esi
pop esi
pop ebp
pop ebx
add esp, 0x48
ret 0x24
mov eax, dword [esp + 0x10]
test ebp, ebp
jbe 0x6be09b
mov ecx, ebp
mov edx, dword [esp + 0x24]
mov esi, eax
add eax, edi
mov ebx, dword [edx]
mov dword [esi], ebx
mov ebx, dword [edx + 4]
mov dword [esi + 4], ebx
mov edx, dword [edx + 8]
mov dword [esi + 8], edx
mov esi, dword [esp + 0x24]
add esi, 0xc
dec ecx
mov dword [esp + 0x24], esi
jne 0x6be071
mov esi, dword [esp + 0x18]
test esi, esi
je 0x6be0d1
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x10]
add eax, ecx
test ebp, ebp
jbe 0x6be0d1
mov ecx, ebp
mov ebx, dword [esi]
mov edx, eax
add eax, edi
mov dword [edx], ebx
mov ebx, dword [esi + 4]
mov dword [edx + 4], ebx
mov esi, dword [esi + 8]
mov dword [edx + 8], esi
mov esi, dword [esp + 0x18]
add esi, 0xc
dec ecx
mov dword [esp + 0x18], esi
jne 0x6be0af
mov edx, dword [esp + 0x38]
test edx, edx
je 0x6be0f5
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x10]
add eax, ecx
test ebp, ebp
jbe 0x6be0f5
mov ecx, ebp
mov esi, dword [edx]
add edx, 4
mov dword [eax], esi
add eax, edi
dec ecx
jne 0x6be0e9
mov eax, dword [esp + 0x1c]
xor ebx, ebx
test eax, eax
jbe 0x6be137
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x5c]
push ebx
lea esi, [edx + ebx*8]
add esi, eax
call fcn.006ef500
test ebp, ebp
jbe 0x6be12e
mov ecx, ebp
mov edx, dword [eax]
add eax, 8
mov dword [esi], edx
mov edx, dword [eax - 4]
mov dword [esi + 4], edx
add esi, edi
dec ecx
jne 0x6be11c
mov eax, dword [esp + 0x1c]
inc ebx
cmp ebx, eax
jb 0x6be0ff
mov esi, dword [esp + 0x60]
push esi
mov eax, dword [esi]
call dword [eax + 0x30]
test eax, eax
jne 0x6be169
mov eax, dword [esp + 0x78]
test eax, eax
je 0x6be14f
mov dword [eax], edi
mov eax, dword [esp + 0x7c]
test eax, eax
je 0x6be15d
mov ecx, dword [esp + 0x14]
mov dword [eax], ecx
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x48
ret 0x24
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x48
ret 0x24