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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x70
mov eax, dword [0x101631e0]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0x10]
push ebx
push esi
mov esi, dword [ebp + 0xc]
push edi
mov edi, dword [ebp + 8]
mov dword [ebp - 0x70], eax
jmp 0x100cf296
mov eax, dword [esi]
lea ecx, [ebp - 0x68]
push ecx
push esi
call dword [eax + 0x94]
movzx edx, ax
mov eax, edx
mov ecx, 0x1008
cmp eax, ecx
jg 0x100cf033
je 0x100ceffc
add ecx, 0xfffffffc
cmp eax, ecx
jg 0x100cefb0
je 0x100cef8b
sub eax, 0x100
je 0x100cef7c
sub eax, 0xf01
je 0x100cef6e
dec eax
je 0x100cef54
dec eax
jne case.0x100cf048.4109
mov eax, dword [esi]
push esi
call dword [eax + 0xe0]
fstp dword [edi + 0x80]
jmp case.0x100cf048.4109
mov eax, dword [esi]
push 4
push 2
lea ecx, [edi + 0x70]
push ecx
push esi
call dword [eax + 0xb8]
push 4
push 2
lea ecx, [edi + 0x78]
jmp 0x100cefcb
mov eax, dword [esi]
push esi
call dword [eax + 0x6c]
mov dword [edi + 0x50], eax
jmp case.0x100cf048.4109
push dword [ebp - 0x70]
push esi
push edi
call sym.rt3d.dll_public:_void___stdcall_MATRIX3D::_FromUpDir_struct_MATRIX3D___struct_POINT3D___struct_POINT3D___struct_POINT3D__
jmp case.0x100cf048.4109
push dword [ebp - 0x70]
mov eax, dword [esi]
push esi
call dword [eax + 0xd0]
mov dword [edi + 0x84], eax
test eax, eax
je case.0x100cf048.4109
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
jmp case.0x100cf048.4109
sub eax, 0x1005
je 0x100cefeb
dec eax
je 0x100cefda
dec eax
jne case.0x100cf048.4109
lea ecx, [edi + 0xac]
push 4
push 3
mov eax, dword [esi]
push ecx
push esi
call dword [eax + 0xb8]
jmp case.0x100cf048.4109
mov eax, dword [esi]
push esi
call dword [eax + 0x6c]
mov dword [edi + 0x94], eax
jmp case.0x100cf048.4109
mov eax, dword [esi]
push esi
call dword [eax + 0x6c]
mov dword [edi + 0x90], eax
jmp case.0x100cf048.4109
mov eax, dword [esi]
push esi
call dword [eax + 0x6c]
mov dword [edi + 0xa4], eax
mov eax, dword [esi]
push esi
call dword [eax + 0x6c]
cmp dword [ebp - 0x68], 8
mov dword [edi + 0xa0], eax
jne 0x100cf02b
mov eax, dword [edi + 0xa4]
mov dword [edi + 0xa8], eax
jmp case.0x100cf048.4109
mov eax, dword [esi]
push esi
call dword [eax + 0x6c]
jmp 0x100cf020
sub eax, 0x1009
cmp eax, 0x13
ja case.0x100cf048.4109
movzx eax, byte [eax + 0x100cf32a]
jmp dword [eax*4 + 0x100cf30a]
mov eax, dword [ebp - 0x68]
test eax, eax
je case.0x100cf048.4109
inc eax
push eax
call sym.rt3d.dll_public:_void___stdcall_MATRIX3D::_FromUpDir_struct_MATRIX3D___struct_POINT3D___struct_POINT3D___struct_POINT3D__
pop ecx
push dword [ebp - 0x68]
mov dword [edi + 0x154], eax
mov ecx, dword [esi]
push eax
push esi
call dword [ecx + 0x3c]
mov eax, dword [edi + 0x154]
mov ecx, dword [ebp - 0x68]
mov byte [ecx + eax], 0
jmp case.0x100cf048.4109
mov eax, dword [esi]
push 4
push 2
lea ecx, [edi + 0x60]
push ecx
push esi
call dword [eax + 0xb8]
push 4
push 2
lea ecx, [edi + 0x68]
jmp 0x100cefcb
lea ecx, [edi + 0x54]
jmp 0x100cefc7
push esi
lea eax, [edi + 0x98]
push eax
call sym.rt3d.dll_public:_void___stdcall_MATRIX3D::_FromUpDir_struct_MATRIX3D___struct_POINT3D___struct_POINT3D___struct_POINT3D__
jmp case.0x100cf048.4109
mov eax, dword [esi]
push 0x5c
lea ecx, [ebp - 0x60]
push ecx
push esi
call dword [eax + 0x3c]
mov eax, dword [edi]
lea ecx, [ebp - 0x60]
push ecx
push edi
call dword [eax + 0xe4]
jmp case.0x100cf048.4109
mov eax, dword [edi]
push edi
call dword [eax + 0xfc]
mov ebx, eax
mov eax, dword [esi]
push esi
call dword [eax + 0x6c]
mov dword [ebx + 0x20], eax
jmp 0x100cf1bf
mov eax, dword [esi]
push 0
push esi
call dword [eax + 0x94]
movzx eax, ax
sub eax, 0x100e
je 0x100cf1a5
sub eax, 3
je 0x100cf150
sub eax, 5
je 0x100cf14b
dec eax
je 0x100cf140
dec eax
je 0x100cf135
sub eax, 3
jne 0x100cf1b6
mov eax, dword [esi]
push esi
call dword [eax + 0xe0]
fstp dword [ebx + 0x38]
jmp 0x100cf1b6
mov eax, dword [esi]
push esi
call dword [eax + 0x6c]
mov dword [ebx + 0x28], eax
jmp 0x100cf1b6
mov eax, dword [esi]
push esi
call dword [eax + 0x6c]
mov dword [ebx + 0x24], eax
jmp 0x100cf1b6
lea ecx, [ebx + 0x2c]
jmp 0x100cf1a8
mov eax, dword [esi]
push esi
call dword [eax + 0x6c]
mov ecx, dword [ebx]
push eax
push ebx
mov dword [ebp - 0x6c], eax
call dword [ecx]
mov eax, dword [ebp - 0x6c]
test eax, eax
jle 0x100cf1b6
and dword [ebp - 0x64], 0
mov dword [ebp - 0x6c], eax
mov eax, dword [esi]
push esi
call dword [eax + 0x6c]
mov ecx, dword [edi + 0x88]
cmp eax, dword [ecx + 0x24]
jge 0x100cf190
mov edx, dword [ecx]
push eax
push ecx
call dword [edx + 0x10]
mov ecx, dword [ebx + 0xc]
mov edx, dword [ebp - 0x64]
mov dword [edx + ecx], eax
jmp 0x100cf19a
mov eax, dword [ebx + 0xc]
mov ecx, dword [ebp - 0x64]
and dword [ecx + eax], 0
add dword [ebp - 0x64], 0xc
dec dword [ebp - 0x6c]
jne 0x100cf16d
jmp 0x100cf1b6
lea ecx, [ebx + 0x14]
mov eax, dword [esi]
push 4
push 3
push ecx
push esi
call dword [eax + 0xb8]
mov eax, dword [esi]
push esi
call dword [eax + 0xa4]
mov eax, dword [esi]
push esi
call dword [eax + 0x98]
test al, al
jne 0x100cf0f2
jmp case.0x100cf048.4109
mov eax, 0x100b
cmp dx, ax
mov eax, dword [edi]
push edi
jne 0x100cf1ea
call dword [eax + 0xf4]
jmp 0x100cf1f0
call dword [eax + 0xf0]
mov ebx, eax
mov eax, dword [esi]
push esi
call dword [eax + 0x6c]
mov dword [ebx + 0x18], eax
jmp 0x100cf27c
mov eax, dword [esi]
push 0
push esi
call dword [eax + 0x94]
movzx eax, ax
test ax, ax
je 0x100cf305
add eax, 0xffffeff3
cmp eax, 7
ja case.default.0x100cf21e
jmp dword [eax*4 + 0x100cf33e]
lea ecx, [ebx + 0xc]
mov eax, dword [esi]
push 4
push 3
push ecx
push esi
call dword [eax + 0xb8]
jmp case.default.0x100cf21e
mov eax, dword [esi]
push esi
call dword [eax + 0x6c]
mov dword [ebx + 0x24], eax
jmp case.default.0x100cf21e
push dword [ebp - 0x70]
mov eax, dword [esi]
push esi
call dword [eax + 0xd0]
mov dword [ebx + 0x20], eax
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
jmp case.default.0x100cf21e
lea ecx, [ebx + 0x40]
jmp 0x100cf228
lea ecx, [ebx + 0x28]
jmp 0x100cf228
lea ecx, [ebx + 0x34]
jmp 0x100cf228
mov eax, dword [esi]
push esi
call dword [eax + 0x6c]
inc eax
mov dword [ebx + 0x34], eax
mov eax, dword [esi]
push esi
call dword [eax + 0xa4]
mov eax, dword [esi]
push esi
call dword [eax + 0x98]
test al, al
jne 0x100cf1fd
mov eax, dword [esi]
push esi
call dword [eax + 0xa4]
mov eax, dword [esi]
push esi
call dword [eax + 0x98]
test al, al
jne 0x100ceef6
mov eax, dword [edi + 0x88]
xor ebx, ebx
cmp eax, ebx
je 0x100cf2f1
cmp dword [eax + 0x24], ebx
jle 0x100cf2f1
mov eax, dword [edi + 0x88]
mov ecx, dword [eax]
push ebx
push eax
call dword [ecx + 0x10]
mov esi, eax
test byte [esi + 0x18], 1
jne 0x100cf2e5
mov ecx, dword [esi + 0x34]
test ecx, ecx
je 0x100cf2e5
mov eax, dword [edi + 0x88]
mov edx, dword [eax]
dec ecx
push ecx
push eax
call dword [edx + 0x10]
mov dword [esi + 0x34], eax
mov eax, dword [edi + 0x88]
inc ebx
cmp ebx, dword [eax + 0x24]
jl 0x100cf2b8
xor eax, eax
inc eax
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.10113450
leave
ret 0xc
push 0xfffffffffffffffa
pop eax
jmp 0x100cf2f4